
(object Petal
    version    	42
    _written   	"Rose 4.5.8054a"
    charSet    	0)

(object Design "Logical View"
    is_unit    	TRUE
    is_loaded  	TRUE
    defaults   	(object defaults
	rightMargin 	0.250000
	leftMargin 	0.250000
	topMargin  	0.250000
	bottomMargin 	0.500000
	pageOverlap 	0.250000
	clipIconLabels 	TRUE
	autoResize 	TRUE
	snapToGrid 	TRUE
	gridX      	16
	gridY      	16
	defaultFont 	(object Font
	    size       	10
	    face       	"Arial"
	    bold       	FALSE
	    italics    	FALSE
	    underline  	FALSE
	    strike     	FALSE
	    color      	0
	    default_color 	TRUE)
	showMessageNum 	1
	showClassOfObject 	TRUE
	notation   	"Unified")
    root_usecase_package 	(object Class_Category "Use Case View"
	quid       	"39E27F080064"
	exportControl 	"Public"
	global     	TRUE
	logical_models 	(list unit_reference_list)
	logical_presentations 	(list unit_reference_list
	    (object UseCaseDiagram "Main"
		quid       	"39E27F080078"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    root_category 	(object Class_Category "Logical View"
	quid       	"39E27F080063"
	exportControl 	"Public"
	global     	TRUE
	subsystem  	"Component View"
	quidu      	"39E27F080065"
	logical_models 	(list unit_reference_list
	    (object Class_Category "wsdl"
		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 "$UNNAMED$64"
				quid       	"3F7896A7012B"
				supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
				quidu      	"3CB24AC002AE"
				client_cardinality 	(value cardinality "1")
				is_aggregate 	TRUE)
			    (object Role "children"
				quid       	"3F7896A7012C"
				label      	"children"
				supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
				quidu      	"3CB24AC002AE"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				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"
				compartment 	(object Compartment
				    Parent_View 	@229
				    location   	(209, 641)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	531)
				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"
				compartment 	(object Compartment
				    Parent_View 	@240
				    location   	(1632, 644)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	465)
				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"
				compartment 	(object Compartment
				    Parent_View 	@249
				    location   	(630, 145)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	753)
				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   	(2192, 1408)
				label      	(object ItemLabel
				    Parent_View 	@254
				    location   	(1729, 1303)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	927
				    justify    	0
				    label      	"UnknownExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CB24AC002AE"
				width      	945
				height     	235
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @255
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CB24AEC01CB"
				client     	@254
				supplier   	@240
				line_style 	3
				origin_attachment 	(1796, 1291)
				terminal_attachment 	(1796, 805))
			    (object AssociationViewNew "$UNNAMED$63" @256
				location   	(2639, 1734)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F7896A2026E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$64" @257
					Parent_View 	@256
					location   	(607, 342)
					label      	(object SegLabel @258
					    Parent_View 	@257
					    location   	(2797, 1380)
					    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      	"3F7896A7012B"
					client     	@256
					supplier   	@254
					vertices   	(list Points
					    (2639, 1734)
					    (2824, 1734)
					    (2824, 1421)
					    (2664, 1421))
					line_style 	3
					origin_attachment 	(2639, 1734)
					terminal_attachment 	(2664, 1421)
					label      	(object SegLabel @259
					    Parent_View 	@257
					    location   	(2731, 1475)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	0))
				    (object RoleView "children" @260
					Parent_View 	@256
					location   	(607, 342)
					label      	(object SegLabel @261
					    Parent_View 	@260
					    location   	(2074, 1658)
					    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
					    (2639, 1734)
					    (2191, 1734)
					    (2191, 1525))
					line_style 	3
					origin_attachment 	(2639, 1734)
					terminal_attachment 	(2191, 1525)
					label      	(object SegLabel @262
					    Parent_View 	@260
					    location   	(2245, 1591)
					    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, 1000)
					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))))))))
	    (object Class_Category "xsd"
		attributes 	(list Attribute_Set
		    (object Attribute
			tool       	"Ecore"
			name       	"prefix"
			value      	"XSD")
		    (object Attribute
			tool       	"Ecore"
			name       	"basePackage"
			value      	"org.eclipse")
		    (object Attribute
			tool       	"Ecore"
			name       	"nsPrefix"
			value      	"xsd")
		    (object Attribute
			tool       	"Ecore"
			name       	"nsURI"
			value      	"http://www.eclipse.org/xsd/2002/XSD"))
		quid       	"39ABDC6F01AA"
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "XSDAnnotation"
			quid       	"3B66EDC80233"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69E1770116"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029")
			    (object Inheritance_Relationship
				quid       	"3B7FD4E20366"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "applicationInformation"
				quid       	"3BBF7EBF02C8"
				stereotype 	"0..*"
				type       	"DOMElement"
				exportControl 	"Public")
			    (object ClassAttribute "userInformation"
				quid       	"3BBF7EEA0157"
				stereotype 	"0..*"
				type       	"DOMElement"
				exportControl 	"Public")
			    (object ClassAttribute "attributes"
				quid       	"3BBF7F0501E2"
				stereotype 	"0..*"
				type       	"DOMAttr"
				exportControl 	"Public")))
		    (object Class "XSDAttributeDeclaration"
			quid       	"3B66ED2E0192"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69B7DC0193"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")
			    (object Inheritance_Relationship
				quid       	"3B688E6103BE"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "attributeDeclarationReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C287F5202B4"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDAttributeGroupContent"
			quid       	"3B6940200089"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B72D8E200EA"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDAttributeGroupDefinition"
			quid       	"3B66ED840290"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69403A0221"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089")
			    (object Inheritance_Relationship
				quid       	"3B6AE2EB02A8"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3B7FCAC800D2"
				supplier   	"Logical View::xsd::XSDRedefinableComponent"
				quidu      	"3B7FCA8B020B"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "attributeGroupDefinitionReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C287F7B0386"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDAttributeUse"
			quid       	"3B68354601A8"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B72D737038F"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089")
			    (object Inheritance_Relationship
				quid       	"3B72D7BB0349"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "required"
				quid       	"3B69CCF3027D"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "value"
				quid       	"3B69CDDB03B7"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "constraint"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69CDE002D8"
				type       	"XSDConstraint"
				exportControl 	"Public")
			    (object ClassAttribute "use"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA7B0220382"
				type       	"XSDAttributeUseCategory"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalValue"
				quid       	"3C2719D90341"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDBoundedFacet"
			quid       	"3B6C751D0344"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C763C0224"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C752A00CC"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDCardinalityFacet"
			quid       	"3B6C755D03D2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C764F0131"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C756C0153"
				type       	"XSDCardinality"
				exportControl 	"Public")))
		    (object Class "XSDComplexTypeContent"
			quid       	"3B683BA00196"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6848B80286"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			abstract   	TRUE)
		    (object Class "XSDComplexTypeDefinition"
			quid       	"3B682B82031A"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69BAA20310"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDScope"
				quidu      	"3B69B54000F2")
			    (object Inheritance_Relationship
				quid       	"3BA0D01901F1"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "derivationMethod"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69C6E4020E"
				type       	"XSDDerivationMethod"
				initv      	"restriction"
				exportControl 	"Public")
			    (object ClassAttribute "final"
				quid       	"3B69C71D026A"
				stereotype 	"0..*"
				type       	"XSDComplexFinal"
				exportControl 	"Public")
			    (object ClassAttribute "abstract"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69C73800C5"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "contentTypeCategory"
				quid       	"3B69CA4202B8"
				type       	"XSDContentTypeCategory"
				exportControl 	"Public")
			    (object ClassAttribute "prohibitedSubstitutions"
				quid       	"3B69CB8A03E6"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalFinal"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0F618014D"
				stereotype 	"0..*"
				type       	"XSDComplexFinal"
				exportControl 	"Public")
			    (object ClassAttribute "block"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0FB97006E"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "mixed"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3C31AF5E03A6"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDComponent"
			quid       	"3B6846E90029"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3BA0CEA903D2"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDConcreteComponent"
			quid       	"3B6AD7B40065"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "element"
				quid       	"3B6ADDB501A5"
				type       	"DOMElement"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDConstrainingFacet"
			quid       	"3B6C6B340093"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C800394"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"))
			abstract   	TRUE)
		    (object Class "XSDDiagnostic"
			quid       	"3BFE5F910046"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3D4C0F4C01A1"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "severity"
				quid       	"3BFE691C005D"
				type       	"XSDDiagnosticSeverity"
				exportControl 	"Public")
			    (object ClassAttribute "message"
				quid       	"3BFE5FDD0280"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "locationURI"
				quid       	"3C063743016B"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "line"
				quid       	"3BFE607E0213"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")
			    (object ClassAttribute "column"
				quid       	"3BFE611E0296"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")
			    (object ClassAttribute "node"
				quid       	"3C016B6B0200"
				type       	"DOMNode"
				exportControl 	"Public")
			    (object ClassAttribute "annotationURI"
				quid       	"3C06374F0186"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDElementDeclaration"
			quid       	"3B66ED580214"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69EDEE01BF"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")
			    (object Inheritance_Relationship
				quid       	"3B685F17002E"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174")
			    (object Inheritance_Relationship
				quid       	"3B688E660339"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "nillable"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69BFB4029F"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "disallowedSubstitutions"
				quid       	"3B69C4680368"
				stereotype 	"0..*"
				type       	"XSDDisallowedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "substitutionGroupExclusions"
				quid       	"3B69C4A003B9"
				stereotype 	"0..*"
				type       	"XSDSubstitutionGroupExclusions"
				exportControl 	"Public")
			    (object ClassAttribute "abstract"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69C4E0000E"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalFinal"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0D14C00B2"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "block"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0D16801C1"
				stereotype 	"0..*"
				type       	"XSDDisallowedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "elementDeclarationReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C289F6203CF"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "circular"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C34DCB00018"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDEnumerationFacet"
			quid       	"3B6C6ACE0141"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C9D03C7"
				supplier   	"Logical View::xsd::XSDRepeatableFacet"
				quidu      	"3B6C6AA6031A"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C7C640054"
				stereotype 	"0..*"
				type       	"Value"
				exportControl 	"Public")))
		    (object Class "XSDFacet"
			quid       	"3B6C359403D2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6D25680259"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "lexicalValue"
				quid       	"3B6C73740253"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "facetName"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C289FB401EC"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "effectiveValue"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28AAE303B6"
				type       	"Value"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDFeature"
			quid       	"3B69B537026C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C290A2C0307"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B69BF81020F"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "constraint"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69BF8800C5"
				type       	"XSDConstraint"
				exportControl 	"Public")
			    (object ClassAttribute "form"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B9F902B033E"
				type       	"XSDForm"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalValue"
				quid       	"3C271A1B016F"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "global"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A0070372"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "featureReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A0440185"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDFixedFacet"
			quid       	"3B6C699E00C1"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C8801B4"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "fixed"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B6C6A600201"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDFractionDigitsFacet"
			quid       	"3B6C79BE02EE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B990016"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C79D2008A"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDFundamentalFacet"
			quid       	"3B6C69E801D6"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C7B0396"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"))
			abstract   	TRUE)
		    (object Class "XSDIdentityConstraintDefinition"
			quid       	"3B682B2603A2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684AA30242"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "identityConstraintCategory"
				quid       	"3B69D1C70143"
				type       	"XSDIdentityConstraintCategory"
				exportControl 	"Public")))
		    (object Class "XSDImport"
			quid       	"3B688C93017F"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AD8D9003E"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "namespace"
				quid       	"3B6ADB15036C"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDInclude"
			quid       	"3B688C7D0250"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AD8DC0381"
				supplier   	"Logical View::xsd::XSDSchemaCompositor"
				quidu      	"3C21DB4102AE")))
		    (object Class "XSDLengthFacet"
			quid       	"3B6C776200E7"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C778002DF"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C776C004B"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDMaxExclusiveFacet"
			quid       	"3B6C789600C2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B8E0309"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E")))
		    (object Class "XSDMaxFacet"
			quid       	"3C0A1CEB010E"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C0A1D3103AD"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3C0A1EE201F7"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "inclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A174027D"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "exclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1930354"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDMaxInclusiveFacet"
			quid       	"3B6C787D00DA"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B8303B8"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E")))
		    (object Class "XSDMaxLengthFacet"
			quid       	"3B6C77C70146"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B7D00FC"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C77DA00F3"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDMinExclusiveFacet"
			quid       	"3B6C792D000A"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B590281"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C")))
		    (object Class "XSDMinFacet"
			quid       	"3C0A1CDE037C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C0A1D240098"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3C0A1ED10398"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "inclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1A2008E"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "exclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1BE03E2"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDMinInclusiveFacet"
			quid       	"3B6C788702C9"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B520353"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C")))
		    (object Class "XSDMinLengthFacet"
			quid       	"3B6C778C0065"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C77C400C0"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C7799015E"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDModelGroup"
			quid       	"3B6834E00291"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684A640279"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "compositor"
				quid       	"3B69CF1D01CF"
				type       	"XSDCompositor"
				exportControl 	"Public")))
		    (object Class "XSDModelGroupDefinition"
			quid       	"3B66ED9A0205"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE2E20381"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3B6BD2550385"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDParticleContent"
				quidu      	"3B6BD22300C6")
			    (object Inheritance_Relationship
				quid       	"3B7FCAC40090"
				supplier   	"Logical View::xsd::XSDRedefinableComponent"
				quidu      	"3B7FCA8B020B"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "modelGroupDefinitionReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1F602E8"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDNamedComponent"
			quid       	"3B6846D303A4"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3BA0CEA20197"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B6847000142"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "targetNamespace"
				quid       	"3B684704031E"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "aliasName"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A57F0127"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "uRI"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A58700E2"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "aliasURI"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A5AA02AF"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "qName"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C290963025E"
				type       	"String"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDNotationDeclaration"
			quid       	"3B66EDAA021C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B68494302F1"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4")
			    (object Inheritance_Relationship
				quid       	"3B688E4F023C"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "systemIdentifier"
				quid       	"3B69D32E00F0"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "publicIdentifier"
				quid       	"3B69D3340397"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDNumericFacet"
			quid       	"3B6C75950206"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C76420074"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C75A30012"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDOrderedFacet"
			quid       	"3B6C74DD0248"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7659012C"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C74F602DA"
				type       	"XSDOrdered"
				exportControl 	"Public")))
		    (object Class "XSDParticle"
			quid       	"3B682BBD01F7"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6848FC01E7"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "minOccurs"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69CF8E03B2"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")
			    (object ClassAttribute "maxOccurs"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69CF9903AE"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")))
		    (object Class "XSDParticleContent"
			quid       	"3B6BD22300C6"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B780BD90059"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDPatternFacet"
			quid       	"3B6C6ADB026C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6CA5038D"
				supplier   	"Logical View::xsd::XSDRepeatableFacet"
				quidu      	"3B6C6AA6031A"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C7C790311"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDRedefinableComponent"
			quid       	"3B7FCA8B020B"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B7FD4BA023C"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3C290A26036D"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "circular"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A6800216"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDRedefineContent"
			quid       	"3B6AE2060172"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE2B301D5"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			abstract   	TRUE)
		    (object Class "XSDRedefine"
			quid       	"3B688C9B02AD"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C21DB640240"
				supplier   	"Logical View::xsd::XSDSchemaCompositor"
				quidu      	"3C21DB4102AE")))
		    (object Class "XSDRepeatableFacet"
			quid       	"3B6C6AA6031A"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C8F002E"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"))
			abstract   	TRUE)
		    (object Class "XSDSchema"
			quid       	"374B182500BB"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B7FCC4A0182"
				supplier   	"Logical View::xsd::XSDScope"
				quidu      	"3B69B54000F2"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "document"
				quid       	"3C2784E503DD"
				type       	"DOMDocument"
				exportControl 	"Public")
			    (object ClassAttribute "schemaLocation"
				quid       	"3B6868EC0226"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "targetNamespace"
				quid       	"3B9F9BFF0180"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "attributeFormDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B9F904B0102"
				type       	"XSDForm"
				initv      	"unqualified"
				exportControl 	"Public")
			    (object ClassAttribute "elementFormDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B9F907800AC"
				type       	"XSDForm"
				initv      	"unqualified"
				exportControl 	"Public")
			    (object ClassAttribute "finalDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0C4A70038"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "blockDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0F59D02D8"
				stereotype 	"0..*"
				type       	"XSDDisallowedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "version"
				quid       	"3D22D6D80356"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDSchemaCompositor"
			quid       	"3C21DB4102AE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C21DB560092"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"))
			abstract   	TRUE)
		    (object Class "XSDSchemaContent"
			quid       	"3B688CB800BA"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AD8E60372"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDSchemaDirective"
			quid       	"3B6AD8A202A2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE32102AF"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "schemaLocation"
				quid       	"3B6AD9B30330"
				type       	"String"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDScope"
			quid       	"3B69B54000F2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B7FCD640231"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			abstract   	TRUE)
		    (object Class "XSDSimpleTypeDefinition"
			quid       	"3B682BA7005D"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684A1302A2"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")
			    (object Inheritance_Relationship
				quid       	"3B685F55032B"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "variety"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B6C315800A9"
				type       	"XSDVariety"
				exportControl 	"Public")
			    (object ClassAttribute "final"
				quid       	"3B6D544F0146"
				stereotype 	"0..*"
				type       	"XSDSimpleFinal"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalFinal"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0F65E035A"
				stereotype 	"0..*"
				type       	"XSDSimpleFinal"
				exportControl 	"Public")
			    (object ClassAttribute "validFacets"
				quid       	"3C28AB0F00B6"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDTerm"
			quid       	"3B683C5E0174"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6848AA01D3"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029")
			    (object Inheritance_Relationship
				quid       	"3B6BD2440069"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDParticleContent"
				quidu      	"3B6BD22300C6"))
			abstract   	TRUE)
		    (object Class "XSDTotalDigitsFacet"
			quid       	"3B6C79A0020E"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B610337"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C79AB0232"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDTypeDefinition"
			quid       	"3B66ECD302A9"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE2F5013A"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3B7FCAB1004D"
				supplier   	"Logical View::xsd::XSDRedefinableComponent"
				quidu      	"3B7FCA8B020B"))
			abstract   	TRUE)
		    (object Class "XSDWhiteSpaceFacet"
			quid       	"3B6C784601B7"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C78620045"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C78500201"
				type       	"XSDWhiteSpace"
				exportControl 	"Public")))
		    (object Class "XSDWildcard"
			quid       	"3B6838370031"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684A3A0041"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "namespaceConstraintCategory"
				quid       	"3B69D0E9019E"
				type       	"XSDNamespaceConstraintCategory"
				exportControl 	"Public")
			    (object ClassAttribute "namespaceConstraint"
				quid       	"3B97CF860223"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "processContents"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69D12E01E4"
				type       	"XSDProcessContents"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalNamespaceConstraint"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA7BDB701F9"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDXPathDefinition"
			quid       	"3B6D83BB0355"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6D84F70092"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "variety"
				quid       	"3B6D901503DE"
				type       	"XSDXPathVariety"
				exportControl 	"Public")
			    (object ClassAttribute "value"
				quid       	"3B7BBBE101B1"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "DOMAttr"
			quid       	"3BBF8C8901B6"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Attr"
				quid       	"3BBF8CB000D5"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "DOMDocument"
			quid       	"3C27850E0381"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Document"
				quid       	"3C27851B03C6"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "DOMElement"
			quid       	"3B8189790200"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Element"
				quid       	"3B8189DB0374"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "DOMNode"
			quid       	"3BFE64A50117"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Node"
				quid       	"3BFE65BF002D"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "Value"
			quid       	"3C040B5B031F"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.lang.Object"
				quid       	"3C040B8D03D5"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "XSDAttributeUseCategory"
			quid       	"3BA7B0E801A8"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "optional"
				quid       	"3BA7B11502B7"
				exportControl 	"Public")
			    (object ClassAttribute "prohibited"
				quid       	"3BA7B12202D3"
				exportControl 	"Public")
			    (object ClassAttribute "required"
				quid       	"3BA7B12902F0"
				exportControl 	"Public")))
		    (object Class "XSDCardinality"
			quid       	"3BC7715D009B"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "finite"
				quid       	"3BC771DC02ED"
				exportControl 	"Public")
			    (object ClassAttribute "countablyInfinite"
				quid       	"3BC771EC0141"
				exportControl 	"Public")))
		    (object Class "XSDComplexFinal"
			quid       	"3B97C2CA01CB"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B97C2E700DA"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C2EA016A"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F6D20112"
				exportControl 	"Public")))
		    (object Class "XSDCompositor"
			quid       	"3B869B620037"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "all"
				quid       	"3B869BD00003"
				exportControl 	"Public")
			    (object ClassAttribute "choice"
				quid       	"3B869CB8011E"
				exportControl 	"Public")
			    (object ClassAttribute "sequence"
				quid       	"3B869CE50057"
				exportControl 	"Public")))
		    (object Class "XSDConstraint"
			quid       	"3B869E2601AE"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "default"
				quid       	"3B869E8E0258"
				exportControl 	"Public")
			    (object ClassAttribute "fixed"
				quid       	"3B869E990271"
				exportControl 	"Public")))
		    (object Class "XSDContentTypeCategory"
			quid       	"3B86A79F03A2"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "empty"
				quid       	"3B86A7CD02F0"
				exportControl 	"Public")
			    (object ClassAttribute "simple"
				quid       	"3B86A7D100CE"
				exportControl 	"Public")
			    (object ClassAttribute "mixed"
				quid       	"3B86A7D301B7"
				exportControl 	"Public")
			    (object ClassAttribute "elementOnly"
				quid       	"3B86A7D702E9"
				exportControl 	"Public")))
		    (object Class "XSDDerivationMethod"
			quid       	"3B86A0B000CE"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B86A0C80329"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B86A0CC0162"
				exportControl 	"Public")))
		    (object Class "XSDDiagnosticSeverity"
			quid       	"3BFE68A7032F"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "fatal"
				quid       	"3BFE68C303D0"
				exportControl 	"Public")
			    (object ClassAttribute "error"
				quid       	"3BFE68E700E3"
				exportControl 	"Public")
			    (object ClassAttribute "warning"
				quid       	"3BFE68EA01FF"
				exportControl 	"Public")
			    (object ClassAttribute "information"
				quid       	"3BFE7FC2019A"
				exportControl 	"Public")))
		    (object Class "XSDDisallowedSubstitutions"
			quid       	"3B97C5A403DF"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "substitution"
				quid       	"3B97C6790045"
				exportControl 	"Public")
			    (object ClassAttribute "extension"
				quid       	"3B97C67F01AC"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C683020B"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F2450069"
				exportControl 	"Public")))
		    (object Class "XSDForm"
			quid       	"3B9F913B01EB"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qualified"
				quid       	"3B9F916F0023"
				exportControl 	"Public")
			    (object ClassAttribute "unqualified"
				quid       	"3B9F918C007F"
				exportControl 	"Public")))
		    (object Class "XSDIdentityConstraintCategory"
			quid       	"3B86A1E00272"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "key"
				quid       	"3B86A2120085"
				exportControl 	"Public")
			    (object ClassAttribute "keyref"
				quid       	"3B86A213014F"
				exportControl 	"Public")
			    (object ClassAttribute "unique"
				quid       	"3B86A2160365"
				exportControl 	"Public")))
		    (object Class "XSDNamespaceConstraintCategory"
			quid       	"3B97C5EA0023"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "any"
				quid       	"3B97D0600034"
				exportControl 	"Public")
			    (object ClassAttribute "not"
				quid       	"3B97D062005F"
				exportControl 	"Public")
			    (object ClassAttribute "set"
				quid       	"3B97D0650117"
				exportControl 	"Public")))
		    (object Class "XSDOrdered"
			quid       	"3BC7715202E4"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "false"
				quid       	"3BC771A90271"
				exportControl 	"Public")
			    (object ClassAttribute "partial"
				quid       	"3BC771BB01FF"
				exportControl 	"Public")
			    (object ClassAttribute "total"
				quid       	"3BC771C401B2"
				exportControl 	"Public")))
		    (object Class "XSDProcessContents"
			quid       	"3B8FF8C70284"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "strict"
				quid       	"3B8FF8F80045"
				exportControl 	"Public")
			    (object ClassAttribute "lax"
				quid       	"3B8FF8F6038B"
				exportControl 	"Public")
			    (object ClassAttribute "skip"
				quid       	"3B8FF8E802BA"
				exportControl 	"Public")))
		    (object Class "XSDProhibitedSubstitutions"
			quid       	"3B97C5BE0272"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B97C68B00B8"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C6940291"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F2500295"
				exportControl 	"Public")))
		    (object Class "XSDSimpleFinal"
			quid       	"3B97C25D0295"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "list"
				quid       	"3B97C2810230"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C2830138"
				exportControl 	"Public")
			    (object ClassAttribute "union"
				quid       	"3B97C288024E"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F6E00374"
				exportControl 	"Public")))
		    (object Class "XSDSubstitutionGroupExclusions"
			quid       	"3B97C59100AE"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B97C6640231"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C66D0216"
				exportControl 	"Public")))
		    (object Class "XSDVariety"
			quid       	"3B8FF7730249"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "atomic"
				quid       	"3B8FF7A702DF"
				exportControl 	"Public")
			    (object ClassAttribute "list"
				quid       	"3B8FF7AD0139"
				exportControl 	"Public")
			    (object ClassAttribute "union"
				quid       	"3B8FF7AF039F"
				exportControl 	"Public")))
		    (object Class "XSDWhiteSpace"
			quid       	"3BEED0F60342"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "preserve"
				quid       	"3BEED10F0117"
				exportControl 	"Public")
			    (object ClassAttribute "replace"
				quid       	"3BEED127034D"
				exportControl 	"Public")
			    (object ClassAttribute "collapse"
				quid       	"3BEED1290396"
				exportControl 	"Public")))
		    (object Class "XSDXPathVariety"
			quid       	"3B8FFB89033A"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "selector"
				quid       	"3B8FFBAC0192"
				exportControl 	"Public")
			    (object ClassAttribute "field"
				quid       	"3B8FFBB30278"
				exportControl 	"Public")))
		    (object Association "$UNNAMED$65"
			quid       	"3C626EA70102"
			roles      	(list role_list
			    (object Role "$UNNAMED$66"
				quid       	"3C626EA90191"
				supplier   	"Logical View::xsd::XSDRepeatableFacet"
				quidu      	"3B6C6AA6031A"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C626EA90192"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$67"
			quid       	"3B69DADC02F5"
			roles      	(list role_list
			    (object Role "$UNNAMED$68"
				quid       	"3B69DADD0238"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DADD0242"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$69"
			quid       	"3B6890D6006F"
			roles      	(list role_list
			    (object Role "$UNNAMED$70"
				quid       	"3B6890D6030E"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "anonymousTypeDefinition"
				quid       	"3B6890D60318"
				label      	"anonymousTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$71"
			quid       	"3B68356B02CB"
			roles      	(list role_list
			    (object Role "$UNNAMED$72"
				quid       	"3B68356D00A6"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "typeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B68356D00A7"
				label      	"typeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$73"
			quid       	"3B6B426B0194"
			roles      	(list role_list
			    (object Role "$UNNAMED$74"
				quid       	"3B6B426D0309"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "resolvedAttributeDeclaration"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B426D0313"
				label      	"resolvedAttributeDeclaration"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$75"
			quid       	"3B69DB060291"
			roles      	(list role_list
			    (object Role "$UNNAMED$76"
				quid       	"3B69DB070171"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB070172"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$77"
			quid       	"3B69404E0067"
			roles      	(list role_list
			    (object Role "$UNNAMED$78"
				quid       	"3B694050029B"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B69405002A5"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$79"
			quid       	"3B68359F0086"
			roles      	(list role_list
			    (object Role "$UNNAMED$80"
				quid       	"3B6835A00069"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "attributeUses"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6835A0006A"
				label      	"attributeUses"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$81"
			quid       	"3C275D320220"
			roles      	(list role_list
			    (object Role "$UNNAMED$82"
				quid       	"3C275D3C010C"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcardContent"
				quid       	"3C275D3C010D"
				label      	"attributeWildcardContent"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$83"
			quid       	"3B6887BF0150"
			roles      	(list role_list
			    (object Role "$UNNAMED$84"
				quid       	"3B6887C000A7"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcard"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6887C000A8"
				label      	"attributeWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$85"
			quid       	"3B6B425E01F9"
			roles      	(list role_list
			    (object Role "$UNNAMED$86"
				quid       	"3B6B42620046"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "resolvedAttributeGroupDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B42620050"
				label      	"resolvedAttributeGroupDefinition"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$87"
			quid       	"3B683585010D"
			roles      	(list role_list
			    (object Role "$UNNAMED$88"
				quid       	"3B68358600FA"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				is_aggregate 	TRUE)
			    (object Role "attributeDeclaration"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B68358600FB"
				label      	"attributeDeclaration"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$89"
			quid       	"3B6F1DE9018A"
			roles      	(list role_list
			    (object Role "$UNNAMED$90"
				quid       	"3B6F1DEA036C"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				is_aggregate 	TRUE)
			    (object Role "content"
				quid       	"3B6F1DEA0380"
				label      	"content"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$91"
			quid       	"3B90068801C2"
			roles      	(list role_list
			    (object Role "$UNNAMED$92"
				quid       	"3B90068A0111"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "contentAnnotation"
				quid       	"3B90068A011B"
				label      	"contentAnnotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$93"
			quid       	"3B6833350340"
			roles      	(list role_list
			    (object Role "$UNNAMED$94"
				quid       	"3B683336028D"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "baseTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B683336028E"
				label      	"baseTypeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$95"
			quid       	"3B6FDDD70113"
			roles      	(list role_list
			    (object Role "$UNNAMED$96"
				quid       	"3B6FDDDA026B"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "content"
				quid       	"3B6FDDDA0275"
				label      	"content"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$97"
			quid       	"3B6837DF024F"
			roles      	(list role_list
			    (object Role "$UNNAMED$98"
				quid       	"3B6837E100FD"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "contentType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6837E100FE"
				label      	"contentType"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$99"
			quid       	"3B683959006E"
			roles      	(list role_list
			    (object Role "$UNNAMED$100"
				quid       	"3B6839590349"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeUses"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B683959034A"
				label      	"attributeUses"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$101"
			quid       	"3B698E360386"
			roles      	(list role_list
			    (object Role "$UNNAMED$102"
				quid       	"3B698E380072"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeContents"
				quid       	"3B698E38007C"
				label      	"attributeContents"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$103"
			quid       	"3B6851BA0126"
			roles      	(list role_list
			    (object Role "$UNNAMED$104"
				quid       	"3B6851BB0150"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcard"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6851BB0151"
				label      	"attributeWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$105"
			quid       	"3B751B0803C7"
			roles      	(list role_list
			    (object Role "container"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B751B0C01CE"
				label      	"container"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$106"
				attributes 	(list Attribute_Set)
				quid       	"3B751B0C01CF"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")))
		    (object Association "$UNNAMED$107"
			quid       	"3B751B480261"
			roles      	(list role_list
			    (object Role "rootContainer"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B751B4C0285"
				label      	"rootContainer"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$108"
				attributes 	(list Attribute_Set)
				quid       	"3B751B4C0286"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")))
		    (object Association "$UNNAMED$109"
			quid       	"3B751C310356"
			roles      	(list role_list
			    (object Role "$UNNAMED$110"
				attributes 	(list Attribute_Set)
				quid       	"3B751C330331"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")
			    (object Role "schema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B751C33033B"
				label      	"schema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$111"
			quid       	"3B69DB0A0066"
			roles      	(list role_list
			    (object Role "$UNNAMED$112"
				quid       	"3B69DB0B023F"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB0B0249"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$113"
			quid       	"3B68911401AF"
			roles      	(list role_list
			    (object Role "$UNNAMED$114"
				quid       	"3B6891150016"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "anonymousTypeDefinition"
				quid       	"3B6891150017"
				label      	"anonymousTypeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$115"
			quid       	"3B68338C0058"
			roles      	(list role_list
			    (object Role "$UNNAMED$116"
				quid       	"3B68338C03BF"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "typeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B68338C03C0"
				label      	"typeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$117"
			quid       	"3B6833EF0160"
			roles      	(list role_list
			    (object Role "$UNNAMED$118"
				quid       	"3B6833F00298"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "identityConstraintDefinitions"
				quid       	"3B6833F00299"
				label      	"identityConstraintDefinitions"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$119"
			quid       	"3B6B41E60251"
			roles      	(list role_list
			    (object Role "$UNNAMED$120"
				quid       	"3B6B41EA02F7"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "resolvedElementDeclaration"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B41EA030B"
				label      	"resolvedElementDeclaration"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$121"
			quid       	"3B69C0590198"
			roles      	(list role_list
			    (object Role "$UNNAMED$122"
				quid       	"3B69C05D01E3"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214")
			    (object Role "substitutionGroupAffiliation"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69C05D01ED"
				label      	"substitutionGroupAffiliation"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$123"
			quid       	"3C42DBDD0297"
			roles      	(list role_list
			    (object Role "$UNNAMED$124"
				quid       	"3C42DBE0011E"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "substitutionGroup"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C42DBE00128"
				label      	"substitutionGroup"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$125"
			quid       	"3B6D23B901CD"
			roles      	(list role_list
			    (object Role "$UNNAMED$126"
				quid       	"3B6D23BA01C4"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B6D23BA01CE"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$127"
			quid       	"3B6D597102EA"
			roles      	(list role_list
			    (object Role "simpleTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6D59750105"
				label      	"simpleTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$128"
				attributes 	(list Attribute_Set)
				quid       	"3B6D59750119"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2")))
		    (object Association "$UNNAMED$129"
			quid       	"3B69B653017A"
			roles      	(list role_list
			    (object Role "scope"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B69B654006D"
				label      	"scope"
				supplier   	"Logical View::xsd::XSDScope"
				quidu      	"3B69B54000F2"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$130"
				attributes 	(list Attribute_Set)
				quid       	"3B69B654006E"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$131"
			quid       	"3C29010602D7"
			roles      	(list role_list
			    (object Role "resolvedFeature"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C29010B000E"
				label      	"resolvedFeature"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$132"
				attributes 	(list Attribute_Set)
				quid       	"3C29010B0018"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$133"
			quid       	"3B69DB0D0183"
			roles      	(list role_list
			    (object Role "$UNNAMED$134"
				quid       	"3B69DB0D033C"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB0D0346"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$135"
			quid       	"3B69D29E014D"
			roles      	(list role_list
			    (object Role "referencedKey"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69D2A80165"
				label      	"referencedKey"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$136"
				attributes 	(list Attribute_Set)
				quid       	"3B69D2A8016F"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2")))
		    (object Association "$UNNAMED$137"
			quid       	"3B6D8D3D003E"
			roles      	(list role_list
			    (object Role "$UNNAMED$138"
				quid       	"3B6D8D3E022A"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				is_aggregate 	TRUE)
			    (object Role "selector"
				quid       	"3B6D8D3E0234"
				label      	"selector"
				supplier   	"Logical View::xsd::XSDXPathDefinition"
				quidu      	"3B6D83BB0355"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$139"
			quid       	"3B6D8D330025"
			roles      	(list role_list
			    (object Role "$UNNAMED$140"
				quid       	"3B6D8D330365"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				is_aggregate 	TRUE)
			    (object Role "fields"
				quid       	"3B6D8D330379"
				label      	"fields"
				supplier   	"Logical View::xsd::XSDXPathDefinition"
				quidu      	"3B6D83BB0355"
				client_cardinality 	(value cardinality "1..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$141"
			quid       	"3B6ADCD802FC"
			roles      	(list role_list
			    (object Role "$UNNAMED$142"
				quid       	"3B6ADCD9018B"
				supplier   	"Logical View::xsd::XSDImport"
				quidu      	"3B688C93017F"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B6ADCD9018C"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$143"
			quid       	"3B6ADCC5007E"
			roles      	(list role_list
			    (object Role "$UNNAMED$144"
				quid       	"3B6ADCC6006B"
				supplier   	"Logical View::xsd::XSDInclude"
				quidu      	"3B688C7D0250"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B6ADCC6006C"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$145"
			quid       	"3B69DB1702C8"
			roles      	(list role_list
			    (object Role "$UNNAMED$146"
				quid       	"3B69DB1803E2"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB190004"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$147"
			quid       	"3B6BCEB102F8"
			roles      	(list role_list
			    (object Role "$UNNAMED$148"
				quid       	"3B6BCEB6001B"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B6BCEB60025"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$149"
			quid       	"3B683606026F"
			roles      	(list role_list
			    (object Role "$UNNAMED$150"
				quid       	"3B6836070221"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				is_aggregate 	TRUE)
			    (object Role "particles"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6836070222"
				label      	"particles"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "1..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$151"
			quid       	"3B69DB15008A"
			roles      	(list role_list
			    (object Role "$UNNAMED$152"
				quid       	"3B69DB160096"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB1600A0"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$153"
			quid       	"3B6837AC025A"
			roles      	(list role_list
			    (object Role "$UNNAMED$154"
				quid       	"3B6837AD0338"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				is_aggregate 	TRUE)
			    (object Role "modelGroup"
				quid       	"3B6837AD0339"
				label      	"modelGroup"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$155"
			quid       	"3B6B42450398"
			roles      	(list role_list
			    (object Role "$UNNAMED$156"
				quid       	"3B6B4249038A"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				is_aggregate 	TRUE)
			    (object Role "resolvedModelGroupDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B4249039E"
				label      	"resolvedModelGroupDefinition"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$157"
			quid       	"3B69DB0F0212"
			roles      	(list role_list
			    (object Role "$UNNAMED$158"
				quid       	"3B69DB1000C9"
				supplier   	"Logical View::xsd::XSDNotationDeclaration"
				quidu      	"3B66EDAA021C"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB1000D3"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$159"
			quid       	"3B6B47150119"
			roles      	(list role_list
			    (object Role "$UNNAMED$160"
				quid       	"3B6B471A03AB"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				is_aggregate 	TRUE)
			    (object Role "content"
				quid       	"3B6B471A03B5"
				label      	"content"
				supplier   	"Logical View::xsd::XSDParticleContent"
				quidu      	"3B6BD22300C6"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$161"
			quid       	"3B683C890122"
			roles      	(list role_list
			    (object Role "$UNNAMED$162"
				quid       	"3B683C8A0110"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				is_aggregate 	TRUE)
			    (object Role "term"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B683C8A0111"
				label      	"term"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$163"
			quid       	"3B6ADE42009A"
			roles      	(list role_list
			    (object Role "$UNNAMED$164"
				quid       	"3B6ADE4302FE"
				supplier   	"Logical View::xsd::XSDRedefine"
				quidu      	"3B688C9B02AD"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6ADE430308"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$165"
			quid       	"3B6AE8240051"
			roles      	(list role_list
			    (object Role "$UNNAMED$166"
				quid       	"3B6AE82602AD"
				supplier   	"Logical View::xsd::XSDRedefine"
				quidu      	"3B688C9B02AD"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B6AE82602B7"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$167"
			quid       	"3B688E6B003D"
			roles      	(list role_list
			    (object Role "$UNNAMED$168"
				quid       	"3B688E6C0107"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B688E6C0111"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$169"
			quid       	"3B66EE8D01BF"
			roles      	(list role_list
			    (object Role "$UNNAMED$170"
				quid       	"3B66EE8E0198"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "elementDeclarations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EE8E0199"
				label      	"elementDeclarations"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$171"
			quid       	"3B66FDFA00C3"
			roles      	(list role_list
			    (object Role "$UNNAMED$172"
				quid       	"3B66FDFB027D"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "attributeDeclarations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66FDFB027E"
				label      	"attributeDeclarations"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$173"
			quid       	"3B66EE920216"
			roles      	(list role_list
			    (object Role "$UNNAMED$174"
				quid       	"3B66EE93018B"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "attributeGroupDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EE93018C"
				label      	"attributeGroupDefinitions"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$175"
			quid       	"3B66EE760049"
			roles      	(list role_list
			    (object Role "$UNNAMED$176"
				quid       	"3B66EE760374"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "typeDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EE76037E"
				label      	"typeDefinitions"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$177"
			quid       	"3B66EEFF024F"
			roles      	(list role_list
			    (object Role "$UNNAMED$178"
				quid       	"3B66EF00025A"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "modelGroupDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EF000264"
				label      	"modelGroupDefinitions"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$179"
			quid       	"3BFC2A1701ED"
			roles      	(list role_list
			    (object Role "$UNNAMED$180"
				quid       	"3BFC2A1A0273"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "identityConstraintDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BFC2A1A027D"
				label      	"identityConstraintDefinitions"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$181"
			quid       	"3B66EEA7023E"
			roles      	(list role_list
			    (object Role "$UNNAMED$182"
				quid       	"3B66EEA8038A"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "notationDeclarations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EEA8038B"
				label      	"notationDeclarations"
				supplier   	"Logical View::xsd::XSDNotationDeclaration"
				quidu      	"3B66EDAA021C"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$183"
			quid       	"3B69E4560290"
			roles      	(list role_list
			    (object Role "$UNNAMED$184"
				quid       	"3B69E4570165"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69E457016F"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$185"
			quid       	"3B6D5CA50112"
			roles      	(list role_list
			    (object Role "$UNNAMED$186"
				quid       	"3B6D5CA703B4"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B6D5CA703C8"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$187"
			quid       	"3B6C35AD0374"
			roles      	(list role_list
			    (object Role "$UNNAMED$188"
				quid       	"3B6C35AF0006"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "facetContents"
				quid       	"3B6C35AF0010"
				label      	"facetContents"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$189"
			quid       	"3BC8AE0203A8"
			roles      	(list role_list
			    (object Role "$UNNAMED$190"
				quid       	"3BC8AE060051"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "facets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BC8AE060065"
				label      	"facets"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$191"
			quid       	"3B6C34B70208"
			roles      	(list role_list
			    (object Role "$UNNAMED$192"
				quid       	"3B6C34BE0258"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "memberTypeDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6C34BE0259"
				label      	"memberTypeDefinitions"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$193"
			quid       	"3B6C363201DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$194"
				quid       	"3B6C36350059"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "fundamentalFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B6C36350063"
				label      	"fundamentalFacets"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"
				client_cardinality 	(value cardinality "1..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$195"
			quid       	"3B6D35AB0273"
			roles      	(list role_list
			    (object Role "$UNNAMED$196"
				quid       	"3B6D35B20291"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "baseTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6D35B202A5"
				label      	"baseTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$197"
			quid       	"3B6D5572016C"
			roles      	(list role_list
			    (object Role "$UNNAMED$198"
				quid       	"3B6D5575022F"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "primitiveTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6D55750243"
				label      	"primitiveTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$199"
			quid       	"3B69E2910158"
			roles      	(list role_list
			    (object Role "$UNNAMED$200"
				quid       	"3B69E292019F"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69E29201A9"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$201"
			quid       	"3B9006CF0088"
			roles      	(list role_list
			    (object Role "$UNNAMED$202"
				quid       	"3B9006D1015D"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				is_aggregate 	TRUE)
			    (object Role "derivationAnnotation"
				quid       	"3B9006D10167"
				label      	"derivationAnnotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$203"
			quid       	"3B69DB330264"
			roles      	(list role_list
			    (object Role "$UNNAMED$204"
				quid       	"3B69DB340284"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69DB34028E"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$205"
			quid       	"3B69DB11026F"
			roles      	(list role_list
			    (object Role "$UNNAMED$206"
				quid       	"3B69DB1201F9"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB120203"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$207"
			quid       	"3C626EB30005"
			roles      	(list role_list
			    (object Role "$UNNAMED$208"
				quid       	"3C626EB40327"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C626EB40332"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$209"
			quid       	"3BEBDC870247"
			roles      	(list role_list
			    (object Role "$UNNAMED$210"
				quid       	"3BEBDC8C02F9"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcardContent"
				quid       	"3BEBDC8C0303"
				label      	"attributeWildcardContent"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$211"
			quid       	"3BFE622703CD"
			roles      	(list role_list
			    (object Role "$UNNAMED$212"
				attributes 	(list Attribute_Set)
				quid       	"3BFE622B0061"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046")
			    (object Role "components"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BFE622B006C"
				label      	"components"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "1..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$213"
			quid       	"3BFE62690165"
			roles      	(list role_list
			    (object Role "$UNNAMED$214"
				quid       	"3BFE626A0026"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				is_aggregate 	TRUE)
			    (object Role "diagnostics"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3BFE626A0027"
				label      	"diagnostics"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$215"
			quid       	"3BFE6431035F"
			roles      	(list role_list
			    (object Role "$UNNAMED$216"
				quid       	"3BFE643201C6"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "allDiagnostics"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BFE643201C7"
				label      	"allDiagnostics"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$217"
			quid       	"3C21DCC700EC"
			roles      	(list role_list
			    (object Role "$UNNAMED$218"
				quid       	"3C21DCCE0042"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"
				is_aggregate 	TRUE)
			    (object Role "resolvedSchema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C21DCCE0043"
				label      	"resolvedSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$219"
			quid       	"3C21DD0C03DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$220"
				quid       	"3C21DD100304"
				supplier   	"Logical View::xsd::XSDSchemaCompositor"
				quidu      	"3C21DB4102AE"
				is_aggregate 	TRUE)
			    (object Role "incorporatedSchema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C21DD100305"
				label      	"incorporatedSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$221"
			quid       	"3C239134004F"
			roles      	(list role_list
			    (object Role "$UNNAMED$222"
				quid       	"3C23913600CA"
				supplier   	"Logical View::xsd::XSDXPathDefinition"
				quidu      	"3B6D83BB0355"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3C23913600D4"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$223"
			quid       	"3C25D3A60131"
			roles      	(list role_list
			    (object Role "$UNNAMED$224"
				quid       	"3C25D3A90370"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "referencingDirectives"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C25D3A90371"
				label      	"referencingDirectives"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$225"
			quid       	"3C25ECF0005E"
			roles      	(list role_list
			    (object Role "$UNNAMED$226"
				quid       	"3C25ECF4001E"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "rootVersion"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C25ECF40028"
				label      	"rootVersion"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$227"
			quid       	"3C25ED0B011B"
			roles      	(list role_list
			    (object Role "$UNNAMED$228"
				quid       	"3C25ED0F0121"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "originalVersion"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C25ED0F012B"
				label      	"originalVersion"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$229"
			quid       	"3C25EEAB001F"
			roles      	(list role_list
			    (object Role "$UNNAMED$230"
				quid       	"3C25EEAF010B"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "incorporatedVersions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C25EEAF0115"
				label      	"incorporatedVersions"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$231"
			quid       	"3C276DA000DE"
			roles      	(list role_list
			    (object Role "$UNNAMED$232"
				quid       	"3C276DA000DF"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "itemTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C276DA000E0"
				label      	"itemTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$233"
			quid       	"3C2784730194"
			roles      	(list role_list
			    (object Role "$UNNAMED$234"
				quid       	"3C27847501F1"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "schemaForSchema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C27847501FB"
				label      	"schemaForSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$235"
			quid       	"3C2880F503D9"
			roles      	(list role_list
			    (object Role "rootTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C2880F9003C"
				label      	"rootTypeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$236"
				attributes 	(list Attribute_Set)
				quid       	"3C2880F90046"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A")))
		    (object Association "$UNNAMED$237"
			quid       	"3C2882C50137"
			roles      	(list role_list
			    (object Role "$UNNAMED$238"
				attributes 	(list Attribute_Set)
				quid       	"3C2882C70112"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046")
			    (object Role "primaryComponent"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C2882C70113"
				label      	"primaryComponent"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$239"
			quid       	"3C28A0F201A4"
			roles      	(list role_list
			    (object Role "type"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A0F302E5"
				label      	"type"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$240"
				attributes 	(list Attribute_Set)
				quid       	"3C28A0F302F0"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$241"
			quid       	"3C28A6DB01E5"
			roles      	(list role_list
			    (object Role "rootType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A6DD03DD"
				label      	"rootType"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$242"
				attributes 	(list Attribute_Set)
				quid       	"3C28A6DD03DE"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$243"
			quid       	"3C28A7120108"
			roles      	(list role_list
			    (object Role "baseType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A7140151"
				label      	"baseType"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$244"
				attributes 	(list Attribute_Set)
				quid       	"3C28A714015B"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$245"
			quid       	"3C28A74B0178"
			roles      	(list role_list
			    (object Role "simpleType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A74D017B"
				label      	"simpleType"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$246"
				attributes 	(list Attribute_Set)
				quid       	"3C28A74D0185"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$247"
			quid       	"3C28A7ED03C0"
			roles      	(list role_list
			    (object Role "complexType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A7F40117"
				label      	"complexType"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$248"
				attributes 	(list Attribute_Set)
				quid       	"3C28A7F40121"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$249"
			quid       	"3C28A994030A"
			roles      	(list role_list
			    (object Role "rootTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A99700DD"
				label      	"rootTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$250"
				attributes 	(list Attribute_Set)
				quid       	"3C28A99700E7"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D")))
		    (object Association "$UNNAMED$251"
			quid       	"3C28B085025B"
			roles      	(list role_list
			    (object Role "$UNNAMED$252"
				quid       	"3C28B0860270"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B086027A"
				label      	"minFacet"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$253"
			quid       	"3C28B08D0252"
			roles      	(list role_list
			    (object Role "$UNNAMED$254"
				quid       	"3C28B08E0091"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B08E009B"
				label      	"maxFacet"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$255"
			quid       	"3C28B0AB0396"
			roles      	(list role_list
			    (object Role "$UNNAMED$256"
				quid       	"3C28B0AC03C9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxInclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0AC03D4"
				label      	"maxInclusiveFacet"
				supplier   	"Logical View::xsd::XSDMaxInclusiveFacet"
				quidu      	"3B6C787D00DA"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$257"
			quid       	"3C28B0AF0338"
			roles      	(list role_list
			    (object Role "$UNNAMED$258"
				quid       	"3C28B0B001F9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minInclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0B00203"
				label      	"minInclusiveFacet"
				supplier   	"Logical View::xsd::XSDMinInclusiveFacet"
				quidu      	"3B6C788702C9"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$259"
			quid       	"3C28B0B30207"
			roles      	(list role_list
			    (object Role "$UNNAMED$260"
				quid       	"3C28B0B40190"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minExclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0B4019A"
				label      	"minExclusiveFacet"
				supplier   	"Logical View::xsd::XSDMinExclusiveFacet"
				quidu      	"3B6C792D000A"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$261"
			quid       	"3C28B0B6028D"
			roles      	(list role_list
			    (object Role "$UNNAMED$262"
				quid       	"3C28B0B70217"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxExclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0B70221"
				label      	"maxExclusiveFacet"
				supplier   	"Logical View::xsd::XSDMaxExclusiveFacet"
				quidu      	"3B6C789600C2"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$263"
			quid       	"3C28B0BC0051"
			roles      	(list role_list
			    (object Role "$UNNAMED$264"
				quid       	"3C28B0BC0246"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "lengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0BC0250"
				label      	"lengthFacet"
				supplier   	"Logical View::xsd::XSDLengthFacet"
				quidu      	"3B6C776200E7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$265"
			quid       	"3C28B0BF018C"
			roles      	(list role_list
			    (object Role "$UNNAMED$266"
				quid       	"3C28B0C0006B"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "whiteSpaceFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C00075"
				label      	"whiteSpaceFacet"
				supplier   	"Logical View::xsd::XSDWhiteSpaceFacet"
				quidu      	"3B6C784601B7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$267"
			quid       	"3C28B0C2021D"
			roles      	(list role_list
			    (object Role "$UNNAMED$268"
				quid       	"3C28B0C300AB"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "enumerationFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C300AC"
				label      	"enumerationFacets"
				supplier   	"Logical View::xsd::XSDEnumerationFacet"
				quidu      	"3B6C6ACE0141"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$269"
			quid       	"3C28B0C50159"
			roles      	(list role_list
			    (object Role "$UNNAMED$270"
				quid       	"3C28B0C600B0"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "patternFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C600BA"
				label      	"patternFacets"
				supplier   	"Logical View::xsd::XSDPatternFacet"
				quidu      	"3B6C6ADB026C"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$271"
			quid       	"3C28B0C802A7"
			roles      	(list role_list
			    (object Role "$UNNAMED$272"
				quid       	"3C28B0C901EA"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "cardinalityFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C901F5"
				label      	"cardinalityFacet"
				supplier   	"Logical View::xsd::XSDCardinalityFacet"
				quidu      	"3B6C755D03D2"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$273"
			quid       	"3C28B0CB039C"
			roles      	(list role_list
			    (object Role "$UNNAMED$274"
				quid       	"3C28B0CC03D0"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "numericFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0CC03D1"
				label      	"numericFacet"
				supplier   	"Logical View::xsd::XSDNumericFacet"
				quidu      	"3B6C75950206"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$275"
			quid       	"3C28B0CF0199"
			roles      	(list role_list
			    (object Role "$UNNAMED$276"
				quid       	"3C28B0D20085"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0D2008F"
				label      	"maxLengthFacet"
				supplier   	"Logical View::xsd::XSDMaxLengthFacet"
				quidu      	"3B6C77C70146"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$277"
			quid       	"3C28B0D500C5"
			roles      	(list role_list
			    (object Role "$UNNAMED$278"
				quid       	"3C28B0D6001D"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0D60027"
				label      	"minLengthFacet"
				supplier   	"Logical View::xsd::XSDMinLengthFacet"
				quidu      	"3B6C778C0065"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$279"
			quid       	"3C28B0D800DE"
			roles      	(list role_list
			    (object Role "$UNNAMED$280"
				quid       	"3C28B0D803CD"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "totalDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0D803D7"
				label      	"totalDigitsFacet"
				supplier   	"Logical View::xsd::XSDTotalDigitsFacet"
				quidu      	"3B6C79A0020E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$281"
			quid       	"3C28B0DB0377"
			roles      	(list role_list
			    (object Role "$UNNAMED$282"
				quid       	"3C28B0DC035A"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "fractionDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0DC0364"
				label      	"fractionDigitsFacet"
				supplier   	"Logical View::xsd::XSDFractionDigitsFacet"
				quidu      	"3B6C79BE02EE"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$283"
			quid       	"3C28B0DF0048"
			roles      	(list role_list
			    (object Role "$UNNAMED$284"
				quid       	"3C28B0DF03B9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "orderedFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0DF03C3"
				label      	"orderedFacet"
				supplier   	"Logical View::xsd::XSDOrderedFacet"
				quidu      	"3B6C74DD0248"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$285"
			quid       	"3C28B0E300D9"
			roles      	(list role_list
			    (object Role "$UNNAMED$286"
				quid       	"3C28B0E4038E"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "boundedFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0E40398"
				label      	"boundedFacet"
				supplier   	"Logical View::xsd::XSDBoundedFacet"
				quidu      	"3B6C751D0344"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$287"
			quid       	"3C28B44401EC"
			roles      	(list role_list
			    (object Role "$UNNAMED$288"
				quid       	"3C28B4450360"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMaxFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B445036A"
				label      	"effectiveMaxFacet"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$289"
			quid       	"3C28B54F0145"
			roles      	(list role_list
			    (object Role "$UNNAMED$290"
				quid       	"3C28B550038C"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveWhiteSpaceFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B5500396"
				label      	"effectiveWhiteSpaceFacet"
				supplier   	"Logical View::xsd::XSDWhiteSpaceFacet"
				quidu      	"3B6C784601B7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$291"
			quid       	"3C28B5C4011C"
			roles      	(list role_list
			    (object Role "$UNNAMED$292"
				quid       	"3C28B5C5020D"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMaxLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B5C50217"
				label      	"effectiveMaxLengthFacet"
				supplier   	"Logical View::xsd::XSDMaxLengthFacet"
				quidu      	"3B6C77C70146"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$293"
			quid       	"3C28B62A00AA"
			roles      	(list role_list
			    (object Role "$UNNAMED$294"
				quid       	"3C28B62B0138"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveFractionDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B62B0142"
				label      	"effectiveFractionDigitsFacet"
				supplier   	"Logical View::xsd::XSDFractionDigitsFacet"
				quidu      	"3B6C79BE02EE"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$295"
			quid       	"3C28B6B003A6"
			roles      	(list role_list
			    (object Role "$UNNAMED$296"
				quid       	"3C28B6B10311"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectivePatternFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B6B10312"
				label      	"effectivePatternFacet"
				supplier   	"Logical View::xsd::XSDPatternFacet"
				quidu      	"3B6C6ADB026C"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$297"
			quid       	"3C28B7CA026B"
			roles      	(list role_list
			    (object Role "$UNNAMED$298"
				quid       	"3C28B7CB0186"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveEnumerationFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B7CB0190"
				label      	"effectiveEnumerationFacet"
				supplier   	"Logical View::xsd::XSDEnumerationFacet"
				quidu      	"3B6C6ACE0141"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$299"
			quid       	"3C28B8400062"
			roles      	(list role_list
			    (object Role "$UNNAMED$300"
				quid       	"3C28B841001D"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveTotalDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B8410027"
				label      	"effectiveTotalDigitsFacet"
				supplier   	"Logical View::xsd::XSDTotalDigitsFacet"
				quidu      	"3B6C79A0020E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$301"
			quid       	"3C28B898016D"
			roles      	(list role_list
			    (object Role "$UNNAMED$302"
				quid       	"3C28B8990056"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMinLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B8990060"
				label      	"effectiveMinLengthFacet"
				supplier   	"Logical View::xsd::XSDMinLengthFacet"
				quidu      	"3B6C778C0065"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$303"
			quid       	"3C28B8DC0052"
			roles      	(list role_list
			    (object Role "$UNNAMED$304"
				quid       	"3C28B8DC03B9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B8DC03C3"
				label      	"effectiveLengthFacet"
				supplier   	"Logical View::xsd::XSDLengthFacet"
				quidu      	"3B6C776200E7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$305"
			quid       	"3C28B97001DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$306"
				quid       	"3C28B97100CF"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMinFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B97100D9"
				label      	"effectiveMinFacet"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$307"
			quid       	"3D4BB4AE01CC"
			roles      	(list role_list
			    (object Role "$UNNAMED$308"
				quid       	"3D4BB4AF010F"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "syntheticFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3D4BB4AF011A"
				label      	"syntheticFacets"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$309"
			quid       	"3D4BB4D3028E"
			roles      	(list role_list
			    (object Role "$UNNAMED$310"
				quid       	"3D4BB4D402F3"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "syntheticParticle"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3D4BB4D402FD"
				label      	"syntheticParticle"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$311"
			quid       	"3D4BB4D901F6"
			roles      	(list role_list
			    (object Role "$UNNAMED$312"
				quid       	"3D4BB4DA0284"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "syntheticWildcard"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3D4BB4DA028E"
				label      	"syntheticWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$313"
			quid       	"3D4C68FF01BF"
			roles      	(list role_list
			    (object Role "$UNNAMED$314"
				quid       	"3D4C69020317"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "syntheticWildcard"
				quid       	"3D4C69020318"
				label      	"syntheticWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE))))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "1. Component Hierarchy (Part 1: Structures)"
			quid       	"3B6847680138"
			title      	"1. Component Hierarchy (Part 1: Structures)"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @360
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(928, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@360
				    location   	(766, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @361
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1168, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@361
				    location   	(940, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	456
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				width      	474
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @362
				location   	(928, 225)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@360
				vertices   	(list Points
				    (928, 225)
				    (928, 135)))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @363
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@363
				    location   	(1460, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	234
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @364
				location   	(1203, 706)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@361
				vertices   	(list Points
				    (1203, 706)
				    (1203, 615)))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @365
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(624, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@365
				    location   	(372, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	504
				    justify    	0
				    label      	"XSDComplexTypeContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683BA00196"
				width      	522
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @366
				location   	(444, 709)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@365
				vertices   	(list Points
				    (444, 709)
				    (444, 615)))
			    (object InheritTreeView "" @367
				location   	(1572, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@363
				vertices   	(list Points
				    (1572, 465)
				    (1572, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @368
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 800)
				label      	(object ItemLabel
				    Parent_View 	@368
				    location   	(290, 757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @369
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 1056)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@369
				    location   	(262, 1013)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @370
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1104, 320)
				label      	(object ItemLabel
				    Parent_View 	@370
				    location   	(936, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	336
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	354
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @371
				location   	(453, 1203)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@369
				vertices   	(list Points
				    (453, 1203)
				    (453, 1111)))
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @372
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@372
				    location   	(62, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	246
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @373
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1872, 800)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@373
				    location   	(1746, 757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				width      	270
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @374
				location   	(1872, 950)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@373
				vertices   	(list Points
				    (1872, 950)
				    (1872, 855)))
			    (object InheritTreeView "" @375
				location   	(181, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@372
				vertices   	(list Points
				    (181, 465)
				    (181, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @376
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1280)
				label      	(object ItemLabel
				    Parent_View 	@376
				    location   	(1670, 1233)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	550
				height     	118
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @377
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 1056)
				label      	(object ItemLabel
				    Parent_View 	@377
				    location   	(1734, 1013)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @378
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1488)
				label      	(object ItemLabel
				    Parent_View 	@378
				    location   	(1569, 1444)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	638
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	656
				height     	112
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @379
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1184, 1488)
				label      	(object ItemLabel
				    Parent_View 	@379
				    location   	(903, 1444)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	563
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	581
				height     	112
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @380
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 560)
				label      	(object ItemLabel
				    Parent_View 	@380
				    location   	(1462, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	276
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	294
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @381
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1024, 1056)
				label      	(object ItemLabel
				    Parent_View 	@381
				    location   	(778, 1013)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	510
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @382
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 560)
				label      	(object ItemLabel
				    Parent_View 	@382
				    location   	(1806, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @383
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1296)
				label      	(object ItemLabel
				    Parent_View 	@383
				    location   	(106, 1253)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	510
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @384
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 560)
				label      	(object ItemLabel
				    Parent_View 	@384
				    location   	(60, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	264
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	282
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @385
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1072, 1280)
				label      	(object ItemLabel
				    Parent_View 	@385
				    location   	(802, 1237)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	558
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @386
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1488)
				label      	(object ItemLabel
				    Parent_View 	@386
				    location   	(30, 1441)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	676
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	694
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @387
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(576, 320)
				label      	(object ItemLabel
				    Parent_View 	@387
				    location   	(426, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	300
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	318
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @388
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 320)
				label      	(object ItemLabel
				    Parent_View 	@388
				    location   	(1808, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	384
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	402
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @389
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D7BB0349"
				client     	@370
				supplier   	@360
				line_style 	3
				origin_attachment 	(1094, 265)
				terminal_attachment 	(1094, 225)
				drawSupplier 	@362)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @390
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(960, 800)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@390
				    location   	(690, 757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	558
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @391
				location   	(962, 947)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@390
				vertices   	(list Points
				    (962, 947)
				    (962, 855)))
			    (object InheritView "" @392
				stereotype 	(object SegLabel @393
				    Parent_View 	@392
				    location   	(218, 1154)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	212
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.163534
				    height     	69
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B685F55032B"
				client     	@383
				supplier   	@365
				line_style 	3
				origin_attachment 	(149, 1241)
				terminal_attachment 	(149, 709)
				drawSupplier 	@366)
			    (object InheritView "" @394
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@383
				supplier   	@369
				line_style 	3
				origin_attachment 	(256, 1241)
				terminal_attachment 	(256, 1203)
				drawSupplier 	@371)
			    (object InheritView "" @395
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@384
				supplier   	@372
				line_style 	3
				origin_attachment 	(284, 505)
				terminal_attachment 	(284, 465)
				drawSupplier 	@375)
			    (object InheritView "" @396
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A640279"
				client     	@382
				supplier   	@363
				line_style 	3
				origin_attachment 	(2002, 505)
				terminal_attachment 	(2002, 465)
				drawSupplier 	@367)
			    (object InheritView "" @397
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848AA01D3"
				client     	@363
				supplier   	@360
				line_style 	3
				origin_attachment 	(1569, 265)
				terminal_attachment 	(1569, 225)
				drawSupplier 	@362)
			    (object InheritView "" @398
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@380
				supplier   	@363
				line_style 	3
				origin_attachment 	(1490, 505)
				terminal_attachment 	(1490, 465)
				drawSupplier 	@367)
			    (object InheritView "" @399
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848FC01E7"
				client     	@368
				supplier   	@365
				line_style 	3
				origin_attachment 	(510, 745)
				terminal_attachment 	(510, 709)
				drawSupplier 	@366)
			    (object InheritView "" @400
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@385
				supplier   	@390
				line_style 	3
				origin_attachment 	(1321, 1225)
				terminal_attachment 	(1321, 947)
				drawSupplier 	@391)
			    (object InheritView "" @401
				stereotype 	(object SegLabel @402
				    Parent_View 	@401
				    location   	(2137, 886)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	238
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.215812
				    height     	64
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B685F17002E"
				client     	@377
				supplier   	@363
				line_style 	3
				origin_attachment 	(2200, 1001)
				terminal_attachment 	(2200, 465)
				drawSupplier 	@367)
			    (object InheritView "" @403
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@377
				supplier   	@373
				line_style 	3
				origin_attachment 	(2093, 1001)
				terminal_attachment 	(2093, 950)
				drawSupplier 	@374)
			    (object InheritView "" @404
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@369
				supplier   	@390
				line_style 	3
				origin_attachment 	(450, 1001)
				terminal_attachment 	(450, 947)
				drawSupplier 	@391)
			    (object InheritView "" @405
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@372
				supplier   	@360
				line_style 	3
				origin_attachment 	(147, 265)
				terminal_attachment 	(147, 225)
				drawSupplier 	@362)
			    (object InheritView "" @406
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D84F70092"
				client     	@388
				supplier   	@360
				line_style 	3
				origin_attachment 	(2012, 265)
				terminal_attachment 	(2012, 225)
				drawSupplier 	@362)
			    (object InheritView "" @407
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848B80286"
				client     	@365
				supplier   	@360
				line_style 	3
				origin_attachment 	(834, 505)
				terminal_attachment 	(834, 225)
				drawSupplier 	@362)
			    (object InheritView "" @408
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@361
				supplier   	@360
				line_style 	3
				origin_attachment 	(1350, 505)
				terminal_attachment 	(1350, 225)
				drawSupplier 	@362)
			    (object InheritView "" @409
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@387
				supplier   	@360
				line_style 	3
				origin_attachment 	(572, 265)
				terminal_attachment 	(572, 225)
				drawSupplier 	@362)
			    (object InheritView "" @410
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@376
				supplier   	@373
				line_style 	3
				origin_attachment 	(1693, 1221)
				terminal_attachment 	(1693, 950)
				drawSupplier 	@374)
			    (object InheritView "" @411
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684AA30242"
				client     	@378
				supplier   	@361
				line_style 	3
				origin_attachment 	(1590, 1432)
				terminal_attachment 	(1590, 706)
				drawSupplier 	@364)
			    (object InheritView "" @412
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68494302F1"
				client     	@379
				supplier   	@361
				line_style 	3
				origin_attachment 	(1431, 1432)
				terminal_attachment 	(1431, 706)
				drawSupplier 	@364)
			    (object InheritView "" @413
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@390
				supplier   	@361
				line_style 	3
				origin_attachment 	(959, 745)
				terminal_attachment 	(959, 706)
				drawSupplier 	@364)
			    (object InheritView "" @414
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@373
				supplier   	@361
				line_style 	3
				origin_attachment 	(1872, 745)
				terminal_attachment 	(1872, 706)
				drawSupplier 	@364)
			    (object InheritView "" @415
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@381
				supplier   	@390
				line_style 	3
				origin_attachment 	(962, 1001)
				terminal_attachment 	(962, 947)
				drawSupplier 	@391)
			    (object InheritView "" @416
				stereotype 	(object SegLabel @417
				    Parent_View 	@416
				    location   	(95, 1388)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	187
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.042531
				    height     	67
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B69BAA20310"
				client     	@386
				supplier   	@372
				line_style 	3
				origin_attachment 	(28, 1429)
				terminal_attachment 	(28, 465)
				drawSupplier 	@375)
			    (object InheritView "" @418
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@386
				supplier   	@369
				line_style 	3
				origin_attachment 	(656, 1429)
				terminal_attachment 	(656, 1203)
				drawSupplier 	@371)))
		    (object ClassDiagram "2. Component Relations (Part 1 : Structures)"
			quid       	"374B18190028"
			title      	"2. Component Relations (Part 1 : Structures)"
			zoom       	96
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @419
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(784, 1632)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@419
				    location   	(670, 1591)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	246
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @420
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1632)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@420
				    location   	(66, 1591)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				width      	270
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$129" @421
				location   	(494, 1627)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B653017A"
				roleview_list 	(list RoleViews
				    (object RoleView "scope" @422
					Parent_View 	@421
					location   	(286, -485)
					label      	(object SegLabel @423
					    Parent_View 	@422
					    location   	(555, 1589)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+scope"
					    pctDist    	0.371257
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69B654006D"
					client     	@421
					supplier   	@419
					line_style 	3
					origin_attachment 	(494, 1627)
					terminal_attachment 	(661, 1627)
					label      	(object SegLabel @424
					    Parent_View 	@422
					    location   	(576, 1664)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.491018
					    height     	37
					    orientation 	1))
				    (object RoleView "$UNNAMED$130" @425
					Parent_View 	@421
					location   	(286, -485)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69B654006E"
					client     	@421
					supplier   	@420
					line_style 	3
					origin_attachment 	(494, 1627)
					terminal_attachment 	(327, 1627))))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @426
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2192, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@426
				    location   	(2084, 1191)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	234
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @427
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2176, 992)
				label      	(object ItemLabel
				    Parent_View 	@427
				    location   	(2051, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	250
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	268
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$161" @428
				location   	(2229, 1112)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683C890122"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$162" @429
					Parent_View 	@428
					location   	(549, -248)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683C8A0110"
					client     	@428
					supplier   	@427
					line_style 	3
					origin_attachment 	(2229, 1112)
					terminal_attachment 	(2229, 1045))
				    (object RoleView "term" @430
					Parent_View 	@428
					location   	(549, -248)
					label      	(object SegLabel @431
					    Parent_View 	@430
					    location   	(2157, 1121)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	108
					    justify    	0
					    label      	"+term"
					    pctDist    	0.134328
					    height     	72
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683C8A0111"
					client     	@428
					supplier   	@426
					line_style 	3
					origin_attachment 	(2229, 1112)
					terminal_attachment 	(2229, 1179)
					label      	(object SegLabel @432
					    Parent_View 	@430
					    location   	(2274, 1119)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.119403
					    height     	45
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @433
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@433
				    location   	(1076, 1191)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	504
				    justify    	0
				    label      	"XSDComplexTypeContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683BA00196"
				width      	522
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @434
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 768)
				label      	(object ItemLabel
				    Parent_View 	@434
				    location   	(1977, 727)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	334
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	352
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$149" @435
				location   	(2219, 880)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683606026F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$150" @436
					Parent_View 	@435
					location   	(-357, -240)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6836070221"
					client     	@435
					supplier   	@434
					line_style 	3
					origin_attachment 	(2219, 880)
					terminal_attachment 	(2219, 821))
				    (object RoleView "particles" @437
					Parent_View 	@435
					location   	(-357, -240)
					label      	(object SegLabel @438
					    Parent_View 	@437
					    location   	(2105, 888)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+particles"
					    pctDist    	0.156627
					    height     	115
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6836070222"
					client     	@435
					supplier   	@427
					line_style 	3
					origin_attachment 	(2219, 880)
					terminal_attachment 	(2219, 939)
					label      	(object SegLabel @439
					    Parent_View 	@437
					    location   	(2281, 888)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.156627
					    height     	62
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @440
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1776, 992)
				label      	(object ItemLabel
				    Parent_View 	@440
				    location   	(1639, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	274
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	292
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @441
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1072, 1424)
				label      	(object ItemLabel
				    Parent_View 	@441
				    location   	(905, 1383)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	334
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	352
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @442
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 992)
				label      	(object ItemLabel
				    Parent_View 	@442
				    location   	(187, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	508
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$195" @443
				location   	(590, 1140)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D35AB0273"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$196" @444
					Parent_View 	@443
					location   	(302, 148)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B20291"
					client     	@443
					supplier   	@442
					vertices   	(list Points
					    (590, 1140)
					    (540, 1140)
					    (540, 1045))
					line_style 	3
					origin_attachment 	(590, 1140)
					terminal_attachment 	(540, 1045))
				    (object RoleView "baseTypeDefinition" @445
					Parent_View 	@443
					location   	(302, 148)
					label      	(object SegLabel @446
					    Parent_View 	@445
					    location   	(643, 1171)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+baseTypeDefinition"
					    pctDist    	1.053571
					    height     	31
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B202A5"
					client     	@443
					supplier   	@442
					vertices   	(list Points
					    (590, 1140)
					    (641, 1140)
					    (641, 1045))
					line_style 	3
					origin_attachment 	(590, 1140)
					terminal_attachment 	(641, 1045)
					label      	(object SegLabel @447
					    Parent_View 	@445
					    location   	(584, 1097)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.122449
					    height     	44
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @448
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1008, 992)
				label      	(object ItemLabel
				    Parent_View 	@448
				    location   	(745, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	526
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	544
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$97" @449
				location   	(1119, 1112)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837DF024F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$98" @450
					Parent_View 	@449
					location   	(-1569, -8)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837E100FD"
					client     	@449
					supplier   	@448
					line_style 	3
					origin_attachment 	(1119, 1112)
					terminal_attachment 	(1119, 1045))
				    (object RoleView "contentType" @451
					Parent_View 	@449
					location   	(-1569, -8)
					label      	(object SegLabel @452
					    Parent_View 	@451
					    location   	(1259, 1126)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+contentType"
					    pctDist    	0.208955
					    height     	140
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837E100FE"
					client     	@449
					supplier   	@433
					line_style 	3
					origin_attachment 	(1119, 1112)
					terminal_attachment 	(1119, 1179)
					label      	(object SegLabel @453
					    Parent_View 	@451
					    location   	(1063, 1126)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.208955
					    height     	57
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$103" @454
				location   	(1455, 982)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6851BA0126"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$104" @455
					Parent_View 	@454
					location   	(159, -570)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6851BB0150"
					client     	@454
					supplier   	@448
					line_style 	3
					origin_attachment 	(1455, 982)
					terminal_attachment 	(1280, 982))
				    (object RoleView "attributeWildcard" @456
					Parent_View 	@454
					location   	(159, -570)
					label      	(object SegLabel @457
					    Parent_View 	@456
					    location   	(1445, 929)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+attributeWildcard"
					    pctDist    	-0.062857
					    height     	54
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6851BB0151"
					client     	@454
					supplier   	@440
					line_style 	3
					origin_attachment 	(1455, 982)
					terminal_attachment 	(1630, 982)
					label      	(object SegLabel @458
					    Parent_View 	@456
					    location   	(1550, 1022)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.542857
					    height     	40
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$99" @459
				location   	(921, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683959006E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$100" @460
					Parent_View 	@459
					location   	(-871, -376)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6839590349"
					client     	@459
					supplier   	@448
					line_style 	3
					origin_attachment 	(921, 1208)
					terminal_attachment 	(921, 1045))
				    (object RoleView "attributeUses" @461
					Parent_View 	@459
					location   	(-871, -376)
					label      	(object SegLabel @462
					    Parent_View 	@461
					    location   	(778, 1251)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+attributeUses"
					    pctDist    	0.269939
					    height     	144
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683959034A"
					client     	@459
					supplier   	@441
					line_style 	3
					origin_attachment 	(921, 1208)
					terminal_attachment 	(921, 1371)
					label      	(object SegLabel @463
					    Parent_View 	@461
					    location   	(979, 1254)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.288344
					    height     	58
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @464
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 768)
				label      	(object ItemLabel
				    Parent_View 	@464
				    location   	(1122, 727)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	380
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	398
				height     	107
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @465
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 1632)
				label      	(object ItemLabel
				    Parent_View 	@465
				    location   	(1623, 1591)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	484
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @466
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 448)
				label      	(object ItemLabel
				    Parent_View 	@466
				    location   	(1803, 407)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	508
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$153" @467
				location   	(2216, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837AC025A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$154" @468
					Parent_View 	@467
					location   	(-552, -816)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0338"
					client     	@467
					supplier   	@466
					line_style 	3
					origin_attachment 	(2216, 608)
					terminal_attachment 	(2216, 501))
				    (object RoleView "modelGroup" @469
					Parent_View 	@467
					location   	(-552, -816)
					label      	(object SegLabel @470
					    Parent_View 	@469
					    location   	(2080, 628)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+modelGroup"
					    pctDist    	0.182609
					    height     	137
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0339"
					client     	@467
					supplier   	@434
					line_style 	3
					origin_attachment 	(2216, 608)
					terminal_attachment 	(2216, 715)
					label      	(object SegLabel @471
					    Parent_View 	@469
					    location   	(2256, 633)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.233645
					    height     	40
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @472
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1424)
				label      	(object ItemLabel
				    Parent_View 	@472
				    location   	(1619, 1383)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	556
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$83" @473
				location   	(1676, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6887BF0150"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$84" @474
					Parent_View 	@473
					location   	(412, -344)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6887C000A7"
					client     	@473
					supplier   	@472
					line_style 	3
					origin_attachment 	(1676, 1208)
					terminal_attachment 	(1676, 1371))
				    (object RoleView "attributeWildcard" @475
					Parent_View 	@473
					location   	(412, -344)
					label      	(object SegLabel @476
					    Parent_View 	@475
					    location   	(1857, 1106)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+attributeWildcard"
					    pctDist    	0.625767
					    height     	181
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6887C000A8"
					client     	@473
					supplier   	@440
					line_style 	3
					origin_attachment 	(1676, 1208)
					terminal_attachment 	(1676, 1045)
					label      	(object SegLabel @477
					    Parent_View 	@475
					    location   	(1618, 1108)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.619632
					    height     	59
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$79" @478
				location   	(1429, 1438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68359F0086"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$80" @479
					Parent_View 	@478
					location   	(-363, -146)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6835A00069"
					client     	@478
					supplier   	@472
					line_style 	3
					origin_attachment 	(1429, 1438)
					terminal_attachment 	(1610, 1438))
				    (object RoleView "attributeUses" @480
					Parent_View 	@478
					location   	(-363, -146)
					label      	(object SegLabel @481
					    Parent_View 	@480
					    location   	(1405, 1506)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+attributeUses"
					    pctDist    	0.132597
					    height     	68
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6835A0006A"
					client     	@478
					supplier   	@441
					line_style 	3
					origin_attachment 	(1429, 1438)
					terminal_attachment 	(1248, 1438)
					label      	(object SegLabel @482
					    Parent_View 	@480
					    location   	(1327, 1391)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.563536
					    height     	48
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @483
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 1424)
				label      	(object ItemLabel
				    Parent_View 	@483
				    location   	(183, 1383)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	484
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$87" @484
				location   	(777, 1425)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683585010D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$88" @485
					Parent_View 	@484
					location   	(-519, -367)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68358600FA"
					client     	@484
					supplier   	@441
					line_style 	3
					origin_attachment 	(777, 1425)
					terminal_attachment 	(896, 1425))
				    (object RoleView "attributeDeclaration" @486
					Parent_View 	@484
					location   	(-519, -367)
					label      	(object SegLabel @487
					    Parent_View 	@486
					    location   	(784, 1508)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+attributeDeclaration"
					    pctDist    	-0.059259
					    height     	83
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68358600FB"
					client     	@484
					supplier   	@483
					line_style 	3
					origin_attachment 	(777, 1425)
					terminal_attachment 	(658, 1425)
					label      	(object SegLabel @488
					    Parent_View 	@486
					    location   	(721, 1385)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.472441
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$71" @489
				location   	(237, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68356B02CB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$72" @490
					Parent_View 	@489
					location   	(-1043, 72)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68356D00A6"
					client     	@489
					supplier   	@483
					line_style 	3
					origin_attachment 	(237, 1208)
					terminal_attachment 	(237, 1371))
				    (object RoleView "typeDefinition" @491
					Parent_View 	@489
					location   	(-1043, 72)
					label      	(object SegLabel @492
					    Parent_View 	@491
					    location   	(388, 1247)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+typeDefinition"
					    pctDist    	-0.239264
					    height     	151
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68356D00A7"
					client     	@489
					supplier   	@442
					line_style 	3
					origin_attachment 	(237, 1208)
					terminal_attachment 	(237, 1045)
					label      	(object SegLabel @493
					    Parent_View 	@491
					    location   	(195, 1247)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.239264
					    height     	43
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @494
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@494
				    location   	(198, 743)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$93" @495
				location   	(728, 775)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833350340"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$94" @496
					Parent_View 	@495
					location   	(-856, -57)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683336028D"
					client     	@495
					supplier   	@448
					vertices   	(list Points
					    (728, 775)
					    (788, 775)
					    (788, 939))
					line_style 	3
					origin_attachment 	(728, 775)
					terminal_attachment 	(788, 939))
				    (object RoleView "baseTypeDefinition" @497
					Parent_View 	@495
					location   	(-856, -57)
					label      	(object SegLabel @498
					    Parent_View 	@497
					    location   	(558, 883)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+baseTypeDefinition"
					    pctDist    	1.140940
					    height     	108
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683336028E"
					client     	@495
					supplier   	@494
					line_style 	3
					origin_attachment 	(728, 775)
					terminal_attachment 	(579, 775)
					label      	(object SegLabel @499
					    Parent_View 	@497
					    location   	(750, 812)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.152439
					    height     	37
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @500
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 448)
				label      	(object ItemLabel
				    Parent_View 	@500
				    location   	(1017, 407)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	590
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	608
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$135" @501
				location   	(1629, 574)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69D29E014D"
				roleview_list 	(list RoleViews
				    (object RoleView "referencedKey" @502
					Parent_View 	@501
					location   	(-83, 94)
					label      	(object SegLabel @503
					    Parent_View 	@502
					    location   	(1761, 608)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+referencedKey"
					    pctDist    	-1.797297
					    height     	34
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69D2A80165"
					client     	@501
					supplier   	@500
					vertices   	(list Points
					    (1629, 574)
					    (1555, 574)
					    (1555, 501))
					line_style 	3
					origin_attachment 	(1629, 574)
					terminal_attachment 	(1555, 501)
					label      	(object SegLabel @504
					    Parent_View 	@502
					    location   	(1622, 539)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.047619
					    height     	36
					    orientation 	1))
				    (object RoleView "$UNNAMED$136" @505
					Parent_View 	@501
					location   	(-83, 94)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69D2A8016F"
					client     	@501
					supplier   	@500
					vertices   	(list Points
					    (1629, 574)
					    (1689, 574)
					    (1689, 444)
					    (1616, 444))
					line_style 	3
					origin_attachment 	(1629, 574)
					terminal_attachment 	(1616, 444))))
			    (object AssociationViewNew "$UNNAMED$139" @506
				location   	(1197, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D330025"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$140" @507
					Parent_View 	@506
					location   	(-115, 32)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330365"
					client     	@506
					supplier   	@500
					line_style 	3
					origin_attachment 	(1197, 608)
					terminal_attachment 	(1197, 501))
				    (object RoleView "fields" @508
					Parent_View 	@506
					location   	(-115, 32)
					label      	(object SegLabel @509
					    Parent_View 	@508
					    location   	(1119, 655)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	120
					    justify    	0
					    label      	"+fields"
					    pctDist    	0.439252
					    height     	78
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330379"
					client     	@506
					supplier   	@464
					line_style 	3
					origin_attachment 	(1197, 608)
					terminal_attachment 	(1197, 715)
					label      	(object SegLabel @510
					    Parent_View 	@508
					    location   	(1253, 654)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.429907
					    height     	56
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$137" @511
				location   	(1415, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D3D003E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$138" @512
					Parent_View 	@511
					location   	(103, 32)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E022A"
					client     	@511
					supplier   	@500
					line_style 	3
					origin_attachment 	(1415, 608)
					terminal_attachment 	(1415, 501))
				    (object RoleView "selector" @513
					Parent_View 	@511
					location   	(103, 32)
					label      	(object SegLabel @514
					    Parent_View 	@513
					    location   	(1513, 651)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+selector"
					    pctDist    	0.411215
					    height     	98
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E0234"
					client     	@511
					supplier   	@464
					line_style 	3
					origin_attachment 	(1415, 608)
					terminal_attachment 	(1415, 715)
					label      	(object SegLabel @515
					    Parent_View 	@513
					    location   	(1381, 650)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.392523
					    height     	34
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @516
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				location   	(1312, 160)
				label      	(object ItemLabel
				    Parent_View 	@516
				    location   	(1022, 68)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	581
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	599
				height     	209
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$181" @517
				location   	(2395, 606)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EEA7023E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$182" @518
					Parent_View 	@517
					location   	(-853, 174)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EEA8038A"
					client     	@517
					supplier   	@516
					vertices   	(list Points
					    (2395, 606)
					    (2395, 65)
					    (1611, 65))
					line_style 	3
					origin_attachment 	(2395, 606)
					terminal_attachment 	(1611, 65))
				    (object RoleView "notationDeclarations" @519
					Parent_View 	@517
					location   	(-853, 174)
					label      	(object SegLabel @520
					    Parent_View 	@519
					    location   	(2089, 104)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+notationDeclarations"
					    pctDist    	-0.489776
					    height     	307
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EEA8038B"
					client     	@517
					supplier   	@465
					vertices   	(list Points
					    (2395, 606)
					    (2395, 1633)
					    (2098, 1633))
					line_style 	3
					origin_attachment 	(2395, 606)
					terminal_attachment 	(2098, 1633)
					label      	(object SegLabel @521
					    Parent_View 	@519
					    location   	(2344, 105)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.487829
					    height     	52
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$177" @522
				location   	(1772, 249)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EEFF024F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$178" @523
					Parent_View 	@522
					location   	(-948, -327)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EF00025A"
					client     	@522
					supplier   	@516
					line_style 	3
					origin_attachment 	(1772, 249)
					terminal_attachment 	(1611, 249))
				    (object RoleView "modelGroupDefinitions" @524
					Parent_View 	@522
					location   	(-948, -327)
					label      	(object SegLabel @525
					    Parent_View 	@524
					    location   	(2076, 335)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	432
					    justify    	0
					    label      	"+modelGroupDefinitions"
					    pctDist    	0.713592
					    height     	244
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EF000264"
					client     	@522
					supplier   	@466
					vertices   	(list Points
					    (1772, 249)
					    (1832, 249)
					    (1832, 395))
					line_style 	3
					origin_attachment 	(1772, 249)
					terminal_attachment 	(1832, 395)
					label      	(object SegLabel @526
					    Parent_View 	@524
					    location   	(1781, 340)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.737864
					    height     	52
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$173" @527
				location   	(2346, 518)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE920216"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$174" @528
					Parent_View 	@527
					location   	(154, 86)
					label      	(object SegLabel @529
					    Parent_View 	@528
					    location   	(1872, 1857)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	-3.630072
					    height     	475
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE93018B"
					client     	@527
					supplier   	@516
					vertices   	(list Points
					    (2346, 518)
					    (2346, 149)
					    (1611, 149))
					line_style 	3
					origin_attachment 	(2346, 518)
					terminal_attachment 	(1611, 149))
				    (object RoleView "attributeGroupDefinitions" @530
					Parent_View 	@527
					location   	(154, 86)
					label      	(object SegLabel @531
					    Parent_View 	@530
					    location   	(2008, 195)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	468
					    justify    	0
					    label      	"+attributeGroupDefinitions"
					    pctDist    	-0.349946
					    height     	339
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE93018C"
					client     	@527
					supplier   	@472
					vertices   	(list Points
					    (2346, 518)
					    (2346, 1441)
					    (2166, 1441))
					line_style 	3
					origin_attachment 	(2346, 518)
					terminal_attachment 	(2166, 1441)
					label      	(object SegLabel @532
					    Parent_View 	@530
					    location   	(2299, 197)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.348862
					    height     	48
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$175" @533
				location   	(203, 159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE760049"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$176" @534
					Parent_View 	@533
					location   	(-485, -273)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE760374"
					client     	@533
					supplier   	@516
					line_style 	3
					origin_attachment 	(203, 159)
					terminal_attachment 	(1013, 159))
				    (object RoleView "typeDefinitions" @535
					Parent_View 	@533
					location   	(-485, -273)
					label      	(object SegLabel @536
					    Parent_View 	@535
					    location   	(349, 196)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+typeDefinitions"
					    pctDist    	-1.475728
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE76037E"
					client     	@533
					supplier   	@494
					vertices   	(list Points
					    (203, 159)
					    (104, 159)
					    (104, 784)
					    (189, 784))
					line_style 	3
					origin_attachment 	(203, 159)
					terminal_attachment 	(189, 784)
					label      	(object SegLabel @537
					    Parent_View 	@535
					    location   	(155, 200)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.059701
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$179" @538
				location   	(1087, 329)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFC2A1701ED"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$180" @539
					Parent_View 	@538
					location   	(-577, -23)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFC2A1A0273"
					client     	@538
					supplier   	@516
					line_style 	3
					origin_attachment 	(1087, 329)
					terminal_attachment 	(1087, 264))
				    (object RoleView "identityConstraintDefinitions" @540
					Parent_View 	@538
					location   	(-577, -23)
					label      	(object SegLabel @541
					    Parent_View 	@540
					    location   	(1375, 338)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+identityConstraintDefinitions"
					    pctDist    	0.130952
					    height     	288
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFC2A1A027D"
					client     	@538
					supplier   	@500
					line_style 	3
					origin_attachment 	(1087, 329)
					terminal_attachment 	(1087, 395)
					label      	(object SegLabel @542
					    Parent_View 	@540
					    location   	(1018, 336)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.107143
					    height     	70
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$171" @543
				location   	(48, 320)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66FDFA00C3"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$172" @544
					Parent_View 	@543
					location   	(-1072, -288)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66FDFB027D"
					client     	@543
					supplier   	@516
					vertices   	(list Points
					    (49, 322)
					    (49, 68)
					    (1013, 68))
					line_style 	3
					origin_attachment 	(49, 322)
					terminal_attachment 	(1013, 68))
				    (object RoleView "attributeDeclarations" @545
					Parent_View 	@543
					location   	(-1072, -288)
					label      	(object SegLabel @546
					    Parent_View 	@545
					    location   	(338, 106)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+attributeDeclarations"
					    pctDist    	-0.198536
					    height     	289
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66FDFB027E"
					client     	@543
					supplier   	@483
					vertices   	(list Points
					    (49, 322)
					    (49, 1415)
					    (174, 1415))
					line_style 	3
					origin_attachment 	(49, 322)
					terminal_attachment 	(174, 1415)
					label      	(object SegLabel @547
					    Parent_View 	@545
					    location   	(91, 108)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.196706
					    height     	42
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @548
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 448)
				label      	(object ItemLabel
				    Parent_View 	@548
				    location   	(175, 412)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	483
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	501
				height     	97
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$121" @549
				location   	(499, 589)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69C0590198"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$122" @550
					Parent_View 	@549
					location   	(-13, 109)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69C05D01E3"
					client     	@549
					supplier   	@548
					vertices   	(list Points
					    (499, 589)
					    (452, 589)
					    (452, 496))
					line_style 	3
					origin_attachment 	(499, 589)
					terminal_attachment 	(452, 496))
				    (object RoleView "substitutionGroupAffiliation" @551
					Parent_View 	@549
					location   	(-13, 109)
					label      	(object SegLabel @552
					    Parent_View 	@551
					    location   	(811, 585)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	504
					    justify    	0
					    label      	"+substitutionGroupAffiliation"
					    pctDist    	6.520833
					    height     	5
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69C05D01ED"
					client     	@549
					supplier   	@548
					vertices   	(list Points
					    (499, 589)
					    (547, 589)
					    (547, 496))
					line_style 	3
					origin_attachment 	(499, 589)
					terminal_attachment 	(547, 496)
					label      	(object SegLabel @553
					    Parent_View 	@551
					    location   	(499, 559)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.000000
					    height     	31
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$115" @554
				location   	(241, 613)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68338C0058"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$116" @555
					Parent_View 	@554
					location   	(-1343, -219)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68338C03BF"
					client     	@554
					supplier   	@548
					line_style 	3
					origin_attachment 	(241, 613)
					terminal_attachment 	(241, 496))
				    (object RoleView "typeDefinition" @556
					Parent_View 	@554
					location   	(-1343, -219)
					label      	(object SegLabel @557
					    Parent_View 	@556
					    location   	(408, 694)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+typeDefinition"
					    pctDist    	0.686441
					    height     	167
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68338C03C0"
					client     	@554
					supplier   	@494
					line_style 	3
					origin_attachment 	(241, 613)
					terminal_attachment 	(241, 731)
					label      	(object SegLabel @558
					    Parent_View 	@556
					    location   	(202, 685)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.610169
					    height     	39
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$117" @559
				location   	(837, 460)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833EF0160"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$118" @560
					Parent_View 	@559
					location   	(-1819, -68)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00298"
					client     	@559
					supplier   	@548
					line_style 	3
					origin_attachment 	(837, 460)
					terminal_attachment 	(666, 460))
				    (object RoleView "identityConstraintDefinitions" @561
					Parent_View 	@559
					location   	(-1819, -68)
					label      	(object SegLabel @562
					    Parent_View 	@561
					    location   	(880, 528)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+identityConstraintDefinitions"
					    pctDist    	0.251462
					    height     	68
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00299"
					client     	@559
					supplier   	@500
					line_style 	3
					origin_attachment 	(837, 460)
					terminal_attachment 	(1008, 460)
					label      	(object SegLabel @563
					    Parent_View 	@561
					    location   	(859, 407)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.130435
					    height     	54
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$169" @564
				location   	(541, 246)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE8D01BF"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$170" @565
					Parent_View 	@564
					location   	(-1123, -186)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE8E0198"
					client     	@564
					supplier   	@516
					line_style 	3
					origin_attachment 	(541, 246)
					terminal_attachment 	(1013, 246))
				    (object RoleView "elementDeclarations" @566
					Parent_View 	@564
					location   	(-1123, -186)
					label      	(object SegLabel @567
					    Parent_View 	@566
					    location   	(443, 335)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+elementDeclarations"
					    pctDist    	0.209302
					    height     	89
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE8E0199"
					client     	@564
					supplier   	@548
					vertices   	(list Points
					    (541, 246)
					    (224, 246)
					    (224, 400))
					line_style 	3
					origin_attachment 	(541, 246)
					terminal_attachment 	(224, 400)
					label      	(object SegLabel @568
					    Parent_View 	@566
					    location   	(186, 335)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.864693
					    height     	39
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$123" @569
				location   	(353, 621)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C42DBDD0297"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$124" @570
					Parent_View 	@569
					location   	(-63, 173)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C42DBE0011E"
					client     	@569
					supplier   	@548
					vertices   	(list Points
					    (353, 621)
					    (306, 621)
					    (306, 496))
					line_style 	3
					origin_attachment 	(353, 621)
					terminal_attachment 	(306, 496))
				    (object RoleView "substitutionGroup" @571
					Parent_View 	@569
					location   	(-63, 173)
					label      	(object SegLabel @572
					    Parent_View 	@571
					    location   	(579, 636)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+substitutionGroup"
					    pctDist    	4.808511
					    height     	15
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C42DBE00128"
					client     	@569
					supplier   	@548
					vertices   	(list Points
					    (353, 621)
					    (400, 621)
					    (400, 496))
					line_style 	3
					origin_attachment 	(353, 621)
					terminal_attachment 	(400, 496)
					label      	(object SegLabel @573
					    Parent_View 	@571
					    location   	(350, 583)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.069767
					    height     	39
					    orientation 	0))))))
		    (object ClassDiagram "3. Component Attributes  (Part 1 : Structures)"
			quid       	"3B69E78602C5"
			title      	"3. Component Attributes  (Part 1 : Structures)"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @574
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 128)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@574
				    location   	(46, 47)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	516
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				compartment 	(object Compartment
				    Parent_View 	@574
				    location   	(46, 107)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	482
				    compartmentItems 	(list Compartment
					"+ name : String"
					"+ targetNamespace : String"))
				width      	534
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @575
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 1648)
				label      	(object ItemLabel
				    Parent_View 	@575
				    location   	(41, 1567)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	512
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @576
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2368, 1680)
				label      	(object ItemLabel
				    Parent_View 	@576
				    location   	(1781, 1524)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1174
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				compartment 	(object Compartment
				    Parent_View 	@576
				    location   	(1781, 1584)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	5
				    max_width  	1139
				    compartmentItems 	(list Compartment
					"+ derivationMethod : XSDDerivationMethod = restriction"
					"<<0..*>> + final : XSDComplexFinal"
					"+ abstract : boolean"
					"+ contentTypeCategory : XSDContentTypeCategory"
					"<<0..*>> + prohibitedSubstitutions : XSDProhibitedSubstitutions"))
				width      	1192
				height     	336
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @577
				location   	(463, 362)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@574
				vertices   	(list Points
				    (463, 362)
				    (463, 221)))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @578
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 1600)
				label      	(object ItemLabel
				    Parent_View 	@578
				    location   	(1094, 1519)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	628
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@578
				    location   	(1094, 1579)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	592
				    compartmentItems 	(list Compartment
					"+ variety : XSDVariety"
					"<<0..*>> + final : XSDSimpleFinal"))
				width      	646
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @579
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(912, 144)
				label      	(object ItemLabel
				    Parent_View 	@579
				    location   	(647, 38)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	530
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				compartment 	(object Compartment
				    Parent_View 	@579
				    location   	(647, 98)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	502
				    compartmentItems 	(list Compartment
					"+ required : boolean"
					"+ value : Value"
					"+ constraint : XSDConstraint"))
				width      	548
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @580
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 1936)
				label      	(object ItemLabel
				    Parent_View 	@580
				    location   	(45, 1830)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1286
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				compartment 	(object Compartment
				    Parent_View 	@580
				    location   	(45, 1890)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	1260
				    compartmentItems 	(list Compartment
					"+ namespaceConstraintCategory : XSDNamespaceConstraintCategory"
					"<<0..*>> + namespaceConstraint : String"
					"+ processContents : XSDProcessContents"))
				width      	1304
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @581
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(336, 1440)
				label      	(object ItemLabel
				    Parent_View 	@581
				    location   	(47, 1384)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	578
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	596
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @582
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 512)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@582
				    location   	(36, 431)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				compartment 	(object Compartment
				    Parent_View 	@582
				    location   	(36, 491)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	506
				    compartmentItems 	(list Compartment
					"+ value : Value"
					"+ constraint : XSDConstraint"))
				width      	554
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @583
				location   	(294, 697)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@582
				vertices   	(list Points
				    (294, 697)
				    (294, 605)))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @584
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2256, 128)
				label      	(object ItemLabel
				    Parent_View 	@584
				    location   	(1995, 47)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	522
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	540
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @585
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2688, 512)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@585
				    location   	(2418, 460)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	558
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @586
				location   	(2684, 962)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@585
				vertices   	(list Points
				    (2684, 962)
				    (2684, 576)))
			    (object ClassView "Class" "Logical View::xsd::XSDCompositor" @587
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1200)
				label      	(object ItemLabel
				    Parent_View 	@587
				    location   	(45, 1116)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDCompositor")
				stereotype 	(object ItemLabel
				    Parent_View 	@587
				    location   	(45, 1066)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B869B620037"
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConstraint" @588
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 528)
				label      	(object ItemLabel
				    Parent_View 	@588
				    location   	(638, 469)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDConstraint")
				stereotype 	(object ItemLabel
				    Parent_View 	@588
				    location   	(638, 419)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B869E2601AE"
				width      	342
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDerivationMethod" @589
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2192, 2272)
				label      	(object ItemLabel
				    Parent_View 	@589
				    location   	(1980, 2213)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"XSDDerivationMethod")
				stereotype 	(object ItemLabel
				    Parent_View 	@589
				    location   	(1980, 2163)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B86A0B000CE"
				width      	442
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintCategory" @590
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1584, 176)
				label      	(object ItemLabel
				    Parent_View 	@590
				    location   	(1281, 88)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	607
				    justify    	0
				    label      	"XSDIdentityConstraintCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@590
				    location   	(1281, 38)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	607
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B86A1E00272"
				width      	625
				height     	300
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDContentTypeCategory" @591
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2704, 2224)
				label      	(object ItemLabel
				    Parent_View 	@591
				    location   	(2456, 2115)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	496
				    justify    	0
				    label      	"XSDContentTypeCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@591
				    location   	(2456, 2065)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	496
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B86A79F03A2"
				width      	514
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDVariety" @592
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 1600)
				label      	(object ItemLabel
				    Parent_View 	@592
				    location   	(708, 1516)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"XSDVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@592
				    location   	(708, 1466)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FF7730249"
				width      	362
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProcessContents" @593
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(976, 2240)
				label      	(object ItemLabel
				    Parent_View 	@593
				    location   	(766, 2156)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDProcessContents")
				stereotype 	(object ItemLabel
				    Parent_View 	@593
				    location   	(766, 2106)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FF8C70284"
				width      	438
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathVariety" @594
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2768, 160)
				label      	(object ItemLabel
				    Parent_View 	@594
				    location   	(2587, 97)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	363
				    justify    	0
				    label      	"XSDXPathVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@594
				    location   	(2587, 47)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	363
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FFB89033A"
				width      	381
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @595
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 1872)
				label      	(object ItemLabel
				    Parent_View 	@595
				    location   	(1389, 1788)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@595
				    location   	(1389, 1738)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C25D0295"
				compartment 	(object Compartment
				    Parent_View 	@595
				    location   	(1389, 1848)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	199
				    compartmentItems 	(list Compartment
					"+ list"
					"+ restriction"
					"+ union"))
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @596
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 2000)
				label      	(object ItemLabel
				    Parent_View 	@596
				    location   	(1786, 1941)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"XSDComplexFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@596
				    location   	(1786, 1891)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C2CA01CB"
				compartment 	(object Compartment
				    Parent_View 	@596
				    location   	(1786, 2001)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	202
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"))
				width      	382
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSubstitutionGroupExclusions" @597
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 1184)
				label      	(object ItemLabel
				    Parent_View 	@597
				    location   	(485, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	630
				    justify    	0
				    label      	"XSDSubstitutionGroupExclusions")
				stereotype 	(object ItemLabel
				    Parent_View 	@597
				    location   	(485, 1075)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	630
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C59100AE"
				width      	648
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDisallowedSubstitutions" @598
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1440, 1200)
				label      	(object ItemLabel
				    Parent_View 	@598
				    location   	(1171, 1116)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDDisallowedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@598
				    location   	(1171, 1066)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5A403DF"
				compartment 	(object Compartment
				    Parent_View 	@598
				    location   	(1171, 1176)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	236
				    compartmentItems 	(list Compartment
					"+ substitution"
					"+ extension"
					"+ restriction"))
				width      	556
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @599
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1664, 2272)
				label      	(object ItemLabel
				    Parent_View 	@599
				    location   	(1398, 2213)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDProhibitedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@599
				    location   	(1398, 2163)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5BE0272"
				compartment 	(object Compartment
				    Parent_View 	@599
				    location   	(1398, 2273)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	202
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"))
				width      	550
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNamespaceConstraintCategory" @600
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 2240)
				label      	(object ItemLabel
				    Parent_View 	@600
				    location   	(45, 2154)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	678
				    justify    	0
				    label      	"XSDNamespaceConstraintCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@600
				    location   	(45, 2104)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	678
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5EA0023"
				width      	696
				height     	296
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @601
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1264, 880)
				label      	(object ItemLabel
				    Parent_View 	@601
				    location   	(571, 749)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1386
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				compartment 	(object Compartment
				    Parent_View 	@601
				    location   	(571, 809)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	1357
				    compartmentItems 	(list Compartment
					"+ nillable : boolean"
					"<<0..*>> + disallowedSubstitutions : XSDDisallowedSubstitutions"
					"<<0..*>> + substitutionGroupExclusions : XSDSubstitutionGroupExclusions"
					"+ abstract : boolean"))
				width      	1404
				height     	286
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @602
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@601
				supplier   	@582
				line_style 	3
				origin_attachment 	(681, 737)
				terminal_attachment 	(681, 697)
				drawSupplier 	@583)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @603
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 864)
				label      	(object ItemLabel
				    Parent_View 	@603
				    location   	(35, 812)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	474
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	492
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @604
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2688, 1152)
				label      	(object ItemLabel
				    Parent_View 	@604
				    location   	(2420, 1100)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	554
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @605
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@604
				supplier   	@585
				line_style 	3
				origin_attachment 	(2862, 1088)
				terminal_attachment 	(2862, 962)
				drawSupplier 	@586)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @606
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2352, 1312)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@606
				    location   	(2168, 1261)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	368
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	386
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @607
				location   	(2375, 1465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@606
				vertices   	(list Points
				    (2375, 1465)
				    (2375, 1375)))
			    (object InheritView "" @608
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@606
				supplier   	@585
				line_style 	3
				origin_attachment 	(2368, 1249)
				terminal_attachment 	(2368, 962)
				drawSupplier 	@586)
			    (object InheritView "" @609
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@576
				supplier   	@606
				line_style 	3
				origin_attachment 	(2818, 1512)
				terminal_attachment 	(2818, 1465)
				drawSupplier 	@607)
			    (object InheritView "" @610
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@578
				supplier   	@606
				line_style 	3
				origin_attachment 	(1406, 1507)
				terminal_attachment 	(1406, 1465)
				drawSupplier 	@607)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @611
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 1152)
				label      	(object ItemLabel
				    Parent_View 	@611
				    location   	(1818, 1101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	510
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @612
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@611
				supplier   	@585
				line_style 	3
				origin_attachment 	(2115, 1089)
				terminal_attachment 	(2115, 962)
				drawSupplier 	@586)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @613
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 528)
				label      	(object ItemLabel
				    Parent_View 	@613
				    location   	(1034, 468)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1132
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	1150
				height     	144
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @614
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684AA30242"
				client     	@613
				supplier   	@574
				line_style 	3
				origin_attachment 	(1568, 456)
				terminal_attachment 	(1568, 362)
				drawSupplier 	@577)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @615
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 784)
				label      	(object ItemLabel
				    Parent_View 	@615
				    location   	(2078, 703)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	484
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	502
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @616
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 320)
				label      	(object ItemLabel
				    Parent_View 	@616
				    location   	(43, 268)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	266
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	284
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @617
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68494302F1"
				client     	@615
				supplier   	@574
				line_style 	3
				origin_attachment 	(2290, 691)
				terminal_attachment 	(2290, 362)
				drawSupplier 	@577)
			    (object InheritView "" @618
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@603
				supplier   	@582
				line_style 	3
				origin_attachment 	(141, 800)
				terminal_attachment 	(141, 697)
				drawSupplier 	@583)
			    (object InheritView "" @619
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@582
				supplier   	@574
				line_style 	3
				origin_attachment 	(372, 419)
				terminal_attachment 	(372, 362)
				drawSupplier 	@577)
			    (object InheritView "" @620
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@585
				supplier   	@574
				line_style 	3
				origin_attachment 	(2687, 448)
				terminal_attachment 	(2687, 362)
				drawSupplier 	@577)))
		    (object ClassDiagram "4. Component Hierarchy, Relations and Attributes (Part 2: Datatypes)"
			quid       	"3B6C3265005F"
			title      	"4. Component Hierarchy, Relations and Attributes (Part 2: Datatypes)"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDFixedFacet" @621
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 896)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@621
				    location   	(32, 840)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	320
				    justify    	0
				    label      	"XSDFixedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C699E00C1"
				width      	338
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRepeatableFacet" @622
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(720, 896)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@622
				    location   	(504, 845)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	432
				    justify    	0
				    label      	"XSDRepeatableFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6AA6031A"
				width      	450
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDEnumerationFacet" @623
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 1168)
				label      	(object ItemLabel
				    Parent_View 	@623
				    location   	(266, 1112)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	460
				    justify    	0
				    label      	"XSDEnumerationFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ACE0141"
				width      	478
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDPatternFacet" @624
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1008, 1168)
				label      	(object ItemLabel
				    Parent_View 	@624
				    location   	(777, 1112)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDPatternFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ADB026C"
				width      	480
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @625
				location   	(718, 1049)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@622
				vertices   	(list Points
				    (718, 1049)
				    (718, 959)))
			    (object ClassView "Class" "Logical View::xsd::XSDOrderedFacet" @626
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 928)
				label      	(object ItemLabel
				    Parent_View 	@626
				    location   	(1799, 872)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"XSDOrderedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C74DD0248"
				width      	420
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDBoundedFacet" @627
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 928)
				label      	(object ItemLabel
				    Parent_View 	@627
				    location   	(1383, 872)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	370
				    justify    	0
				    label      	"XSDBoundedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C751D0344"
				width      	388
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDCardinalityFacet" @628
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2032, 1104)
				label      	(object ItemLabel
				    Parent_View 	@628
				    location   	(1807, 1048)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	450
				    justify    	0
				    label      	"XSDCardinalityFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C755D03D2"
				width      	468
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNumericFacet" @629
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1504, 1104)
				label      	(object ItemLabel
				    Parent_View 	@629
				    location   	(1319, 1049)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	370
				    justify    	0
				    label      	"XSDNumericFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C75950206"
				width      	388
				height     	134
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDLengthFacet" @630
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(656, 1376)
				label      	(object ItemLabel
				    Parent_View 	@630
				    location   	(491, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	330
				    justify    	0
				    label      	"XSDLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C776200E7"
				width      	348
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinLengthFacet" @631
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(608, 1552)
				label      	(object ItemLabel
				    Parent_View 	@631
				    location   	(405, 1497)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDMinLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C778C0065"
				width      	424
				height     	134
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @632
				location   	(144, 1262)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@621
				vertices   	(list Points
				    (144, 1262)
				    (144, 964)))
			    (object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @633
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1216, 1552)
				label      	(object ItemLabel
				    Parent_View 	@633
				    location   	(1007, 1497)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDMaxLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C77C70146"
				width      	436
				height     	134
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpaceFacet" @634
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1120, 1376)
				label      	(object ItemLabel
				    Parent_View 	@634
				    location   	(880, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	480
				    justify    	0
				    label      	"XSDWhiteSpaceFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C784601B7"
				width      	498
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxInclusiveFacet" @635
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 1728)
				label      	(object ItemLabel
				    Parent_View 	@635
				    location   	(1090, 1676)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDMaxInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C787D00DA"
				width      	462
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxExclusiveFacet" @636
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 1904)
				label      	(object ItemLabel
				    Parent_View 	@636
				    location   	(1193, 1852)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDMaxExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C789600C2"
				width      	480
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinInclusiveFacet" @637
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 1728)
				label      	(object ItemLabel
				    Parent_View 	@637
				    location   	(282, 1676)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	428
				    justify    	0
				    label      	"XSDMinInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C788702C9"
				width      	446
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinExclusiveFacet" @638
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1904)
				label      	(object ItemLabel
				    Parent_View 	@638
				    location   	(124, 1852)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	456
				    justify    	0
				    label      	"XSDMinExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C792D000A"
				width      	474
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTotalDigitsFacet" @639
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 2112)
				label      	(object ItemLabel
				    Parent_View 	@639
				    location   	(52, 2056)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	408
				    justify    	0
				    label      	"XSDTotalDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79A0020E"
				width      	426
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFractionDigitsFacet" @640
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 2112)
				label      	(object ItemLabel
				    Parent_View 	@640
				    location   	(1318, 2056)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDFractionDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79BE02EE"
				width      	486
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @641
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C9D03C7"
				client     	@623
				supplier   	@622
				line_style 	3
				origin_attachment 	(394, 1100)
				terminal_attachment 	(394, 1049)
				drawSupplier 	@625)
			    (object InheritView "" @642
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C78620045"
				client     	@634
				supplier   	@621
				line_style 	3
				origin_attachment 	(1119, 1308)
				terminal_attachment 	(1119, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @643
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(336, 160)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@643
				    location   	(174, 117)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	342
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @644
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6CA5038D"
				client     	@624
				supplier   	@622
				line_style 	3
				origin_attachment 	(1044, 1100)
				terminal_attachment 	(1044, 1049)
				drawSupplier 	@625)
			    (object InheritView "" @645
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C778002DF"
				client     	@630
				supplier   	@621
				line_style 	3
				origin_attachment 	(663, 1308)
				terminal_attachment 	(663, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDOrdered" @646
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 1408)
				label      	(object ItemLabel
				    Parent_View 	@646
				    location   	(1835, 1324)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDOrdered")
				stereotype 	(object ItemLabel
				    Parent_View 	@646
				    location   	(1835, 1274)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BC7715202E4"
				width      	444
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDCardinality" @647
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 1728)
				label      	(object ItemLabel
				    Parent_View 	@647
				    location   	(1835, 1669)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDCardinality")
				stereotype 	(object ItemLabel
				    Parent_View 	@647
				    location   	(1835, 1619)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BC7715D009B"
				width      	444
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpace" @648
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 2032)
				label      	(object ItemLabel
				    Parent_View 	@648
				    location   	(1861, 1951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDWhiteSpace")
				stereotype 	(object ItemLabel
				    Parent_View 	@648
				    location   	(1861, 1901)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BEED0F60342"
				width      	424
				height     	287
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::Value" @649
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 2096)
				label      	(object ItemLabel
				    Parent_View 	@649
				    location   	(571, 2062)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	618
				    justify    	0
				    label      	"Value")
				stereotype 	(object ItemLabel
				    Parent_View 	@649
				    location   	(571, 2012)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	618
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3C040B5B031F"
				width      	636
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @650
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B610337"
				client     	@639
				supplier   	@621
				line_style 	3
				origin_attachment 	(75, 2044)
				terminal_attachment 	(75, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDMinFacet" @651
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 1376)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@651
				    location   	(113, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	286
				    justify    	0
				    label      	"XSDMinFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CDE037C"
				compartment 	(object Compartment
				    Parent_View 	@651
				    location   	(113, 1380)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	254
				    compartmentItems 	(list Compartment
					"+ value : Value"))
				width      	304
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxFacet" @652
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1584, 1376)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@652
				    location   	(1440, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	288
				    justify    	0
				    label      	"XSDMaxFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CEB010E"
				compartment 	(object Compartment
				    Parent_View 	@652
				    location   	(1440, 1380)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	258
				    compartmentItems 	(list Compartment
					"+ value : Value"))
				width      	306
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @653
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C0A1D240098"
				client     	@651
				supplier   	@621
				line_style 	3
				origin_attachment 	(235, 1308)
				terminal_attachment 	(235, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @654
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C0A1D3103AD"
				client     	@652
				supplier   	@621
				line_style 	3
				origin_attachment 	(1581, 1308)
				terminal_attachment 	(1581, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @655
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B520353"
				client     	@637
				supplier   	@651
				line_style 	3
				origin_attachment 	(285, 1664)
				terminal_attachment 	(285, 1444))
			    (object InheritView "" @656
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B8303B8"
				client     	@635
				supplier   	@652
				line_style 	3
				origin_attachment 	(1500, 1664)
				terminal_attachment 	(1500, 1444))
			    (object InheritView "" @657
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B8E0309"
				client     	@636
				supplier   	@652
				line_style 	3
				origin_attachment 	(1622, 1840)
				terminal_attachment 	(1622, 1444))
			    (object InheritView "" @658
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C77C400C0"
				client     	@631
				supplier   	@621
				line_style 	3
				origin_attachment 	(447, 1485)
				terminal_attachment 	(447, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @659
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B7D00FC"
				client     	@633
				supplier   	@621
				line_style 	3
				origin_attachment 	(1397, 1485)
				terminal_attachment 	(1397, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @660
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B990016"
				client     	@640
				supplier   	@621
				line_style 	3
				origin_attachment 	(1775, 2044)
				terminal_attachment 	(1775, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @661
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 368)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@661
				    location   	(174, 318)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	388
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				width      	406
				height     	125
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @662
				location   	(366, 522)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@661
				vertices   	(list Points
				    (366, 522)
				    (366, 430)))
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @663
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@663
				    location   	(34, 573)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDConstrainingFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6B340093"
				width      	462
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @664
				location   	(272, 781)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@663
				vertices   	(list Points
				    (272, 781)
				    (272, 687)))
			    (object InheritView "" @665
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8F002E"
				client     	@622
				supplier   	@663
				line_style 	3
				origin_attachment 	(594, 833)
				terminal_attachment 	(594, 781)
				drawSupplier 	@664)
			    (object ClassView "Class" "Logical View::xsd::XSDFundamentalFacet" @666
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(752, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@666
				    location   	(526, 573)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	452
				    justify    	0
				    label      	"XSDFundamentalFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C69E801D6"
				width      	470
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @667
				location   	(768, 789)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@666
				vertices   	(list Points
				    (768, 789)
				    (768, 687)))
			    (object InheritView "" @668
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7659012C"
				client     	@626
				supplier   	@666
				line_style 	3
				origin_attachment 	(2050, 860)
				terminal_attachment 	(2050, 789)
				drawSupplier 	@667)
			    (object InheritView "" @669
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C763C0224"
				client     	@627
				supplier   	@666
				line_style 	3
				origin_attachment 	(1525, 860)
				terminal_attachment 	(1525, 789)
				drawSupplier 	@667)
			    (object InheritView "" @670
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C764F0131"
				client     	@628
				supplier   	@666
				line_style 	3
				origin_attachment 	(2237, 1036)
				terminal_attachment 	(2237, 789)
				drawSupplier 	@667)
			    (object InheritView "" @671
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C76420074"
				client     	@629
				supplier   	@666
				line_style 	3
				origin_attachment 	(1328, 1037)
				terminal_attachment 	(1328, 789)
				drawSupplier 	@667)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @672
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1456, 160)
				label      	(object ItemLabel
				    Parent_View 	@672
				    location   	(1137, 47)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	638
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@672
				    location   	(1137, 107)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	598
				    compartmentItems 	(list Compartment
					"+ variety : XSDVariety"
					"<<0..*>> + final : XSDSimpleFinal"))
				width      	656
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$127" @673
				location   	(775, 178)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D597102EA"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$128" @674
					Parent_View 	@673
					location   	(-1209, -46)
					label      	(object SegLabel @675
					    Parent_View 	@674
					    location   	(509, 235)
					    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      	"3B6D59750119"
					client     	@673
					supplier   	@661
					vertices   	(list Points
					    (775, 178)
					    (550, 178)
					    (550, 306))
					line_style 	3
					origin_attachment 	(775, 178)
					terminal_attachment 	(550, 306))
				    (object RoleView "simpleTypeDefinition" @676
					Parent_View 	@673
					location   	(-1209, -46)
					label      	(object SegLabel @677
					    Parent_View 	@676
					    location   	(875, 136)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+simpleTypeDefinition"
					    pctDist    	0.283133
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D59750105"
					client     	@673
					supplier   	@672
					line_style 	3
					origin_attachment 	(775, 178)
					terminal_attachment 	(1128, 178)
					label      	(object SegLabel @678
					    Parent_View 	@676
					    location   	(1061, 215)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.812500
					    height     	37
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$189" @679
				location   	(369, 72)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BC8AE0203A8"
				roleview_list 	(list RoleViews
				    (object RoleView "facets" @680
					Parent_View 	@679
					location   	(-1615, -152)
					label      	(object SegLabel @681
					    Parent_View 	@680
					    location   	(187, 496)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+facets"
					    pctDist    	0.913863
					    height     	87
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BC8AE060065"
					client     	@679
					supplier   	@663
					vertices   	(list Points
					    (369, 72)
					    (100, 72)
					    (100, 561))
					line_style 	3
					origin_attachment 	(369, 72)
					terminal_attachment 	(100, 561)
					label      	(object SegLabel @682
					    Parent_View 	@680
					    location   	(60, 498)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.917900
					    height     	41
					    orientation 	1))
				    (object RoleView "$UNNAMED$190" @683
					Parent_View 	@679
					location   	(-1615, -152)
					label      	(object SegLabel @684
					    Parent_View 	@683
					    location   	(976, 31)
					    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      	"3BC8AE060051"
					client     	@679
					supplier   	@672
					line_style 	3
					origin_attachment 	(369, 72)
					terminal_attachment 	(1128, 72))))
			    (object AssociationViewNew "$UNNAMED$231" @685
				location   	(1538, 508)
				label      	(object SegLabel @686
				    Parent_View 	@685
				    location   	(1538, 449)
				    font       	(object Font
					italics    	TRUE)
				    hidden     	TRUE
				    anchor     	1
				    anchor_loc 	1
				    nlines     	1
				    max_width  	60
				    justify    	0
				    label      	""
				    pctDist    	0.500000
				    height     	60
				    orientation 	0)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C276DA000DE"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$232" @687
					Parent_View 	@685
					location   	(-446, 284)
					label      	(object SegLabel @688
					    Parent_View 	@687
					    location   	(1446, 340)
					    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      	"3C276DA000DF"
					client     	@685
					supplier   	@672
					vertices   	(list Points
					    (1538, 508)
					    (1487, 508)
					    (1487, 285))
					line_style 	3
					origin_attachment 	(1538, 508)
					terminal_attachment 	(1487, 285))
				    (object RoleView "itemTypeDefinition" @689
					Parent_View 	@685
					location   	(-446, 284)
					label      	(object SegLabel @690
					    Parent_View 	@689
					    location   	(1423, 577)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+itemTypeDefinition"
					    pctDist    	-2.211539
					    height     	69
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C276DA000E0"
					client     	@685
					supplier   	@672
					vertices   	(list Points
					    (1538, 508)
					    (1590, 508)
					    (1590, 285))
					line_style 	3
					origin_attachment 	(1538, 508)
					terminal_attachment 	(1590, 285)
					label      	(object SegLabel @691
					    Parent_View 	@689
					    location   	(1539, 468)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.003984
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$191" @692
				location   	(1729, 574)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C34B70208"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$192" @693
					Parent_View 	@692
					location   	(-255, 350)
					label      	(object SegLabel @694
					    Parent_View 	@693
					    location   	(1637, 353)
					    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      	"3B6C34BE0258"
					client     	@692
					supplier   	@672
					vertices   	(list Points
					    (1729, 574)
					    (1678, 574)
					    (1678, 285))
					line_style 	3
					origin_attachment 	(1729, 574)
					terminal_attachment 	(1678, 285))
				    (object RoleView "memberTypeDefinitions" @695
					Parent_View 	@692
					location   	(-255, 350)
					label      	(object SegLabel @696
					    Parent_View 	@695
					    location   	(1559, 654)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	444
					    justify    	0
					    label      	"+memberTypeDefinitions"
					    pctDist    	-3.269231
					    height     	80
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C34BE0259"
					client     	@692
					supplier   	@672
					vertices   	(list Points
					    (1729, 574)
					    (1781, 574)
					    (1781, 285))
					line_style 	3
					origin_attachment 	(1729, 574)
					terminal_attachment 	(1781, 285)
					label      	(object SegLabel @697
					    Parent_View 	@695
					    location   	(1730, 520)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.312121
					    height     	52
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$193" @698
				location   	(748, 269)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C363201DB"
				roleview_list 	(list RoleViews
				    (object RoleView "fundamentalFacets" @699
					Parent_View 	@698
					location   	(-1236, 45)
					label      	(object SegLabel @700
					    Parent_View 	@699
					    location   	(873, 312)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+fundamentalFacets"
					    pctDist    	-1.409091
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C36350063"
					client     	@698
					supplier   	@666
					vertices   	(list Points
					    (748, 269)
					    (659, 269)
					    (659, 561))
					line_style 	3
					origin_attachment 	(748, 269)
					terminal_attachment 	(659, 561)
					label      	(object SegLabel @701
					    Parent_View 	@699
					    location   	(728, 385)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.538028
					    height     	69
					    orientation 	0))
				    (object RoleView "$UNNAMED$194" @702
					Parent_View 	@698
					location   	(-1236, 45)
					label      	(object SegLabel @703
					    Parent_View 	@702
					    location   	(1052, 228)
					    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      	"3B6C36350059"
					client     	@698
					supplier   	@672
					line_style 	3
					origin_attachment 	(748, 269)
					terminal_attachment 	(1128, 269))))
			    (object AssociationViewNew "$UNNAMED$195" @704
				location   	(1175, 396)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D35AB0273"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$196" @705
					Parent_View 	@704
					location   	(-809, 172)
					label      	(object SegLabel @706
					    Parent_View 	@705
					    location   	(1094, 316)
					    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      	"3B6D35B20291"
					client     	@704
					supplier   	@672
					vertices   	(list Points
					    (1175, 396)
					    (1135, 396)
					    (1135, 285))
					line_style 	3
					origin_attachment 	(1175, 396)
					terminal_attachment 	(1135, 285))
				    (object RoleView "baseTypeDefinition" @707
					Parent_View 	@704
					location   	(-809, 172)
					label      	(object SegLabel @708
					    Parent_View 	@707
					    location   	(1074, 443)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+baseTypeDefinition"
					    pctDist    	-2.533333
					    height     	47
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B202A5"
					client     	@704
					supplier   	@672
					vertices   	(list Points
					    (1175, 396)
					    (1215, 396)
					    (1215, 285))
					line_style 	3
					origin_attachment 	(1175, 396)
					terminal_attachment 	(1215, 285)
					label      	(object SegLabel @709
					    Parent_View 	@707
					    location   	(1172, 359)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.096154
					    height     	38
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$197" @710
				location   	(1360, 446)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D5572016C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$198" @711
					Parent_View 	@710
					location   	(-624, 222)
					label      	(object SegLabel @712
					    Parent_View 	@711
					    location   	(1268, 327)
					    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      	"3B6D5575022F"
					client     	@710
					supplier   	@672
					vertices   	(list Points
					    (1360, 446)
					    (1309, 446)
					    (1309, 285))
					line_style 	3
					origin_attachment 	(1360, 446)
					terminal_attachment 	(1309, 285))
				    (object RoleView "primitiveTypeDefinition" @713
					Parent_View 	@710
					location   	(-624, 222)
					label      	(object SegLabel @714
					    Parent_View 	@713
					    location   	(1204, 508)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	432
					    justify    	0
					    label      	"+primitiveTypeDefinition"
					    pctDist    	-3.000000
					    height     	62
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D55750243"
					client     	@710
					supplier   	@672
					vertices   	(list Points
					    (1360, 446)
					    (1412, 446)
					    (1412, 285))
					line_style 	3
					origin_attachment 	(1360, 446)
					terminal_attachment 	(1412, 285)
					label      	(object SegLabel @715
					    Parent_View 	@713
					    location   	(1373, 409)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.062147
					    height     	38
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @716
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 512)
				label      	(object ItemLabel
				    Parent_View 	@716
				    location   	(1917, 428)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@716
				    location   	(1917, 378)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C25D0295"
				compartment 	(object Compartment
				    Parent_View 	@716
				    location   	(1917, 488)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	3
				    max_width  	202
				    compartmentItems 	(list Compartment
					"+ list"
					"+ restriction"
					"+ union"))
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDVariety" @717
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 176)
				label      	(object ItemLabel
				    Parent_View 	@717
				    location   	(1918, 92)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@717
				    location   	(1918, 42)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FF7730249"
				width      	342
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @718
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C7B0396"
				client     	@666
				supplier   	@661
				line_style 	3
				origin_attachment 	(591, 561)
				terminal_attachment 	(591, 522)
				drawSupplier 	@662)
			    (object InheritView "" @719
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C800394"
				client     	@663
				supplier   	@661
				line_style 	3
				origin_attachment 	(272, 561)
				terminal_attachment 	(272, 522)
				drawSupplier 	@662)
			    (object InheritView "" @720
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D25680259"
				client     	@661
				supplier   	@643
				line_style 	3
				origin_attachment 	(366, 306)
				terminal_attachment 	(366, 215))
			    (object InheritView "" @721
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8801B4"
				client     	@621
				supplier   	@663
				line_style 	3
				origin_attachment 	(147, 828)
				terminal_attachment 	(147, 781)
				drawSupplier 	@664)
			    (object InheritView "" @722
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B590281"
				client     	@638
				supplier   	@651
				line_style 	3
				origin_attachment 	(150, 1840)
				terminal_attachment 	(150, 1444))))
		    (object ClassDiagram "5. Component Annotations"
			quid       	"3B69D68D00D2"
			title      	"5. Component Annotations"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @723
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 80)
				label      	(object ItemLabel
				    Parent_View 	@723
				    location   	(88, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	336
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	354
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @724
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1696)
				label      	(object ItemLabel
				    Parent_View 	@724
				    location   	(82, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @725
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1872, 1504)
				label      	(object ItemLabel
				    Parent_View 	@725
				    location   	(1626, 1461)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	510
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @726
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 304)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@726
				    location   	(1663, 261)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	450
				    justify    	0
				    label      	"XSDConstrainingFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6B340093"
				width      	468
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @727
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1360)
				label      	(object ItemLabel
				    Parent_View 	@727
				    location   	(74, 1317)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	588
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	606
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @728
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 704)
				label      	(object ItemLabel
				    Parent_View 	@728
				    location   	(86, 661)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @729
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 1184)
				label      	(object ItemLabel
				    Parent_View 	@729
				    location   	(74, 1141)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	510
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @730
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 544)
				label      	(object ItemLabel
				    Parent_View 	@730
				    location   	(86, 501)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @731
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1200, 80)
				label      	(object ItemLabel
				    Parent_View 	@731
				    location   	(1068, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	264
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	282
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @732
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1216)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@732
				    location   	(1750, 1173)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @733
				location   	(1994, 1412)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@732
				vertices   	(list Points
				    (1994, 1412)
				    (1994, 1271)))
			    (object InheritView "" @734
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@725
				supplier   	@732
				line_style 	3
				origin_attachment 	(2084, 1449)
				terminal_attachment 	(2084, 1412)
				drawSupplier 	@733)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @735
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 864)
				label      	(object ItemLabel
				    Parent_View 	@735
				    location   	(80, 821)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	384
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	402
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @736
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@736
				    location   	(1892, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				width      	234
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @737
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 384)
				label      	(object ItemLabel
				    Parent_View 	@737
				    location   	(84, 341)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	554
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @738
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 224)
				label      	(object ItemLabel
				    Parent_View 	@738
				    location   	(86, 181)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @739
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1792, 1712)
				label      	(object ItemLabel
				    Parent_View 	@739
				    location   	(1467, 1674)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	651
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	669
				height     	100
				annotation 	8)
			    (object InheritView "" @740
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@739
				supplier   	@732
				line_style 	3
				origin_attachment 	(1572, 1662)
				terminal_attachment 	(1572, 1412)
				drawSupplier 	@733)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @741
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1024)
				label      	(object ItemLabel
				    Parent_View 	@741
				    location   	(78, 981)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDRepeatableFacet" @742
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@742
				    location   	(1688, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	432
				    justify    	0
				    label      	"XSDRepeatableFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6AA6031A"
				width      	450
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @743
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1536)
				label      	(object ItemLabel
				    Parent_View 	@743
				    location   	(71, 1493)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	274
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	292
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @744
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 944)
				label      	(object ItemLabel
				    Parent_View 	@744
				    location   	(872, 685)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	720
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	738
				height     	543
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$133" @745
				location   	(865, 1359)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0D0183"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$134" @746
					Parent_View 	@745
					location   	(-255, 559)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0D033C"
					client     	@745
					supplier   	@727
					line_style 	3
					origin_attachment 	(865, 1359)
					terminal_attachment 	(671, 1359))
				    (object RoleView "annotation" @747
					Parent_View 	@745
					location   	(-255, 559)
					label      	(object SegLabel @748
					    Parent_View 	@747
					    location   	(798, 1321)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-1.116667
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0D0346"
					client     	@745
					supplier   	@744
					vertices   	(list Points
					    (865, 1359)
					    (925, 1359)
					    (925, 1215))
					line_style 	3
					origin_attachment 	(865, 1359)
					terminal_attachment 	(925, 1215)
					label      	(object SegLabel @749
					    Parent_View 	@747
					    location   	(987, 1276)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.706422
					    height     	62
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$157" @750
				location   	(713, 709)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0F0212"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$158" @751
					Parent_View 	@750
					location   	(-407, -90)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1000C9"
					client     	@750
					supplier   	@728
					line_style 	3
					origin_attachment 	(713, 709)
					terminal_attachment 	(563, 709))
				    (object RoleView "annotation" @752
					Parent_View 	@750
					location   	(-407, -90)
					label      	(object SegLabel @753
					    Parent_View 	@752
					    location   	(727, 667)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.095238
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1000D3"
					client     	@750
					supplier   	@744
					line_style 	3
					origin_attachment 	(713, 709)
					terminal_attachment 	(863, 709)
					label      	(object SegLabel @754
					    Parent_View 	@752
					    location   	(796, 753)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.553571
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$151" @755
				location   	(719, 1193)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB15008A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$152" @756
					Parent_View 	@755
					location   	(-401, 393)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB160096"
					client     	@755
					supplier   	@729
					line_style 	3
					origin_attachment 	(719, 1193)
					terminal_attachment 	(575, 1193))
				    (object RoleView "annotation" @757
					Parent_View 	@755
					location   	(-401, 393)
					label      	(object SegLabel @758
					    Parent_View 	@757
					    location   	(720, 1147)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.006993
					    height     	47
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1600A0"
					client     	@755
					supplier   	@744
					line_style 	3
					origin_attachment 	(719, 1193)
					terminal_attachment 	(863, 1193)
					label      	(object SegLabel @759
					    Parent_View 	@757
					    location   	(806, 1240)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.604167
					    height     	47
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$111" @760
				location   	(785, 550)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0A0066"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$112" @761
					Parent_View 	@760
					location   	(-335, -250)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0B023F"
					client     	@760
					supplier   	@730
					line_style 	3
					origin_attachment 	(785, 550)
					terminal_attachment 	(563, 550))
				    (object RoleView "annotation" @762
					Parent_View 	@760
					location   	(-335, -250)
					label      	(object SegLabel @763
					    Parent_View 	@762
					    location   	(779, 516)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.070707
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0B0249"
					client     	@760
					supplier   	@744
					vertices   	(list Points
					    (785, 550)
					    (884, 550)
					    (884, 673))
					line_style 	3
					origin_attachment 	(785, 550)
					terminal_attachment 	(884, 673)
					label      	(object SegLabel @764
					    Parent_View 	@762
					    location   	(935, 612)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.729730
					    height     	51
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$183" @765
				location   	(1184, 404)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E4560290"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$184" @766
					Parent_View 	@765
					location   	(-32, -412)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E4570165"
					client     	@765
					supplier   	@731
					line_style 	3
					origin_attachment 	(1184, 404)
					terminal_attachment 	(1184, 135))
				    (object RoleView "annotations" @767
					Parent_View 	@765
					location   	(-32, -412)
					label      	(object SegLabel @768
					    Parent_View 	@767
					    location   	(1324, 226)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	249
					    justify    	0
					    label      	"+annotations"
					    pctDist    	-0.665428
					    height     	140
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E457016F"
					client     	@765
					supplier   	@744
					line_style 	3
					origin_attachment 	(1184, 404)
					terminal_attachment 	(1184, 673)
					label      	(object SegLabel @769
					    Parent_View 	@767
					    location   	(1251, 615)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.784387
					    height     	67
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$199" @770
				location   	(1752, 1034)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E2910158"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$200" @771
					Parent_View 	@770
					location   	(536, 218)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E292019F"
					client     	@770
					supplier   	@732
					vertices   	(list Points
					    (1752, 1034)
					    (1812, 1034)
					    (1812, 1161))
					line_style 	3
					origin_attachment 	(1752, 1034)
					terminal_attachment 	(1812, 1161))
				    (object RoleView "annotation" @772
					Parent_View 	@770
					location   	(536, 218)
					label      	(object SegLabel @773
					    Parent_View 	@772
					    location   	(1743, 997)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.059603
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E29201A9"
					client     	@770
					supplier   	@744
					line_style 	3
					origin_attachment 	(1752, 1034)
					terminal_attachment 	(1601, 1034)
					label      	(object SegLabel @774
					    Parent_View 	@772
					    location   	(1684, 1066)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.450331
					    height     	32
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$201" @775
				location   	(1896, 881)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B9006CF0088"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$202" @776
					Parent_View 	@775
					location   	(621, 40)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B9006D1015D"
					client     	@775
					supplier   	@732
					vertices   	(list Points
					    (1896, 881)
					    (1956, 881)
					    (1956, 1161))
					line_style 	3
					origin_attachment 	(1896, 881)
					terminal_attachment 	(1956, 1161))
				    (object RoleView "derivationAnnotation" @777
					Parent_View 	@775
					location   	(621, 40)
					label      	(object SegLabel @778
					    Parent_View 	@777
					    location   	(1821, 842)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	390
					    justify    	0
					    label      	"+derivationAnnotation"
					    pctDist    	0.254237
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B9006D10167"
					client     	@775
					supplier   	@744
					line_style 	3
					origin_attachment 	(1896, 881)
					terminal_attachment 	(1601, 881)
					label      	(object SegLabel @779
					    Parent_View 	@777
					    location   	(1689, 914)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.705085
					    height     	33
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$203" @780
				location   	(2040, 715)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB330264"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$204" @781
					Parent_View 	@780
					location   	(920, -85)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB340284"
					client     	@780
					supplier   	@732
					vertices   	(list Points
					    (2040, 715)
					    (2100, 715)
					    (2100, 1161))
					line_style 	3
					origin_attachment 	(2040, 715)
					terminal_attachment 	(2100, 1161))
				    (object RoleView "annotations" @782
					Parent_View 	@780
					location   	(920, -85)
					label      	(object SegLabel @783
					    Parent_View 	@782
					    location   	(1758, 681)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	0.643192
					    height     	35
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB34028E"
					client     	@780
					supplier   	@744
					line_style 	3
					origin_attachment 	(2040, 715)
					terminal_attachment 	(1601, 715)
					label      	(object SegLabel @784
					    Parent_View 	@782
					    location   	(1685, 746)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.809313
					    height     	31
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$221" @785
				location   	(668, 865)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C239134004F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$222" @786
					Parent_View 	@785
					location   	(-612, 33)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C23913600CA"
					client     	@785
					supplier   	@735
					line_style 	3
					origin_attachment 	(668, 865)
					terminal_attachment 	(473, 865))
				    (object RoleView "annotation" @787
					Parent_View 	@785
					location   	(-612, 33)
					label      	(object SegLabel @788
					    Parent_View 	@787
					    location   	(714, 825)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.234146
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C23913600D4"
					client     	@785
					supplier   	@744
					line_style 	3
					origin_attachment 	(668, 865)
					terminal_attachment 	(863, 865)
					label      	(object SegLabel @789
					    Parent_View 	@787
					    location   	(801, 903)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.682051
					    height     	38
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$125" @790
				location   	(1472, 167)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D23B901CD"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$126" @791
					Parent_View 	@790
					location   	(256, -649)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D23BA01C4"
					client     	@790
					supplier   	@736
					vertices   	(list Points
					    (1472, 167)
					    (1472, 72)
					    (1883, 72))
					line_style 	3
					origin_attachment 	(1472, 167)
					terminal_attachment 	(1883, 72))
				    (object RoleView "annotation" @792
					Parent_View 	@790
					location   	(256, -649)
					label      	(object SegLabel @793
					    Parent_View 	@792
					    location   	(1604, 129)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.076305
					    height     	132
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D23BA01CE"
					client     	@790
					supplier   	@744
					line_style 	3
					origin_attachment 	(1472, 167)
					terminal_attachment 	(1472, 673)
					label      	(object SegLabel @794
					    Parent_View 	@792
					    location   	(1419, 618)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.893574
					    height     	54
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$75" @795
				location   	(927, 350)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB060291"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$76" @796
					Parent_View 	@795
					location   	(-193, -450)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB070171"
					client     	@795
					supplier   	@737
					line_style 	3
					origin_attachment 	(927, 350)
					terminal_attachment 	(629, 350))
				    (object RoleView "annotation" @797
					Parent_View 	@795
					location   	(-193, -450)
					label      	(object SegLabel @798
					    Parent_View 	@797
					    location   	(878, 310)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.816667
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB070172"
					client     	@795
					supplier   	@744
					vertices   	(list Points
					    (927, 350)
					    (987, 350)
					    (987, 673))
					line_style 	3
					origin_attachment 	(927, 350)
					terminal_attachment 	(987, 673)
					label      	(object SegLabel @799
					    Parent_View 	@797
					    location   	(1037, 612)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.843342
					    height     	50
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$67" @800
				location   	(1027, 222)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DADC02F5"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$68" @801
					Parent_View 	@800
					location   	(-93, -578)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DADD0238"
					client     	@800
					supplier   	@738
					line_style 	3
					origin_attachment 	(1027, 222)
					terminal_attachment 	(563, 222))
				    (object RoleView "annotation" @802
					Parent_View 	@800
					location   	(-93, -578)
					label      	(object SegLabel @803
					    Parent_View 	@802
					    location   	(1003, 188)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.406250
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DADD0242"
					client     	@800
					supplier   	@744
					vertices   	(list Points
					    (1027, 222)
					    (1087, 222)
					    (1087, 673))
					line_style 	3
					origin_attachment 	(1027, 222)
					terminal_attachment 	(1087, 673)
					label      	(object SegLabel @804
					    Parent_View 	@802
					    location   	(1137, 613)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	100
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.882583
					    height     	50
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$91" @805
				location   	(1494, 1438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B90068801C2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$92" @806
					Parent_View 	@805
					location   	(214, 590)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B90068A0111"
					client     	@805
					supplier   	@739
					line_style 	3
					origin_attachment 	(1494, 1438)
					terminal_attachment 	(1494, 1662))
				    (object RoleView "contentAnnotation" @807
					Parent_View 	@805
					location   	(214, 590)
					label      	(object SegLabel @808
					    Parent_View 	@807
					    location   	(1696, 1356)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+contentAnnotation"
					    pctDist    	0.367713
					    height     	202
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B90068A011B"
					client     	@805
					supplier   	@744
					line_style 	3
					origin_attachment 	(1494, 1438)
					terminal_attachment 	(1494, 1215)
					label      	(object SegLabel @809
					    Parent_View 	@807
					    location   	(1443, 1279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.713004
					    height     	51
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$145" @810
				location   	(637, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB1702C8"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$146" @811
					Parent_View 	@810
					location   	(-483, 222)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1803E2"
					client     	@810
					supplier   	@741
					line_style 	3
					origin_attachment 	(637, 1022)
					terminal_attachment 	(411, 1022))
				    (object RoleView "annotation" @812
					Parent_View 	@810
					location   	(-483, 222)
					label      	(object SegLabel @813
					    Parent_View 	@812
					    location   	(710, 979)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.328889
					    height     	44
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB190004"
					client     	@810
					supplier   	@744
					line_style 	3
					origin_attachment 	(637, 1022)
					terminal_attachment 	(863, 1022)
					label      	(object SegLabel @814
					    Parent_View 	@812
					    location   	(802, 1062)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.730088
					    height     	40
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$65" @815
				location   	(1581, 607)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C626EA70102"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$66" @816
					Parent_View 	@815
					location   	(301, -225)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EA90191"
					client     	@815
					supplier   	@742
					vertices   	(list Points
					    (1581, 607)
					    (1581, 547)
					    (1679, 547))
					line_style 	3
					origin_attachment 	(1581, 607)
					terminal_attachment 	(1679, 547))
				    (object RoleView "annotations" @817
					Parent_View 	@815
					location   	(301, -225)
					label      	(object SegLabel @818
					    Parent_View 	@817
					    location   	(1669, 462)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	-2.196970
					    height     	88
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EA90192"
					client     	@815
					supplier   	@744
					line_style 	3
					origin_attachment 	(1581, 607)
					terminal_attachment 	(1581, 673)
					label      	(object SegLabel @819
					    Parent_View 	@817
					    location   	(1539, 620)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.196970
					    height     	42
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$205" @820
				location   	(849, 1496)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB11026F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$206" @821
					Parent_View 	@820
					location   	(-271, 696)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1201F9"
					client     	@820
					supplier   	@743
					line_style 	3
					origin_attachment 	(849, 1496)
					terminal_attachment 	(354, 1496))
				    (object RoleView "annotation" @822
					Parent_View 	@820
					location   	(-271, 696)
					label      	(object SegLabel @823
					    Parent_View 	@822
					    location   	(942, 1464)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.188259
					    height     	33
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB120203"
					client     	@820
					supplier   	@744
					vertices   	(list Points
					    (849, 1496)
					    (1062, 1496)
					    (1062, 1215))
					line_style 	3
					origin_attachment 	(849, 1496)
					terminal_attachment 	(1062, 1215)
					label      	(object SegLabel @824
					    Parent_View 	@822
					    location   	(1115, 1279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.872690
					    height     	53
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$207" @825
				location   	(952, 1565)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C626EB30005"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$208" @826
					Parent_View 	@825
					location   	(-328, 733)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EB40327"
					client     	@825
					supplier   	@743
					line_style 	3
					origin_attachment 	(952, 1565)
					terminal_attachment 	(354, 1565))
				    (object RoleView "annotations" @827
					Parent_View 	@825
					location   	(-328, 733)
					label      	(object SegLabel @828
					    Parent_View 	@827
					    location   	(1075, 1538)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	0.204959
					    height     	28
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EB40332"
					client     	@825
					supplier   	@744
					vertices   	(list Points
					    (952, 1565)
					    (1200, 1565)
					    (1200, 1215))
					line_style 	3
					origin_attachment 	(952, 1565)
					terminal_attachment 	(1200, 1215)
					label      	(object SegLabel @829
					    Parent_View 	@827
					    location   	(1254, 1275)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))))
			    (object InheritView "" @830
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C800394"
				client     	@726
				supplier   	@736
				line_style 	3
				origin_attachment 	(1984, 249)
				terminal_attachment 	(1984, 135))
			    (object InheritView "" @831
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8F002E"
				client     	@742
				supplier   	@726
				line_style 	3
				origin_attachment 	(1997, 505)
				terminal_attachment 	(1997, 359))))
		    (object ClassDiagram "6. Concrete Components"
			quid       	"3B6AD74D03C4"
			title      	"6. Concrete Components"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @832
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@832
				    location   	(126, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupContent" @833
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(832, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@833
				    location   	(568, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	528
				    justify    	0
				    label      	"XSDAttributeGroupContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6940200089"
				width      	546
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefineContent" @834
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1200, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@834
				    location   	(991, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDRedefineContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AE2060172"
				width      	436
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @835
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@835
				    location   	(1156, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	408
				    justify    	0
				    label      	"XSDSchemaContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B688CB800BA"
				width      	426
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @836
				location   	(1360, 561)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@835
				vertices   	(list Points
				    (1360, 561)
				    (1360, 471)))
			    (object ClassView "Class" "Logical View::xsd::XSDInclude" @837
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1632, 1200)
				label      	(object ItemLabel
				    Parent_View 	@837
				    location   	(1512, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	240
				    justify    	0
				    label      	"XSDInclude")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C7D0250"
				width      	258
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDImport" @838
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 944)
				label      	(object ItemLabel
				    Parent_View 	@838
				    location   	(1294, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDImport")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C93017F"
				width      	246
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefine" @839
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1200)
				label      	(object ItemLabel
				    Parent_View 	@839
				    location   	(1805, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDRedefine")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C9B02AD"
				width      	280
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @840
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 1200)
				label      	(object ItemLabel
				    Parent_View 	@840
				    location   	(375, 1153)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	851
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	869
				height     	119
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$143" @841
				location   	(1368, 1206)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADCC5007E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$144" @842
					Parent_View 	@841
					location   	(1160, 406)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCC6006B"
					client     	@841
					supplier   	@837
					line_style 	3
					origin_attachment 	(1368, 1206)
					terminal_attachment 	(1503, 1206))
				    (object RoleView "annotation" @843
					Parent_View 	@841
					location   	(1160, 406)
					label      	(object SegLabel @844
					    Parent_View 	@843
					    location   	(1347, 1154)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.154412
					    height     	53
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCC6006C"
					client     	@841
					supplier   	@840
					line_style 	3
					origin_attachment 	(1368, 1206)
					terminal_attachment 	(1234, 1206)
					label      	(object SegLabel @845
					    Parent_View 	@843
					    location   	(1300, 1253)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	107
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.514706
					    height     	47
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$141" @846
				location   	(1168, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADCD802FC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$142" @847
					Parent_View 	@846
					location   	(960, 222)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCD9018B"
					client     	@846
					supplier   	@838
					vertices   	(list Points
					    (1168, 1022)
					    (1168, 962)
					    (1285, 962))
					line_style 	3
					origin_attachment 	(1168, 1022)
					terminal_attachment 	(1285, 962))
				    (object RoleView "annotation" @848
					Parent_View 	@846
					location   	(960, 222)
					label      	(object SegLabel @849
					    Parent_View 	@848
					    location   	(1290, 1075)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.445378
					    height     	122
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCD9018C"
					client     	@846
					supplier   	@840
					line_style 	3
					origin_attachment 	(1168, 1022)
					terminal_attachment 	(1168, 1141)
					label      	(object SegLabel @850
					    Parent_View 	@848
					    location   	(1127, 1074)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.436975
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$163" @851
				location   	(1563, 1353)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADE42009A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$164" @852
					Parent_View 	@851
					location   	(1355, 553)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADE4302FE"
					client     	@851
					supplier   	@839
					vertices   	(list Points
					    (1563, 1353)
					    (1940, 1353)
					    (1940, 1255))
					line_style 	3
					origin_attachment 	(1563, 1353)
					terminal_attachment 	(1940, 1255))
				    (object RoleView "annotations" @853
					Parent_View 	@851
					location   	(1355, 553)
					label      	(object SegLabel @854
					    Parent_View 	@853
					    location   	(1317, 1322)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	0.516807
					    height     	32
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADE430308"
					client     	@851
					supplier   	@840
					vertices   	(list Points
					    (1563, 1353)
					    (1181, 1353)
					    (1181, 1259))
					line_style 	3
					origin_attachment 	(1563, 1353)
					terminal_attachment 	(1181, 1259)
					label      	(object SegLabel @855
					    Parent_View 	@853
					    location   	(1130, 1326)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.861345
					    height     	52
					    orientation 	0))))
			    (object InheritTreeView "" @856
				location   	(288, 561)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@832
				vertices   	(list Points
				    (288, 561)
				    (288, 471)))
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @857
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@857
				    location   	(460, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	456
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				width      	474
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticleContent" @858
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@858
				    location   	(1658, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	396
				    justify    	0
				    label      	"XSDParticleContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6BD22300C6"
				width      	414
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @859
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(720, 960)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@859
				    location   	(450, 917)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	558
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @860
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(224, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@860
				    location   	(110, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	246
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @861
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@860
				supplier   	@832
				line_style 	3
				origin_attachment 	(221, 617)
				terminal_attachment 	(221, 561)
				drawSupplier 	@856)
			    (object InheritView "" @862
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@857
				supplier   	@832
				line_style 	3
				origin_attachment 	(589, 617)
				terminal_attachment 	(589, 561)
				drawSupplier 	@856)
			    (object InheritView "" @863
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE2B301D5"
				client     	@834
				supplier   	@835
				line_style 	3
				origin_attachment 	(1016, 617)
				terminal_attachment 	(1016, 561)
				drawSupplier 	@836)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @864
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1824, 944)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@864
				    location   	(1590, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDSchemaCompositor")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C21DB4102AE"
				width      	486
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @865
				location   	(1824, 1089)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@864
				vertices   	(list Points
				    (1824, 1089)
				    (1824, 999)))
			    (object InheritView "" @866
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8DC0381"
				client     	@837
				supplier   	@864
				line_style 	3
				origin_attachment 	(1666, 1145)
				terminal_attachment 	(1666, 1089)
				drawSupplier 	@865)
			    (object InheritView "" @867
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB640240"
				client     	@839
				supplier   	@864
				line_style 	3
				origin_attachment 	(1934, 1145)
				terminal_attachment 	(1934, 1089)
				drawSupplier 	@865)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @868
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1840, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@868
				    location   	(1630, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	438
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @869
				location   	(1762, 819)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@868
				vertices   	(list Points
				    (1762, 819)
				    (1762, 727)))
			    (object InheritView "" @870
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8D9003E"
				client     	@838
				supplier   	@868
				line_style 	3
				origin_attachment 	(1416, 889)
				terminal_attachment 	(1416, 819)
				drawSupplier 	@869)
			    (object InheritView "" @871
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@868
				supplier   	@835
				line_style 	3
				origin_attachment 	(1756, 617)
				terminal_attachment 	(1756, 561)
				drawSupplier 	@836)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @872
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				location   	(1120, 144)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@872
				    location   	(875, 101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				width      	508
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @873
				location   	(1120, 289)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@872
				vertices   	(list Points
				    (1120, 289)
				    (1120, 199)))
			    (object AssociationViewNew "$UNNAMED$105" @874
				location   	(1485, 215)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751B0803C7"
				roleview_list 	(list RoleViews
				    (object RoleView "container" @875
					Parent_View 	@874
					location   	(989, 103)
					label      	(object SegLabel @876
					    Parent_View 	@875
					    location   	(1604, 210)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	"+container"
					    pctDist    	0.033113
					    height     	119
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B0C01CE"
					client     	@874
					supplier   	@872
					vertices   	(list Points
					    (1485, 215)
					    (1485, 176)
					    (1374, 176))
					line_style 	3
					origin_attachment 	(1485, 215)
					terminal_attachment 	(1374, 176)
					label      	(object SegLabel @877
					    Parent_View 	@875
					    location   	(1435, 226)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	69
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.602649
					    height     	50
					    orientation 	0))
				    (object RoleView "$UNNAMED$106" @878
					Parent_View 	@874
					location   	(989, 103)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B0C01CF"
					client     	@874
					supplier   	@872
					vertices   	(list Points
					    (1485, 215)
					    (1485, 254)
					    (1345, 254)
					    (1345, 199))
					line_style 	3
					origin_attachment 	(1485, 215)
					terminal_attachment 	(1345, 199))))
			    (object AssociationViewNew "$UNNAMED$107" @879
				location   	(773, 216)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751B480261"
				roleview_list 	(list RoleViews
				    (object RoleView "rootContainer" @880
					Parent_View 	@879
					location   	(53, 104)
					label      	(object SegLabel @881
					    Parent_View 	@880
					    location   	(614, 217)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+rootContainer"
					    pctDist    	-0.025000
					    height     	160
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B4C0285"
					client     	@879
					supplier   	@872
					vertices   	(list Points
					    (773, 216)
					    (773, 176)
					    (866, 176))
					line_style 	3
					origin_attachment 	(773, 216)
					terminal_attachment 	(866, 176)
					label      	(object SegLabel @882
					    Parent_View 	@880
					    location   	(800, 228)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.300000
					    height     	27
					    orientation 	1))
				    (object RoleView "$UNNAMED$108" @883
					Parent_View 	@879
					location   	(53, 104)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B4C0286"
					client     	@879
					supplier   	@872
					vertices   	(list Points
					    (773, 216)
					    (773, 257)
					    (895, 257)
					    (895, 199))
					line_style 	3
					origin_attachment 	(773, 216)
					terminal_attachment 	(895, 199))))
			    (object InheritView "" @884
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8E60372"
				client     	@835
				supplier   	@872
				line_style 	3
				origin_attachment 	(1367, 361)
				terminal_attachment 	(1367, 289)
				drawSupplier 	@873)
			    (object InheritView "" @885
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D8E200EA"
				client     	@833
				supplier   	@872
				line_style 	3
				origin_attachment 	(752, 361)
				terminal_attachment 	(752, 289)
				drawSupplier 	@873)
			    (object InheritView "" @886
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA903D2"
				client     	@832
				supplier   	@872
				line_style 	3
				origin_attachment 	(299, 361)
				terminal_attachment 	(299, 289)
				drawSupplier 	@873)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @887
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1200)
				label      	(object ItemLabel
				    Parent_View 	@887
				    location   	(61, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	280
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @888
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@887
				supplier   	@860
				line_style 	3
				origin_attachment 	(216, 1145)
				terminal_attachment 	(216, 727))
			    (object AssociationViewNew "$UNNAMED$219" @889
				location   	(1382, 1425)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DD0C03DB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$220" @890
					Parent_View 	@889
					location   	(1190, 225)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100304"
					client     	@889
					supplier   	@864
					vertices   	(list Points
					    (1382, 1425)
					    (2147, 1425)
					    (2147, 943)
					    (2067, 943))
					line_style 	3
					origin_attachment 	(1382, 1425)
					terminal_attachment 	(2067, 943))
				    (object RoleView "incorporatedSchema" @891
					Parent_View 	@889
					location   	(1190, 225)
					label      	(object SegLabel @892
					    Parent_View 	@891
					    location   	(445, 1389)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+incorporatedSchema"
					    pctDist    	0.706546
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100305"
					client     	@889
					supplier   	@887
					vertices   	(list Points
					    (1382, 1425)
					    (225, 1425)
					    (225, 1255))
					line_style 	3
					origin_attachment 	(1382, 1425)
					terminal_attachment 	(225, 1255)
					label      	(object SegLabel @893
					    Parent_View 	@891
					    location   	(183, 1392)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.896915
					    height     	43
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$217" @894
				location   	(1505, 1503)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DCC700EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$218" @895
					Parent_View 	@894
					location   	(1313, 303)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0042"
					client     	@894
					supplier   	@868
					vertices   	(list Points
					    (1505, 1503)
					    (2188, 1503)
					    (2188, 675)
					    (2059, 675))
					line_style 	3
					origin_attachment 	(1505, 1503)
					terminal_attachment 	(2059, 675))
				    (object RoleView "resolvedSchema" @896
					Parent_View 	@894
					location   	(1313, 303)
					label      	(object SegLabel @897
					    Parent_View 	@896
					    location   	(303, 1472)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+resolvedSchema"
					    pctDist    	0.733333
					    height     	32
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0043"
					client     	@894
					supplier   	@887
					vertices   	(list Points
					    (1505, 1503)
					    (113, 1503)
					    (113, 1255))
					line_style 	3
					origin_attachment 	(1505, 1503)
					terminal_attachment 	(113, 1255)
					label      	(object SegLabel @898
					    Parent_View 	@896
					    location   	(73, 1472)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.867683
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$109" @899
				location   	(66, 244)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751C310356"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$110" @900
					Parent_View 	@899
					location   	(-94, -444)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751C330331"
					client     	@899
					supplier   	@872
					vertices   	(list Points
					    (66, 244)
					    (66, 144)
					    (866, 144))
					line_style 	3
					origin_attachment 	(66, 244)
					terminal_attachment 	(866, 144))
				    (object RoleView "schema" @901
					Parent_View 	@899
					location   	(-94, -444)
					label      	(object SegLabel @902
					    Parent_View 	@901
					    location   	(165, 93)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+schema"
					    pctDist    	-0.168113
					    height     	99
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751C33033B"
					client     	@899
					supplier   	@887
					line_style 	3
					origin_attachment 	(66, 244)
					terminal_attachment 	(66, 1145)
					label      	(object SegLabel @903
					    Parent_View 	@901
					    location   	(136, 184)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	113
					    justify    	0
					    label      	"0..1"
					    pctDist    	-0.066593
					    height     	70
					    orientation 	0))))
			    (object InheritView "" @904
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B780BD90059"
				client     	@858
				supplier   	@872
				line_style 	3
				origin_attachment 	(1759, 361)
				terminal_attachment 	(1759, 289)
				drawSupplier 	@873)
			    (object InheritView "" @905
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@840
				supplier   	@832
				line_style 	3
				origin_attachment 	(400, 1141)
				terminal_attachment 	(400, 561)
				drawSupplier 	@856)
			    (object InheritTreeView "" @906
				location   	(1012, 837)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@834
				vertices   	(list Points
				    (1012, 837)
				    (1012, 727)))
			    (object InheritView "" @907
				stereotype 	(object SegLabel @908
				    Parent_View 	@907
				    location   	(1071, 871)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	243
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.888158
				    height     	34
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B7FD4E20366"
				client     	@840
				supplier   	@834
				line_style 	3
				origin_attachment 	(1037, 1141)
				terminal_attachment 	(1037, 837)
				drawSupplier 	@906)
			    (object InheritView "" @909
				stereotype 	(object SegLabel @910
				    Parent_View 	@909
				    location   	(890, 865)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	263
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.581633
				    height     	36
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B7FD4BA023C"
				client     	@859
				supplier   	@834
				line_style 	3
				origin_attachment 	(925, 905)
				terminal_attachment 	(925, 837)
				drawSupplier 	@906)
			    (object InheritView "" @911
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@864
				supplier   	@868
				line_style 	3
				origin_attachment 	(1828, 889)
				terminal_attachment 	(1828, 819)
				drawSupplier 	@869)))
		    (object ClassDiagram "7. Concrete Attributes"
			quid       	"3B9F8F7602C7"
			title      	"7. Concrete Attributes"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @912
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 1440)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@912
				    location   	(1938, 1359)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	412
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				compartment 	(object Compartment
				    Parent_View 	@912
				    location   	(1938, 1419)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	382
				    compartmentItems 	(list Compartment
					"+ form : XSDForm"
					"+ lexicalValue : String"))
				width      	430
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDForm" @913
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2560, 1424)
				label      	(object ItemLabel
				    Parent_View 	@913
				    location   	(2398, 1365)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDForm")
				stereotype 	(object ItemLabel
				    Parent_View 	@913
				    location   	(2398, 1315)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B9F913B01EB"
				width      	342
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @914
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 96)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@914
				    location   	(40, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	657
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				compartment 	(object Compartment
				    Parent_View 	@914
				    location   	(40, 97)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	446
				    compartmentItems 	(list Compartment
					"+ element : DOMElement"))
				width      	675
				height     	143
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @915
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(848, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@915
				    location   	(687, 333)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	322
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	340
				height     	126
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @916
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 944)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@916
				    location   	(1678, 892)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	452
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				width      	470
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @917
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 1408)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@917
				    location   	(1328, 1356)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	544
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	562
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @918
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(864, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@918
				    location   	(745, 573)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	238
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	256
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @919
				location   	(850, 537)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@915
				vertices   	(list Points
				    (850, 537)
				    (850, 447)))
			    (object ClassView "Class" "Logical View::xsd::DOMElement" @920
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1248, 128)
				label      	(object ItemLabel
				    Parent_View 	@920
				    location   	(873, 90)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	751
				    justify    	0
				    label      	"DOMElement")
				stereotype 	(object ItemLabel
				    Parent_View 	@920
				    location   	(873, 40)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	751
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3B8189790200"
				width      	769
				height     	200
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @921
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 640)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@921
				    location   	(41, 584)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	512
				height     	136
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @922
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@922
				    location   	(38, 333)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDSchemaContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B688CB800BA"
				width      	422
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @923
				location   	(368, 263)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@914
				vertices   	(list Points
				    (368, 263)
				    (368, 167)))
			    (object ClassView "Class" "Logical View::xsd::XSDDisallowedSubstitutions" @924
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(992, 1456)
				label      	(object ItemLabel
				    Parent_View 	@924
				    location   	(723, 1347)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDDisallowedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@924
				    location   	(723, 1297)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5A403DF"
				compartment 	(object Compartment
				    Parent_View 	@924
				    location   	(723, 1407)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	225
				    compartmentItems 	(list Compartment
					"+ substitution"
					"+ extension"
					"+ restriction"
					"+ all"))
				width      	556
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @925
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 1792)
				label      	(object ItemLabel
				    Parent_View 	@925
				    location   	(614, 1708)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDProhibitedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@925
				    location   	(614, 1658)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5BE0272"
				compartment 	(object Compartment
				    Parent_View 	@925
				    location   	(614, 1768)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	198
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"
					"+ all"))
				width      	550
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @926
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(912, 2096)
				label      	(object ItemLabel
				    Parent_View 	@926
				    location   	(532, 2040)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	760
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@926
				    location   	(532, 2100)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	1
				    max_width  	723
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDSimpleFinal"))
				width      	778
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @927
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1984)
				label      	(object ItemLabel
				    Parent_View 	@927
				    location   	(45, 1875)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@927
				    location   	(45, 1825)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C25D0295"
				width      	344
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @928
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2544, 2016)
				label      	(object ItemLabel
				    Parent_View 	@928
				    location   	(2362, 1932)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"XSDComplexFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@928
				    location   	(2362, 1882)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C2CA01CB"
				width      	382
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @929
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1360)
				label      	(object ItemLabel
				    Parent_View 	@929
				    location   	(41, 1279)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	622
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				compartment 	(object Compartment
				    Parent_View 	@929
				    location   	(41, 1339)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	588
				    compartmentItems 	(list Compartment
					"+ use : XSDAttributeUseCategory"
					"+ lexicalValue : String"))
				width      	640
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUseCategory" @930
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 1632)
				label      	(object ItemLabel
				    Parent_View 	@930
				    location   	(41, 1548)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDAttributeUseCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@930
				    location   	(41, 1498)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BA7B0E801A8"
				width      	512
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @931
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2608, 928)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@931
				    location   	(2498, 881)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	220
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	238
				height     	119
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @932
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2240, 1712)
				label      	(object ItemLabel
				    Parent_View 	@932
				    location   	(1757, 1631)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	966
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				compartment 	(object Compartment
				    Parent_View 	@932
				    location   	(1757, 1691)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	934
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDProhibitedSubstitutions"
					"<<0..*>> + block : XSDDisallowedSubstitutions"))
				width      	984
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @933
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2272, 1152)
				label      	(object ItemLabel
				    Parent_View 	@933
				    location   	(1828, 1096)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	888
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				compartment 	(object Compartment
				    Parent_View 	@933
				    location   	(1828, 1156)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	852
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalNamespaceConstraint : String"))
				width      	906
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @934
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1120, 1008)
				label      	(object ItemLabel
				    Parent_View 	@934
				    location   	(622, 777)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	996
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	1014
				height     	486
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDImport" @935
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 960)
				label      	(object ItemLabel
				    Parent_View 	@935
				    location   	(37, 904)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDImport")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C93017F"
				width      	424
				height     	136
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @936
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1344, 656)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@936
				    location   	(1138, 600)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	412
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				compartment 	(object Compartment
				    Parent_View 	@936
				    location   	(1138, 660)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	378
				    compartmentItems 	(list Compartment
					"+ lexicalValue : String"))
				width      	430
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @937
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1840, 2048)
				label      	(object ItemLabel
				    Parent_View 	@937
				    location   	(1410, 1942)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	860
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				compartment 	(object Compartment
				    Parent_View 	@937
				    location   	(1410, 2002)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	822
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDComplexFinal"
					"<<0..*>> + block : XSDProhibitedSubstitutions"
					"+ mixed : boolean"))
				width      	878
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @938
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1488, 1696)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@938
				    location   	(1304, 1644)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	368
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	386
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @939
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@938
				supplier   	@917
				line_style 	3
				origin_attachment 	(1506, 1632)
				terminal_attachment 	(1506, 1472))
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @940
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2208, 704)
				label      	(object ItemLabel
				    Parent_View 	@940
				    location   	(1758, 598)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	900
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	918
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @941
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848AA01D3"
				client     	@931
				supplier   	@915
				line_style 	3
				origin_attachment 	(2696, 869)
				terminal_attachment 	(2696, 537)
				drawSupplier 	@919)
			    (object InheritView "" @942
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@932
				supplier   	@912
				line_style 	3
				origin_attachment 	(2094, 1619)
				terminal_attachment 	(2094, 1533))
			    (object InheritTreeView "" @943
				location   	(1487, 1856)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@938
				vertices   	(list Points
				    (1487, 1856)
				    (1487, 1760)))
			    (object ClassView "Class" "Logical View::xsd::DOMAttr" @944
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2400, 384)
				label      	(object ItemLabel
				    Parent_View 	@944
				    location   	(2080, 350)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"DOMAttr")
				stereotype 	(object ItemLabel
				    Parent_View 	@944
				    location   	(2080, 300)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3BBF8C8901B6"
				width      	658
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @945
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@937
				supplier   	@938
				line_style 	3
				origin_attachment 	(1734, 1930)
				terminal_attachment 	(1734, 1856)
				drawSupplier 	@943)
			    (object InheritView "" @946
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D25680259"
				client     	@936
				supplier   	@915
				line_style 	3
				origin_attachment 	(1328, 588)
				terminal_attachment 	(1328, 537)
				drawSupplier 	@919)
			    (object InheritView "" @947
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@940
				supplier   	@915
				line_style 	3
				origin_attachment 	(2190, 586)
				terminal_attachment 	(2190, 537)
				drawSupplier 	@919)
			    (object InheritView "" @948
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@921
				supplier   	@922
				line_style 	3
				origin_attachment 	(222, 572)
				terminal_attachment 	(222, 447))
			    (object InheritView "" @949
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8E60372"
				client     	@922
				supplier   	@914
				line_style 	3
				origin_attachment 	(260, 321)
				terminal_attachment 	(260, 263)
				drawSupplier 	@923)
			    (object InheritView "" @950
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8D9003E"
				client     	@935
				supplier   	@921
				line_style 	3
				origin_attachment 	(223, 892)
				terminal_attachment 	(223, 708))
			    (object InheritView "" @951
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@933
				supplier   	@931
				line_style 	3
				origin_attachment 	(2600, 1084)
				terminal_attachment 	(2600, 987))
			    (object ClassView "Class" "Logical View::xsd::DOMDocument" @952
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 128)
				label      	(object ItemLabel
				    Parent_View 	@952
				    location   	(1957, 94)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	758
				    justify    	0
				    label      	"DOMDocument")
				stereotype 	(object ItemLabel
				    Parent_View 	@952
				    location   	(1957, 44)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	758
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3C27850E0381"
				width      	776
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @953
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA903D2"
				client     	@915
				supplier   	@914
				line_style 	3
				origin_attachment 	(856, 321)
				terminal_attachment 	(856, 263)
				drawSupplier 	@923)
			    (object ClassView "Class" "Logical View::xsd::DOMNode" @954
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 384)
				label      	(object ItemLabel
				    Parent_View 	@954
				    location   	(1234, 350)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"DOMNode")
				stereotype 	(object ItemLabel
				    Parent_View 	@954
				    location   	(1234, 300)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3BFE64A50117"
				width      	686
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @955
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@918
				supplier   	@915
				line_style 	3
				origin_attachment 	(850, 561)
				terminal_attachment 	(850, 537)
				drawSupplier 	@919)
			    (object InheritView "" @956
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D7BB0349"
				client     	@929
				supplier   	@915
				line_style 	3
				origin_attachment 	(575, 1267)
				terminal_attachment 	(575, 537)
				drawSupplier 	@919)
			    (object InheritView "" @957
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@916
				supplier   	@915
				line_style 	3
				origin_attachment 	(1694, 880)
				terminal_attachment 	(1694, 537)
				drawSupplier 	@919)
			    (object InheritView "" @958
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@934
				supplier   	@918
				line_style 	3
				origin_attachment 	(856, 765)
				terminal_attachment 	(856, 687))
			    (object InheritTreeView "" @959
				location   	(1703, 1290)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@916
				vertices   	(list Points
				    (1703, 1290)
				    (1703, 1008)))
			    (object InheritView "" @960
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@917
				supplier   	@916
				line_style 	3
				origin_attachment 	(1503, 1344)
				terminal_attachment 	(1503, 1290)
				drawSupplier 	@959)
			    (object InheritView "" @961
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@912
				supplier   	@916
				line_style 	3
				origin_attachment 	(2093, 1347)
				terminal_attachment 	(2093, 1290)
				drawSupplier 	@959)
			    (object InheritView "" @962
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@926
				supplier   	@938
				line_style 	3
				origin_attachment 	(1253, 2028)
				terminal_attachment 	(1253, 1856)
				drawSupplier 	@943)))
		    (object ClassDiagram "8. Concrete Containment"
			quid       	"3B6A8097027A"
			title      	"8. Concrete Containment"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @963
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2672, 992)
				label      	(object ItemLabel
				    Parent_View 	@963
				    location   	(2439, 949)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	484
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @964
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2640, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@964
				    location   	(2431, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	436
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefine" @965
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 784)
				label      	(object ItemLabel
				    Parent_View 	@965
				    location   	(2013, 741)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDRedefine")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C9B02AD"
				width      	280
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefineContent" @966
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@966
				    location   	(1854, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDRedefineContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AE2060172"
				width      	438
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @967
				location   	(1943, 868)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@966
				vertices   	(list Points
				    (1943, 868)
				    (1943, 631)))
			    (object AssociationViewNew "$UNNAMED$165" @968
				location   	(2125, 680)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE8240051"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$166" @969
					Parent_View 	@968
					location   	(157, 344)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6AE82602AD"
					client     	@968
					supplier   	@965
					line_style 	3
					origin_attachment 	(2125, 680)
					terminal_attachment 	(2125, 729))
				    (object RoleView "contents" @970
					Parent_View 	@968
					location   	(157, 344)
					label      	(object SegLabel @971
					    Parent_View 	@970
					    location   	(2255, 671)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.175439
					    height     	130
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6AE82602B7"
					client     	@968
					supplier   	@966
					line_style 	3
					origin_attachment 	(2125, 680)
					terminal_attachment 	(2125, 631)
					label      	(object SegLabel @972
					    Parent_View 	@970
					    location   	(2067, 671)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.175439
					    height     	59
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @973
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@973
				    location   	(148, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	234
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @974
				location   	(272, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@973
				vertices   	(list Points
				    (272, 465)
				    (272, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @975
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2656, 1168)
				label      	(object ItemLabel
				    Parent_View 	@975
				    location   	(2372, 1121)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	569
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	587
				height     	118
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @976
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 576)
				label      	(object ItemLabel
				    Parent_View 	@976
				    location   	(89, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	334
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	352
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$153" @977
				location   	(1170, 1356)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837AC025A"
				roleview_list 	(list RoleViews
				    (object RoleView "modelGroup" @978
					Parent_View 	@977
					location   	(866, -20)
					label      	(object SegLabel @979
					    Parent_View 	@978
					    location   	(269, 1389)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+modelGroup"
					    pctDist    	0.534044
					    height     	33
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0339"
					client     	@977
					supplier   	@976
					vertices   	(list Points
					    (1170, 1356)
					    (206, 1356)
					    (206, 631))
					line_style 	3
					origin_attachment 	(1170, 1356)
					terminal_attachment 	(206, 631)
					label      	(object SegLabel @980
					    Parent_View 	@978
					    location   	(226, 1322)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.559146
					    height     	35
					    orientation 	1))
				    (object RoleView "$UNNAMED$154" @981
					Parent_View 	@977
					location   	(866, -20)
					label      	(object SegLabel @982
					    Parent_View 	@981
					    location   	(2521, 1398)
					    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      	"3B6837AD0338"
					client     	@977
					supplier   	@975
					vertices   	(list Points
					    (1170, 1356)
					    (2731, 1356)
					    (2731, 1227))
					line_style 	3
					origin_attachment 	(1170, 1356)
					terminal_attachment 	(2731, 1227))))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @983
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(160, 1696)
				label      	(object ItemLabel
				    Parent_View 	@983
				    location   	(35, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	250
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	268
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$147" @984
				location   	(122, 1136)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6BCEB102F8"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$148" @985
					Parent_View 	@984
					location   	(-630, -256)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6BCEB6001B"
					client     	@984
					supplier   	@976
					line_style 	3
					origin_attachment 	(122, 1136)
					terminal_attachment 	(122, 631))
				    (object RoleView "contents" @986
					Parent_View 	@984
					location   	(-630, -256)
					label      	(object SegLabel @987
					    Parent_View 	@986
					    location   	(223, 1515)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.750495
					    height     	101
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6BCEB60025"
					client     	@984
					supplier   	@983
					line_style 	3
					origin_attachment 	(122, 1136)
					terminal_attachment 	(122, 1641)
					label      	(object SegLabel @988
					    Parent_View 	@986
					    location   	(180, 1581)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.881188
					    height     	58
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDParticleContent" @989
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@989
				    location   	(41, 42)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	495
				    justify    	0
				    label      	"XSDParticleContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6BD22300C6"
				width      	513
				height     	100
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$159" @990
				location   	(47, 885)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B47150119"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$160" @991
					Parent_View 	@990
					location   	(-289, 821)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B471A03AB"
					client     	@990
					supplier   	@983
					line_style 	3
					origin_attachment 	(47, 885)
					terminal_attachment 	(47, 1641))
				    (object RoleView "content" @992
					Parent_View 	@990
					location   	(-289, 821)
					label      	(object SegLabel @993
					    Parent_View 	@992
					    location   	(142, 189)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+content"
					    pctDist    	0.921854
					    height     	95
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B471A03B5"
					client     	@990
					supplier   	@989
					line_style 	3
					origin_attachment 	(47, 885)
					terminal_attachment 	(47, 130)
					label      	(object SegLabel @994
					    Parent_View 	@992
					    location   	(28, 192)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.917881
					    height     	19
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @995
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 896)
				label      	(object ItemLabel
				    Parent_View 	@995
				    location   	(1252, 849)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	345
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	363
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @996
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 1168)
				label      	(object ItemLabel
				    Parent_View 	@996
				    location   	(1175, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	484
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$89" @997
				location   	(1319, 1034)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6F1DE9018A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$90" @998
					Parent_View 	@997
					location   	(-57, -102)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6F1DEA036C"
					client     	@997
					supplier   	@995
					line_style 	3
					origin_attachment 	(1319, 1034)
					terminal_attachment 	(1319, 955))
				    (object RoleView "content" @999
					Parent_View 	@997
					location   	(-57, -102)
					label      	(object SegLabel @1000
					    Parent_View 	@999
					    location   	(1439, 1039)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+content"
					    pctDist    	0.073171
					    height     	120
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6F1DEA0380"
					client     	@997
					supplier   	@996
					line_style 	3
					origin_attachment 	(1319, 1034)
					terminal_attachment 	(1319, 1113)
					label      	(object SegLabel @1001
					    Parent_View 	@999
					    location   	(1279, 1031)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.040816
					    height     	41
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @1002
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 1696)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1002
				    location   	(1855, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	450
				    justify    	0
				    label      	"XSDConstrainingFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6B340093"
				width      	468
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @1003
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1280, 1696)
				label      	(object ItemLabel
				    Parent_View 	@1003
				    location   	(1035, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	508
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$185" @1004
				location   	(1351, 1840)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D5CA50112"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$186" @1005
					Parent_View 	@1004
					location   	(-297, 224)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D5CA703B4"
					client     	@1004
					supplier   	@1003
					vertices   	(list Points
					    (1351, 1840)
					    (1294, 1840)
					    (1294, 1751))
					line_style 	3
					origin_attachment 	(1351, 1840)
					terminal_attachment 	(1294, 1751))
				    (object RoleView "contents" @1006
					Parent_View 	@1004
					location   	(-297, 224)
					label      	(object SegLabel @1007
					    Parent_View 	@1006
					    location   	(1517, 1806)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.632653
					    height     	108
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D5CA703C8"
					client     	@1004
					supplier   	@1003
					vertices   	(list Points
					    (1351, 1840)
					    (1409, 1840)
					    (1409, 1751))
					line_style 	3
					origin_attachment 	(1351, 1840)
					terminal_attachment 	(1409, 1751)
					label      	(object SegLabel @1008
					    Parent_View 	@1006
					    location   	(1361, 1801)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.072848
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$69" @1009
				location   	(1190, 1432)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6890D6006F"
				roleview_list 	(list RoleViews
				    (object RoleView "anonymousTypeDefinition" @1010
					Parent_View 	@1009
					location   	(774, -1832)
					label      	(object SegLabel @1011
					    Parent_View 	@1010
					    location   	(1462, 1525)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	492
					    justify    	0
					    label      	"+anonymousTypeDefinition"
					    pctDist    	0.444976
					    height     	272
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6890D60318"
					client     	@1009
					supplier   	@1003
					line_style 	3
					origin_attachment 	(1190, 1432)
					terminal_attachment 	(1190, 1641)
					label      	(object SegLabel @1012
					    Parent_View 	@1010
					    location   	(1143, 1527)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.454545
					    height     	47
					    orientation 	1))
				    (object RoleView "$UNNAMED$70" @1013
					Parent_View 	@1009
					location   	(774, -1832)
					label      	(object SegLabel @1014
					    Parent_View 	@1013
					    location   	(1149, 1266)
					    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      	"3B6890D6030E"
					client     	@1009
					supplier   	@996
					line_style 	3
					origin_attachment 	(1190, 1432)
					terminal_attachment 	(1190, 1223))))
			    (object AssociationViewNew "$UNNAMED$187" @1015
				location   	(1690, 1684)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C35AD0374"
				roleview_list 	(list RoleViews
				    (object RoleView "facetContents" @1016
					Parent_View 	@1015
					location   	(-326, -12)
					label      	(object SegLabel @1017
					    Parent_View 	@1016
					    location   	(1695, 1731)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+facetContents"
					    pctDist    	0.032051
					    height     	47
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C35AF0010"
					client     	@1015
					supplier   	@1002
					line_style 	3
					origin_attachment 	(1690, 1684)
					terminal_attachment 	(1846, 1684)
					label      	(object SegLabel @1018
					    Parent_View 	@1016
					    location   	(1756, 1644)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	94
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.420732
					    height     	41
					    orientation 	0))
				    (object RoleView "$UNNAMED$188" @1019
					Parent_View 	@1015
					location   	(-326, -12)
					label      	(object SegLabel @1020
					    Parent_View 	@1019
					    location   	(1566, 1643)
					    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      	"3B6C35AF0006"
					client     	@1015
					supplier   	@1003
					line_style 	3
					origin_attachment 	(1690, 1684)
					terminal_attachment 	(1534, 1684))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @1021
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2624, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1021
				    location   	(2388, 741)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	472
				    justify    	0
				    label      	"XSDSchemaCompositor")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C21DB4102AE"
				width      	490
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @1022
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1022
				    location   	(1108, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	408
				    justify    	0
				    label      	"XSDSchemaContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B688CB800BA"
				width      	426
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @1023
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 320)
				label      	(object ItemLabel
				    Parent_View 	@1023
				    location   	(557, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	280
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$167" @1024
				location   	(963, 319)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B688E6B003D"
				roleview_list 	(list RoleViews
				    (object RoleView "contents" @1025
					Parent_View 	@1024
					location   	(595, -17)
					label      	(object SegLabel @1026
					    Parent_View 	@1025
					    location   	(974, 361)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.081081
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B688E6C0111"
					client     	@1024
					supplier   	@1022
					line_style 	3
					origin_attachment 	(963, 319)
					terminal_attachment 	(1099, 319)
					label      	(object SegLabel @1027
					    Parent_View 	@1025
					    location   	(1016, 290)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.396396
					    height     	30
					    orientation 	0))
				    (object RoleView "$UNNAMED$168" @1028
					Parent_View 	@1024
					location   	(595, -17)
					label      	(object SegLabel @1029
					    Parent_View 	@1028
					    location   	(855, 361)
					    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      	"3B688E6C0107"
					client     	@1024
					supplier   	@1023
					line_style 	3
					origin_attachment 	(963, 319)
					terminal_attachment 	(828, 319))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @1030
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2160, 992)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1030
				    location   	(1974, 949)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1031
				location   	(2322, 1593)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1030
				vertices   	(list Points
				    (2322, 1593)
				    (2322, 1047)))
			    (object InheritView "" @1032
				stereotype 	(object SegLabel @1033
				    Parent_View 	@1032
				    location   	(2146, 905)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.460000
				    height     	5
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B6AE2F5013A"
				client     	@1030
				supplier   	@966
				line_style 	3
				origin_attachment 	(2150, 937)
				terminal_attachment 	(2150, 868)
				drawSupplier 	@967)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1034
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(832, 576)
				label      	(object ItemLabel
				    Parent_View 	@1034
				    location   	(510, 532)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	644
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	662
				height     	112
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$113" @1035
				location   	(1498, 1431)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68911401AF"
				roleview_list 	(list RoleViews
				    (object RoleView "anonymousTypeDefinition" @1036
					Parent_View 	@1035
					location   	(1038, -1810)
					label      	(object SegLabel @1037
					    Parent_View 	@1036
					    location   	(2027, 1472)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	492
					    justify    	0
					    label      	"+anonymousTypeDefinition"
					    pctDist    	0.454389
					    height     	41
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6891150017"
					client     	@1035
					supplier   	@1030
					vertices   	(list Points
					    (1498, 1431)
					    (2281, 1431)
					    (2281, 1047))
					line_style 	3
					origin_attachment 	(1498, 1431)
					terminal_attachment 	(2281, 1047)
					label      	(object SegLabel @1038
					    Parent_View 	@1036
					    location   	(2204, 1397)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.605419
					    height     	35
					    orientation 	0))
				    (object RoleView "$UNNAMED$114" @1039
					Parent_View 	@1035
					location   	(1038, -1810)
					label      	(object SegLabel @1040
					    Parent_View 	@1039
					    location   	(1090, 866)
					    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      	"3B6891150016"
					client     	@1035
					supplier   	@1034
					vertices   	(list Points
					    (1498, 1431)
					    (1131, 1431)
					    (1131, 632))
					line_style 	3
					origin_attachment 	(1498, 1431)
					terminal_attachment 	(1131, 632))))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @1041
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(848, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1041
				    location   	(655, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	386
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	404
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @1042
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 896)
				label      	(object ItemLabel
				    Parent_View 	@1042
				    location   	(505, 853)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	590
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	608
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$117" @1043
				location   	(534, 736)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833EF0160"
				roleview_list 	(list RoleViews
				    (object RoleView "identityConstraintDefinitions" @1044
					Parent_View 	@1043
					location   	(86, -2144)
					label      	(object SegLabel @1045
					    Parent_View 	@1044
					    location   	(820, 748)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	550
					    justify    	0
					    label      	"+identityConstraintDefinitions"
					    pctDist    	0.111111
					    height     	286
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00299"
					client     	@1043
					supplier   	@1042
					line_style 	3
					origin_attachment 	(534, 736)
					terminal_attachment 	(534, 841)
					label      	(object SegLabel @1046
					    Parent_View 	@1044
					    location   	(595, 807)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.675926
					    height     	61
					    orientation 	0))
				    (object RoleView "$UNNAMED$118" @1047
					Parent_View 	@1043
					location   	(86, -2144)
					label      	(object SegLabel @1048
					    Parent_View 	@1047
					    location   	(576, 653)
					    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      	"3B6833F00298"
					client     	@1043
					supplier   	@1034
					line_style 	3
					origin_attachment 	(534, 736)
					terminal_attachment 	(534, 632))))
			    (object AssociationViewNew "$UNNAMED$137" @1049
				location   	(900, 1032)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D3D003E"
				roleview_list 	(list RoleViews
				    (object RoleView "selector" @1050
					Parent_View 	@1049
					location   	(84, 120)
					label      	(object SegLabel @1051
					    Parent_View 	@1050
					    location   	(1013, 1042)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+selector"
					    pctDist    	0.123288
					    height     	113
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E0234"
					client     	@1049
					supplier   	@1041
					line_style 	3
					origin_attachment 	(900, 1032)
					terminal_attachment 	(900, 1113)
					label      	(object SegLabel @1052
					    Parent_View 	@1050
					    location   	(859, 1040)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.095890
					    height     	42
					    orientation 	1))
				    (object RoleView "$UNNAMED$138" @1053
					Parent_View 	@1049
					location   	(84, 120)
					label      	(object SegLabel @1054
					    Parent_View 	@1053
					    location   	(859, 968)
					    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      	"3B6D8D3E022A"
					client     	@1049
					supplier   	@1042
					line_style 	3
					origin_attachment 	(900, 1032)
					terminal_attachment 	(900, 951))))
			    (object AssociationViewNew "$UNNAMED$139" @1055
				location   	(700, 1032)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D330025"
				roleview_list 	(list RoleViews
				    (object RoleView "fields" @1056
					Parent_View 	@1055
					location   	(-116, 120)
					label      	(object SegLabel @1057
					    Parent_View 	@1056
					    location   	(616, 1036)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	120
					    justify    	0
					    label      	"+fields"
					    pctDist    	0.054795
					    height     	85
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330379"
					client     	@1055
					supplier   	@1041
					line_style 	3
					origin_attachment 	(700, 1032)
					terminal_attachment 	(700, 1113)
					label      	(object SegLabel @1058
					    Parent_View 	@1056
					    location   	(771, 1042)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.123077
					    height     	71
					    orientation 	0))
				    (object RoleView "$UNNAMED$140" @1059
					Parent_View 	@1055
					location   	(-116, 120)
					label      	(object SegLabel @1060
					    Parent_View 	@1059
					    location   	(659, 968)
					    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      	"3B6D8D330365"
					client     	@1055
					supplier   	@1042
					line_style 	3
					origin_attachment 	(700, 1032)
					terminal_attachment 	(700, 951))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @1061
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(752, 1440)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1061
				    location   	(500, 1397)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	504
				    justify    	0
				    label      	"XSDComplexTypeContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683BA00196"
				width      	522
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1062
				location   	(550, 1590)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1061
				vertices   	(list Points
				    (550, 1590)
				    (550, 1495)))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupContent" @1063
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1504, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1063
				    location   	(1240, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	528
				    justify    	0
				    label      	"XSDAttributeGroupContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6940200089"
				width      	546
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1064
				location   	(1406, 765)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1063
				vertices   	(list Points
				    (1406, 765)
				    (1406, 631)))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1065
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2656, 1696)
				label      	(object ItemLabel
				    Parent_View 	@1065
				    location   	(2393, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	526
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	544
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$95" @1066
				location   	(1614, 1868)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6FDDD70113"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$96" @1067
					Parent_View 	@1066
					location   	(526, 476)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6FDDDA026B"
					client     	@1066
					supplier   	@1065
					vertices   	(list Points
					    (1614, 1868)
					    (2500, 1868)
					    (2500, 1751))
					line_style 	3
					origin_attachment 	(1614, 1868)
					terminal_attachment 	(2500, 1751))
				    (object RoleView "content" @1068
					Parent_View 	@1066
					location   	(526, 476)
					label      	(object SegLabel @1069
					    Parent_View 	@1068
					    location   	(896, 1787)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+content"
					    pctDist    	0.709870
					    height     	89
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6FDDDA0275"
					client     	@1066
					supplier   	@1061
					vertices   	(list Points
					    (1614, 1868)
					    (984, 1868)
					    (984, 1495))
					line_style 	3
					origin_attachment 	(1614, 1868)
					terminal_attachment 	(984, 1495)
					label      	(object SegLabel @1070
					    Parent_View 	@1068
					    location   	(1042, 1824)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.571286
					    height     	45
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$101" @1071
				location   	(2927, 387)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B698E360386"
				roleview_list 	(list RoleViews
				    (object RoleView "attributeContents" @1072
					Parent_View 	@1071
					location   	(2463, -3757)
					label      	(object SegLabel @1073
					    Parent_View 	@1072
					    location   	(1915, 357)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+attributeContents"
					    pctDist    	0.773060
					    height     	31
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B698E38007C"
					client     	@1071
					supplier   	@1063
					vertices   	(list Points
					    (2927, 387)
					    (1750, 387)
					    (1750, 521))
					line_style 	3
					origin_attachment 	(2927, 387)
					terminal_attachment 	(1750, 521)
					label      	(object SegLabel @1074
					    Parent_View 	@1072
					    location   	(1804, 425)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.857247
					    height     	38
					    orientation 	0))
				    (object RoleView "$UNNAMED$102" @1075
					Parent_View 	@1071
					location   	(2463, -3757)
					label      	(object SegLabel @1076
					    Parent_View 	@1075
					    location   	(2946, 1448)
					    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      	"3B698E380072"
					client     	@1071
					supplier   	@1065
					vertices   	(list Points
					    (2927, 387)
					    (2987, 387)
					    (2987, 1671)
					    (2928, 1671))
					line_style 	3
					origin_attachment 	(2927, 387)
					terminal_attachment 	(2928, 1671))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @1077
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1077
				    location   	(1699, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	556
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$77" @1078
				location   	(1750, 872)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69404E0067"
				roleview_list 	(list RoleViews
				    (object RoleView "contents" @1079
					Parent_View 	@1078
					location   	(1462, -2392)
					label      	(object SegLabel @1080
					    Parent_View 	@1079
					    location   	(1640, 691)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.751037
					    height     	110
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69405002A5"
					client     	@1078
					supplier   	@1063
					line_style 	3
					origin_attachment 	(1750, 872)
					terminal_attachment 	(1750, 631)
					label      	(object SegLabel @1081
					    Parent_View 	@1079
					    location   	(1814, 695)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.734440
					    height     	64
					    orientation 	1))
				    (object RoleView "$UNNAMED$78" @1082
					Parent_View 	@1078
					location   	(1462, -2392)
					label      	(object SegLabel @1083
					    Parent_View 	@1082
					    location   	(1709, 1065)
					    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      	"3B694050029B"
					client     	@1078
					supplier   	@1077
					line_style 	3
					origin_attachment 	(1750, 872)
					terminal_attachment 	(1750, 1113))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @1084
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1084
				    location   	(279, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	274
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	292
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$209" @1085
				location   	(1252, 1896)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BEBDC870247"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$210" @1086
					Parent_View 	@1085
					location   	(708, 1288)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BEBDC8C02F9"
					client     	@1085
					supplier   	@1065
					vertices   	(list Points
					    (1252, 1896)
					    (2603, 1896)
					    (2603, 1751))
					line_style 	3
					origin_attachment 	(1252, 1896)
					terminal_attachment 	(2603, 1751))
				    (object RoleView "attributeWildcardContent" @1087
					Parent_View 	@1085
					location   	(708, 1288)
					label      	(object SegLabel @1088
					    Parent_View 	@1087
					    location   	(682, 1858)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	480
					    justify    	0
					    label      	"+attributeWildcardContent"
					    pctDist    	0.381142
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BEBDC8C0303"
					client     	@1085
					supplier   	@1084
					vertices   	(list Points
					    (1252, 1896)
					    (428, 1896)
					    (428, 1223))
					line_style 	3
					origin_attachment 	(1252, 1896)
					terminal_attachment 	(428, 1223)
					label      	(object SegLabel @1089
					    Parent_View 	@1087
					    location   	(382, 1860)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.575033
					    height     	47
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$81" @1090
				location   	(1199, 1321)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C275D320220"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$82" @1091
					Parent_View 	@1090
					location   	(655, 713)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C275D3C010C"
					client     	@1090
					supplier   	@1077
					vertices   	(list Points
					    (1199, 1321)
					    (1897, 1321)
					    (1897, 1223))
					line_style 	3
					origin_attachment 	(1199, 1321)
					terminal_attachment 	(1897, 1223))
				    (object RoleView "attributeWildcardContent" @1092
					Parent_View 	@1090
					location   	(655, 713)
					label      	(object SegLabel @1093
					    Parent_View 	@1092
					    location   	(857, 1279)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	480
					    justify    	0
					    label      	"+attributeWildcardContent"
					    pctDist    	0.429569
					    height     	43
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C275D3C010D"
					client     	@1090
					supplier   	@1084
					vertices   	(list Points
					    (1199, 1321)
					    (500, 1321)
					    (500, 1223))
					line_style 	3
					origin_attachment 	(1199, 1321)
					terminal_attachment 	(500, 1223)
					label      	(object SegLabel @1094
					    Parent_View 	@1092
					    location   	(576, 1279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.782305
					    height     	43
					    orientation 	1))))
			    (object InheritView "" @1095
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@1065
				supplier   	@1030
				line_style 	3
				origin_attachment 	(2606, 1641)
				terminal_attachment 	(2606, 1593)
				drawSupplier 	@1031)
			    (object InheritView "" @1096
				stereotype 	(object SegLabel @1097
				    Parent_View 	@1096
				    location   	(759, 495)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	243
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.446429
				    height     	6
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B685F17002E"
				client     	@1034
				supplier   	@973
				line_style 	3
				origin_attachment 	(753, 520)
				terminal_attachment 	(753, 465)
				drawSupplier 	@974)
			    (object InheritView "" @1098
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@1003
				supplier   	@1030
				line_style 	3
				origin_attachment 	(1409, 1641)
				terminal_attachment 	(1409, 1593)
				drawSupplier 	@1031)
			    (object InheritView "" @1099
				stereotype 	(object SegLabel @1100
				    Parent_View 	@1099
				    location   	(759, 1591)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	219
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.980392
				    height     	385
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B685F55032B"
				client     	@1003
				supplier   	@1061
				line_style 	3
				origin_attachment 	(1144, 1641)
				terminal_attachment 	(1144, 1590)
				drawSupplier 	@1062)
			    (object InheritView "" @1101
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A640279"
				client     	@976
				supplier   	@973
				line_style 	3
				origin_attachment 	(166, 521)
				terminal_attachment 	(166, 465)
				drawSupplier 	@974)
			    (object InheritTreeView "" @1102
				location   	(431, 222)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@989
				vertices   	(list Points
				    (431, 222)
				    (431, 130)))
			    (object InheritView "" @1103
				stereotype 	(object SegLabel @1104
				    Parent_View 	@1103
				    location   	(361, 224)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	237
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.976744
				    height     	86
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B6BD2440069"
				client     	@973
				supplier   	@989
				line_style 	3
				origin_attachment 	(275, 265)
				terminal_attachment 	(275, 222)
				drawSupplier 	@1102)
			    (object InheritTreeView "" @1105
				location   	(1309, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1022
				vertices   	(list Points
				    (1309, 465)
				    (1309, 375)))
			    (object InheritView "" @1106
				stereotype 	(object SegLabel @1107
				    Parent_View 	@1106
				    location   	(941, 495)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.464286
				    height     	10
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B688E660339"
				client     	@1034
				supplier   	@1022
				line_style 	3
				origin_attachment 	(931, 520)
				terminal_attachment 	(931, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1108
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848FC01E7"
				client     	@983
				supplier   	@1061
				line_style 	3
				origin_attachment 	(250, 1641)
				terminal_attachment 	(250, 1590)
				drawSupplier 	@1062)
			    (object InheritView "" @1109
				stereotype 	(object SegLabel @1110
				    Parent_View 	@1109
				    location   	(1205, 493)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	212
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.958333
				    height     	8
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B688E6103BE"
				client     	@996
				supplier   	@1022
				line_style 	3
				origin_attachment 	(1197, 1113)
				terminal_attachment 	(1197, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1111
				stereotype 	(object SegLabel @1112
				    Parent_View 	@1111
				    location   	(1951, 905)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.848980
				    height     	73
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B6AE2EB02A8"
				client     	@1077
				supplier   	@966
				line_style 	3
				origin_attachment 	(1878, 1113)
				terminal_attachment 	(1878, 868)
				drawSupplier 	@967)
			    (object InheritView "" @1113
				stereotype 	(object SegLabel @1114
				    Parent_View 	@1113
				    location   	(1642, 807)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	187
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.879310
				    height     	61
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B69403A0221"
				client     	@1077
				supplier   	@1063
				line_style 	3
				origin_attachment 	(1703, 1113)
				terminal_attachment 	(1703, 765)
				drawSupplier 	@1064)
			    (object InheritView "" @1115
				stereotype 	(object SegLabel @1116
				    Parent_View 	@1115
				    location   	(1354, 801)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.500000
				    height     	70
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B72D737038F"
				client     	@995
				supplier   	@1063
				line_style 	3
				origin_attachment 	(1284, 837)
				terminal_attachment 	(1284, 765)
				drawSupplier 	@1064)
			    (object InheritView "" @1117
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB640240"
				client     	@965
				supplier   	@1021
				line_style 	3
				origin_attachment 	(2284, 762)
				terminal_attachment 	(2379, 762))
			    (object InheritView "" @1118
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@964
				supplier   	@1022
				line_style 	3
				origin_attachment 	(2637, 521)
				terminal_attachment 	(2637, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1119
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@1021
				supplier   	@964
				line_style 	3
				origin_attachment 	(2637, 729)
				terminal_attachment 	(2637, 631))
			    (object InheritView "" @1120
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE2B301D5"
				client     	@966
				supplier   	@1022
				line_style 	3
				origin_attachment 	(1950, 521)
				terminal_attachment 	(1950, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1121
				stereotype 	(object SegLabel @1122
				    Parent_View 	@1121
				    location   	(2821, 897)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	181
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.087719
				    height     	76
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B688E4F023C"
				client     	@963
				supplier   	@1022
				line_style 	3
				origin_attachment 	(2896, 937)
				terminal_attachment 	(2896, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1123
				stereotype 	(object SegLabel @1124
				    Parent_View 	@1123
				    location   	(2313, 904)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	207
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.850622
				    height     	68
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B6AE2E20381"
				client     	@975
				supplier   	@966
				line_style 	3
				origin_attachment 	(2381, 1109)
				terminal_attachment 	(2381, 868)
				drawSupplier 	@967)
			    (object InheritView "" @1125
				stereotype 	(object SegLabel @1126
				    Parent_View 	@1125
				    location   	(2878, 269)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	238
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.946667
				    height     	66
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B6BD2550385"
				client     	@975
				supplier   	@989
				line_style 	3
				origin_attachment 	(2943, 1109)
				terminal_attachment 	(2943, 222)
				drawSupplier 	@1102)
			    (object InheritView "" @1127
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@1084
				supplier   	@973
				line_style 	3
				origin_attachment 	(462, 1113)
				terminal_attachment 	(462, 465)
				drawSupplier 	@974)))
		    (object ClassDiagram "9. Concrete Schema Composition"
			quid       	"3C25EB7A038C"
			title      	"9. Concrete Schema Composition"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1128
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 1536)
				label      	(object ItemLabel
				    Parent_View 	@1128
				    location   	(73, 1493)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	480
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$119" @1129
				location   	(228, 1695)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B41E60251"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$120" @1130
					Parent_View 	@1129
					location   	(-476, -385)
					label      	(object SegLabel @1131
					    Parent_View 	@1130
					    location   	(217, 1623)
					    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      	"3B6B41EA02F7"
					client     	@1129
					supplier   	@1128
					vertices   	(list Points
					    (228, 1695)
					    (175, 1695)
					    (175, 1591))
					line_style 	3
					origin_attachment 	(228, 1695)
					terminal_attachment 	(175, 1591))
				    (object RoleView "resolvedElementDeclaration" @1132
					Parent_View 	@1129
					location   	(-476, -385)
					label      	(object SegLabel @1133
					    Parent_View 	@1132
					    location   	(329, 1740)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+resolvedElementDeclaration"
					    pctDist    	1.924528
					    height     	45
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B41EA030B"
					client     	@1129
					supplier   	@1128
					vertices   	(list Points
					    (228, 1695)
					    (281, 1695)
					    (281, 1591))
					line_style 	3
					origin_attachment 	(228, 1695)
					terminal_attachment 	(281, 1591)
					label      	(object SegLabel @1134
					    Parent_View 	@1132
					    location   	(229, 1646)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.005714
					    height     	50
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @1135
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1040, 1536)
				label      	(object ItemLabel
				    Parent_View 	@1135
				    location   	(790, 1493)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	500
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	518
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$155" @1136
				location   	(952, 1698)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B42450398"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$156" @1137
					Parent_View 	@1136
					location   	(-1288, -318)
					label      	(object SegLabel @1138
					    Parent_View 	@1137
					    location   	(860, 1623)
					    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      	"3B6B4249038A"
					client     	@1136
					supplier   	@1135
					vertices   	(list Points
					    (952, 1698)
					    (901, 1698)
					    (901, 1591))
					line_style 	3
					origin_attachment 	(952, 1698)
					terminal_attachment 	(901, 1591))
				    (object RoleView "resolvedModelGroupDefinition" @1139
					Parent_View 	@1136
					location   	(-1288, -318)
					label      	(object SegLabel @1140
					    Parent_View 	@1139
					    location   	(1020, 1739)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	564
					    justify    	0
					    label      	"+resolvedModelGroupDefinition"
					    pctDist    	1.326923
					    height     	41
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B4249039E"
					client     	@1136
					supplier   	@1135
					vertices   	(list Points
					    (952, 1698)
					    (1004, 1698)
					    (1004, 1591))
					line_style 	3
					origin_attachment 	(952, 1698)
					terminal_attachment 	(1004, 1591)
					label      	(object SegLabel @1141
					    Parent_View 	@1139
					    location   	(952, 1649)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.000000
					    height     	50
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @1142
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(656, 992)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1142
				    location   	(420, 949)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	472
				    justify    	0
				    label      	"XSDSchemaCompositor")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C21DB4102AE"
				width      	490
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @1143
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1143
				    location   	(412, 737)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	457
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	475
				height     	118
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @1144
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 416)
				label      	(object ItemLabel
				    Parent_View 	@1144
				    location   	(446, 285)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	388
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	406
				height     	287
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$219" @1145
				location   	(1303, 679)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DD0C03DB"
				roleview_list 	(list RoleViews
				    (object RoleView "incorporatedSchema" @1146
					Parent_View 	@1145
					location   	(-41, -857)
					label      	(object SegLabel @1147
					    Parent_View 	@1146
					    location   	(1059, 381)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+incorporatedSchema"
					    pctDist    	0.700384
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100305"
					client     	@1145
					supplier   	@1144
					vertices   	(list Points
					    (1303, 679)
					    (1303, 419)
					    (843, 419))
					line_style 	3
					origin_attachment 	(1303, 679)
					terminal_attachment 	(843, 419)
					label      	(object SegLabel @1148
					    Parent_View 	@1146
					    location   	(922, 454)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.890746
					    height     	35
					    orientation 	0))
				    (object RoleView "$UNNAMED$220" @1149
					Parent_View 	@1145
					location   	(-41, -857)
					label      	(object SegLabel @1150
					    Parent_View 	@1149
					    location   	(1045, 956)
					    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      	"3C21DD100304"
					client     	@1145
					supplier   	@1142
					vertices   	(list Points
					    (1303, 679)
					    (1303, 997)
					    (901, 997))
					line_style 	3
					origin_attachment 	(1303, 679)
					terminal_attachment 	(901, 997))))
			    (object AssociationViewNew "$UNNAMED$217" @1151
				location   	(1216, 649)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DCC700EC"
				roleview_list 	(list RoleViews
				    (object RoleView "resolvedSchema" @1152
					Parent_View 	@1151
					location   	(336, -1399)
					label      	(object SegLabel @1153
					    Parent_View 	@1152
					    location   	(1038, 500)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+resolvedSchema"
					    pctDist    	0.601923
					    height     	35
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0043"
					client     	@1151
					supplier   	@1144
					vertices   	(list Points
					    (1216, 649)
					    (1216, 534)
					    (843, 534))
					line_style 	3
					origin_attachment 	(1216, 649)
					terminal_attachment 	(843, 534)
					label      	(object SegLabel @1154
					    Parent_View 	@1152
					    location   	(926, 577)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.831643
					    height     	43
					    orientation 	0))
				    (object RoleView "$UNNAMED$218" @1155
					Parent_View 	@1151
					location   	(336, -1399)
					label      	(object SegLabel @1156
					    Parent_View 	@1155
					    location   	(974, 756)
					    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      	"3C21DCCE0042"
					client     	@1151
					supplier   	@1143
					vertices   	(list Points
					    (1216, 649)
					    (1216, 797)
					    (877, 797))
					line_style 	3
					origin_attachment 	(1216, 649)
					terminal_attachment 	(877, 797))))
			    (object AssociationViewNew "$UNNAMED$223" @1157
				location   	(662, 642)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25D3A60131"
				roleview_list 	(list RoleViews
				    (object RoleView "referencingDirectives" @1158
					Parent_View 	@1157
					location   	(-234, 114)
					label      	(object SegLabel @1159
					    Parent_View 	@1158
					    location   	(878, 675)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+referencingDirectives"
					    pctDist    	0.408759
					    height     	216
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25D3A90371"
					client     	@1157
					supplier   	@1143
					line_style 	3
					origin_attachment 	(662, 642)
					terminal_attachment 	(662, 725)
					label      	(object SegLabel @1160
					    Parent_View 	@1158
					    location   	(615, 678)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.430657
					    height     	48
					    orientation 	1))
				    (object RoleView "$UNNAMED$224" @1161
					Parent_View 	@1157
					location   	(-234, 114)
					label      	(object SegLabel @1162
					    Parent_View 	@1161
					    location   	(621, 576)
					    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      	"3C25D3A90370"
					client     	@1157
					supplier   	@1144
					line_style 	3
					origin_attachment 	(662, 642)
					terminal_attachment 	(662, 559))))
			    (object AssociationViewNew "$UNNAMED$225" @1163
				location   	(75, 188)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25ECF0005E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$226" @1164
					Parent_View 	@1163
					location   	(-853, -308)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ECF4001E"
					client     	@1163
					supplier   	@1144
					vertices   	(list Points
					    (75, 188)
					    (75, 128)
					    (510, 128)
					    (510, 273))
					line_style 	3
					origin_attachment 	(75, 188)
					terminal_attachment 	(510, 273))
				    (object RoleView "rootVersion" @1165
					Parent_View 	@1163
					location   	(-853, -308)
					label      	(object SegLabel @1166
					    Parent_View 	@1165
					    location   	(176, 74)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+rootVersion"
					    pctDist    	-0.593750
					    height     	101
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ECF40028"
					client     	@1163
					supplier   	@1144
					vertices   	(list Points
					    (75, 188)
					    (75, 380)
					    (437, 380))
					line_style 	3
					origin_attachment 	(75, 188)
					terminal_attachment 	(437, 380)
					label      	(object SegLabel @1167
					    Parent_View 	@1165
					    location   	(368, 328)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.874755
					    height     	53
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$227" @1168
				location   	(1262, 134)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25ED0B011B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$228" @1169
					Parent_View 	@1168
					location   	(334, -362)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ED0F0121"
					client     	@1168
					supplier   	@1144
					vertices   	(list Points
					    (1262, 134)
					    (766, 134)
					    (766, 273))
					line_style 	3
					origin_attachment 	(1262, 134)
					terminal_attachment 	(766, 273))
				    (object RoleView "originalVersion" @1170
					Parent_View 	@1168
					location   	(334, -362)
					label      	(object SegLabel @1171
					    Parent_View 	@1170
					    location   	(1164, 97)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+originalVersion"
					    pctDist    	-1.650000
					    height     	38
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ED0F012B"
					client     	@1168
					supplier   	@1144
					vertices   	(list Points
					    (1262, 134)
					    (1322, 134)
					    (1322, 334)
					    (843, 334))
					line_style 	3
					origin_attachment 	(1262, 134)
					terminal_attachment 	(843, 334)
					label      	(object SegLabel @1172
					    Parent_View 	@1170
					    location   	(919, 279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.898108
					    height     	56
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$229" @1173
				location   	(126, 656)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25EEAB001F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$230" @1174
					Parent_View 	@1173
					location   	(-834, 160)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25EEAF010B"
					client     	@1173
					supplier   	@1144
					vertices   	(list Points
					    (126, 656)
					    (513, 656)
					    (513, 559))
					line_style 	3
					origin_attachment 	(126, 656)
					terminal_attachment 	(513, 559))
				    (object RoleView "incorporatedVersions" @1175
					Parent_View 	@1173
					location   	(-834, 160)
					label      	(object SegLabel @1176
					    Parent_View 	@1175
					    location   	(217, 431)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	408
					    justify    	0
					    label      	"+incorporatedVersions"
					    pctDist    	0.643902
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25EEAF0115"
					client     	@1173
					supplier   	@1144
					vertices   	(list Points
					    (126, 656)
					    (66, 656)
					    (66, 472)
					    (437, 472))
					line_style 	3
					origin_attachment 	(126, 656)
					terminal_attachment 	(437, 472)
					label      	(object SegLabel @1177
					    Parent_View 	@1175
					    location   	(356, 526)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.868468
					    height     	54
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$233" @1178
				location   	(642, 126)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2784730194"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$234" @1179
					Parent_View 	@1178
					location   	(82, -418)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C27847501F1"
					client     	@1178
					supplier   	@1144
					vertices   	(list Points
					    (642, 126)
					    (588, 126)
					    (588, 273))
					line_style 	3
					origin_attachment 	(642, 126)
					terminal_attachment 	(588, 273))
				    (object RoleView "schemaForSchema" @1180
					Parent_View 	@1178
					location   	(82, -418)
					label      	(object SegLabel @1181
					    Parent_View 	@1180
					    location   	(639, 74)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	384
					    justify    	0
					    label      	"+schemaForSchema"
					    pctDist    	-0.055556
					    height     	53
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C27847501FB"
					client     	@1178
					supplier   	@1144
					vertices   	(list Points
					    (642, 126)
					    (697, 126)
					    (697, 273))
					line_style 	3
					origin_attachment 	(642, 126)
					terminal_attachment 	(697, 273)
					label      	(object SegLabel @1182
					    Parent_View 	@1180
					    location   	(643, 213)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.701863
					    height     	55
					    orientation 	1))))
			    (object InheritView "" @1183
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@1142
				supplier   	@1143
				line_style 	3
				origin_attachment 	(638, 937)
				terminal_attachment 	(638, 843))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @1184
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 1184)
				label      	(object ItemLabel
				    Parent_View 	@1184
				    location   	(67, 1141)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	474
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	492
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$73" @1185
				location   	(234, 1340)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B426B0194"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$74" @1186
					Parent_View 	@1185
					location   	(-310, -4)
					label      	(object SegLabel @1187
					    Parent_View 	@1186
					    location   	(140, 1271)
					    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      	"3B6B426D0309"
					client     	@1185
					supplier   	@1184
					vertices   	(list Points
					    (234, 1340)
					    (181, 1340)
					    (181, 1239))
					line_style 	3
					origin_attachment 	(234, 1340)
					terminal_attachment 	(181, 1239))
				    (object RoleView "resolvedAttributeDeclaration" @1188
					Parent_View 	@1185
					location   	(-310, -4)
					label      	(object SegLabel @1189
					    Parent_View 	@1188
					    location   	(333, 1389)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+resolvedAttributeDeclaration"
					    pctDist    	1.867925
					    height     	49
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B426D0313"
					client     	@1185
					supplier   	@1184
					vertices   	(list Points
					    (234, 1340)
					    (287, 1340)
					    (287, 1239))
					line_style 	3
					origin_attachment 	(234, 1340)
					terminal_attachment 	(287, 1239)
					label      	(object SegLabel @1190
					    Parent_View 	@1188
					    location   	(241, 1295)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.042945
					    height     	46
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @1191
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1760, 144)
				label      	(object ItemLabel
				    Parent_View 	@1191
				    location   	(1517, 101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	486
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	504
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @1192
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1712, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1192
				    location   	(1599, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	226
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C359403D2"
				width      	244
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$307" @1193
				location   	(1668, 280)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4AE01CC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$308" @1194
					Parent_View 	@1193
					location   	(8, -152)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4AF010F"
					client     	@1193
					supplier   	@1191
					line_style 	3
					origin_attachment 	(1668, 280)
					terminal_attachment 	(1668, 199))
				    (object RoleView "syntheticFacets" @1195
					Parent_View 	@1193
					location   	(8, -152)
					label      	(object SegLabel @1196
					    Parent_View 	@1195
					    location   	(1852, 300)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+syntheticFacets"
					    pctDist    	0.246154
					    height     	184
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4AF011A"
					client     	@1193
					supplier   	@1192
					line_style 	3
					origin_attachment 	(1668, 280)
					terminal_attachment 	(1668, 361)
					label      	(object SegLabel @1197
					    Parent_View 	@1195
					    location   	(1625, 301)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.276923
					    height     	44
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @1198
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 944)
				label      	(object ItemLabel
				    Parent_View 	@1198
				    location   	(1426, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1199
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1776, 640)
				label      	(object ItemLabel
				    Parent_View 	@1199
				    location   	(1515, 597)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	522
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	540
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$309" @1200
				location   	(1508, 792)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4D3028E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$310" @1201
					Parent_View 	@1200
					location   	(-12, -280)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4D402F3"
					client     	@1200
					supplier   	@1199
					line_style 	3
					origin_attachment 	(1508, 792)
					terminal_attachment 	(1508, 695))
				    (object RoleView "syntheticParticle" @1202
					Parent_View 	@1200
					location   	(-12, -280)
					label      	(object SegLabel @1203
					    Parent_View 	@1202
					    location   	(1695, 767)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+syntheticParticle"
					    pctDist    	-0.259259
					    height     	187
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4D402FD"
					client     	@1200
					supplier   	@1198
					line_style 	3
					origin_attachment 	(1508, 792)
					terminal_attachment 	(1508, 889)
					label      	(object SegLabel @1204
					    Parent_View 	@1202
					    location   	(1454, 829)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.395062
					    height     	55
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @1205
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1024, 1184)
				label      	(object ItemLabel
				    Parent_View 	@1205
				    location   	(756, 1141)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	554
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$85" @1206
				location   	(919, 1349)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B425E01F9"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$86" @1207
					Parent_View 	@1206
					location   	(-233, -59)
					label      	(object SegLabel @1208
					    Parent_View 	@1207
					    location   	(825, 1273)
					    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      	"3B6B42620046"
					client     	@1206
					supplier   	@1205
					vertices   	(list Points
					    (919, 1349)
					    (866, 1349)
					    (866, 1239))
					line_style 	3
					origin_attachment 	(919, 1349)
					terminal_attachment 	(866, 1239))
				    (object RoleView "resolvedAttributeGroupDefinition" @1209
					Parent_View 	@1206
					location   	(-233, -59)
					label      	(object SegLabel @1210
					    Parent_View 	@1209
					    location   	(993, 1393)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	600
					    justify    	0
					    label      	"+resolvedAttributeGroupDefinition"
					    pctDist    	1.377358
					    height     	44
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B42620050"
					client     	@1206
					supplier   	@1205
					vertices   	(list Points
					    (919, 1349)
					    (973, 1349)
					    (973, 1239))
					line_style 	3
					origin_attachment 	(919, 1349)
					terminal_attachment 	(973, 1239)
					label      	(object SegLabel @1211
					    Parent_View 	@1209
					    location   	(919, 1296)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.014925
					    height     	54
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @1212
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1952, 944)
				label      	(object ItemLabel
				    Parent_View 	@1212
				    location   	(1816, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	290
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$311" @1213
				location   	(2025, 792)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4D901F6"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$312" @1214
					Parent_View 	@1213
					location   	(153, -280)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4DA0284"
					client     	@1213
					supplier   	@1199
					line_style 	3
					origin_attachment 	(2025, 792)
					terminal_attachment 	(2025, 695))
				    (object RoleView "syntheticWildcard" @1215
					Parent_View 	@1213
					location   	(153, -280)
					label      	(object SegLabel @1216
					    Parent_View 	@1215
					    location   	(1826, 838)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+syntheticWildcard"
					    pctDist    	0.488095
					    height     	200
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4DA028E"
					client     	@1213
					supplier   	@1212
					line_style 	3
					origin_attachment 	(2025, 792)
					terminal_attachment 	(2025, 889)
					label      	(object SegLabel @1217
					    Parent_View 	@1215
					    location   	(2098, 840)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.506173
					    height     	73
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$313" @1218
				location   	(1754, 1178)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4C68FF01BF"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$314" @1219
					Parent_View 	@1218
					location   	(-198, 234)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4C69020317"
					client     	@1218
					supplier   	@1205
					line_style 	3
					origin_attachment 	(1754, 1178)
					terminal_attachment 	(1301, 1178))
				    (object RoleView "syntheticWildcard" @1220
					Parent_View 	@1218
					location   	(-198, 234)
					label      	(object SegLabel @1221
					    Parent_View 	@1220
					    location   	(1828, 1261)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+syntheticWildcard"
					    pctDist    	0.163355
					    height     	83
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4C69020318"
					client     	@1218
					supplier   	@1212
					vertices   	(list Points
					    (1754, 1178)
					    (2028, 1178)
					    (2028, 999))
					line_style 	3
					origin_attachment 	(1754, 1178)
					terminal_attachment 	(2028, 999)
					label      	(object SegLabel @1222
					    Parent_View 	@1220
					    location   	(2082, 1098)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.783664
					    height     	54
					    orientation 	1))))))
		    (object ClassDiagram "10. Diagnostics"
			quid       	"3BFE5F0803E2"
			title      	"10. Diagnostics"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::DOMNode" @1223
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(400, 1024)
				label      	(object ItemLabel
				    Parent_View 	@1223
				    location   	(66, 990)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"DOMNode")
				stereotype 	(object ItemLabel
				    Parent_View 	@1223
				    location   	(66, 940)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3BFE64A50117"
				width      	686
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDiagnosticSeverity" @1224
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1040, 656)
				label      	(object ItemLabel
				    Parent_View 	@1224
				    location   	(818, 547)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDDiagnosticSeverity")
				stereotype 	(object ItemLabel
				    Parent_View 	@1224
				    location   	(818, 497)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BFE68A7032F"
				width      	462
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @1225
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 112)
				label      	(object ItemLabel
				    Parent_View 	@1225
				    location   	(59, 60)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	266
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	284
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @1226
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(896, 112)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1226
				    location   	(540, 62)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	713
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				width      	731
				height     	125
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDiagnostic" @1227
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 608)
				label      	(object ItemLabel
				    Parent_View 	@1227
				    location   	(64, 402)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"XSDDiagnostic")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3BFE5F910046"
				width      	658
				height     	436
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$215" @1228
				location   	(144, 283)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE6431035F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$216" @1229
					Parent_View 	@1228
					location   	(-1088, -661)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE643201C6"
					client     	@1228
					supplier   	@1225
					line_style 	3
					origin_attachment 	(144, 283)
					terminal_attachment 	(144, 176))
				    (object RoleView "allDiagnostics" @1230
					Parent_View 	@1228
					location   	(-1088, -661)
					label      	(object SegLabel @1231
					    Parent_View 	@1230
					    location   	(309, 330)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+allDiagnostics"
					    pctDist    	0.448598
					    height     	165
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE643201C7"
					client     	@1228
					supplier   	@1227
					line_style 	3
					origin_attachment 	(144, 283)
					terminal_attachment 	(144, 390)
					label      	(object SegLabel @1232
					    Parent_View 	@1230
					    location   	(96, 327)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.420561
					    height     	49
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$211" @1233
				location   	(1028, 440)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE622703CD"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$212" @1234
					Parent_View 	@1233
					location   	(-396, -72)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE622B0061"
					client     	@1233
					supplier   	@1227
					line_style 	3
					origin_attachment 	(1028, 440)
					terminal_attachment 	(713, 440))
				    (object RoleView "components" @1235
					Parent_View 	@1233
					location   	(-396, -72)
					label      	(object SegLabel @1236
					    Parent_View 	@1235
					    location   	(938, 230)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+components"
					    pctDist    	0.829181
					    height     	151
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE622B006C"
					client     	@1233
					supplier   	@1226
					vertices   	(list Points
					    (1028, 440)
					    (1088, 440)
					    (1088, 174))
					line_style 	3
					origin_attachment 	(1028, 440)
					terminal_attachment 	(1088, 174)
					label      	(object SegLabel @1237
					    Parent_View 	@1235
					    location   	(1143, 232)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.823848
					    height     	55
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$213" @1238
				location   	(688, 282)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE62690165"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$214" @1239
					Parent_View 	@1238
					location   	(160, -278)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE626A0026"
					client     	@1238
					supplier   	@1226
					line_style 	3
					origin_attachment 	(688, 282)
					terminal_attachment 	(688, 174))
				    (object RoleView "diagnostics" @1240
					Parent_View 	@1238
					location   	(160, -278)
					label      	(object SegLabel @1241
					    Parent_View 	@1240
					    location   	(822, 330)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+diagnostics"
					    pctDist    	0.452632
					    height     	134
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE626A0027"
					client     	@1238
					supplier   	@1227
					line_style 	3
					origin_attachment 	(688, 282)
					terminal_attachment 	(688, 390)
					label      	(object SegLabel @1242
					    Parent_View 	@1240
					    location   	(645, 335)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.494737
					    height     	44
					    orientation 	1))))
			    (object InheritView "" @1243
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4C0F4C01A1"
				client     	@1227
				supplier   	@1226
				line_style 	3
				origin_attachment 	(575, 390)
				terminal_attachment 	(575, 174))))
		    (object ClassDiagram "11. Supplemental"
			quid       	"3C287E49019B"
			title      	"11. Supplemental"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @1244
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(464, 816)
				label      	(object ItemLabel
				    Parent_View 	@1244
				    location   	(47, 760)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	834
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	852
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @1245
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2112, 880)
				label      	(object ItemLabel
				    Parent_View 	@1245
				    location   	(1731, 824)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	762
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	780
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @1246
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 112)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1246
				    location   	(48, 60)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	480
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				width      	498
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDiagnostic" @1247
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2384, 112)
				label      	(object ItemLabel
				    Parent_View 	@1247
				    location   	(2236, 60)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"XSDDiagnostic")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3BFE5F910046"
				width      	314
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$237" @1248
				location   	(1382, 84)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2882C50137"
				roleview_list 	(list RoleViews
				    (object RoleView "primaryComponent" @1249
					Parent_View 	@1248
					location   	(-250, -508)
					label      	(object SegLabel @1250
					    Parent_View 	@1249
					    location   	(756, 116)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+primaryComponent"
					    pctDist    	0.740828
					    height     	32
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2882C70113"
					client     	@1248
					supplier   	@1246
					line_style 	3
					origin_attachment 	(1382, 84)
					terminal_attachment 	(537, 84)
					label      	(object SegLabel @1251
					    Parent_View 	@1249
					    location   	(624, 55)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.897260
					    height     	30
					    orientation 	1))
				    (object RoleView "$UNNAMED$238" @1252
					Parent_View 	@1248
					location   	(-250, -508)
					label      	(object SegLabel @1253
					    Parent_View 	@1252
					    location   	(2058, 126)
					    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      	"3C2882C70112"
					client     	@1248
					supplier   	@1247
					line_style 	3
					origin_attachment 	(1382, 84)
					terminal_attachment 	(2227, 84))))
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1254
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2160, 688)
				label      	(object ItemLabel
				    Parent_View 	@1254
				    location   	(1778, 607)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	764
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				compartment 	(object Compartment
				    Parent_View 	@1254
				    location   	(1778, 667)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	722
				    compartmentItems 	(list Compartment
					"+ elementDeclarationReference : boolean"
					"+ circular : boolean"))
				width      	782
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @1255
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 1072)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1255
				    location   	(2100, 991)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	440
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				compartment 	(object Compartment
				    Parent_View 	@1255
				    location   	(2100, 1051)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	423
				    compartmentItems 	(list Compartment
					"+ facetName : String"
					"+ effectiveValue : Value"))
				width      	458
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @1256
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 624)
				label      	(object ItemLabel
				    Parent_View 	@1256
				    location   	(47, 568)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	802
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				compartment 	(object Compartment
				    Parent_View 	@1256
				    location   	(47, 628)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	1
				    max_width  	769
				    compartmentItems 	(list Compartment
					"+ modelGroupDefinitionReference : boolean"))
				width      	820
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @1257
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 288)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1257
				    location   	(1005, 157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	454
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				compartment 	(object Compartment
				    Parent_View 	@1257
				    location   	(1005, 217)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	4
				    max_width  	356
				    compartmentItems 	(list Compartment
					"+ aliasName : String"
					"+ uRI : String"
					"+ aliasURI : String"
					"+ qName : String"))
				width      	472
				height     	286
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @1258
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 352)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1258
				    location   	(48, 296)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	544
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	562
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1259
				location   	(320, 510)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1258
				vertices   	(list Points
				    (320, 510)
				    (320, 420)))
			    (object InheritView "" @1260
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@1256
				supplier   	@1258
				line_style 	3
				origin_attachment 	(81, 556)
				terminal_attachment 	(81, 510)
				drawSupplier 	@1259)
			    (object InheritView "" @1261
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@1244
				supplier   	@1258
				line_style 	3
				origin_attachment 	(877, 748)
				terminal_attachment 	(877, 510)
				drawSupplier 	@1259)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxInclusiveFacet" @1262
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 1808)
				label      	(object ItemLabel
				    Parent_View 	@1262
				    location   	(2101, 1761)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	438
				    justify    	0
				    label      	"XSDMaxInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C787D00DA"
				width      	456
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinInclusiveFacet" @1263
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 1776)
				label      	(object ItemLabel
				    Parent_View 	@1263
				    location   	(35, 1729)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	475
				    justify    	0
				    label      	"XSDMinInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C788702C9"
				width      	493
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinExclusiveFacet" @1264
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 1936)
				label      	(object ItemLabel
				    Parent_View 	@1264
				    location   	(35, 1889)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	475
				    justify    	0
				    label      	"XSDMinExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C792D000A"
				width      	493
				height     	118
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxExclusiveFacet" @1265
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2304, 1968)
				label      	(object ItemLabel
				    Parent_View 	@1265
				    location   	(2073, 1917)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDMaxExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C789600C2"
				width      	480
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDCardinalityFacet" @1266
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 1424)
				label      	(object ItemLabel
				    Parent_View 	@1266
				    location   	(2134, 1372)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDCardinalityFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C755D03D2"
				width      	422
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDBoundedFacet" @1267
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2352, 1264)
				label      	(object ItemLabel
				    Parent_View 	@1267
				    location   	(2163, 1212)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	378
				    justify    	0
				    label      	"XSDBoundedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C751D0344"
				width      	396
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDOrderedFacet" @1268
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(224, 1392)
				label      	(object ItemLabel
				    Parent_View 	@1268
				    location   	(43, 1340)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	362
				    justify    	0
				    label      	"XSDOrderedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C74DD0248"
				width      	380
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNumericFacet" @1269
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1232)
				label      	(object ItemLabel
				    Parent_View 	@1269
				    location   	(49, 1178)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	382
				    justify    	0
				    label      	"XSDNumericFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C75950206"
				width      	400
				height     	132
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxFacet" @1270
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 1616)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1270
				    location   	(2135, 1535)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"XSDMaxFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CEB010E"
				compartment 	(object Compartment
				    Parent_View 	@1270
				    location   	(2135, 1595)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	363
				    compartmentItems 	(list Compartment
					"+ inclusive : boolean"
					"+ exclusive : boolean"))
				width      	420
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpaceFacet" @1271
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 2288)
				label      	(object ItemLabel
				    Parent_View 	@1271
				    location   	(2102, 2236)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	436
				    justify    	0
				    label      	"XSDWhiteSpaceFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C784601B7"
				width      	454
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFractionDigitsFacet" @1272
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2304, 2624)
				label      	(object ItemLabel
				    Parent_View 	@1272
				    location   	(2074, 2572)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	460
				    justify    	0
				    label      	"XSDFractionDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79BE02EE"
				width      	478
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDPatternFacet" @1273
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2368, 2128)
				label      	(object ItemLabel
				    Parent_View 	@1273
				    location   	(2196, 2076)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"XSDPatternFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ADB026C"
				width      	362
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDEnumerationFacet" @1274
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 2096)
				label      	(object ItemLabel
				    Parent_View 	@1274
				    location   	(36, 2044)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	440
				    justify    	0
				    label      	"XSDEnumerationFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ACE0141"
				width      	458
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDLengthFacet" @1275
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 2272)
				label      	(object ItemLabel
				    Parent_View 	@1275
				    location   	(38, 2220)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	340
				    justify    	0
				    label      	"XSDLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C776200E7"
				width      	358
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinFacet" @1276
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1584)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1276
				    location   	(38, 1503)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDMinFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CDE037C"
				compartment 	(object Compartment
				    Parent_View 	@1276
				    location   	(38, 1563)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	363
				    compartmentItems 	(list Compartment
					"+ inclusive : boolean"
					"+ exclusive : boolean"))
				width      	422
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @1277
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 2464)
				label      	(object ItemLabel
				    Parent_View 	@1277
				    location   	(2111, 2412)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDMaxLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C77C70146"
				width      	436
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinLengthFacet" @1278
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 2448)
				label      	(object ItemLabel
				    Parent_View 	@1278
				    location   	(39, 2396)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"XSDMinLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C778C0065"
				width      	420
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTotalDigitsFacet" @1279
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 2608)
				label      	(object ItemLabel
				    Parent_View 	@1279
				    location   	(38, 2556)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDTotalDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79A0020E"
				width      	422
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1280
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(928, 1152)
				label      	(object ItemLabel
				    Parent_View 	@1280
				    location   	(667, 1100)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	522
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	540
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @1281
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 1072)
				label      	(object ItemLabel
				    Parent_View 	@1281
				    location   	(50, 1020)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @1282
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 1360)
				label      	(object ItemLabel
				    Parent_View 	@1282
				    location   	(944, 1304)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	576
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@1282
				    location   	(944, 1364)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	538
				    compartmentItems 	(list Compartment
					"<<0..*>> + validFacets : String"))
				width      	594
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$249" @1283
				location   	(1446, 1218)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A994030A"
				roleview_list 	(list RoleViews
				    (object RoleView "rootTypeDefinition" @1284
					Parent_View 	@1283
					location   	(582, -78)
					label      	(object SegLabel @1285
					    Parent_View 	@1284
					    location   	(1580, 1173)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+rootTypeDefinition"
					    pctDist    	3.268293
					    height     	46
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A99700DD"
					client     	@1283
					supplier   	@1282
					vertices   	(list Points
					    (1446, 1218)
					    (1487, 1218)
					    (1487, 1292))
					line_style 	3
					origin_attachment 	(1446, 1218)
					terminal_attachment 	(1487, 1292)
					label      	(object SegLabel @1286
					    Parent_View 	@1284
					    location   	(1439, 1257)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.184211
					    height     	39
					    orientation 	1))
				    (object RoleView "$UNNAMED$250" @1287
					Parent_View 	@1283
					location   	(582, -78)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A99700E7"
					client     	@1283
					supplier   	@1282
					vertices   	(list Points
					    (1446, 1218)
					    (1405, 1218)
					    (1405, 1292))
					line_style 	3
					origin_attachment 	(1446, 1218)
					terminal_attachment 	(1405, 1292))))
			    (object AssociationViewNew "$UNNAMED$253" @1288
				location   	(1733, 1575)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B08D0252"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$254" @1289
					Parent_View 	@1288
					location   	(917, 7)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B08E0091"
					client     	@1288
					supplier   	@1282
					vertices   	(list Points
					    (1733, 1575)
					    (1487, 1575)
					    (1487, 1428))
					line_style 	3
					origin_attachment 	(1733, 1575)
					terminal_attachment 	(1487, 1428))
				    (object RoleView "maxFacet" @1290
					Parent_View 	@1288
					location   	(917, 7)
					label      	(object SegLabel @1291
					    Parent_View 	@1290
					    location   	(1751, 1541)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+maxFacet"
					    pctDist    	0.046243
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B08E009B"
					client     	@1288
					supplier   	@1270
					line_style 	3
					origin_attachment 	(1733, 1575)
					terminal_attachment 	(2126, 1575)
					label      	(object SegLabel @1292
					    Parent_View 	@1290
					    location   	(2042, 1536)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.789157
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$255" @1293
				location   	(1587, 1793)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0AB0396"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$256" @1294
					Parent_View 	@1293
					location   	(707, -31)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0AC03C9"
					client     	@1293
					supplier   	@1282
					vertices   	(list Points
					    (1587, 1793)
					    (1447, 1793)
					    (1447, 1428))
					line_style 	3
					origin_attachment 	(1587, 1793)
					terminal_attachment 	(1447, 1428))
				    (object RoleView "maxInclusiveFacet" @1295
					Parent_View 	@1293
					location   	(707, -31)
					label      	(object SegLabel @1296
					    Parent_View 	@1295
					    location   	(1737, 1751)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+maxInclusiveFacet"
					    pctDist    	0.298441
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0AC03D4"
					client     	@1293
					supplier   	@1262
					line_style 	3
					origin_attachment 	(1587, 1793)
					terminal_attachment 	(2092, 1793)
					label      	(object SegLabel @1297
					    Parent_View 	@1295
					    location   	(2020, 1754)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.859155
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$257" @1298
				location   	(937, 1787)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0AF0338"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$258" @1299
					Parent_View 	@1298
					location   	(617, -5)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B001F9"
					client     	@1298
					supplier   	@1282
					vertices   	(list Points
					    (937, 1787)
					    (997, 1787)
					    (997, 1428))
					line_style 	3
					origin_attachment 	(937, 1787)
					terminal_attachment 	(997, 1428))
				    (object RoleView "minInclusiveFacet" @1300
					Parent_View 	@1298
					location   	(617, -5)
					label      	(object SegLabel @1301
					    Parent_View 	@1300
					    location   	(792, 1745)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+minInclusiveFacet"
					    pctDist    	0.346062
					    height     	43
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B00203"
					client     	@1298
					supplier   	@1263
					line_style 	3
					origin_attachment 	(937, 1787)
					terminal_attachment 	(518, 1787)
					label      	(object SegLabel @1302
					    Parent_View 	@1300
					    location   	(575, 1743)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.863962
					    height     	45
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$259" @1303
				location   	(981, 1937)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0B30207"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$260" @1304
					Parent_View 	@1303
					location   	(677, -79)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B40190"
					client     	@1303
					supplier   	@1282
					vertices   	(list Points
					    (981, 1937)
					    (1041, 1937)
					    (1041, 1428))
					line_style 	3
					origin_attachment 	(981, 1937)
					terminal_attachment 	(1041, 1428))
				    (object RoleView "minExclusiveFacet" @1305
					Parent_View 	@1303
					location   	(677, -79)
					label      	(object SegLabel @1306
					    Parent_View 	@1305
					    location   	(823, 1900)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+minExclusiveFacet"
					    pctDist    	0.341253
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B4019A"
					client     	@1303
					supplier   	@1264
					line_style 	3
					origin_attachment 	(981, 1937)
					terminal_attachment 	(518, 1937)
					label      	(object SegLabel @1307
					    Parent_View 	@1305
					    location   	(589, 1897)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.846652
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$261" @1308
				location   	(1469, 1953)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0B6028D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$262" @1309
					Parent_View 	@1308
					location   	(621, -95)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B70217"
					client     	@1308
					supplier   	@1282
					vertices   	(list Points
					    (1469, 1953)
					    (1400, 1953)
					    (1400, 1428))
					line_style 	3
					origin_attachment 	(1469, 1953)
					terminal_attachment 	(1400, 1428))
				    (object RoleView "maxExclusiveFacet" @1310
					Parent_View 	@1308
					location   	(621, -95)
					label      	(object SegLabel @1311
					    Parent_View 	@1310
					    location   	(1646, 1913)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	384
					    justify    	0
					    label      	"+maxExclusiveFacet"
					    pctDist    	0.298097
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B70221"
					client     	@1308
					supplier   	@1265
					line_style 	3
					origin_attachment 	(1469, 1953)
					terminal_attachment 	(2064, 1953)
					label      	(object SegLabel @1312
					    Parent_View 	@1310
					    location   	(1961, 1913)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.827236
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$263" @1313
				location   	(1122, 2180)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0BC0051"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$264" @1314
					Parent_View 	@1313
					location   	(-318, 628)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0BC0246"
					client     	@1313
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1122, 2180)
					terminal_attachment 	(1122, 1428))
				    (object RoleView "lengthFacet" @1315
					Parent_View 	@1313
					location   	(-318, 628)
					label      	(object SegLabel @1316
					    Parent_View 	@1315
					    location   	(804, 2204)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+lengthFacet"
					    pctDist    	0.475472
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0BC0250"
					client     	@1313
					supplier   	@1275
					vertices   	(list Points
					    (1122, 2180)
					    (1122, 2240)
					    (387, 2240))
					line_style 	3
					origin_attachment 	(1122, 2180)
					terminal_attachment 	(387, 2240)
					label      	(object SegLabel @1317
					    Parent_View 	@1315
					    location   	(471, 2204)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.895597
					    height     	37
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$267" @1318
				location   	(1084, 1989)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C2021D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$268" @1319
					Parent_View 	@1318
					location   	(-1380, 437)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C300AB"
					client     	@1318
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1084, 1989)
					terminal_attachment 	(1084, 1428))
				    (object RoleView "enumerationFacets" @1320
					Parent_View 	@1318
					location   	(-1380, 437)
					label      	(object SegLabel @1321
					    Parent_View 	@1320
					    location   	(837, 2016)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+enumerationFacets"
					    pctDist    	0.465857
					    height     	34
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C300AC"
					client     	@1318
					supplier   	@1274
					vertices   	(list Points
					    (1084, 1989)
					    (1084, 2049)
					    (485, 2049))
					line_style 	3
					origin_attachment 	(1084, 1989)
					terminal_attachment 	(485, 2049)
					label      	(object SegLabel @1322
					    Parent_View 	@1320
					    location   	(583, 2021)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.851290
					    height     	29
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$269" @1323
				location   	(1451, 2074)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C50159"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$270" @1324
					Parent_View 	@1323
					location   	(-1525, 538)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C600B0"
					client     	@1323
					supplier   	@1282
					vertices   	(list Points
					    (1451, 2074)
					    (1362, 2074)
					    (1362, 1428))
					line_style 	3
					origin_attachment 	(1451, 2074)
					terminal_attachment 	(1362, 1428))
				    (object RoleView "patternFacets" @1325
					Parent_View 	@1323
					location   	(-1525, 538)
					label      	(object SegLabel @1326
					    Parent_View 	@1325
					    location   	(1720, 2038)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+patternFacets"
					    pctDist    	0.367223
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C600BA"
					client     	@1323
					supplier   	@1273
					line_style 	3
					origin_attachment 	(1451, 2074)
					terminal_attachment 	(2187, 2074)
					label      	(object SegLabel @1327
					    Parent_View 	@1325
					    location   	(1972, 2035)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.708649
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$271" @1328
				location   	(1827, 1400)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C802A7"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$272" @1329
					Parent_View 	@1328
					location   	(-1149, -472)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C901EA"
					client     	@1328
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1827, 1400)
					terminal_attachment 	(1529, 1400))
				    (object RoleView "cardinalityFacet" @1330
					Parent_View 	@1328
					location   	(-1149, -472)
					label      	(object SegLabel @1331
					    Parent_View 	@1330
					    location   	(1847, 1358)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	312
					    justify    	0
					    label      	"+cardinalityFacet"
					    pctDist    	0.071730
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C901F5"
					client     	@1328
					supplier   	@1266
					line_style 	3
					origin_attachment 	(1827, 1400)
					terminal_attachment 	(2125, 1400)
					label      	(object SegLabel @1332
					    Parent_View 	@1330
					    location   	(2083, 1357)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.863426
					    height     	44
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$281" @1333
				location   	(1262, 2413)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0DB0377"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$282" @1334
					Parent_View 	@1333
					location   	(-786, 301)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DC035A"
					client     	@1333
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1262, 2413)
					terminal_attachment 	(1262, 1428))
				    (object RoleView "fractionDigitsFacet" @1335
					Parent_View 	@1333
					location   	(-786, 301)
					label      	(object SegLabel @1336
					    Parent_View 	@1335
					    location   	(1608, 2556)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+fractionDigitsFacet"
					    pctDist    	0.537393
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DC0364"
					client     	@1333
					supplier   	@1272
					vertices   	(list Points
					    (1262, 2413)
					    (1262, 2596)
					    (2065, 2596))
					line_style 	3
					origin_attachment 	(1262, 2413)
					terminal_attachment 	(2065, 2596)
					label      	(object SegLabel @1337
					    Parent_View 	@1335
					    location   	(1979, 2556)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.913886
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$285" @1338
				location   	(1841, 1306)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0E300D9"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$286" @1339
					Parent_View 	@1338
					location   	(-1135, -790)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0E4038E"
					client     	@1338
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1841, 1306)
					terminal_attachment 	(1529, 1306))
				    (object RoleView "boundedFacet" @1340
					Parent_View 	@1338
					location   	(-1135, -790)
					label      	(object SegLabel @1341
					    Parent_View 	@1340
					    location   	(1832, 1270)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+boundedFacet"
					    pctDist    	-0.031746
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0E40398"
					client     	@1338
					supplier   	@1267
					line_style 	3
					origin_attachment 	(1841, 1306)
					terminal_attachment 	(2154, 1306)
					label      	(object SegLabel @1342
					    Parent_View 	@1340
					    location   	(2077, 1275)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.754717
					    height     	32
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$265" @1343
				location   	(1328, 2186)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0BF018C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$266" @1344
					Parent_View 	@1343
					location   	(-640, 634)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C0006B"
					client     	@1343
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1328, 2186)
					terminal_attachment 	(1328, 1428))
				    (object RoleView "whiteSpaceFacet" @1345
					Parent_View 	@1343
					location   	(-640, 634)
					label      	(object SegLabel @1346
					    Parent_View 	@1345
					    location   	(1673, 2207)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+whiteSpaceFacet"
					    pctDist    	0.490909
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C00075"
					client     	@1343
					supplier   	@1271
					vertices   	(list Points
					    (1328, 2186)
					    (1328, 2246)
					    (2093, 2246))
					line_style 	3
					origin_attachment 	(1328, 2186)
					terminal_attachment 	(2093, 2246)
					label      	(object SegLabel @1347
					    Parent_View 	@1345
					    location   	(2033, 2203)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.926763
					    height     	44
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$283" @1348
				location   	(674, 1390)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0DF0048"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$284" @1349
					Parent_View 	@1348
					location   	(-1854, -706)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DF03B9"
					client     	@1348
					supplier   	@1282
					line_style 	3
					origin_attachment 	(674, 1390)
					terminal_attachment 	(935, 1390))
				    (object RoleView "orderedFacet" @1350
					Parent_View 	@1348
					location   	(-1854, -706)
					label      	(object SegLabel @1351
					    Parent_View 	@1350
					    location   	(658, 1353)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+orderedFacet"
					    pctDist    	0.061538
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DF03C3"
					client     	@1348
					supplier   	@1268
					line_style 	3
					origin_attachment 	(674, 1390)
					terminal_attachment 	(414, 1390)
					label      	(object SegLabel @1352
					    Parent_View 	@1350
					    location   	(510, 1355)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.634615
					    height     	36
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$273" @1353
				location   	(687, 1296)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0CB039C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$274" @1354
					Parent_View 	@1353
					location   	(-1809, -576)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0CC03D0"
					client     	@1353
					supplier   	@1282
					line_style 	3
					origin_attachment 	(687, 1296)
					terminal_attachment 	(935, 1296))
				    (object RoleView "numericFacet" @1355
					Parent_View 	@1353
					location   	(-1809, -576)
					label      	(object SegLabel @1356
					    Parent_View 	@1355
					    location   	(668, 1257)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+numericFacet"
					    pctDist    	0.080972
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0CC03D1"
					client     	@1353
					supplier   	@1269
					line_style 	3
					origin_attachment 	(687, 1296)
					terminal_attachment 	(440, 1296)
					label      	(object SegLabel @1357
					    Parent_View 	@1355
					    location   	(506, 1260)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.736842
					    height     	37
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$287" @1358
				location   	(1689, 1662)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B44401EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$288" @1359
					Parent_View 	@1358
					location   	(-183, -354)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B4450360"
					client     	@1358
					supplier   	@1282
					vertices   	(list Points
					    (1689, 1662)
					    (1487, 1662)
					    (1487, 1428))
					line_style 	3
					origin_attachment 	(1689, 1662)
					terminal_attachment 	(1487, 1428))
				    (object RoleView "effectiveMaxFacet" @1360
					Parent_View 	@1358
					location   	(-183, -354)
					label      	(object SegLabel @1361
					    Parent_View 	@1360
					    location   	(1769, 1623)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+effectiveMaxFacet"
					    pctDist    	0.182051
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B445036A"
					client     	@1358
					supplier   	@1270
					line_style 	3
					origin_attachment 	(1689, 1662)
					terminal_attachment 	(2126, 1662)
					label      	(object SegLabel @1362
					    Parent_View 	@1360
					    location   	(2044, 1627)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.815385
					    height     	36
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$289" @1363
				location   	(1328, 2258)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B54F0145"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$290" @1364
					Parent_View 	@1363
					location   	(-1072, -462)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B550038C"
					client     	@1363
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1328, 2258)
					terminal_attachment 	(1328, 1428))
				    (object RoleView "effectiveWhiteSpaceFacet" @1365
					Parent_View 	@1363
					location   	(-1072, -462)
					label      	(object SegLabel @1366
					    Parent_View 	@1365
					    location   	(1685, 2288)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	492
					    justify    	0
					    label      	"+effectiveWhiteSpaceFacet"
					    pctDist    	0.508541
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5500396"
					client     	@1363
					supplier   	@1271
					vertices   	(list Points
					    (1328, 2258)
					    (1328, 2324)
					    (2093, 2324))
					line_style 	3
					origin_attachment 	(1328, 2258)
					terminal_attachment 	(2093, 2324)
					label      	(object SegLabel @1367
					    Parent_View 	@1365
					    location   	(2009, 2293)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.898817
					    height     	32
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$291" @1368
				location   	(1297, 2366)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B5C4011C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$292" @1369
					Parent_View 	@1368
					location   	(-607, -722)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5C5020D"
					client     	@1368
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1297, 2366)
					terminal_attachment 	(1297, 1428))
				    (object RoleView "effectiveMaxLengthFacet" @1370
					Parent_View 	@1368
					location   	(-607, -722)
					label      	(object SegLabel @1371
					    Parent_View 	@1370
					    location   	(1657, 2463)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	480
					    justify    	0
					    label      	"+effectiveMaxLengthFacet"
					    pctDist    	0.526906
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5C50217"
					client     	@1368
					supplier   	@1277
					vertices   	(list Points
					    (1297, 2366)
					    (1297, 2499)
					    (2102, 2499))
					line_style 	3
					origin_attachment 	(1297, 2366)
					terminal_attachment 	(2102, 2499)
					label      	(object SegLabel @1372
					    Parent_View 	@1370
					    location   	(2007, 2471)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.899308
					    height     	29
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$293" @1373
				location   	(1262, 2449)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B62A00AA"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$294" @1374
					Parent_View 	@1373
					location   	(-1170, -815)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B62B0138"
					client     	@1373
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1262, 2449)
					terminal_attachment 	(1262, 1428))
				    (object RoleView "effectiveFractionDigitsFacet" @1375
					Parent_View 	@1373
					location   	(-1170, -815)
					label      	(object SegLabel @1376
					    Parent_View 	@1375
					    location   	(1640, 2634)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+effectiveFractionDigitsFacet"
					    pctDist    	0.585315
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B62B0142"
					client     	@1373
					supplier   	@1272
					vertices   	(list Points
					    (1262, 2449)
					    (1262, 2668)
					    (2065, 2668))
					line_style 	3
					origin_attachment 	(1262, 2449)
					terminal_attachment 	(2065, 2668)
					label      	(object SegLabel @1377
					    Parent_View 	@1375
					    location   	(1989, 2629)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.926485
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$295" @1378
				location   	(1422, 2159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B6B003A6"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$296" @1379
					Parent_View 	@1378
					location   	(-770, -1313)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B6B10311"
					client     	@1378
					supplier   	@1282
					vertices   	(list Points
					    (1422, 2159)
					    (1362, 2159)
					    (1362, 1428))
					line_style 	3
					origin_attachment 	(1422, 2159)
					terminal_attachment 	(1362, 1428))
				    (object RoleView "effectivePatternFacet" @1380
					Parent_View 	@1378
					location   	(-770, -1313)
					label      	(object SegLabel @1381
					    Parent_View 	@1380
					    location   	(1727, 2125)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	408
					    justify    	0
					    label      	"+effectivePatternFacet"
					    pctDist    	0.399090
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B6B10312"
					client     	@1378
					supplier   	@1273
					line_style 	3
					origin_attachment 	(1422, 2159)
					terminal_attachment 	(2187, 2159)
					label      	(object SegLabel @1382
					    Parent_View 	@1380
					    location   	(2102, 2119)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.889226
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$297" @1383
				location   	(1084, 2083)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B7CA026B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$298" @1384
					Parent_View 	@1383
					location   	(828, -1373)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B7CB0186"
					client     	@1383
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1084, 2083)
					terminal_attachment 	(1084, 1428))
				    (object RoleView "effectiveEnumerationFacet" @1385
					Parent_View 	@1383
					location   	(828, -1373)
					label      	(object SegLabel @1386
					    Parent_View 	@1385
					    location   	(822, 2101)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	504
					    justify    	0
					    label      	"+effectiveEnumerationFacet"
					    pctDist    	0.488619
					    height     	43
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B7CB0190"
					client     	@1383
					supplier   	@1274
					vertices   	(list Points
					    (1084, 2083)
					    (1084, 2143)
					    (485, 2143))
					line_style 	3
					origin_attachment 	(1084, 2083)
					terminal_attachment 	(485, 2143)
					label      	(object SegLabel @1387
					    Parent_View 	@1385
					    location   	(531, 2100)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.931715
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$303" @1388
				location   	(1122, 2241)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B8DC0052"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$304" @1389
					Parent_View 	@1388
					location   	(866, -479)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8DC03B9"
					client     	@1388
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1122, 2241)
					terminal_attachment 	(1122, 1428))
				    (object RoleView "effectiveLengthFacet" @1390
					Parent_View 	@1388
					location   	(866, -479)
					label      	(object SegLabel @1391
					    Parent_View 	@1390
					    location   	(800, 2279)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+effectiveLengthFacet"
					    pctDist    	0.491731
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8DC03C3"
					client     	@1388
					supplier   	@1275
					vertices   	(list Points
					    (1122, 2241)
					    (1122, 2318)
					    (387, 2318))
					line_style 	3
					origin_attachment 	(1122, 2241)
					terminal_attachment 	(387, 2318)
					label      	(object SegLabel @1392
					    Parent_View 	@1390
					    location   	(470, 2279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.898567
					    height     	40
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$251" @1393
				location   	(773, 1565)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B085025B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$252" @1394
					Parent_View 	@1393
					location   	(469, 13)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0860270"
					client     	@1393
					supplier   	@1282
					vertices   	(list Points
					    (773, 1565)
					    (959, 1565)
					    (959, 1428))
					line_style 	3
					origin_attachment 	(773, 1565)
					terminal_attachment 	(959, 1428))
				    (object RoleView "minFacet" @1395
					Parent_View 	@1393
					location   	(469, 13)
					label      	(object SegLabel @1396
					    Parent_View 	@1395
					    location   	(753, 1532)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	"+minFacet"
					    pctDist    	0.063091
					    height     	34
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B086027A"
					client     	@1393
					supplier   	@1276
					line_style 	3
					origin_attachment 	(773, 1565)
					terminal_attachment 	(451, 1565)
					label      	(object SegLabel @1397
					    Parent_View 	@1395
					    location   	(534, 1523)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.746667
					    height     	43
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$305" @1398
				location   	(816, 1650)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B97001DB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$306" @1399
					Parent_View 	@1398
					location   	(496, -334)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B97100CF"
					client     	@1398
					supplier   	@1282
					vertices   	(list Points
					    (816, 1650)
					    (959, 1650)
					    (959, 1428))
					line_style 	3
					origin_attachment 	(816, 1650)
					terminal_attachment 	(959, 1428))
				    (object RoleView "effectiveMinFacet" @1400
					Parent_View 	@1398
					location   	(496, -334)
					label      	(object SegLabel @1401
					    Parent_View 	@1400
					    location   	(764, 1614)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+effectiveMinFacet"
					    pctDist    	0.141618
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B97100D9"
					client     	@1398
					supplier   	@1276
					line_style 	3
					origin_attachment 	(816, 1650)
					terminal_attachment 	(451, 1650)
					label      	(object SegLabel @1402
					    Parent_View 	@1400
					    location   	(523, 1606)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.802740
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$275" @1403
				location   	(1297, 2321)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0CF0199"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$276" @1404
					Parent_View 	@1403
					location   	(-719, 497)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D20085"
					client     	@1403
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1297, 2321)
					terminal_attachment 	(1297, 1428))
				    (object RoleView "maxLengthFacet" @1405
					Parent_View 	@1403
					location   	(-719, 497)
					label      	(object SegLabel @1406
					    Parent_View 	@1405
					    location   	(1630, 2380)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+maxLengthFacet"
					    pctDist    	0.472255
					    height     	30
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D2008F"
					client     	@1403
					supplier   	@1277
					vertices   	(list Points
					    (1297, 2321)
					    (1297, 2409)
					    (2102, 2409))
					line_style 	3
					origin_attachment 	(1297, 2321)
					terminal_attachment 	(2102, 2409)
					label      	(object SegLabel @1407
					    Parent_View 	@1405
					    location   	(1994, 2366)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.879208
					    height     	44
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$277" @1408
				location   	(1159, 2273)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0D500C5"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$278" @1409
					Parent_View 	@1408
					location   	(-281, 449)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D6001D"
					client     	@1408
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1159, 2273)
					terminal_attachment 	(1159, 1428))
				    (object RoleView "minLengthFacet" @1410
					Parent_View 	@1408
					location   	(-281, 449)
					label      	(object SegLabel @1411
					    Parent_View 	@1410
					    location   	(857, 2372)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+minLengthFacet"
					    pctDist    	0.519527
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D60027"
					client     	@1408
					supplier   	@1278
					vertices   	(list Points
					    (1159, 2273)
					    (1159, 2409)
					    (450, 2409))
					line_style 	3
					origin_attachment 	(1159, 2273)
					terminal_attachment 	(450, 2409)
					label      	(object SegLabel @1412
					    Parent_View 	@1410
					    location   	(523, 2369)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.913610
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$301" @1413
				location   	(1197, 2334)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B898016D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$302" @1414
					Parent_View 	@1413
					location   	(941, -610)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8990056"
					client     	@1413
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1197, 2334)
					terminal_attachment 	(1197, 1428))
				    (object RoleView "effectiveMinLengthFacet" @1415
					Parent_View 	@1413
					location   	(941, -610)
					label      	(object SegLabel @1416
					    Parent_View 	@1415
					    location   	(856, 2454)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	468
					    justify    	0
					    label      	"+effectiveMinLengthFacet"
					    pctDist    	0.552604
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8990060"
					client     	@1413
					supplier   	@1278
					vertices   	(list Points
					    (1197, 2334)
					    (1197, 2493)
					    (450, 2493))
					line_style 	3
					origin_attachment 	(1197, 2334)
					terminal_attachment 	(450, 2493)
					label      	(object SegLabel @1417
					    Parent_View 	@1415
					    location   	(527, 2451)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.916047
					    height     	43
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$299" @1418
				location   	(1231, 2438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B8400062"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$300" @1419
					Parent_View 	@1418
					location   	(863, -746)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B841001D"
					client     	@1418
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1231, 2438)
					terminal_attachment 	(1231, 1428))
				    (object RoleView "effectiveTotalDigitsFacet" @1420
					Parent_View 	@1418
					location   	(863, -746)
					label      	(object SegLabel @1421
					    Parent_View 	@1420
					    location   	(859, 2632)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	468
					    justify    	0
					    label      	"+effectiveTotalDigitsFacet"
					    pctDist    	0.597030
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8410027"
					client     	@1418
					supplier   	@1279
					vertices   	(list Points
					    (1231, 2438)
					    (1231, 2668)
					    (451, 2668))
					line_style 	3
					origin_attachment 	(1231, 2438)
					terminal_attachment 	(451, 2668)
					label      	(object SegLabel @1422
					    Parent_View 	@1420
					    location   	(534, 2631)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.918812
					    height     	38
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$279" @1423
				location   	(1231, 2397)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0D800DE"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$280" @1424
					Parent_View 	@1423
					location   	(-209, 253)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D803CD"
					client     	@1423
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1231, 2397)
					terminal_attachment 	(1231, 1428))
				    (object RoleView "totalDigitsFacet" @1425
					Parent_View 	@1423
					location   	(-209, 253)
					label      	(object SegLabel @1426
					    Parent_View 	@1425
					    location   	(853, 2550)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	312
					    justify    	0
					    label      	"+totalDigitsFacet"
					    pctDist    	0.585567
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D803D7"
					client     	@1423
					supplier   	@1279
					vertices   	(list Points
					    (1231, 2397)
					    (1231, 2587)
					    (451, 2587))
					line_style 	3
					origin_attachment 	(1231, 2397)
					terminal_attachment 	(451, 2587)
					label      	(object SegLabel @1427
					    Parent_View 	@1425
					    location   	(535, 2560)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.914647
					    height     	28
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @1428
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 768)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1428
				    location   	(1019, 574)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	444
				height     	413
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1429
				location   	(1209, 1065)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1428
				vertices   	(list Points
				    (1209, 1065)
				    (1209, 974)))
			    (object AssociationViewNew "$UNNAMED$235" @1430
				location   	(1090, 1031)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2880F503D9"
				roleview_list 	(list RoleViews
				    (object RoleView "rootTypeDefinition" @1431
					Parent_View 	@1430
					location   	(322, -25)
					label      	(object SegLabel @1432
					    Parent_View 	@1431
					    location   	(897, 1036)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+rootTypeDefinition"
					    pctDist    	-0.098765
					    height     	194
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2880F9003C"
					client     	@1430
					supplier   	@1428
					line_style 	3
					origin_attachment 	(1090, 1031)
					terminal_attachment 	(1090, 974)
					label      	(object SegLabel @1433
					    Parent_View 	@1431
					    location   	(1121, 1034)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.061728
					    height     	31
					    orientation 	1))
				    (object RoleView "$UNNAMED$236" @1434
					Parent_View 	@1430
					location   	(322, -25)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2880F90046"
					client     	@1430
					supplier   	@1280
					line_style 	3
					origin_attachment 	(1090, 1031)
					terminal_attachment 	(1090, 1088))))
			    (object AssociationViewNew "$UNNAMED$241" @1435
				location   	(1538, 873)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A6DB01E5"
				roleview_list 	(list RoleViews
				    (object RoleView "rootType" @1436
					Parent_View 	@1435
					location   	(178, 105)
					label      	(object SegLabel @1437
					    Parent_View 	@1436
					    location   	(1558, 792)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+rootType"
					    pctDist    	-1.760870
					    height     	20
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A6DD03DD"
					client     	@1435
					supplier   	@1428
					vertices   	(list Points
					    (1538, 873)
					    (1538, 919)
					    (1454, 919))
					line_style 	3
					origin_attachment 	(1538, 873)
					terminal_attachment 	(1454, 919)
					label      	(object SegLabel @1438
					    Parent_View 	@1436
					    location   	(1509, 875)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.016667
					    height     	30
					    orientation 	1))
				    (object RoleView "$UNNAMED$242" @1439
					Parent_View 	@1435
					location   	(178, 105)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A6DD03DE"
					client     	@1435
					supplier   	@1428
					vertices   	(list Points
					    (1538, 873)
					    (1538, 828)
					    (1454, 828))
					line_style 	3
					origin_attachment 	(1538, 873)
					terminal_attachment 	(1454, 828))))
			    (object AssociationViewNew "$UNNAMED$243" @1440
				location   	(1535, 684)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A7120108"
				roleview_list 	(list RoleViews
				    (object RoleView "baseType" @1441
					Parent_View 	@1440
					location   	(175, -84)
					label      	(object SegLabel @1442
					    Parent_View 	@1441
					    location   	(1559, 597)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+baseType"
					    pctDist    	-1.977273
					    height     	24
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7140151"
					client     	@1440
					supplier   	@1428
					vertices   	(list Points
					    (1535, 684)
					    (1535, 728)
					    (1454, 728))
					line_style 	3
					origin_attachment 	(1535, 684)
					terminal_attachment 	(1454, 728)
					label      	(object SegLabel @1443
					    Parent_View 	@1441
					    location   	(1506, 683)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.027778
					    height     	30
					    orientation 	1))
				    (object RoleView "$UNNAMED$244" @1444
					Parent_View 	@1440
					location   	(175, -84)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A714015B"
					client     	@1440
					supplier   	@1428
					vertices   	(list Points
					    (1535, 684)
					    (1535, 641)
					    (1454, 641))
					line_style 	3
					origin_attachment 	(1535, 684)
					terminal_attachment 	(1454, 641))))
			    (object AssociationViewNew "$UNNAMED$247" @1445
				location   	(613, 940)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A7ED03C0"
				roleview_list 	(list RoleViews
				    (object RoleView "complexType" @1446
					Parent_View 	@1445
					location   	(-747, 172)
					label      	(object SegLabel @1447
					    Parent_View 	@1446
					    location   	(465, 983)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+complexType"
					    pctDist    	0.373057
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7F40117"
					client     	@1445
					supplier   	@1281
					vertices   	(list Points
					    (613, 940)
					    (284, 940)
					    (284, 1008))
					line_style 	3
					origin_attachment 	(613, 940)
					terminal_attachment 	(284, 1008)
					label      	(object SegLabel @1448
					    Parent_View 	@1446
					    location   	(224, 972)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.909320
					    height     	61
					    orientation 	1))
				    (object RoleView "$UNNAMED$248" @1449
					Parent_View 	@1445
					location   	(-747, 172)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7F40121"
					client     	@1445
					supplier   	@1428
					line_style 	3
					origin_attachment 	(613, 940)
					terminal_attachment 	(1010, 940))))
			    (object InheritView "" @1450
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@1428
				supplier   	@1258
				line_style 	3
				origin_attachment 	(1112, 562)
				terminal_attachment 	(1112, 510)
				drawSupplier 	@1259)
			    (object InheritView "" @1451
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@1280
				supplier   	@1428
				line_style 	3
				origin_attachment 	(1146, 1088)
				terminal_attachment 	(1146, 1065)
				drawSupplier 	@1429)
			    (object AssociationViewNew "$UNNAMED$245" @1452
				location   	(1362, 1133)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A74B0178"
				roleview_list 	(list RoleViews
				    (object RoleView "simpleType" @1453
					Parent_View 	@1452
					location   	(-158, -163)
					label      	(object SegLabel @1454
					    Parent_View 	@1453
					    location   	(1499, 1094)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+simpleType"
					    pctDist    	-0.246753
					    height     	137
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A74D017B"
					client     	@1452
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1362, 1133)
					terminal_attachment 	(1362, 1292)
					label      	(object SegLabel @1455
					    Parent_View 	@1453
					    location   	(1321, 1097)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	-0.227273
					    height     	42
					    orientation 	1))
				    (object RoleView "$UNNAMED$246" @1456
					Parent_View 	@1452
					location   	(-158, -163)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A74D0185"
					client     	@1452
					supplier   	@1428
					line_style 	3
					origin_attachment 	(1362, 1133)
					terminal_attachment 	(1362, 974))))
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @1457
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2272, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1457
				    location   	(2002, 303)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				compartment 	(object Compartment
				    Parent_View 	@1457
				    location   	(2002, 363)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	508
				    compartmentItems 	(list Compartment
					"+ global : boolean"
					"+ featureReference : boolean"))
				width      	558
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1458
				location   	(2262, 568)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1457
				vertices   	(list Points
				    (2262, 568)
				    (2262, 477)))
			    (object InheritView "" @1459
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@1254
				supplier   	@1457
				line_style 	3
				origin_attachment 	(2346, 595)
				terminal_attachment 	(2346, 568)
				drawSupplier 	@1458)
			    (object AssociationViewNew "$UNNAMED$239" @1460
				location   	(1553, 453)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A0F201A4"
				roleview_list 	(list RoleViews
				    (object RoleView "type" @1461
					Parent_View 	@1460
					location   	(801, 293)
					label      	(object SegLabel @1462
					    Parent_View 	@1461
					    location   	(1331, 499)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	108
					    justify    	0
					    label      	"+type"
					    pctDist    	0.506266
					    height     	46
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A0F302E5"
					client     	@1460
					supplier   	@1428
					vertices   	(list Points
					    (1553, 453)
					    (1222, 453)
					    (1222, 562))
					line_style 	3
					origin_attachment 	(1553, 453)
					terminal_attachment 	(1222, 562)
					label      	(object SegLabel @1463
					    Parent_View 	@1461
					    location   	(1185, 479)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.812030
					    height     	38
					    orientation 	1))
				    (object RoleView "$UNNAMED$240" @1464
					Parent_View 	@1460
					location   	(801, 293)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A0F302F0"
					client     	@1460
					supplier   	@1457
					line_style 	3
					origin_attachment 	(1553, 453)
					terminal_attachment 	(1993, 453))))
			    (object AssociationViewNew "$UNNAMED$131" @1465
				location   	(1908, 353)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C29010602D7"
				roleview_list 	(list RoleViews
				    (object RoleView "resolvedFeature" @1466
					Parent_View 	@1465
					location   	(-268, -159)
					label      	(object SegLabel @1467
					    Parent_View 	@1466
					    location   	(1729, 352)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	312
					    justify    	0
					    label      	"+resolvedFeature"
					    pctDist    	-0.029412
					    height     	180
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C29010B000E"
					client     	@1465
					supplier   	@1457
					vertices   	(list Points
					    (1908, 353)
					    (1908, 387)
					    (1993, 387))
					line_style 	3
					origin_attachment 	(1908, 353)
					terminal_attachment 	(1993, 387)
					label      	(object SegLabel @1468
					    Parent_View 	@1466
					    location   	(1945, 354)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.596639
					    height     	34
					    orientation 	0))
				    (object RoleView "$UNNAMED$132" @1469
					Parent_View 	@1465
					location   	(-268, -159)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C29010B0018"
					client     	@1465
					supplier   	@1457
					vertices   	(list Points
					    (1908, 353)
					    (1908, 319)
					    (1993, 319))
					line_style 	3
					origin_attachment 	(1908, 353)
					terminal_attachment 	(1993, 319))))
			    (object InheritView "" @1470
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@1258
				supplier   	@1257
				vertices   	(list Points
				    (494, 284)
				    (494, 244)
				    (996, 244))
				line_style 	3
				origin_attachment 	(494, 284)
				terminal_attachment 	(996, 244))
			    (object InheritView "" @1471
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@1245
				supplier   	@1457
				line_style 	3
				origin_attachment 	(1718, 812)
				terminal_attachment 	(1718, 568)
				drawSupplier 	@1458)
			    (object InheritView "" @1472
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@1282
				supplier   	@1428
				line_style 	3
				origin_attachment 	(1265, 1292)
				terminal_attachment 	(1265, 1065)
				drawSupplier 	@1429)
			    (object InheritView "" @1473
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@1457
				supplier   	@1257
				vertices   	(list Points
				    (2147, 291)
				    (2147, 244)
				    (1468, 244))
				line_style 	3
				origin_attachment 	(2147, 291)
				terminal_attachment 	(1468, 244)))))))
	logical_presentations 	(list unit_reference_list
	    (object ClassDiagram "Main"
		quid       	"39E27F080076"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list
		    (object CategoryView "Logical View::wsdl" @1474
			location   	(272, 256)
			label      	(object ItemLabel
			    Parent_View 	@1474
			    location   	(128, 172)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"wsdl")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"3ADFB8E5021E"
			width      	300
			height     	180)
		    (object CategoryView "Logical View::xsd" @1475
			location   	(272, 576)
			label      	(object ItemLabel
			    Parent_View 	@1475
			    location   	(128, 492)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"xsd")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"39ABDC6F01AA"
			width      	300
			height     	180)))))
    root_subsystem 	(object SubSystem "Component View"
	quid       	"39E27F080065"
	physical_models 	(list unit_reference_list)
	physical_presentations 	(list unit_reference_list
	    (object Module_Diagram "Main"
		quid       	"39E27F080077"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    process_structure 	(object Processes
	quid       	"39E27F080066"
	ProcsNDevs 	(list
	    (object Process_Diagram "Deployment View"
		quid       	"39E27F080068"
		title      	"Deployment View"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    properties 	(object Properties
	attributes 	(list Attribute_Set
	    (object Attribute
		tool       	"DDL"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"DDL"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"DDL"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"DDL"
			name       	"DataBase"
			value      	("DataBaseSet" 800))
		    (object Attribute
			tool       	"DDL"
			name       	"DataBaseSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"DDL"
				name       	"ANSI"
				value      	800)
			    (object Attribute
				tool       	"DDL"
				name       	"Oracle"
				value      	801)
			    (object Attribute
				tool       	"DDL"
				name       	"SQLServer"
				value      	802)
			    (object Attribute
				tool       	"DDL"
				name       	"Sybase"
				value      	803)
			    (object Attribute
				tool       	"DDL"
				name       	"Watcom"
				value      	804)))
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKeyColumnName"
			value      	"Id")
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKeyColumnType"
			value      	"NUMBER(5)")
		    (object Attribute
			tool       	"DDL"
			name       	"ViewName"
			value      	"V_")
		    (object Attribute
			tool       	"DDL"
			name       	"TableName"
			value      	"T_")
		    (object Attribute
			tool       	"DDL"
			name       	"InheritSuffix"
			value      	"_V")
		    (object Attribute
			tool       	"DDL"
			name       	"DropClause"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"BaseViews"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"DDLScriptFilename"
			value      	"DDL1.SQL")))
	    (object Attribute
		tool       	"DDL"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"DDL"
			name       	"ColumnType"
			value      	"VARCHAR")
		    (object Attribute
			tool       	"DDL"
			name       	"Length"
			value      	"")
		    (object Attribute
			tool       	"DDL"
			name       	"NullsOK"
			value      	TRUE)
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKey"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"Unique"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"CompositeUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"CheckConstraint"
			value      	"")))
	    (object Attribute
		tool       	"DDL"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"framework"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"IDL"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"IDL"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"StopOnError"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"GeneratePreserveRegions"
			value      	TRUE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"ImplementationType"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDefaultSpecifier"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"DefaultSpecifier"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"IDLElement"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"IDLSpecificationType"
			value      	("IDLSpecSet" 22))
		    (object Attribute
			tool       	"IDL"
			name       	"IDLSpecSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Interface"
				value      	22)
			    (object Attribute
				tool       	"IDL"
				name       	"Typedef"
				value      	54)
			    (object Attribute
				tool       	"IDL"
				name       	"Enumeration"
				value      	8)
			    (object Attribute
				tool       	"IDL"
				name       	"Const"
				value      	71)
			    (object Attribute
				tool       	"IDL"
				name       	"Exception"
				value      	61)
			    (object Attribute
				tool       	"IDL"
				name       	"Struct"
				value      	51)
			    (object Attribute
				tool       	"IDL"
				name       	"Union"
				value      	81)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.services/src/rose/wsdlMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"IDL"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateIDLModule"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"IncludeBySimpleName"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.services/src/rose/wsdlMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"IDL"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"IncludeBySimpleName"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"OperationIsOneWay"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"Raises"
			value      	"")))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"ConstValue"
			value      	"")))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"BoundedHasRelType"
			value      	("HasRelTypeSet" 47))
		    (object Attribute
			tool       	"IDL"
			name       	"HasRelTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"IDL"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"IDL"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"IDL"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Subsystem"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"Directory"
			value      	"AUTO GENERATE")))
	    (object Attribute
		tool       	"IDL"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Java"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"Java"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"StopOnError"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"Java"
			name       	"UsePrefixes"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"InstanceVariablePrefix"
			value      	"m_")
		    (object Attribute
			tool       	"Java"
			name       	"ClassVariablePrefix"
			value      	"s_")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultAttributeDataType"
			value      	"int")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultOperationReturnType"
			value      	"void")))
	    (object Attribute
		tool       	"Java"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDefaultConstructor"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ConstructorIs"
			value      	("Ctor_Set" 62))
		    (object Attribute
			tool       	"Java"
			name       	"Ctor_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Public"
				value      	62)
			    (object Attribute
				tool       	"Java"
				name       	"Protected"
				value      	63)
			    (object Attribute
				tool       	"Java"
				name       	"Private"
				value      	64)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"AdditionalImports"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"AdditionalImports"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Java"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Abstract"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Static"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Native"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Synchronized"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Transient"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Volatile"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"InitialValue"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Transient"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Volatile"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Oracle8"
		name       	"propertyId"
		value      	"360000002")
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"DDLScriptFilename"
			value      	"DDL1.SQL")
		    (object Attribute
			tool       	"Oracle8"
			name       	"DropClause"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"PrimaryKeyColumnName"
			value      	"_ID")
		    (object Attribute
			tool       	"Oracle8"
			name       	"PrimaryKeyColumnType"
			value      	"NUMBER(5,0)")
		    (object Attribute
			tool       	"Oracle8"
			name       	"SchemaNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"SchemaNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TableNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TypeNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TypeNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ViewNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ViewNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"VarrayNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"VarrayNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"NestedTableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"NestedTableNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ObjectTableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ObjectTableNameSuffix"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsSchema"
			value      	FALSE)))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OID"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"WhereClause"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CheckConstraint"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypeLength"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypePrecision"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypeScale"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionOfREFS"
			value      	FALSE)))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"MethodKind"
			value      	("MethodKindSet" 1903))
		    (object Attribute
			tool       	"Oracle8"
			name       	"OverloadID"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsReadNoDataState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsReadNoProcessState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsWriteNoDataState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsWriteNoProcessState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsSelfish"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerType"
			value      	("TriggerTypeSet" 1801))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerEvent"
			value      	("TriggerEventSet" 1601))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerText"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerReferencingNames"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerForEach"
			value      	("TriggerForEachSet" 1701))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerWhenClause"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"MethodKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"MapMethod"
				value      	1901)
			    (object Attribute
				tool       	"Oracle8"
				name       	"OrderMethod"
				value      	1902)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Function"
				value      	1903)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Procedure"
				value      	1904)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Operator"
				value      	1905)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Constructor"
				value      	1906)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Destructor"
				value      	1907)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Trigger"
				value      	1908)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Calculated"
				value      	1909)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"AFTER"
				value      	1801)
			    (object Attribute
				tool       	"Oracle8"
				name       	"BEFORE"
				value      	1802)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSTEAD OF"
				value      	1803)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerForEachSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"ROW"
				value      	1701)
			    (object Attribute
				tool       	"Oracle8"
				name       	"STATEMENT"
				value      	1702)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerEventSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT"
				value      	1601)
			    (object Attribute
				tool       	"Oracle8"
				name       	"UPDATE"
				value      	1602)
			    (object Attribute
				tool       	"Oracle8"
				name       	"DELETE"
				value      	1603)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR UPDATE"
				value      	1604)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR DELETE"
				value      	1605)
			    (object Attribute
				tool       	"Oracle8"
				name       	"UPDATE OR DELETE"
				value      	1606)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR UPDATE OR DELETE"
				value      	1607)))))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"NullsAllowed"
			value      	TRUE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"Length"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"Precision"
			value      	"2")
		    (object Attribute
			tool       	"Oracle8"
			name       	"Scale"
			value      	"6")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsIndex"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsPrimaryKey"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"CompositeUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"CheckConstraint"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Repository"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"cg"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"cg"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"UseMSVC"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileExtension"
			value      	"h")
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileBackupExtension"
			value      	"h~")
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileTemporaryExtension"
			value      	"h#")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileExtension"
			value      	"cpp")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileBackupExtension"
			value      	"cp~")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileTemporaryExtension"
			value      	"cp#")
		    (object Attribute
			tool       	"cg"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"StopOnError"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ErrorLimit"
			value      	30)
		    (object Attribute
			tool       	"cg"
			name       	"Directory"
			value      	"$ROSECPP_SOURCE")
		    (object Attribute
			tool       	"cg"
			name       	"PathSeparator"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"FileNameFormat"
			value      	"128vx_b")
		    (object Attribute
			tool       	"cg"
			name       	"BooleanType"
			value      	"int")
		    (object Attribute
			tool       	"cg"
			name       	"AllowTemplates"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AllowExplicitInstantiations"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AllowProtectedInheritance"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"CommentWidth"
			value      	60)
		    (object Attribute
			tool       	"cg"
			name       	"OneByValueContainer"
			value      	"$targetClass")
		    (object Attribute
			tool       	"cg"
			name       	"OneByReferenceContainer"
			value      	"$targetClass *")
		    (object Attribute
			tool       	"cg"
			name       	"OptionalByValueContainer"
			value      	"OptionalByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"OptionalByReferenceContainer"
			value      	"$targetClass *")
		    (object Attribute
			tool       	"cg"
			name       	"FixedByValueContainer"
			value      	"$targetClass[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedFixedByValueContainer"
			value      	"$targetClass[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"FixedByReferenceContainer"
			value      	"$targetClass *[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedFixedByReferenceContainer"
			value      	"$targetClass *[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"BoundedByValueContainer"
			value      	"BoundedListByValue<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedBoundedByValueContainer"
			value      	"BoundedSetByValue<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"BoundedByReferenceContainer"
			value      	"BoundedListByReference<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedBoundedByReferenceContainer"
			value      	"BoundedSetByReference<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnboundedByValueContainer"
			value      	"UnboundedListByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedUnboundedByValueContainer"
			value      	"UnboundedSetByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnboundedByReferenceContainer"
			value      	"UnboundedListByReference<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedUnboundedByReferenceContainer"
			value      	"UnboundedSetByReference<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedByValueContainer"
			value      	"AssociationByValue<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedQualifiedByValueContainer"
			value      	"DictionaryByValue<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedByReferenceContainer"
			value      	"AssociationByReference<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedQualifiedByReferenceContainer"
			value      	"DictionaryByReference<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"GeneratePreserveRegions"
			value      	TRUE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ImplementationType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ClassKey"
			value      	"class")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"PutBodiesInSpec"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDefaultConstructor"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"DefaultConstructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineDefaultConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ExplicitDefaultConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateCopyConstructor"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"CopyConstructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineCopyConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ExplicitCopyConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDestructor"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DestructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"DestructorKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineDestructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssignmentOperation"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"AssignmentVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"AssignmentKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssignmentOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEqualityOperations"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"EqualityVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"EqualityKind"
			value      	("FriendKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineEqualityOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateRelationalOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"RelationalVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"RelationalKind"
			value      	("FriendKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineRelationalOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateStorageMgmtOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"StorageMgmtVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineStorageMgmtOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSubscriptOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineSubscriptOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDereferenceOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineDereferenceOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateIndirectionOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineIndirectionOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateStreamOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"StreamVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineStreamOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ThreeKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)))
		    (object Attribute
			tool       	"cg"
			name       	"KindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)))
		    (object Attribute
			tool       	"cg"
			name       	"FriendKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"DeclareAndDefine"
				value      	199)
			    (object Attribute
				tool       	"cg"
				name       	"DeclareOnly"
				value      	205)
			    (object Attribute
				tool       	"cg"
				name       	"DoNotDeclare"
				value      	206)))
		    (object Attribute
			tool       	"cg"
			name       	"VisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)))
		    (object Attribute
			tool       	"cg"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDefaultSpecifier"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DefaultSpecifier"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.services/src/rose/wsdlMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"cg"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"AllowExtensionlessFileName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"IncludeFormat"
			value      	(value Text 
|// $package
|#include "$file"
|
			))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeBySimpleName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludePrecompiledHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeOrder"
			value      	"AMIR")
		    (object Attribute
			tool       	"cg"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyle"
			value      	("InliningStyleSet" 207))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"InClassDeclaration"
				value      	208)
			    (object Attribute
				tool       	"cg"
				name       	"FollowingClassDeclaration"
				value      	207)))
		    (object Attribute
			tool       	"cg"
			name       	"TypesDefined"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeClosure"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.services/src/rose/wsdlMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"cg"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"AllowExtensionlessFileName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeFormat"
			value      	(value Text 
|// $package
|#include "$file"
|
			))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeBySimpleName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludePrecompiledHeader"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeOrder"
			value      	"AMIR")
		    (object Attribute
			tool       	"cg"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyle"
			value      	("InliningStyleSet" 207))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"InClassDeclaration"
				value      	208)
			    (object Attribute
				tool       	"cg"
				name       	"FollowingClassDeclaration"
				value      	207)))
		    (object Attribute
			tool       	"cg"
			name       	"TypesDefined"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeClosure"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"OperationKind"
			value      	("OperationKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"OperationKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsExplicit"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Inline"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"EntryCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"ExitCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"BodyAnnotations"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsOneWay"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"Raises"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"Ordered"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"SelectorName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"SelectorType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BoundedHasRelType"
			value      	("HasRelTypeSet" 47))
		    (object Attribute
			tool       	"cg"
			name       	"HasRelTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"cg"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Association"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$targetClass")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Inherit"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"InstanceArguments"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$targetClass")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$target")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ContainerGet"
			value      	"$data.get($keys)")
		    (object Attribute
			tool       	"cg"
			name       	"ContainerSet"
			value      	"$data.set($keys,$value)")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedContainer"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassContainer"
			value      	"$supplier *")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassInitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetSetByReference"
			value      	("QualifiedGetSetByReferenceSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetSetByReferenceSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_GetSetByReference"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateQualifiedGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"InlineQualifiedGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateQualifiedSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedSetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedSetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineQualifiedSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberName"
			value      	"$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssocClassGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassSetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassSetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssocClassSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassForwardReferenceOnly"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"cg"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"cg"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtAttributeVisibility"
				value      	211)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BodyReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Subsystem"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"DirectoryIsOnSearchList"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"PrecompiledHeader"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Category"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"IsNamespace"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Indent"
			value      	2)
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))))
	    (object Attribute
		tool       	"MSVC"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Version"
			value      	"5.0")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCClassTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCClassTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Interface_Part"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Connection_Part"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Class_Factory"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"CObjectFunctionality"
			value      	("CObjectFunctionalitySet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"CObjectFunctionalitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dynamic"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dyncreate"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Serial"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOverrideGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDataGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DATA_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateFieldGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_FIELD_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMessageGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMessageMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MESSAGE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEFactory"
			value      	("OLEFactorySet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEFactorySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Built_in"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Simple"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Licensed"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEName"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEClassID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOLECtlType"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLECtlType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOLETypeLib"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibMajor"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibMinor"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GeneratePropPageIDs"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEPropPageIDs"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDispatchMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockProperties"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockFunctions"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DispatchDefValue"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDispIdEnum"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISP_ID_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInterfaceMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"INTERFACE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"InitInterface"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateEventMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockEvents"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateEventSinkMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"PropNotifySinks"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateConnectionMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"CONNECTION_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"ConnectionPointIID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"InheritanceType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLECommands"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MFCDeclares"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MFCImplements"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"ATL_Declares"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateCOMMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"COM_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateConnectionPointMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"CONNECTION_POINT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMsgMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GeneratePropertyMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"PROPERTY_MAP_Entries"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCOperationTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCOperationTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Virtual_Override"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Message_Handler"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dispatch_Handler"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Event_Firing_Function"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Event_Sink_Handler"
				value      	5)
			    (object Attribute
				tool       	"MSVC"
				name       	"Std_OLE_Method"
				value      	6)
			    (object Attribute
				tool       	"MSVC"
				name       	"Command_Parser"
				value      	7)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Get_Function"
				value      	8)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Set_Function"
				value      	9)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Notify_Function"
				value      	10)
			    (object Attribute
				tool       	"MSVC"
				name       	"Macro_Generated_Function"
				value      	11)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MESSAGE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"BodyImage"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateIncludesGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_INCLUDES_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInsertLocation"
			value      	FALSE)))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateIncludesGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_INCLUDES_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInsertLocation"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"SCC"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"TypeLibImporter"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Visual Basic"
		name       	"propertyId"
		value      	"783606378")
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CreatableSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Private"
				value      	221)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"PublicNotCreatable"
				value      	213)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"SingleUse"
				value      	214)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"GlobalSingleUse"
				value      	215)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"MultiUse"
				value      	219)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"GlobalMultiUse"
				value      	220)))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionBase"
			value      	"0")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionExplicit"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionCompare"
			value      	("CompareSet" 202))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Creatable"
			value      	("CreatableSet" 221))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateInitialization"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateTermination"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CollectionClass"
			value      	"Collection")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CompareSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Visual Basic"
				name       	"None"
				value      	202)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Binary"
				value      	203)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Text"
				value      	204)))))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OperationName"
			value      	"$operation")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"LibraryName"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"AliasName"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"IsStatic"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"EntryCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ExitCode"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"IsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"New"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"WithEvents"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Subscript"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"NameIfUnlabeled"
			value      	"the$supplier")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateGetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateSetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateLetOperation"
			value      	FALSE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"New"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"WithEvents"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Subscript"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"NameIfUnlabeled"
			value      	"the$supplier")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateGetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateSetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateLetOperation"
			value      	FALSE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Inherit"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ImplementsDelegation"
			value      	TRUE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ProjectFile"
			value      	"")))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"VisualStudio"
		name       	"HiddenTool"
		value      	FALSE))
	quid       	"39E27F080067"))
