From 7cff4b00718c6d83d3376c8d97f1016b0dd11aac Mon Sep 17 00:00:00 2001 From: niemisto Date: Tue, 17 Nov 2009 11:58:33 +0000 Subject: [PATCH] Sharing system dynamic plugins git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@13095 ac1ea38d-2e2b-0410-8846-a27921b304fc --- org.simantics.h2d/.classpath | 7 + org.simantics.h2d/.hg/00changelog.i | Bin 0 -> 57 bytes org.simantics.h2d/.hg/branch | 1 + org.simantics.h2d/.hg/branchheads.cache | 2 + org.simantics.h2d/.hg/dirstate | Bin 0 -> 3652 bytes org.simantics.h2d/.hg/hgrc | 2 + org.simantics.h2d/.hg/requires | 3 + org.simantics.h2d/.hg/store/00changelog.i | Bin 0 -> 2424 bytes org.simantics.h2d/.hg/store/00manifest.i | Bin 0 -> 5147 bytes org.simantics.h2d/.hg/store/data/.classpath.i | Bin 0 -> 360 bytes org.simantics.h2d/.hg/store/data/.hgignore.i | Bin 0 -> 86 bytes org.simantics.h2d/.hg/store/data/.project.i | Bin 0 -> 304 bytes .../.settings/org.eclipse.jdt.core.prefs.i | Bin 0 -> 242 bytes .../_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i | Bin 0 -> 569 bytes .../.hg/store/data/build.properties.i | Bin 0 -> 133 bytes .../.hg/store/data/doc/default_actions.txt.i | Bin 0 -> 64 bytes .../.hg/store/data/doc/manual.mediawiki.i | Bin 0 -> 64 bytes .../org/simantics/h2d/action/_i_action.java.i | Bin 0 -> 306 bytes .../h2d/canvas/_editor_canvas.java.i | Bin 0 -> 3192 bytes .../org/simantics/h2d/diagram/_diagram.java.i | Bin 0 -> 887 bytes .../simantics/h2d/diagram/_i_diagram.java.i | Bin 0 -> 560 bytes .../h2d/diagram/_i_diagram_listener.java.i | Bin 0 -> 300 bytes .../h2d/editor/_i_diagram_editor.java.i | Bin 0 -> 1198 bytes .../simantics/h2d/editor/_i_selection.java.i | Bin 0 -> 430 bytes .../h2d/editor/_i_selection_listener.java.i | Bin 0 -> 177 bytes .../h2d/editor/impl/_diagram_editor.java.i | Bin 0 -> 1931 bytes .../editor/impl/_event_handler_manager.java.i | Bin 0 -> 1023 bytes .../editor/impl/_scene_graph_manager.java.i | Bin 0 -> 767 bytes .../h2d/editor/impl/_selection.java.i | Bin 0 -> 1506 bytes .../element/_chaining_element_listener.java.i | Bin 0 -> 604 bytes .../org/simantics/h2d/element/_element.java.i | Bin 0 -> 510 bytes .../simantics/h2d/element/_i_element.java.i | Bin 0 -> 578 bytes .../h2d/element/_i_element_listener.java.i | Bin 0 -> 355 bytes .../h2d/element/handler/_connectable.java.i | Bin 0 -> 248 bytes .../element/handler/_i_element_handler.java.i | Bin 0 -> 227 bytes .../h2d/element/handler/_movable.java.i | Bin 0 -> 222 bytes .../h2d/element/handler/_rotatable.java.i | Bin 0 -> 233 bytes .../element/handler/_shadow_drawable.java.i | Bin 0 -> 245 bytes .../simantics/h2d/event/_click_event.java.i | Bin 0 -> 398 bytes .../simantics/h2d/event/_drag_event.java.i | Bin 0 -> 412 bytes .../h2d/event/_drag_event_phase.java.i | Bin 0 -> 165 bytes .../h2d/event/_i_drag_handler.java.i | Bin 0 -> 172 bytes .../org/simantics/h2d/event/_i_event.java.i | Bin 0 -> 151 bytes .../h2d/event/_i_locatable_event.java.i | Bin 0 -> 235 bytes .../h2d/event/_keyboard_event.java.i | Bin 0 -> 581 bytes .../org/simantics/h2d/event/_modifiers.java.i | Bin 0 -> 339 bytes .../simantics/h2d/event/_wheel_event.java.i | Bin 0 -> 350 bytes .../h2d/event/handler/_box_selection.java.i | Bin 0 -> 1010 bytes .../handler/_default_event_handlers.java.i | Bin 0 -> 919 bytes .../h2d/event/handler/_delete.java.i | Bin 0 -> 325 bytes .../event/handler/_drag_event_handler.java.i | Bin 0 -> 526 bytes .../handler/_element_event_delegator.java.i | Bin 0 -> 723 bytes .../h2d/event/handler/_event_printer.java.i | Bin 0 -> 264 bytes .../h2d/event/handler/_i_event_handler.java.i | Bin 0 -> 207 bytes .../h2d/event/handler/_move_selected.java.i | Bin 0 -> 877 bytes .../simantics/h2d/event/handler/_pan.java.i | Bin 0 -> 464 bytes .../h2d/event/handler/_pick_selection.java.i | Bin 0 -> 776 bytes .../event/handler/_rotate_clockwise.java.i | Bin 0 -> 336 bytes .../handler/_rotate_counterclockwise.java.i | Bin 0 -> 341 bytes .../event/handler/_toggle_selection.java.i | Bin 0 -> 497 bytes .../simantics/h2d/event/handler/_zoom.java.i | Bin 0 -> 550 bytes .../h2d/event/handler/_zoom_to_fit.java.i | Bin 0 -> 656 bytes .../h2d/node/_filled_shape_node.java.i | Bin 0 -> 474 bytes .../h2d/node/_i_text_listener.java.i | Bin 0 -> 164 bytes .../org/simantics/h2d/node/_line_node.java.i | Bin 0 -> 623 bytes .../simantics/h2d/node/_rectangle_node.java.i | Bin 0 -> 488 bytes .../org/simantics/h2d/node/_shape_node.java.i | Bin 0 -> 976 bytes .../org/simantics/h2d/node/_text_node.java.i | Bin 0 -> 3771 bytes .../simantics/h2d/tests/_arc_element.java.i | Bin 0 -> 1760 bytes .../org/simantics/h2d/tests/_arcs.java.i | Bin 0 -> 1125 bytes .../org/simantics/h2d/tests/_connect.java.i | Bin 0 -> 722 bytes .../h2d/tests/_create_variable.java.i | Bin 0 -> 329 bytes .../h2d/tests/_test_diagram_editor.java.i | Bin 0 -> 590 bytes .../h2d/tests/_variable_element.java.i | Bin 0 -> 1071 bytes org.simantics.h2d/.hg/store/fncache | 65 + org.simantics.h2d/.hg/store/undo | Bin 0 -> 495 bytes org.simantics.h2d/.hg/undo.branch | 1 + org.simantics.h2d/.hg/undo.dirstate | Bin 0 -> 3652 bytes org.simantics.h2d/.hgignore | 2 + org.simantics.h2d/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 8 + org.simantics.h2d/META-INF/MANIFEST.MF | 19 + org.simantics.h2d/build.properties | 4 + org.simantics.h2d/doc/manual.mediawiki | 0 .../src/org/simantics/h2d/action/IAction.java | 14 + .../simantics/h2d/canvas/EditorCanvas.java | 219 + .../org/simantics/h2d/diagram/Diagram.java | 41 + .../org/simantics/h2d/diagram/IDiagram.java | 16 + .../h2d/diagram/IDiagramListener.java | 10 + .../simantics/h2d/editor/IDiagramEditor.java | 86 + .../org/simantics/h2d/editor/ISelection.java | 25 + .../h2d/editor/ISelectionListener.java | 7 + .../h2d/editor/impl/DiagramEditor.java | 176 + .../h2d/editor/impl/EventHandlerManager.java | 116 + .../h2d/editor/impl/SceneGraphManager.java | 41 + .../simantics/h2d/editor/impl/Selection.java | 175 + .../h2d/element/ChainingElementListener.java | 50 + .../org/simantics/h2d/element/Element.java | 37 + .../org/simantics/h2d/element/IElement.java | 35 + .../h2d/element/IElementListener.java | 13 + .../h2d/element/handler/Connectable.java | 15 + .../h2d/element/handler/IElementHandler.java | 9 + .../h2d/element/handler/Movable.java | 12 + .../h2d/element/handler/Rotatable.java | 12 + .../h2d/element/handler/ShadowDrawable.java | 13 + .../org/simantics/h2d/event/ClickEvent.java | 40 + .../org/simantics/h2d/event/DragEvent.java | 47 + .../simantics/h2d/event/DragEventPhase.java | 5 + .../org/simantics/h2d/event/IDragHandler.java | 6 + .../src/org/simantics/h2d/event/IEvent.java | 5 + .../simantics/h2d/event/ILocatableEvent.java | 11 + .../simantics/h2d/event/KeyboardEvent.java | 42 + .../org/simantics/h2d/event/Modifiers.java | 29 + .../org/simantics/h2d/event/WheelEvent.java | 28 + .../h2d/event/handler/BoxSelection.java | 57 + .../event/handler/DefaultEventHandlers.java | 29 + .../simantics/h2d/event/handler/Delete.java | 21 + .../h2d/event/handler/DragEventHandler.java | 67 + .../event/handler/ElementEventDelegator.java | 37 + .../h2d/event/handler/EventPrinter.java | 14 + .../h2d/event/handler/IEventHandler.java | 10 + .../h2d/event/handler/MoveSelected.java | 76 + .../org/simantics/h2d/event/handler/Pan.java | 23 + .../h2d/event/handler/PickSelection.java | 51 + .../h2d/event/handler/RotateClockwise.java | 20 + .../event/handler/RotateCounterclockwise.java | 20 + .../h2d/event/handler/ToggleSelection.java | 23 + .../org/simantics/h2d/event/handler/Zoom.java | 30 + .../h2d/event/handler/ZoomToFit.java | 45 + .../simantics/h2d/node/FilledShapeNode.java | 41 + .../org/simantics/h2d/node/ITextListener.java | 7 + .../src/org/simantics/h2d/node/LineNode.java | 49 + .../org/simantics/h2d/node/RectangleNode.java | 36 + .../src/org/simantics/h2d/node/ShapeNode.java | 92 + .../src/org/simantics/h2d/node/TextNode.java | 259 + org.simantics.objmap/.classpath | 8 + org.simantics.objmap/.hg/00changelog.i | Bin 0 -> 57 bytes org.simantics.objmap/.hg/branch | 1 + org.simantics.objmap/.hg/branchheads.cache | 2 + org.simantics.objmap/.hg/dirstate | Bin 0 -> 3529 bytes org.simantics.objmap/.hg/hgrc | 2 + org.simantics.objmap/.hg/requires | 3 + org.simantics.objmap/.hg/store/00changelog.i | Bin 0 -> 1956 bytes org.simantics.objmap/.hg/store/00manifest.i | Bin 0 -> 4395 bytes .../.hg/store/data/.classpath.i | Bin 0 -> 401 bytes .../.hg/store/data/.hgignore.i | Bin 0 -> 86 bytes .../.hg/store/data/.project.i | Bin 0 -> 306 bytes .../.settings/org.eclipse.jdt.core.prefs.i | Bin 0 -> 241 bytes .../_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i | Bin 0 -> 650 bytes .../.hg/store/data/build.properties.i | Bin 0 -> 259 bytes .../data/doc/bidirectional_model.graphml.i | Bin 0 -> 1329 bytes .../store/data/doc/bidirectional_model.png.i | Bin 0 -> 4961 bytes .../.hg/store/data/doc/main.mediawiki.i | Bin 0 -> 919 bytes .../.hg/store/data/doc/manual.mediawiki.i | Bin 0 -> 4233 bytes .../doc/object_mapping_terminology.graphml.i | Bin 0 -> 2558 bytes .../data/doc/object_mapping_terminology.png.i | Bin 0 -> 6689 bytes .../store/data/doc/triangle_model.graphml.i | Bin 0 -> 1166 bytes .../.hg/store/data/doc/triangle_model.png.i | Bin 0 -> 4456 bytes .../objmap/examples/_sysdyn_example.java.i | Bin 0 -> 623 bytes .../org/simantics/objmap/_i_function.java.i | Bin 0 -> 388 bytes .../org/simantics/objmap/_i_link_type.java.i | Bin 0 -> 504 bytes .../org/simantics/objmap/_i_mapping.java.i | Bin 0 -> 1364 bytes .../objmap/_i_mapping_listener.java.i | Bin 0 -> 419 bytes .../simantics/objmap/_i_mapping_rule.java.i | Bin 0 -> 632 bytes .../simantics/objmap/_i_mapping_schema.java.i | Bin 0 -> 470 bytes .../objmap/_mapping_exception.java.i | Bin 0 -> 508 bytes .../src/org/simantics/objmap/_mappings.java.i | Bin 0 -> 751 bytes .../objmap/annotations/_composition.java.i | Bin 0 -> 241 bytes .../objmap/annotations/_graph_property.java.i | Bin 0 -> 248 bytes .../objmap/annotations/_graph_type.java.i | Bin 0 -> 411 bytes .../annotations/_related_element.java.i | Bin 0 -> 292 bytes .../annotations/_related_elements.java.i | Bin 0 -> 293 bytes .../objmap/annotations/_related_value.java.i | Bin 0 -> 364 bytes .../factories/_data_type_utils.java.i | Bin 0 -> 740 bytes .../_related_element_rule_factory.java.i | Bin 0 -> 466 bytes .../_related_elements_rule_factory.java.i | Bin 0 -> 482 bytes .../_related_value_rule_factory.java.i | Bin 0 -> 519 bytes .../meta/_has_class_rule_factory.java.i | Bin 0 -> 291 bytes .../meta/_has_field_rule_factory.java.i | Bin 0 -> 293 bytes .../meta/_has_method_rule_factory.java.i | Bin 0 -> 294 bytes .../org/simantics/objmap/impl/_link.java.i | Bin 0 -> 434 bytes .../org/simantics/objmap/impl/_mapping.java.i | Bin 0 -> 3051 bytes .../objmap/impl/_range_update_request.java.i | Bin 0 -> 734 bytes .../impl/_unidirectional_mapping.java.i | Bin 0 -> 1614 bytes .../objmap/rules/_field_accessor.java.i | Bin 0 -> 397 bytes .../_functional_property_accessor.java.i | Bin 0 -> 581 bytes .../objmap/rules/_i_domain_accessor.java.i | Bin 0 -> 251 bytes .../objmap/rules/_i_range_accessor.java.i | Bin 0 -> 217 bytes .../rules/_mapped_collection_rule.java.i | Bin 0 -> 708 bytes .../objmap/rules/_mapped_element_rule.java.i | Bin 0 -> 625 bytes .../objmap/rules/_mapped_elements_rule.java.i | Bin 0 -> 679 bytes .../simantics/objmap/rules/_value_rule.java.i | Bin 0 -> 757 bytes .../_functional_property_accessor.java.i | Bin 0 -> 585 bytes .../rules/domain/_i_domain_accessor.java.i | Bin 0 -> 425 bytes .../objmap/rules/domain/_mapping_utils.java.i | Bin 0 -> 871 bytes .../domain/_related_object_accessor.java.i | Bin 0 -> 555 bytes .../domain/_related_objects_accessor.java.i | Bin 0 -> 633 bytes .../domain/_related_value_accessor.java.i | Bin 0 -> 643 bytes .../factory/_i_class_rule_factory.java.i | Bin 0 -> 270 bytes .../factory/_i_field_rule_factory.java.i | Bin 0 -> 273 bytes .../factory/_i_method_rule_factory.java.i | Bin 0 -> 276 bytes .../objmap/rules/range/_field_accessor.java.i | Bin 0 -> 615 bytes .../rules/range/_i_range_accessor.java.i | Bin 0 -> 390 bytes .../objmap/schema/_mapping_schemas.java.i | Bin 0 -> 1005 bytes .../simantics/objmap/schema/_schemas.java.i | Bin 0 -> 531 bytes .../objmap/schema/_simple_link_type.java.i | Bin 0 -> 1235 bytes .../objmap/schema/_simple_schema.java.i | Bin 0 -> 1134 bytes org.simantics.objmap/.hg/store/fncache | 63 + org.simantics.objmap/.hg/store/undo | Bin 0 -> 103 bytes org.simantics.objmap/.hg/thgstatus | 9 + org.simantics.objmap/.hg/undo.branch | 1 + org.simantics.objmap/.hg/undo.dirstate | Bin 0 -> 3529 bytes org.simantics.objmap/.hgignore | 2 + org.simantics.objmap/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 8 + org.simantics.objmap/META-INF/MANIFEST.MF | 17 + org.simantics.objmap/build.properties | 7 + .../doc/bidirectionalModel.graphml | 108 + .../doc/bidirectionalModel.png | Bin 0 -> 5101 bytes org.simantics.objmap/doc/main.mediawiki | 26 + org.simantics.objmap/doc/manual.mediawiki | 167 + .../doc/objectMappingTerminology.graphml | 202 + .../doc/objectMappingTerminology.png | Bin 0 -> 3645 bytes .../doc/triangleModel.graphml | 89 + org.simantics.objmap/doc/triangleModel.png | Bin 0 -> 4545 bytes .../objmap/examples/SysdynExample.java | 51 + .../src/org/simantics/objmap/IFunction.java | 13 + .../src/org/simantics/objmap/ILinkType.java | 21 + .../src/org/simantics/objmap/IMapping.java | 127 + .../simantics/objmap/IMappingListener.java | 19 + .../org/simantics/objmap/IMappingRule.java | 33 + .../org/simantics/objmap/IMappingSchema.java | 20 + .../simantics/objmap/MappingException.java | 29 + .../src/org/simantics/objmap/Mappings.java | 38 + .../objmap/annotations/Composition.java | 11 + .../objmap/annotations/GraphType.java | 16 + .../objmap/annotations/RelatedElement.java | 16 + .../objmap/annotations/RelatedElements.java | 16 + .../objmap/annotations/RelatedValue.java | 21 + .../annotations/factories/DataTypeUtils.java | 46 + .../factories/RelatedElementRuleFactory.java | 28 + .../factories/RelatedElementsRuleFactory.java | 29 + .../factories/RelatedValueRuleFactory.java | 33 + .../annotations/meta/HasClassRuleFactory.java | 14 + .../annotations/meta/HasFieldRuleFactory.java | 14 + .../meta/HasMethodRuleFactory.java | 14 + .../src/org/simantics/objmap/impl/Link.java | 29 + .../org/simantics/objmap/impl/Mapping.java | 404 + .../objmap/impl/RangeUpdateRequest.java | 64 + .../objmap/impl/UnidirectionalMapping.java | 254 + .../objmap/rules/MappedElementRule.java | 47 + .../objmap/rules/MappedElementsRule.java | 52 + .../org/simantics/objmap/rules/ValueRule.java | 42 + .../objmap/rules/domain/IDomainAccessor.java | 15 + .../objmap/rules/domain/MappingUtils.java | 68 + .../rules/domain/RelatedObjectAccessor.java | 55 + .../rules/domain/RelatedObjectsAccessor.java | 43 + .../rules/domain/RelatedValueAccessor.java | 67 + .../rules/factory/IClassRuleFactory.java | 11 + .../rules/factory/IFieldRuleFactory.java | 12 + .../rules/factory/IMethodRuleFactory.java | 12 + .../objmap/rules/range/FieldAccessor.java | 43 + .../objmap/rules/range/IRangeAccessor.java | 12 + .../objmap/schema/MappingSchemas.java | 83 + .../objmap/schema/SimpleLinkType.java | 85 + .../simantics/objmap/schema/SimpleSchema.java | 55 + org.simantics.sysdyn.ui/.classpath | 7 + org.simantics.sysdyn.ui/.hg/00changelog.i | Bin 0 -> 57 bytes org.simantics.sysdyn.ui/.hg/branch | 1 + org.simantics.sysdyn.ui/.hg/branchheads.cache | 2 + org.simantics.sysdyn.ui/.hg/dirstate | Bin 0 -> 1702 bytes org.simantics.sysdyn.ui/.hg/hgrc | 2 + org.simantics.sysdyn.ui/.hg/requires | 3 + .../.hg/store/00changelog.i | Bin 0 -> 2266 bytes .../.hg/store/00manifest.i | Bin 0 -> 3636 bytes .../.hg/store/data/.classpath.i | Bin 0 -> 278 bytes .../.hg/store/data/.hgignore.i | Bin 0 -> 86 bytes .../.hg/store/data/.project.i | Bin 0 -> 308 bytes .../.settings/org.eclipse.jdt.core.prefs.i | Bin 0 -> 241 bytes .../_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i | Bin 0 -> 449 bytes .../.hg/store/data/build.properties.i | Bin 0 -> 144 bytes .../.hg/store/data/doc/manual.mediawiki.i | Bin 0 -> 302 bytes .../.hg/store/data/plugin.xml.i | Bin 0 -> 346 bytes .../simantics/sysdyn/_sysdyn_resource.java.i | Bin 0 -> 1513 bytes .../simantics/sysdyn/ui/_arc_element.java.i | Bin 0 -> 2224 bytes .../src/org/simantics/sysdyn/ui/_arcs.java.i | Bin 0 -> 1125 bytes .../sysdyn/ui/_auxiliary_element.java.i | Bin 0 -> 1754 bytes .../org/simantics/sysdyn/ui/_connect.java.i | Bin 0 -> 744 bytes .../sysdyn/ui/_create_auxiliary.java.i | Bin 0 -> 335 bytes .../sysdyn/ui/_sysdyn_resource.java.i | Bin 0 -> 876 bytes .../sysdyn/ui/_test_diagram_editor.java.i | Bin 0 -> 1058 bytes .../sysdyn/ui/actions/_connect.java.i | Bin 0 -> 1279 bytes .../ui/actions/_create_auxiliary.java.i | Bin 0 -> 612 bytes .../sysdyn/ui/actions/_create_cloud.java.i | Bin 0 -> 362 bytes .../sysdyn/ui/actions/_create_stock.java.i | Bin 0 -> 568 bytes .../sysdyn/ui/actions/_create_valve.java.i | Bin 0 -> 354 bytes .../ui/editor/_sysdyn_diagram_editor.java.i | Bin 0 -> 3481 bytes .../ui/editor/_sysdyn_diagram_schema.java.i | Bin 0 -> 2066 bytes .../sysdyn/ui/elements/_arc_element.java.i | Bin 0 -> 1853 bytes .../simantics/sysdyn/ui/elements/_arcs.java.i | Bin 0 -> 1131 bytes .../ui/elements/_auxiliary_element.java.i | Bin 0 -> 271 bytes .../sysdyn/ui/elements/_cloud_element.java.i | Bin 0 -> 842 bytes .../ui/elements/_dependency_element.java.i | Bin 0 -> 2076 bytes .../sysdyn/ui/elements/_flow_element.java.i | Bin 0 -> 1561 bytes .../sysdyn/ui/elements/_flows.java.i | Bin 0 -> 464 bytes .../ui/elements/_rectangular_element.java.i | Bin 0 -> 847 bytes .../sysdyn/ui/elements/_stock_element.java.i | Bin 0 -> 562 bytes .../sysdyn/ui/elements/_text_element.java.i | Bin 0 -> 2338 bytes .../ui/elements/_text_field_node.java.i | Bin 0 -> 487 bytes .../sysdyn/ui/elements/_valve_element.java.i | Bin 0 -> 748 bytes org.simantics.sysdyn.ui/.hg/store/fncache | 35 + org.simantics.sysdyn.ui/.hg/store/undo | Bin 0 -> 383 bytes org.simantics.sysdyn.ui/.hg/thgstatus | 0 org.simantics.sysdyn.ui/.hg/undo.branch | 1 + org.simantics.sysdyn.ui/.hg/undo.dirstate | Bin 0 -> 1702 bytes org.simantics.sysdyn.ui/.hgignore | 2 + org.simantics.sysdyn.ui/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 8 + org.simantics.sysdyn.ui/META-INF/MANIFEST.MF | 16 + org.simantics.sysdyn.ui/build.properties | 5 + org.simantics.sysdyn.ui/doc/manual.mediawiki | 79 + org.simantics.sysdyn.ui/plugin.xml | 36 + .../org/simantics/sysdyn/SysdynResource.java | 99 + .../simantics/sysdyn/ui/SysdynResource.java | 72 + .../sysdyn/ui/TestDiagramEditor.java | 44 + .../simantics/sysdyn/ui/actions/Connect.java | 122 + .../sysdyn/ui/actions/CreateAuxiliary.java | 24 + .../sysdyn/ui/actions/CreateCloud.java | 22 + .../sysdyn/ui/actions/CreateStock.java | 23 + .../sysdyn/ui/actions/CreateValve.java | 21 + .../sysdyn/ui/editor/SysdynDiagramEditor.java | 182 + .../sysdyn/ui/editor/SysdynDiagramSchema.java | 54 + .../simantics/sysdyn/ui/elements/Arcs.java | 154 + .../sysdyn/ui/elements/AuxiliaryElement.java | 15 + .../sysdyn/ui/elements/CloudElement.java | 71 + .../sysdyn/ui/elements/DependencyElement.java | 203 + .../sysdyn/ui/elements/FlowElement.java | 183 + .../simantics/sysdyn/ui/elements/Flows.java | 33 + .../ui/elements/RectangularElement.java | 48 + .../sysdyn/ui/elements/StockElement.java | 38 + .../sysdyn/ui/elements/TextElement.java | 161 + .../sysdyn/ui/elements/ValveElement.java | 73 + .../sysdyn/ui/modelica/ModelicaView.java | 30 + org.simantics.sysdyn/.classpath | 7 + org.simantics.sysdyn/.hg/00changelog.i | Bin 0 -> 57 bytes org.simantics.sysdyn/.hg/dirstate | Bin 0 -> 1122 bytes org.simantics.sysdyn/.hg/hgrc | 2 + org.simantics.sysdyn/.hg/requires | 3 + org.simantics.sysdyn/.hg/store/00changelog.i | Bin 0 -> 384 bytes org.simantics.sysdyn/.hg/store/00manifest.i | Bin 0 -> 788 bytes .../.hg/store/data/.classpath.i | Bin 0 -> 278 bytes .../.hg/store/data/.hgignore.i | Bin 0 -> 86 bytes .../.hg/store/data/.project.i | Bin 0 -> 307 bytes .../.settings/org.eclipse.jdt.core.prefs.i | Bin 0 -> 242 bytes .../_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i | Bin 0 -> 224 bytes .../.hg/store/data/build.properties.i | Bin 0 -> 133 bytes .../sysdyn/modelica/_modelica_writer.java.i | Bin 0 -> 514 bytes .../sysdyn/representation/_auxiliary.java.i | Bin 0 -> 306 bytes .../sysdyn/representation/_cloud.java.i | Bin 0 -> 280 bytes .../representation/_configuration.java.i | Bin 0 -> 557 bytes .../sysdyn/representation/_dependency.java.i | Bin 0 -> 329 bytes .../sysdyn/representation/_flow.java.i | Bin 0 -> 326 bytes .../sysdyn/representation/_i_element.java.i | Bin 0 -> 191 bytes .../sysdyn/representation/_stock.java.i | Bin 0 -> 378 bytes .../sysdyn/representation/_valve.java.i | Bin 0 -> 278 bytes .../sysdyn/representation/_variable.java.i | Bin 0 -> 260 bytes .../_element_visitor_void_adapter.java.i | Bin 0 -> 297 bytes .../visitors/_i_element_visitor_void.java.i | Bin 0 -> 273 bytes org.simantics.sysdyn/.hg/store/fncache | 18 + org.simantics.sysdyn/.hg/store/undo | Bin 0 -> 1007 bytes org.simantics.sysdyn/.hg/thgstatus | 0 org.simantics.sysdyn/.hg/undo.branch | 1 + org.simantics.sysdyn/.hg/undo.dirstate | Bin 0 -> 1122 bytes org.simantics.sysdyn/.hgignore | 2 + org.simantics.sysdyn/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 8 + org.simantics.sysdyn/META-INF/MANIFEST.MF | 7 + org.simantics.sysdyn/build.properties | 4 + .../sysdyn/modelica/ModelicaWriter.java | 53 + .../sysdyn/representation/Auxiliary.java | 15 + .../sysdyn/representation/Cloud.java | 12 + .../sysdyn/representation/Configuration.java | 43 + .../sysdyn/representation/Dependency.java | 18 + .../simantics/sysdyn/representation/Flow.java | 18 + .../sysdyn/representation/IElement.java | 7 + .../sysdyn/representation/Stock.java | 23 + .../sysdyn/representation/Valve.java | 12 + .../sysdyn/representation/Variable.java | 8 + .../visitors/ElementVisitorVoidAdapter.java | 36 + .../visitors/IElementVisitorVoid.java | 19 + sysdyn_ontologies/.hg/00changelog.i | Bin 0 -> 57 bytes sysdyn_ontologies/.hg/branch | 1 + sysdyn_ontologies/.hg/branchheads.cache | 2 + sysdyn_ontologies/.hg/dirstate | Bin 0 -> 249 bytes sysdyn_ontologies/.hg/hgrc | 2 + sysdyn_ontologies/.hg/requires | 3 + sysdyn_ontologies/.hg/store/00changelog.i | Bin 0 -> 1120 bytes sysdyn_ontologies/.hg/store/00manifest.i | Bin 0 -> 988 bytes sysdyn_ontologies/.hg/store/data/.hgignore.i | Bin 0 -> 136 bytes sysdyn_ontologies/.hg/store/data/.project.i | Bin 0 -> 208 bytes .../.hg/store/data/dependencies.txt.i | Bin 0 -> 115 bytes .../.hg/store/data/generate__sysdyn.bat.i | Bin 0 -> 188 bytes .../.hg/store/data/install.map.i | Bin 0 -> 117 bytes .../.hg/store/data/sysdyn.graph.i | Bin 0 -> 1490 bytes .../.hg/store/data/sysdyn_old.graph.i | Bin 0 -> 1048 bytes sysdyn_ontologies/.hg/store/fncache | 7 + sysdyn_ontologies/.hg/store/undo | Bin 0 -> 63 bytes sysdyn_ontologies/.hg/thgstatus | 0 sysdyn_ontologies/.hg/undo.branch | 1 + sysdyn_ontologies/.hg/undo.dirstate | Bin 0 -> 249 bytes sysdyn_ontologies/.hgignore | 6 + sysdyn_ontologies/.project | 11 + sysdyn_ontologies/c_sharp/Builtins.cs | 913 + sysdyn_ontologies/c_sharp/DiagramResource.cs | 229 + sysdyn_ontologies/c_sharp/EquationResource.cs | 136 + .../c_sharp/FlowNetworkResource.cs | 91 + sysdyn_ontologies/c_sharp/G2DResource.cs | 268 + sysdyn_ontologies/c_sharp/ImageResource.cs | 97 + .../c_sharp/ModelingResources.cs | 181 + sysdyn_ontologies/c_sharp/ProConfResource.cs | 49 + .../c_sharp/StructuralResource2.cs | 163 + sysdyn_ontologies/c_sharp/SysdynResource.cs | 94 + sysdyn_ontologies/c_sharp/WebmonResource.cs | 424 + sysdyn_ontologies/dependencies.txt | 3 + sysdyn_ontologies/generate_sysdyn.bat | 2 + sysdyn_ontologies/install.map | 1 + sysdyn_ontologies/layer0c.bin | 33 + sysdyn_ontologies/layer0c.txt | 16273 ++++++++++++++++ sysdyn_ontologies/sysdyn.graph | 94 + sysdyn_ontologies/sysdynOld.graph | 121 + 430 files changed, 26735 insertions(+) create mode 100644 org.simantics.h2d/.classpath create mode 100644 org.simantics.h2d/.hg/00changelog.i create mode 100644 org.simantics.h2d/.hg/branch create mode 100644 org.simantics.h2d/.hg/branchheads.cache create mode 100644 org.simantics.h2d/.hg/dirstate create mode 100644 org.simantics.h2d/.hg/hgrc create mode 100644 org.simantics.h2d/.hg/requires create mode 100644 org.simantics.h2d/.hg/store/00changelog.i create mode 100644 org.simantics.h2d/.hg/store/00manifest.i create mode 100644 org.simantics.h2d/.hg/store/data/.classpath.i create mode 100644 org.simantics.h2d/.hg/store/data/.hgignore.i create mode 100644 org.simantics.h2d/.hg/store/data/.project.i create mode 100644 org.simantics.h2d/.hg/store/data/.settings/org.eclipse.jdt.core.prefs.i create mode 100644 org.simantics.h2d/.hg/store/data/_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i create mode 100644 org.simantics.h2d/.hg/store/data/build.properties.i create mode 100644 org.simantics.h2d/.hg/store/data/doc/default_actions.txt.i create mode 100644 org.simantics.h2d/.hg/store/data/doc/manual.mediawiki.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/action/_i_action.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/canvas/_editor_canvas.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/diagram/_diagram.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/diagram/_i_diagram.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/diagram/_i_diagram_listener.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/_i_diagram_editor.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/_i_selection.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/_i_selection_listener.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_diagram_editor.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_event_handler_manager.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_scene_graph_manager.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_selection.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/_chaining_element_listener.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/_element.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/_i_element.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/_i_element_listener.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/handler/_connectable.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/handler/_i_element_handler.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/handler/_movable.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/handler/_rotatable.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/handler/_shadow_drawable.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_click_event.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_drag_event.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_drag_event_phase.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_i_drag_handler.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_i_event.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_i_locatable_event.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_keyboard_event.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_modifiers.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_wheel_event.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_box_selection.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_default_event_handlers.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_delete.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_drag_event_handler.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_element_event_delegator.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_event_printer.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_i_event_handler.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_move_selected.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_pan.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_pick_selection.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_rotate_clockwise.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_rotate_counterclockwise.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_toggle_selection.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_zoom.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_zoom_to_fit.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_filled_shape_node.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_i_text_listener.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_line_node.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_rectangle_node.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_shape_node.java.i create mode 100644 org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_text_node.java.i create mode 100644 org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_arc_element.java.i create mode 100644 org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_arcs.java.i create mode 100644 org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_connect.java.i create mode 100644 org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_create_variable.java.i create mode 100644 org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_test_diagram_editor.java.i create mode 100644 org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_variable_element.java.i create mode 100644 org.simantics.h2d/.hg/store/fncache create mode 100644 org.simantics.h2d/.hg/store/undo create mode 100644 org.simantics.h2d/.hg/undo.branch create mode 100644 org.simantics.h2d/.hg/undo.dirstate create mode 100644 org.simantics.h2d/.hgignore create mode 100644 org.simantics.h2d/.project create mode 100644 org.simantics.h2d/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.simantics.h2d/META-INF/MANIFEST.MF create mode 100644 org.simantics.h2d/build.properties create mode 100644 org.simantics.h2d/doc/manual.mediawiki create mode 100644 org.simantics.h2d/src/org/simantics/h2d/action/IAction.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/canvas/EditorCanvas.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/diagram/Diagram.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/diagram/IDiagram.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/diagram/IDiagramListener.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/editor/IDiagramEditor.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/editor/ISelection.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/editor/ISelectionListener.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/editor/impl/DiagramEditor.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/editor/impl/EventHandlerManager.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/editor/impl/SceneGraphManager.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/editor/impl/Selection.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/element/ChainingElementListener.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/element/Element.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/element/IElement.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/element/IElementListener.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/element/handler/Connectable.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/element/handler/IElementHandler.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/element/handler/Movable.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/element/handler/Rotatable.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/element/handler/ShadowDrawable.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/ClickEvent.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/DragEvent.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/DragEventPhase.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/IDragHandler.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/IEvent.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/ILocatableEvent.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/KeyboardEvent.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/Modifiers.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/WheelEvent.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/BoxSelection.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/DefaultEventHandlers.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/Delete.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/DragEventHandler.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/ElementEventDelegator.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/EventPrinter.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/IEventHandler.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/MoveSelected.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/Pan.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/PickSelection.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/RotateClockwise.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/RotateCounterclockwise.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/ToggleSelection.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/Zoom.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/event/handler/ZoomToFit.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/node/FilledShapeNode.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/node/ITextListener.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/node/LineNode.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/node/RectangleNode.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/node/ShapeNode.java create mode 100644 org.simantics.h2d/src/org/simantics/h2d/node/TextNode.java create mode 100644 org.simantics.objmap/.classpath create mode 100644 org.simantics.objmap/.hg/00changelog.i create mode 100644 org.simantics.objmap/.hg/branch create mode 100644 org.simantics.objmap/.hg/branchheads.cache create mode 100644 org.simantics.objmap/.hg/dirstate create mode 100644 org.simantics.objmap/.hg/hgrc create mode 100644 org.simantics.objmap/.hg/requires create mode 100644 org.simantics.objmap/.hg/store/00changelog.i create mode 100644 org.simantics.objmap/.hg/store/00manifest.i create mode 100644 org.simantics.objmap/.hg/store/data/.classpath.i create mode 100644 org.simantics.objmap/.hg/store/data/.hgignore.i create mode 100644 org.simantics.objmap/.hg/store/data/.project.i create mode 100644 org.simantics.objmap/.hg/store/data/.settings/org.eclipse.jdt.core.prefs.i create mode 100644 org.simantics.objmap/.hg/store/data/_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i create mode 100644 org.simantics.objmap/.hg/store/data/build.properties.i create mode 100644 org.simantics.objmap/.hg/store/data/doc/bidirectional_model.graphml.i create mode 100644 org.simantics.objmap/.hg/store/data/doc/bidirectional_model.png.i create mode 100644 org.simantics.objmap/.hg/store/data/doc/main.mediawiki.i create mode 100644 org.simantics.objmap/.hg/store/data/doc/manual.mediawiki.i create mode 100644 org.simantics.objmap/.hg/store/data/doc/object_mapping_terminology.graphml.i create mode 100644 org.simantics.objmap/.hg/store/data/doc/object_mapping_terminology.png.i create mode 100644 org.simantics.objmap/.hg/store/data/doc/triangle_model.graphml.i create mode 100644 org.simantics.objmap/.hg/store/data/doc/triangle_model.png.i create mode 100644 org.simantics.objmap/.hg/store/data/examples/org/simantics/objmap/examples/_sysdyn_example.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_function.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_link_type.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_mapping.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_mapping_listener.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_mapping_rule.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_mapping_schema.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_mapping_exception.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_mappings.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_composition.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_graph_property.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_graph_type.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_related_element.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_related_elements.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_related_value.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_data_type_utils.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_related_element_rule_factory.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_related_elements_rule_factory.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_related_value_rule_factory.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/meta/_has_class_rule_factory.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/meta/_has_field_rule_factory.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/meta/_has_method_rule_factory.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/impl/_link.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/impl/_mapping.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/impl/_range_update_request.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/impl/_unidirectional_mapping.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_field_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_functional_property_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_i_domain_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_i_range_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_mapped_collection_rule.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_mapped_element_rule.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_mapped_elements_rule.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_value_rule.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_functional_property_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_i_domain_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_mapping_utils.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_related_object_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_related_objects_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_related_value_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/factory/_i_class_rule_factory.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/factory/_i_field_rule_factory.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/factory/_i_method_rule_factory.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/range/_field_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/range/_i_range_accessor.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/schema/_mapping_schemas.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/schema/_schemas.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/schema/_simple_link_type.java.i create mode 100644 org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/schema/_simple_schema.java.i create mode 100644 org.simantics.objmap/.hg/store/fncache create mode 100644 org.simantics.objmap/.hg/store/undo create mode 100644 org.simantics.objmap/.hg/thgstatus create mode 100644 org.simantics.objmap/.hg/undo.branch create mode 100644 org.simantics.objmap/.hg/undo.dirstate create mode 100644 org.simantics.objmap/.hgignore create mode 100644 org.simantics.objmap/.project create mode 100644 org.simantics.objmap/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.simantics.objmap/META-INF/MANIFEST.MF create mode 100644 org.simantics.objmap/build.properties create mode 100644 org.simantics.objmap/doc/bidirectionalModel.graphml create mode 100644 org.simantics.objmap/doc/bidirectionalModel.png create mode 100644 org.simantics.objmap/doc/main.mediawiki create mode 100644 org.simantics.objmap/doc/manual.mediawiki create mode 100644 org.simantics.objmap/doc/objectMappingTerminology.graphml create mode 100644 org.simantics.objmap/doc/objectMappingTerminology.png create mode 100644 org.simantics.objmap/doc/triangleModel.graphml create mode 100644 org.simantics.objmap/doc/triangleModel.png create mode 100644 org.simantics.objmap/examples/org/simantics/objmap/examples/SysdynExample.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/IFunction.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/ILinkType.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/IMapping.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/IMappingListener.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/IMappingRule.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/IMappingSchema.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/MappingException.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/Mappings.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/Composition.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/GraphType.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedElement.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedElements.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedValue.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/factories/DataTypeUtils.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedElementRuleFactory.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedElementsRuleFactory.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedValueRuleFactory.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasClassRuleFactory.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasFieldRuleFactory.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasMethodRuleFactory.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/impl/Link.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/impl/Mapping.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/impl/RangeUpdateRequest.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/impl/UnidirectionalMapping.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/MappedElementRule.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/MappedElementsRule.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/ValueRule.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/domain/IDomainAccessor.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/domain/MappingUtils.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedObjectAccessor.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedObjectsAccessor.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedValueAccessor.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/factory/IClassRuleFactory.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/factory/IFieldRuleFactory.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/factory/IMethodRuleFactory.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/range/FieldAccessor.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/rules/range/IRangeAccessor.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/schema/MappingSchemas.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/schema/SimpleLinkType.java create mode 100644 org.simantics.objmap/src/org/simantics/objmap/schema/SimpleSchema.java create mode 100644 org.simantics.sysdyn.ui/.classpath create mode 100644 org.simantics.sysdyn.ui/.hg/00changelog.i create mode 100644 org.simantics.sysdyn.ui/.hg/branch create mode 100644 org.simantics.sysdyn.ui/.hg/branchheads.cache create mode 100644 org.simantics.sysdyn.ui/.hg/dirstate create mode 100644 org.simantics.sysdyn.ui/.hg/hgrc create mode 100644 org.simantics.sysdyn.ui/.hg/requires create mode 100644 org.simantics.sysdyn.ui/.hg/store/00changelog.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/00manifest.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/.classpath.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/.hgignore.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/.project.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/.settings/org.eclipse.jdt.core.prefs.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/build.properties.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/doc/manual.mediawiki.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/plugin.xml.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/_sysdyn_resource.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_arc_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_arcs.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_auxiliary_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_connect.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_create_auxiliary.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_sysdyn_resource.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_test_diagram_editor.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_connect.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_create_auxiliary.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_create_cloud.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_create_stock.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_create_valve.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/editor/_sysdyn_diagram_editor.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/editor/_sysdyn_diagram_schema.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_arc_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_arcs.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_auxiliary_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_cloud_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_dependency_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_flow_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_flows.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_rectangular_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_stock_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_text_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_text_field_node.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_valve_element.java.i create mode 100644 org.simantics.sysdyn.ui/.hg/store/fncache create mode 100644 org.simantics.sysdyn.ui/.hg/store/undo create mode 100644 org.simantics.sysdyn.ui/.hg/thgstatus create mode 100644 org.simantics.sysdyn.ui/.hg/undo.branch create mode 100644 org.simantics.sysdyn.ui/.hg/undo.dirstate create mode 100644 org.simantics.sysdyn.ui/.hgignore create mode 100644 org.simantics.sysdyn.ui/.project create mode 100644 org.simantics.sysdyn.ui/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.simantics.sysdyn.ui/META-INF/MANIFEST.MF create mode 100644 org.simantics.sysdyn.ui/build.properties create mode 100644 org.simantics.sysdyn.ui/doc/manual.mediawiki create mode 100644 org.simantics.sysdyn.ui/plugin.xml create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/SysdynResource.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/SysdynResource.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/TestDiagramEditor.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/Connect.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateAuxiliary.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateCloud.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateStock.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateValve.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/SysdynDiagramEditor.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/SysdynDiagramSchema.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/Arcs.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/AuxiliaryElement.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/CloudElement.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/DependencyElement.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/FlowElement.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/Flows.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/RectangularElement.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/StockElement.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/TextElement.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/ValveElement.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/modelica/ModelicaView.java create mode 100644 org.simantics.sysdyn/.classpath create mode 100644 org.simantics.sysdyn/.hg/00changelog.i create mode 100644 org.simantics.sysdyn/.hg/dirstate create mode 100644 org.simantics.sysdyn/.hg/hgrc create mode 100644 org.simantics.sysdyn/.hg/requires create mode 100644 org.simantics.sysdyn/.hg/store/00changelog.i create mode 100644 org.simantics.sysdyn/.hg/store/00manifest.i create mode 100644 org.simantics.sysdyn/.hg/store/data/.classpath.i create mode 100644 org.simantics.sysdyn/.hg/store/data/.hgignore.i create mode 100644 org.simantics.sysdyn/.hg/store/data/.project.i create mode 100644 org.simantics.sysdyn/.hg/store/data/.settings/org.eclipse.jdt.core.prefs.i create mode 100644 org.simantics.sysdyn/.hg/store/data/_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i create mode 100644 org.simantics.sysdyn/.hg/store/data/build.properties.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/modelica/_modelica_writer.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_auxiliary.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_cloud.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_configuration.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_dependency.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_flow.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_i_element.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_stock.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_valve.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_variable.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/visitors/_element_visitor_void_adapter.java.i create mode 100644 org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/visitors/_i_element_visitor_void.java.i create mode 100644 org.simantics.sysdyn/.hg/store/fncache create mode 100644 org.simantics.sysdyn/.hg/store/undo create mode 100644 org.simantics.sysdyn/.hg/thgstatus create mode 100644 org.simantics.sysdyn/.hg/undo.branch create mode 100644 org.simantics.sysdyn/.hg/undo.dirstate create mode 100644 org.simantics.sysdyn/.hgignore create mode 100644 org.simantics.sysdyn/.project create mode 100644 org.simantics.sysdyn/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.simantics.sysdyn/META-INF/MANIFEST.MF create mode 100644 org.simantics.sysdyn/build.properties create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/modelica/ModelicaWriter.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Auxiliary.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Cloud.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Configuration.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Dependency.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Flow.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/IElement.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Stock.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Valve.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Variable.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/ElementVisitorVoidAdapter.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/IElementVisitorVoid.java create mode 100644 sysdyn_ontologies/.hg/00changelog.i create mode 100644 sysdyn_ontologies/.hg/branch create mode 100644 sysdyn_ontologies/.hg/branchheads.cache create mode 100644 sysdyn_ontologies/.hg/dirstate create mode 100644 sysdyn_ontologies/.hg/hgrc create mode 100644 sysdyn_ontologies/.hg/requires create mode 100644 sysdyn_ontologies/.hg/store/00changelog.i create mode 100644 sysdyn_ontologies/.hg/store/00manifest.i create mode 100644 sysdyn_ontologies/.hg/store/data/.hgignore.i create mode 100644 sysdyn_ontologies/.hg/store/data/.project.i create mode 100644 sysdyn_ontologies/.hg/store/data/dependencies.txt.i create mode 100644 sysdyn_ontologies/.hg/store/data/generate__sysdyn.bat.i create mode 100644 sysdyn_ontologies/.hg/store/data/install.map.i create mode 100644 sysdyn_ontologies/.hg/store/data/sysdyn.graph.i create mode 100644 sysdyn_ontologies/.hg/store/data/sysdyn_old.graph.i create mode 100644 sysdyn_ontologies/.hg/store/fncache create mode 100644 sysdyn_ontologies/.hg/store/undo create mode 100644 sysdyn_ontologies/.hg/thgstatus create mode 100644 sysdyn_ontologies/.hg/undo.branch create mode 100644 sysdyn_ontologies/.hg/undo.dirstate create mode 100644 sysdyn_ontologies/.hgignore create mode 100644 sysdyn_ontologies/.project create mode 100644 sysdyn_ontologies/c_sharp/Builtins.cs create mode 100644 sysdyn_ontologies/c_sharp/DiagramResource.cs create mode 100644 sysdyn_ontologies/c_sharp/EquationResource.cs create mode 100644 sysdyn_ontologies/c_sharp/FlowNetworkResource.cs create mode 100644 sysdyn_ontologies/c_sharp/G2DResource.cs create mode 100644 sysdyn_ontologies/c_sharp/ImageResource.cs create mode 100644 sysdyn_ontologies/c_sharp/ModelingResources.cs create mode 100644 sysdyn_ontologies/c_sharp/ProConfResource.cs create mode 100644 sysdyn_ontologies/c_sharp/StructuralResource2.cs create mode 100644 sysdyn_ontologies/c_sharp/SysdynResource.cs create mode 100644 sysdyn_ontologies/c_sharp/WebmonResource.cs create mode 100644 sysdyn_ontologies/dependencies.txt create mode 100644 sysdyn_ontologies/generate_sysdyn.bat create mode 100644 sysdyn_ontologies/install.map create mode 100644 sysdyn_ontologies/layer0c.bin create mode 100644 sysdyn_ontologies/layer0c.txt create mode 100644 sysdyn_ontologies/sysdyn.graph create mode 100644 sysdyn_ontologies/sysdynOld.graph diff --git a/org.simantics.h2d/.classpath b/org.simantics.h2d/.classpath new file mode 100644 index 00000000..8a8f1668 --- /dev/null +++ b/org.simantics.h2d/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/org.simantics.h2d/.hg/00changelog.i b/org.simantics.h2d/.hg/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..d3a8311050e54c57c5be7cfe169e60a95768812c GIT binary patch literal 57 zcmWN_K?=Yi3N`9Qos5l1BAA~!(b>QW7ztA{cGksG&O!l(-+mIG^S&k2qz**5YyDT#03## zH>R=^>$+z?^aI3yPU9qCf~StV4c>ggcp@7=vhSIfZ-B9_Hugy}C7IJJd~}OnWb^h1 zSd>@P=5#8jzn+q?mp^%{#3Os^WLS!Gi+CFFDJ}8PK=xwoqL-H!@iO9J7^9y?U5wul z*m;ekMrYh!`9OipdVk}V^(~Zmbeof$k>vOX3ynlS8*}dgcSC0Nwu-sv8lOuq4Df zZL&49<6|K5H{eP)4NW2|o&17;&T0TP8V5{j4%G5H*b7ZH6CO}!J0cUh1>a-@ zOOImkXEni#E_P$)AIuce+}t?%>^?xh&;S(X!;~eWUPH^n3^Za?_H)1kw#R6i$;r1b zdgdz7(a_CKS$;O2#Ll)4&3iK?lW0H^64rAte#QE|psqqCh%PFkvW-K;v9f!};vkpY z2~7o~StXr+;vc-E4pIWGgwrkRr5MhYsb@YM0cainWzZ@CHNQl#nwB@g$`x<@h!~z$ zVu9^XIl8 z4z|49Cvq)}5Nk0P(wz-5j7V04WSzs3=-68m&|;C&Zp{6IBUX20b}$j$N^1xR2tmM) zAhDySjP7>H=O-Zs2FbUmtP^-(3)UJcp_h|g; zB0NE9FL;u3E+lYw$UR>A8IjBtr#n5CP0dr7iAGZ(TyZH?dswL{2KrbHxbMJ;c1U7- zOkqNg*a52+@$q~f7S-;vIHrMe1z7)XoP2sW41?yNDo4|!@9lDu21Tu8oK_#hYviOf z--#%VXKYPKeK>;9_t<_+vTQ;`RH5o1bY11KeAq%cqxJwzbqlpdp!_l!@jer>3-dIB z(hWjmq`Evway~Z>UE?ykd1@XTOR1N`cm6;G^EJL&N3+^=*B9tuq1F5bKUU7M`3a`~ zq@7VA;1P=1|u7VSX0)Ds?j|O`0br z?uZ@>Ft%WI?9I Xy??{O)rN7=U9QsVFJ=wn%NNgW>50OV literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/hgrc b/org.simantics.h2d/.hg/hgrc new file mode 100644 index 00000000..ac4b8635 --- /dev/null +++ b/org.simantics.h2d/.hg/hgrc @@ -0,0 +1,2 @@ +[paths] +default = ssh://simusite/org.simantics.h2d diff --git a/org.simantics.h2d/.hg/requires b/org.simantics.h2d/.hg/requires new file mode 100644 index 00000000..5175383b --- /dev/null +++ b/org.simantics.h2d/.hg/requires @@ -0,0 +1,3 @@ +revlogv1 +store +fncache diff --git a/org.simantics.h2d/.hg/store/00changelog.i b/org.simantics.h2d/.hg/store/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..a500ca003a63d16dfe3689ef3aed3705dcd38c00 GIT binary patch literal 2424 zcmX|Cc{tQ-8y?#b>7Y@B>{}yo#yZN#HfEeATlPKY3nkgcmW)}FW$e3QvL4EwHQDuv zlAVxk>{|*klzcPto#(oq=e^(Seg1gv=f1Ds55NFm0GtG)DFDFk`WpiP$ETr=zy*I` z8lS7eA@L(t<8O;o+9v#w6PkR*m+=%#UJWCZg5ge@X%Sn-s6=2G&o7-njU+9hi|uZZGGOW> zc@aoOUg9B)`Bu3jnc!FScYoTDBmrj=fJd6GDBVF z9Tsg`3|`v*HKG;o&x=D#c`fVY%?skU@A+8A;!LKCh&4zutH~afP*PMhZA>-CK1f9<)&dHP|d6E3Ze&`&2ME<-o1`|=+8TXnw`qu6m0lwrGY_u_jYXE~jy7X1N{Pf|;qwIy z$KxU+i?r;bLqzq7xCiHp#VNdLX_kS2Y+T)}q@@C%qR*goi0aQ{q1HYUi}?$env!w9 zL@#5uBz5nYf`!O$xhZgGmG^3iSjkd1g5rMH&LV}P)VG~$KtQr?4e3iqr{1wkmRnw^ zpjf5g*ZgK>?XhF6_lC2=TPMpy0nvp6@L0fn>dL%7rW<;=!0+gP?HSs9aC+M49}TBB zDKWLS#)AC;m!6mkRQvvFx>}-g*&_%HjQ=U^H?lt!7@8Xr4Uk9;QxTl1`}CdZ3Z)k1 z!Rh5M{x!Hp$uf zV`E=F!o-rY$8!HVn7!Pq>z4Z`C&O-Tup1OYpO9Xk^p8JM&D06Tmz$o?0MVYA))9Mx6OTypHR;}{7 zy4c=RnJ>#_%Tw^s#@S3UW3O9WTYvE+Zqu6&*bz5(Q zPr6S_07DEQCqcP+KsZyMBqB-o#?|KGJy$E~t&nTcA)b8roDlB7vdO#z5q85ji))cGQhIYm zO@Dql8+COF1x%U~vUz16e_mn-#QRr^Ni@iH(O9=a#w$!JNj5$918xUv_%qy=)zF8O z<5g1|kBaS|uG9|0yoq2)+?F=ke9qEZ#R=aOJ;%>RkQ$lLhnCiqsu)ASax&q9HxL9~ zl$w(EqQ!#smt|q zCgf$j>e>Oj=j_dyJIEtk@W@`_rjly1dR=jPrH{>OJvs#Sz^L;8;Oj?Grb_`FKM`bx zrs4<<(G>*Jl7+5dT#K&-!x@r&usni)1CGeH)9taE?;4F z?>6U=txMoS=7eE$Zg}R`6gZdT@)t&zcSqsoO1u4;jS3YU5RDFnJ%}*BCk8&0QB$U5 z_IwvcbW!G#;l7QgYR${ zFN`@vPx(goUQp!Id>R9X0VF-e{A(6nLoP9ex>vvxe;O=m*gj7)c(SJ`>Xat3-BG+u z?B3`CNc#h@UxeEc-+~0=cxKeUE)-8XY_*8`2$7?E>&CX18_#B@PEyyua&pRsE&UJ9 CP(aB5 literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/00manifest.i b/org.simantics.h2d/.hg/store/00manifest.i new file mode 100644 index 0000000000000000000000000000000000000000..f790c364ccaa7daccaa2882bcf167c9f22437071 GIT binary patch literal 5147 zcmYjT1yoes_oa~%L}F-$?(UQp7*M)F7`mhxU=XBR9J(E(ksMM&I;BLqQ9xi2q?Njzdo z74><YcC?JxUK zShk_7H6A~505zgzaqTOgLG9|uW^SV|xm0HT1h`?m#K5(=g+yB~j|pO+R_P%0JI%ni z@n~Vg(S^LtkDQ5>hD15`yXksgWuIYySNoK{)yHg}s^2r^RV)j5h2Q+$*%Neol~bJO zr=Aj0u`NRzz8546m&dy_9&PN|HW;s%XK-zvQMFu_EpW=&tj^7vp0lugRE%FTa^va$ z*>aMY&!S7&K2s*|;dgX9ob|;t=#sC+?`Zq7`)bUh(pARvJD?|0z?4mzeJlN`JE-}+ zHj<$kX877??k=6z>vLCIMWg3}X_Ew6^Qfs#w~G=LXZ+8sQX8inwyd;{w9l}N`Bho6 z1<~4^s?@CVy|X=~Dop}b{Q81S231O)i|k-x#xs#7TjssAta{K{p3CM6q&a8U)@RGR zPqJk0g!XWUQ}#gVc+kdyhlLYlgnr3BO|3#9O-dKQLy@BS440PDjsH9=qJoMNuUU&t1R+DGuVQ*Y`#YLUgZUV6jn-&336g>ZD=difm2#i z-qbn@gXSnW-5oyq?S$Aa>?Q&$D7Wb-ow|#i3F*^~* z%gE1k6)A#_P%^2XE7Q;*UtJ(%H^ILL{JCWP$4gf;t9wVk%GI4!z!@ubTf8y$h-45V z+!IP2MVAN2tBtcv8T$|tWP0T=wSnrReqJei&t`KnjubfNm2Br(sD z>U;+xl(RJju4a`VbzAzQh3j%zHT&Mj`wHDb-9Gwo$(;48h~?eDMJJ{P)FjbgRI_=R0rJz4Xi;yY?LM z1-1MbfuqamWE<{%Xp|rcQtuRI7l$iHO)~i@g!w-?_m`Jh$0U(>9?D?j^QH-(n=WxG zHyYzI_n=>>K522eTgKs8xM*z+gG&J*A3iAjDxaMUpFok!$|j#zboKIw8blQMB2lN} zF)UjuxBN_Ibr)l=gFvD{sO~HH(ntHiXW*{-?v%9Z1gA38StP`jfj+ocBQQ=#Op?1I z#JXZ2*~`4I&1f6?)g|zekoeO+_{%>TO^l5mzx4-%_dVa?heyB__RV{)XL9D&2jzy- zosEGBN&$b`M0=Xhp1^jL(82%}!5*!TF2!tu%mRaK*}~FyGEm7M0in2YSk39#{G!SS z;WOvwL&MTtUlz6|ibq@gl6MxNzf44iM^YNb6Ze2c0!aWzct?+7*O?_LHQG!j0;vJ7gP&nIx_bPAv|Z7>B5YZ7On zbJAptI>k8Y^3jvK74(*fp#lJ7sxglGyGS~E8mm(TFj7z(F+cd|_yAPva<^U-aLz&z zD3@zja0R*0Uvm;biTm*~2y{oH0Yi@=42j2S9% z>fzL5Di1M#vfLz<(QVZfH+^w6rxhMlr60Kj4~-RnW&x~o1H|d8!R;)X?9v6ODe0>7 za)Zq(zuVGn#)h*~A1=$R9a*~JxDTF1o%)1um3c!7=tCLzMbSg?K@!cP$Y9ygv=>C^ zkI_Vo8VL^PianZ460RDKP28zJI*|IpdzLbgE?yU zDjfX6Kj%Hajm50Bn(gT}q}K0yjw;@F(gQJ5e)36e8qvUHrwfs~oN!W;^Uw7$<0_cE z`vdZOH)|D>r227VUGken+ch1}A1a%Ni~pfrKtVxsKtXx({vo=@-$vr0Z=hZymyd6K{siaq+&d;J*sL!f@DcBms7O zJ+&!Yc9c^mafq!>ee|-)xCkpbctB1`Yv;y3GeFj6k6XfZYpKL6u2{?@!EYirV^Ls~ z$8F;D2qM03UMU(tcYv0q%?HNCl=6r{?X0oXrPXD?8`M%dWG-9U^*#cq&}c4%j(nc@ z?xFiV6S(=t2N{N#UC7}55Yn z$4M3eKJSh`qvnv~!eC;q84yo`PW@uaT59egAKcs{XeIp^XeKj3-O|e9x(kbik;O2( zYd@2Fi#nzqP?ntYt_X|gttx=9U1UUoH*Ufu4xz!YCs%szUfY_v*kGr?!zJQS{d0qb z6fPIjYghcFjxUMXl0{Bt$0gq{i2P@!_hP)=uVr{Lz1Ow6##!+7G3cvjV3=4(h(X9-^}htk zW*(7y9KuHwzBa*p=Ek0bTbC1$6P@@9jjFk$t}qxUGx(2~`IysePw()TD_RsNst-1b zSfic=ZB`|j%bc*c_wHl^)|M&-X`+qoCjpT$T#E7VPIzOKTvl96hXCrV#Sa;+oyMu? zEr}Qx^YcHMODsi6e11M0_weiNV7|5Jd^`h(rgAT46CUfU!xExL)^o6|yCm+O!D6Cf zU-_th_kmivO%G>-S(kaKp>TEqaAU95aV^!A%|dC zesf=-A5j=d_GwtLMBq5==h`bj<3{6r8pT#$6$E*Rz`U1wJ(1dSk40zO&8JH(#L*v`n!z{7^obD_%j5EB#2NiRvC!cN-l+uRQcv&B5t zd%}5F2O8bvqn;A``ro7mS2!Co$;t*0>Iv#iO-bToTM%@2o^|uJvNDcoI$Xq&ooVWA z9z$=fW$M-ylOSy3DJ0UxzqLCQ*TDt)lB6WOdqwbTe*D+B_WOCG`chN|{Rl+!TE!Mr zL=r~;Y@9nehlGEf`LT1`D|^;n?ZdK0IITd#I)(?V{j8H=*^I|hCoGz_jWyZZ5C#`5srCId{?y4hIH*lKM zW2|sXz%GSzgyp=e0&rp{tmogrePHNK&U*tG|#NT!qdmkpmF*N$@!bha^8>FqT;@sZ1lR*|E67P{IT z&C0A+=QCewwhX%O4o}V_O+toknN}!(Ta;*TUw*=suHHySc#0Q&b0!9fF@AOj`}?Rh zFiXG-xx9q0oJ}V)=jB<8<^c#|pXcf6p{Zme#C?>{QJNdfogy4TuVrZ>OjzbRmuNs+ zcbk4e&_4rBe$sSlPf5v$!igDls-A#7Xenbi=rOPuikmINa&THO?w(0Xn|z{kmAQ7i zbe0^|;CjI$j}-&ps41My{~GhN%_vf}yc{Fo8<$r_P~OUBBUpt{x}I#0R_+tkELDMa zj5r#Lb<)nXZ@1f32S|J_(wgdRY>V@wciT4k%uG**r;6S;6?~{qPLTb%@_(Afl(KrT7Aror@=s}ccc$#DzD|~4pK9j z4CPf!$saL)601YNkE-3V$w&XHa-8*uBZ#49)AypSkH!m4ms{ze%yh!tj zMXVW)zBWKRpnuPtf&MocZJLCnQ~7jT>AF>6D!8OHZLtD)cJvB8K zc>#t;1fdSy+-!3sQOWk`Z^uQ3e~jL2Q^*7fk9m;f(9mwja@xeUi!4kEZ-9J);8uZ8 z3KqWE>qq055n0aHUFNJrt}VTeUyq!5DJ20fzKp)9zu`!PK4za?N7Sz<92j+`x;MYKneg9+Tq5IjgOuGClLkg4gvH6Jd{xf2bow zUmqCt-F*S-dx-9Vbw4m43Q%S1wLJh{93J0|jQ_ArFgfjBmGxKgFWuiqFb!7{exh)i zHzFUY83LH*UDARaX_PT=^yjL%4N~kVPmUF(N2tSe+)y5OXo;b*K7$BUM=3Ip*)%V& z2W}XMY_1pckGaP2(-8{#UinSZM9^pqcSO4G7JxGoynam!a9v$ow)@>gCsi3NE`B3wYP0?874JnSUoyslZ|Lm>cw~6jAFYT1H;$Llp4*2z`D&CO}fKlA! z09lf?yr$X*xbK-NZYNJ}+zh?GT_6)=)V>PG#Of=44+xWCvm@1nMM2|V0UIwYprV@_ zgkYY^Tqc5+mYSB02#Dn5(kZ$|-G%xj8ndnjjuE5!GyIg&qExNX#1E-lZ3cdq+;&~v z$^JZs`Dh68;q(P_6nMV(NNoXatWD((ohPk#@#HtN*AD3s4hWeuLPXhOe@{a#0eg*t zJDDy!Q|T`Th-T%Ce4&l^McGtZ!|n)U>yPM$LRICQ7E$Bvqoz+U)<=x4j@r~t(p@AK d=s}~W^Z-VW>cMFw^pt|j((ndL{>yUc{{c$Md1L?p literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/.classpath.i b/org.simantics.h2d/.hg/store/data/.classpath.i new file mode 100644 index 0000000000000000000000000000000000000000..d849af00e6a0653ad3dccf9c86b5c61618607196 GIT binary patch literal 360 zcmZQzWME`~fIAEfj4PmQhW}8oe%|~od6v>$(>4T0T#7MbFKhj|8m0zBSIn6@;h-0@ zBTw6Tu6>7%zNfu)wRsce61E{>YS~wkIH@q3p^rNMhQ?6`JAVc9L+ zXyFouP4kkKD#|2n#5S&8E4=LUyO*!>uEpOwv#av&?BtV6n&f13PcyXcpS5Je2@Srh zw)eix_V_Atea8#8WDDc3`~AE64zQ^PRB5ky@~&1g;*w%$(C+ZJ$M#R08MJN2iv^Zb zWW4W%Pt%!S5d6R9C;KV+2{K@R0z(A|cz|J30cHUiAQ}`r_ZDdBeAwM-95F#(*--iG TMuzRvE<)A7l-dH7=Ylu@_;!`y literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/.hgignore.i b/org.simantics.h2d/.hg/store/data/.hgignore.i new file mode 100644 index 0000000000000000000000000000000000000000..fb437c3ce95993100cd15af572afe97cd609cdfe GIT binary patch literal 86 zcmZQzWME`~05KpX3S~3=hk~67HmUc8e>zTxn#JML?V#CNGBFjV21J(@SLT%@R#+(% RrKYD=6!3DzC1vL60|2)S7-0Ya literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/.project.i b/org.simantics.h2d/.hg/store/data/.project.i new file mode 100644 index 0000000000000000000000000000000000000000..32ce81e52186118ccf4d1e0c19cc455152536a8b GIT binary patch literal 304 zcmZQzWME`~fDa4|Ov|8bhW}7-v2r`Bf5f>T$KLK$T>pOlPPM0V`eAB7bj6&#lMebZ zD~h;YH~T0*>n8WDsoYk+S9V-BSy{($==B%V!_5qrzkFs*xpMNzk=DZR@1Dl-F&=rA z^Xn;Rjf3~=XKk_O-U_LvLEH1<;^o%o&GxO{DRAz#@`@h}j+G^bOD9(=dPrrgeIMbV zthtEm&4x=&;`Z!QOxZNHHT4IVz0O<6VHcRs{H^M_Lu%;L+Erecj{ZExa&Yw~ki; literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/.settings/org.eclipse.jdt.core.prefs.i b/org.simantics.h2d/.hg/store/data/.settings/org.eclipse.jdt.core.prefs.i new file mode 100644 index 0000000000000000000000000000000000000000..dddf666de15484966ee173dc6e5ffe66d0ef18cc GIT binary patch literal 242 zcmZQzWME`~fK3bxjNMQ+!+$8yJa@k2%7(`bDM9--hg`i_uibG+2Bro?SIn8(cb2Q! zK%nJ)(|dszwks~!AM`%xT&>aijWtMCRrO|zugI@&zWnpD^-pg&V_q}+x67kfX@N2> zJJ)xwTDNUcuKXgcuH<7goR>JTfY0&Vg9Wmtsq-x5o(5HZ4J_-M*!T5TL+}g3 zrX^~NIj0|3UVh~J&4w$N7sOi&i1v4wFMjmkhS}0Pf7RBSN2%U7%{{O8GGe6@!|`JN duBr88WZu!PJ20iaDvhzT8a? z0uJy0aebWQ?Nws1i^Ykh%;Uwrb&L64^Vb!!u84F2~S*7xCcN?9}sO;x$iu%Fo z*3I?m58t6#C(oQ*ILU-zrjAYF@zXYbH_T=ny>b7q*j9$7u#eH(SN}$F!`*jYe8ZcEcr}c~>-ys8@)`uIu@yJ>*M2IR|TZeB*(%$OvMr)%|-~C2Y-NUo( z{_3}!mZ^)5yMK1o{reL3Gk#QVowdNzv9y!-8atz#_~qLs3p#FX1-85(YW??6kHI z3oW*FI|qI^|Au!1e}!fILZ})rRWTqf#0|zt?A2=YeV#2)eRpCKX;-_V$%ng|} zebVGr(bJ+r=FFU*zB*+|`hxUDOAarc5I<#I_?(%uXM|6h8M9{k{3%msM>H(F<#0aW NyhA59!^i0|(Ew@J=uH3s literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/build.properties.i b/org.simantics.h2d/.hg/store/data/build.properties.i new file mode 100644 index 0000000000000000000000000000000000000000..81795eb0b75f25cd0b18810dcf8a5e226d5d62e8 GIT binary patch literal 133 zcmZQzWME`~09POt0A(}$hXRhz0=rg3a`@a_D<3rPUfyiMJRK{T8W3GENBf+l2 literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/doc/default_actions.txt.i b/org.simantics.h2d/.hg/store/data/doc/default_actions.txt.i new file mode 100644 index 0000000000000000000000000000000000000000..2431023a17b1e7b5c96e5db8e264c251f39beab0 GIT binary patch literal 64 ncmZQzWME{#0{%n64&J91ElOJ*kA4VBT`S_X^HQPrLGn6+WD*P;%#K*02|B`N&o-= literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/action/_i_action.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/action/_i_action.java.i new file mode 100644 index 0000000000000000000000000000000000000000..2a01adf0dcc73e4e6a7c56d645376525a14e3f37 GIT binary patch literal 306 zcmZQzWME`~fKLnzj5DBYhW}9D6p%B)_4&eFyPxMKEIGfm$U8kn2Bro?SIj95IP1l1 zC}1aj!kVXICHJxmuj53bwoHGd-E(q>^^Fv#NwF*+x7yA=`)Xl;V*8mVzkOYP_c1pv zIhgWIg6nq9vAM<>+}Hq)$ literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/canvas/_editor_canvas.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/canvas/_editor_canvas.java.i new file mode 100644 index 0000000000000000000000000000000000000000..838b88e4dab2cd34c295fe07ea24012da47c8046 GIT binary patch literal 3192 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 CNo?x? literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/diagram/_i_diagram.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/diagram/_i_diagram.java.i new file mode 100644 index 0000000000000000000000000000000000000000..76379b49c57d821e2c750a28834922f0554d0d1f GIT binary patch literal 560 zcmZQzWME`~fEx@9jHysI!+$7PRIPA$M&0?yz`*Hu%B$IP_wochNXY0o##nt5^GLyrlc zGPu}#4sDz9@|NUri!>hdsLZ2@evuDE{WHW8^W}D)@PArA$A+~lsqL|3&b!+C*{rrQ zlVY_vV;t0)zH3%S3Fh%wiWMCYG{|#5mDYXtu~P7<4-JNTAC8DzlZp?$m2Ikje%{+z zLZ|dIINJ_aGS*~lUEP|mANwvrC38nfc=p!2nj4u*)@{6dlq>hResFb6ebACSy!9L( zc&}Vp9(Lc(w%iTuM_`Bmfh#avvcW7M14M&@W+7|H;)8zE*Usz|k3GNf#`kO-^~g4^C@#I3oiANGcXG`<%B3o~lIyADPs^1KVM&}GDyFKNRZLwK zjr|n^6IudS=CCO>9%2)!@W8Wnt#olRzi!->;Mc0GmMAjsO4v literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/diagram/_i_diagram_listener.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/diagram/_i_diagram_listener.java.i new file mode 100644 index 0000000000000000000000000000000000000000..1d4952112bcdf72137132787c971a0d1783eb518 GIT binary patch literal 300 zcmZQzWME`~fI1+x0?KCi4+U54Kf7`p6|DE)v{<)#yZwF3y{p7vYCv?woZK_kd`yNs zt{1D6Qu*~3dOCWyvK;luIdnuV!pE+Nhd1ecP20;C^X9GdJ6v(}NPuapo@BS@n}?eg zIy8A2=I{ONSF}2-UTL01@kRr=XCK$zerw{%qIs<9*a?Go>8~~J?$~hX@nqibS}gX7 z?nkyn&3GESfA7KF%ggosSS&2SE&;ilfk6+5FM?SN46Gm;TQ{gtGx0* z$9UYyQ1e|^Qd;ZsHjp!O{kv~{7qlw>oA=64CBMP*!2Kx=DXJ_Jtg3s3WSCOq)~g&4 zyTZnnILmq4@K6YZk?rE|T$je&FK78O+A-ndNOIDoe9lHWIhAz4jJ%2~s z;?i}hj0Vf1ZcX~+e0I+10KFf#Li0*qZT#F`_w;-eYcogwuBtbj*XNd9*GropWccsF zH=!t#y^Hncvi>+{bdl?Ejm1JC_MEk?mk#ZVIdm&avHL>X?CDbai6-Z7O}l#Um-ZRi z{Wd$~)oL#JRdF=$|Gr>j5U*UgmCHkqc<0aevdcWyT?>2?DQ-TmvR!B6q_pq~?TqBw z;);DsK4@%GzaeSbB-Fa*$R?M)M?MMJPCs+!%AQAO{@7&4 z=`Gm9FQUD8wYUG-^R60ZMU2|%wM++j6z8P=oTIPOI%?NU5hxz5>56Ii6!4yHC|Rg_v-h_+|D(V) zHr?%o^k6F;Lsu=nQ0f15 z_lfK6DVBRYf|pI#*`~KgNH?R(%IKR5bC*CzfStsqpUqa%CMSggrq+8Oak~Hj%_9@z literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/_i_selection.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/_i_selection.java.i new file mode 100644 index 0000000000000000000000000000000000000000..0dcb8e1e1757c6a88e3c537f31c25345571b602f GIT binary patch literal 430 zcmZQzWME`~fY%HROqx(O!+$7H)BDGiHEWggjwhN%fwMU`94I*}15*Q{E9Uf0u+2Mc zz|;C%>VvGsuI{#Vnp`5TZ2po(Op!?;+ooiA^jwtx@~%{9_tyza?t1L|ZX5J!ZS_`0 z$0CE)MZR9^W<0mfzcAS=?rLak;2Tx#JvR={+AB0$J<)BsO6JP>Clh*RT-owExUl5= z@4l0asz>*1=3998(G<2H%VyLxmR-p?USU6(|3hU${sQ5|Eu3>ywodUfwr2QQR(fuu z=Z>4E`_=W0CZ6t;Y_ZuPc=~KoK*0aQvN_`GH{6RCm7n?lhT-f`r-VH+(+p1)xGvw+ zw|AdEzs!DluG$Az{sl0WdS}L%@b*>3*48pNcW=!Cdm9)?K;R4vs%2mn0|Og~28EVc zJsWermt}}k>`9-Shxcp`ev)+^ss>C|%t=m2xRk(<+!p26y6Mjuk=7$qraZVZ=gN~w vXa3mCKl5nPl|5IKc>Q@4TV*tyFVC9Jy=tq5sri1LsXTZ0#4xNk(G3Ow!(y{o literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/_i_selection_listener.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/_i_selection_listener.java.i new file mode 100644 index 0000000000000000000000000000000000000000..98a9ed712a16e8dbca9268cb0df88b76f33a09bb GIT binary patch literal 177 zcmZQzWME`~fI=YE31zeWhl0tu8Q(4?+`VT!Mf6SIo!Y9!-yA%kYQR**9M|rRe1{Bp zSigJxWbfaQlJNFK%aLQ^63ChAEo5OGi2^=T7U$-nzN0ec{E|;+LkUU-hZ|dc1S3!uxH>#lIicANkPt Kkonp#U2gz(yiK71 literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_diagram_editor.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_diagram_editor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..6c9c1dc0c826e6db0866c1c76ec80b45857a5e01 GIT binary patch literal 1931 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 literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_event_handler_manager.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_event_handler_manager.java.i new file mode 100644 index 0000000000000000000000000000000000000000..189b6830fa01cb54887cc85f66bc16fefc2d1a9c GIT binary patch literal 1023 zcmZQzWME_f1Lk4|20jr8n}Oj!6fAX!?Bbo+?qYc_dFu44pUoRL{hSU{1EMSD+zrpo zzHK1z?~T*{!@BZa&fVO5eWt! zf7M>T+xdK+^-9s1dnPnFX?FW;v=p4>8)Ei*M!HG*t|^kU!)pra%IezqmtG0zu)4e{ z=E9qw^H$tcUis+a{1nGcQO5IZ4L&-3W?%MYL2<~-iOVJ}=&tzdC$V^akI1Am@87&m zxZlJoY9)Pl=I!5~(_Eg+@v{GaZ*QcFu-}xXAD@*4J*KiabIyHS&bl`B!|y*jk;iL4 zJ8udyI$L+qX5Kf+J;AKb0wtX6I-b8fG!Mpy_FK+AuqefH!X8u2R43=BJbPjfPM+o? zl5n`DZuN_+Y!Up6@&nZioywTgr4-q}NcLZ|XgFDP%))o(!_eBr>#g2a|31k#JK)5o zbr-bO36?c(oxCA4%YBo808hJbL9MmwN8zlwZjNmm=186rZOx4~&kmN0Yx<|{DZXY+ z=z$46s;c_$DpS{eOZvBN{X?_kEH}OsemQqGd`)XuMsd(jp8TFAz2(_5&)@bkElgY$ zJSXjbxZ7NJj)(Q$yXT!O%FL84^y5C1pBgy3XixRr3tpRpmh4SGx#B5nM}exq2WLyx zUYXg|kC(7de?8s1pl;GV(VlGHs$(KPUWTswHa?l|bAH>JWvkw^ed%dZD!w)2bk%>S zt~jG-w}s0X{Yo{hM0ZS!x-f0yDwBhDoGELzs0j0}6MuJVY3tjs7O71I9jqC%GmZBh zcJtok(ZZ{1c*fnU!&hw|Pt#qtRk|F(zWe^av|XEjAvGap+MJ}iyGwYD*T!<(xhJy5 z+SOulbchw3bur_LdaX};|47ZAYsiwX*z+z&{+@tPXm~X5DODwr3mcx^UjFd(ch;$s zo|+u`wB4u5WzwrCHtkD?Jq~wue6bDa3v4Z~USyUW)m^*eh`UVn@|Q9fi@%x7N%3`` z&SP%AikVe{ug1LZ2=BjbeWvey{G*?4-|3w9rFrh97}bRgepAZcTsZ63&UvAQbLy

yoM zQIgf}w59KR*_pVF^9*&ftvq7v!rwh}U&eA?t?u{n`|{sT&gcPUJ5Xi?0v-ki-tS-* p10)-Ra;@WLM)mS(4nFmp`!?^8_Bwmp!Eq^64V2=sPeO}^y#eUhI4PRYTemt1NBR|D(Isd-9v!cawCr>)!E3kj}^}IEmc@}{lx3kyn zw=cJha{R_*X_Q-(m&$qS;dmrYlkX-4T(D$2W}EG#){3VYyB|_f$am&o>*}1-4?d!Qt z3D+;v{8w@+=d#R-Kasoe_p9;~ese?e9yX2BqHTnxiqVfkB7p_PhOLC zR~}e+m(#^DTS6=%s757QbFSses}D_BETgWzUNqrm`Df4V8|An5-DC~kk?82?xqVqD zU$nYI_cH~Ty)#){KQAkdp7e{Wzg2hEgbF_HH;Av?*4(?^OMlMX;rhK~G0Q&HzhN2{C+#&@ zZRTBBFtzFbg+^zk%*nrRoVyj}?a2H}PBrga@`Re7%QtMDf7kb+p#PDppIUaz)miHw zD8DKX6fL001cFKi23B7%i-Ca|M1x}W4GBxn+-dr=NT_wqkxfUq_CES_W>1N&{_~mz32|9*ou>NY`r^#YlNkhFGlxnS zicL{_nxdx7qQ3mu(p}=JVktk=o~bTdE|#faqABw9`E(YQXG^oRLYhn49SoYa)YA=P z=EoIgc?yIqWQ$?H;KU%ts1paWorwqR24kSZ{lP2-1~wqg2y*yq@A&7H=W?#jj6d}~ zvZAHrcdzhUs2V86)Cn|U9gw5W$*HejoSd4M>RyyskfB$cS`w6>UlNd*m#R?&WoTOS GasdFar#*iF literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_selection.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/editor/impl/_selection.java.i new file mode 100644 index 0000000000000000000000000000000000000000..553e5875d46bab543b19bdb674d3f8e3ebd51c7d GIT binary patch literal 1506 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 XJ+xA65#OT4Voo267#U`nn_UM0!`lCV literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/_element.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/_element.java.i new file mode 100644 index 0000000000000000000000000000000000000000..025a0d64379e5490433c1f35a733e7f1b7d998c8 GIT binary patch literal 510 zcmZQzWME_f14c0h2Bw7&HUqXPptjP^5T{oeU0K<$n4 zrA=4%O-kSL;((6pg|mn1?)ATr$>jO^=wpPfBdcjqrsUl~tuy5pbsru4R-(12Y}!S` z`B9Ghw#-|~%fC}GUgV=$@rmZm6T(?tOn#}J;X8KZU-7vMyZZtSvm~r98GMN{dX_$2 zMDpD>;nHjV8B$knyId}AasB(9-%l^-waMf^&n8Uc2@I-Pe&f)(i76+qg_{(v{MlSw zAGYVm_q7>(xATtF`$biBV2r?KLm^r{K1_o9T4GP$ZU&hRO zrMe0q_vo-OOzgWFQR#3Oss>C|%t=m2n01)p7|+W&eE(8cy1LHPT)8J^4(n1+%b6#+ zQh(0Wo zN%KDq^D#OA00000000000001ZoQ+e#Zrd;nJ;#9mfk!t8Tp-sK#jthQ3Jl#)bRWP< ztj*4rJc&-44*Tt$M@x3rY?tQ5P~>}$eDr|kJ2nJ9GsvB{uIXrd^|I&`DH?Lr1RUDBQP7XutFIUo_QqREUFYj{S-=`T zWIEso2m?+)4;oo-#*~*91zL>262b2s$YCHrXJH6_pdd`KPDpQYl-39MgwBm{!_;$> z-_z51Sq$TS#|GF5g$FbQ*9-B_vRGZ*UBVqSB-hJ(^}fRxr@ZO#`T0yWuM|puJI_{e zSgMnuChZzdg~zHuz28waH?PvjD^>b!uqYIDw$z3_DJxtUg}J=S$wRdEv!1kmSfN_ZcS%4u2dU%5 Q^}VvAEPj>6A7n~Xpo63kz5oCK literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/_i_element_listener.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/_i_element_listener.java.i new file mode 100644 index 0000000000000000000000000000000000000000..26de87e924dc163fa5a319ff90b4f517d5a37d77 GIT binary patch literal 355 zcmZQzWME`~fR#Y%J(SJx9}4Q~7H!>Y67^C@Xu0s>TWy#BFz<7QsR7Xyb4>jmxegf! z*hIgO|F*(*$%Cui3UVy#?Gk4D%ublqrV{4zXZJ=^oimAPW$D*8@A=Fy>yW}C$(yRm zi!W5GCKw)C>Kyy`n7viDisW>Gs%Z;OS6*GOre?uXb^YqH+*v(WE_AMKU9`My@e;?^ zzq%{Zl6P*N$vN5GgKgrnx{rUDl?xd>&*n7_p+5wT2I~mU6s!dGdcfRTz(7xlrrkySD#C)6l i$3Oa_A%Ri7btk`1XP7rf#H>GS+P=+Sm>-@@mH_}}7-^vZ literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/handler/_i_element_handler.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/element/handler/_i_element_handler.java.i new file mode 100644 index 0000000000000000000000000000000000000000..ed3ab4ed22ad8a57e0d6a4a25a92f9dafd508f07 GIT binary patch literal 227 zcmZQzWME`~fW<)S9+b`S9}2oGpP#8uGMwCcVc~`Y?6U*?8!k?QsR7Xyb9{TP`3@Nf zuvUBTJA6%3rgK^wo2JRi9S4rxJ0f=O)~Dqi0@s(RaZX%Nm!GEeirtSz(N}A?hvpPbFR-#eruZFe&NTq%5z=gp!( z$1m=>35Ew;FK)gpc6p`N=bp`5+$I(ZUTzj$@s-<~`;hjbmk!s9&GaLeoX-;Vja|N^ z>ZqW`H_sC?C%=bTZ$2=wtyjlvi|5XY#hD(b{C-#N-Sjq}{nz^MwZGP_IF%pzkKtjG GV+8C|%u($-%XP>= zpyj;o7ujzsY?nOp70GXkt8IRpmh1dEc+y&~N4uq^#oA)ro_Rj;exXu9Vp5>= z7SGQoLewSBrkqe)cA;ygQ+#;o(%y2#gS_G?JJibfUWCTIX#016&I!q~NkP%O*tP`j zN;oC@Un2di<82p5CG{N|B6+e*>nzT(oZofpY1V8tZIcg%N-C}b-U4%UF1tkp(&d|_58gdbSO&ToC{#r^JwTT-}{o2N{! zXCY_eugj7_tW&I(>n_}=Ydy=)TH!?6ye&*Y6NL47^c^#Di_RBh9N!`!yz1HAg-%O7 zf0l54V4B*VEN3TuaYg>y#VN_<{m!kNGJhkUl%?F<$v%%g(`o11?@K3dezCsv`>(*o zhEtODL>!^~A@&2NqwgxKg!YuHlEQ(s^&@*E6;;#sUD>;|Eka>S=@UhdG#X7B~321HlPX$?A< zb=ZK%)_g*}f#uem9~ZK>8M;+#l&snCw_)~*b=QvYZM$rE>|br)<7K5WySg_nU9P@2 z-E@tG0iTPOpXoIp2_2KW=e@by1=Rc}n;hIV@zezWvXm*clBXQ6l_&?!_^HHydF{cj zb%E@y;XAZf=vv3>{_b{O?s+*+TgM~NaP3Ja!+mek6s9d}&)gJsx=C`|+6Df9mz+Ej z&imu+yi5h(@~C?!B|qkgaQSUXJhkVPP&tR!^T2%>Q#Y9~KH~Ybt9qJE-|tr&Run&Z zsPe7TBtmAv7yq|M+_jd4FW<}m`}`b6;mz*8a}z#Ud}^Hb?I)9rtDST3-gW`*(eVIgh6vDRw)$>5UOg4T!FoqwV2y&dA=MoWzGZ&hs9GMitaobeiwQ>6DY16qGT&^hj0|0M7KcxTw literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_i_drag_handler.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_i_drag_handler.java.i new file mode 100644 index 0000000000000000000000000000000000000000..1d35877df1f1aebf5aea132439b7fe94853ee37c GIT binary patch literal 172 zcmZQzWME`~fE*yz3}rL?hk}yBCubj9pwE^y|JdzB88uZ^y{nU9YCv?w9BmJubACSl zp(pgcu4|t=<9kN?q>tXU(*|A_y>-3MYHxh@^wCo-4c}8IeZo$h(e~8!^7ioy{ZOLm z<@4R+jQ2@T-JlgfB`vEoPM`M)Ji*ZY``PrRSs78uQ@Op)div_Ld0hWg#K^ENTYCop D0Dwku literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_i_event.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_i_event.java.i new file mode 100644 index 0000000000000000000000000000000000000000..ac1c2082f7087474530f7e0569fdac9545071b94 GIT binary patch literal 151 zcmZQzWME`~fN&rc24yq+hl1uA>((Cq>g@M2!q`KkXnDKSt2b9*YCv>pL1J=tVtT4V zeo?w!ab|8}UP)$hv0jEzie742YF>#oFBdOYL1|J>X0k$NUP)?ET4Hjlf~PA;PNABY bi!->SC^IizAw9Juq_QAYLldZ>mX`|vHCZrn literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_i_locatable_event.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_i_locatable_event.java.i new file mode 100644 index 0000000000000000000000000000000000000000..9adb186e5bef9090a06f2912aacc64a1879bf1fc GIT binary patch literal 235 zcmZQzWME`~fYl6eCIiEND2Qli-m28Gd;hM&#pyo#?^tGip0*OI9!yot$?eWxDNY1KGrxWLA8poeI zb8SZcMwJcgro@G2G@aUe$A{aq+9+|FTIQlvw{|hy-{IbA?>H?*d*`N8EiYfMiND9X z^l8w~xW~NPmUX=>GR%+nduOt;JbP`?3DYY6{E~?1lB0W0GWKMxl@s%xoqS;HvTY?I znM(VnIP%ISH1lmMu}D0c!lb_@&(Xa0lvDs4SL@QlTt(Tj2lqDqnINRzva532iik|M znirew9nThMJzAc=e22;RXA-3s-~Ik!D6`YKrT5dM)gL4tyT5#rxUpNQ?sjYE^Y6Bn z%ek!nzgMlmOPujw(mYF@n&w|>U*!+53DXuG>WhPBLBV`6r`Yt0D>}Lbo>IdfI=V| z6eDXNtX=W)B=dG=<($LazprNK*E~NBRRg9f<|HR1Se!d>-~&U)Qp?LmpM{D=xV$D8 z8BG>#^6oPFd`Wauu=d)@oe~lfiyL;ZuQ<~pyy}4URwGUOjT%R{>X@!~VO|*HuBc#d zy#B}u*M$r&*;*mZUyL_0ZDb7Cujf-==$XWMXx^7AlO~*M3Q;LOAjNp%z3xc>^S}dF literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_modifiers.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_modifiers.java.i new file mode 100644 index 0000000000000000000000000000000000000000..57a0236328f0dbd880ae853a523cdf6a91fb74e6 GIT binary patch literal 339 zcmZQzWME_f14dy61}1L^n}Oj!6r_oMC@e}`E&MC{xxgf~E$jB$-)M%Z0nrt6dM9qo zYc>#QOIQBLx7^2Nt&XXz@-z?G%Y44_2Oco%nVN0tPg(Kn-O+|i2LehrsQ&+7{(tUU zzp3+AxfSf2))XfOYklAV#BVU@=y03mFs_ cJ)Bsbzi`5vXZq5U_qR_~JN%FN-l^4p0pDDi*Z=?k literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_wheel_event.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/_wheel_event.java.i new file mode 100644 index 0000000000000000000000000000000000000000..c869ccaa55786d1a0337ba01e46450a19ae5e128 GIT binary patch literal 350 zcmZQzWME_f14cOp1|~NMn}Oj!6x9FpxRF)6U3;h3cH1>gXRIxJcASK%0nrt6QYReD zI&8qxcAoEvtcxF~w%!*jw&uL{xn?&K($5D9uiYq{qnE=3kqsuzTsd`f1_4Y~0{kQHf_nb8$tM}^%-Kv8}kACLreU#s}#onfuHS?6-AGukiQTEI22dAjG$O(u!zmlieN`0`HoCD#796J z@3666Sw;K^zT(Pm7e{iQ~1kG;oq{gw)?(i=uX{H(Q{1ei@d$=v%(#&_akjre}18~ n=>}7Q-JDNto9~vNJ*#&(^%Kv#XmI3c1l`AkcAi84C)Zo*3 zw+#erPB;8-JlpBSELXE8P=Vvg7RxV<&$uIsbd8sKlzM7vHvOsg3_NcYDt*AffN?t5n6UmyrLh1f(XR9?yyH9dGdAjf~ z`;`dJ%N_F%zs=83Kj0v-#%`mLO5F|7c+0j|wdcx$&F^m&a>;lnvvXVj;|LZxTZxw^ zPP|AKnrm}(PtG!fgAaY~2{ZGjh$Xl3$~HXvUFnzOf9Jv~^~tUGuTB>enA%dX?&2>7 z2G6L~Dw$a)Z7)1s<`H%L>5)k#R?jA;PU}4~gSlRK(*w3#QSFGsroNM`&tHsRW}_z6 z^Q)v}{%*%`4c6MYk7?c$Yk4{v%jaq`OiUgq9iQt-z>zS2DT zrnlSYikFRj&-QxU{E+2jaMDR!X{p-8*IVKed!L{B)9Is=ZnAR zr%erT_>AH_4D!9?`KqDzjPdw5J1TX2tG0}u*HK}3=GU58kCM^bzTkm{qs|LcItII zCz)Snu_g19plZNW#hly#UoU4v0lAH{MXK5_v@YS;>9F-eSJQ$WA6OoyMk#$3^8GY# z$A`3gXL==ra<}l+w4AB2pUiN8IYcM+zf96J|1^`T6MbK-+&-5*4~jdt%>D3chnCo~ zgVQw+yo~q|n3LBs!?)FWvcl55?t0Ert+!uVM_akS{f9=RW(+akBXC=SgzG!Rx^K>IG zw!S^V=0_sV{Z6=hEzw6Rp3T|w>~5KtHRl|iHkds8mw%($cgZcAa{^474-IV-|FuVd zWc|(3+ye47(>Ji+ZGZtb5zGQ+KOoHr3a|{@$4x%#r=$c3@3~N=ba)kCb&3U44VbE! zlbn!Xb%5a*kI|etD>Y}T{&cN!UD>*HB{bkU9wq6$=hwxT&EZN!~2AB7sseB_b7VyEp;+*)Qk*GGNRnx3!80eX8k-u&#=v>_nR|N2*Z zmi}|Q-(1Y-J>$-x+jN|NgHRclf8467_qj@_8ZcEcCpjUZBQ+u6#xVvqpKT5`OeZ!xf8yhNQs<=p zC2t?kLS65(+8;g6c%Ssty<~7DFyNHm+A9WELM{cK@YW6QICcI!@5%DhIu|co+4Ah^ zBNnDOJvO#yp9RhcFh43Tdi7eHMI`mvR1s~JXHPVyJWFjj>mBI9DjCNU)Ogq_)|r`^ zxg#{8aD%2p;f7oWiEl>fAU84I1-q=6fq^9w%wk|*1qp+^v)A;3bMca-S;wv(%6Ya> zSTFS@=VGWDFa`F`q*R9Fw#jqmtkj&T`qQdH!0xz0*W%ayKDZB|@fH&;%T zVqEDu^QY!4FDtIfl~1`Gf2ww>t~~d1X{G8)*OQh%Pu_ew^XN*cS+lO~iDBt2I(Po8 zuZwY~i*ig*agcXVVwyvRz*+`#WhZBly-WdM+uf0z%mxw$IeEWj!+z7K=?Wq@)8+&e z{7`Og;hG9o4JVjZ1C>4la;-TzQ&Tca@{9BmQ&L>ZQu9hY67y1WQj0VUbrh7cQ!6!` dONw%|T{M++6!KEb6eDZl&yUqiZl2UV;qCkXYvU)I z&EMtz;mYa+_qU5o9b?Pq9%79R34gnbapl@mtF}CTqG{(~y}J6+Vym}1GtDF3U5i?`;smy&m*BT^CI5zl)2`a9r$iO}ObUjk6 zefFNvzsJ8q_Jh%@|C^cBtAvbqoWGE=c~OMt1m1()7ginD$S=K|_T_N!UN@GLJm>2_ zd@spd^mSd{k-ZV${Vaa5y2f|y-u Ovu?iTRC%eI{aFA=UzjNX literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_drag_event_handler.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_drag_event_handler.java.i new file mode 100644 index 0000000000000000000000000000000000000000..56f796ffe941aaa34b587b3f8384a38cb0b14f3f GIT binary patch literal 526 zcmV+p0`dI-0RRC20000000GVb00n;l0000000030|NsC0|NsB7o)zJyz%jq>HC?>w zcc{4mSAD$z00000000000001ZoSjrnZ=)~}JyWUwVR|FdibIc$R@zpHy1DH3(sSk5 z6Bre2WIODk;=k7)7(z?ab`b*Oym>Qk<~c3n&#XjHx-1MeOj_cmsIEnU9ZFkNOo|%y z`tsuPf|^!oy8va}l9I*lHoVtokSNG1UFEljP{Bk4WPH;ptQ{9rE}MB#mW~qdH942T=B= z9M}4M!o>J>0EUP8N0wK4bWK|^gNcW`H3%1Z=Vx;h_IwFxrmMI!n?sgpJuuER35r4z zxdTkrNF(&ua5R_@(NMXq$gI{2x#CtIU+By=$BceUC5?I>gC{0IS05-kWf*)k7c>0! zzNmS=trXu&wsdNy)@W>0hYQ{D7X4a*eKs1PKRHTcvOXN*1@DHVK$2`e`_F(jEJx>` Q369n0Cs6lz1(iOmwGJls(EtDd literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_element_event_delegator.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_element_event_delegator.java.i new file mode 100644 index 0000000000000000000000000000000000000000..fb54b559f3d6427845b159d99918cc42f3672db5 GIT binary patch literal 723 zcmZQzWME_f14au52BsqrHUq#zZjt@?!e3wo-J6A$-kx5`FkByRY7FhEw-wDe7q_0FDuzhzFhZS67QIJE6v^`v=4 zj)lh>58PN-TIBL}X~El&x$D}p?xo>&q=TzVDlF{kgT@h=q zq#-5#^>80Q|3+iw=l>tx>viaNcbyq9b^6N{OBfbju=Eg3E|dNxVeo~^aq4~9f~B_S zdGCitw!D9vtd^bX{&3EdzGE6ryl(<(t!*}_p7-S4msIXMMLQ+_v+R;GxvdJ9563>{ zjJjjX{Mjtv{^Q6(SEQ&y17)(ibKNZHP+U`^Eq2O{Hzi64Me-`iC`d7v6ZIw9{}&NdKv$ zcSP|#nB`pLP^>qOAYj_p$OZYR7nYu&s8 zBnJZ(b6Nw>dL1zkSa)3Sjdjmy1J8(3lMk+gQti~Q)ud=DMD4_6{y-a0JvcH3;7 z-9?jY{l3k8zDs)^GoMN2v?UkHHY}R*Vc*>+m2vGa;)1d-9Q62AdPMaWbMLV?OzSqU zTfxuP9w{<;KXZ<0w0hqO|I5pha#w1Izvce;PiOWIV`oT6&a$8krwrC0UVQ?;PKS1!00 ueEhq-F{F-FFmP?h?cI$Pt1WT`TptVmvq}1!F*W6;#2?$o{P}Vl-U9$@4NQXo literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_event_printer.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_event_printer.java.i new file mode 100644 index 0000000000000000000000000000000000000000..b52bafdab88bb5e34d38f16269879f4bc0665f5a GIT binary patch literal 264 zcmZQzWME`~fD;T1j6P5{<9{f4=CLiWf7koVzx3Rm`dF+s$>z zLBRDj$G^ivX>Z@7kCfpF6td zUhI6gXqR5KYkAS4buX%%@0?5jJagN@&3{&Xi?UgLH|p_$4D+A2|4E;Cb5|`^Quf&9 zi?Stb$t^PS5!Q-rorx#>99u5k7gMfSwliz%e&NmUGOOwp(%bkD(0H6(_6%R@}=O4yjf;nXQZUCicStVKirB0hoOhDzKTdcH?OMO<8&Ao#zYY0PG@B{5-M;wi0RVsGShWBE literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_move_selected.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_move_selected.java.i new file mode 100644 index 0000000000000000000000000000000000000000..891b72808ee642c2383a3f70eafc3676ebf56efb GIT binary patch literal 877 zcmZQzWME_f1E!q}3>?-FHUq@h!F=)F2SiaBVPTAO)DRGj1{+jN#P1>KuLCs|(nEHRq701EkJV|`pND#7k6BFOdmNTowDZB1Yg;1Q-u~fi zh*yZoS@)#*7?YI$_aaGg|Bb$vCalkLzs@Ar!lEla>)PqN%J-Hg6$HGVeS7XEGf|I% zs4dY!)(@6{KFYsp?)UVB8UyEFk5r$OTq?^xs2#$Y#Z&Z0p^Jm(U_AFE$t%S_WkMbP z+pbGErO0R~FfH!vqxV^HJ7xz8q->kAa<<5Niz^&69k<%Nx%*u<X)f$I}5cHVk0 z!${1vnCro2qkHfFs-K*8_`Uq9kA8)1yQT$lpI=>&vv1#u(B*$ue>fTQP-w5u@nb=A z`Jdb7l=5t|VvAP2v2b!HuSY}a*HH=h@N>f-#> z_4RJ8`#TTq77S^;wZP=TBG1Ocd(ZQfduI#$;G0;z-l@!Kj*|Fs--KhT+bc{?2S`ur zJmHxC-1y#)w$JPpCdnQ%;tc!MH7DGv{@_3Ltlf%p=WUK36fG_A7fZbJRD8mJiI{R1 z7P*I$uV!pp?)V~x|Ch#P$w!kSS>Lh+Hi@7__>#E6Y zasVY>P?84%6JWwG2D2C#SV1%>?QaTwArk#I=(bt*`uYjB#(DF!7P~>!fT@Z($q5N_ z4>26$F`6@HrRGf4pRQG|D_fVYJgVxrlC^VYrK;4dYkOjNcyd|=dg5gn1noth0sxWW BkUjta literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_pan.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_pan.java.i new file mode 100644 index 0000000000000000000000000000000000000000..c00fab9172e7b0499093caffcb78d891c1ebf9b5 GIT binary patch literal 464 zcmZQzWME_f14a!71}1+9n}Oj!6zt$=KM?Km>%+58S8I1aT6a*gaQZ2j8W3GEr*?v) zH?yHY>v_#D_Gb#kv-$Rl9Xu@dzNDU~sy>>Z6`BAz5P7$dq zSBalo9(%^~f#|Wnm%dJ!lBAVY^EK(kmopiEuN8(bwN})byI{*?-(yp`6_35+{2q0+ zz*udHox=R1x0O~Y7hAbkew)5wr`wGfb(ftCuOz2v_0M?zvn$)G^S60<)9yo{umXiJ z5P-rt8_Z&0U|shL%BZ;67cfl^GaKz%^WAj8R-nvz+P aU!+%*T3DJ|ToRO8keHcQqM>Qc%LM>kUBavY literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_pick_selection.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_pick_selection.java.i new file mode 100644 index 0000000000000000000000000000000000000000..479905ceb1fe57c8f9152f7bbc8b09efa9bbdb35 GIT binary patch literal 776 zcmZQzWME_f115F`29_TXHUq{Uy?(fQkH^KzphwD< z_UHe&E>X*0b7QZ1<)%$Hzx6-m=9nLt`1It9^n+Zp1D@nbH>Yo`wSF%W%76QG_lDhq z=QpITCv$P8&>b$zhG;K^6}7FI9-iAeR9dfISTAQV#DHWn=by@`{j}E4U>q+OWpf&*@IRxcnBSCHC}nm!ks^zq2tp1+G%SfMt^VhMY4rEKrn&W~GmYG>MRUK69IS$SDn|3kF;)b3-O zQv6&En^|}cN~I~S5C8lpXHVZv&$OLd%bF@8zs$Y*Ah-SHm&~4H34i{#zqqR+*;vTG zKFH=T|JwHdfhU50XjT4ZmEY9#8I%-22?z)p85mfT!7LyHM1xY2;@ZZSFJI_ibG>a; zbD!<}@l2V2m!WFFRK=X+goI5g2??Ll6A~socyh+)vc?IYbJtGml%3VpSb62bm5>$B zo-&_vS>Qd3)>AgkGn#&_H;xx^cf4nA-TG1b0OvMAkAk94MT`s|*XzCk0E3NP`2YX_ literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_rotate_clockwise.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_rotate_clockwise.java.i new file mode 100644 index 0000000000000000000000000000000000000000..239337fc715cea21a62b0f9fa9e45874a9f29a3f GIT binary patch literal 336 zcmZQzWME_f14aP`1}0Mon}PK|6o>}89&gzDWb5302G0v`RDU1 zzPNtnm{%ovW`T^f?314hCtEB|t_)kZ*`qWxY^kK1|DWkwjNf>gRWGgzI-I!o+IAkX zc8`3%l|TB;{FVCWiLSo($oKM`55-O4Pc61y%eWBM%Am~@zvlXMe_;VJpDZDT$hctr zA6?fT{mgY!y8JLG-S72Y*QW}+s&(q^Tl#nNG?&hZZ4o_sa`KL4Z8E%ao1MR%cz=3v z+T*!5QoT2-vfWy>e6?kj)Nv2>rGYs?JJs%9)lS%aa;sC}e7k**Cq@g``AGceSZvhi ZDkSj9g>S~P9dB2xKlStnqfF2NeE{m_mKXp4 literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_rotate_counterclockwise.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_rotate_counterclockwise.java.i new file mode 100644 index 0000000000000000000000000000000000000000..7d226fd989a16aca887fa8b6c39fcb57360a36d5 GIT binary patch literal 341 zcmZQzWME_f14dB>1}0kwn}PK|6s*(Cd!%FW%VhPD28rL&e>Yy2O#Ka21EwnG^iDYF zb;LlR?Y!<6*=IAF*uK0_;@Fkof9MxWrqylU*=nUmYuP{E&7GCwIN_-G43+=?&;Bvi zstvPkS{}z{ta03py>i!km2)p5=1qC6b7`H{>PtL})&F_llKiGJTYPa<(BZnh@777` z@J+n;CitU#?mQPc8||>QM^`VieE6JY{i(vNwHFtxORyK>RP^CveT#Cdv4*{?_yJ%O=kbt%ixi{^Q1vU`YPo$8h!JQsMDCm$|w}#bh#8%jrLRk(o4S@g)tjl`+iMcZ+Vg`6O!Lj=kRY_dlN4%W1F1 fQ*$6t^0*QwN2LUMZ=-P4)srD<|b3Z*+DVzDhFL-p1cie_#5@PRPDmFxl5ZA?(-y9q|aGivhiQf zp$~h_9xLg%ZDY!}fNlA{pLn8HR(vQBf{t(#z2^2!0a0P;3VCW`+Squ!U zAQ}|FNeAb|anv}7R2?q3CVS{-)^~%QDNr>~it#?sgl|BOBqwKPnucOQW^%S(X0dB- zK}n^CrlvwQFBi~YRS0HK;^gE^P01|DFVZVYEi6qfE(uC4NX*PD(a^N!<>KV5<>dkZ DSUSh| literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_zoom.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_zoom.java.i new file mode 100644 index 0000000000000000000000000000000000000000..d709f81396207bc43092210132d544c5160dd4ef GIT binary patch literal 550 zcmZQzWME_f1I9WA24-Ifn}Oj!6l^d|Uim@)e)_ji>!hk}NfwK@>CcC$0nrt6T7$g( z4><_fO>g;ca6GI~Ii|CdbArbehbt>86qBu|TrJyvGxkBkpZD)h2PmIfc>CR%@3TCm z&)narGGSH9tm_&)=S`#ex!j_K+SUe&h^|cBe);W(T@z0okj|U<@Z5$;DQBNe;x?Ap z&d9!nD{o2CWy9k^iMAiFKdfiTx0}1;df}bRvsU~%R%U(n+15vvPeikL^@FY@{1m;q zZM|YfT&-J!g!B6H&QjB9Hq?*8(esY+4ea8zE7l7G3s$hKqsbISO+ zTH`!Jm#>?y(o`lOym_N}cdyEm^2T|WdHilk`YjH9+)?dvEB$%FHKw$^@loB2qq^<4 zG=*Gi{vi16+B7a@Z6j&b11orU{$BoD@y$n8k@Gwepcnwf8xUv!V=oiTVqjne(Vz%i zyyj~h>mS}F`-Qz(W^H$x`lFsx7^((JF`EGO0WpINCueF(W=VdLUQudcX=-svP-;P9 MW?qSgrZq1Y0RBYftN;K2 literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_zoom_to_fit.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/event/handler/_zoom_to_fit.java.i new file mode 100644 index 0000000000000000000000000000000000000000..5b99b8ce65967552350b6285d7650fe118a56fb9 GIT binary patch literal 656 zcmZQzWME_f1I8B&46KF_HUr~-DCo5E406iXx_k0o2_MY@!HLW!+i)rauz1{7Xf~LJa?wjqOvvr$@%1zBFf8S5F4Z7AhIfgB= z>hrU`>e=d_>=(IQSoS2$%*k?QbX=^sjCDv~xRa>qtel+@dMTSPA3Klb7`B@?6|*w zd3E)YtewhQqV>w&2J04|$WGM#b7@!Qh3%Ib)fJ4mS@tc?co2VoO3jZ;3k^3p?C0b0 zkGifQ63~{TC4b_I)`Wu!%5P6jN)h1^x$-4&`>G8a*sfkHE#u*;i+9-3e$n!N#(IuO zE0esfiH0+7aK3Mrt2fqrk&^jeuwmL##~7i*U)xP4_#V4F!6onJ#F9&Lk&|X_^q$rK z;Lf7mU*ju^z7$W$G(0EudE2S~8-sIKXEv;XW@M{yK19ztDGf z9}|lyNgsI3#P_XxxVbUZ2qipZlo~wWb}KJ>7Hh+p9abSx-rQ`mDCl{>#$H zE2dLE%yP`%ZuhSsInnsuwVj>wYj$MR{g}Ak->Y?X!Y{6SpUTr)h0mV1JbUnBOM8aX z0mXXnpY{?9*VJ?JDqCy6Qhrl#nk_b4#Nu+&{-1aD7sdZ$j#gXd28wJ@3IPHQU^?*y zvw#c`4N5A8!rSjVR+?zRpHtjo*l`%p=w}CC4kC-m_de?nD7COO TwYVfGwIDGwuS7%BnwJXz5nLce literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_filled_shape_node.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_filled_shape_node.java.i new file mode 100644 index 0000000000000000000000000000000000000000..5838ef56b204ef8197a3cdd47dcf6443faa2ac7d GIT binary patch literal 474 zcmV<00VVzb0RRC20000000Ei+00Vdc0000000030|NsC0|Ns9HY7(?6>mRz_w86^> zKnd)P;06`|00000000000001ZoQ0BKPr@)1#h=-yxbn0;*x&>)AtVX}VkDYK^u2bM zQ7P@x7StHNyIsql;YjR5v$dz^{Cax}%9b=oP&y}uuc)+~8L~(-B2|XHDB`O^X$v28 zLkaz~WIzpPGpp6o?f%^yDxq|Jd7^2taK7oNzBgOY;*3*{YDHd=aLE# zO6Fitb1L3Y8?NN*!wC9t+3mDj?b~jermeJd)9tpeuBW}IQQ9c$urUK42gc8RkZU1& z5x8+w_;LaBb3go%!SsIk==e+J-RxVkF-MWbP4Cl8f{PU zhaZZVxFdG0Wv{9T$rpP?*$M~Zz;gNNi9lCOioqs3`wmh@yRSM nNzF?wQm6*0;VjF~Oi?HSiaTc{=B1~mXlMfUa`JN3@^S$Hi3~9} literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_line_node.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_line_node.java.i new file mode 100644 index 0000000000000000000000000000000000000000..f1c4083cf276c96ce290e936dd1e4345061911bc GIT binary patch literal 623 zcmV-#0+9Ux0RRC20000000J)n00hGT0000000030|NsC0|Ns9sFE0eNYnGgt9qKP@ z0Rk`y(WP|&00000000000001ZoPASaYuhjo{p>*g!;w!C1g!~e)=~;v8dAo>HkNL5 z9~E11w91l^lw_mizwabFj-7QA#)|KgamM$aO}Ufl(p&Q!@N@LuC}Uq)f3UpVVD9nk6)+d3U|+c3{0B8s`+vh< zMe4cEm57vv)V1YOp+z2qupAvejAx&YCd=(g$rMt>or8tcA|N1sd7(20H4|R?y#$}q z${qItoadMq)>3l?%IF-Nu#&6q!a8a6w+}P8gUQw9T_-+iaAn`n-^H^S zCM-GKVaPiLlWS5rKnq)?C zt&J@R4bx@7o(Mh9TQwsI)oV2;0kT$xdrC&^0^U@aDbQ|sX8Asf@6;n{6(gxD(P}Y3 zF;la})~L=fN!s8lBK2{$fcBXtNyQ5C=av^@ZcQ@ zYv&{U!95B*M6tl2rLV=m+u4>xvls~GNM(6T1XFiSy_-| zNi|$Tr6RA(<@e`0>)pN45~RTppeJj>Kz}3IDnJK^|Km}SzS`?OMuHGAk;7VBG+>-n z5XfsZcjSY1_V()%<}f`!n_iaF%ZthBn`mwxeWg)HFyO;#2f%ql4&0@?n<4kGot2O&n@tj5_jItj+itWitWf*yNkum=c{jgfT&!OOcqN_`#dEmioZPC zuy%gScynDfvEPip=FM-6SvtVr%`sqW<1lhI5vTAWGjrg)cQ_MN9uHjueCSFsu%zhx e7#f`lTC`cLb)zV9(?@@c$ILb!rNa|g82qJOf$P8k literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_shape_node.java.i b/org.simantics.h2d/.hg/store/data/src/org/simantics/h2d/node/_shape_node.java.i new file mode 100644 index 0000000000000000000000000000000000000000..570a3bd67f52a2d5b44e5590e54091611a0eac50 GIT binary patch literal 976 zcmV;>126ml0RRC20000000R^N00~_H0000000030|NsC0|NsB)^$U#8vnMMuOiFzz zIDciBo|I<*00000000000001ZoQ+mpZ`v>veb2AB>qBL#DikJGCRAy(v<#I|skBx5 zRJn->UX6`xLyIQ<`y9uCe2!Uy5PYuBz2}}>SmNLvM+Ah7d_@yRS;Wu7mAAe~75-S=^wG{7Wx43yFn2_bKhY~O6=G^w6ymwD{NF?RaPs+6_?@#A= zS;177K}5vD@6TqGlLv{pnhCk6LEV!;V;(UQruaZbe*Ue~`9AJ>?i`_w0whdQ z0cGDWfUg+q6%kf#LuoGtLp~s51k`R6Bdil3uggZ$dDFxv7IOgPdWe zNF7E6n2~9k#D73tNe*eDKc*WV+)%g}MHyuprZ3=@o>S9q zceqLnn(j%m#Ky_UDYC6#wFT7BCVJ-dE;FYJDEAQ55LxxBd2B;arb#7|v~@x9NY_xr zU8`oeF*_*R+!90Dahm$AN~?XxYXsW^P=!s(+T|>ixjT@;Kb*4LM`iQX@Tb<<-Q?Nt z)nG3-wBX9Ruv#yAZAombu3h`&!fo(-*%Ek=hDf0WVQ!KW?r-vCTK zmttjpp;0!UptJU;r=x{{dqc0Kg9Te-8jW{Fkh9E-!QJ{eke2Jm{QkPz|4S ziTD3@9=mUzx1Ocb5-;(eLm71Mq?XWARF04nURYy9M)$nM(WP1Xc%qoX3mB}w=Fe~O z?}^s!2{CW)R`%BE}&hiLda?YpBo&s|3Hr=Q@JG#(HG=Ycb zKwR$Z=HqDpT@pBJRgYXI-os8)bWk&i_zrQ6wLYb4Q5JTk0gxiW;*^M*6M6f`1z2e5 z?)|ClJEia(M9or3N6u}JoQ>v?DIQkR(2A~J zKgP0&Y1SSzXd(|2Vn^z~+DeqL0mXbvQYg8{rQ((0MPmYnz6Q~!xt+ip&gbRCm~$_Y zx2-H-aGvjWQTy`i`5Lkz=?t=p)C%X10-=P9$74ZEZdzSI)Xr@4>R};d7`QqT$Fojn zo>BeLm}~e}gX;DhCAme^-Yi3HN7easU%vXBNd-Z{$dGW3&mVQLf^48(vP&YREP5kJ z^p^%vgS-P&h#F@90f9u@#x-HuD8VBZ{vQ0^H;W+yM_uD;A6PrwLschbiYrid#}5(z ztYlhLiBym&xMbogDZO*~coY8yjYa8b;PZIu#|HrbaM%C<%EL$Z7wkuQ{1km0Ht1dG zkN8$bj61VKmo&Szx~s?8|M1Q0c(vlXBn0xAdlL`5#atplStf*wRiUgp>@zGYk08b{ zLFIVcZ@kz@`6W|w_T-;^vNRS+^{rI(2OZt37IW?MOoy~+|+n6QSSfm&Pr9qsjb`|by&nnKE`>t>m%Th%`1R4TPo zlJQVi$XFEnaPix4N#BLU1%({05{Zm#<^BPQog$D!V|;)G-8}CO0g~2*;PN_M@Uteb zs%0QeP@*sCNe#YMz^uH;&Yp3-AazW*Q@(>wOSJQ|Xu2z8+=Jkz5e&#j{23gE^+6=(ZoL2DFtAN-kz2AL!uEozgNxf!E*JY zYHUg2%dwm1Flz~S1!h?PN1gBNXPa2+1P|1#@HstvZL8ijPO-q_vrDsYmj2tR4%01%~KheUW?Mtd?{d+LGnBa^b>Kq8dL=wY~4 zGikL4txP@diGorIUBk)E?|x^Mu%q|f65`!i`S&mPPf1D%BmK5 zpYIc~$P+U1-Kr^f(2C!@{cx;`uGI*+tdwN0gSD3&Q8z$ki^UA3s^!L+?rnq@iZ!tw zXc=FplRE4vGA5EIq$bH~6g*`t~-2DD`=wtZSMTbx`Hv8ZUFuQY>`OsX+zhvdi! zU)L&9wNIN^W$!K_`FqxL+Opa=ehOVEx(}6_^H*`yVl>_oX!`iz{>iN(SK(SDppR$G zl?kS4&lV<;48Fw@GQhZ+ zC4@aYd_a`vO3W+`>zl`Dp=)Wg=_d6&8(4Di_h*iBQd7KymxADwEs4|?=BRnuA~?B> zROwEDMMpRGfHrB^+ra_VH5h2k?bQzu@3^)Ko5Dx6PMzZkY67h;a|by2Fn$lTRsY-4 zG+}3;dv}w%{Ff zr=>6)BC~Ni%&-o0HLAP1H)woP`H;gPfPSHg|0@NsN9~9#W0H8B-4Kr$YB|*{lUV2R zeLU2Q14~4h`Gw{ev*XLBgdbn5tn;Vt(?M>E^cq!y*lk2k15A{V(Tb@ls>rZf+1o7dq}L4kE}adj6) z6ME~XlZE&G`q&x}a2jvLo^JeQ)u7OKWnYrO=RR1uXT}B{b#@ORXC~* zR=YN*lfQ6_nlj?qji&9?$FFf!@J4duoVOI2@!3tp7V7J}eDaYqv8t2hp<|S?LcOvY z%ch!$SW1yK8pKTbKxA&$PBKW&)ZO$lGB&`Qxxdu3tUBnsV~WKUzX|A>`|!g#e<0bL z_C&7wg@W?j)ze!~-)U(nA@aeWW^Y22Wt~*z%kC|duGWnCFYlJZ5D77YMX-}I1B@6W zq*%%`tv=<;so~Pk29!dH+r}ce7xq`}`HD3cx;ovG<`DF|WpN(D<;C3~ad8Ah=6p3c zqv+?ugcD$LnNykrK4tk0?bfQ~?iajiLbzEqbGy}aItIUo6jn3cBH(SV#g->Xl~FVD zUttBc*tY#=GvzJ&y})YGt+p#gRq9pkqPH1@#tFB}y`2AeP7T!xP~4@s66Q!<)PS~- z8z(EAJe`y)#Sv^|9ClpWw%Ukz`x?v$i*So z?mQ!qT~@7;V?e4(QpI7{uYwRM7`${Aa-@vG-vE3FW)cpF|V7YO-Z4ArlL3I551`QgMt~j21bGVP*44rKz=5X0;L2Acz69>Ek0yjUGQ* z`sHdZOcn77B?BAilK>O!BoK|XofC$xO+EoZUozk^(SGlFW?}g6&cc`XDD?@AEj|f^ zJUqID9%QQ-s$KjZL`(@*39pP!rq{K3;h~tEB#MzU{h^Boq=A&RDDTpU;fW}ID>rN` zA7k0D4FR!Ddx7Gfwu~iZE&kxO>Qa6>)YorA{eq&A9hQPY!57NroH_fPR@l0uvx|0I zP%m!EUL`bbdfMcIEZ%&5`B!E0T`&0=(Mvh3I|Va`Dq-zFOr?_5AbF-*7Q6ihU7~es z)&1SXsq-E0r{-Y@o-_oINUMRFE!t{cQs8-`+PwbQ;iy}dTW3flj1wBZMd)Wq{2FVX zdjyfTya#s&HOa`#vk7ol@M994HxgJ8lnu~6n5<>%I5`L!mZ@k98u$sloKWfMX-sS6 zoU^zG41E=Lig~%iyKdvhARYs%UsgCu*4>Wvg$QW+w>GeBY$*zXHk#%PqsM7CZ)cO5 z7iZYve-@?|$+pF~ABqe|t7oXlM|Y+pWIjwiJEy-sYKg_Xl5L%l8hbAgg-F|DyTMTF zI+-$zS&0zoK)H)k=jK~E!Kd5Mo(GrUK^Hq|J@|6_Z5&l*Z92b?3v63xmuwqp>93p1>Kw+$P8ZFpTT&}4_gXH=;UL)o+!)Y={#T(Gd)1PT<57w z%#M8ez~#TB3D`ab0qcF-8LD1j4j=W()JT_t1)j`yTluSc@G!J?{ak`N9YQ#JAXemEHefKJ_ePVRHUw&6Y1j$2&0uag|ftKsM? zAhEHlq?&P2o6;zZdg zE@{kHoWK)fmgsSA3Vnl+$jv8ba2Lh}Zt^_Fg4kF@T3+s47TLWh#Nb`;rX*QL1`8`4 ztHyH;N3;7OUtLbe2hy(+(`3I5D9ZKi*0OjjbhUX22C)b9Sq3n2Nj+`Zc7gWcn8$Me zA}b&TA7s_t(Zg9k{h~@dUM;_Df6u)9xs0;uEPsAZPo~#c#5k-psllzSK0#r9YEQqL ziZ<}v4Qo6KaiNWh%cETy8+(X3vh3V_KJjlY7BW|$eZ=G@*Hy0+f_~y*c zGa2h3Aqj`(j?)<0w103vyJKxP=uwHPI8Glp7~UtGB+gwZ)>*dEGN&_~auBoZ)nE_% z`Ee`_{kntx{tBh+2#C=y8Dgf5wcuW9gs$d;=d2~>5Vm^2i5 zU-`{*gSw_-N-aF(^CQIYtr!_YrB z00n`W@{@N^Zdp?|Nj8fJTS8W literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_arc_element.java.i b/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_arc_element.java.i new file mode 100644 index 0000000000000000000000000000000000000000..33b0fd76f9e8913940ff7ddf528338e76ebd1308 GIT binary patch literal 1760 zcmV<61|RtV0RRC20000000y7{02RXk0000000030|NsC0|NsA%Fz_Gg*G17A)D&N@ z`*ZG4R+vZt00000000000001ZoUK@GZ`(Ey{_Ftx4_rSK@{1JPMT;SCTbiV;fwl=6 z58XZuj6~a7WznVRMCy?LzB`h#NJ)0QVS*ux_d-6rJKmkNqTx3>XM~G+ki|=y$~eq| z#W)Hi%Vc(PcyM?SFIQYh@)v!e0ezIgTbjk;ofP~VJ85$77If7{pEJG;E<`xK+Qz)4 za zL0Ql=N|*>Pd79$B?-RCD?E#gp1f5?$JcsJRo`0kAK@;}Zob0QX@`wfR;v`{_3XRV& zepdcj$t(m@f_qnsU=B*}$5*#h03f4tc(7XECvix^gk~9murp2|EC(k<87apwyMD?@ z-BIN4!-Ed|j(Tt-Ju>BzCM03$TrLQo5xHQ53c(*q3`>0Za`W}ikJq2yPd|)E-x-gU z{?Xw9fy)5PB!!KTh{KT8w9m*e7@zDZJ_hku!SH$Uuam3k2M`_wKO13yWd#_KG)_)x zv<0IP(#%Zi04jVVW#!J%5xH3BaS~HebZTUO=O$j35tX%oMzx@uXq?dh@`9h$B`(e&BILOhWi=6;a6|Z?Xwv{co_Y6&t{I zaIUA0a?Q3W1zYk55Z0>3ltD?=U}39<(y|rY^H%QD&b8w-mY#E1$x1!CXuzVHj5b4p zw{dWwPP7J6V$Ybo3u(f1P4c8zv!;ONrRjGAa0#)* zBBC@%C>V%b;Pjpe@O)4n%wqEtRm7-J#vta>RS`fz(m5lDUsHlBC9W1PWl<17g+MhLSgMmzw>CrvHp)nDC6D zRUBgoCf6cW5{BAvk%~#}M3rjZW2PxjM(M2~o^L!5b0%*@Jm+2)AAffiD;>H;_>VT> z95cN-O#95dMcAFWp~h!32!2qlICy`h|?xD=2(QI*aG& zdTA6~xnnH>?U|<@ZYRBA@Y>g+_-G*vb5%ZG_q=@A&qrM-l?G#vc*V#shW38KqLeO% z{h}tF4}F-RX{t!M3~s)zGIh3cQlZ#In>Jb+ZrikxU5x750;t+f--Yx5LJwi|aWx2H zXH!-uOYZp^yAge`Ek@hvF5~L0(($yaEugC|Oa|313sPuxCaGj1gK6V*et}#sgftMs zp%R1Ekbw2ao)3TrXvXfq034Xge+tfU_EJXVZcL;91=9#IjT)HF>zItERHuibuOaxG zo}`pJIx3qJ5nh>0cS>no4Jp0&&F%H)uHz=xYz3iYWt5vw14$0~V%LYnUTs&*00sIMKWt}8lBzKw>`ef6g2lXCoS2tZH zs%8#081w-5@J`SrD*;(KuDiR>z2`h(G$o5zPFW^*HGL8!1x-Wdq?Jt_!ZPHy*B~rG zerxrDh8&nt4&_HxAGbvV3oD6J;)#B>e9sw?moIBc4pq)U#dlP!(YCx;zAx(J&&84^ z@eii6zMI@Jw|Bd>qz7=7CN$)i2@k(L#u>X25fkt#qz{8B0_G38d3OT5Odp7E1$NSG zG>S6{3D1gC{prB|%(3}+Q2%VAL&pvVtH~?_;-1anXuF@Ki2hhLsAeSUGm8nvj)A5> zy}(Poke_%I&tfQ`0sFoN#NLa9&EyMxBFgyR2E{&e{|<=bNHw^b!Lz5B=7q7*#SXT# z!kAo?n%-Bq7V3qoRBBLdmG*vlu%$INO4>S|>LWm)Uf%80p=`JHP@hiE$rRIvYF=hE zWZor)2ht%QC^Gva(9GjEN=_Nq7SVm-9Q3>G7x6P&ZEUaX2zxc>t%JXO{a C^IPKp literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_arcs.java.i b/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_arcs.java.i new file mode 100644 index 0000000000000000000000000000000000000000..27fbae9be67dad39e7fbe1b4ff1597f95c9e1c91 GIT binary patch literal 1125 zcmV-r1e*H*0RRC20000000bof02dtq0000000030|NsC0|Ns9i#mN@$KY11!HQcWe zfckjcYL0&Z00000000000001Zob6XzZ`(E$elO7f!0w@t980zobPv;-A=~m`U|o%F z58ERx(Kc6!G)O9un)<)*P@*oBlqM~_U@bx$7Db*5&v$P00mtw0jvy{}zN8suipJ94 zhl#It(X^i3&ONlN;EYYoA zMlj5lR2YP#EoC@G35P|3)~gV`MsKj%`|H&#^p{c1QvWVyvwDJN=p9kHU=me2(HRQY zD_CVn=J6h>Jy!5TT53ULo+?Bo+7NX^2tyvwW0rtMzoA-89nTz$agpJaejt}xpJP@l z<*v32nIWoU)fTL-uC4^hFl7l5PDMM{7P`i$<9)U%kplRZ&XClK!FWLcVIIG~ zp;G&d5~fJIIDbOd_*gdDSO2+q;RkIl?11+LBW!LP3o zj3`3_Cls?T#H13K?)D0$lo7NQJVQ>goR>=%DGt+cUWRTfQ3qq?miR7G9R@kP1oJX* zee~zv_@Wg7;hhmIbD<+dwGy=CFOU36#oH~Uu+u?g_CP^1Enzy|?}Dfd=Hu-ysI+;v zBZ8z@LOCb`uUJOo%~Efcfmcp#7J=amr#J({Ikj16#_$f6nlH39E*9uF!ggwp_!h;2 zL%ll)p5!rj;1GC+rCT_MP(R1=5|9T*&OorI4VooI)Pu2`(XCU}6ugm6lDH7I0r9?f zwemHGe5-4LgVT&l<)WCUI_R*lquQj{((j+2q)I(nTe+78d218eIYO(Hs8886=FSI#>?A4=@Sv@@? zIhw?yA{lITZ^wyJ05$F!D>6ux{E)!n&(J7;Cxx;)MVyPvx&fGl4N%!DjNDv~`U%+B ztb@-RDFbs`inG_czeIPjw>sTP7#hlPO>P+@8=hl3dl)QhL9R~@%f-F0c%Oph;t^n( zyiq`ite{;B2{$Lob~Y|WYkyp}Q!y@~9e}+H7@RLw^S09`R1Cp;FHAr^utdbo?^daq$HEm!^B#QoCN;6WH}jJ?i`D!&{U0&9|oR r+H|TQxkuttYx-7T{|Z{uqr?2vnofb@SL~P1X-(~)fB60j(Ps+x0?;2u literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_connect.java.i b/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_connect.java.i new file mode 100644 index 0000000000000000000000000000000000000000..33f9491a2707a5481f6e16e98cfb81541da9b534 GIT binary patch literal 722 zcmV;@0xkUj0RRC20000000NQ#00`Fr0000000030|NsC0|Ns9Ct}|oBLjwIQe%*s$ zr_kq^78~OL00000000000001ZoV`^|kJB&^J*QItgSo5{Q7lw(qFRZM6t)*YdjXDa zJWb3dc4RwQB-HBZL9!L&I$Q&zH5w2OLaIvIVgVJg> zpUr2is)f|(2Wbf=j~eG7Dtr%_COj`;nTA2<=Ky6|NW4iI$t9`QZo8TSlu!ZJc(eA4 zYhnw+X$ca)7o6L~wk1r$S_?`g$=B^uH?-mT2gsc_Od+|TaHQ#z*^Nc33^*8a>H_Bm z_;HzjA<|sZVdk^C*_JFrSxJ;aU5yBSYT#6%)11&R3yA_M&`yeKbz;-PTFl=dMHlK8 zw}`_d8aU%*bq>&CBHZ8b=5q^DG74s0OQB5=P_z}I1j5l4a>nDKK9E<<;#eGV50Tj7 zqG%^%+{*)X8bGgo2(DT70JQU}4lyV_3)Z(i-pE>SxCXf+8N@+2cC@=%qKNI{5dF-Q z-IQg2Nu&#=u%*zPn+>#Ry%KaIInuJ}EPMNPpU$--rEFxP>{x=j-b4dMl_j*j=i~Pfk~kqhl~!QSFv}cN|Bbx7*a*ARCOeP|1hkcP+sF z|BZreZX*i5tlv@fj%s&OxnsHw-{rDyNA&!}TS=%yYsw$K4DQY0$)Rm;fBMYlH-fUi EqCa+7`2YX_ literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_create_variable.java.i b/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_create_variable.java.i new file mode 100644 index 0000000000000000000000000000000000000000..a5007572597fb338ccb1c227c6dd1e5a5dd756c0 GIT binary patch literal 329 zcmZQzWME_f14d2;1|}N_n}Oj!6oh{$d%9knGr9YAxBU@jmx$D&Sy1&5l@)V(C)j2m zHV|lg&hkmV&qqjtH`aII1t}?ww_&$d&RKg{aH?wYq{$1v><^zbS8-vB&ZM}zw(o0u zZqz3GKiC<5kmtpsmrb|sXNqbb3CO=Td#j||`H%BOE~!<8?N)ELeSASAGM<_5$)a1P zKX)mV6z01jZxx~@|4MY6=z0C2?;#lX_@b{ zPVOGxksOny-;*v^<#WoO`FiB%AA|g*QD+{k{-U<|c2=pO&=iR~%{w?w%v@!>IcMkc z9ajW{7G67hXG=jz%VnMA``>EIZWm3l`j~3Ysju2o-s%6!`NXTNL(3-wP2-#K=m?*Z S|CF!!_q?tCF>JejU?Tv`ZI*@r literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_test_diagram_editor.java.i b/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_test_diagram_editor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..5371378f9dc242b0370552c910d11819d46168ef GIT binary patch literal 590 zcmV-U0I(ULc|m8P_?RZ ztUz-*gv8xGH*)KAEho1@H0)~|KQ4&8eN&Gcg9%A0Ji7@OdPe-YoQEkcs9s%JdrL> zEz_m=LyICyYZj_*9En7epeHAJF=HKjcyT&_qH9rQN^ov-tfHlvY8Jm&&Z|EnQ&X-eOVT8)M?k+kJ2IY!bM}Z0((hK5$JW c7k#C?iX6c;l!Vw+-Ff7F*>=F+f4PBxOwoKCSpWb4 literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_variable_element.java.i b/org.simantics.h2d/.hg/store/data/testcases/org/simantics/h2d/tests/_variable_element.java.i new file mode 100644 index 0000000000000000000000000000000000000000..e97bea86e5b6e6009f7be89790f853b5adc87394 GIT binary patch literal 1071 zcmV+~1kn2c0RRC20000000Zv;01NW~0000000030|NsC0|NsBT3-?RD91&xJz&kORTwtHL9maS@%{Cp=dz<_(z5+??hK6(e|}$2MR}`3?^^8B_ZAs1(dfLJiMpw}bkn}a6T+^JUg6y|Ag*6`s;~5bUmRr;7?u%8%)@Yp(Dbb%q zFdd{*1pztaP9i@B7xqaax1A7Gok&IsIzJ!HtAG z-%Bdk<|Z^IJbN5|nuh4-K|g9zB)rhq9JB+^x&}?=ql$jDxuCwy z5Ghem``b4u*7R@Qpqb!%DiovAnp`w{E|*c$5=T0Z&q}a7MHyMq47}gmSOGdfHY|=T zV??|_#57BQvQz0jwBiNSjfOi;9q6(#jvZaC;*n_7f5(@&S>uiHb(Pzw*`OM9=(lt% zpI-W=N;|RuF#?m)j-={Q!vnLZw9U9=it#*v)i1{SP0QK&?dd>;UO0U24k6ui}^Ivx|V_Y7*#DXSYF!vH02gtflM^9 zUOm{-SBqOq_TCgYFze=nyGPmGT65rv51RIra65%zGZR5}G|=|i43I2?{%z&tX@kVq zA%C$%ZLhbg<$)qa;ULrWWwR+j6dyPYRImwy>t)P literal 0 HcmV?d00001 diff --git a/org.simantics.h2d/.hg/store/fncache b/org.simantics.h2d/.hg/store/fncache new file mode 100644 index 00000000..a95d64ce --- /dev/null +++ b/org.simantics.h2d/.hg/store/fncache @@ -0,0 +1,65 @@ +data/.classpath.i +data/.hgignore.i +data/.project.i +data/.settings/org.eclipse.jdt.core.prefs.i +data/META-INF/MANIFEST.MF.i +data/build.properties.i +data/doc/defaultActions.txt.i +data/src/org/simantics/h2d/action/IAction.java.i +data/src/org/simantics/h2d/canvas/EditorCanvas.java.i +data/src/org/simantics/h2d/diagram/Diagram.java.i +data/src/org/simantics/h2d/diagram/IDiagram.java.i +data/src/org/simantics/h2d/diagram/IDiagramListener.java.i +data/src/org/simantics/h2d/editor/IDiagramEditor.java.i +data/src/org/simantics/h2d/editor/ISelection.java.i +data/src/org/simantics/h2d/editor/impl/DiagramEditor.java.i +data/src/org/simantics/h2d/editor/impl/EventHandlerManager.java.i +data/src/org/simantics/h2d/editor/impl/SceneGraphManager.java.i +data/src/org/simantics/h2d/editor/impl/Selection.java.i +data/src/org/simantics/h2d/element/ChainingElementListener.java.i +data/src/org/simantics/h2d/element/Element.java.i +data/src/org/simantics/h2d/element/IElement.java.i +data/src/org/simantics/h2d/element/IElementListener.java.i +data/src/org/simantics/h2d/element/handler/Connectable.java.i +data/src/org/simantics/h2d/element/handler/IElementHandler.java.i +data/src/org/simantics/h2d/element/handler/Movable.java.i +data/src/org/simantics/h2d/element/handler/ShadowDrawable.java.i +data/src/org/simantics/h2d/event/ClickEvent.java.i +data/src/org/simantics/h2d/event/DragEvent.java.i +data/src/org/simantics/h2d/event/DragEventPhase.java.i +data/src/org/simantics/h2d/event/IDragHandler.java.i +data/src/org/simantics/h2d/event/IEvent.java.i +data/src/org/simantics/h2d/event/ILocatableEvent.java.i +data/src/org/simantics/h2d/event/KeyboardEvent.java.i +data/src/org/simantics/h2d/event/Modifiers.java.i +data/src/org/simantics/h2d/event/WheelEvent.java.i +data/src/org/simantics/h2d/event/handler/BoxSelection.java.i +data/src/org/simantics/h2d/event/handler/DefaultEventHandlers.java.i +data/src/org/simantics/h2d/event/handler/DragEventHandler.java.i +data/src/org/simantics/h2d/event/handler/ElementEventDelegator.java.i +data/src/org/simantics/h2d/event/handler/IEventHandler.java.i +data/src/org/simantics/h2d/event/handler/MoveSelected.java.i +data/src/org/simantics/h2d/event/handler/Pan.java.i +data/src/org/simantics/h2d/event/handler/PickSelection.java.i +data/src/org/simantics/h2d/event/handler/ToggleSelection.java.i +data/src/org/simantics/h2d/event/handler/Zoom.java.i +data/src/org/simantics/h2d/node/FilledShapeNode.java.i +data/src/org/simantics/h2d/node/LineNode.java.i +data/src/org/simantics/h2d/node/RectangleNode.java.i +data/src/org/simantics/h2d/node/ShapeNode.java.i +data/src/org/simantics/h2d/node/TextNode.java.i +data/testcases/org/simantics/h2d/tests/ArcElement.java.i +data/testcases/org/simantics/h2d/tests/Arcs.java.i +data/testcases/org/simantics/h2d/tests/Connect.java.i +data/testcases/org/simantics/h2d/tests/CreateVariable.java.i +data/testcases/org/simantics/h2d/tests/TestDiagramEditor.java.i +data/testcases/org/simantics/h2d/tests/VariableElement.java.i +data/src/org/simantics/h2d/event/handler/EventPrinter.java.i +data/src/org/simantics/h2d/event/handler/ZoomToFit.java.i +data/doc/manual.mediawiki.i +data/src/org/simantics/h2d/element/handler/Rotatable.java.i +data/src/org/simantics/h2d/event/handler/Delete.java.i +data/src/org/simantics/h2d/event/handler/RotateClockwise.java.i +data/src/org/simantics/h2d/event/handler/RotateCounterclockwise.java.i +data/src/org/simantics/h2d/node/ITextListener.java.i +data/src/org/simantics/h2d/editor/ISelectionListener.java.i diff --git a/org.simantics.h2d/.hg/store/undo b/org.simantics.h2d/.hg/store/undo new file mode 100644 index 0000000000000000000000000000000000000000..518a04633ca1db59aefb4ec5ebd31a9de2226da2 GIT binary patch literal 495 zcmb7>-KxSc5QM!Jd=)pgwc2Yf=N!;0pI}MWbS2$NlGEomT8bd}cR2&!u(M+@A_T9Y z^A-ZPD3Nu5CNrQ>dJIq-j-B7!#QcOk&Uuonbvc`w=PcbI_&bmz9l4W{%&O`;aK|B% zkRJooCpfof2M3+FACKo|kAn6dQ7*I3Lmmq(RJD3dJ8DTHY#L-?vGt%IdldPb5BArP w2E{n?u%#pZyI5b%-@yyxM^@`%HdQK3$43e=%~O!gOiYOmU{lC@D^~wsBGMM4~(xGjOTLv)f7ej{4Z~o3CW)9&!Lv*^`0si zd<_oH7T8|V+hQe)35%ixYs;~_N0d_obTdXF+Y@E&Eui|&@L%U!!Rqp;KUq2NZw$QA z%7#DaZ%*9N0QhSW$ou?p@_vi4se;%SknCB#H7eNh{FMdPtPjDmF|MD}rDMth>lgKL zOSJuU7L;Nu7?%_8Tm=W$3=RP0UW^DOH0qbn>m=it;IO!1|t@dZGzKGM()%n!v`-f zi3ChiD(NHBS>kCMwlf+&_~0wyz|{G&gFvX~jTFt|5uzwki?DtM0xs&IsE;3=j;t{N zv9z^Ik}#k1Gn{gQGeFAv9lr3AK1hjFHLd*ua7_cYPai=!^p6jXBO~6;pw44aE|dy` z5{I%E=Q4OP!LA6WSUb3vuwZA8WJ>F_e}qz=(<4&oex1;To^!5228NzhpI(@Fouka_7md&> z9+dF+A^Z`u_@O9EacN}P34oGgse3F2lD4H=uR%tJGdci=7=v!gS3j z${Zu*npygD&0c<2Oq1qqQj8-wLrPp_MD1rF1H&Y#wn5dM+DT%8kL8dBp11~gQQ}Uq z7(#nwhrl#xe-B@JMbEq{VVDJlg!6WYkhtpPyq&*?2Opmh#T$fFx?96 + + org.simantics.h2d + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.simantics.h2d/.settings/org.eclipse.jdt.core.prefs b/org.simantics.h2d/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..aa42399f --- /dev/null +++ b/org.simantics.h2d/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Sun Nov 08 17:02:25 EET 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/org.simantics.h2d/META-INF/MANIFEST.MF b/org.simantics.h2d/META-INF/MANIFEST.MF new file mode 100644 index 00000000..54dd88c6 --- /dev/null +++ b/org.simantics.h2d/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: H2d +Bundle-SymbolicName: org.simantics.h2d +Bundle-Version: 1.0.0.qualifier +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Require-Bundle: org.simantics.scenegraph;bundle-version="1.0.0", + gnu.trove2;bundle-version="2.0.4", + org.simantics.objmap;bundle-version="0.1.0" +Export-Package: org.simantics.h2d.action, + org.simantics.h2d.canvas, + org.simantics.h2d.diagram, + org.simantics.h2d.editor, + org.simantics.h2d.editor.impl, + org.simantics.h2d.element, + org.simantics.h2d.element.handler, + org.simantics.h2d.event, + org.simantics.h2d.event.handler, + org.simantics.h2d.node diff --git a/org.simantics.h2d/build.properties b/org.simantics.h2d/build.properties new file mode 100644 index 00000000..41eb6ade --- /dev/null +++ b/org.simantics.h2d/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/org.simantics.h2d/doc/manual.mediawiki b/org.simantics.h2d/doc/manual.mediawiki new file mode 100644 index 00000000..e69de29b diff --git a/org.simantics.h2d/src/org/simantics/h2d/action/IAction.java b/org.simantics.h2d/src/org/simantics/h2d/action/IAction.java new file mode 100644 index 00000000..73f00db2 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/action/IAction.java @@ -0,0 +1,14 @@ +package org.simantics.h2d.action; + +import org.simantics.h2d.event.handler.IEventHandler; +import org.simantics.scenegraph.g2d.G2DParentNode; + +/** + * Action is a non-instantenous user operation on diagram. + * @see org.simantics.h2d.editor.IDiagramEditor#addAction + * @author Hannu Niemistö + */ +public interface IAction extends IEventHandler { + void init(G2DParentNode parent); + void remove(); +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/canvas/EditorCanvas.java b/org.simantics.h2d/src/org/simantics/h2d/canvas/EditorCanvas.java new file mode 100644 index 00000000..69a2223e --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/canvas/EditorCanvas.java @@ -0,0 +1,219 @@ +package org.simantics.h2d.canvas; + +import java.awt.Canvas; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.GradientPaint; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.TexturePaint; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; +import java.awt.event.MouseWheelEvent; +import java.awt.event.MouseWheelListener; +import java.awt.geom.Point2D; +import java.awt.image.BufferedImage; +import java.awt.image.VolatileImage; +import java.io.File; +import java.io.IOException; + +import javax.imageio.ImageIO; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.ClickEvent; +import org.simantics.h2d.event.DragEvent; +import org.simantics.h2d.event.DragEventPhase; +import org.simantics.h2d.event.KeyboardEvent; +import org.simantics.h2d.event.Modifiers; +import org.simantics.h2d.event.WheelEvent; +import org.simantics.scenegraph.g2d.G2DRenderingHints; + + +public class EditorCanvas extends Canvas { + + IDiagramEditor editor; + EventHandler eventHandler = new EventHandler(); + //BufferedImage background; + + public EditorCanvas(IDiagramEditor editor) { + this.editor = editor; + editor.setCanvas(this); + + /*G2DSceneGraph sceneGraph = editor.getSceneGraph(); + addMouseListener(sceneGraph); + addMouseMotionListener(sceneGraph); + addMouseWheelListener(sceneGraph); + addKeyListener(sceneGraph); + */ + addMouseListener(eventHandler); + addMouseMotionListener(eventHandler); + addMouseWheelListener(eventHandler); + addKeyListener(eventHandler); + + addComponentListener(new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { + repaint(); + } + }); + + /*try { + background = ImageIO.read(new File("c:/paper.png")); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + }*/ + } + + @Override + public void update(Graphics g) { + paint(g); + } + + private VolatileImage doubleBuffer; + @Override + public void paint(Graphics _g) { + if(doubleBuffer == null || + doubleBuffer.getWidth() != getWidth() || doubleBuffer.getHeight() != getHeight()) { + doubleBuffer = createVolatileImage(getWidth(), getHeight()); + editor.setViewDimensions(new Dimension(getWidth(), getHeight())); + } + Graphics2D g = (Graphics2D)doubleBuffer.getGraphics(); + + System.out.println(doubleBuffer.getWidth() + " x " + doubleBuffer.getHeight()); + g.setBackground(Color.WHITE); + g.setColor(Color.WHITE); + //g.setPaint(new GradientPaint(0.f, 0.f, Color.white, 2000.f, 1600.f, Color.BLUE, false)); + //g.setPaint(new TexturePaint(background, getBounds())); + g.fillRect(0, 0, doubleBuffer.getWidth(), doubleBuffer.getHeight()); + + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); + g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + g.setRenderingHint(G2DRenderingHints.KEY_CONTROL_BOUNDS, getBounds()); + + editor.getSceneGraph().render(g); + + _g.drawImage(doubleBuffer, 0, 0, this); + } + + class EventHandler implements MouseListener, MouseMotionListener, MouseWheelListener, KeyListener { + + DragEvent dragEvent; + + @Override + public void mouseClicked(MouseEvent e) { + ClickEvent event = new ClickEvent( + Modifiers.modifierString(e.getButton(), e.isControlDown(), e.isAltDown(), e.isShiftDown()), + editor.screenToDiagram(e.getPoint()) + ); + event.pickedElements = dragEvent.pickedElements; + editor.handleEvent(event); + } + + @Override + public void mouseEntered(MouseEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void mouseExited(MouseEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void mousePressed(MouseEvent e) { + editor.getSceneGraph().mousePressed(e); + if(e.isConsumed()) + return; + dragEvent = new DragEvent( + Modifiers.modifierString(e.getButton(), e.isControlDown(), e.isAltDown(), e.isShiftDown()), + editor.screenToDiagram(e.getPoint()) + ); + dragEvent.pickedElements = editor.pickElements(dragEvent.start); + } + + @Override + public void mouseReleased(MouseEvent e) { + editor.getSceneGraph().mouseReleased(e); + if(e.isConsumed()) + return; + if(dragEvent.phase == DragEventPhase.dragUpdate) { + dragEvent.phase = DragEventPhase.dragEnd; + editor.handleEvent(dragEvent); + } + } + + @Override + public void mouseDragged(MouseEvent e) { + editor.getSceneGraph().mouseDragged(e); + if(e.isConsumed()) + return; + currentPosition = e.getPoint(); + dragEvent.currentModifiers = + Modifiers.modifierString(e.getButton(), e.isControlDown(), e.isAltDown(), e.isShiftDown()); + dragEvent.current = editor.screenToDiagram(e.getPoint()); + editor.handleEvent(dragEvent); + + if(dragEvent.phase == DragEventPhase.dragBegin) { + dragEvent.phase = DragEventPhase.dragUpdate; + editor.handleEvent(dragEvent); + } + } + + Point2D currentPosition = new Point2D.Double(0.0, 0.0); + + @Override + public void mouseMoved(MouseEvent e) { + currentPosition = e.getPoint(); + } + + @Override + public void mouseWheelMoved(MouseWheelEvent e) { + editor.handleEvent(new WheelEvent( + Modifiers.modifierString(e.getButton(), e.isControlDown(), e.isAltDown(), e.isShiftDown()), + editor.screenToDiagram(e.getPoint()), + e.getWheelRotation() + )); + } + + @Override + public void keyPressed(KeyEvent e) { + System.out.println(e); + editor.getSceneGraph().keyPressed(e); + if(e.isConsumed()) + return; + + String keyText = KeyEvent.getKeyText(e.getKeyCode()); + if(e.getModifiers() != 0) + keyText = KeyEvent.getKeyModifiersText(e.getModifiers()) + + "+" + keyText; + KeyboardEvent event = new KeyboardEvent( + keyText, + editor.screenToDiagram(currentPosition) + ); + event.pickedElements = editor.pickElements(event.point); + if(editor.handleEvent(event)) + e.consume(); + } + + @Override + public void keyReleased(KeyEvent e) { + editor.getSceneGraph().keyReleased(e); + } + + @Override + public void keyTyped(KeyEvent e) { + editor.getSceneGraph().keyTyped(e); + } + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/diagram/Diagram.java b/org.simantics.h2d/src/org/simantics/h2d/diagram/Diagram.java new file mode 100644 index 00000000..afd9d8d7 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/diagram/Diagram.java @@ -0,0 +1,41 @@ +package org.simantics.h2d.diagram; + +import java.util.ArrayList; +import java.util.List; + +import org.simantics.h2d.element.IElement; +import org.simantics.objmap.annotations.RelatedValue; +import org.simantics.objmap.annotations.GraphType; + +@GraphType("http://www.simantics.org/Sysdyn#Configuration") +public class Diagram implements IDiagram { + + @RelatedValue("http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOf") + public ArrayList elements = new ArrayList(); + ArrayList listeners = new ArrayList(); + + @Override + public void addElement(IElement element) { + elements.add(element); + for(IDiagramListener listener : listeners) + listener.elementAdded(element); + } + + @Override + public List getElements() { + return elements; + } + + @Override + public void addDiagramListener(IDiagramListener listener) { + listeners.add(listener); + } + + @Override + public void removeElement(IElement element) { + elements.remove(element); + for(IDiagramListener listener : listeners) + listener.elementRemoved(element); + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/diagram/IDiagram.java b/org.simantics.h2d/src/org/simantics/h2d/diagram/IDiagram.java new file mode 100644 index 00000000..48a28559 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/diagram/IDiagram.java @@ -0,0 +1,16 @@ +package org.simantics.h2d.diagram; + +import java.util.List; + +import org.simantics.h2d.element.IElement; + +/** + * Diagram is the whole that is edited in a diagram editor. + * @author Hannu Niemistö + */ +public interface IDiagram { + List getElements(); + void addElement(IElement element); + void removeElement(IElement element); + void addDiagramListener(IDiagramListener listener); +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/diagram/IDiagramListener.java b/org.simantics.h2d/src/org/simantics/h2d/diagram/IDiagramListener.java new file mode 100644 index 00000000..e3724c61 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/diagram/IDiagramListener.java @@ -0,0 +1,10 @@ +package org.simantics.h2d.diagram; + +import org.simantics.h2d.element.IElement; + +public interface IDiagramListener { + + void elementAdded(IElement element); + void elementRemoved(IElement element); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/editor/IDiagramEditor.java b/org.simantics.h2d/src/org/simantics/h2d/editor/IDiagramEditor.java new file mode 100644 index 00000000..fc96185d --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/editor/IDiagramEditor.java @@ -0,0 +1,86 @@ +package org.simantics.h2d.editor; + +import java.awt.Canvas; +import java.awt.Dimension; +import java.awt.geom.AffineTransform; +import java.awt.geom.Dimension2D; +import java.awt.geom.Point2D; +import java.util.List; + +import org.simantics.h2d.action.IAction; +import org.simantics.h2d.diagram.IDiagram; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.event.IEvent; +import org.simantics.h2d.event.handler.IEventHandler; +import org.simantics.scenegraph.g2d.G2DSceneGraph; + +public interface IDiagramEditor { + + IDiagram getDiagram(); + + /** + * Returns the root of the scenegraph that renders the diagram. + */ + G2DSceneGraph getSceneGraph(); + + /** + * Handles an external event. + * @return True if the event was consumed. + */ + boolean handleEvent(IEvent event); + + /** + * Returns the current view transform (from diagram coordinates to screen coordinates) defined as: + *

diagramToScreen(p) = (p - offset) / scale
+ */ + AffineTransform getViewTransform(); + + /** + * Returns the current view offset. That is the diagram coordinates of the top left point of the canvas. + */ + Point2D getOffset(); + + /** + * Returns the current view scale. That is
lengthInDiagramCoordinates / lengthInScreenCoordinates
. + */ + double getScale(); + + /** + * Maps a point from screen coordinates to diagram coordinates. + */ + Point2D screenToDiagram(Point2D point); + + /** + * Sets a new view transform. + * @param offset New offset + * @param scale New scale + * + * @see #getOffset + * @see #getScale + */ + void setViewTransform(Point2D offset, double scale); + + void setViewDimensions(Dimension2D dimension); + Dimension getViewDimension(); + + // Events + void addEventHandler(int priority, String eventType, IEventHandler handler); + void addEventHandler(int priority, IEventHandler handler); + + void addAction(IAction action); + void removeAction(IAction action); + + void requestRepaint(); + void setCanvas(Canvas canvas); + + /** + * Returns current selection + */ + ISelection getSelection(); + + /** + * Returns all elements at the point. Pick uses a hard coded tolerance that is calculated in screen coordinates. + */ + List pickElements(Point2D point); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/editor/ISelection.java b/org.simantics.h2d/src/org/simantics/h2d/editor/ISelection.java new file mode 100644 index 00000000..511d7bb0 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/editor/ISelection.java @@ -0,0 +1,25 @@ +package org.simantics.h2d.editor; + +import java.util.Collection; + +import org.simantics.h2d.element.IElement; + +public interface ISelection extends Iterable { + + boolean contains(IElement el); + boolean containsOneOf(Collection els); + void clear(); + void set(Collection els); + void set(IElement el); + boolean add(IElement el); + boolean addAll(Collection els); + boolean toggle(IElement el); + boolean remove(IElement el); + boolean isEmpty(); + int size(); + IElement getSingleElement(); + + void addSelectionListener(ISelectionListener listener); + void removeSelectionListener(ISelectionListener listener); + +} \ No newline at end of file diff --git a/org.simantics.h2d/src/org/simantics/h2d/editor/ISelectionListener.java b/org.simantics.h2d/src/org/simantics/h2d/editor/ISelectionListener.java new file mode 100644 index 00000000..6d9558d1 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/editor/ISelectionListener.java @@ -0,0 +1,7 @@ +package org.simantics.h2d.editor; + +public interface ISelectionListener { + + void selectionChanged(ISelection selection); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/editor/impl/DiagramEditor.java b/org.simantics.h2d/src/org/simantics/h2d/editor/impl/DiagramEditor.java new file mode 100644 index 00000000..c9cee375 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/editor/impl/DiagramEditor.java @@ -0,0 +1,176 @@ +package org.simantics.h2d.editor.impl; + +import java.awt.Canvas; +import java.awt.Dimension; +import java.awt.geom.AffineTransform; +import java.awt.geom.Dimension2D; +import java.awt.geom.Point2D; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JComponent; + +import org.simantics.h2d.action.IAction; +import org.simantics.h2d.diagram.IDiagram; +import org.simantics.h2d.diagram.IDiagramListener; +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.editor.ISelection; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.event.IEvent; +import org.simantics.h2d.event.handler.IEventHandler; +import org.simantics.scenegraph.g2d.G2DSceneGraph; + +public class DiagramEditor implements IDiagramEditor { + + public static final double PICK_TOLERANCE = 5.0; + + IDiagram diagram; + + // Viewpoint + Point2D offset; + double scale; + AffineTransform viewTransform = new AffineTransform(); + Dimension dimension = new Dimension(800, 600); + + ISelection selection; + + ArrayList actionStack = new ArrayList(); + + SceneGraphManager sgManager; + EventHandlerManager eventHandlerManager = new EventHandlerManager(); + + Canvas canvas; + + public void setCanvas(Canvas canvas) { + this.canvas = canvas; + } + + public DiagramEditor(JComponent rootPane, IDiagram diagram) { + this.diagram = diagram; + sgManager = new SceneGraphManager(rootPane); + + setViewTransform(new Point2D.Double(), 13.0 / 48.0); + sgManager.setViewTransform(viewTransform); + + selection = new Selection(sgManager.selectionNode); + + for(IElement element : diagram.getElements()) + element.init(sgManager.elementsNode); + diagram.addDiagramListener(new IDiagramListener() { + + @Override + public void elementAdded(IElement element) { + element.init(sgManager.elementsNode); + } + + @Override + public void elementRemoved(IElement element) { + element.remove(); + } + + }); + } + + @Override + public G2DSceneGraph getSceneGraph() { + return sgManager.sceneGraph; + } + + @Override + public boolean handleEvent(IEvent event) { + for(int i=actionStack.size()-1;i>=0;--i) + if(actionStack.get(i).handle(this, event)) + return true; + return eventHandlerManager.handle(this, event); + } + + @Override + public void addEventHandler(int priority, String eventType, IEventHandler handler) { + eventHandlerManager.addEventHandler(priority, eventType, handler); + } + + @Override + public void addEventHandler(int priority, IEventHandler handler) { + eventHandlerManager.addEventHandler(priority, handler); + } + + @Override + public ISelection getSelection() { + return selection; + } + + @Override + public Point2D getOffset() { + return offset; + } + + @Override + public double getScale() { + return scale; + } + + @Override + public AffineTransform getViewTransform() { + return viewTransform; + } + + @Override + public void setViewTransform(Point2D offset, double scale) { + this.offset = offset; + this.scale = scale; + viewTransform.setTransform(1.0/scale, 0.0, 0.0, 1.0/scale, + -offset.getX()/scale, -offset.getY()/scale); + } + + @Override + public Point2D screenToDiagram(Point2D point) { + return new Point2D.Double(point.getX()*scale + offset.getX(), point.getY()*scale + offset.getY()); + } + + @Override + public IDiagram getDiagram() { + return diagram; + } + + @Override + public List pickElements(Point2D point) { + double tolerance = PICK_TOLERANCE*scale; + ArrayList result = new ArrayList(); + for(IElement element : getDiagram().getElements()) { + if(element.hitTest(point.getX(), point.getY(), tolerance)) + result.add(element); + } + return result; + } + + @Override + public void addAction(IAction action) { + actionStack.add(action); + action.init(sgManager.actionNode); + requestRepaint(); + } + + @Override + public void removeAction(IAction action) { + actionStack.remove(action); + action.remove(); + requestRepaint(); + } + + @Override + public Dimension getViewDimension() { + return dimension; + } + + @Override + public void setViewDimensions(Dimension2D dimension) { + this.dimension.setSize(dimension); + } + + @Override + public void requestRepaint() { + System.out.println("requestRepaint"); + canvas.repaint(); + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/editor/impl/EventHandlerManager.java b/org.simantics.h2d/src/org/simantics/h2d/editor/impl/EventHandlerManager.java new file mode 100644 index 00000000..5618986f --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/editor/impl/EventHandlerManager.java @@ -0,0 +1,116 @@ +package org.simantics.h2d.editor.impl; + +import gnu.trove.THashMap; + +import java.util.LinkedList; +import java.util.ListIterator; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.IEvent; +import org.simantics.h2d.event.handler.IEventHandler; + +class EventHandlerManager implements IEventHandler { + LinkedList handlers = new LinkedList(); + + public void addEventHandler(int priority, String eventType, IEventHandler handler) { + ListIterator it = handlers.listIterator(); + while(it.hasNext()) { + PrioritizedEventHandler group = it.next(); + if(group.priority == priority) + group.put(eventType, handler); + else if(group.priority < priority) { + it.previous(); + break; + } + } + + // Add a new level + MapEventHandler map = new MapEventHandler(priority); + map.put(eventType, handler); + it.add(map); + } + + public void addEventHandler(int priority, IEventHandler handler) { + ListIterator it = handlers.listIterator(); + while(it.hasNext()) { + PrioritizedEventHandler group = it.next(); + if(group.priority == priority) + throw new IllegalArgumentException("Tried add an event handler of type of priority " + priority + + ", but this conflicts with an event handler(s) with the same priority."); + else if(group.priority < priority) { + it.previous(); + break; + } + } + + // Add a new level + it.add(new SingletonEventHandler(priority, handler)); + } + + static abstract class PrioritizedEventHandler { + public final int priority; + + public PrioritizedEventHandler(int priority) { + this.priority = priority; + } + + public abstract void put(String type, IEventHandler handler); + public abstract boolean handle(String type, IDiagramEditor editor, IEvent event); + + } + + static class SingletonEventHandler extends PrioritizedEventHandler { + + IEventHandler handler; + + public SingletonEventHandler(int priority, IEventHandler handler) { + super(priority); + this.handler = handler; + } + + @Override + public boolean handle(String type, IDiagramEditor editor, IEvent event) { + return handler.handle(editor, event); + } + + @Override + public void put(String type, IEventHandler handler) { + throw new IllegalArgumentException("Tried add an event handler of type " + type + " and priority " + priority + + ", but this conflicts with an event handler with the same priority."); + } + + } + + static class MapEventHandler extends PrioritizedEventHandler { + + THashMap handlers = new THashMap(); + public MapEventHandler(int priority) { + super(priority); + } + + @Override + public void put(String type, IEventHandler handler) { + if(handlers.contains(type)) + throw new IllegalArgumentException("Tried add an event handler of type " + type + " and priority " + priority + + ", but this conflicts with an event handler with the same priority and type."); + handlers.put(type, handler); + } + + @Override + public boolean handle(String type, IDiagramEditor editor, IEvent event) { + IEventHandler handler = handlers.get(type); + return handler != null && handler.handle(editor, event); + } + + } + + @Override + public boolean handle(IDiagramEditor editor, IEvent event) { + String type = event.getType(); + for(PrioritizedEventHandler level : handlers) { + if(level.handle(type, editor, event)) + return true; + } + return false; + } +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/editor/impl/SceneGraphManager.java b/org.simantics.h2d/src/org/simantics/h2d/editor/impl/SceneGraphManager.java new file mode 100644 index 00000000..1a67333a --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/editor/impl/SceneGraphManager.java @@ -0,0 +1,41 @@ +package org.simantics.h2d.editor.impl; + +import java.awt.geom.AffineTransform; +import java.awt.geom.Rectangle2D; + +import javax.swing.JComponent; + +import org.simantics.scenegraph.g2d.G2DParentNode; +import org.simantics.scenegraph.g2d.G2DSceneGraph; +import org.simantics.scenegraph.g2d.nodes.PageBorderNode; +import org.simantics.scenegraph.g2d.nodes.TransformNode; + +class SceneGraphManager { + G2DSceneGraph sceneGraph; + TransformNode diagramCoordinatesNode; + G2DParentNode elementsNode; + G2DParentNode selectionNode; + G2DParentNode actionNode; + + public SceneGraphManager(JComponent rootPane) { + sceneGraph = new G2DSceneGraph(); + //sceneGraph.setRootPane(rootPane); + diagramCoordinatesNode = sceneGraph.addNode(TransformNode.class); + + PageBorderNode border = diagramCoordinatesNode.addNode(PageBorderNode.class); + border.init(new Rectangle2D.Double(0.0, 0.0, 297.0, 210.0), Boolean.TRUE); + + elementsNode = diagramCoordinatesNode.addNode(G2DParentNode.class); + elementsNode.setZIndex(0); + + selectionNode = diagramCoordinatesNode.addNode(G2DParentNode.class); + selectionNode.setZIndex(1); + + actionNode = diagramCoordinatesNode.addNode(G2DParentNode.class); + actionNode.setZIndex(2); + } + + void setViewTransform(AffineTransform viewTransform) { + diagramCoordinatesNode.setTransform(viewTransform); + } +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/editor/impl/Selection.java b/org.simantics.h2d/src/org/simantics/h2d/editor/impl/Selection.java new file mode 100644 index 00000000..4457137c --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/editor/impl/Selection.java @@ -0,0 +1,175 @@ +package org.simantics.h2d.editor.impl; + +import gnu.trove.THashSet; + +import java.awt.Color; +import java.awt.geom.AffineTransform; +import java.awt.geom.Rectangle2D; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.concurrent.CopyOnWriteArrayList; + +import org.simantics.h2d.editor.ISelection; +import org.simantics.h2d.editor.ISelectionListener; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.element.IElementListener; +import org.simantics.scenegraph.g2d.G2DParentNode; +import org.simantics.scenegraph.g2d.nodes.SelectionNode; + +class Selection implements ISelection { + static final AffineTransform IDENTITY = new AffineTransform(); + + THashSet elements = new THashSet(); + G2DParentNode selectionParentNode; + + CopyOnWriteArrayList listeners = + new CopyOnWriteArrayList(); + + static class SelectionUpdater implements IElementListener { + SelectionNode node; + IElement element; + + public SelectionUpdater(SelectionNode node, IElement element) { + this.node = node; + this.element = element; + + elementUpdated(element); + element.addListener(this); + } + + @Override + public void elementUpdated(IElement element) { + Rectangle2D bounds = new Rectangle2D.Double(); + element.getBounds(bounds); + node.init(IDENTITY, bounds, Color.GRAY); + } + + public void remove() { + element.removeListener(this); + } + + @Override + public void elementRemoved(IElement element) { + // TODO ? + } + + } + + ArrayList updaters = new ArrayList(); + + public Selection(G2DParentNode selectionParentNode) { + this.selectionParentNode = selectionParentNode; + } + + private void updateSceneGraph() { + // Clear old selection + selectionParentNode.removeNodes(); + for(SelectionUpdater updater : updaters) + updater.remove(); + updaters.clear(); + + // Create new selection + System.out.println("selection: " + elements.size()); + for(IElement element : elements) + updaters.add(new SelectionUpdater(selectionParentNode.addNode(SelectionNode.class), element)); + + // Notify listeners + // TODO this is in wrong place + for(ISelectionListener listener : listeners) + listener.selectionChanged(this); + } + + public boolean contains(IElement el) { + return elements.contains(el); + } + + public boolean containsOneOf(Collection els) { + for(IElement el : els) + if(elements.contains(el)) + return true; + return false; + } + + public void clear() { + if(!elements.isEmpty()) { + elements.clear(); + updateSceneGraph(); + } + } + + public void set(Collection els) { + elements.clear(); + elements.addAll(els); + updateSceneGraph(); + } + + public void set(IElement el) { + elements.clear(); + elements.add(el); + updateSceneGraph(); + } + + public boolean add(IElement el) { + boolean result = elements.add(el); + updateSceneGraph(); + return result; + } + + public boolean addAll(Collection els) { + boolean result = elements.addAll(els); + updateSceneGraph(); + return result; + } + + public boolean toggle(IElement el) { + if(elements.contains(el)) { + elements.remove(el); + updateSceneGraph(); + return false; + } + else { + elements.add(el); + updateSceneGraph(); + return true; + } + } + + public boolean remove(IElement el) { + boolean result = elements.remove(el); + updateSceneGraph(); + return result; + } + + @Override + public Iterator iterator() { + return elements.iterator(); + } + + @Override + public boolean isEmpty() { + return elements.isEmpty(); + } + + @Override + public int size() { + return elements.size(); + } + + @Override + public IElement getSingleElement() { + for(IElement element : elements) + return element; + return null; + } + + @Override + public void addSelectionListener(ISelectionListener listener) { + listeners.add(listener); + } + + @Override + public void removeSelectionListener(ISelectionListener listener) { + listeners.remove(listener); + } +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/element/ChainingElementListener.java b/org.simantics.h2d/src/org/simantics/h2d/element/ChainingElementListener.java new file mode 100644 index 00000000..be5edee2 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/element/ChainingElementListener.java @@ -0,0 +1,50 @@ +package org.simantics.h2d.element; + + +class ChainingElementListener implements IElementListener { + IElementListener listener1; + IElementListener listener2; + + ChainingElementListener(IElementListener listener1, + IElementListener listener2) { + this.listener1 = listener1; + this.listener2 = listener2; + } + + @Override + public void elementUpdated(IElement element) { + listener1.elementUpdated(element); + listener2.elementUpdated(element); + } + + @Override + public void elementRemoved(IElement element) { + listener1.elementRemoved(element); + listener2.elementRemoved(element); + } + + static IElementListener addListener(IElementListener currentListener, IElementListener newListener) { + if(currentListener == null) + return newListener; + else + return new ChainingElementListener(currentListener, newListener); + } + + static IElementListener removeListener(IElementListener currentListener, IElementListener listenerToRemove) { + if(currentListener == null || currentListener == listenerToRemove) + return null; + else if(currentListener instanceof ChainingElementListener) { + ChainingElementListener chain = (ChainingElementListener)currentListener; + if(chain.listener2 == listenerToRemove) + return chain.listener1; + else { + IElementListener l = removeListener(chain.listener1, listenerToRemove); + if(l == null) + return chain.listener2; + chain.listener1 = l; + } + } + return currentListener; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/element/Element.java b/org.simantics.h2d/src/org/simantics/h2d/element/Element.java new file mode 100644 index 00000000..e51faa65 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/element/Element.java @@ -0,0 +1,37 @@ +package org.simantics.h2d.element; + + +public abstract class Element implements IElement { + + IElementListener listener; + + @Override + public T getInterface(Class clazz) { + if(clazz.isInstance(this)) + return (T) this; + return null; + } + + protected void update() { + if(listener != null) + listener.elementUpdated(this); + } + + @Override + public void addListener(IElementListener listener) { + this.listener = ChainingElementListener.addListener(this.listener, listener); + } + + @Override + public void removeListener(IElementListener listener) { + this.listener = ChainingElementListener.removeListener(this.listener, listener); + } + + @Override + public void remove() { + if(listener != null) + listener.elementRemoved(this); + } + + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/element/IElement.java b/org.simantics.h2d/src/org/simantics/h2d/element/IElement.java new file mode 100644 index 00000000..495e2981 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/element/IElement.java @@ -0,0 +1,35 @@ +package org.simantics.h2d.element; + +import java.awt.geom.Rectangle2D; + +import org.simantics.scenegraph.g2d.G2DParentNode; + +/** + * Element is a part of a document that has its own type and properties. + * @author Hannu Niemistö + */ +public interface IElement { + T getInterface(Class clazz); + + void init(G2DParentNode parent); + void remove(); + + /** + * Updates the parameter bounds so that it contains + * the bounding box of the element. + */ + void getBounds(Rectangle2D bounds); + + /** + * Returns true, if the interior of the element intersects + * a circle at (x,y) with radius tolerance. + * Returns false, if the element and a circle at (x,y) with + * radius sqrt(2)*tolerance are disjoint. Otherwise may return true + * or false depending on the implementation. + */ + boolean hitTest(double x, double y, double tolerance); + + void addListener(IElementListener listener); + void removeListener(IElementListener listener); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/element/IElementListener.java b/org.simantics.h2d/src/org/simantics/h2d/element/IElementListener.java new file mode 100644 index 00000000..cfc27d43 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/element/IElementListener.java @@ -0,0 +1,13 @@ +package org.simantics.h2d.element; + + +public interface IElementListener { + /** + * Called when the publicy available properties of the elements are changed. + * @param element + */ + public void elementUpdated(IElement element); + + public void elementRemoved(IElement element); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/element/handler/Connectable.java b/org.simantics.h2d/src/org/simantics/h2d/element/handler/Connectable.java new file mode 100644 index 00000000..8287ddfa --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/element/handler/Connectable.java @@ -0,0 +1,15 @@ +package org.simantics.h2d.element.handler; + +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; + +import org.simantics.h2d.element.IElement; + + + +public interface Connectable extends IElementHandler, IElement { + + void getBounds(Rectangle2D bounds); + Point2D getOrigo(); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/element/handler/IElementHandler.java b/org.simantics.h2d/src/org/simantics/h2d/element/handler/IElementHandler.java new file mode 100644 index 00000000..aaebe431 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/element/handler/IElementHandler.java @@ -0,0 +1,9 @@ +package org.simantics.h2d.element.handler; + +/** + * The base interface of all element handler interfaces. Needed only for + * documenting purposes. + * @author Hannu Niemistö + */ +public interface IElementHandler { +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/element/handler/Movable.java b/org.simantics.h2d/src/org/simantics/h2d/element/handler/Movable.java new file mode 100644 index 00000000..00975427 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/element/handler/Movable.java @@ -0,0 +1,12 @@ +package org.simantics.h2d.element.handler; + + + +public interface Movable extends IElementHandler { + + /** + * Moves the element by the given delta. + */ + void move(double deltaX, double deltaY); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/element/handler/Rotatable.java b/org.simantics.h2d/src/org/simantics/h2d/element/handler/Rotatable.java new file mode 100644 index 00000000..48c089fb --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/element/handler/Rotatable.java @@ -0,0 +1,12 @@ +package org.simantics.h2d.element.handler; + + + +public interface Rotatable extends IElementHandler { + + /** + * Rotates the element amount times 90 degrees clockwise. + */ + void rotate(int amount); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/element/handler/ShadowDrawable.java b/org.simantics.h2d/src/org/simantics/h2d/element/handler/ShadowDrawable.java new file mode 100644 index 00000000..c0c105ae --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/element/handler/ShadowDrawable.java @@ -0,0 +1,13 @@ +package org.simantics.h2d.element.handler; + +import java.awt.Graphics2D; +import java.awt.geom.AffineTransform; + +public interface ShadowDrawable { + + /** + * Draws the shadow of the element. + */ + void draw(Graphics2D g, AffineTransform transform); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/ClickEvent.java b/org.simantics.h2d/src/org/simantics/h2d/event/ClickEvent.java new file mode 100644 index 00000000..89c6978a --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/ClickEvent.java @@ -0,0 +1,40 @@ +package org.simantics.h2d.event; + +import java.awt.geom.Point2D; +import java.util.List; + +import org.simantics.h2d.element.IElement; + + +public class ClickEvent implements ILocatableEvent { + final public String modifiers; + + // Click location in diagram coordinates + final public Point2D point; + + public List pickedElements; + + public ClickEvent(String modifiers, Point2D point) { + this.modifiers = modifiers; + this.point = point; + } + + @Override + public String getType() { + return getType(modifiers); + } + + public static String getType(String modifiers) { + return "click(" + modifiers + ")"; + } + + @Override + public Point2D getLocation() { + return point; + } + + @Override + public List getPickedElements() { + return pickedElements; + } +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/DragEvent.java b/org.simantics.h2d/src/org/simantics/h2d/event/DragEvent.java new file mode 100644 index 00000000..92567528 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/DragEvent.java @@ -0,0 +1,47 @@ +package org.simantics.h2d.event; + +import java.awt.geom.Point2D; +import java.util.List; + +import org.simantics.h2d.element.IElement; + + +public class DragEvent implements ILocatableEvent { + public DragEventPhase phase; + + public String startModifiers; + public String currentModifiers; + + public Point2D start; + public Point2D current; + + public List pickedElements; + + public DragEvent(String startModifiers, Point2D start) { + this.phase = DragEventPhase.dragBegin; + this.startModifiers = startModifiers; + this.currentModifiers = startModifiers; + this.start = start; + this.current = start; + } + + @Override + public String getType() { + return getType(startModifiers); + } + + public static String getType(String modifiers) { + return "drag(" + modifiers + ")"; + } + + @Override + public Point2D getLocation() { + return start; + } + + @Override + public List getPickedElements() { + return pickedElements; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/DragEventPhase.java b/org.simantics.h2d/src/org/simantics/h2d/event/DragEventPhase.java new file mode 100644 index 00000000..46d093d9 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/DragEventPhase.java @@ -0,0 +1,5 @@ +package org.simantics.h2d.event; + +public enum DragEventPhase { + dragBegin, dragUpdate, dragEnd +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/IDragHandler.java b/org.simantics.h2d/src/org/simantics/h2d/event/IDragHandler.java new file mode 100644 index 00000000..e06e9fc0 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/IDragHandler.java @@ -0,0 +1,6 @@ +package org.simantics.h2d.event; + +public interface IDragHandler { + public void handleMove(); + public void handleRelease(); +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/IEvent.java b/org.simantics.h2d/src/org/simantics/h2d/event/IEvent.java new file mode 100644 index 00000000..09624207 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/IEvent.java @@ -0,0 +1,5 @@ +package org.simantics.h2d.event; + +public interface IEvent { + String getType(); +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/ILocatableEvent.java b/org.simantics.h2d/src/org/simantics/h2d/event/ILocatableEvent.java new file mode 100644 index 00000000..67eb22fb --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/ILocatableEvent.java @@ -0,0 +1,11 @@ +package org.simantics.h2d.event; + +import java.awt.geom.Point2D; +import java.util.List; + +import org.simantics.h2d.element.IElement; + +public interface ILocatableEvent extends IEvent { + Point2D getLocation(); + List getPickedElements(); +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/KeyboardEvent.java b/org.simantics.h2d/src/org/simantics/h2d/event/KeyboardEvent.java new file mode 100644 index 00000000..a93d4f58 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/KeyboardEvent.java @@ -0,0 +1,42 @@ +package org.simantics.h2d.event; + +import java.awt.geom.Point2D; +import java.util.List; + +import org.simantics.h2d.element.IElement; + + +public class KeyboardEvent implements ILocatableEvent { + final public String key; + + // Click location in diagram coordinates + final public Point2D point; + + public List pickedElements; + + + public KeyboardEvent(String key, Point2D point) { + this.key = key; + this.point = point; + } + + + @Override + public String getType() { + return getType(key); + } + + public static String getType(String key) { + return "key(" + key + ")"; + } + + @Override + public Point2D getLocation() { + return point; + } + + @Override + public List getPickedElements() { + return pickedElements; + } +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/Modifiers.java b/org.simantics.h2d/src/org/simantics/h2d/event/Modifiers.java new file mode 100644 index 00000000..f891f3b3 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/Modifiers.java @@ -0,0 +1,29 @@ +package org.simantics.h2d.event; + +import java.awt.event.MouseEvent; + +public class Modifiers { + + public static String modifierString( + int button, + boolean ctrl, + boolean alt, + boolean shift + ) { + StringBuilder b = new StringBuilder(); + if(ctrl) + b.append("ctrl+"); + if(alt) + b.append("alt+"); + if(shift) + b.append("shift+"); + if(button == MouseEvent.BUTTON1) + b.append("left"); + else if(button == MouseEvent.BUTTON2) + b.append("middle"); + else if(button == MouseEvent.BUTTON3) + b.append("right"); + return b.toString(); + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/WheelEvent.java b/org.simantics.h2d/src/org/simantics/h2d/event/WheelEvent.java new file mode 100644 index 00000000..3e7b419f --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/WheelEvent.java @@ -0,0 +1,28 @@ +package org.simantics.h2d.event; + +import java.awt.geom.Point2D; + + +public class WheelEvent implements IEvent { + final public String modifiers; + + // Click location in diagram coordinates + final public Point2D point; + + final public int amount; + + public WheelEvent(String modifiers, Point2D point, int amount) { + this.modifiers = modifiers; + this.point = point; + this.amount = amount; + } + + @Override + public String getType() { + return getType(modifiers); + } + + public static String getType(String modifiers) { + return "wheel(" + modifiers + ")"; + } +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/BoxSelection.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/BoxSelection.java new file mode 100644 index 00000000..ce61a34a --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/BoxSelection.java @@ -0,0 +1,57 @@ +package org.simantics.h2d.event.handler; + +import java.awt.geom.Rectangle2D; +import java.util.ArrayList; +import java.util.Collection; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.editor.ISelection; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.event.DragEvent; +import org.simantics.h2d.node.RectangleNode; +import org.simantics.scenegraph.g2d.G2DParentNode; + +public class BoxSelection extends DragEventHandler { + + Rectangle2D rectangle = new Rectangle2D.Double(); + RectangleNode selectionNode; + + @Override + protected void update(IDiagramEditor editor, DragEvent event) { + rectangle.setFrameFromDiagonal(event.start, event.current); + editor.requestRepaint(); + } + + @Override + protected void end(IDiagramEditor editor, DragEvent event) { + Rectangle2D.Double elementBounds = new Rectangle2D.Double(); + ISelection selection = editor.getSelection(); + System.out.println(event.currentModifiers); + + Collection toBeSelected = new ArrayList(); + for(IElement element : editor.getDiagram().getElements()) { + element.getBounds(elementBounds); + if(rectangle.contains(elementBounds)) + toBeSelected.add(element); + } + + if(event.currentModifiers.equals("ctrl+")) + selection.addAll(toBeSelected); + else + selection.set(toBeSelected); + editor.requestRepaint(); + } + + @Override + public void init(G2DParentNode parent) { + selectionNode = parent.addNode(RectangleNode.class); + selectionNode.init(rectangle); + } + + @Override + public void remove() { + selectionNode.remove(); + selectionNode = null; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/DefaultEventHandlers.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/DefaultEventHandlers.java new file mode 100644 index 00000000..a888e06c --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/DefaultEventHandlers.java @@ -0,0 +1,29 @@ +package org.simantics.h2d.event.handler; + +import org.simantics.h2d.editor.IDiagramEditor; + +public class DefaultEventHandlers { + + private DefaultEventHandlers() {} + + public static void configure(IDiagramEditor editor) { + editor.addEventHandler(1, "click(left)", new PickSelection()); + editor.addEventHandler(1, "click(ctrl+left)", new ToggleSelection()); + editor.addEventHandler(1, "drag(alt+middle)", new Pan()); + editor.addEventHandler(1, "wheel()", new Zoom()); + editor.addEventHandler(1, "key(1)", new ZoomToFit()); + editor.addEventHandler(1, "key(Period)", new RotateCounterclockwise()); + editor.addEventHandler(1, "key(Comma)", new RotateClockwise()); + editor.addEventHandler(1, "key(Ctrl+D)", new Delete()); + + editor.addEventHandler(0, new ElementEventDelegator()); + + editor.addEventHandler(-1, "drag(left)", new MoveSelected()); + editor.addEventHandler(-2, "drag(left)", new BoxSelection()); + editor.addEventHandler(-2, "drag(ctrl+left)", new BoxSelection()); + + // Prints all unhandled events + editor.addEventHandler(-1000, new EventPrinter()); + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/Delete.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/Delete.java new file mode 100644 index 00000000..bcbf6dd9 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/Delete.java @@ -0,0 +1,21 @@ +package org.simantics.h2d.event.handler; + +import org.simantics.h2d.diagram.IDiagram; +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.event.IEvent; + +public class Delete implements IEventHandler { + + @Override + public boolean handle(IDiagramEditor editor, IEvent event) { + IDiagram diagram = editor.getDiagram(); + for(IElement element : editor.getSelection()) { + diagram.removeElement(element); + } + editor.getSelection().clear(); + editor.requestRepaint(); + return true; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/DragEventHandler.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/DragEventHandler.java new file mode 100644 index 00000000..f4c7ebdb --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/DragEventHandler.java @@ -0,0 +1,67 @@ +package org.simantics.h2d.event.handler; + +import org.simantics.h2d.action.IAction; +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.DragEvent; +import org.simantics.h2d.event.IEvent; +import org.simantics.scenegraph.g2d.G2DParentNode; + +public abstract class DragEventHandler implements IAction { + + boolean isActive = false; + + protected boolean begin(IDiagramEditor editor, DragEvent event) { + return true; + } + + protected void update(IDiagramEditor editor, DragEvent event) { + } + + protected void end(IDiagramEditor editor, DragEvent event) { + } + + @Override + public boolean handle(IDiagramEditor editor, IEvent _event) { + if(_event instanceof DragEvent) { + DragEvent event = (DragEvent)_event; + + switch(event.phase) { + case dragBegin: + if(isActive) + return true; + if(begin(editor, event)) { + isActive = true; + editor.addAction(this); + return true; + } + else + return false; + + case dragUpdate: + if(!isActive) + return false; + update(editor, event); + return true; + + case dragEnd: + if(!isActive) + return false; + isActive = false; + editor.removeAction(this); + end(editor, event); + return true; + } + + } + return false; + } + + @Override + public void init(G2DParentNode parent) { + } + + @Override + public void remove() { + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/ElementEventDelegator.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/ElementEventDelegator.java new file mode 100644 index 00000000..66a6e218 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/ElementEventDelegator.java @@ -0,0 +1,37 @@ +package org.simantics.h2d.event.handler; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.event.IEvent; +import org.simantics.h2d.event.ILocatableEvent; +import org.simantics.h2d.event.KeyboardEvent; + +public class ElementEventDelegator implements IEventHandler { + + @Override + public boolean handle(IDiagramEditor editor, IEvent _event) { + if(_event instanceof KeyboardEvent) { + IEventHandler uniqueHandler = null; + for(IElement element : editor.getSelection()) { + IEventHandler handler = element.getInterface(IEventHandler.class); + if(handler != null) { + if(uniqueHandler != null) + return true; // nobody cannot consume the event + uniqueHandler = handler; + } + } + if(uniqueHandler != null) + return uniqueHandler.handle(editor, _event); + } + else if(_event instanceof ILocatableEvent) { + ILocatableEvent event = (ILocatableEvent)_event; + for(IElement element : event.getPickedElements()) { + IEventHandler handler = element.getInterface(IEventHandler.class); + if(handler != null && handler.handle(editor, event)) + return true; + } + } + return false; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/EventPrinter.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/EventPrinter.java new file mode 100644 index 00000000..3d848958 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/EventPrinter.java @@ -0,0 +1,14 @@ +package org.simantics.h2d.event.handler; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.IEvent; + +public class EventPrinter implements IEventHandler { + + @Override + public boolean handle(IDiagramEditor editor, IEvent event) { + System.out.println(event.getType()); + return false; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/IEventHandler.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/IEventHandler.java new file mode 100644 index 00000000..9e9f54f3 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/IEventHandler.java @@ -0,0 +1,10 @@ +package org.simantics.h2d.event.handler; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.IEvent; + +public interface IEventHandler { + + boolean handle(IDiagramEditor editor, IEvent event); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/MoveSelected.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/MoveSelected.java new file mode 100644 index 00000000..d55befc6 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/MoveSelected.java @@ -0,0 +1,76 @@ +package org.simantics.h2d.event.handler; + +import java.awt.geom.AffineTransform; +import java.awt.geom.Rectangle2D; +import java.util.List; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.editor.ISelection; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.element.handler.Movable; +import org.simantics.h2d.event.DragEvent; +import org.simantics.h2d.node.RectangleNode; +import org.simantics.scenegraph.g2d.G2DParentNode; +import org.simantics.scenegraph.g2d.nodes.TransformNode; + +public class MoveSelected extends DragEventHandler { + + double deltaX, deltaY; + TransformNode shadowNode; + ISelection selection; + + @Override + protected boolean begin(IDiagramEditor editor, DragEvent event) { + List pick = event.pickedElements; + if(pick.isEmpty()) + return false; + selection = editor.getSelection(); + boolean pickContainsSelected = false; + for(IElement element : pick) + if(selection.contains(element)) { + pickContainsSelected = true; + break; + } + if(!pickContainsSelected) { + selection.clear(); + selection.add(pick.get(0)); + } + return true; + } + + @Override + protected void update(IDiagramEditor editor, DragEvent event) { + deltaX = event.current.getX() - event.start.getX(); + deltaY = event.current.getY() - event.start.getY(); + shadowNode.setTransform(new AffineTransform(1.0, 0.0, 0.0, 1.0, deltaX, deltaY)); + editor.requestRepaint(); + } + + @Override + protected void end(IDiagramEditor editor, DragEvent event) { + for(IElement element : selection) + if(element instanceof Movable) + ((Movable)element).move(deltaX, deltaY); + selection = null; + editor.requestRepaint(); + } + + @Override + public void init(G2DParentNode parent) { + shadowNode = parent.addNode(TransformNode.class); + + for(IElement element : selection) { + Rectangle2D elementBounds = new Rectangle2D.Double(); + element.getBounds(elementBounds); + RectangleNode shadow = shadowNode.addNode(RectangleNode.class); + shadow.init(elementBounds); + } + } + + @Override + public void remove() { + shadowNode.remove(); + shadowNode = null; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/Pan.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/Pan.java new file mode 100644 index 00000000..74553221 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/Pan.java @@ -0,0 +1,23 @@ +package org.simantics.h2d.event.handler; + +import java.awt.geom.Point2D; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.DragEvent; + +public class Pan extends DragEventHandler { + + @Override + protected void update(IDiagramEditor editor, DragEvent event) { + Point2D offset = editor.getOffset(); + double scale = editor.getScale(); + editor.setViewTransform( + new Point2D.Double( + offset.getX() + event.start.getX() - event.current.getX(), + offset.getY() + event.start.getY() - event.current.getY() + ), + scale); + editor.requestRepaint(); + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/PickSelection.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/PickSelection.java new file mode 100644 index 00000000..a0cc6e4d --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/PickSelection.java @@ -0,0 +1,51 @@ +package org.simantics.h2d.event.handler; + +import java.util.List; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.editor.ISelection; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.event.ClickEvent; +import org.simantics.h2d.event.IEvent; + +public class PickSelection implements IEventHandler { + + @Override + public boolean handle(IDiagramEditor editor, IEvent _event) { + ClickEvent event = (ClickEvent)_event; + List pick = event.pickedElements; + ISelection selection = editor.getSelection(); + if(pick.isEmpty()) { + selection.clear(); + editor.requestRepaint(); + } + else { + if(selection.containsOneOf(pick)) { + if(pick.size() > 1 && selection.size()==1) { + /* + * If there are multiple elements under mouse and the current + * selection is exactly one of them then rotate thru all one + * element selection possibilities. + */ + IElement s = selection.getSingleElement(); + for(int i=0;i pick = event.pickedElements; + if(!pick.isEmpty()) { + editor.getSelection().toggle(pick.get(0)); + editor.requestRepaint(); + } + return true; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/Zoom.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/Zoom.java new file mode 100644 index 00000000..d02e74a1 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/Zoom.java @@ -0,0 +1,30 @@ +package org.simantics.h2d.event.handler; + +import java.awt.geom.Point2D; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.IEvent; +import org.simantics.h2d.event.WheelEvent; + +public class Zoom implements IEventHandler { + + public final static double ZOOM_PER_CLICK = 1.2; + + @Override + public boolean handle(IDiagramEditor editor, IEvent _event) { + final WheelEvent event = (WheelEvent)_event; + Point2D offset = editor.getOffset(); + double scale = editor.getScale(); + double scaleRatio = Math.pow(ZOOM_PER_CLICK, event.amount); + + editor.setViewTransform( + new Point2D.Double( + offset.getX() * scaleRatio + event.point.getX() * (1.0 - scaleRatio), + offset.getY() * scaleRatio + event.point.getY() * (1.0 - scaleRatio) + ), + scale * scaleRatio); + editor.requestRepaint(); + return true; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/event/handler/ZoomToFit.java b/org.simantics.h2d/src/org/simantics/h2d/event/handler/ZoomToFit.java new file mode 100644 index 00000000..1f2d0bfe --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/event/handler/ZoomToFit.java @@ -0,0 +1,45 @@ +package org.simantics.h2d.event.handler; + +import java.awt.Dimension; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.event.IEvent; + +public class ZoomToFit implements IEventHandler { + + @Override + public boolean handle(IDiagramEditor editor, IEvent event) { + Rectangle2D diagramBounds = null; + Rectangle2D elementBounds = new Rectangle2D.Double(); + for(IElement element : editor.getDiagram().getElements()) { + element.getBounds(elementBounds); + if(diagramBounds == null) { + diagramBounds = new Rectangle2D.Double(); + diagramBounds.setFrame(elementBounds); + } + else { + Rectangle2D.union(diagramBounds, elementBounds, diagramBounds); + } + } + if(diagramBounds != null) { + Dimension dimension = editor.getViewDimension(); + + double scale = Math.max( + diagramBounds.getWidth() / dimension.getWidth(), + diagramBounds.getHeight() / dimension.getHeight() + ); + + Point2D offset = new Point2D.Double( + diagramBounds.getCenterX() - dimension.getWidth() * scale * 0.5, + diagramBounds.getCenterY() - dimension.getHeight() * scale * 0.5 + ); + editor.setViewTransform(offset, scale); + } + editor.requestRepaint(); + return true; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/node/FilledShapeNode.java b/org.simantics.h2d/src/org/simantics/h2d/node/FilledShapeNode.java new file mode 100644 index 00000000..687c8478 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/node/FilledShapeNode.java @@ -0,0 +1,41 @@ +package org.simantics.h2d.node; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Shape; +import java.awt.geom.Rectangle2D; + +import org.simantics.scenegraph.g2d.G2DNode; + +public class FilledShapeNode extends G2DNode { + + private static final long serialVersionUID = -7540487222025677413L; + + protected Shape shape = null; + protected Color color = Color.BLACK; + + @SyncField("shape") + public void setShape(Shape shape) { + this.shape = shape; + } + + @SyncField("color") + public void setColor(Color color) { + this.color = color; + } + + @Override + public void render(Graphics2D g2d) { + if(shape == null) return; + if(color != null) g2d.setColor(color); + + g2d.fill(shape); + } + + @Override + public Rectangle2D getBounds() { + return shape.getBounds2D(); + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/node/ITextListener.java b/org.simantics.h2d/src/org/simantics/h2d/node/ITextListener.java new file mode 100644 index 00000000..e0d31d2f --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/node/ITextListener.java @@ -0,0 +1,7 @@ +package org.simantics.h2d.node; + +public interface ITextListener { + + void textChanged(); + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/node/LineNode.java b/org.simantics.h2d/src/org/simantics/h2d/node/LineNode.java new file mode 100644 index 00000000..3f608f56 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/node/LineNode.java @@ -0,0 +1,49 @@ +package org.simantics.h2d.node; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.geom.Path2D; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; + +import org.simantics.scenegraph.g2d.G2DNode; + +public class LineNode extends G2DNode { + + private static final long serialVersionUID = 654692698101485672L; + + Point2D begin; + Point2D end; + protected Path2D path; + + @SyncField({"begin","end"}) + public void init(Point2D begin, Point2D end) { + this.begin = begin; + this.end = end; + update(); + } + + protected void update() { + path = new Path2D.Double(); + path.moveTo(begin.getX(), begin.getY()); + path.lineTo(end.getX(), end.getY()); + } + + @Override + public void render(Graphics2D g) { + if(path == null) return; + g.setColor(Color.BLACK); + double scale = g.getTransform().getScaleX(); + g.setStroke(new BasicStroke( (float)(1.0 / scale) )); + g.draw(path); + } + + @Override + public Rectangle2D getBounds() { + Rectangle2D bounds = new Rectangle2D.Double(); + bounds.setFrameFromDiagonal(begin, end); + return bounds; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/node/RectangleNode.java b/org.simantics.h2d/src/org/simantics/h2d/node/RectangleNode.java new file mode 100644 index 00000000..5f91df72 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/node/RectangleNode.java @@ -0,0 +1,36 @@ +package org.simantics.h2d.node; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.geom.Rectangle2D; + +import org.simantics.scenegraph.g2d.G2DNode; + +public class RectangleNode extends G2DNode { + + private static final long serialVersionUID = 654692698101485672L; + + protected Rectangle2D bounds = null; + + @SyncField("bounds") + public void init(Rectangle2D bounds) { + this.bounds = bounds; + } + + @Override + public void render(Graphics2D g) { + if(bounds == null) return; + g.setColor(Color.BLACK); + double scale = g.getTransform().getScaleX(); + g.setStroke(new BasicStroke( (float)(1.0 / scale) )); + + g.draw(bounds); + } + + @Override + public Rectangle2D getBounds() { + return bounds; + } + +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/node/ShapeNode.java b/org.simantics.h2d/src/org/simantics/h2d/node/ShapeNode.java new file mode 100644 index 00000000..ba8f13b4 --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/node/ShapeNode.java @@ -0,0 +1,92 @@ +package org.simantics.h2d.node; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.Shape; +import java.awt.Stroke; +import java.awt.geom.AffineTransform; +import java.awt.geom.Rectangle2D; + +import org.simantics.scenegraph.g2d.G2DNode; +import org.simantics.scenegraph.utils.GeometryUtils; + +public class ShapeNode extends G2DNode { + + /** + * + */ + private static final long serialVersionUID = 8508750881358776559L; + + protected Shape shape = null; + protected Stroke stroke = new BasicStroke(1); + protected Color color = Color.BLACK; + protected boolean fill = false; + protected boolean scaleStroke = false; + protected boolean scaleShape = false; + + @SyncField("shape") + public void setShape(Shape shape) { + this.shape = shape; + repaint(); + } + + @SyncField("stroke") + public void setStroke(Stroke stroke) { + this.stroke = stroke; + } + + @SyncField("color") + public void setColor(Color color) { + this.color = color; + } + + @SyncField("fill") + public void setFill(boolean fill) { + this.fill = fill; + } + + @SyncField("scaleStroke") + public void setScaleStroke(boolean scaleStroke) { + this.scaleStroke = scaleStroke; + } + + @SyncField("scaleShape") + public void setScaleShape(boolean scaleShape) { + this.scaleShape = scaleShape; + } + + @Override + public void render(Graphics2D g2d) { + if(shape == null) return; + + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // FIXME + if(color != null) g2d.setColor(color); + if(stroke != null) { + if(scaleStroke && stroke instanceof BasicStroke) { + BasicStroke bs = GeometryUtils.scaleStroke(stroke, (float) (1.0 / GeometryUtils.getScale(g2d.getTransform()))); + g2d.setStroke(bs); + } else { + g2d.setStroke(stroke); + } + } + if(scaleShape) { + double xs = g2d.getTransform().getScaleX(); + double ys = g2d.getTransform().getScaleY(); + g2d.scale(1/xs, 1/ys); + } + + if(fill) { + g2d.fill(shape); + } else { + g2d.draw(shape); + } + + } + + @Override + public Rectangle2D getBounds() { + return shape.getBounds2D(); + } +} diff --git a/org.simantics.h2d/src/org/simantics/h2d/node/TextNode.java b/org.simantics.h2d/src/org/simantics/h2d/node/TextNode.java new file mode 100644 index 00000000..e6dbe3bb --- /dev/null +++ b/org.simantics.h2d/src/org/simantics/h2d/node/TextNode.java @@ -0,0 +1,259 @@ +package org.simantics.h2d.node; + +import java.awt.AWTEvent; +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; +import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; +import java.awt.font.FontRenderContext; +import java.awt.geom.AffineTransform; +import java.awt.geom.Line2D; +import java.awt.geom.Rectangle2D; + +import org.simantics.scenegraph.g2d.G2DNode; + +public class TextNode extends G2DNode { + + //static final FontRenderContext FRC = new FontRenderContext( + // new AffineTransform(1.0,0.0,0.0,1.0,0.0,0.0), true, true); + + private static final long serialVersionUID = 654692698101485672L; + + protected String text = null; + protected Font font = null; + protected Color color = null; + protected double x; + protected double y; + protected double scale; + + boolean editAllowed; + int caret = 0; + int selectionTail = 0; + + ITextListener textListener; + + /** + * Enables or disables edit mode. It also sets + * the caret at the end of text all selects the + * whole text (this is the usual convention when + * beginning to edit one line texts). + * @param editAllowed + */ + public void setEditMode(boolean editAllowed) { + this.editAllowed = editAllowed; + caret = text.length(); + selectionTail = 0; + } + + @SyncField({"text", "font", "color", "x", "y", "scale"}) + public void init(String text, Font font, Color color, double x, double y, double scale) { + this.text = text; + this.font = font; + this.color = color; + this.x = x; + this.y = y; + this.scale = scale; + } + + public String getText() { + return text; + } + + private double getLength(FontRenderContext frc, String str) { + Rectangle2D bounds = font.getStringBounds(str, frc); + return bounds.getWidth(); + } + + @Override + public void render(Graphics2D g) { + if(text == null || font == null || color == null) return; + g.setFont(font); + g.translate(x, y); + g.scale(scale, scale); + + if(editAllowed) { + FontRenderContext frc = g.getFontRenderContext(); + + int selectionMin = Math.min(caret, selectionTail); + int selectionMax = Math.max(caret, selectionTail); + double selectionMinPos = getLength(frc, text.substring(0, selectionMin)); + double selectionMaxPos = getLength(frc, text.substring(0, selectionMax)); + + // Selection background + g.setColor(new Color(0x316ac5)); + g.fill(new Rectangle2D.Double(selectionMinPos, -12.0, + selectionMaxPos-selectionMinPos, 12.0)); + + // Text + g.setColor(color); + g.drawString(text.substring(0, selectionMin), 0f, 0f); + g.drawString(text.substring(selectionMax), (float)selectionMaxPos, 0f); + + g.setColor(Color.WHITE); + g.drawString(text.substring(selectionMin, selectionMax), (float)selectionMinPos, 0f); + + // Caret + double caretPos = getLength(frc, text.substring(0, caret)); + //g.setXORMode(Color.BLACK); + g.setColor(Color.BLACK); + g.draw(new Line2D.Double(caretPos, 0, caretPos, -12.0)); + } + else { + g.setColor(color); + g.drawString(text, 0f, 0f); + } + } + + /** + * Replaces the current selection with the content or inserts + * the content at caret. After the insertion the caret + * will be at the end of inserted text and selection will + * be empty. + * @param content + */ + @SyncField("text") + protected void insert(String content) { + int selectionMin = Math.min(caret, selectionTail); + int selectionMax = Math.max(caret, selectionTail); + + String begin = text.substring(0, selectionMin); + String end = text.substring(selectionMax); + text = begin + content + end; + caret = selectionMin + content.length(); + selectionTail = caret; + } + + + @ServerSide + protected void fireTextChanged() { + if(textListener != null) + textListener.textChanged(); + } + + public void setTextListener(ITextListener listener) { + this.textListener = listener; + } + + private void handleKeyPressed(KeyEvent event) { + char c = event.getKeyChar(); + //System.out.println("Key pressed " + c + " " + event.getKeyCode()); + if(event.isControlDown()) + switch(event.getKeyCode()) { + case KeyEvent.VK_C: + if(caret != selectionTail) { + int selectionMin = Math.min(caret, selectionTail); + int selectionMax = Math.max(caret, selectionTail); + setCliboardContent(text.substring(selectionMin, selectionMax)); + } + break; + + case KeyEvent.VK_V: + { + String content = getCliboardContent(); + if(content != null) + insert(content); + } + break; + default: + return; + } + else if(event.isAltDown()) + return; + else + switch(event.getKeyCode()) { + case KeyEvent.VK_LEFT: + if(caret > 0) { + --caret; + if(!event.isShiftDown()) + selectionTail = caret; + } + break; + case KeyEvent.VK_RIGHT: + if(caret < text.length()) { + ++caret; + if(!event.isShiftDown()) + selectionTail = caret; + } + break; + case KeyEvent.VK_HOME: + caret = 0; + if(!event.isShiftDown()) + selectionTail = caret; + break; + case KeyEvent.VK_END: + caret = text.length(); + if(!event.isShiftDown()) + selectionTail = caret; + break; + + case KeyEvent.VK_BACK_SPACE: + if(caret == selectionTail && caret > 0) + --caret; + insert(""); + break; + + case KeyEvent.VK_DELETE: + if(caret == selectionTail && caret < text.length()) + ++caret; + insert(""); + break; + + default: + if(c == 65535 || Character.getType(c) == Character.CONTROL) + return; + System.out.println("Char " + (int)c + " " + Character.getType(c)); + insert(new String(new char[] {c})); + } + // FIXME This is called even if just caret was moved. + // This is currently necessary for repaints. + fireTextChanged(); + event.consume(); + } + + private void handleMousePressed(MouseEvent event) { + // TODO + } + + @Override + public void handleEvent(AWTEvent event) { + if(editAllowed) { + if(caret > text.length()) + caret = text.length(); + switch(event.getID()) { + case KeyEvent.KEY_PRESSED: + handleKeyPressed((KeyEvent)event); + break; + case MouseEvent.MOUSE_PRESSED: + handleMousePressed((MouseEvent)event); + break; + } + } + } + + @Override + public Rectangle2D getBounds() { + return null; + } + + public String getCliboardContent() { + Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + Transferable clipData = clipboard.getContents(this); + try { + return (String) (clipData.getTransferData(DataFlavor.stringFlavor)); + } catch (Exception ee) { + return null; + } + } + + public void setCliboardContent(String content) { + Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + StringSelection data = new StringSelection(content); + clipboard.setContents(data, data); + } +} diff --git a/org.simantics.objmap/.classpath b/org.simantics.objmap/.classpath new file mode 100644 index 00000000..23e107f9 --- /dev/null +++ b/org.simantics.objmap/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/org.simantics.objmap/.hg/00changelog.i b/org.simantics.objmap/.hg/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..d3a8311050e54c57c5be7cfe169e60a95768812c GIT binary patch literal 57 zcmWN_K?=Yi38{;lH^oiX2L9 z^{d!%sHIO4*QAzh*m_HLES(wTKSK+1Jz#LN?6`LHdHdis6b`=)2Rl3$NUpAU)Wnug zRWIV2*io=$**^BEZFx$K7}zJ;GuUVn`4FDPZOrW`>>mNlqc?&n8N?)(&x88Tp@rEC z02+)U^IeK9-5^z4BL)|a^f`E~!dDNk=(;Ce>@=oYPRixMBD-m*^CmqqFbx)5;Wrcx z?1S4TR&?7ztopV~$zrxxm|m@EkaB$3;zPdadlcSz1n?t5ybG3|5>=RJj26LoN^c#7 zLw^J1DItX~WQUV+Nd+F}pF`oA9l#!_mZrwGRVKiv3GI^bHQU70QYw4n-(#vuJkNGhsKd~O#{so#8B`K| zOR0<-*b~*IFamY?0cbmyp}EkbL@85ZXqjGp2VOl7oIOGgUm275SlNfYm?tPm@iYp4 zdKHil36Y-KASPBOqnwk;_>WYoE`Wmk3Ith5s4zv@Pd%SlB$esneJJ?ZUqNnI(HN@k zQ^VukD4v1QQh+0tpQQMy-j6HBW26Zbt~(1D@d)uL9=A=$_Glz&Jf-jO>}n2V(j4vP!@CX>|ROYe3v0B*rtr(!)EGe;rEvAef5BsS=ISQdyJg5JUy+#7dk5 zk#udP7Bz2{@6tQaw(kRI#lzICV{^w*c)tgP%!@q05^8sk!h(PI>MI1U6Ii=)u;=*68Z!i$qq_?UU(LTs}8^&!$PN7 zY13VQ0)?B-f!QdT!_j=guFcxKi>H$K*2w2yZYFkbe>!|1?7JQ%&NlB_>t<^C)}FK+Ie5I!4QvHHhnMlan$l1O0xDS zx;}d^_$z)AFiB(;Ni;E4mtF@27e|4yO&D|1gNw_O&)AynET&~WNJKendSTNBSC4`R zVp(SHm*!OBELAXR3#j_LVBSSE%1tZoXx{aq^U%kAU?&!hSf}b%Y9f*sClBhs%I4<| z!TkLHBpuG7aO+mMb0BG5tBH+{=Iwn00=fbpi3POXytO3{A}LzCI+)(r+U@ot$nOSC zUJb|xg#FR>rgP&K|3bmFkHA>Gqv9OLf?RhrcxTth;U@7??_+5mqM8B9xX=ZDaN3WF zD)Ae(7Nsa-7^Raay!#tqu9ns4J>+1&!Nemsi2mJR!_g|ap;O(mUBXU^{V2HnEu1_d zbR->5M>_^~@3VD2BZ1=XG)_f02Z?gY&Hp(9HefXa!mRFgm26a4mG;6-B eLLjh%$iepdk=}#rKZWZb7ha!)v-ot(PU(M`HQkB; literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/hgrc b/org.simantics.objmap/.hg/hgrc new file mode 100644 index 00000000..0b68c09e --- /dev/null +++ b/org.simantics.objmap/.hg/hgrc @@ -0,0 +1,2 @@ +[paths] +default=ssh://simusite/org.simantics.objmap diff --git a/org.simantics.objmap/.hg/requires b/org.simantics.objmap/.hg/requires new file mode 100644 index 00000000..5175383b --- /dev/null +++ b/org.simantics.objmap/.hg/requires @@ -0,0 +1,3 @@ +revlogv1 +store +fncache diff --git a/org.simantics.objmap/.hg/store/00changelog.i b/org.simantics.objmap/.hg/store/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..78c468d5cc1209ce7ac8bfc1fa19835d700cdf46 GIT binary patch literal 1956 zcmX|Bc{mh$7arSXBDt0l*+Q-@BL*$V)}5Mc8DyC|G8ucaMOkVvc4CGKGeZVVG-G52 zWzSMsifrAB36a4k%gFdhz8Ur1_j%6yp6B_UKh8Ptd42#s03ToW{gAfMJ(wv zao+Yg&FtX6#Rpn7{1dICx{Tr&?-dXTM8<(5kIL9KlJm-vmv5>}oAuWk7O7v%*I>Jy zSf9j$U-D5J5mo&|(9;>d{yi4!^%7gzAK}A7s#6;&`e*>5cAq_7eY@@&6R)t_GQhs-J ztmsE2U#Hoc4aJ5?soJ8?Pny6)6wUdfn1h8pqj>gmS%Yh`6EEXp-*}$S!2rbG39N3n z6A9jpQh(i13Kcu}v*ag7;|W-cO9J}R$xadADa%zr^F5qVT|ogMfqqLRU__t^#f-S( zi_Iy++-OSq%aTQCLJNZkr7X*!ovHcvUv~D|Vv-EmauE*=9(+4B>vrJSnWk|cpgr4D z&E|uz&ayyyCPz{cj=sWXYb;-)*XV~X90^q+om|pzyVGsJG_$?>L<%!tZ0Y`IQTAv~ zP9koVjF*9pYeqi*ZLa(#%pL`nl?!7C>oLM2{Mz&CUF7NUN8fw#4Q@_!e3(jBnO!~Y zC$o+CF}vJk`DZvh5f%Y*^;QrXaoxd4u<&(z-)CHVSkKqu1_D7BDi=r(^T#prNFhab z(OWT0)LF2HgHxG6nsbY=v0Qa9bRbPKu!NKKVnw}KI41sDwjnZJC?AL8!sV*jOib1yS*9zd@EMp zV5wyV5P5@s>o_WA_u2s4R8K^lnYGflE$_4^riPmXF70-4=sk>3~3J*32c8;vR>=yOMUsTxOQ z+;y;p=YUTPSW;i$JQBiEtjG(M7!+33P&&TH^l+MVdT?LAO)GVEeaB8bJkvsz(D_Jt zOyPnt25tn`)>D4>PxelTo1k^Zu;Apbh+H~N2b|F;#xyZBMojF`J$sAWZB23T+h%+7 z`6a(`1cyT%kJ;BgI+eLFq=O=l%^(g*4dtdSv@B@UjNC84hR(OSHslTCdyZ8bz=BWf zIz!+60j+talq%nKt(yp=VJRp4UFh(~fr8~e8>(82T(?o8NBfz8nvzo1dLt-SD`O{B z0(Pm4gBp{0_KDEfa~<65zTs>V&Y>eq70G9l7tnVCvp3^iXx}L=mH!E>A7n1t?FF=2 zHpV-ui58h_lXksmpl#!#EhX~hOSy~YlOn7o-sK4W{KBc+bcY)Pzk;84bfqdOHs z8O`3^VXhp28`oL;LNiij27M+IC_UX^p%>0@*?`QBAYtYwBV-Qo%en3*drs3_kWUar zo01V$^DJ|;ppX1&LUS4z>n$xa0kVLFC`qb`{{<6$^r}xSKon^A9x~tQ`c}B1V?~%a zUtZfn)%(pexZJ=E-n4=|^g5TZe xv|a;uNcF_d|n4bS|2zt^3Q&$L_tzA2Gv*b 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 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/.classpath.i b/org.simantics.objmap/.hg/store/data/.classpath.i new file mode 100644 index 0000000000000000000000000000000000000000..c387133c3dce392b677b47a504573b92a813b2fc GIT binary patch literal 401 zcmZQzWME`~fNKm4j1^Ee!+$7nEL?j0?)tZZ3*$GYBt?EWCRw}01*Qf>SIn6@;b0b% zp+MVt-7m7!?#x{~{nFvQrBie@Lb~&+r_SJceWgT5z4OKG)k}juDts~f|KaTM58=&k zw`-eeOtiVaivRm62eW%ZxceJCl9mRz39W2MXg@R`1%`b|;oq-gEOk)p>_ z*X}84I2PE!5pULbdFI(q4_Yp6nYrKR*xSzqcYIEJ_gO65P?k_Q(fY)f>Q1K3OKxUu zoS*+zFTwJXv~6}(ZAHM-{qbC42P+%}V$y}Syw@u~@^O|{m*vX7$D)^>ixgQMc9ctbw7j9L!>1U;@#gfH_%dY7*X%8?vua{NR_TCuaOLKR6w# z21+s70`&nggFdHCa!z7#aY159MrvM3QKdq5W?qV|QgKnTk^)H3Rw=b2F}ENmwOC2t Hj+YAnb%&v? literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/.hgignore.i b/org.simantics.objmap/.hg/store/data/.hgignore.i new file mode 100644 index 0000000000000000000000000000000000000000..fb437c3ce95993100cd15af572afe97cd609cdfe GIT binary patch literal 86 zcmZQzWME`~05KpX3S~3=hk~67HmUc8e>zTxn#JML?V#CNGBFjV21J(@SLT%@R#+(% RrKYD=6!3DzC1vL60|2)S7-0Ya literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/.project.i b/org.simantics.objmap/.hg/store/data/.project.i new file mode 100644 index 0000000000000000000000000000000000000000..f563b9cfa45cda5d38d92eb651dc32028acdf797 GIT binary patch literal 306 zcmZQzWME`~fKLnzOe>*mhW}77{|#5^`;C&}QOjoEPc>Cm<&IhZ5T*u1SIpTv>7XC8 zqCngESwHyB-ecWcx#0E@vwJ3LSJ@XF-mxi?jVb5yaeal=d1h*IJ==f&pEjThcT=Y#w7aPf!l){8ewRF*^&^EaO`&cjca9O6XHFSJjn|Y7Q&$++t1H z+r_iSzt!fHki-Ad)+rPANgG>-oPFN*fcwtTAD3aog{9ad9XfT#wvRH>4!!84sWk?*tmNBOaY&e zv)?XUslHZP9u|Ieqs|3sS)~dE9)%rp6VESLu{YZ_vO?--Q02-a)&3`rv*kKiYV;Ju zSTB~|RIcC9^Eu+~i$# aVS$*-yla;VCjXt@Tes-wN9JDBULgRvm}RE` literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i b/org.simantics.objmap/.hg/store/data/_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i new file mode 100644 index 0000000000000000000000000000000000000000..f275735edd0dcdcc17e8c86164bdc915b73d0703 GIT binary patch literal 650 zcmZQzWME`~fYS^Nj8#xJ!+$7P^w2J+{6;kI(-$dK`?e-Lo!9dC1WXNxu9#EW@6CP4 zK%nLQPtm36!a0KcqWVtyP5dHz@-J^)XV&>F@XP(^6{7Rs58ngm45wG>Ivs6d;YDC`%@B~d*8{Id}`pjA!~D^D{}cyCYzak<*WA- z1-8 z5(asQSK{~TlVuGv>c9WKRC}%X*I$oQyP#^oRK=X+goG17{DL{jaQUS@Q|5%+-Ed{m zqceYOv{{*Loo$)**w~J}6gabB;e_}p>%!;EoIN9a(#)7O)8|i_Iy+*)^cmBq$4`o2 tx)Qu*`s}DlE0`}8GdD?wY<#V$b=Fh&nzy%)-bwvcR~|AkROYL%0RUGl4S4_n literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/build.properties.i b/org.simantics.objmap/.hg/store/data/build.properties.i new file mode 100644 index 0000000000000000000000000000000000000000..761460da258d08fb1fc2f20a648a3552627078fe GIT binary patch literal 259 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 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/doc/manual.mediawiki.i b/org.simantics.objmap/.hg/store/data/doc/manual.mediawiki.i new file mode 100644 index 0000000000000000000000000000000000000000..51e55c7230897b216a758aa2d1d50fe3d3e9c5f6 GIT binary patch literal 4233 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 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/doc/object_mapping_terminology.graphml.i b/org.simantics.objmap/.hg/store/data/doc/object_mapping_terminology.graphml.i new file mode 100644 index 0000000000000000000000000000000000000000..f5d61c4bdb678af50345371bf393b1bd13f95e09 GIT binary patch literal 2558 zcmV=bRf6d2MXSXy8} zQ4Ea4$V4R4Aeq?Ouiqgh*^XlaS%WFTCSSoT z@>~>*mvi^)m-9*LI!Y5>kV?;Y4ds7>s? zVW_LviLwDML{7BL>Pek*jt6h!_5M>3Y1;I`)~awp5679knM}?kC7Kq_b>lSWtfI=f z5z_gM+!M$5lF6j4cuN~&pSzn*vtsTRpnP*vK}G3XC5Z%wJ_|GnJtszq>O%o4d=3Fu-L&)O(WOmQvjD;;ij%o0uuOfS&FdJB>pl zY7O12K3fKv=^H0iXS@`OwR2GpS<|&X+f(A6DRyo8q2=9HjIbN3FzZGN2Z!XbC^-GB zk;AN6Ru4yFHa!H)Y-;%G37qn6*$$3)ARIA3h-{KUa4^e}!2cMKFN{5k-%L7!@)O&L6D6Ejs$K9jD}i;QLFzw*j|s%7mmrK2oF>t~fMS|?LF%X2kL+m0UW(Ev3zC-0$cw`)#372I{In1? zq~g$u8l4P#8~FxBHyv#G#v{6~7+vHgI8L(IhPP9VheI4A92s06^9uu0(wE0K8|wQH z>^`Fr-`9$-?|TSE{bXx)1IP=r1SKfI2k`|>Z(ojDJlKCZ8*Ke3_E47K&`%?C%|?V@ z7s3&YV9;+J{MZZA@bJ!|Cd(z`_GSs1Kt|Ps#i{3ExkdJ$24Z#Tz zocU3b9-n}%yhC$r{&lw;Q%I&gNn!U9jwZ6C`uLVO-oqP)voU)A3IX@~eM$7fQ6Pf_ zTQ%JW-CJ~Lc?6OP_&gNfNhwxpo0%{UeQxcE9a$WB3MenyhE*+uUeMyu17p-anD?IG zbX&F~I6flyk+09A;LjD@KO*?C8GKayxrztJ6hE@#+dWaUYlj(f_U7B!hj(Azef#?9 z0;cxw-%lU(;J-I=1tYcK2L{e0addSpSbH20mK@Xhm;6CfvGt!zp&qTInlM;imy+I4 zDQR(8k({2{qGXXfb4&#U#yWZcliYP$7#29a>YtmkaCU zhwn{&9VbK*^M)2fD{-tr=e)bx4hzN6rQmnP=~D7DzGO-M5j3_o=qJ z(@&rmS!;XruJ`IJ_a3hoDW6j*3Ufx&=}Zo-*s;N++cc50q2;^!?hdA7HGp$EaRj45 zm#k5mW#*V?Tnw!@BVTxg>0?oUB|i;Y^OmJk3DNyOd;nTFxo)a6G@dQ}zt4MMhF)nKP1q03#~-r864G zJC5y!ffsm@=Z5h39L|<~By)ItA}FmUE_t5Hl(V5lSaCa}0v05_ljj>Q`;_MCwNfp` zl6K&UDmc~e$($?}DVrV-TJG!e?bVDdXoZHLV{peb+XCm6BoctkcuteX)RZwQ-V3sr zfiuA;#RVg9$Ydumeq}k8Ie;J~pO>C3$0K#4%*g0OmJ4dsOpDU5YF-bU1<4oXGz{v= z9h}@a0BY$+EA^<+j#|pmN;hg$JE&IepbpgvhHWvscQ{9=70wu;3jVi#O@Oy<*BS1| z^ZDt;`Dhe*Ul-8Ho7q*N!3XUQbveKLtxA?3xkuYtl_aeCaVU$MHII~#mf6Ks9Y24nFd z7>mM&v2oAXp0Rr|);R!UU0ge&&#^sY_hqbm5XQO15dIw-Ec7nc+?HT(- z#`*_gEb8mnp0Q74Y;Xw1Vy|YbxAmW$p0ST&ERO6DVI1OUqmA%9)Qw`>jhqNOzD6#v zBNX|uZdrhFz8!e6hdmU)`bom)V2VjIs{Hg!{e@?wdU%Ke7=?8K+*AE!Q{8cFg#4P_ zDqSPni$fG5SJVF<-@&gpFOTKXLH<{9 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/doc/object_mapping_terminology.png.i b/org.simantics.objmap/.hg/store/data/doc/object_mapping_terminology.png.i new file mode 100644 index 0000000000000000000000000000000000000000..95cd05edbf2050ad06fef1b17f4a5289a5cb564d GIT binary patch literal 6689 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 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/doc/triangle_model.graphml.i b/org.simantics.objmap/.hg/store/data/doc/triangle_model.graphml.i new file mode 100644 index 0000000000000000000000000000000000000000..34fa864e6772e4f21265bf8559b098ace649893c GIT binary patch literal 1166 zcmV;91abQS0RRC20000000d3|02K!S0000000030|NsC0|NsA7xmxe5N#eyIVErkxIn`pL>xXdWiB$ z5XP5t@6RvSlhQ*1sPw+ zWniayZuZ4avAxH3yY;t;ofC&)6#Vu3&0ST~6`n9|)~#so)qdmCZiReMekE2$yI&aQ zDt4i)z>TP|wpl$XICNgz>Gl2r6e(zXv7I6w)B~Z}o5|!#QmiRK_bqC#Swj_C2#J2f zj~K;%F`2lD541J*xwj9Rk-0~p^6kPn`MO<0r6pBjBP*)B;NXX~mOjTT7~e?nwD)el z(h?H#oHQ4NcDm6Se?nCy+1ixoNjkC16NCs|;7y}D*#LA$i4DAxQC4Qi=FO`Alo%z; zUON4r#0EOq(-Rwb<)g&R&^R%BkIYD?41P?~3K(%JANNa}x>yqrdz%ReYm8uZTmImr zJvmH=f%f9A#%uZ+)COid@R5oY)v`r3Wy=~uNka2&-!h_W_~yrjx!b{2nVT!nhA$*s z1!Ex~yFry`OhJCRwjU2^iMd*1NjWGlaHHt4<2xYP!1$g)D_c67nQU_J z?o4EJZ{1)9VXiCGa+%=|o^ zrcoN^Fy-=-S$9PVgWlwpo&|$Kjw@^dLVXXapa(CTZ#UDpA7eHP43$040Y8il;EtXL z?l9@#F2j!PB+6dderarHnV;m-j$5-`apIRzmd4Y(Jc;&uK;<4Q`g}mg&kS@DzY_g| ziB5p%w8*m_=mda{^M1J_o<9(#h5Wy1HU|_-Gle|dq0_c%q_JF5ef~_6k7$OSY)z>@ zfZ#apTdZrOpahmz)pi%Ux9HAt#E=pEJ_>)8Qf$>BGhrP1+}y*BB*$(hi?i?&=AKTV zN15nf1hR_l{$2}pM6AXPFkVZ#pi)wD+u(}2Y%p)PHI*PP&9jo(f$U%5o%&%^WJTGZ zMWBPnA@rm;ha<`~&k_syB#Znq3$rqtnj^|3JSGukFx{8io;>tROb@nVGH&=e9zoV gId?r^cYj`irT^&PqxG+KI;mOzLJzM00ip&e@AREKw*UYD literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/doc/triangle_model.png.i b/org.simantics.objmap/.hg/store/data/doc/triangle_model.png.i new file mode 100644 index 0000000000000000000000000000000000000000..636a17e4b8020822f72bb835c7f70a668224a935 GIT binary patch literal 4456 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 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/examples/org/simantics/objmap/examples/_sysdyn_example.java.i b/org.simantics.objmap/.hg/store/data/examples/org/simantics/objmap/examples/_sysdyn_example.java.i new file mode 100644 index 0000000000000000000000000000000000000000..ed0abfea0acac6e8c2a8d293118f1ee1947b6f86 GIT binary patch literal 623 zcmV-#0+9Ux0RRC20000000J)n00*G}0000000092|NsC0|NsBG$rcY;Be|+Sf&~QI zKacsF)DBnx00000000000001ZoUK$%PvbBUy;tggu;9{4$YHPBWkppgKw@_#g1Aqd zX=-pB%XUbkYXAE>-w8@p3hPT#kLS&sHy;YvD?~^V9Z|z$kd`w;li(!=MR5nQ5@;6F z$#lYFm1s*|;0%N$Dw9c!JL(3a}Wi1;!}tryb4dp3flCV@ypc0UZc( zEL82|^POze2GclI5dn zb!LJ)>plk@4vKd??j4vX;G(b7GiVNhtGsoF#n-U!+%o86FVh_t9CS{$&a(Kh;4P;Q zWnWIuC;G+_{tYqq3Hw&N;UdyqkFhX8LB_C zb{~^yPV81EnQN!_Tla$8ONZq+ms0fa-OxlJmW-h>?R{VM{xTuef+1H#Vm7eM=Dk*` z*ARr^1DCI*e8V+HH#&)z-CmqU7sHJ~OV#FI2JHsxe<8Mo90Am5Q!Q)Urk~oHPA9I! J{{UCqiUGtkAQ}Jw literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_function.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_function.java.i new file mode 100644 index 0000000000000000000000000000000000000000..c863a971a8758c8d51270d3dfce4afb3ef63f08f GIT binary patch literal 388 zcmZQzWME`~fKnh;0%bG&hk^u)r*GG6dz$Q1$gMHOXIEs5;QpyFH6XgQATc>RF+Eiw zzbIX=I5RgfuOu_MST8>*D>t#gnwN{0tDrO~Co@?gGp{7IC@nELRl(D(G%vX%Ge6J9 zMMojXPNABYi!(?eJ+(x`MIkjOH8(Y{L{p(8qbR?;Siv{3pdd3Z-L)b)wE(0AXksld z7uW$H=Q1$#GcYh}fmsX;OduNM?oF;NKayW>&uW;rUC`&m{K=e7_llruz*NPYMviS-H}6=1H#1rIjaDXa20@`so?D@}w%4s${3aB8~lfA`Y5w zT%cgAe|M{rC^xP)7%Tc}tx rC+3Yv%%@^uylx literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_link_type.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_link_type.java.i new file mode 100644 index 0000000000000000000000000000000000000000..887f875f334e49879d79b778afe76f10200226a8 GIT binary patch literal 504 zcmZQzWME`~fRhXij8#xJ!+$7u3wXwKQ*DZaccMng+K(&xCT+|~;q}$rSsi5M=`6na+VA)EqCD(9ERo5< zmJ21?Z#~JIzhTXu&warsv;M!Uy}qU8@8qPLYoE=S<<4u;yhmF)*7n}ijnWnj-4p8) z6mHmUmbtf&i&3_B$@&eo2ZJJ#toc~(-_u>ED=_6k#$4e|Ic#1k+x~oZu4%cR=YP;4 zP|5cQ^9{ex>8+l-E!nh=Me0?H3IEs5dmnWA_HX-Jx10X$t3Frr=^c+=XuAp6Q@|hq zg7pjxOs!xRkO87WVNtVXD|cU$-uK5d82_GSx^VPk=OJUL8ZcEcC%4y^>yUwf+v7`4 z{R%a&^=@f%I%T;@&+=2S{~~ekr1MU*Ox=jW2hqImZ559=>sXfrV6BbUiSTNact4?x)wc(s6)@#pK9ZmoFZiCO3-%&NH(ZR5^+&6FD%)DLJm_Or+K$}%&MTN?V+-7?5 zslxhZI+;#HRcqtm6Rt69oRHbQmXdNOw7S`|`UkoGwjpe>$esv`cLwY7=Fl@%Hzub8 zkNjnXqZVg6nO$8?CvXLGVA{1%E6BC7!a56j35BjuD7Zkd7;HJ zQsf|%BeO)N`{6NZ@Q<$v@F&*Af3Dz(Tw^$UmaI*k^>kb5GMGylb*{-ItG6mF;rSMGX>=8pK!*#o)KQtme|U~=+c~%cj`0vkU0mKA z(>C_dSCTe@eKlo=aEF8)*5J6Xqne$h@9$yCgSt2l!;7IM%D#A&ya&JYuz>wa|@aJ+UZw^FS+`^=sS#<((Jzd~RzfB|6xU zp)Dg06bThPw?UvLWY;0GXR$BZv0Piz?{#I|ni_NK$gsL(WTQ70k|DhP>^&x)7>D&8 zCjClzM<9FE9cgunyd&6eqi)-iabs-D?#w(_*}g6GMcn6d%w08H0kIqym7lc^&(GX~ zr1l4&9vHdV4rPh!)(ggY#^n6GU9?@45Z=ac$K7owjiIHyE{kNDrzO!b7s{W{^p3Mh zi3Oa4sm%SwWKBvCAG=TypRPshByLN)Ta`qxynB662zCiUY^HhJ7uNK+@+N zbv}}m!z_X{drrC%Eq61i&V|O**IKl8_n00zYx)jQ8J6fYCSgxU2c3zu21+9^ED1{auS;Nm<(VMVP|vaK#A>((xCLu;f!yxeiU6 zf@g|}eDMcl(fGb>AM)>NjdZ77Ncdp6Ps}*_L%+A}nM&_mM7|5%zc2S>e(KHcODfN! zrAvN$Bt<4%$#y6YUXu5E2TxXV&tDVL#fQ-kU5uB?onAS1Z-ni}{jL@EofZ7w>EwSf z8;*hi00004XaE2J003+N01=k}000000006200030|NsA>cw3Avw6ULWcDgi^R#Xmf zsj!d$00000000000001ZoMT{Mh+u$V)y&+2{Gt+t{GxQd;>_H{ypqi1V!f0kJ(tYl zg8bsdq?}Z1UM>a(CTk!DX)q`#P0GnkR>;gNNi9lCOioqs^i3=%$jnPuNUbPI%}Xg( WKxkE{2I&=yf?x(FUM>Jbq9J;es*v9R literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_mapping_listener.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_mapping_listener.java.i new file mode 100644 index 0000000000000000000000000000000000000000..2ed4cfc58f7a06a3c15f22080ded0c33ba007b34 GIT binary patch literal 419 zcmZQzWME`~fNUUD1!Xh*hXTQOOWtwi=a&Tx-0d9{v54-Eo2D z{ny2X9NV|_PQFl^Se{Y2fIl#^LqTAd=zJK)VUHr;b`<(r#$^9?|82LI(sdyXXBRQ#IDrzdw$bWyK^qpMTVv} za#??Dyn5J5Io&c)V7ghLfKKV$7fb7Yhlw~puFCN=eWZ{R{K0bGwA6_Wv-{;dj1L}P zxnbG1)aHeWt>x1a=PW()e41`{!1}A*(oh;ST_S{I~#NyXKwe)^{YrCOn hF+*hK^AlH||F~$Y-~A_j{=6@T>eqf|O7G810RW*Au=W4| literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_mapping_rule.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_i_mapping_rule.java.i new file mode 100644 index 0000000000000000000000000000000000000000..f174b463fb94cf17cf3a8af01b33d8caf21484bd GIT binary patch literal 632 zcmZQzWME_f1IGId46L0HHUqj#Kv$rs{|ZRS#`Smvv76(SOX$)oG7edd~99>xr5hl$NXf zOZ#*7d3;h}&9Qk03hrC245-$O$u8sPdRrQ7zBT09hWIt*yUV<9>`mTs_^WEKaU*N& zgqoz6neQ%NnSFKD%0$-njfXupnDaDSI;4wu@vg8=xN=dicZo+e`w12w<*HW)q!mP% zCF}*ZPmsQw@WJ`bC%LVB9~>u5I``khd-k$ziRNC6LDi3JxtexYZwY%Mg%oexKacoUnV!(@l1_ z>to{17>C*$mhL>cQ*$!^n#VgD9sHP|d=9%2$P;vQ_na*UOjcQo|7tvY@ZiT8dHcCG zc`|NJGQMk4y45&M<;wBKdnwA{>9-cdAHI8gLGd(w`*(6ltFmV_)=n+5v7h#FZQ>;H zg?k$AN1Tobmt2(P86f#6wc(V;?UlDV<@@53J^jDdl&q?M`pkcixbA!T8kxHKNyo)`Hn*^?>`OXp&^H3<;w(sx1|AKcJ zqnjq&QrheuShkbn>b+#0wHw=Nc|7Z1l!oSTzTVxkQTzX{lZhUEY8Q$&ZeSDJ(EVgb z;;99)j^~RQYI`3`NeNgneSP9-!hFs2>HZ%>!<-66&@?FE|fbit!Yvk24 zGks-N&6C}rv6M~r;IEH=b{ET5wwPz@UE^Q;^79MJo%7p#i=}NgtvPpZ`u(R1_O|Uj zI_FIm&%8s1hs7(uKGM))*Q`&>4~&|1adwu!-~Yo^+n)(9672sE_B}AHfFOl|fyn_# zg8&nV00r84)fFICQO7Adm0?4a#<&3o}d{kfG_HyH2*>}RwTU#(`b zGP=WMx7|s7-@`{|)pjY~lZjb$jWJKPbkg7S`?FG3@@}2P)Z&!3L-K{Vw0>0OCEml| zPgl>^-srb)fqFu}p|Q>qH`Y@w>1yhMwv!%r)a|fp7rwEc@6_SUNV)TASGQ>OpW3nR zdGomk|1OuCysMqm(yVGO<(~6tqj3H6_V>cYGB4!rd^bK6CCI_!6I~>I;li)=Kk}pM z1#V8w(Dsn+a literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_mappings.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/_mappings.java.i new file mode 100644 index 0000000000000000000000000000000000000000..cd776103fe7b06f9194ecea30dd174d7a536c7fb GIT binary patch literal 751 zcmZQzWME_f14cOp2F3>vHUq~m8!WHH_EN}`gi)#4>40iSLS}0`2T41L7(a)0$XMq?aZFFs)fz3=TLL&){8aF zt1G@KAH38R_huXxi+kbfbjhU1(&>3jGsV z`PbNY{P&30s@6#PnjPY#=uq(L*M(L&&)x^JAJ!yX5`S9O(H0r$bL`TO&UMLz|gOlw-CUaz?QCs!Uj`Y@}u=kyaA?Y2$|NFZD9ctUY^2&o$EdQq`vK zx);@A?e8srle@X%gt^9|N2f3lf3;78wj-V?hbh+n|3qo!8$?j z8zEZS4r`Wo&X)KocvCo_HKKs0?^v$H@k|%Ntc^ySo>cyecjMS7c5~g9+**YX3#SD} zmn=E0@%P!yB<-8&PZnRE%C}18t?Vr8oanc&UcYqd*v!98U-6uM_qN*-u}&&aY9e?8 z1K3)Z%ri0Fw|Hyc5*hpR-~RpH6ey2zbe& z{xL@xSMT-9nxIgYd#m-to-^yz&Hh!~V9Q^a}io(~nq@sGM Z{JR?)|NdC|>-YjVcAkCU@^9`MSD%Dk|DN`3 z3$OX%X#QYn$N8B@Z=bP~+G6*1cJ5Iz&MMBE7Sev#qqk{K|LlKs*4c$~COue}>ovh? brp6!19SYjBzp;EhFRZ*Wmw1_bL!zRTkSWVY24=}@!CT9CRE|`XOZ)N^E_|2v@!$OS3wAa+CGMTn z{O;g{Jhsf&+t}3)N_acmnx*)#$M~-GYtJnPjc*RDV4V=zZY#Aat^H(qq!O#dy875e z>$_*{OIYI+ZPS;%Px*3D@$}_|r@lwZT+kNKEj#Ty@9njX56<+KK2W;ac47WP$Bkbf i=(TR=vpxIh*v(fSanh=4FWh<_efV+iCi8>`r5^y00c~Ia literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_graph_type.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_graph_type.java.i new file mode 100644 index 0000000000000000000000000000000000000000..0d6119bb7dfde9c27b1957ac4725d1ba4cdeb109 GIT binary patch literal 411 zcmZQzWME`~fXxgHjGj<7<9{ev{rH95LLNckDe7CVTGSY=Kkf9tAF2jSRm|x#o23<9uB}1bZ0{Anf8IX^dcMm@PD)F!+|;~L|i zpNU7NZoWFNX`7eNh5i{!K0fc=Z0#_mgd6N`pl5*~1L);7U={-d6Nm=+`b&6_u|`&M z$ZR)H14}pAn`~Pbt3lO(sfszt2?;w6F&sSkD=KPF3|AD_LDrQgXJ*b^d6Y|4awV7M z&z+q!E4fssvaWQfOX7?$uvFi;BSO(~{|b$*I~45oSy!0E`!lY&t+;WEit>JsgUW{b a>q8Fe8=IPM-tk1*!)yL@ZU#wJB~bte4yLdG literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_related_element.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_related_element.java.i new file mode 100644 index 0000000000000000000000000000000000000000..eda3224649fa72e5ff9b9127350af12d8462728d GIT binary patch literal 292 zcmZQzWME`~fF}$LOcGEw(|;&%-|ScT{`D@=pk~Wn;d63-yNr&{gsK5k6?1wgoX$FI zAmDmk^o9JE60^_DH&X&u%wTZt=*dae@YYfIoJ2|5svZ*EAPB=NyVeD zqL=+#$oltLVTApbZmwD@lgaB_^6uWdzwdmVXWqJbytfiHOLcp1M=c67GkE&S`&E(q cUa!K>XKu1B?t9^uCHD26x#qb&+YZhH0M~tissI20 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_related_elements.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_related_elements.java.i new file mode 100644 index 0000000000000000000000000000000000000000..7d03907a4e2c47d3e8f059cc9b89f12dacf67ea4 GIT binary patch literal 293 zcmZQzWME`~fTs)$Owv#`(|;(iFHz-jy)|L^t(8$L?+F-96K*N`3snQAD(3V~IGuIa zK*067=nMHRC1#(QZ>9v!X1f&>^PE}jl#9ky?o1hurT^u=Iu<$ym#fb({(dgd>2Fh8 z$Qib-uM#(2F%?#Sn8D!O(UX&`;jOu3gWb_HuNvH0+7J3LWXM)>*~}5r{jXO2i0j(* z`kl*Ptg$)bpx z{@RwQw`ak98@|`=Wq}L*JJUW*zp(c9@7v#R>YqIOb+@Cn&eC^F3!|g2oMKxR)9V?l dvoc&WZ=U7tge!t~JcK{rDf>Hng literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_related_value.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/_related_value.java.i new file mode 100644 index 0000000000000000000000000000000000000000..0e093790786a1e9b81f87047d315bcf2e7befbd9 GIT binary patch literal 364 zcmZQzWME_f14bPN2BsDWn}O*+6bQ+O|17b6BVJ+^k*a@6{q(*3d#uCX z7Tw1FwO-4dkGrWq{oc;k?DX75S^E7YA1+NF@tPEi2ZB>wulI3eC9YIHzB_oq&HHD% zEQCM5-oM8>zt=7{;l07OBaaRB*DjH|@@DbEDT{TCuJUJ8ud4DsZEV!F=fzdQ#Zie- zQk%Ypb89Y3)nuKrfp>}TWM)Rk-x8Xv@3V?#CHVjGd17>dhp%B>+va62=gKKvaO$uN zcrw|Fx%kb`i|!Fm4XbWQyz+UpopF|z;eVa=Kf)HTdS|}->)WJBp7L`=7hhiaw5qV! zHo^W)(4U~mm&AfkExPc&nB`1wa@Wq-rj1N-OLp8UGFjL9_(Pyik@fnZJ* Dx4x(% literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_data_type_utils.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_data_type_utils.java.i new file mode 100644 index 0000000000000000000000000000000000000000..645daa4f21d1bd14baf171decf1de62ee85c38d3 GIT binary patch literal 740 zcmZQzWME_f1IA?2Ldl zG4jrzrfkzGkCBN>dak>=qV1c`C6=GwrTuZyt}BdOR<6_aQnh_3rQubUDWkB^i$^ue zDqSVQ$uwZfn`0BpMFov6v#osPn&R)w@jB%7^5>qqh3{;0R&?A_S}E;ic{2R#bH&z= z7bfTUuCZC^{nt=8R?lA6pm_3}pNkczO3qF($!pU8c3<(f&1~DPgt?XZ3Riiw$0ntFXc|kuKfwG!$%c{t(18;x z)v^|yTD!FV!{1BghZ(=9G1xLP6#uDrm9w1`v0nIR45!h>sq2C!ah~t#EZlt1Z}!&P z7CaHZAN|?1Bg4hh?cGN1)Tcqy?6wDN>zy~JIL-Z{WoBY+$~`UFUk57FzkE}$x;kq~ zfSuXfD}4W+)EL*)3hcX>^)fi~y5%SK2PG9#=3Kj0y{hDT?#a5dmC2v>Iqz$6{A|B_ zb?;RF&UHDPw0^2AS#;4Se9B7h?#hKmA~QI(FI>~^+^JXClDyq?-<@|q3K|`g_q83A JziP4dG5~CBMhpM| literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_related_element_rule_factory.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_related_element_rule_factory.java.i new file mode 100644 index 0000000000000000000000000000000000000000..254567d714746ab430c33133ed85abf701daac37 GIT binary patch literal 466 zcmZQzWME_f1I9@V3@j@kYzC(PP#_Ys#C_w%XCfx%E=~I9R_H#Q5cvqI2254VnHn7H zf5sW9_b%we8Otlk`#)tirM*~vS{&*|EmOJC5E-%k3EZnd48w^5_z)TE$GtpWSLb9$CcvGY3Rxs%%=xG*}5TUH?a zgz1Wq=Nci)&Ewas_Vl$-&)&MTYeC`3zO&yRuPt4E_GD;Auw;u=dc~^8fq{BU9vo1O z;y#>KAr!!A(k|Bb<>79%rmVZ?%~N_jR{qT0`S&D)d59+qJF}CR``@je+*-zax;0KJPf;SSEiS3>e8P#TZjFm{Wp*mPIJ_(L z_*@f*2^)K2!fzjbr#qAN-sbxYbTl~*8(5vSlz8pyTq|zUYwgyO%V_`g#;UjCzvC9n F1OP{2(lG!4 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_related_elements_rule_factory.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_related_elements_rule_factory.java.i new file mode 100644 index 0000000000000000000000000000000000000000..272332eb83f5adef3bb8e2e16dbae42acd244f47 GIT binary patch literal 482 zcmZQzWME_f1I9%R3@o=GYzC(PP>}b`?!?D-12-oAe<6O?itkECxj~gcsERpLLr&)% zG7#9K{E@%fXUPeB2G?2+Ek50#Ro|j?&k6a+T5pooSoQ0Ducv}y!vedAPTS3!`zIDZ ziJu{qG1*AlD8#Se^p~2ciRS_|-(KKcs}rqIev4yMbKUy;!jbEGn?=`6^bE=5J|)LD zzuDNqncMTu#!iKqB@C^?lWa3zGK&5!sGk#Wlx~>#DaRn5PcQk!?BIQ;HPu#gAAT9S zyHhX3=-&N1N9vR}i_Q7x{>wpgQmpj4Pp``S;|9}E$s+IG?Z(W;zu9BHj`(VzRtIw8kOzqv4vupN#@p&QY<{N!qDy&*_ zIq2>8Pf2>L?0OfYUVK@+lyRw3Etfjyf&PA$r@Q8_Jt;9U;A=E{zCZhpg+a;|GXySi zNZmi2Zakl(%xS}iYL2|jFUOu&9PAgI^U;?jmi<@C!nnCr3oo`=b69Op)ZXeSe0YL( z50k63#a6cq55ApdKEGSRBho7`{{G`{w)5E59#8Duv_OI9@Qa!Yi*NGH-kuO~vd7Kw V>WSd8i0PkSACJhZ=Puja0|2yM*WCaB literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_related_value_rule_factory.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/factories/_related_value_rule_factory.java.i new file mode 100644 index 0000000000000000000000000000000000000000..16ec90c5404a7c01978fcf8ea9c6d439bcf88ea5 GIT binary patch literal 519 zcmV+i0{Hy^0RRC20000000GAU00mV50000000092|NsC0|NsB!s;(H7=cxSugvc6h zariDqYV3#r00000000000001ZoRw7FZksR^zK@i5IF}$Hzd*LB?bcMe*doz&x6{F# zP-n(Qwn-OFd-vH8g0qq)^#ua^`#GHRL4*7kRs`Bq%!(S76WlUgY-?;7Dy1Ddp_OGD zs- z^1)#9{04@8b85Q6aQna#YNts=c}*SG(uH* zE9n9>9#2jZ9hKg%y+ku!*|H9Kg-MStb&W!uxZHA1)@pMVzfaGet-7%X+hxCV72EjW zP@kB{bv|p_LJAICqO}m$78!t-msFE-7GAl-pCAK%-K=+Hj3}vpJSfM*0B*<|B*)A_ zmBE;G_&JUvgU$#x;hKVbHu@zLcqV=sOvEIE{{t6_g~N(p7Di+E2uXaDMnx?~_V8sv z;RzM1$PGJ58o>;?)+kW)0>`c<B}vl^&MSOD zhu`-NJvkwLJP%Ln&F7GX#80N{eXt4pUTj(_&8FYyBx@hm#n%6_J|+D;Uo(cL{S9gI Jmw)e_$m*J%_!0mB literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/meta/_has_class_rule_factory.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/meta/_has_class_rule_factory.java.i new file mode 100644 index 0000000000000000000000000000000000000000..2d83ad8f360ac185191ba65fe62f0c293072c0d3 GIT binary patch literal 291 zcmZQzWME`~fX56BjEA6XrvFgTea}hS-0JY`ugIAm6%5F1GfvN#h6?1y~eZ3Dm z2(-O#{L5eLqxYFz>#u{-vxKNaRUcF?TkuAI@4oA6*zy1FQdZ8;E0(t~)`&3D6g z+osADt9fEup1#Syv*m4AUdra&`A;veTjwBBcjvitg!XKU6y3wNN3*r}bTfUL^Le)D chv;qlTz-V*bE;obo*w${r(&1?Z{7Kt0C?hu#Q*>R literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/meta/_has_field_rule_factory.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/meta/_has_field_rule_factory.java.i new file mode 100644 index 0000000000000000000000000000000000000000..ef039275ba1256f1375d4a557422d67c051b400e GIT binary patch literal 293 zcmZQzWME`~fTs)$jEA6XrvFedZOfruypwkcTw)-Y%ABAyf^Rs+iN;@9TZo zL7?q@<6r(_AHC1)T3cO%&MeI2e0^}T&t=1$yZUA3M-~2+i*pODT2U<3mR@o1dhmZI z=4NhYx6~7ASKUk6CoA@+to5EUWwRi!dQ^v#$f*i(p*b&nR-EKB=E^?XmOE+k^P}%m zj%zko{?^}K9`*II{FWsK1+$L-*%&Ti>Rz+VZl^)w=D;=mvHNoMrl0?Rb^6XdryA}$ zYtPP&O?{!HlfJj`?l$Y4)6TA|oz(w(7gOMmj}zn*m*za0u$AY#$ojP()VNL*FV{Ra eJNm)(99y>^V)>lumz1Z6p8KiS#s9o~-e&+m&V-c! literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/meta/_has_method_rule_factory.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/annotations/meta/_has_method_rule_factory.java.i new file mode 100644 index 0000000000000000000000000000000000000000..936f0c5ce80b0a7dc9ac1fc0a9afd5da53945a36 GIT binary patch literal 294 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 MXat}C0iGp8=#Z%g$N&HU literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_field_accessor.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_field_accessor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..4604978050837dc411dd8a7e01b736f7c0847d7a GIT binary patch literal 397 zcmZQzWME_f14ds42Il<`HUqpL^Nrp7O5c)<|F9@5!(w{ZQ+=;LPTyIB|Rv+kU{rIE?W$7fs3_xk@o z?bV<7g>X#MdKaqe6L6_GIxqX7g==r!wDihlS?QVw!rri6KNK>jU~M2<-THv_$8_VH z{o|AkYoWr?u;an-u4xMA-F!TPy@`jaNEXtddSE75xTM8mCm$L7k+UwmQT3mx^9 lPp4D`AMm?+@y|@Nx9xL!uZw6r`XA48dh@dy_HAwEWdO+xxB~zH literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_functional_property_accessor.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_functional_property_accessor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..33bd59430e2df36e63d32ff9709e4b715b89fab3 GIT binary patch literal 581 zcmV-L0=oSG0RRC20000000IR700yW40000000030|NsC0|Ns9gOw<7F>=%6JaG1mg zE}Ud(AoWxL00000000000001ZoW)d4kJB&^J-br>!yFSS${#32fELgmP*(^oXUCnU zUK~64W0wl`zvISs(k5w_0}_|0@w|C&-t(j_Wj|<*pmbdt-cV^dGo`AY8rqiH2{fza zV!7Z=tF#@VwpIBR>Grdx?S6F&W0cbjZ$Q3lZt*o9{Kc@fT*>l|T3S(qAJfUTuIS?n zZCftubNF)6x=L^cOi*LslauUJq2fWS7PURRXAF%|8a%PU2BkG{f2SJCWh%YdR8Pq4 zTljtABgrRd6g0{VhtE_v{B~%u6DLvqx^6b1D_}~NpR@_Fdv3~vgZ0G(q1bo$>iH<- z*p2gU^Nd>aEe@jvb5Ntr`dfzjYzPdoi;|9DAEH)*{7^`R2U3YWIBgWFui9{ zkkqCB3VCxWTZExMI4&%gCd<7ajwHsq@l>|(vF zcG2Lmd!jddHJnuNN?VkNx&51CCdWZG?gMjLdrOaj{*|5XCOPjY@u%}Q6R`P>JNt`7 TZl&?>J|>d>p8Vqv9&{qCMW+-Y literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_i_domain_accessor.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_i_domain_accessor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..d5ff2ae498d21421ad0e28adc84c339857606691 GIT binary patch literal 251 zcmZQzWME`~fZYrXjCD{p!+$8~?KywVdR_cED}^_!WS4%QsID7P0#gH`E9TUmJI!^- zK%n*E*4BN8bwrowFW_iW(!1kv@T*B*p~=Y>&s9x7-gQ+lPJGAz|EJO{HU?72b!Q k&JIZYrFr}?^n2c!Pw(#EjQ<8wyeE7 z3=?0z7TLLW?MAgFN})b+zANJh*+}9C3d6(q2 z51W=rAK0wtmzNUs;6&$UJ;(K-a=dBR<_dTANZ#U)KFCnsBmDn!ezu*qODH!07)@3g literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_mapped_collection_rule.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_mapped_collection_rule.java.i new file mode 100644 index 0000000000000000000000000000000000000000..4b034c2df18d1b9660085d9e205ddebba0feb219 GIT binary patch literal 708 zcmZQzWME_f1IBj@3~a>^HUqMh-54)w`NNGKj_7>^z@aES)STEJVWbNMNWRT&1rJ3`R(2n(o1#c+?cs^t!QY~YSZ6e zBPC|9&Dj?o+Ioje_4(0m|y(M9%`(Z zZ|R;q<(~i2-wP$p%>!5#oVhAHL#J@<8%6tz(xNXd4_&?R_~^QmJ@HDZ?sG0~KB_YJ z>j^nlSE&yNZ;P(CHAqmn)4F%RUhj*$hb6a)vHIl|FV#vBy0t7pta|!K6Ze332{K~q zE7%vOE_hNs`>?wH$94Rr?6scyC+dB6F;!oAwNbw7=Z%tgjn`5aKRB~WZ2G%PLb);* z(&r`anep2}zxDT3Vb7Wv=c9KWO&;wx^mE(w-s|{1-d>wMFQ2N^U0*9%d8$jP?E0aV z$`$^?nOoLQ>y`+1mU#7fQL*v1Cz66?kHz}!rx+YK_-MjuZB~n~^&JHl8;h1QpZjv* zrsk5F@6?;W%;=V2H=F(>BmDfNmYY>tKC%Hn9S(Pzba%#_ob=Cp%5(c;N&3;C7zd>j zAP57dmgis=PzXeW5{zq)n&P1?tpBI)2<0^`>N->7=XMgR2254VNlr-MNn%KDn{?(* z)1O5`t$!Ak?0t0R&XGNn&OAxl`)A3TJ4cxIF1j@5O48mbf9@PPV`J+tZt!--oH@^h%tyzh{g z_Ztkb3${f700000000000001ZoV8RO0JttEB!yEx2@4f67QnxKqw<~dI&y!>} zm?n1Q54PK?f4k>8jsrU^WK{=HD=$jAdsqHnpY?c&oqYmdd~ucgU>aC0iP9DEJJQlC2=&0_PX1m+aR$QT{H~y`YGMIm~LAG{W|vzijK5Q zF6}pW)_R{yT2C889l&gOw?5rD+#Guvln>Zk_1IWb_`6x5=Ewchj+Ej#9o(i;mV^Rq zoui@F=;UzcpqRt{Vg(CxI0WE!#kr26sCyOUhWO^tLRwkj<!34ssit4H&FBWrhK LUEY5I2y;v#g?ugK literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_mapped_elements_rule.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_mapped_elements_rule.java.i new file mode 100644 index 0000000000000000000000000000000000000000..ad700a0ebf29b5dfeab98e04181b83e729f8bdc3 GIT binary patch literal 679 zcmV;Y0$BY30RRC20000000L(K00*`J0000000092|NsC0|NsALiMgYOjukjcSQPOt zH@~1c()HE=00000000000001ZoV`@fZ__XoJ||NDhj&b;%DdAtt%3oS7?XN{vy;50 zE{Pr4PRoY)w>e`ccIu>E**FkYN)^BN`TOzgnr7c=fgof-6ssuLEK@|JyNcFCHYKY0 zB%Z{qs)f|BqkBpk%}TPAl0JTBO3%+Mz7u7MnP!5A&BHD7l&q2FA0@4~^Gh{KG%~{r zCEp~|coE0RS$$}@XLYgep4K(v#oEaKOR1~8`;lS&0_4_El8cHmPFC;R_cF^+DIs6f zDk(3Jtk(7wG*05{tE)*2SFi+I2zpC3s7Ib{rQqxd6=Z!TAU1#{R>-x26!ig-x4j)N zpgf0mAE0grMc~diP>Epp)R@CYimGjNAg2I%BaJ(T4F+VWB|+N8TiWQYkno9e-oO`z zm6@pDcIkQ&*G*co46>3c1^4Zio`p>Yj9Z>mm>B$=#L>vx#c?7Rexhz}9N)mlXy|O% z_K@z(Khq>f-bd!=sGgEc{)NcQAV#mIGHr!NddvKT`4xD3Mrl_#KrnSD;(poTif$kF zC?(7Bs5KR$M9QJ5bE>gZnH-NI6f@}0n`1nKUa}pbPNx6lC_3|I(6w}g+{bC#pv@E= zx`7B!UaKC=b7~aqY1!ad9Vt*J1NgZ^=ZD34kuELCh|;{ N=C(0;{sAhLpw_kiOZ5N% literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_value_rule.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/_value_rule.java.i new file mode 100644 index 0000000000000000000000000000000000000000..26ebb8454c038ad70efec7c48c99551572deee62 GIT binary patch literal 757 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 tembu)SjnS<^OG4G=5qB_6Ik5#XWLE2HXGu literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_related_objects_accessor.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_related_objects_accessor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..cfff87cac49234e5c82b2f861827addffff3f05e GIT binary patch literal 633 zcmZQzWME_f1IA7U1{M_vn}P8^6dYB_m+9PSJE4~6z1y9^Li4K8;D+o?S0g#QOgH zyIfb9#aPaXPb%#+%Q$)|^|g@p%WP+z;_yY=*e{)vgQlKpe#@VakZbs0OqT3yJu__Ab0mdHs~wlfo6uG#i&#jh|At^)379qM1}Cr?g_>q@08u5pOQN^8T#2pfdl%3ywIc zl#B5V`3cod7Y+N0Rjd0ivH5mvxTN#j+Tu@#W?cD>n?SksAV&ym#^n$uD=?F(b+3QcHnFo8JYI#}*2YCJEhr8K5@Dsd~X#eKkv; zO;ak{qt3_d*u?dD`RmPlA~zNqP7U*~E#DTqGj~VSTI;;l?84grnNscY49nDx0014C B6TJWc literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_related_value_accessor.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/domain/_related_value_accessor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..3b53a30579a1ed4e35912b3d3ef9ad2117a7977b GIT binary patch literal 643 zcmV-}0(|`d0RRC20000000Kh*00$EQ0000000092|NsC0|NsAyoe3Ff6ADun#k^L! zpap@0G#RA;00000000000001ZoW)d6Z<{a_KRZ&s!#hHS=m*F$wNt09hb>bzb!TH< zz@0J7f6_%$zV^;DHjo5py2GSh5ZLei{`r}PvhTD&s8x|_UQuZ{(`lVORkTT!6{yp^ zt|*tQ~pB?7a}ajYjQjkXDG;?-GT^D(P23eYfB#e7@)H0rdck8dgFy z8D8iUCf+1Se4hA>dX$hRnU6E8Yk^dPc6lDJ)LfuRAH7!^AKCwR#2v{{Fv`BqdP{}I z07a%cT!Q^~)De;*bvKV!=d?)>{myb>xYSXc-b-z$WVqQT&{2}(O&DQK+$At`@52)n?ojtBW*Vi%qrz9JqGw!X4)$`?MU&5 dbte;Q;|pi@7l~X-XT zo>SYJ#aD0Udb`azB=fn&YV!=vmz(vvH*JXJ@yzJ9oziU1b&tLA#)GSuOJ%+Pv#pQb znzTlovoQGn^$+dOEL!$CTu}P_`u)>+ubb}Z2rmAbc6BkoMB#O-)hDYSUNKM1nkQTI z@8|jRM_;VgSuua()RH6)|8*Nuw04OuiGJJFw&&%WiCYeT{Nb?4^WlV-_Md_yYnU}z Gno|MA<9{Lm literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/factory/_i_field_rule_factory.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/factory/_i_field_rule_factory.java.i new file mode 100644 index 0000000000000000000000000000000000000000..cfa5d1bbc8601b7089c049ea90428c786ea2e7ab GIT binary patch literal 273 zcmZQzWME`~fQt+ajQvnH(|;&9#4v+d>&2bV(mQU-od2$D^X|cgpHMYms$x!QfakhH z20VAeU&-!a;rz)It7zE4DxLRWSsup{&nFW9+&gv$pZd=uRFN1dckh8qn*TJ#uA^_P zxL)}ji+FG4rNMq)GTKP$X~L(xUG)bPQVz%Y5S*68zYg%59- zua9_t#XgcV_kWgseV(~>*_4;E_s0LrcTd~i^v-qS?`LLi_vSwN`9_&Xx69^lZr;W^=e6c1EM4}`J#^OW(?Z#% z#R9%1r?j@j+5BUeH~r0*$Z(UZs?+Ci`MmSXJGuVFA7-oiG}ms0-s0WruTA%g?t1oT N^}2nGo1-T%007#Hen0>K literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/range/_field_accessor.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/rules/range/_field_accessor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..a658a9dc77af836c5e21cef6dcb09e58f4674303 GIT binary patch literal 615 zcmZQzWME_f1IAzm2If5wHUr~-C|E7D@JF^-jO2l-im&oZ8eCYno!bso1EwnGoSo?C zci2F{^?KhF>oZ0Zwc-~vykJ_Q7oZxlvHXtbt4B8ybG9p7**)1JQ(7aWLsUC@-p}{_ z|4p3iy15Pp9i6+X^`n%k{&dez<<}6+Ply{3ouc_4ggnu{A8tUy^ z&e_eS(f=>!L9J5i;&nEsX2feBf6N>s|1?KlaC^6|&`QyH1>P$zq<1G>{wKCUUXy*l z+V0{HU*nsZ_kI<3d%-MuVp^riBiUC6Uc}s#Tk@fZ_hwA?nwEKiqPt#ob{xK;6V-I^ z?#%2q`vXZF_0F+fOE!cpHh6HZY37!~+*ZCHuUpvm^0=)1xAL;wwW4`q!Kr5Np8ODM zDT~aXd3>7lv()GVaaS+j=`@pUo6|S_iROd<_c^^MfBVDmo7Yqt6t1Ai0D>tD3@oN# z76Stlhz7;V>)h4KL5)du68t=`XMR>sQ`)!Z7E}$Gs+g0UkdTqm@IawfS2s?NRhRYn zlP6amJ-U+AI;kh5^~;$}S8Q6hoVhYbr1g)_$s zRyM__W#y$6o;05@#ZF(GnfbDt!agRGyWNu~8yov7@7%J2V}-en;c}DEgV(|o*PE!j jAB?Ja@lutXc4=akHL-e&{=1wQI)ulO&9{$Zu=m%bVf$?|J;SJ&a-6;cj3T zg1p7RkjcQn7z$=FFff5=kpEP>(vAhaW@Fw{F0KxMEyFvJdEnIO9g`NJfC*HNp?0j%E*j@MEtH{_oM#!o@3s;%kSLk+PFci|E;_8{kPxh<-Gxt CrJ9Za literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/schema/_mapping_schemas.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/schema/_mapping_schemas.java.i new file mode 100644 index 0000000000000000000000000000000000000000..e93d826f598a986ff7678b5ed090f5a3d7f10936 GIT binary patch literal 1005 zcmVTU6Yyo!|l$=WW>G!3WZXbfi9A^d&RzX z1oC4fIW%NgHNRa?upl#}!B;`E<#e|V{_-)iC0$WP7gXYxa%9)40;$`3nq@4B zW;w?fOl#mIu?c-&XNRnrA*Tw1pOoi^EQ?W5azo`Mr&5|Uuc@z6vHk}amdUrda9nTu z7!Hod=YUKEYg9$MKFOkA^BRx(FamKrIm(#Q}3e z5nEy60+Pz(xmt?!Ny4obYee~l@1vBJx}a;9NM&HOuKVmHB2@C(9&Re6oY6=e6;Mcr zZmX(Lq;b8GrC042h$dh~bMooTRQ3Ekf+ESzE}87ed$Ox;&A^e#uc`#1s(0$5kqA|t zm{(a6i|}Y#cqm@gQE}4Tl4l_FQ)-un&mA^i<;!q}?AEJFCo4mpHyTY!!W(TndJ%e~e;tNbDGT=2vWH{+U7f3a zP`2n+rbni9u?Jn#)b=IpQEJ-lsiqHtw;yYY7{*l-J|A)?m{m3%xSp z2d%iA^G=plDh5YFgP^o7X(w7e4ntpmbr+V6`1Y7GlB`oN7I?g|X-R3FYEks2LKC0lUxl*n;3ZF+u*(C}q43qso$&R#+fCbjLopVR}0eHU^~ z+d**HA=k9c>-l!KFT{O>ySY9x;x{uMznbyR|AY6XyyO1A=R7`~^WvrN1^xUBHPo&G z000000{H*{0001V000bt000000000400000|NsC0Bf-vGURy!{q6-WqjqkEU-m@#l z000000000000000c${NkU~6LlV}===3P9kTlUQ7AV{fNWTw0J?lnml2*eU?&sw%zo z)RJJhsD`FBFBe!#W|{_)VnthpywaQ;O{gRYBC b=I0e_r0XErq@z#-QUf;`1bDdsIGZogOC-;j literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/schema/_schemas.java.i b/org.simantics.objmap/.hg/store/data/src/org/simantics/objmap/schema/_schemas.java.i new file mode 100644 index 0000000000000000000000000000000000000000..7eb4f9eb9185c6cc89a737bf0fcc6c869e756cd1 GIT binary patch literal 531 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 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/store/fncache b/org.simantics.objmap/.hg/store/fncache new file mode 100644 index 00000000..ac6cd9f1 --- /dev/null +++ b/org.simantics.objmap/.hg/store/fncache @@ -0,0 +1,63 @@ +data/.classpath.i +data/.hgignore.i +data/.project.i +data/.settings/org.eclipse.jdt.core.prefs.i +data/META-INF/MANIFEST.MF.i +data/build.properties.i +data/doc/bidirectionalModel.graphml.i +data/doc/bidirectionalModel.png.i +data/doc/main.mediawiki.i +data/doc/manual.mediawiki.i +data/doc/objectMappingTerminology.graphml.i +data/doc/objectMappingTerminology.png.i +data/doc/triangleModel.graphml.i +data/doc/triangleModel.png.i +data/src/org/simantics/objmap/IFunction.java.i +data/src/org/simantics/objmap/ILinkType.java.i +data/src/org/simantics/objmap/IMapping.java.i +data/src/org/simantics/objmap/IMappingListener.java.i +data/src/org/simantics/objmap/IMappingRule.java.i +data/src/org/simantics/objmap/IMappingSchema.java.i +data/src/org/simantics/objmap/MappingException.java.i +data/src/org/simantics/objmap/Mappings.java.i +data/src/org/simantics/objmap/impl/Link.java.i +data/src/org/simantics/objmap/impl/Mapping.java.i +data/src/org/simantics/objmap/rules/FieldAccessor.java.i +data/src/org/simantics/objmap/rules/FunctionalPropertyAccessor.java.i +data/src/org/simantics/objmap/rules/IDomainAccessor.java.i +data/src/org/simantics/objmap/rules/IRangeAccessor.java.i +data/src/org/simantics/objmap/rules/MappedCollectionRule.java.i +data/src/org/simantics/objmap/rules/ValueRule.java.i +data/src/org/simantics/objmap/schema/SimpleLinkType.java.i +data/src/org/simantics/objmap/schema/SimpleSchema.java.i +data/src/org/simantics/objmap/annotations/GraphProperty.java.i +data/src/org/simantics/objmap/annotations/GraphType.java.i +data/src/org/simantics/objmap/rules/domain/FunctionalPropertyAccessor.java.i +data/src/org/simantics/objmap/rules/domain/IDomainAccessor.java.i +data/src/org/simantics/objmap/rules/domain/MappingUtils.java.i +data/src/org/simantics/objmap/rules/domain/RelatedObjectsAccessor.java.i +data/src/org/simantics/objmap/rules/range/FieldAccessor.java.i +data/src/org/simantics/objmap/rules/range/IRangeAccessor.java.i +data/src/org/simantics/objmap/schema/Schemas.java.i +data/examples/org/simantics/objmap/examples/SysdynExample.java.i +data/src/org/simantics/objmap/annotations/Composition.java.i +data/src/org/simantics/objmap/annotations/RelatedElement.java.i +data/src/org/simantics/objmap/annotations/RelatedElements.java.i +data/src/org/simantics/objmap/annotations/RelatedValue.java.i +data/src/org/simantics/objmap/annotations/factories/DataTypeUtils.java.i +data/src/org/simantics/objmap/annotations/factories/RelatedElementRuleFactory.java.i +data/src/org/simantics/objmap/annotations/factories/RelatedElementsRuleFactory.java.i +data/src/org/simantics/objmap/annotations/factories/RelatedValueRuleFactory.java.i +data/src/org/simantics/objmap/annotations/meta/HasClassRuleFactory.java.i +data/src/org/simantics/objmap/annotations/meta/HasFieldRuleFactory.java.i +data/src/org/simantics/objmap/annotations/meta/HasMethodRuleFactory.java.i +data/src/org/simantics/objmap/impl/RangeUpdateRequest.java.i +data/src/org/simantics/objmap/impl/UnidirectionalMapping.java.i +data/src/org/simantics/objmap/rules/MappedElementRule.java.i +data/src/org/simantics/objmap/rules/MappedElementsRule.java.i +data/src/org/simantics/objmap/rules/domain/RelatedObjectAccessor.java.i +data/src/org/simantics/objmap/rules/domain/RelatedValueAccessor.java.i +data/src/org/simantics/objmap/rules/factory/IClassRuleFactory.java.i +data/src/org/simantics/objmap/rules/factory/IFieldRuleFactory.java.i +data/src/org/simantics/objmap/rules/factory/IMethodRuleFactory.java.i +data/src/org/simantics/objmap/schema/MappingSchemas.java.i diff --git a/org.simantics.objmap/.hg/store/undo b/org.simantics.objmap/.hg/store/undo new file mode 100644 index 0000000000000000000000000000000000000000..6ab3f014093831ac946b2cd33ed964a9617701e5 GIT binary patch literal 103 zcmW;DTMmOD5JurXleiT|h^^g3pSpryq&P+{VMy06`gp$NtY{#qj&cno9FZD3p}g!7 vg~V+>f<7pPQ~2H`ddDA{A8-2{)HwEqe_mRb$=cUNZbJ(G$f28=jTzJlYm^~c literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hg/thgstatus b/org.simantics.objmap/.hg/thgstatus new file mode 100644 index 00000000..d3ea7d0b --- /dev/null +++ b/org.simantics.objmap/.hg/thgstatus @@ -0,0 +1,9 @@ +m +mMETA-INF +mdoc +msrc/org/simantics/objmap +msrc/org/simantics/objmap/impl +msrc/org/simantics/objmap/rules +msrc/org/simantics/objmap/rules/domain +msrc/org/simantics/objmap/rules/range +rsrc/org/simantics/objmap/schema diff --git a/org.simantics.objmap/.hg/undo.branch b/org.simantics.objmap/.hg/undo.branch new file mode 100644 index 00000000..331d858c --- /dev/null +++ b/org.simantics.objmap/.hg/undo.branch @@ -0,0 +1 @@ +default \ No newline at end of file diff --git a/org.simantics.objmap/.hg/undo.dirstate b/org.simantics.objmap/.hg/undo.dirstate new file mode 100644 index 0000000000000000000000000000000000000000..2fdeb7fdd22a343bab0e68ce66529cb6e52a0994 GIT binary patch literal 3529 zcmb7{TWl0n7{_uXBcu6$T7l^2dnD}ChjV2}r4L&G>KAHGpga_e)1Rm{-iQmket!KJ(wxuskbLRV< z@B05vKYDOv%Y66tT_=ux`0DAO*ME2E)R}|1j2|nPJ29Wjt=Wl!^V{J30nJtwd*(1v z{R(y*YU$I&HK}DAw%(K-OJ@dMpP_}hZZNo2c3eC9ymjz03Wwi?qi>Y#;m7wmhXu4D1u_S!^_jd>9|aEzDgg>>mZp<2QpT8pI@)&x88TqJ^Uu z05ljy=DQSIx2vT}g|8l6(REL`*r`u9os`Ri1$NU=`%QXeU>YpA{2wSB z*ax>wuIRQySoLj}lErMXFuiKSAf@=Q$%lN)4=B9%IN(Qxco!@^C8{vd7%hVFl%5(2 zhpqzUX(5F#WSf(5Nd+EuJ%_^H9l#!_6sO0xmM2R}Wqh(+Do#zyl@iNR_d2xj#YOmN zqtF3rI)<{JTC=?4(q$CE<5ZWc-Yqp80rIh!^zsFUTc%JR1P)DE(PXcP^GN>f_ zrc$0TuqUcZeiZ8RBhVgOhUP+#5~W0mp=EmYJ$UszaP|l}d}U1HV`U%qVxFKNg|ATX z%S(WKM2Pg%Ix(>_73G{v#ebwybpaIQcOb|@LYXPbe(L$eBB@Ll)}!E8e+9W=MPsO% zPYsWEqc9Jnr2t1PKS}XZy&qSM$4HYXT=O+x#3RI~c)~Uv+oO@B@s#`r(1~k-GA_(X zsuP(Q9*E`F%PRe*XVAafZvb&bNQ`HKrH6N>>lG;R!(b{Nr*bq(OJz-}K@erI6Dx5N zMAEh8YSg@0zDsXI+r9^&6%SLVj?JA!;X@wKZl7sTLyNYMLtGzJlF3KUn<%*SH+-;L zm@0Adv;0?HN5Q#|0l1;#j!aAa&~dgD?u(3Os777bmCz^HNOn;A^ZY>+t~vmB3=5rR zrA>GJX%uce3ua?v4oC9|yEbd{E}l*`J*{aKlaKi>>DE!W=}sWs5&0YGqihn5;$w7{ zvc&eikAmyBb@Z_{={z}q2Fm{;m{o+K@gvo?Pq;Oewe!AYgCQQZZ2Dg8d{YUf8t3wHLqx zu`Dz9i*qV*mMWMu0;>KFn0FA3Qp1Wnns{PcGx5j`qJP%eaI{LU>r}UFm#~vUKMMZ(7EYcN zI+CT=@#JL5b=O)5>?h!j33+^AZ1=XF)_f02Z?OM$Hpm|FefXa!mRFgm26a4mG;6-B eLLjh%$f4Hyk=}*tKY{Ca39nDWS$sNXr}RJbZ`^GF literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/.hgignore b/org.simantics.objmap/.hgignore new file mode 100644 index 00000000..86c38ae8 --- /dev/null +++ b/org.simantics.objmap/.hgignore @@ -0,0 +1,2 @@ +syntax: regexp +^bin/ \ No newline at end of file diff --git a/org.simantics.objmap/.project b/org.simantics.objmap/.project new file mode 100644 index 00000000..82c191c2 --- /dev/null +++ b/org.simantics.objmap/.project @@ -0,0 +1,28 @@ + + + org.simantics.objmap + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.simantics.objmap/.settings/org.eclipse.jdt.core.prefs b/org.simantics.objmap/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..fc058b8d --- /dev/null +++ b/org.simantics.objmap/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Wed Nov 11 10:38:27 EET 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/org.simantics.objmap/META-INF/MANIFEST.MF b/org.simantics.objmap/META-INF/MANIFEST.MF new file mode 100644 index 00000000..c4e2f624 --- /dev/null +++ b/org.simantics.objmap/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Objmap +Bundle-SymbolicName: org.simantics.objmap +Bundle-Version: 0.1.0 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Require-Bundle: org.simantics.db;bundle-version="0.6.2", + gnu.trove2;bundle-version="2.0.4", + org.simantics.layer0.utils;bundle-version="0.6.2" +Export-Package: org.simantics.objmap, + org.simantics.objmap.annotations, + org.simantics.objmap.annotations.meta, + org.simantics.objmap.rules, + org.simantics.objmap.rules.domain, + org.simantics.objmap.rules.factory, + org.simantics.objmap.rules.range, + org.simantics.objmap.schema diff --git a/org.simantics.objmap/build.properties b/org.simantics.objmap/build.properties new file mode 100644 index 00000000..98921497 --- /dev/null +++ b/org.simantics.objmap/build.properties @@ -0,0 +1,7 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . +src.includes = doc/,\ + META-INF/,\ + examples/ diff --git a/org.simantics.objmap/doc/bidirectionalModel.graphml b/org.simantics.objmap/doc/bidirectionalModel.graphml new file mode 100644 index 00000000..2a52aa11 --- /dev/null +++ b/org.simantics.objmap/doc/bidirectionalModel.graphml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + Intermediate model + + + + + + + + + + + + Database + + + + + + + + + + + + Editor + + + + + + + + + + + + + reads + + + + + + + + + + + + + visualizes + + + + + + + + + + + + + modifies + + + + + + + + + + + + + writes + + + + + + + + + diff --git a/org.simantics.objmap/doc/bidirectionalModel.png b/org.simantics.objmap/doc/bidirectionalModel.png new file mode 100644 index 0000000000000000000000000000000000000000..77bcc302bf1e551dad8ab7808a409ea659e905db GIT binary patch literal 5101 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 P1fx(_(NRV}gogbe5_org.simantics.objmap-plugin tries to make the implementation of bidirectional model easier by providing a framework for defining declaratively the update procedure between database and intermediate model. It can also be used with triangle model only for one direction or with hybrid model where some operations are implemented using the intermediate model and other modifying the database directly. + += Design principles = + +; Symmetric +: For every operation from database to Java objects there is a corresponding operation from Java objects to database. This makes the framework easier to learn and undestand. +; Non-intrusive +: The Java objects used with the framework do not need to implement any specific interface or follow some specific naming convention. The mapping schema can be defined using annotations or separately from the class definition. +; Support for different use scenarios +:* bidirectional / unidirectional +:* one shot / continuous +:* automatic listening / manual updating +; One-to-one +: For every resource there is a single corresponding Java object and vise versa. This makes the framework easier to understand. It is not a transformation framework. + += Concepts = + +''Mapping'' consists of a set of resources called a ''domain'', a set of Java objects called a ''range'' and a collection of ''links''. Each link is attached to exactly one domain and range element and each domain and range element has at most one link attached to it. Additionally the link has a ''link type'' that contains requirements for the domain and range elements in the same link. + +[[Image:objectMappingTerminology.png]] + +A mapping is ''up-to-date'' if every domain and range element has a link and all links satisfy the requirements of their link types. The links of up-to-date mapping form a bijection from domain to range. + +A ''mapping schema'' associates all domain and range elements with a link type. It is used to add new domain and range elements to the mapping. + += Mapping interface = + +The plugin represents a mapping with interface org.simantics.objmap.IMapping. The interface is symmetric in the sense that every operation on the domain of the mapping has also a counterpart that operates on the range. Typically, if one of the operations requires a read graph, its counterpart requires a write graph. We will describe only the methods operating on the domain of the mapping: + + Set getDomain(); + +Returns the domain of the mapping. All set operations are supported. Adding a new domain element does not automatically create a link to it. Removal of a domain element removes also a link and the target element, but does not remove the element from the database. + + Collection updateDomain(WriteGraph g) throws MappingException; + +Updates all domain elements whose counterpart is modified and creates new domain elements for previously added range elements. Returns the collection of domain elements that were modified or created in the update process. + + Object get(Resource domainElement); + +Returns the counterpart of a domain element or null if the element does not belong to the domain or does not have a link. + + Object map(ReadGraph g, Resource domainElement) throws MappingException; + +A convenience method that adds a domain element to the mapping and immediately updates the mapping and returns the corresponding range element. + + void domainModified(Resource domainElement); + +Tells the mapping that the domain element has been modified. + + boolean isDomainModified(); + +Tells if some domain elements have been modified or added. + + Collection getConflictingDomainElements(); + +Returns a collection of domain elements which have been modified and also their counterparts in the mapping are modified. These elements are in conflict in the sense that the updating domain and range in different orders may produce different results. + + void addMappingListener(IMappingListener listener); + void removeMappingListener(IMappingListener listener); + +Adds or removes a listener for domain and range modifications. + += Defining a mapping schema = + +The primary way for defining a mapping schema is to use Java annotations. The current annotation support is still lacking. Only the following annotations are supported: +; GraphType(uri) +: Specifies the domain type that the class corresponds to. +; RelatedValue(uri) +: Specifies a correspondence between a field and functional property. +; RelatedElement(uri) +: Specifies a correspondence between a field and functional relation +; RelatedElements(uri) +: Specifies a correspondence between a field and a relation. The type of the field has to be a collection. + +== Example == + +Suppose we have the following annotated classes: + @GraphType("http://www.simantics.org/Sysdyn#Configuration") + static class Configuration { + @RelatedElements("http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOf") + Collection components; + } + + static abstract class Component { + } + + @GraphType("http://www.simantics.org/Sysdyn#Dependency") + static class Dependency extends Component { + @RelatedElement("http://www.simantics.org/Sysdyn#HasTail") + Variable tail; + @RelatedElement("http://www.simantics.org/Sysdyn#HasHead") + Auxiliary head; + } + + static abstract class Variable extends Component { + @RelatedValue("http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasName") + String name; + } + + @GraphType("http://www.simantics.org/Sysdyn#Auxiliary") + static class Auxiliary extends Variable { + } + +Them the schema can be defined as follows: + SimpleSchema schema = new SimpleSchema(); + schema.addLinkType(MappingSchemas.fromAnnotations(g, Configuration.class)); + schema.addLinkType(MappingSchemas.fromAnnotations(g, Dependency.class)); + schema.addLinkType(MappingSchemas.fromAnnotations(g, Auxiliary.class)); + += Using the mapping interface = + +Assume that a mapping scheme scheme has already been defined and modelRoot is the root resource of the model that the editor edits. Then the model is created as follows: + IMapping mapping = Mappings.create(scheme); + in read transaction { + MyModel model = (MyModel)mapping.map(graph, modelRoot); + } + +There are different ways how the mapping can be updated. The following code forces update for all domain elements. + in read transaction { + for(Resource r : mapping.getDomain()) + mapping.domainModified(r); + mapping.updateRange(graph); + } + +If the range elements have some kind of "dirty" flags, the update can be optimized: + in write transaction { + for(Object obj : mapping.getRange()) + if(obj implements MyObject && ((MyObject)obj).isDirty()) + mapping.rangeModified(obj); + mapping.updateDomain(graph); + } + +Often the editor has to update some auxiliary structures when the mapping modifies the range. This can be implemented for example as: + for(Object obj : mapping.updateRange(graph)) + if(obj implements MyObject) + ((MyObject)obj).updateAuxiliary(); + +The most convenient way for updating the target would be to add graph request listeners for each domain element in the mapping. This is not yet implemented although the current interface should support this without modifications. Currently the only way to listen the database changes is to listen the request that is used to call the updateRange-method. + += Development plan = + +By priority: +* Automatic listening of database changes: marks domain elements modified. +* More complete annotations +* Utilizing declarations in ontologies: for example full URIs of relations are not needed because relations are declared in types. Also the validity of annotation can be checked. +* A separate plugin containing only mapping annotations so that the plugin can be used without introducing a dependency to org.simantics.db. +* Composition annotation that can be used to remove elements whose parents are removed or update elements whose parents are marked modified. +* Support for copy-paste and other extra mapping issues. diff --git a/org.simantics.objmap/doc/objectMappingTerminology.graphml b/org.simantics.objmap/doc/objectMappingTerminology.graphml new file mode 100644 index 00000000..c3cc6b27 --- /dev/null +++ b/org.simantics.objmap/doc/objectMappingTerminology.graphml @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + mapping + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + domain element + + + + + + + + + + + link + + + + + + + + + + + range element + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + link type + + + + + + + + + + + + + + + + + + + diff --git a/org.simantics.objmap/doc/objectMappingTerminology.png b/org.simantics.objmap/doc/objectMappingTerminology.png new file mode 100644 index 0000000000000000000000000000000000000000..e9ee1fba6696e2e28fc689da86ab1d455eee75a0 GIT binary patch literal 3645 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 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/doc/triangleModel.graphml b/org.simantics.objmap/doc/triangleModel.graphml new file mode 100644 index 00000000..9ab3b29f --- /dev/null +++ b/org.simantics.objmap/doc/triangleModel.graphml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + Intermediate model + + + + + + + + + + + + Database + + + + + + + + + + + + Editor + + + + + + + + + + + reads + + + + + + + + + + + visualizes + + + + + + + + + + + modifies + + + + + + + + + diff --git a/org.simantics.objmap/doc/triangleModel.png b/org.simantics.objmap/doc/triangleModel.png new file mode 100644 index 0000000000000000000000000000000000000000..0918ef8a549c8af966d7e501f5473143164be2b9 GIT binary patch literal 4545 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 literal 0 HcmV?d00001 diff --git a/org.simantics.objmap/examples/org/simantics/objmap/examples/SysdynExample.java b/org.simantics.objmap/examples/org/simantics/objmap/examples/SysdynExample.java new file mode 100644 index 00000000..57092cb7 --- /dev/null +++ b/org.simantics.objmap/examples/org/simantics/objmap/examples/SysdynExample.java @@ -0,0 +1,51 @@ +package org.simantics.objmap.examples; + +import java.util.Collection; + +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.objmap.IMappingSchema; +import org.simantics.objmap.annotations.GraphType; +import org.simantics.objmap.annotations.RelatedElement; +import org.simantics.objmap.annotations.RelatedElements; +import org.simantics.objmap.annotations.RelatedValue; +import org.simantics.objmap.schema.MappingSchemas; +import org.simantics.objmap.schema.SimpleSchema; + +public class SysdynExample { + + @GraphType("http://www.simantics.org/Sysdyn#Configuration") + static class Configuration { + @RelatedElements("http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOf") + Collection components; + } + + static abstract class Component { + } + + @GraphType("http://www.simantics.org/Sysdyn#Dependency") + static class Dependency extends Component { + @RelatedElement("http://www.simantics.org/Sysdyn#HasTail") + Variable tail; + @RelatedElement("http://www.simantics.org/Sysdyn#HasHead") + Auxiliary head; + } + + static abstract class Variable extends Component { + @RelatedValue("http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasName") + String name; + } + + @GraphType("http://www.simantics.org/Sysdyn#Auxiliary") + static class Auxiliary extends Variable { + } + + public static IMappingSchema createSchema(ReadGraph g) throws DatabaseException, InstantiationException, IllegalAccessException { + SimpleSchema schema = new SimpleSchema(); + schema.addLinkType(MappingSchemas.fromAnnotations(g, Configuration.class)); + schema.addLinkType(MappingSchemas.fromAnnotations(g, Dependency.class)); + schema.addLinkType(MappingSchemas.fromAnnotations(g, Auxiliary.class)); + return schema; + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/IFunction.java b/org.simantics.objmap/src/org/simantics/objmap/IFunction.java new file mode 100644 index 00000000..a2be2908 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/IFunction.java @@ -0,0 +1,13 @@ +package org.simantics.objmap; + +/** + * A generic function object that throws MappingExceptions. + * + * @author Hannu Niemistö + * + * @param Domain of the function + * @param Range of the function + */ +public interface IFunction { + R get(D element) throws MappingException; +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/ILinkType.java b/org.simantics.objmap/src/org/simantics/objmap/ILinkType.java new file mode 100644 index 00000000..db121ad1 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/ILinkType.java @@ -0,0 +1,21 @@ +package org.simantics.objmap; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; + +/** + * Contains rules for how a link should be created and maintained. + * @author Hannu Niemistö + */ +public interface ILinkType extends IMappingRule { + /** + * Creates a domain element based on known range element. + */ + Resource createDomainElement(WriteGraph g, Object rangeElement) throws MappingException; + + /** + * Creates a range element based on known domain element. + */ + Object createRangeElement(ReadGraph g, Resource domainElement) throws MappingException; +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/IMapping.java b/org.simantics.objmap/src/org/simantics/objmap/IMapping.java new file mode 100644 index 00000000..64678b88 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/IMapping.java @@ -0,0 +1,127 @@ +package org.simantics.objmap; + +import java.util.Collection; +import java.util.Set; + +import org.simantics.db.Disposable; +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; + +/** + * A mapping consists of domain (a set of resources), range (a set of Java objects) and + * a set of links relating them. The mapping is used to propagate modifications of + * domain elements to range and vice versa. + * + * @see Manual + * + * @author Hannu Niemistö + */ +public interface IMapping extends Disposable { + + /** + * Returns the domain of the mapping. All set operations are supported. + * Adding a new domain element does not automatically create a link to it. + * Removal of a domain element removes also a link and the target element, + * but does not remove the element from the database. + */ + Set getDomain(); + + /** + * Returns the range of the mapping. All set operations are supported. + * Adding a new range element does not automatically create a link to it. + * Removal of a range element removes also a link and the domain element, + * but does not remove the domain element from the database. + */ + Set getRange(); + + /** + * Updates all domain elements whose counterpart is modified and creates new + * domain elements for previously added range elements. Returns the + * collection of domain elements that were modified or created in the update + * process. + */ + Collection updateDomain(WriteGraph g) throws MappingException; + + /** + * Updates all range elements whose counterpart is modified and creates new + * range elements for previously added domain elements. Returns the + * collection of range elements that were modified or created in the update + * process. + */ + Collection updateRange(ReadGraph g) throws MappingException; + + /** + * Returns the counterpart of a domain element or null if the element does + * not belong to the domain or does not have a link. + */ + Object get(Resource domainElement); + + /** + * Returns the counterpart of a range element or null if the element does + * not belong to the range or does not have a link. + */ + Resource inverseGet(Object rangeElement); + + /** + * A convenience method that adds a domain element to the mapping and + * immediately updates the mapping and returns the corresponding range + * element. + */ + Object map(ReadGraph g, Resource domainElement) throws MappingException; + + /** + * A convenience method that adds a range element to the mapping and + * immediately updates the mapping and returns the corresponding domain + * element. + */ + Resource inverseMap(WriteGraph g, Object rangeElement) + throws MappingException; + + /** + * Tells the mapping that the domain element has been modified. + */ + void domainModified(Resource domainElement); + + /** + * Tells the mapping that the range element has been modified. + */ + void rangeModified(Object rangeElement); + + /** + * Tells if some domain elements have been modified or added. + */ + boolean isDomainModified(); + + /** + * Tells if some range elements have been modified or added. + */ + boolean isRangeModified(); + + /** + * Returns a collection of domain elements which have been modified and also + * their counterparts in the mapping are modified. These elements are in + * conflict in the sense that the updating domain and range in different + * orders may produce different results. + */ + Collection getConflictingDomainElements(); + + /** + * Returns a collection of range elements which have been modified and also + * their counterparts in the mapping are modified. These elements are in + * conflict in the sense that the updating domain and range in different + * orders may produce different results. + */ + Collection getConflictingRangeElements(); + + /** + * Adds a listener for domain and range modifications. + */ + void addMappingListener(IMappingListener listener); + + /** + * Removes a previously added listener. + */ + void removeMappingListener(IMappingListener listener); + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/IMappingListener.java b/org.simantics.objmap/src/org/simantics/objmap/IMappingListener.java new file mode 100644 index 00000000..766348aa --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/IMappingListener.java @@ -0,0 +1,19 @@ +package org.simantics.objmap; + +/** + * Listens modifications in a mapping. + * @author Hannu Niemistö + */ +public interface IMappingListener { + /** + * Called when some domain element is modified or created + * and the mapping was previously up to date. + */ + void domainModified(); + + /** + * Called when some range element is modified or created + * and the mapping was previously up to date. + */ + void rangeModified(); +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/IMappingRule.java b/org.simantics.objmap/src/org/simantics/objmap/IMappingRule.java new file mode 100644 index 00000000..211e02f8 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/IMappingRule.java @@ -0,0 +1,33 @@ +package org.simantics.objmap; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; + +/** + * A rule for how domain and range elements are related to each other. + * @author Hannu Niemistö + */ +public interface IMappingRule { + /** + * Modifies the domain element so that it corresponds to the range element. + * @param g write transaction + * @param map unidirectional view of the current mapping + * @param domainElement the domain element that is updated + * @param rangeElement the range element that corresponds to the domain element + * @return true if the rule made some modifications + * @throws MappingException + */ + boolean updateDomain(WriteGraph g, IFunction map, Resource domainElement, Object rangeElement) throws MappingException; + + /** + * Modifies the range element so that it corresponds to the domain element. + * @param g read transaction + * @param map unidirectional view of the current mapping + * @param domainElement the domain element that corresponds to the range element + * @param rangeElement the range element that is updated + * @return true if the rule made some modifications + * @throws MappingException + */ + boolean updateRange(ReadGraph g, IFunction map, Resource domainElement, Object rangeElement) throws MappingException; +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/IMappingSchema.java b/org.simantics.objmap/src/org/simantics/objmap/IMappingSchema.java new file mode 100644 index 00000000..1dfbe431 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/IMappingSchema.java @@ -0,0 +1,20 @@ +package org.simantics.objmap; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; + +/** + * Specifies the link types of new elements added to a mapping. + * @author Hannu Niemistö + */ +public interface IMappingSchema { + /** + * @return Link type that should be used for the element. + */ + ILinkType linkTypeOfDomainElement(ReadGraph g, Resource element) throws MappingException; + + /** + * @return Link type that should be used for the element. + */ + ILinkType linkTypeOfRangeElement(Object element) throws MappingException; +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/MappingException.java b/org.simantics.objmap/src/org/simantics/objmap/MappingException.java new file mode 100644 index 00000000..6fa9f6a8 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/MappingException.java @@ -0,0 +1,29 @@ +package org.simantics.objmap; + +import org.simantics.db.exception.DatabaseException; + +/** + * An exception thrown for any error during mapping methods. + * @author Hannu Niemistö + */ +public class MappingException extends DatabaseException { + + private static final long serialVersionUID = -4026122899414272427L; + + public MappingException() { + super(); + } + + public MappingException(String message, Throwable cause) { + super(message, cause); + } + + public MappingException(String message) { + super(message); + } + + public MappingException(Throwable cause) { + super(cause); + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/Mappings.java b/org.simantics.objmap/src/org/simantics/objmap/Mappings.java new file mode 100644 index 00000000..6c576fa6 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/Mappings.java @@ -0,0 +1,38 @@ +package org.simantics.objmap; + +import org.simantics.objmap.impl.Mapping; +import org.simantics.objmap.impl.UnidirectionalMapping; + +/** + * Static utility methods for mappings. + * @author Hannu Niemistö + */ +public class Mappings { + private Mappings() {} + + /** + * Creates a new mapping based on the given mapping schema. + * The created mapping is not thread-safe and will not + * listen database changes automatically. + */ + public static IMapping createWithoutListening(IMappingSchema schema) { + return new Mapping(schema, false); + } + + /** + * Creates a new mapping based on the given mapping schema. + * The created mapping is not thread-safe. It listens database + * changes automatically. + */ + public static IMapping createWithListening(IMappingSchema schema) { + return new Mapping(schema, true); + } + + /** + * Creates a mapping that supports only the direction from domain to range. + * Does not listen the database. + */ + public static IMapping createUnidirectional(IMappingSchema schema) { + return new UnidirectionalMapping(schema); + } +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/Composition.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/Composition.java new file mode 100644 index 00000000..eaf368cf --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/Composition.java @@ -0,0 +1,11 @@ +package org.simantics.objmap.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD,ElementType.METHOD}) +public @interface Composition { +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/GraphType.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/GraphType.java new file mode 100644 index 00000000..d434b3c2 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/GraphType.java @@ -0,0 +1,16 @@ +package org.simantics.objmap.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Specifies the domain type that the class corresponds to. + * @author Hannu Niemistö + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface GraphType { + String value(); +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedElement.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedElement.java new file mode 100644 index 00000000..d3d011b4 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedElement.java @@ -0,0 +1,16 @@ +package org.simantics.objmap.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.simantics.objmap.annotations.factories.RelatedElementRuleFactory; +import org.simantics.objmap.annotations.meta.HasFieldRuleFactory; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +@HasFieldRuleFactory(RelatedElementRuleFactory.class) +public @interface RelatedElement { + String value(); +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedElements.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedElements.java new file mode 100644 index 00000000..a619ab60 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedElements.java @@ -0,0 +1,16 @@ +package org.simantics.objmap.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.simantics.objmap.annotations.factories.RelatedElementsRuleFactory; +import org.simantics.objmap.annotations.meta.HasFieldRuleFactory; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +@HasFieldRuleFactory(RelatedElementsRuleFactory.class) +public @interface RelatedElements { + String value(); +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedValue.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedValue.java new file mode 100644 index 00000000..e6138d9a --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/RelatedValue.java @@ -0,0 +1,21 @@ +package org.simantics.objmap.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.simantics.objmap.annotations.factories.RelatedValueRuleFactory; +import org.simantics.objmap.annotations.meta.HasFieldRuleFactory; + +/** + * Specifies a correspondence between a field and + * functional property. + * @author Hannu Niemistö + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +@HasFieldRuleFactory(RelatedValueRuleFactory.class) +public @interface RelatedValue { + String value(); +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/DataTypeUtils.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/DataTypeUtils.java new file mode 100644 index 00000000..8d38fbdd --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/DataTypeUtils.java @@ -0,0 +1,46 @@ +package org.simantics.objmap.annotations.factories; + +import org.simantics.db.Builtins; +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; + +public class DataTypeUtils { + + public static Resource dataTypeOfClass(ReadGraph g, Class clazz) { + Builtins b = g.getBuiltins(); + if(clazz.equals(Double.class) || clazz.equals(double.class)) + return b.Double; + else if(clazz.equals(String.class)) + return b.String; + else if(clazz.equals(Integer.class) || clazz.equals(int.class)) + return b.Integer; + else if(clazz.equals(Float.class) || clazz.equals(float.class)) + return b.Float; + else if(clazz.equals(Boolean.class) || clazz.equals(boolean.class)) + return b.Boolean; + else if(clazz.equals(Long.class) || clazz.equals(long.class)) + return b.Long; + else if(clazz.equals(Byte.class) || clazz.equals(byte.class)) + return b.Byte; + + else if(clazz.equals(double[].class)) + return b.DoubleArray; + else if(clazz.equals(int[].class)) + return b.IntegerArray; + else if(clazz.equals(byte[].class)) + return b.ByteArray; + else if(clazz.equals(float[].class)) + return b.FloatArray; + else if(clazz.equals(boolean[].class)) + return b.BooleanArray; + else if(clazz.equals(String[].class)) + return b.StringArray; + else if(clazz.equals(long[].class)) + return b.LongArray; + else { + System.out.println("Couldn't find a data type for " + clazz); + return null; + } + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedElementRuleFactory.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedElementRuleFactory.java new file mode 100644 index 00000000..f4499fa4 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedElementRuleFactory.java @@ -0,0 +1,28 @@ +package org.simantics.objmap.annotations.factories; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; + +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.ResourceNotFoundException; +import org.simantics.db.exception.ServiceException; +import org.simantics.db.exception.ValidationException; +import org.simantics.objmap.IMappingRule; +import org.simantics.objmap.annotations.RelatedElement; +import org.simantics.objmap.rules.MappedElementRule; +import org.simantics.objmap.rules.domain.RelatedObjectAccessor; +import org.simantics.objmap.rules.factory.IFieldRuleFactory; +import org.simantics.objmap.rules.range.FieldAccessor; + +public class RelatedElementRuleFactory implements IFieldRuleFactory { + + @Override + public IMappingRule create(ReadGraph g, Annotation _annotation, Field field) throws ResourceNotFoundException, ValidationException, ServiceException { + RelatedElement annotation = (RelatedElement)_annotation; + return new MappedElementRule( + new RelatedObjectAccessor(g.getResourceByURI(annotation.value())), + new FieldAccessor(field) + ); + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedElementsRuleFactory.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedElementsRuleFactory.java new file mode 100644 index 00000000..74011e46 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedElementsRuleFactory.java @@ -0,0 +1,29 @@ +package org.simantics.objmap.annotations.factories; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; +import java.util.Collection; + +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.ResourceNotFoundException; +import org.simantics.db.exception.ServiceException; +import org.simantics.db.exception.ValidationException; +import org.simantics.objmap.IMappingRule; +import org.simantics.objmap.annotations.RelatedElements; +import org.simantics.objmap.rules.MappedElementsRule; +import org.simantics.objmap.rules.domain.RelatedObjectsAccessor; +import org.simantics.objmap.rules.factory.IFieldRuleFactory; +import org.simantics.objmap.rules.range.FieldAccessor; + +public class RelatedElementsRuleFactory implements IFieldRuleFactory { + + @Override + public IMappingRule create(ReadGraph g, Annotation _annotation, Field field) throws ResourceNotFoundException, ValidationException, ServiceException { + RelatedElements annotation = (RelatedElements)_annotation; + return new MappedElementsRule( + new RelatedObjectsAccessor(g.getResourceByURI(annotation.value())), + new FieldAccessor>(field) + ); + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedValueRuleFactory.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedValueRuleFactory.java new file mode 100644 index 00000000..7bbecaa4 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/factories/RelatedValueRuleFactory.java @@ -0,0 +1,33 @@ +package org.simantics.objmap.annotations.factories; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; + +import org.simantics.db.Builtins; +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.ResourceNotFoundException; +import org.simantics.db.exception.ServiceException; +import org.simantics.db.exception.ValidationException; +import org.simantics.objmap.IMappingRule; +import org.simantics.objmap.annotations.RelatedValue; +import org.simantics.objmap.rules.ValueRule; +import org.simantics.objmap.rules.domain.RelatedValueAccessor; +import org.simantics.objmap.rules.factory.IFieldRuleFactory; +import org.simantics.objmap.rules.range.FieldAccessor; + +public class RelatedValueRuleFactory implements IFieldRuleFactory { + + @Override + public IMappingRule create(ReadGraph g, Annotation _annotation, Field field) throws ResourceNotFoundException, ValidationException, ServiceException { + RelatedValue annotation = (RelatedValue)_annotation; + Builtins b = g.getBuiltins(); + return new ValueRule( + new RelatedValueAccessor( + g.getResourceByURI(annotation.value()), + DataTypeUtils.dataTypeOfClass(g, field.getType()) + ), + new FieldAccessor(field) + ); + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasClassRuleFactory.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasClassRuleFactory.java new file mode 100644 index 00000000..f556f88c --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasClassRuleFactory.java @@ -0,0 +1,14 @@ +package org.simantics.objmap.annotations.meta; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.simantics.objmap.rules.factory.IClassRuleFactory; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.ANNOTATION_TYPE) +public @interface HasClassRuleFactory { + Class value(); +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasFieldRuleFactory.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasFieldRuleFactory.java new file mode 100644 index 00000000..4f8c8add --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasFieldRuleFactory.java @@ -0,0 +1,14 @@ +package org.simantics.objmap.annotations.meta; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.simantics.objmap.rules.factory.IFieldRuleFactory; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.ANNOTATION_TYPE) +public @interface HasFieldRuleFactory { + Class value(); +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasMethodRuleFactory.java b/org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasMethodRuleFactory.java new file mode 100644 index 00000000..273041b7 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/annotations/meta/HasMethodRuleFactory.java @@ -0,0 +1,14 @@ +package org.simantics.objmap.annotations.meta; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.simantics.objmap.rules.factory.IMethodRuleFactory; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.ANNOTATION_TYPE) +public @interface HasMethodRuleFactory { + Class value(); +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/impl/Link.java b/org.simantics.objmap/src/org/simantics/objmap/impl/Link.java new file mode 100644 index 00000000..45336d9a --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/impl/Link.java @@ -0,0 +1,29 @@ +/** + * + */ +package org.simantics.objmap.impl; + +import org.simantics.db.Resource; +import org.simantics.objmap.ILinkType; + +/** + * An indication that the domain element corresponds to the range element + * in the mapping. The link type describes how source and target objects + * are updated. There are additionally flags for dirtiness of the link. + * @author Hannu Niemistö + */ +public class Link { + public ILinkType type; + public Resource domainElement; + public Object rangeElement; + + public boolean domainModified = false; + public boolean rangeModified = false; + public boolean removed = false; + + public Link(ILinkType type, Resource domainElement, Object rangeElement) { + this.type = type; + this.domainElement = domainElement; + this.rangeElement = rangeElement; + } +} \ No newline at end of file diff --git a/org.simantics.objmap/src/org/simantics/objmap/impl/Mapping.java b/org.simantics.objmap/src/org/simantics/objmap/impl/Mapping.java new file mode 100644 index 00000000..5cf239f7 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/impl/Mapping.java @@ -0,0 +1,404 @@ +package org.simantics.objmap.impl; + +import gnu.trove.THashMap; +import gnu.trove.TObjectIdentityHashingStrategy; + +import java.util.AbstractSet; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.Set; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.objmap.IFunction; +import org.simantics.objmap.ILinkType; +import org.simantics.objmap.IMapping; +import org.simantics.objmap.IMappingListener; +import org.simantics.objmap.IMappingSchema; +import org.simantics.objmap.MappingException; + +/** + * An implementation of IMapping. The class should not be created + * directly but using methods in Mappings. + * @see org.simantics.objmap.Mappings + * @author Hannu Niemistö + */ +public class Mapping implements IMapping { + + private static final TObjectIdentityHashingStrategy IDENTITY_HASHING = + new TObjectIdentityHashingStrategy(); + + IMappingSchema schema; + + THashMap domain = new THashMap(); + THashMap range = new THashMap(IDENTITY_HASHING); + ArrayList listeners = new ArrayList(); + + ArrayList modifiedDomainLinks = new ArrayList(); + ArrayList modifiedRangeLinks = new ArrayList(); + boolean disposed = false; + + boolean listensDomain; + + public Mapping(IMappingSchema schema, boolean listensDomain) { + this.schema = schema; + this.listensDomain = listensDomain; + } + + private void removeLink(Link link) { + if(link.domainModified) + modifiedDomainLinks.remove(link); + if(link.rangeModified) + modifiedRangeLinks.remove(link); + link.removed = true; + } + + private void createDomain(WriteGraph g, Link link) throws MappingException { + ILinkType type = schema.linkTypeOfRangeElement(link.rangeElement); + Resource domainElement = type.createDomainElement(g, link.rangeElement); + + link.type = type; + link.domainElement = domainElement; + domain.put(domainElement, link); + } + + private void createRange(ReadGraph g, Link link) throws MappingException { + ILinkType type = schema.linkTypeOfDomainElement(g, link.domainElement); + Object rangeElement = type.createRangeElement(g, link.domainElement); + + link.type = type; + link.rangeElement = rangeElement; + range.put(rangeElement, link); + } + + Set domainSet = new AbstractSet() { + + public boolean add(Resource e) { + if(domain.containsKey(e)) + return false; + Link link = new Link(null, e, null); + domain.put(e, link); + modifiedDomainLinks.add(link); + return true; + } + + public boolean contains(Object o) { + return domain.contains(o); + } + + public boolean remove(Object o) { + Link link = domain.remove(o); + if(link == null) + return false; + removeLink(link); + if(link.rangeElement != null) + range.remove(link.rangeElement); + return true; + } + + @Override + public Iterator iterator() { + // FIXME does not implement Iterator.remove correctly + return domain.keySet().iterator(); + } + + @Override + public int size() { + return domain.size(); + } + + }; + + Set rangeSet = new AbstractSet() { + + public boolean add(Object e) { + if(range.containsKey(e)) + return false; + Link link = new Link(null, null, e); + range.put(e, link); + modifiedRangeLinks.add(link); + return true; + } + + public boolean contains(Object o) { + return range.contains(o); + } + + public boolean remove(Object o) { + Link link = range.remove(o); + if(link == null) + return false; + removeLink(link); + if(link.domainElement != null) + domain.remove(link.domainElement); + return true; + } + + @Override + public Iterator iterator() { + // FIXME does not implement Iterator.remove correctly + return range.keySet().iterator(); + } + + @Override + public int size() { + return range.size(); + } + + }; + + class DomainToRange implements IFunction { + + ReadGraph g; + + public DomainToRange(ReadGraph g) { + this.g = g; + } + + @Override + public Object get(Resource element) throws MappingException { + Link link = domain.get(element); + if(link == null) { + ILinkType type = schema.linkTypeOfDomainElement(g, element); + Object rangeElement = type.createRangeElement(g, element); + + link = new Link(type, element, rangeElement); + domain.put(element, link); + range.put(rangeElement, link); + link.domainModified = true; + modifiedDomainLinks.add(link); + + return rangeElement; + } + else { + if(link.type == null) + createRange(g, link); + return link.rangeElement; + } + } + + }; + + class RangeToDomain implements IFunction { + + WriteGraph g; + + public RangeToDomain(WriteGraph g) { + this.g = g; + } + + @Override + public Resource get(Object element) throws MappingException { + Link link = range.get(element); + if(link == null) { + ILinkType type = schema.linkTypeOfRangeElement(element); + Resource domainElement = type.createDomainElement(g, element); + + link = new Link(type, domainElement, element); + domain.put(domainElement, link); + range.put(element, link); + link.rangeModified = true; + modifiedRangeLinks.add(link); + + return domainElement; + } + else { + if(link.type == null) + createDomain(g, link); + return link.domainElement; + } + } + + }; + + @Override + public Set getDomain() { + return domainSet; + } + + @Override + public Set getRange() { + return rangeSet; + } + + @Override + public Collection updateDomain(WriteGraph g) throws MappingException { + RangeToDomain map = new RangeToDomain(g); + ArrayList updated = new ArrayList(); + while(!modifiedRangeLinks.isEmpty()) { + Link link = modifiedRangeLinks.remove(modifiedRangeLinks.size()-1); + link.rangeModified = false; + if(link.domainModified) { + link.domainModified = false; + modifiedDomainLinks.remove(link); + } + + if(link.type == null) { + createDomain(g, link); + } + + if(link.type.updateDomain(g, map, link.domainElement, link.rangeElement)) + updated.add(link.domainElement); + } + return updated; + } + + @Override + public Collection updateRange(ReadGraph g) throws MappingException { + DomainToRange map = new DomainToRange(g); + ArrayList updated = new ArrayList(); + while(!modifiedDomainLinks.isEmpty()) { + Link link = modifiedDomainLinks.remove(modifiedDomainLinks.size()-1); + link.domainModified = false; + if(link.rangeModified) { + link.rangeModified = false; + modifiedRangeLinks.remove(link); + } + + if(link.type == null) { + createRange(g, link); + } + + if(listensDomain) { + RangeUpdateRequest request = new RangeUpdateRequest(link, map, this); + g.syncRequest(request, request); + // TODO check if really modified + updated.add(link.rangeElement); + } + else + if(link.type.updateRange(g, map, link.domainElement, link.rangeElement)) + updated.add(link.rangeElement); + } + return updated; + } + + @Override + public Object get(Resource domainElement) { + Link link = domain.get(domainElement); + if(link == null) + return null; + return link.rangeElement; + } + + @Override + public Resource inverseGet(Object rangeElement) { + Link link = range.get(rangeElement); + if(link == null) + return null; + return link.domainElement; + } + + @Override + public Resource inverseMap(WriteGraph g, Object rangeElement) throws MappingException { + getRange().add(rangeElement); + updateDomain(g); + return inverseGet(rangeElement); + } + + @Override + public Object map(ReadGraph g, Resource domainElement) throws MappingException { + getDomain().add(domainElement); + updateRange(g); + return get(domainElement); + } + + void domainModified(Link link) { + if(!link.domainModified) { + link.domainModified = true; + modifiedDomainLinks.add(link); + if(modifiedDomainLinks.size() == 1) { + for(IMappingListener listener : listeners) + listener.domainModified(); + } + } + } + + @Override + public void domainModified(Resource domainElement) { + Link link = domain.get(domainElement); + if(link != null) + domainModified(link); + } + + void rangeModified(Link link) { + if(!link.rangeModified) { + link.rangeModified = true; + modifiedRangeLinks.add(link); + if(modifiedRangeLinks.size() == 1) { + for(IMappingListener listener : listeners) + listener.rangeModified(); + } + } + } + + @Override + public void rangeModified(Object rangeElement) { + Link link = range.get(rangeElement); + if(link != null) + rangeModified(link); + } + + @Override + public boolean isDomainModified() { + return !modifiedDomainLinks.isEmpty(); + } + + @Override + public boolean isRangeModified() { + return !modifiedRangeLinks.isEmpty(); + } + + @Override + public void addMappingListener(IMappingListener listener) { + listeners.add(listener); + } + + @Override + public void removeMappingListener(IMappingListener listener) { + listeners.remove(listener); + } + + @Override + public Collection getConflictingDomainElements() { + ArrayList result = new ArrayList(); + if(modifiedDomainLinks.size() < modifiedRangeLinks.size()) { + for(Link link : modifiedDomainLinks) + if(link.rangeModified) + result.add(link.domainElement); + } + else { + for(Link link : modifiedRangeLinks) + if(link.domainModified) + result.add(link.domainElement); + } + return result; + } + + @Override + public Collection getConflictingRangeElements() { + ArrayList result = new ArrayList(); + if(modifiedDomainLinks.size() < modifiedRangeLinks.size()) { + for(Link link : modifiedDomainLinks) + if(link.rangeModified) + result.add(link.rangeElement); + } + else { + for(Link link : modifiedRangeLinks) + if(link.domainModified) + result.add(link.rangeElement); + } + return result; + } + + @Override + public void dispose() { + disposed = true; + } + + public boolean isDisposed() { + return disposed; + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/impl/RangeUpdateRequest.java b/org.simantics.objmap/src/org/simantics/objmap/impl/RangeUpdateRequest.java new file mode 100644 index 00000000..b7578f84 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/impl/RangeUpdateRequest.java @@ -0,0 +1,64 @@ +package org.simantics.objmap.impl; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.procedure.SyncListener; +import org.simantics.db.request.Read; +import org.simantics.objmap.IFunction; +import org.simantics.objmap.MappingException; + +public class RangeUpdateRequest implements Read, SyncListener { + + Link link; + /* + * Note that this map uses a read request that it has got from caller and + * not the one that is used in updateRange. This is intentional. + */ + IFunction map; // map==null is used to flag that request is performed once + Mapping mapping; // mapping==null is used as a flag the request disposed + + public RangeUpdateRequest(Link link, IFunction map, Mapping mapping) { + this.link = link; + this.map = map; + this.mapping = mapping; + } + + @Override + public Boolean perform(ReadGraph g) throws DatabaseException { + if(map != null) { + link.type.updateRange(g, map, link.domainElement, link.rangeElement); + map = null; + return Boolean.TRUE; + } + else if(mapping != null) { + mapping.domainModified(link); + mapping = null; + return Boolean.FALSE; + } + else + return null; + } + + @Override + public void exception(ReadGraph graph, Throwable throwable) + throws DatabaseException { + if(throwable instanceof DatabaseException) + throw (DatabaseException)throwable; + else + throw new MappingException(throwable); + } + + @Override + public void execute(ReadGraph graph, Boolean result) + throws DatabaseException { + } + + @Override + public boolean isDisposed() { + return mapping == null || link.removed || mapping.isDisposed(); + } + + + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/impl/UnidirectionalMapping.java b/org.simantics.objmap/src/org/simantics/objmap/impl/UnidirectionalMapping.java new file mode 100644 index 00000000..79395db9 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/impl/UnidirectionalMapping.java @@ -0,0 +1,254 @@ +package org.simantics.objmap.impl; + +import gnu.trove.THashMap; +import gnu.trove.TObjectIdentityHashingStrategy; + +import java.util.AbstractSet; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.Set; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.objmap.IFunction; +import org.simantics.objmap.ILinkType; +import org.simantics.objmap.IMapping; +import org.simantics.objmap.IMappingListener; +import org.simantics.objmap.IMappingSchema; +import org.simantics.objmap.MappingException; + +/** + * An implementation of IMapping. The class should not be created + * directly but using methods in Mappings. + * @see org.simantics.objmap.Mappings + * @author Hannu Niemistö + */ +public class UnidirectionalMapping implements IMapping { + + private static final TObjectIdentityHashingStrategy IDENTITY_HASHING = + new TObjectIdentityHashingStrategy(); + + IMappingSchema schema; + + THashMap domain = new THashMap(); + ArrayList listeners = new ArrayList(); + + ArrayList modifiedDomainLinks = new ArrayList(); + boolean disposed = false; + + public UnidirectionalMapping(IMappingSchema schema) { + this.schema = schema; + } + + private void removeLink(Link link) { + if(link.domainModified) + modifiedDomainLinks.remove(link); + link.removed = true; + } + + private void createDomain(WriteGraph g, Link link) throws MappingException { + ILinkType type = schema.linkTypeOfRangeElement(link.rangeElement); + Resource domainElement = type.createDomainElement(g, link.rangeElement); + + link.type = type; + link.domainElement = domainElement; + domain.put(domainElement, link); + } + + private void createRange(ReadGraph g, Link link) throws MappingException { + ILinkType type = schema.linkTypeOfDomainElement(g, link.domainElement); + Object rangeElement = type.createRangeElement(g, link.domainElement); + + link.type = type; + link.rangeElement = rangeElement; + } + + Set domainSet = new AbstractSet() { + + public boolean add(Resource e) { + if(domain.containsKey(e)) + return false; + Link link = new Link(null, e, null); + domain.put(e, link); + modifiedDomainLinks.add(link); + return true; + } + + public boolean contains(Object o) { + return domain.contains(o); + } + + public boolean remove(Object o) { + Link link = domain.remove(o); + if(link == null) + return false; + removeLink(link); + return true; + } + + @Override + public Iterator iterator() { + // FIXME does not implement Iterator.remove correctly + return domain.keySet().iterator(); + } + + @Override + public int size() { + return domain.size(); + } + + }; + + class DomainToRange implements IFunction { + + ReadGraph g; + + public DomainToRange(ReadGraph g) { + this.g = g; + } + + @Override + public Object get(Resource element) throws MappingException { + Link link = domain.get(element); + if(link == null) { + ILinkType type = schema.linkTypeOfDomainElement(g, element); + Object rangeElement = type.createRangeElement(g, element); + + link = new Link(type, element, rangeElement); + domain.put(element, link); + link.domainModified = true; + modifiedDomainLinks.add(link); + + return rangeElement; + } + else { + if(link.type == null) + createRange(g, link); + return link.rangeElement; + } + } + + }; + + @Override + public Set getDomain() { + return domainSet; + } + + @Override + public Set getRange() { + throw new UnsupportedOperationException(); + } + + @Override + public Collection updateDomain(WriteGraph g) throws MappingException { + throw new UnsupportedOperationException(); + } + + @Override + public Collection updateRange(ReadGraph g) throws MappingException { + DomainToRange map = new DomainToRange(g); + ArrayList updated = new ArrayList(); + while(!modifiedDomainLinks.isEmpty()) { + Link link = modifiedDomainLinks.remove(modifiedDomainLinks.size()-1); + link.domainModified = false; + if(link.type == null) { + createRange(g, link); + } + + link.type.updateRange(g, map, link.domainElement, link.rangeElement); + updated.add(link.rangeElement); + } + return updated; + } + + @Override + public Object get(Resource domainElement) { + Link link = domain.get(domainElement); + if(link == null) + return null; + return link.rangeElement; + } + + @Override + public Resource inverseGet(Object rangeElement) { + throw new UnsupportedOperationException(); + } + + @Override + public Resource inverseMap(WriteGraph g, Object rangeElement) throws MappingException { + throw new UnsupportedOperationException(); + } + + @Override + public Object map(ReadGraph g, Resource domainElement) throws MappingException { + getDomain().add(domainElement); + updateRange(g); + return get(domainElement); + } + + void domainModified(Link link) { + if(!link.domainModified) { + link.domainModified = true; + modifiedDomainLinks.add(link); + if(modifiedDomainLinks.size() == 1) { + for(IMappingListener listener : listeners) + listener.domainModified(); + } + } + } + + @Override + public void domainModified(Resource domainElement) { + Link link = domain.get(domainElement); + if(link != null) + domainModified(link); + } + + @Override + public boolean isDomainModified() { + return !modifiedDomainLinks.isEmpty(); + } + + @Override + public boolean isRangeModified() { + throw new UnsupportedOperationException(); + } + + @Override + public void addMappingListener(IMappingListener listener) { + listeners.add(listener); + } + + @Override + public void removeMappingListener(IMappingListener listener) { + listeners.remove(listener); + } + + @Override + public Collection getConflictingDomainElements() { + throw new UnsupportedOperationException(); + } + + @Override + public Collection getConflictingRangeElements() { + throw new UnsupportedOperationException(); + } + + @Override + public void dispose() { + disposed = true; + } + + public boolean isDisposed() { + return disposed; + } + + @Override + public void rangeModified(Object rangeElement) { + throw new UnsupportedOperationException(); + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/MappedElementRule.java b/org.simantics.objmap/src/org/simantics/objmap/rules/MappedElementRule.java new file mode 100644 index 00000000..e39dbb8f --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/MappedElementRule.java @@ -0,0 +1,47 @@ +package org.simantics.objmap.rules; + +import java.util.ArrayList; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.objmap.IFunction; +import org.simantics.objmap.IMappingRule; +import org.simantics.objmap.MappingException; +import org.simantics.objmap.rules.domain.IDomainAccessor; +import org.simantics.objmap.rules.range.IRangeAccessor; + +/** + * A rule that synchronizes collection of elements between + * domain and range accessors. Elements are mapped from + * between domain and range during the synchronization. + * @author Hannu Niemistö + */ +public class MappedElementRule implements IMappingRule { + IDomainAccessor domainAccessor; + IRangeAccessor rangeAccessor; + + public MappedElementRule(IDomainAccessor domainAccessor, + IRangeAccessor rangeAccessor) { + this.domainAccessor = domainAccessor; + this.rangeAccessor = rangeAccessor; + } + + @Override + public boolean updateDomain(WriteGraph g, IFunction map, + Resource domainElement, Object rangeElement) + throws MappingException { + Object value = rangeAccessor.get(rangeElement); + Resource mappedValue = value == null ? null : map.get(value); + return domainAccessor.set(g, domainElement, mappedValue); + } + + @Override + public boolean updateRange(ReadGraph g, IFunction map, + Resource domainElement, Object rangeElement) + throws MappingException { + Resource value = domainAccessor.get(g, domainElement); + Object mappedValue = value == null ? null : map.get(value); + return rangeAccessor.set(rangeElement, mappedValue); + } +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/MappedElementsRule.java b/org.simantics.objmap/src/org/simantics/objmap/rules/MappedElementsRule.java new file mode 100644 index 00000000..78c835c5 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/MappedElementsRule.java @@ -0,0 +1,52 @@ +package org.simantics.objmap.rules; + +import java.util.ArrayList; +import java.util.Collection; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.objmap.IFunction; +import org.simantics.objmap.IMappingRule; +import org.simantics.objmap.MappingException; +import org.simantics.objmap.rules.domain.IDomainAccessor; +import org.simantics.objmap.rules.range.IRangeAccessor; + +/** + * A rule that synchronizes collection of elements between + * domain and range accessors. Elements are mapped from + * between domain and range during the synchronization. + * @author Hannu Niemistö + */ +public class MappedElementsRule implements IMappingRule { + IDomainAccessor> domainAccessor; + IRangeAccessor> rangeAccessor; + + public MappedElementsRule(IDomainAccessor> domainAccessor, + IRangeAccessor> rangeAccessor) { + this.domainAccessor = domainAccessor; + this.rangeAccessor = rangeAccessor; + } + + @Override + public boolean updateDomain(WriteGraph g, IFunction map, + Resource domainElement, Object rangeElement) + throws MappingException { + Collection value = rangeAccessor.get(rangeElement); + ArrayList mappedValue = new ArrayList(value.size()); + for(Object obj : value) + mappedValue.add(map.get(obj)); + return domainAccessor.set(g, domainElement, mappedValue); + } + + @Override + public boolean updateRange(ReadGraph g, IFunction map, + Resource domainElement, Object rangeElement) + throws MappingException { + Collection value = domainAccessor.get(g, domainElement); + ArrayList mappedValue = new ArrayList(value.size()); + for(Resource r : value) + mappedValue.add(map.get(r)); + return rangeAccessor.set(rangeElement, mappedValue); + } +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/ValueRule.java b/org.simantics.objmap/src/org/simantics/objmap/rules/ValueRule.java new file mode 100644 index 00000000..dbda67a4 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/ValueRule.java @@ -0,0 +1,42 @@ +package org.simantics.objmap.rules; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.objmap.IFunction; +import org.simantics.objmap.IMappingRule; +import org.simantics.objmap.MappingException; +import org.simantics.objmap.rules.domain.IDomainAccessor; +import org.simantics.objmap.rules.range.IRangeAccessor; + +/** + * A rule that synchronizes values between domain and + * range accessors. + * @author Hannu Niemistö + */ +public class ValueRule implements IMappingRule { + IDomainAccessor domainAccessor; + IRangeAccessor rangeAccessor; + + public ValueRule(IDomainAccessor domainAccessor, + IRangeAccessor rangeAccessor) { + this.domainAccessor = domainAccessor; + this.rangeAccessor = rangeAccessor; + } + + @Override + public boolean updateDomain(WriteGraph g, IFunction map, + Resource domainElement, Object rangeElement) + throws MappingException { + Object value = rangeAccessor.get(rangeElement); + return domainAccessor.set(g, domainElement, value); + } + + @Override + public boolean updateRange(ReadGraph g, IFunction map, + Resource domainElement, Object rangeElement) + throws MappingException { + Object value = domainAccessor.get(g, domainElement); + return rangeAccessor.set(rangeElement, value); + } +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/domain/IDomainAccessor.java b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/IDomainAccessor.java new file mode 100644 index 00000000..abb50e71 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/IDomainAccessor.java @@ -0,0 +1,15 @@ +package org.simantics.objmap.rules.domain; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.objmap.MappingException; + +/** + * Provides access to some property of domain elements. + * @author Hannu Niemistö + */ +public interface IDomainAccessor { + T get(ReadGraph g, Resource element) throws MappingException; + boolean set(WriteGraph g, Resource element, T value) throws MappingException; +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/domain/MappingUtils.java b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/MappingUtils.java new file mode 100644 index 00000000..857f169a --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/MappingUtils.java @@ -0,0 +1,68 @@ +package org.simantics.objmap.rules.domain; + +import java.util.Arrays; +import java.util.Collection; + +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.db.exception.DatabaseException; + +/** + * Static utility methods for rule implementations. + * @author Hannu Niemistö + */ +public class MappingUtils { + + /** + * Adds and removes statements to/from the database so that objects + * will be exactly the objects connected to subject by predicate. + * Returns true if the method made modifications to the database. + */ + public static boolean synchronizeStatements(WriteGraph g, Resource subject, Resource predicate, Resource[] objects) + throws DatabaseException { + Collection currentObjects0 = g.getObjects(subject, predicate); + Resource[] currentObjects = currentObjects0.toArray(new Resource[currentObjects0.size()]); + + Arrays.sort(objects); + Arrays.sort(currentObjects); + + boolean modified = false; + int i=0, j=0; + while(true) { + int cmp = currentObjects[i].compareTo(objects[j]); + if(cmp < 0) { + g.deny(subject, predicate, currentObjects[i]); + modified = true; + ++i; + if(i >= currentObjects.length) + break; + } + else if(cmp > 0) { + g.claim(subject, predicate, objects[j]); + modified = true; + ++j; + if(j >= objects.length) + break; + } + else { + ++i; ++j; + if(i >= currentObjects.length) + break; + if(j >= objects.length) + break; + } + } + while(i < currentObjects.length) { + g.deny(subject, predicate, currentObjects[i]); + modified = true; + ++i; + } + while(j < objects.length) { + g.claim(subject, predicate, objects[j]); + modified = true; + ++j; + } + return modified; + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedObjectAccessor.java b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedObjectAccessor.java new file mode 100644 index 00000000..14275ab1 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedObjectAccessor.java @@ -0,0 +1,55 @@ +package org.simantics.objmap.rules.domain; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.objmap.MappingException; + +/** + * Accesses a resource attached to the element by given functional relation. + * @author Hannu Niemistö + */ +public class RelatedObjectAccessor implements IDomainAccessor { + + Resource relation; + + public RelatedObjectAccessor(Resource relation) { + this.relation = relation; + } + + @Override + public Resource get(ReadGraph g, Resource element) throws MappingException { + try { + return g.getPossibleObject(element, relation); + } catch (DatabaseException e) { + throw new MappingException(e); + } + } + + @Override + public boolean set(WriteGraph g, Resource element, Resource value) + throws MappingException { + try { + Resource resource = g.getPossibleObject(element, relation); + if(resource == null) { + if(value == null) + return false; + g.claim(element, relation, value); + return true; + } + else if(resource.equals(value)) + return false; + else { + g.deny(element, relation); + if(value != null) + g.claim(element, relation, value); + return true; + } + } catch (DatabaseException e) { + throw new MappingException(e); + } + + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedObjectsAccessor.java b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedObjectsAccessor.java new file mode 100644 index 00000000..f9cf15f2 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedObjectsAccessor.java @@ -0,0 +1,43 @@ +package org.simantics.objmap.rules.domain; + +import java.util.Collection; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.objmap.MappingException; + +/** + * Accesses the set of objects attached to the element by the given relation. + * @author Hannu Niemistö + */ +public class RelatedObjectsAccessor implements IDomainAccessor> { + + Resource relation; + + public RelatedObjectsAccessor(Resource relation) { + this.relation = relation; + } + + @Override + public Collection get(ReadGraph g, Resource element) throws MappingException { + try { + return g.getObjects(element, relation); + } catch (DatabaseException e) { + throw new MappingException(e); + } + } + + @Override + public boolean set(WriteGraph g, Resource element, Collection value) + throws MappingException { + try { + return MappingUtils.synchronizeStatements(g, element, relation, value.toArray(new Resource[value.size()])); + } catch (DatabaseException e) { + throw new MappingException(e); + } + + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedValueAccessor.java b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedValueAccessor.java new file mode 100644 index 00000000..b73ae424 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/domain/RelatedValueAccessor.java @@ -0,0 +1,67 @@ +package org.simantics.objmap.rules.domain; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.objmap.MappingException; + +/** + * Accesses a value attached to the element by given functional relation. + * @author Hannu Niemistö + */ +public class RelatedValueAccessor implements IDomainAccessor { + + Resource relation; + Resource valueType; + + public RelatedValueAccessor(Resource relation, Resource valueType) { + this.relation = relation; + this.valueType = valueType; + } + + @Override + public Object get(ReadGraph g, Resource element) throws MappingException { + try { + Resource valueResource = g.getPossibleObject(element, relation); + if(valueResource == null) + return null; + return g.getValue(valueResource); + } catch (DatabaseException e) { + throw new MappingException(e); + } + } + + @Override + public boolean set(WriteGraph g, Resource element, Object value) + throws MappingException { + try { + Resource valueResource = g.getPossibleObject(element, relation); + if(valueResource == null) { + if(value == null) + return false; + valueResource = g.newResource(); + g.claim(valueResource, g.getBuiltins().InstanceOf, + valueType); + g.claim(element, relation, valueResource); + g.claimValue(valueResource, value); + return true; + } + else { + if(value == null) { + g.deny(valueResource); + return true; + } + Object currentValue = g.getValue(valueResource); + if(currentValue.equals(value)) + return false; + g.claimValue(valueResource, value); + return true; + } + } catch (DatabaseException e) { + throw new MappingException(e); + } + + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/factory/IClassRuleFactory.java b/org.simantics.objmap/src/org/simantics/objmap/rules/factory/IClassRuleFactory.java new file mode 100644 index 00000000..20fcce66 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/factory/IClassRuleFactory.java @@ -0,0 +1,11 @@ +package org.simantics.objmap.rules.factory; + +import java.lang.annotation.Annotation; + +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.objmap.IMappingRule; + +public interface IClassRuleFactory { + IMappingRule create(ReadGraph g, Annotation annotation, Class clazz) throws DatabaseException; +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/factory/IFieldRuleFactory.java b/org.simantics.objmap/src/org/simantics/objmap/rules/factory/IFieldRuleFactory.java new file mode 100644 index 00000000..8e95a060 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/factory/IFieldRuleFactory.java @@ -0,0 +1,12 @@ +package org.simantics.objmap.rules.factory; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; + +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.objmap.IMappingRule; + +public interface IFieldRuleFactory { + IMappingRule create(ReadGraph g, Annotation annotation, Field field) throws DatabaseException; +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/factory/IMethodRuleFactory.java b/org.simantics.objmap/src/org/simantics/objmap/rules/factory/IMethodRuleFactory.java new file mode 100644 index 00000000..61d26a9d --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/factory/IMethodRuleFactory.java @@ -0,0 +1,12 @@ +package org.simantics.objmap.rules.factory; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Method; + +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.objmap.IMappingRule; + +public interface IMethodRuleFactory { + IMappingRule create(ReadGraph g, Annotation annotation, Method method) throws DatabaseException; +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/range/FieldAccessor.java b/org.simantics.objmap/src/org/simantics/objmap/rules/range/FieldAccessor.java new file mode 100644 index 00000000..06d7145f --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/range/FieldAccessor.java @@ -0,0 +1,43 @@ +package org.simantics.objmap.rules.range; + +import java.lang.reflect.Field; + +import org.simantics.objmap.MappingException; + +/** + * Accesses the given field of the element. + * @author Hannu Niemistö + */ +public class FieldAccessor implements IRangeAccessor { + Field field; + + public FieldAccessor(Field field) { + this.field = field; + } + + @Override + public T get(Object element) throws MappingException { + try { + return (T)field.get(element); + } catch (IllegalArgumentException e) { + throw new MappingException(e); + } catch (IllegalAccessException e) { + throw new MappingException(e); + } + } + + @Override + public boolean set(Object element, T value) throws MappingException { + try { + Object currentValue = field.get(element); + if(currentValue == null ? value == null : currentValue.equals(value)) + return false; + field.set(element, value); + return true; + } catch (IllegalArgumentException e) { + throw new MappingException(e); + } catch (IllegalAccessException e) { + throw new MappingException(e); + } + } +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/rules/range/IRangeAccessor.java b/org.simantics.objmap/src/org/simantics/objmap/rules/range/IRangeAccessor.java new file mode 100644 index 00000000..d46d6b71 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/rules/range/IRangeAccessor.java @@ -0,0 +1,12 @@ +package org.simantics.objmap.rules.range; + +import org.simantics.objmap.MappingException; + +/** + * Provides access to some property of range elements. + * @author Hannu Niemistö + */ +public interface IRangeAccessor { + T get(Object element) throws MappingException; + boolean set(Object element, T value) throws MappingException; +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/schema/MappingSchemas.java b/org.simantics.objmap/src/org/simantics/objmap/schema/MappingSchemas.java new file mode 100644 index 00000000..472915bf --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/schema/MappingSchemas.java @@ -0,0 +1,83 @@ +package org.simantics.objmap.schema; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Collection; + +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.objmap.IMappingRule; +import org.simantics.objmap.annotations.GraphType; +import org.simantics.objmap.annotations.RelatedValue; +import org.simantics.objmap.annotations.meta.HasClassRuleFactory; +import org.simantics.objmap.annotations.meta.HasFieldRuleFactory; +import org.simantics.objmap.annotations.meta.HasMethodRuleFactory; + +/** + * Static utility methods for mapping schemas + * @author Hannu Niemistö + */ +public class MappingSchemas { + + /** + * Creates a new SimpleLinkType based on the annotations in the given class. + * @throws IllegalAccessException + * @throws InstantiationException + * @see GraphType + * @see RelatedValue + */ + public static SimpleLinkType fromAnnotations(ReadGraph g, Class clazz) throws DatabaseException, InstantiationException, IllegalAccessException { + GraphType graphType = clazz.getAnnotation(GraphType.class); + + ArrayList rules = new ArrayList(); + collectRulesFromAnnotations(g, clazz, rules); + + return new SimpleLinkType( + g.getResourceByURI(graphType.value()), + clazz, rules); + } + + public static void collectRulesFromAnnotations(ReadGraph g, Class clazz, Collection rules) throws DatabaseException, InstantiationException, IllegalAccessException { + Class superclass = clazz.getSuperclass(); + if(superclass != null) + collectRulesFromAnnotations(g, superclass, rules); + + for(Annotation annotation : clazz.getAnnotations()) { + HasClassRuleFactory factory = + annotation.annotationType().getAnnotation(HasClassRuleFactory.class); + if(factory != null) { + rules.add(factory.value().newInstance() + .create(g, annotation, clazz)); + } + } + + for(Field f : clazz.getDeclaredFields()) { + f.setAccessible(true); + + for(Annotation annotation : f.getAnnotations()) { + HasFieldRuleFactory factory = + annotation.annotationType().getAnnotation(HasFieldRuleFactory.class); + if(factory != null) { + rules.add(factory.value().newInstance() + .create(g, annotation, f)); + } + } + } + + for(Method m : clazz.getDeclaredMethods()) { + m.setAccessible(true); + + for(Annotation annotation : m.getAnnotations()) { + HasMethodRuleFactory factory = + annotation.annotationType().getAnnotation(HasMethodRuleFactory.class); + if(factory != null) { + rules.add(factory.value().newInstance() + .create(g, annotation, m)); + } + } + } + } + +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/schema/SimpleLinkType.java b/org.simantics.objmap/src/org/simantics/objmap/schema/SimpleLinkType.java new file mode 100644 index 00000000..42307fd7 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/schema/SimpleLinkType.java @@ -0,0 +1,85 @@ +package org.simantics.objmap.schema; + +import java.util.ArrayList; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.objmap.IFunction; +import org.simantics.objmap.ILinkType; +import org.simantics.objmap.IMappingRule; +import org.simantics.objmap.MappingException; + +/** + * A link type that is associated with single domain and range type (class). + * SimpleLinkType is composed of simpler rules whose combination determines + * its update policy. + * @author Hannu Niemistö + */ +public class SimpleLinkType implements ILinkType { + + Resource domainType; + Class rangeType; + ArrayList rules; + + public SimpleLinkType(Resource domainType, Class rangeType, + ArrayList rules) { + this.domainType = domainType; + this.rangeType = rangeType; + this.rules = rules; + } + + public SimpleLinkType(Resource domainType, Class rangeType) { + this(domainType, rangeType, new ArrayList()); + } + + /** + * Adds a new rule to this link type that is enforced + * during updates. + */ + public void addRule(IMappingRule rule) { + rules.add(rule); + } + + @Override + public Resource createDomainElement(WriteGraph g, Object rangeElement) + throws MappingException { + try { + Resource result = g.newResource(); + g.claim(result, g.getBuiltins().InstanceOf, domainType); + return result; + } catch(DatabaseException e) { + throw new MappingException(e); + } + } + @Override + public Object createRangeElement(ReadGraph g, Resource domainElement) + throws MappingException { + try { + return rangeType.newInstance(); + } catch (InstantiationException e) { + throw new MappingException(e); + } catch (IllegalAccessException e) { + throw new MappingException(e); + } + } + @Override + public boolean updateDomain(WriteGraph g, IFunction map, + Resource domainElement, Object rangeElement) + throws MappingException { + boolean updated = false; + for(IMappingRule rule : rules) + updated |= rule.updateDomain(g, map, domainElement, rangeElement); + return updated; + } + @Override + public boolean updateRange(ReadGraph g, IFunction map, + Resource domainElement, Object rangeElement) + throws MappingException { + boolean updated = false; + for(IMappingRule rule : rules) + updated |= rule.updateRange(g, map, domainElement, rangeElement); + return updated; + } +} diff --git a/org.simantics.objmap/src/org/simantics/objmap/schema/SimpleSchema.java b/org.simantics.objmap/src/org/simantics/objmap/schema/SimpleSchema.java new file mode 100644 index 00000000..51280162 --- /dev/null +++ b/org.simantics.objmap/src/org/simantics/objmap/schema/SimpleSchema.java @@ -0,0 +1,55 @@ +package org.simantics.objmap.schema; + +import gnu.trove.THashMap; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; +import org.simantics.layer0.utils.direct.GraphUtils; +import org.simantics.objmap.ILinkType; +import org.simantics.objmap.IMappingSchema; +import org.simantics.objmap.MappingException; + +/** + * An implementation of IMappingSchema that contains + * only SimpleLinkTypes. The link type of any domain + * element is based solely on its type in database and + * the link type of any range element is based on its class. + * @author Hannu Niemistö + */ +public class SimpleSchema implements IMappingSchema { + + THashMap domainLinkTypes = + new THashMap(); + THashMap, SimpleLinkType> rangeLinkTypes = + new THashMap, SimpleLinkType>(); + + public void addLinkType(SimpleLinkType linkType) { + domainLinkTypes.put(linkType.domainType, linkType); + rangeLinkTypes.put(linkType.rangeType, linkType); + } + + @Override + public ILinkType linkTypeOfDomainElement(ReadGraph g, Resource element) throws MappingException { + try { + ILinkType type = domainLinkTypes.get( + g.getSingleObject(element, g.getBuiltins().InstanceOf)); + if(type == null) + throw new MappingException("Didn't find a link type for " + + GraphUtils.getReadableName(g, element) + "." + ); + return type; + } catch (DatabaseException e) { + throw new MappingException(e); + } + } + + @Override + public ILinkType linkTypeOfRangeElement(Object element) throws MappingException { + ILinkType type = rangeLinkTypes.get(element.getClass()); + if(type == null) + throw new MappingException("Didn't find a link type for " + element + "."); + return type; + } + +} diff --git a/org.simantics.sysdyn.ui/.classpath b/org.simantics.sysdyn.ui/.classpath new file mode 100644 index 00000000..8a8f1668 --- /dev/null +++ b/org.simantics.sysdyn.ui/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/org.simantics.sysdyn.ui/.hg/00changelog.i b/org.simantics.sysdyn.ui/.hg/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..d3a8311050e54c57c5be7cfe169e60a95768812c GIT binary patch literal 57 zcmWN_K?=Yi3qxA=46=De6cvzvSR z@!N|BOO+?9_l%T>8ph*KhGBhh+pE7-e8P@6+dxq2z{$^5)7w*lCBdP?c;E;e0xB^S zj%W$LMV%Ns$j6d#$Lk&xF$g#aOWiYj18f1!ns`<slNNwGPM@O2JI;DLp$HTpWlwaAXY$7ITP_?aZEc_xWjc z*&cYgW9*?e1r9~>dagQB3!Y?fGo=M1bldmmR29b`#+dk>;foNL7zu6R*n6F4A*;+f z5^~_!9ed;c`Rb`0P8MRYQm1Y!nV+ls*(-3UR1rmp`iR0b=cnd$JD0O+0Z?K_g|o~k zRWsSAyU>6cpFu}$Vho5Ks{I4ocoS>U%%)QHrK)(+h6D%^0ol-@=`U6DPF{tsW);x0 zy^fkP#kTSFk=$PI>vc8>*yg)6paG51Riy(f|Me literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/hgrc b/org.simantics.sysdyn.ui/.hg/hgrc new file mode 100644 index 00000000..c124c4b0 --- /dev/null +++ b/org.simantics.sysdyn.ui/.hg/hgrc @@ -0,0 +1,2 @@ +[paths] +default=ssh://simusite/org.simantics.sysdyn.ui diff --git a/org.simantics.sysdyn.ui/.hg/requires b/org.simantics.sysdyn.ui/.hg/requires new file mode 100644 index 00000000..5175383b --- /dev/null +++ b/org.simantics.sysdyn.ui/.hg/requires @@ -0,0 +1,3 @@ +revlogv1 +store +fncache diff --git a/org.simantics.sysdyn.ui/.hg/store/00changelog.i b/org.simantics.sysdyn.ui/.hg/store/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..b418bb5fa81604a030f5a069d089a05019f4f894 GIT binary patch literal 2266 zcmX|B2UL^U5>7}UA}uel5FzlSgMb7@I!N2NG($B4q4+jP5l{oNAfoh|Py~XIAWh2B ziwH`26ltQ=fE1%aSUQS=B0^yEv#xW_%zWp+bI+OY`{xb_3<86W3@i--aoqn0gFuHr zEYjp+)hXJ%ugjY!t}NjxpioOVa4seT+sVU>ey&&>F>_K4>cF?^ zzaBvBuanM;Vs40eO;kyllsdN`9u|*dYBJ1>JRD0BQDf;&3&xccjEXB!@o~SE&ty(x zb>x?kywBZ)G%-R_<>hJ~NmDhdYJ<85-qDOcICbW&#+257!#^2(J6qPT zWkgyQHNWGfrI4f#KEKvKv5eu0z3d>-w8grTWk1_}7dLsqbz{ogu;Qb>essKHWs^x% zvYYOpLRqMr@syc}jg7J9m}V9|WedCzm)|QMl6G$%obG2`9K(;N5xgTstG#SuXBXb$ zKEC-@&W#QyZR&37-GC-uSD>D3vHg8}E(9v^VJYP>waS4fcYo+iAkt>WF`Nf+dxsOe zvat@x1c=MFS~fC2LTmtJKxIN{NkErij^3sC&eauUIhxFbefm*zl!9sEWF!7aw2&GpL zV9v*dzL^U-zuZ6NrKK8jo8#KjeD_@09RsUfBn3}>?4IdGaKx$W9>aKx#<`i*GkR_& zwo4BQKwk;^qQw#TIyaSUzNf5NhXQI?>1SPK`1FSEcfsj44G9xrtV_5%?Uj?^gr}>~ z_4Q58)*6izplR^T;O>F5y${RjKc}K=}epMeX z7IcfkRQ$gaQ{GAHEw?% z##l~^e;ILgoM_^N`F9@JWx#VH4+8%hZa5l-?d0?wgex$-r4mB1=on#4LF$wIH*cXk zy&Hpv4l9q#X{UL${5nBGV@SvYF$a38h0Cb~(J8(*x8Y%JevM6!Ig^=YX^M%Xg{+6G zr#z=^J<>@n&eb$$MBb+;K6E`u^%5d$M58FT61yKEcHsY7lN^2JaIaRpSUY|XjO#LB z(otW-rj@Mg9X$;~!|fV@1|iBo1gn8SP=G8z4hm#|+^DAM*+tn-jdkf^Q`H+6v_3TN zh_KIoS}-j$t?gnrS}11roY?h|1a8Dqsa3s=5k|)A)K}-dl5^_(^|@obzMFb_NRpnR z2}0^tekUb)eeO>Cc~5npp|GkZEs$z*hit_$DS~nm1cBkj&ApWOHE+nqx{yX^;`xr* zxXP|Dx~s7JCu<|7b*nZ=&efV^e4gp)Y<#SQB;`I`abdPxtHK%aX#&v*LAjfRPDEIMq8M30#uXOHnMqVcGv2Sp>R^3{*R zs75cIAG8Q6g!rOty3Wa3~;ng}G9czf54%@|wrocLI32PhxwMeg4ycX|ez|N6egd#WL6W{Qbz6 zG%u7k5mGErW<0wsEY*?)6=7zx26lz$FCqj{fzm!JI^(ZVkKVU>i@`^{`SC$vw{Vim zS${kqy_$m%A2iRcf%Z3~ZWs`KBDRhTD|zX=UR!lGjUI6) z&_aa4` zXVS4PIEtOgOTv`QK*s=|Xv^Y=_p&C*x!6;nHqMRPdN5O+Q2fZ$2NI5{ZALw8X6Bb# zHzR!93(6W3KNydy#OoiBM+8WZ4~&@bd-W=9eGt8yJd*4wTjv-y0yG95FBhP(>H9MVG66EE8c0;_XqLOKStRzKi95OiY$Vy_ zqiq~hapgUT|02q;z}jiKL@rqlgMc;Vjd5U-3Sy!e!Eo$~!h4JMo%T~v*)SmUXw#N2y2D(tutSF=B ztxf_u$Vw@)L~&z&KYhTMCgU-V Z$dL4|NwRAQqX?wb)~fVMgb{y^|8MhJ(8T}% literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/00manifest.i b/org.simantics.sysdyn.ui/.hg/store/00manifest.i new file mode 100644 index 0000000000000000000000000000000000000000..57ddfd3791967ee9c00b3d924beb2cd244129afa GIT binary patch literal 3636 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 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/.classpath.i b/org.simantics.sysdyn.ui/.hg/store/data/.classpath.i new file mode 100644 index 0000000000000000000000000000000000000000..9c6191bbd241cc32a372eb691a816828c28894aa GIT binary patch literal 278 zcmZQzWME`~fNKm4j1^Ee!+$7nEL?j0?)tZZ3*$GYBt?EWCRw}01*Qf>SIn6@;b0b% zp+MVt-7m7!?#x{~{nFvQrBie@Lb~&+r_SJceWgT5z4OKG)k}juDts~f|KaTM58=&k zw`-eeOtiVaivRm62eW%ZxceJCl9mRz39W2MXg@R`1%`b|;oq-gEOk)p>_ z*X}84I2PE!5pULbdFI(q4_Yp6nYrKR*xSzqcYIEJ_gO65P?k_Q(fY)f>Q1K3OKxUu zoS*+zFTwJXv~6}(ZAHM-{qbC42P+%}V$y}Syw@u~@^O|{m*vX7$D)^>ixgQMzTxn#JML?V#CNGBFjV21J(@SLT%@R#+(% RrKYD=6!3DzC1vL60|2)S7-0Ya literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/.project.i b/org.simantics.sysdyn.ui/.hg/store/data/.project.i new file mode 100644 index 0000000000000000000000000000000000000000..b7fd29d211d6e8b787b680b314d8d2f99cde3471 GIT binary patch literal 308 zcmZQzWME`~fG-RTOlzQQhW}8YWxegCY8bD>YTxUT>H7D@__v-v1XBZ|E9UH-h)Z*?+tKI5NOB(O}YGgH; zq_pb5A;TBS8(W&L=Sc=%lUQ(r+b;BIZhD*651+j%GGDJXYOOjsTW0E#)t`HLvRuR) z-j=4E`W17cc@5)-`0x{)FWW~7na!{Vft^ejPd0{Gw!{7e??~0^6MG}$9Bx$ZE$~E`O@pR)&cKxQu14 zpUY^EUUJ&{;qNyOo?Lc#E9)^SZAtsY%ugxS2WQ`3!s~YW&Fn4r}iu;2`%vS bm%7q;;&Pl+-p2o%F6wWwtYetx)+-AD{o82) literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i b/org.simantics.sysdyn.ui/.hg/store/data/_m_e_t_a-_i_n_f/_m_a_n_i_f_e_s_t._m_f.i new file mode 100644 index 0000000000000000000000000000000000000000..d881768c10899115783f521eb99e17899b3b04a2 GIT binary patch literal 449 zcmZQzWME_f14a%82Bw7&HUqZ9C~*mM-y0?uU43`Uw`s>2^Uq<|{J-zA(%L{Tp4o}#%Fo%FZ%*yv z%ZUBdcx+Nw<(>wUs*kILX5{EUT0f2VRG;UW$K_K0zR%U!s&Maqc5t)m$tlWt2g|m- z5~+xa4%+GJX^^%UH(t*v2F^`m0YW$HU0SdHL1Uq zA`fWoYVdr&`)%QwRi!u8xBWeG_D%Yu9J#v-LMz>uZD`8rX(>oCt(#tXMJ1wLt#w29 zhW;uY_tve6XA7%3Cx<_oR(?ik-f=PBexsRfF#*YiJ=MGXWGvS4Hhol#d9>y6`er@< zNv8k5bnIg&R(`e)6c(Tm1OiK>aAX1rfPzxv>Aeb_IUC=4&sdmev>@xM;rgt8kQ@Rq zl|c3BD&!ZX>lJ6_Cgzo7CKv1FCuQX(7FZ{h=B4DM>XxMz6=&w>*(w?68R{7*aRC6V CL$)UX literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/build.properties.i b/org.simantics.sysdyn.ui/.hg/store/data/build.properties.i new file mode 100644 index 0000000000000000000000000000000000000000..e6361bc594bfd48f349a31c42034c1c8339c5e93 GIT binary patch literal 144 zcmZQzWME`~fB+zs3uQC>hl2Bti_cAR@zIEgR*5XUYQlZ-$fhGOH6XfTj`lfyT`#|@ zmxDKiYUp`gd;av4zOJT*E+e-}>N7^xh9z-naYcTaURj0#7p|Kg3A}#!yl=dE+jMV6 a(HDt=+9x!9*=GezoPGE-D?`E}sdoSq7&C_e literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/doc/manual.mediawiki.i b/org.simantics.sysdyn.ui/.hg/store/data/doc/manual.mediawiki.i new file mode 100644 index 0000000000000000000000000000000000000000..85d2ebdf4da0195d9b5660a5fff616629d4d6f40 GIT binary patch literal 302 zcmZQzWME`~fOiZG%*9YP+kYsSd)dn|DbDH2ndEs9c26(Qei_1`4^;!ED(1Wm^vyox zAh4JHlYE>4(;wslx&uJ&Wg!CaYOox_C|rspu;VjChY$*F-^S4 zRr{lgoTKIMn+|t-9P}5o$(q|1_53c|6_Gx5ebNTq2zjL&+U3VMuJ!ppJN7;1UdgPT z@8|WG3-dhlVDtR%Qe>f89mPC_|G4Uz<1^kC{jE~@y4j$%_C-j__XY8aH&u^4(6+0+ nJB#_%{l&k3S!x~TnO2ZF-#p`{!{c~si*4T7FU*%r;tB--VY`NT literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/plugin.xml.i b/org.simantics.sysdyn.ui/.hg/store/data/plugin.xml.i new file mode 100644 index 0000000000000000000000000000000000000000..8531c64edd08d19fe878553867e31da2b05e33a6 GIT binary patch literal 346 zcmZQzWME_f14bzZ2BsAdHUqS zk0^-jnf*haV;*a-TuZ)>WdcWy}{l8+j=NGGblIuP+d&$V|QS1L%c`vEt`W*hl8y=m{ j+LKaTlp#zJGiH5C8&xA{+q#`>+4!0buVJ8R|B? zYS$gUxs1MElCqN3Y}v({|1$y&rBz&dV>f*AVC1=}qvd>MYf7sdvSKO*ByTfp#>MiB zzKkLJ6;!HoGkvDUNs7f4X_;+lvW!f|M;bZ8KmYjav^}!I(G=-BxpKaov_8s1SZDm| z>J!hIfl%9aHoglkGXq8AIQTm-p6ao!*oa9y?$i^FI1Pjilm5t}#HG~)Ii2o{FEMdI zD~Ty1Ar|nSm$BV?RA^TTi1VDAA!a?9^taSY27#Le;JZ(iB*e3AhhKf2$%MLj9eXls zd;4rtpvVDxs@!rI^H0pF@X_=sdP}^P>xTsxk z6j+&B5Pd%Zad65nEbvG%Qd;)PhP}}!;j{fa8S?!Q3QbCj)uK-+>mYk-Xn;M$82zPA zJIx(Sn7faOl@zmU;xM^9aH(CZa&b)R zTeB|V94$sG$i=HAd_ctM`HL1_Kvn#CV?X+uo5lUUK_!UnHuaGgX>Xm68xnCAy1BY{ z@0-IuDgRrP<1g}yIddWczP?+T(rx)w00QTBp|4U3481qBhi98F<1cH|;OSL|+FLMC18HGz@`_r#b9-<~RUx1EN1^pAW_6OMjASwCN0RUK_g8FtMLvomqzKt~Z72H`p z)aG3s>8f9upAt%Qzk2m@56~`w*=L5sWv8cQl~Xdas85R|(_LspmvmaGBq24Q=HJ`H zVY34zV&N7tbfC1T{`d=UrFK0-RTrgLh;6xOu2#fgurb8u#zsPwp{{}U{*r2ERI}=p zGxgPmOdWf8IS%Rvx}^%%efnB6Ix98LMd&UiDuw86_xNnM!*%lqk1f0?o-d9#XCS#^ zfS#sFp5Q#NtYCwr0pI{n;C>+bV?ct>5-x3>^Xg#WsEZ`o@EcYEe@w8}ekOjcP+D?I zFXpw`!8p{W@b{)z%MoXahnlLEl`8+41%|^PZ2!zQgz8FL<}>WM)(uNANE%tUHm99+ zJ7nC{a{(TG&%n&QZBDJ5q+C32=~L;P{k{?XHp#TCk!DJu_0MF3cXxw`vre!@QIV0; z-UT{ACOe4W+2%Xz)@yGPz|#G84c8P&QHk!J4B0imubqXgyPU{WM<*HAt*&6~kfFiv zaMZkCL6ua}$qDDw3FBjQ7P_r@vamKaN;A>`QJcr4=KI;0zq?w5fQ#YT?^D5~(`-3S zosWBSoFoi0;Ql0MClkvnNKTn6;B3i2lj^)Q=0m*bV|G!-%E72`3J-OG_Z1*o)`{bj LIjHwei(CH!0S~s7 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_arc_element.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_arc_element.java.i new file mode 100644 index 0000000000000000000000000000000000000000..e217a5cd6ada07c8e39467750f76e5491ac96143 GIT binary patch literal 2224 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 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_create_auxiliary.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_create_auxiliary.java.i new file mode 100644 index 0000000000000000000000000000000000000000..90dc3a818ee546cd35321230c280a07dd3fe58ce GIT binary patch literal 335 zcmZQzWME_f14e!Z1|~ZQn}Oj!6vX#1fAxHPoaxED?J);gd*25Q+ea>f_ Yro{$U%m;g?Jer^4V^hbNdi{_N00MQG!~g&Q literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_sysdyn_resource.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_sysdyn_resource.java.i new file mode 100644 index 0000000000000000000000000000000000000000..91c3cbda2ee91e208448f83bcff6f4cce9b66217 GIT binary patch literal 876 zcmV-y1C#s!0RRC20000000S%l01Tr50000000061|NsC0|NsB_oC8pyA+e2CBRt1N z*I0s)EE2Q;00000000000001ZoUK;hPunmMen;YeII))$L0a}QiHZjXY(p9wf)1^Z zu5%>T94E4!cGblHzH@#Mx20(+;Yw|je&2WJ%Y9c5kKcD49>6hNW%*KzII$4$0el>d zKApnTWC9c9i4vSictC?p^8~I?S&fiA!xy0>Q&CtdTuKS0f&ooXJ;x}7Ng@p7I*T<+ zfuLX$1jc!m=1eVxiXmkdwP4beB8-Gn77=F7gk&>`P^buX$s=HDTwHf?!==a#!hJE5 zg2Q*gQPJi6EF6_ei$qYaO(=neSd>d7jMZXRSdpodG9$X#24l7)C)VcY!{K7F2(gM2 zW;z~9jF}u_E>GuYqcE|lbm+Q%s?yE0IWOWq`~3+bXRzmzWZexm2Cv z`>x^PLC*Le7E>NN4vk2evVxn?EKRgjVIjtc2ku3QWZJHQqFG40$qLPJ+y!CLSIzRI z1M`T+&;~mY_?KhuiV$8i%Vx~rO>?JAF|Rs+OJ)o_mf1JC!9OY-t?Io7J_}Vnj0*CN zncw3bfN3Y7ig}ksDEs2>n4-$-zHmuSxz181R3~GC#$F5N%+`r}V&ph#_g#OO_K7>ARa^hya7W|5lGC1&)1H!E{rf0; z@cjeS{jg`8nzetpwx9Nl*b;jN^;)t|C=cE)wGMMi#!3~S3vfqcoO&@B_`+T$iZIZ^yG5dPdvB$hvPE#k&%HHUmM^>N*lsZo>q~f^?B+MXx5%yQ z`f1eo!EVc~oe@a>R?$ytN4M1{6)^SZMQgA6r(pB(yhb4(5ToW+96hH)Yp{w7%Rf_J zM?425_oDRBh9N6mg^P9LR2x`xV-sIvOb21qT}hlc?ZKvLJy+AmdbwZRk?cPbG5-$V C>85J{ literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_test_diagram_editor.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/_test_diagram_editor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..b96de6da1062bf47cea4351d30c46b21dd7161da GIT binary patch literal 1058 zcmZQzWME_f1IDWi49qVfYzBt^P%v9{gX65G&kj=)*S!r=7n%2d+PT9pH6XfTPHS*( z_H6@!e{Y=rH=j_S$vW}vVTqPHiOgeWr;MiMi5$}ifBoprq7#mj?xrmMUt3lDI!D!b zPRsjw)$c;BSC|DTXZz^t1*G`q|Ga~=YoY&ypbZc_g>5}04 zRM#yC&6At*e)73vMP+a2F6s*9T9bM`<8B~BTXlO>)HJCBb?noXe*bBHmdYT~np>Xn zL*qtd){zx++?aRGIpJd}CN9U;Cv{eM?~MC3JNCua?3x>^JMHrmArY9Ro2 ztfkcP9mdTMKIHCJcTM2i^GCnaB%nCpUF)H%!oG`5!`7Aa2QB^_Wv}>M(&UrTgpUof zdWrKZC7+-D^xS>plK2z%ebkb_RT*_I;g6g5EPJlJ-_c!dDz}+3_mv#8Z+mYqG2_;= zNdEYfMswol>R%R&a@>_|R`E33+;FA-+G_>NH^fi2^W#Z~`ny7(>DSD+LUu3nQ#1=K zE+=KVoY__JA^Sr_qy2vdy$3G3poj$}2O#*!z`z1a6f7VCP`VIqJh6MCgD0n*v-jK2 zYGTXuRM*@9$-zLyoT(Fhy;uwdS|7hr>d?O47O8rHC8qnq1D+1;Lcf5LQ_JSO>r$CH z{~O!9L(UbB&daL}^Gd{A9iP^&k8|ZH)c1-F{{GH6D1Sq9b8q#dV|IHh=Fe;V`0Y_l z$L7;PkFuxyx^TlowqTLftsCywH{YGqYBlkBhP;jOHO<5SS(%&;9sTB@>-fT-_4>){ zvxUA!ciar^d$lx1$b`}A>9M-y65q4tWKI4Wv`@&{`fOO=Bz`V$>q*nq?K$;O0VDC6Q&h1t9NZa$^fN0w3Ba2SG)KG$|0aF!o zk`odN5)u+R(ixbKNeY}vm^CwcLVU=g3Gq|bh0mEedq()AnK5g^Vary}rY(IowL<0D(kDyAG9_MVXrwL=%WBEgda3bb=`?MHnF|-L% literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_connect.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_connect.java.i new file mode 100644 index 0000000000000000000000000000000000000000..e7da61944632958fcc6448990ab91ecf77ccfa8a GIT binary patch literal 1279 zcmVC0AVzm;FEwmRvy#PnA zJ)1R6?8tUfD%AguU)goiO^ufk{RhF_HR&^H}!`V5^#$K%Dh-UbTD$pJiPGkYX?ek2KL-2X{-@2w2`s` zBG3j(F7hF%P@vlRp*ZBbSGeM`Y%5jXa|%V!(A!{w8%}S4MXin=gVJeoUiJQV7R;3} zptgiUo|t0~yRRk7_%=_yU)ZwSs_Gxf%#Lg9AhdDmfWS_xz_dyrquMCBcVGXBsx7Is z*WJ${*GbM$+c09_d2kDJ?SSiH%LA6QRgS&I^Py;i%m9hb&d^Bg(A?uY@>;Dd{feN9 z5JsqtJlcWqO%|SIVe5uyMBl|4ucaM2Px-75>5BW{?epLkNs)yc)?hx_RzMyz>gCq$ zM_#;I;MeEqq3Y+f>N{s% zw_`Pgb?Xc801VbRYW%Susl&bua+jLleuG_@E|LAle5!-{{~yk}+$K1CoUxO9on-4Q zSErbo_T@NJCm8%luN2g>v*iyvgL`orIhEbJ-%I=X3$Q2UE&u=k00OoE00001$p8Qk z8vp%@nhmDhpMPg zV-Yf`MK`ALF!qO%CW7*Shg|BI9w#p%5G)#=W-CT!Ug}Ap5`S@8hYz^)x$G`sc^0VW z#aY){bsrX|-LT+^k7x+3(JaumXCCegts)xn$AriFiVv7M2Ta;&&Z1wlK+Wk`i~B}s zy@}B3r{{?t)(W0Ec-&m9F2-c5ShzVtW(Fi>G(D2w=11+-te=PS p&u`lGto*WUWvSPU$tW8vHyQxwf*cF}hzjl-r$Kuv=QyGzH|(QvwEnY8E!PkwDrAD?47+bC#u(KtX=K*e2(H4gS%7brn3hx@)d3V z{-`^B>(L}J_9@0YSk0^-2(Lan=a-Z1(Od0>jb5SkXD+Fq@!kA2GySfEn5U8Iy(K|b zOZz9L1bsbKQ7ri3n8ov_O7kAQ&~>p7T326Wllg;nanwCGPzZs76$p+qFfglwSquzp zAQ}|DQh66YyIlRi&C~zFp)=*q0OAM zf<@RTHHl|!Xrzg!XV8M}4<_AV{>~^A@#%y8pP3sw6aH=zeRXTsfwkI8-PigYxZ{2Q z*CNwRj+~+y1_w_kZ}^#NzT#_*+jIS6%ebAE1WqyIUlXviOy|SLp8Oq+*8lrm|CByb zeV=gIcCF$K<3)|qQ&Tt}CKQWakeXQXN@Y?@TyR{%hIN~_t?*iI@^qDk-ItF)Z^*XT iICrWsFE&|Hd0s}t-i7@-Tg{0DVIB+gs+n8)V}k&#JrwW& literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_create_cloud.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_create_cloud.java.i new file mode 100644 index 0000000000000000000000000000000000000000..962919ff5179db3a71eeab9676b45287bc27ca23 GIT binary patch literal 362 zcmZQzWME_f14bI09p?o@`Fq!|+b!M* z<>+ztEwR1-{?S{mdy8LQNM8NI>mcLSfRxis?LGe{|4mhOb$(#IFEmYPcTdo#!mO!p z76iYL$dX=_kGg`V76!>#~lyX4w?l26pkkMi6Lk`ueT zDl3qAiR2xpy%HPNWGzaY$Kth5;o=w0&w;!XV?uZCn^#lBBfl?AaPO6z;)x%kjHi8@ zYOlCQYv&=Eqwi-GFH z4;u)yrn7&N@ADCo;EnZNctJ`?qvXXUzo$B~eI2@zo_?H5|L>iolOddOBI)PC?{{C$ zGg)Yp;GYnyzenyOi|*bJ>g)a7&O|NXxg~XfP5A4na_X-SwU*W|XVH{hBfML^ckkhi zXE*I+lR3$=ST^&Pg;`K66_<#Zx2<8HV_70fEz`zEgL80r@ zYM58Xd4>Pk)GoRC(SK)f9G=(!RRg9f<|HR1>^XhlfXdMW2NF)5l#H1)f6m)klV{DI z6~1T!*V0_kPeG?eCoDCYa==DamNiaqL0Yy#AG4G}qcBI%=?1PZmx8@(K1~+(Hv0V8 z#Kdur2d}ShHc(ZKSDI&?pvMVSW5c}~hTbR1%bEZSHLlJ{rrPBrgXo2Yu literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_create_valve.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/actions/_create_valve.java.i new file mode 100644 index 0000000000000000000000000000000000000000..8cc9081c1af5730d8211a8c984734787b6675034 GIT binary patch literal 354 zcmZQzWME_f14bnV2BvNZn}O{=6m&OUIl3}4gJG)Ec?IQoEerGOOA4WCz*NPY-bs$$ zM+^j7&&S^QZ*ZJtn#>+C#|y0DEC-ukcrH78fp@l=si$`LkNdut8g{cz-@8TjS#AC= zHOURO3GNB8>U&;YWVu@Pus=?&S7Pb`GmY$;y>V;9SIMv8=6?CljcbxtgnAi2mv#GJ zv*}+|6O@FH~oT=I*XtFl5-1ArVZ}hb@UoF1Z9ezbP_qmq3{4uxH zVo|;K4)0awnPMs+%gvI0_1){BKc`)N z`>Lolj79u;jk;1b%U&IsGWn&(6w4m&DVtJ~+x9&$(P?IJ)md*Cbkj1fq2uVQ-j8Qp q4_ZH-GoP>Qi{&JKeUk-U--^!%O3ZD1;O6z!KPt554^!XTdu9NBY?#Ub literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/editor/_sysdyn_diagram_editor.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/editor/_sysdyn_diagram_editor.java.i new file mode 100644 index 0000000000000000000000000000000000000000..1e25e841ff2ce049c4862d60d8ca14c7f11b94c0 GIT binary patch literal 3481 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 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_arc_element.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_arc_element.java.i new file mode 100644 index 0000000000000000000000000000000000000000..5a56c731d2412a73d054d6d206c8bb3985779462 GIT binary patch literal 1853 zcmV-D2g3LO0RRC20000000#X402d(u00000000F4|NsC0|NsBKW!o_ot=+c?i+Wk3 zGZ!_?U|q}r00000000000001ZoUK?}Z`(E$epZ0|2QC8&$+qN6(PGGLP2;o)&^AHh zq1)5INVLsXmRyQ(f;249$hR`#?cqN#sPld!CRcs@Q$-V;-p%oH+xU#6i{Olf zqjB5h4d(Oq*;^8FoXlb(Atk7~gZU^5NJM$cf~zsbGlmxz^6_YwfZA+uq5eMydi4v~ z4>aQ>AR$4L|u7M!O^BKCbBlbvE~Av9)qcCmhn)!JUa6uDFb&zHPe0kXKKRi6xs@bf6C$sDKFrc>8*3p>))qn5rC@rh)B!a$ij;Pp_4s8dTo6%b|;{Q6Q9K!)PPSSS=6XVz!{;;$1R4yaeW3@101O&qYPD~!*Mu<| zkqw1)N+YCe6*A&RGTj_qlzdn)*~hX zT|r*W3hJ%1k2`hKgmSl1TF_G7YBo|aj-ocL+o!C3fMwN!0xAaFG8_U~f0TsTbw>DI zh-0D-dY7{mX#&(-LLQLS6u3jrAa#&6RoCLtCQy3JiaeHbh$<2xDS<*p0CFalcXc}C zJyS-C@-Es8MujvZ(m&N|04XSuCrI#DBf(h0rE-H6pg?$ZlDc`fQUW_dLs1_qZ0Q{N zC)Gj-Le_k-Wxl9uk7**c`&Nkr*haS=$s4?lWVa#dKOq^$X-0%qD#l=huUH}xdbHsp z8O_RxvM|ZB(d3lz)<7pe^mhE3(OK$x;`Z-~GULz|@ITwY`A}DoXRX`_@RCM_%tmo{lJT@35e3`UimzA^3sg^r-n71|((E1R-j572$O61|g3Y-?g$ zcAL0*D`i|IY6H|64U56KmjwwlW>*O(EQ4ifGCLEqZU|){grs7-SA7!@@J&1~ou* z>e^ekE3>7Glf`l)Z3C+C(nDqU)R+~v63f-*%H8(?-2 zRXQZAlQa#KI&np==?3sOh?P|wiB)?thV01J!^*t-&nDLKkM5h!E z(13hf0b}pD#6Wnk5O}q literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_arcs.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_arcs.java.i new file mode 100644 index 0000000000000000000000000000000000000000..1ab84c444f943b0f1e027a9c80195b4d7565e1e6 GIT binary patch literal 1131 zcmV-x1eE�RRC20000000b)l02d|z00000000F4|NsC0|Ns9mHvR_WVT014u#>s- zIO=g8`sT|300000000000001Zob6XzZ`(E$elO7f!0w@t980zobPv;-A=~m`U|o%F z58ERx(Kc6!G)O9un)<)*P@*oBlqM~_U@bx$7Db*5&v$P00mtw0jvy{}zN8suipJ8H zrA$iZ=hP=D$p}+2dj9PBGnyT^Q0O0gjeUHh{2k$$|Bl28vt3HUUn`%SMzrUeUJCA~oNb+feHk_vfGtK);!}?ah2}xp^70glpHMC#PEvpxcKT4@c=JQ5}5Ax3Z;}0v=uxax^ zIlKh(GH`wL=id0D6#?O$5iE0|BSf_lwB#?3{7S{!Eu^s1L1gwoK{G93I^OSss0`-g z?JlUadAB2iq*y{ZC<3ooM&r#=ZJ;h<|I&X2c+>_%S8-~w?tmFE0RS(wIfLxg zqmfxXJtH}q#G@h^Y;|wPiBbSH?iwpHNR|AMz~awDs^3YWtWFW<;<9c4W?=(V_6j36 zm!p0HHa6?v^G3?R+?L|(weBy`UF@w+cM^t%a$J*J#>j@}*v=jX%UY1@lf!axFD%}t zV7Yh%SSD{25F#sR*FwV0iL#xIOVQdNm+e%HOK1mR?*azri`BgC^a&M1@LmkpdLmn^ zAbA?`kj6HGdfbkau3tm-A>eMP-ca_J<3c{iMKtEH3R|HI+xTDu=}l%2?qs!?m}@yu zYlJ(j7tQD!IF+&;roCvauX?AH=-nyuXfGYV40c>R!Tva~>svvrJ9sbT|8}NSSg@C$ z1$)gWDFem|=l?g%)1vg4il6n$xaB|g3of4gG9^ln6Z@s4%re$Cqw`M literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_auxiliary_element.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_auxiliary_element.java.i new file mode 100644 index 0000000000000000000000000000000000000000..8009354b8edea0e25ef1f355acd4af66e5083dc5 GIT binary patch literal 271 zcmZQzWME`~fb$Ftj4@C)%YP`i{lP6pWY(o~3y-%^-@k5>JteoGmQhu3rP*<_X--LA_xHwKYrS~5Mc~(uzpAWn_7y06 zC^R^vZ1vQyN9E;YV`1q{CX<41PIry`AW?IL{o3~V%52T&DqU0GAE|NSc^=HQW!1fH zn{LewJ)C{{%;!Jl&N8zeSAG0h8+F6z*p}6&m3-Dd<+JKm+ThD)FVCp!wNBjP>67i{ zn%&Fals{a&WYxn@w)_71%bISIK9J=7jkRjNVN>eqpuO`NbBtKKuF9TqS@r$)FPVIf HfRa1_`xSe1 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_cloud_element.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_cloud_element.java.i new file mode 100644 index 0000000000000000000000000000000000000000..644505e666d017135e73849ce4b93a5320b6b08e GIT binary patch literal 842 zcmV-Q1GW4B0RRC20000000RmD00&k800000000L6|NsC0|NsAmqr68KVM*~#N7^gG zM%?)#zEn#900000000000001ZoQ+joPunmQeQu@x2aCO=EptmIG-(+Uqh$z<4MbsD z_k!HSB!<+EY^P0x`0u;6lakOf5w%fzeeSvU+>bOP;UkGD5;De$EeY2wR9KZNDml&> zrYT)gu2sgHEJ=n5=Ryk}SC?vp0QI zNI8uS3da!W%%5Hn2^m&#dfnpO=CbXNUcg|P8LF>lyD?X zLudqU_as&I=}Ww3iM&2~GO0YbGHM~JjEem_x3cfb1eZ>j!kJK}5Jm9HXvCHQa_n$F zzFbi$Swvp~tptk@<4k+4SwNY6ba6TxoxtY~Fo~?e+Y|%a?)QTh9xJNt5_$HHPcFVq ze(b=^LXuLqhMtx=-34){oUT!0X}yEK!{%88CHL%)|BID$DOS{bEe+T9;H4QY3TP_K zD0J1b)bSk4XtWSH%(+SQyCh5MnU;KP4(dKK4QZO@`^d-RK^yeSGI#3Sy9R2n6KH{{ zfwSPL9SBI;q}!>+LlgjN(gw}L5)Q|113HEf8`(F)W;_&y%X277;IyRo&^>1M_2?jA zUz=+&JP3wER+XUUhb>RdoOnMC_tiNX7)@x@TBtr)S^j%$A56Ue<8M z_)hrT!L7hBmsX**fXxW?`~j3{h>HGTj1Mc(##n-}bjB9mqWwV|Z_)l>8*i8$$kMrF zY+s7%xwN}!o}ag8-7J-7a(A9?xa{(QoS5npYw)LTTFuIBv#T%1^F4NT zD=c+1P$u~R00000000000001ZoUK?}Z`(E$epZ0|2QC8&$+qN6(PGGLP2;o)&^AHh zq1)5INVLsXmRyQXq!#(_JG@9HCCg5W8G$14T=?5yep|7C%f0Zx*XV@}f~3*IxloKK47&&b@87;_Ts@Mac*-)2I6Faw0| zN8=mJfL{aL-+NQd?HOQ6+3S*pQ zXid_95Xm8Aq70Sa08eKos)rT&vA^fQU%vwn)Ik$iWQ<~x%=jFoQ^e;4VaC!&L^E`D zdwc!)-wzj`-cK%vsB3+XqS?a+imYloJ}x|g|QtYoe+n?qhHr~NpRHAIfp^e>FAZnawY9ElwsoZ z`{-SU`WVXh~pcKDoTf#3#nY0v0EApnD=Y4z-Ht{(_v zG$Lyx4=Ih1E}(xcBjHf@s!AmFU(dXfWSH6!x}F^AoHmt=EYb(!YEf;>pd39?gW8Pt zuvmy5DYMiSYf@CPqIRk@j-~EtD@vMB?pl=zE#<4mEwSJzY6G&FWULr`pcD#LG2m8V z6v*;bnnKwpBm6GJF;RVj%h`%F85AuckI3jL+@V*qYIEvZ9Gd_t-x{IHQV#J)A|xeH z$Oy2U3H7c{qr6v^pQ3t;)`L+Y&4~0*bt(V~O6v&{_|-@-mh5u!l2?3n&N~^kM_OsLvkLM9%ITr4`uLbL)}3fxDFKHYEKWl3|=?L|DZ# z1|xjM63L-Q8!nR3tehwdn%r8;>?^%B&}9NzLw?QZEOkBc`nNS%>ChJDe>O4aLtSg0 zrMZRK*4z+Fr&9=i5M5Km@1rmqzRz4){XKLHd*6WguWhbB(U81^?Ok$bbe60ZTEONz zR2Mw6HWh+N1@!7}lj3j4C^QW84J@9RZ^&W`iKM7G<0+ z(0#fRJ(o&sgRm*P%eZBl)=#_3leDPt`bgI25MMrV>uj_2`d~s!6*}U9o6PpbO6x%Lhom}RZd@YK)MU3c%xqLu!h}yVHL_Vzc z5SDBudexU!R$Jq;IwYf$EE_1bOdhyOp~k2wvbkUGwY0`sNLj~e+#dw;)NfW0z@)Bp8JHK+_m(U%6?YPqeOnX% zcyfv+qQuAsXNp7Oo{JC?;}A>VzptyD{6r@w$hz6oCre~{-ko@2&otRI7R{iFpf#(S zZ1*u<-&5SmbARjoMRhHp?k{9+!1F&Xy$Cu000007Bme*a004LZ02oXF00000000L7 z00030|NsAp7Uzc!V^dE}b5IUb13aLQnYw%c00000000000001ZoMT{MmSg~92J_6^ zg8ZTqh5Vv)z2eN=#JrNsk%y!?{HlFaFB@IcJwvC`xVTQbU4nhvLI&U;PzgvT@bk?Co-zv=Xm2b#%A#0{hb zRn3@o!@>Z1o&WasfZqQE_CX|?ORo0enKBthT+#Qjl<3BD#J91@IOOz3L=g{7z&^nH zPW(<}{QPCc=9EbpYoDic= zL11#zG1cU?+vIAIibyb(c{SWwow4H(g4BJr3gI8Tmk18-e}P9gg(^4+s(e%T1BNBo4;CU+F}wbK*@F46)x0prpxQ%OFP_QNCXtHI;wASj zYZ+Nu(0eYqTP33_mQr-Mk6z`c=+nm2m#sz#DYRc1USw__t(itK3&TxXUq7li2tm(9 zA{Z%tSu51cxT@zJns7Y~Sj2}~#b3Fv)q>Z8^MfM0n?>SZyIq!SQ*f=iUGZi1oibLj zh6?2&F&rdN93WRH-nU(so)mL0E1$wOG0aTliT&g&0~iIv@0>`!vJ~1kaHG7yB8XxU zjAB1Mu8hVb)R5I_naiD$)AQ>51SaP^d*wW zgsV&Qq|wG$VwiIuXIMh>%n!z6pg#b}Ukl9dyOWBv*9vw&X{Q^-<(=Pj(H)~p7A<*o zvf{F3y(>!g3~J9HVN=xuB_^@o!pF~cJQW4K3HJoJA~CL9oDF8T+b(tk?8(3o=&a6= z_(0oMama4JcwQmwuXq9bl#eX=ff)P5_y0u~?8I*we_B-Geh7VSBZEk=>jHdknRgGI zKR&m)HL^S&CA>U4t)2lpYDFXd77`pL@6IvKZ{L!V&QhdbAidDqRO^|P;y{B|IXeOD z32`JtjB?LhbGGuZbj|Zp`r+tLQGdEkf7Yqk@OfVwDtyL!*ADaL*wQd1-I9THM+Tnq z3}p2TJmne4Dj9e!0%HcctQ%+hy1$93;d?y?uhl?JSlZdQ5VkQks^P^MEX7@CMoWGh znnlw5=Tj^?V6EB5goNE+1{_xSN`D#Ac`=wJ&n$MmGS|RvHn-jE2s<%LpL-)$$Gx-p z6t{P2<$7WH1;)oBigMXazk21;N$V@Xwv}={Z`^V9Y)ICM`~`>qjbbytHpv-Q?reWW zRdIh!g&y%lZ`(RFAQi^6vT>9FtKFogO17$gH@YArbn{+nuEs3j{(Ib(kPd6pw{N)i zn~lqg%wt$#$Z@;(R=bBknx%K+eqQd-`F?JS0KWeRi91>D000001z7+90000$000r( z000000000700000|NsC0s)9Sy@xDlDO{bZKLAE^l&YFH?DQWO;5Q LMr?0)A}I|DIwb0s literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_flows.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_flows.java.i new file mode 100644 index 0000000000000000000000000000000000000000..9352f612681b58975f676b7366892e35dcef5a83 GIT binary patch literal 464 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 I0do;LDO560TL1t6 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_text_field_node.java.i b/org.simantics.sysdyn.ui/.hg/store/data/src/org/simantics/sysdyn/ui/elements/_text_field_node.java.i new file mode 100644 index 0000000000000000000000000000000000000000..16d865c0e603f1553115d1e25b03a4e05e4ca1a2 GIT binary patch literal 487 zcmVD25tqG~`$3 zXXj_CZmc7C<$KQff!NL8?d?8hSO2E&9dD{gwOoIblxS=Age7q!HTIAbP|N&58Oa{D z*wURsEshaiq?Twn=9ww@kh8Um`9!5C4C444qtUzcl zpo;|A+#cviNEV-wdT*5gWfT>2>G;(x5^0uEr95ll8rszqb}{URaO!Xk1`jZ|Eb>=N ze5Xw8z4N4azBsL59_fz_@f5}K>H^aH>uOkfCSkzj{xqRQb`IJ1l=NS-fGG;}=l@p0&c4pI=VwGSZ zp#bIVu;1(VL{Vzv$Q_?>#;1-Qb1RaOGx{EeFSRFHYO_L~fiBo3clqFS5p_9&e2})> zEaxhfU=UC#NE{!_1-i{{SK9H7PD-c1MmaCx2fnSd)Z@E?my9drF@;u^of}@}*Ryi1 zk4->9=B-$UMCXIkOKvc}hNs^<>>%h??p*n0cXv9SF0z_zcT{)e{SB8B*oynTvKmW~ zkVJB8Ni97KX%l#Gpi)b&e5q7cNp4yd#@DoyEYxy`bQL0x{a!@y-@sd+WkPO+;*zAg z@+LP&7dK~rN8kROkpuFX?O_g4zen)t%10(Xpe8}D8EY+pD`Gqmr096drERryzQsgn zOdb(9daChPS~L+o?6k4X;*bG8E*F-S+Wtbahv75fZxqgkB%tGY_;Uirh!o~T6D?9A zlyG#ZW2CHK15ecDiFiT5c$#_v?TW$b9>v2YduGAa_k-3aJH9wN`M$ztlyC{*hEZoK zSY;Bl3Z`V?KGOX-*j8nVC8zbr>&Y4@^aSYh)L1JY&YQ6Wflb9p!midREnh$x>k4Pl zhxyg;0;q4ur}+f!5Z{a?!GP_3T>l+%3d;j4?s6==&pb%jX*~uZ)X1xu5B*wi_w8bM-3lsjaq$A@sJ(R9B^m_e1KE$s!GS+Rzvc_(UGo}>v&dQ} e9jF_+c0CDu6`b1fHQ*}Kt*s_x{QU#X{XnDDyJzSC literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/store/fncache b/org.simantics.sysdyn.ui/.hg/store/fncache new file mode 100644 index 00000000..17ba8711 --- /dev/null +++ b/org.simantics.sysdyn.ui/.hg/store/fncache @@ -0,0 +1,35 @@ +data/.classpath.i +data/.hgignore.i +data/.project.i +data/.settings/org.eclipse.jdt.core.prefs.i +data/META-INF/MANIFEST.MF.i +data/build.properties.i +data/plugin.xml.i +data/src/org/simantics/sysdyn/SysdynResource.java.i +data/src/org/simantics/sysdyn/ui/ArcElement.java.i +data/src/org/simantics/sysdyn/ui/Arcs.java.i +data/src/org/simantics/sysdyn/ui/AuxiliaryElement.java.i +data/src/org/simantics/sysdyn/ui/Connect.java.i +data/src/org/simantics/sysdyn/ui/CreateAuxiliary.java.i +data/src/org/simantics/sysdyn/ui/TestDiagramEditor.java.i +data/src/org/simantics/sysdyn/ui/editor/SysdynDiagramEditor.java.i +data/src/org/simantics/sysdyn/ui/editor/SysdynDiagramSchema.java.i +data/src/org/simantics/sysdyn/ui/SysdynResource.java.i +data/src/org/simantics/sysdyn/ui/actions/Connect.java.i +data/src/org/simantics/sysdyn/ui/actions/CreateAuxiliary.java.i +data/src/org/simantics/sysdyn/ui/actions/CreateStock.java.i +data/src/org/simantics/sysdyn/ui/elements/ArcElement.java.i +data/src/org/simantics/sysdyn/ui/elements/Arcs.java.i +data/src/org/simantics/sysdyn/ui/elements/AuxiliaryElement.java.i +data/src/org/simantics/sysdyn/ui/elements/RectangularElement.java.i +data/src/org/simantics/sysdyn/ui/elements/StockElement.java.i +data/src/org/simantics/sysdyn/ui/elements/TextElement.java.i +data/doc/manual.mediawiki.i +data/src/org/simantics/sysdyn/ui/actions/CreateCloud.java.i +data/src/org/simantics/sysdyn/ui/actions/CreateValve.java.i +data/src/org/simantics/sysdyn/ui/elements/CloudElement.java.i +data/src/org/simantics/sysdyn/ui/elements/DependencyElement.java.i +data/src/org/simantics/sysdyn/ui/elements/FlowElement.java.i +data/src/org/simantics/sysdyn/ui/elements/Flows.java.i +data/src/org/simantics/sysdyn/ui/elements/TextFieldNode.java.i +data/src/org/simantics/sysdyn/ui/elements/ValveElement.java.i diff --git a/org.simantics.sysdyn.ui/.hg/store/undo b/org.simantics.sysdyn.ui/.hg/store/undo new file mode 100644 index 0000000000000000000000000000000000000000..99f9a8ba84da883aee70196e00f17317bed8cf7c GIT binary patch literal 383 zcmbWzO$x#=5Cve@1+UWlv{<`uJ%ByIkc?@hO(c^ly}hAY1Q(*N1|H1E<7tS%C@AKG zVPr>e(JEpzlb#*xmUBe%Q&5WOn>~GEJJOh4^N}9U;>QolC6;3)&D}B z>T!e>5_?{J(`djET_o1v1)WBx=JpZ2pj!R{9R`1UC(0sq;XF-gPe?HhR>*3JR1ePJ M;7!UT7u7bq1JU(`)c^nh literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hg/thgstatus b/org.simantics.sysdyn.ui/.hg/thgstatus new file mode 100644 index 00000000..e69de29b diff --git a/org.simantics.sysdyn.ui/.hg/undo.branch b/org.simantics.sysdyn.ui/.hg/undo.branch new file mode 100644 index 00000000..331d858c --- /dev/null +++ b/org.simantics.sysdyn.ui/.hg/undo.branch @@ -0,0 +1 @@ +default \ No newline at end of file diff --git a/org.simantics.sysdyn.ui/.hg/undo.dirstate b/org.simantics.sysdyn.ui/.hg/undo.dirstate new file mode 100644 index 0000000000000000000000000000000000000000..6fc98d2c28dfbf4892fad387577affff86d68cfa GIT binary patch literal 1702 zcmbu9&1=*^7{;@yrB#G3(jwTCB8s3B5iL^nux@vuS++uV?MZ}jGG?cp%*2^VyLG=9J82e)G)pKJT2l7k_&5?fA!c z*FHS_6@P#5;%j@y%6XV&-G6Oa_DeUu@l(%FgHZ5wjFg_RtiR^buUDi%4i~;7NdTE5 zNIJ47y&iKS;$V*`E}Yh2V2MCqz@Ro51M6@T{x_?IIyitSD-nF;ZKHH^PV2ffQWwPm zW=cA3+*P&Rk1WN0;{LIpY07M~)~=jeUa33H%F1%R)@p-h-FQ>F<@VKe{nKKhttwHM zPy$6SXTPb1Mrr1UMlBRVtwFkpb1>zy+mEUmb9P_MZYfr=0?% zI=8B`0GS_AC~}k>J>~YrF|7m?f>i{PSuIxJ#<%D7^75UCP%p_|h=n3p8t*5c8?hHg z@!MFc+|(sWIsDZ9{l2C5a7H2W{TibKQoojPh?$2O%Bz2A+qBt9AhA+}`7-G#fDt93 z)MfG%KwMyL1iqVkV9mMl39b)t5OjRvGd*wInUKbvS&t(}w`Bw=2y`>TEwVw<_;$6& zkM#0G08uDq2vx^SO|6X;$13HKmlFc}mBCybx3jf2OD;USHD!az5mX~9k#{^jCM?cFEYJ!a+& i=zJj%XH2(o3K&XtvHLTzJE!s!4I`u2eKxQvi}?q-JXmc2 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ui/.hgignore b/org.simantics.sysdyn.ui/.hgignore new file mode 100644 index 00000000..86c38ae8 --- /dev/null +++ b/org.simantics.sysdyn.ui/.hgignore @@ -0,0 +1,2 @@ +syntax: regexp +^bin/ \ No newline at end of file diff --git a/org.simantics.sysdyn.ui/.project b/org.simantics.sysdyn.ui/.project new file mode 100644 index 00000000..2ebd5691 --- /dev/null +++ b/org.simantics.sysdyn.ui/.project @@ -0,0 +1,28 @@ + + + org.simantics.sysdyn.ui + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.simantics.sysdyn.ui/.settings/org.eclipse.jdt.core.prefs b/org.simantics.sysdyn.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..e9cf5f10 --- /dev/null +++ b/org.simantics.sysdyn.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Tue Nov 10 13:35:16 EET 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/org.simantics.sysdyn.ui/META-INF/MANIFEST.MF b/org.simantics.sysdyn.ui/META-INF/MANIFEST.MF new file mode 100644 index 00000000..ab6b800d --- /dev/null +++ b/org.simantics.sysdyn.ui/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Ui +Bundle-SymbolicName: org.simantics.sysdyn.ui;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Require-Bundle: org.simantics.h2d;bundle-version="1.0.0", + org.simantics.db;bundle-version="0.6.2", + org.simantics.db.management;bundle-version="0.6.2", + org.simantics.layer0.utils;bundle-version="0.6.2", + org.simantics.scenegraph;bundle-version="1.0.0", + org.junit4;bundle-version="4.5.0", + org.simantics.ui;bundle-version="1.0.0", + org.eclipse.ui;bundle-version="3.5.0", + org.eclipse.core.runtime;bundle-version="3.5.0", + org.simantics.objmap;bundle-version="0.1.0" diff --git a/org.simantics.sysdyn.ui/build.properties b/org.simantics.sysdyn.ui/build.properties new file mode 100644 index 00000000..6f20375d --- /dev/null +++ b/org.simantics.sysdyn.ui/build.properties @@ -0,0 +1,5 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml diff --git a/org.simantics.sysdyn.ui/doc/manual.mediawiki b/org.simantics.sysdyn.ui/doc/manual.mediawiki new file mode 100644 index 00000000..100ef978 --- /dev/null +++ b/org.simantics.sysdyn.ui/doc/manual.mediawiki @@ -0,0 +1,79 @@ +Possible connections between sysdyn elements: + +{| border="1" +|   +|   +| colspan="4", align="center" | To +|- +|   +|   +| Auxiliary +| Stock +| Valve +| Cloud +|- +| rowspan="4" | From +| Auxiliary +| dependency +| - +| dependency +| - +|- +| Stock +| dependency +| - +| flow / dependency +| - +|- +| Valve +| dependency +| flow +| dependency (?) +| flow +|- +| Cloud +| - +| - +| flow +| - +|} + +Connection actions between sysdyn elements: + +{| border="1" +|   +|   +| colspan="4", align="center" | To +|- +|   +|   +| Auxiliary +| Stock +| Valve +| Cloud +|- +| rowspan="4" | From +| Auxiliary +| dependency +| - +| dependency +| - +|- +| Stock +| dependency +| valve + 2 x flow +| flow / dependency +| valve + 2 x flow +|- +| Valve +| dependency +| flow +| dependency (?) +| flow +|- +| Cloud +| - +| valve + 2 x flow +| flow +| - +|} \ No newline at end of file diff --git a/org.simantics.sysdyn.ui/plugin.xml b/org.simantics.sysdyn.ui/plugin.xml new file mode 100644 index 00000000..bd010c48 --- /dev/null +++ b/org.simantics.sysdyn.ui/plugin.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/SysdynResource.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/SysdynResource.java new file mode 100644 index 00000000..07dfa85a --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/SysdynResource.java @@ -0,0 +1,99 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.sysdyn; + + +import org.simantics.db.Resource; +import org.simantics.db.ReadGraph; +import org.simantics.db.Session; +import org.simantics.db.exception.DatabaseException; + +public class SysdynResource { + + public final Resource Auxiliary; + public final Resource Cloud; + public final Resource Configuration; + public final Resource Dependency; + public final Resource Flow; + public final Resource HasAngle; + public final Resource HasHead; + public final Resource HasTail; + public final Resource HasX; + public final Resource HasY; + public final Resource IndependentVariable; + public final Resource IsHeadOf; + public final Resource IsTailOf; + public final Resource Stock; + public final Resource TestConfiguration; + public final Resource Valve; + public final Resource Variable; + + public static class URIs { + public static final String Auxiliary = "http://www.simantics.org/Sysdyn#Auxiliary"; + public static final String Cloud = "http://www.simantics.org/Sysdyn#Cloud"; + public static final String Configuration = "http://www.simantics.org/Sysdyn#Configuration"; + public static final String Dependency = "http://www.simantics.org/Sysdyn#Dependency"; + public static final String Flow = "http://www.simantics.org/Sysdyn#Flow"; + public static final String HasAngle = "http://www.simantics.org/Sysdyn#HasAngle"; + public static final String HasHead = "http://www.simantics.org/Sysdyn#HasHead"; + public static final String HasTail = "http://www.simantics.org/Sysdyn#HasTail"; + public static final String HasX = "http://www.simantics.org/Sysdyn#HasX"; + public static final String HasY = "http://www.simantics.org/Sysdyn#HasY"; + public static final String IndependentVariable = "http://www.simantics.org/Sysdyn#IndependentVariable"; + public static final String IsHeadOf = "http://www.simantics.org/Sysdyn#IsHeadOf"; + public static final String IsTailOf = "http://www.simantics.org/Sysdyn#IsTailOf"; + public static final String Stock = "http://www.simantics.org/Sysdyn#Stock"; + public static final String TestConfiguration = "http://www.simantics.org/Sysdyn#TestConfiguration"; + public static final String Valve = "http://www.simantics.org/Sysdyn#Valve"; + public static final String Variable = "http://www.simantics.org/Sysdyn#Variable"; + } + + public static Resource getResourceOrNull(ReadGraph graph, String uri) { + try { + return graph.getResourceByURI(uri); + } catch(DatabaseException e) { + System.err.println(e.getMessage()); + return null; + } + } + + public SysdynResource(ReadGraph graph) { + Auxiliary = getResourceOrNull(graph, URIs.Auxiliary); + Cloud = getResourceOrNull(graph, URIs.Cloud); + Configuration = getResourceOrNull(graph, URIs.Configuration); + Dependency = getResourceOrNull(graph, URIs.Dependency); + Flow = getResourceOrNull(graph, URIs.Flow); + HasAngle = getResourceOrNull(graph, URIs.HasAngle); + HasHead = getResourceOrNull(graph, URIs.HasHead); + HasTail = getResourceOrNull(graph, URIs.HasTail); + HasX = getResourceOrNull(graph, URIs.HasX); + HasY = getResourceOrNull(graph, URIs.HasY); + IndependentVariable = getResourceOrNull(graph, URIs.IndependentVariable); + IsHeadOf = getResourceOrNull(graph, URIs.IsHeadOf); + IsTailOf = getResourceOrNull(graph, URIs.IsTailOf); + Stock = getResourceOrNull(graph, URIs.Stock); + TestConfiguration = getResourceOrNull(graph, URIs.TestConfiguration); + Valve = getResourceOrNull(graph, URIs.Valve); + Variable = getResourceOrNull(graph, URIs.Variable); + } + + public static SysdynResource getInstance(ReadGraph graph) { + Session session = graph.getSession(); + SysdynResource ret = session.getService(SysdynResource.class); + if(ret == null) { + ret = new SysdynResource(graph); + session.registerService(SysdynResource.class, ret); + } + return ret; + } + +} + diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/SysdynResource.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/SysdynResource.java new file mode 100644 index 00000000..426b3220 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/SysdynResource.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.sysdyn.ui; + + +import org.simantics.db.Resource; +import org.simantics.db.ReadGraph; +import org.simantics.db.Session; +import org.simantics.db.exception.DatabaseException; + +public class SysdynResource { + + public final Resource HasX; + public final Resource HasY; + public final Resource SysdynModel; + public final Resource SysdynModelManager; + public final Resource SysdynModellingDomain; + public final Resource TestDiagram; + public final Resource Variable; + public final Resource VariableElement; + + public static class URIs { + public static final String HasX = "http://www.simantics.org/Sysdyn#HasX"; + public static final String HasY = "http://www.simantics.org/Sysdyn#HasY"; + public static final String SysdynModel = "http://www.simantics.org/Sysdyn#SysdynModel"; + public static final String SysdynModelManager = "http://www.simantics.org/Sysdyn#SysdynModelManager"; + public static final String SysdynModellingDomain = "http://www.simantics.org/Sysdyn#SysdynModellingDomain"; + public static final String TestDiagram = "http://www.simantics.org/Sysdyn#TestDiagram"; + public static final String Variable = "http://www.simantics.org/Sysdyn#Variable"; + public static final String VariableElement = "http://www.simantics.org/Sysdyn#VariableElement"; + } + + public static Resource getResourceOrNull(ReadGraph graph, String uri) { + try { + return graph.getResourceByURI(uri); + } catch(DatabaseException e) { + System.err.println(e.getMessage()); + return null; + } + } + + public SysdynResource(ReadGraph graph) { + HasX = getResourceOrNull(graph, URIs.HasX); + HasY = getResourceOrNull(graph, URIs.HasY); + SysdynModel = getResourceOrNull(graph, URIs.SysdynModel); + SysdynModelManager = getResourceOrNull(graph, URIs.SysdynModelManager); + SysdynModellingDomain = getResourceOrNull(graph, URIs.SysdynModellingDomain); + TestDiagram = getResourceOrNull(graph, URIs.TestDiagram); + Variable = getResourceOrNull(graph, URIs.Variable); + VariableElement = getResourceOrNull(graph, URIs.VariableElement); + } + + public static SysdynResource getInstance(ReadGraph graph) { + Session session = graph.getSession(); + SysdynResource ret = session.getService(SysdynResource.class); + if(ret == null) { + ret = new SysdynResource(graph); + session.registerService(SysdynResource.class, ret); + } + return ret; + } + +} + diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/TestDiagramEditor.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/TestDiagramEditor.java new file mode 100644 index 00000000..74e1bc9d --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/TestDiagramEditor.java @@ -0,0 +1,44 @@ +package org.simantics.sysdyn.ui; + +import javax.swing.JFrame; + +import org.simantics.h2d.canvas.EditorCanvas; +import org.simantics.h2d.diagram.Diagram; +import org.simantics.h2d.editor.impl.DiagramEditor; +import org.simantics.h2d.event.handler.DefaultEventHandlers; +import org.simantics.sysdyn.ui.actions.Connect; +import org.simantics.sysdyn.ui.actions.CreateAuxiliary; +import org.simantics.sysdyn.ui.actions.CreateCloud; +import org.simantics.sysdyn.ui.actions.CreateStock; +import org.simantics.sysdyn.ui.actions.CreateValve; + +public class TestDiagramEditor extends JFrame { + + public TestDiagramEditor() { + super("Test Canvas"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + Diagram diagram = new Diagram(); + final DiagramEditor editor = new DiagramEditor(getRootPane(), diagram); + + DefaultEventHandlers.configure(editor); + editor.addEventHandler(1, "key(A)", new CreateAuxiliary()); + editor.addEventHandler(1, "key(S)", new CreateStock()); + editor.addEventHandler(1, "key(V)", new CreateValve()); + editor.addEventHandler(1, "key(C)", new CreateCloud()); + editor.addEventHandler(1, "drag(alt+left)", new Connect()); + + getContentPane().add(new EditorCanvas(editor)); + + setSize(800, 600); + } + + public static void main(String[] args) { + javax.swing.SwingUtilities.invokeLater(new Runnable() { + public void run() { + new TestDiagramEditor().setVisible(true); + } + }); + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/Connect.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/Connect.java new file mode 100644 index 00000000..6354acda --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/Connect.java @@ -0,0 +1,122 @@ +package org.simantics.sysdyn.ui.actions; + +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.element.handler.Connectable; +import org.simantics.h2d.event.DragEvent; +import org.simantics.h2d.event.handler.DragEventHandler; +import org.simantics.h2d.node.RectangleNode; +import org.simantics.scenegraph.g2d.G2DParentNode; +import org.simantics.sysdyn.ui.elements.AuxiliaryElement; +import org.simantics.sysdyn.ui.elements.CloudElement; +import org.simantics.sysdyn.ui.elements.DependencyElement; +import org.simantics.sysdyn.ui.elements.FlowElement; +import org.simantics.sysdyn.ui.elements.StockElement; +import org.simantics.sysdyn.ui.elements.ValveElement; + +public class Connect extends DragEventHandler { + + Connectable from; + Connectable to; + + RectangleNode fromNode = new RectangleNode(); + RectangleNode toNode = new RectangleNode(); + + @Override + protected boolean begin(IDiagramEditor editor, DragEvent event) { + for(IElement element : event.pickedElements) { + Connectable connectable = element.getInterface(Connectable.class); + if(connectable != null) { + this.from = connectable; + return true; + } + } + return false; + } + + @Override + protected void update(IDiagramEditor editor, DragEvent event) { + for(IElement element : editor.pickElements(event.current)) { + Connectable connectable = element.getInterface(Connectable.class); + if(connectable != null && connectable != from) { + if(connectable == to) + return; + to = connectable; + + Rectangle2D bounds = new Rectangle2D.Double(); + to.getBounds(bounds); + bounds.setFrame( + bounds.getX()-2.0, + bounds.getY()-2.0, + bounds.getWidth()+4.0, + bounds.getHeight()+4.0); + toNode.init(bounds); + + editor.requestRepaint(); + return; + } + } + to = null; + toNode.init(fromNode.getBounds()); + editor.requestRepaint(); + } + + @Override + protected void end(IDiagramEditor editor, DragEvent event) { + if(to != null) { + IElement newElement; + if(from instanceof ValveElement && to instanceof StockElement) + newElement = new FlowElement(from, to); + else if(from instanceof StockElement && to instanceof ValveElement) + newElement = new FlowElement(from, to); + else if( (from instanceof StockElement || from instanceof CloudElement) + && (to instanceof StockElement || to instanceof CloudElement)) { + Point2D fromOrigo = from.getOrigo(); + Point2D toOrigo = to.getOrigo(); + newElement = new ValveElement( + 0.5 * (fromOrigo.getX() + toOrigo.getX()), + 0.5 * (fromOrigo.getY() + toOrigo.getY()) + ); + editor.getDiagram().addElement(new FlowElement(from, (ValveElement)newElement)); + editor.getDiagram().addElement(new FlowElement(to, (ValveElement)newElement)); + } + else if(from instanceof ValveElement && to instanceof AuxiliaryElement) + newElement = new DependencyElement(to, from); + else if(from instanceof AuxiliaryElement && to instanceof StockElement) + newElement = new DependencyElement(to, from); + else + newElement = new DependencyElement(from, to); + editor.getDiagram().addElement(newElement); + } + + from = null; + to = null; + } + + @Override + public void init(G2DParentNode parent) { + fromNode = parent.addNode(RectangleNode.class); + toNode = parent.addNode(RectangleNode.class); + + Rectangle2D bounds = new Rectangle2D.Double(); + from.getBounds(bounds); + bounds.setFrame( + bounds.getX()-2.0, + bounds.getY()-2.0, + bounds.getWidth()+4.0, + bounds.getHeight()+4.0); + + fromNode.init(bounds); + toNode.init(bounds); + } + + @Override + public void remove() { + fromNode.remove(); + toNode.remove(); + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateAuxiliary.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateAuxiliary.java new file mode 100644 index 00000000..3e6977ed --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateAuxiliary.java @@ -0,0 +1,24 @@ +package org.simantics.sysdyn.ui.actions; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.IEvent; +import org.simantics.h2d.event.ILocatableEvent; +import org.simantics.h2d.event.handler.IEventHandler; +import org.simantics.sysdyn.ui.elements.AuxiliaryElement; +import org.simantics.sysdyn.ui.elements.StockElement; + +public class CreateAuxiliary implements IEventHandler { + + @Override + public boolean handle(IDiagramEditor editor, IEvent _event) { + ILocatableEvent event = (ILocatableEvent)_event; + AuxiliaryElement element = new AuxiliaryElement("Auxiliary", + event.getLocation().getX(), + event.getLocation().getY()); + editor.getDiagram().addElement(element); + element.beginRenameAction(editor); + editor.requestRepaint(); + return true; + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateCloud.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateCloud.java new file mode 100644 index 00000000..b201f375 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateCloud.java @@ -0,0 +1,22 @@ +package org.simantics.sysdyn.ui.actions; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.IEvent; +import org.simantics.h2d.event.ILocatableEvent; +import org.simantics.h2d.event.handler.IEventHandler; +import org.simantics.sysdyn.ui.elements.CloudElement; + +public class CreateCloud implements IEventHandler { + + @Override + public boolean handle(IDiagramEditor editor, IEvent _event) { + ILocatableEvent event = (ILocatableEvent)_event; + CloudElement element = new CloudElement( + event.getLocation().getX(), + event.getLocation().getY()); + editor.getDiagram().addElement(element); + editor.requestRepaint(); + return true; + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateStock.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateStock.java new file mode 100644 index 00000000..99238f11 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateStock.java @@ -0,0 +1,23 @@ +package org.simantics.sysdyn.ui.actions; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.IEvent; +import org.simantics.h2d.event.ILocatableEvent; +import org.simantics.h2d.event.handler.IEventHandler; +import org.simantics.sysdyn.ui.elements.StockElement; + +public class CreateStock implements IEventHandler { + + @Override + public boolean handle(IDiagramEditor editor, IEvent _event) { + ILocatableEvent event = (ILocatableEvent)_event; + StockElement element = new StockElement("Stock", + event.getLocation().getX(), + event.getLocation().getY()); + editor.getDiagram().addElement(element); + element.beginRenameAction(editor); + editor.requestRepaint(); + return true; + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateValve.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateValve.java new file mode 100644 index 00000000..88050538 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/actions/CreateValve.java @@ -0,0 +1,21 @@ +package org.simantics.sysdyn.ui.actions; + +import org.simantics.h2d.editor.IDiagramEditor; +import org.simantics.h2d.event.IEvent; +import org.simantics.h2d.event.ILocatableEvent; +import org.simantics.h2d.event.handler.IEventHandler; +import org.simantics.sysdyn.ui.elements.ValveElement; + +public class CreateValve implements IEventHandler { + + @Override + public boolean handle(IDiagramEditor editor, IEvent _event) { + ILocatableEvent event = (ILocatableEvent)_event; + editor.getDiagram().addElement(new ValveElement( + event.getLocation().getX(), + event.getLocation().getY())); + editor.requestRepaint(); + return true; + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/SysdynDiagramEditor.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/SysdynDiagramEditor.java new file mode 100644 index 00000000..afefa916 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/SysdynDiagramEditor.java @@ -0,0 +1,182 @@ +package org.simantics.sysdyn.ui.editor; + +import java.awt.Frame; +import java.util.ArrayList; + +import javax.swing.SwingUtilities; + +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.swt.SWT; +import org.eclipse.swt.awt.SWT_AWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.PartInitException; +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.Session; +import org.simantics.db.WriteGraph; +import org.simantics.db.common.request.ReadRequest; +import org.simantics.db.common.request.WriteRequest; +import org.simantics.db.exception.DatabaseException; +import org.simantics.h2d.canvas.EditorCanvas; +import org.simantics.h2d.diagram.IDiagram; +import org.simantics.h2d.diagram.IDiagramListener; +import org.simantics.h2d.editor.ISelection; +import org.simantics.h2d.editor.ISelectionListener; +import org.simantics.h2d.editor.impl.DiagramEditor; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.event.handler.DefaultEventHandlers; +import org.simantics.objmap.IMapping; +import org.simantics.objmap.IMappingListener; +import org.simantics.objmap.MappingException; +import org.simantics.objmap.Mappings; +import org.simantics.sysdyn.ui.actions.Connect; +import org.simantics.sysdyn.ui.actions.CreateAuxiliary; +import org.simantics.sysdyn.ui.actions.CreateCloud; +import org.simantics.sysdyn.ui.actions.CreateStock; +import org.simantics.sysdyn.ui.actions.CreateValve; +import org.simantics.ui.SimanticsUI; +import org.simantics.ui.workbench.ResourceEditorPart; +import org.simantics.utils.ui.jface.ActiveSelectionProvider; + +public class SysdynDiagramEditor extends ResourceEditorPart { + + EditorCanvas canvas; + IDiagram diagram; + IMapping mapping; + Frame frame; + + protected void readDiagram(ReadGraph g) throws DatabaseException { + SysdynDiagramSchema schema = new SysdynDiagramSchema(g); + mapping = Mappings.createWithListening(schema); + + try { + diagram = (IDiagram)mapping.map(g, getInputResource()); + } catch (MappingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + final Session session = g.getSession(); + mapping.addMappingListener(new IMappingListener() { + + @Override + public void rangeModified() { + session.asyncRequest(new WriteRequest() { + + @Override + public void perform(WriteGraph graph) + throws DatabaseException { + mapping.updateDomain(graph); + } + + }); + } + + @Override + public void domainModified() { + System.out.println("domainModified"); + session.asyncRequest(new ReadRequest() { + + @Override + public void run(ReadGraph graph) throws DatabaseException { + mapping.updateRange(graph); + } + }); + } + + }); + + diagram.addDiagramListener(new IDiagramListener() { + + @Override + public void elementAdded(IElement element) { + mapping.rangeModified(diagram); + } + + @Override + public void elementRemoved(IElement element) { + mapping.rangeModified(diagram); + } + + }); + } + + @Override + public void init(IEditorSite site, IEditorInput input) + throws PartInitException { + super.init(site, input); + + try { + SimanticsUI.getSession().syncRequest(new ReadRequest() { + + @Override + public void run(ReadGraph g) throws DatabaseException { + readDiagram(g); + } + + }); + } catch (DatabaseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + @Override + public void createPartControl(Composite parent) { + final Composite composite = new Composite(parent, + SWT.NO_BACKGROUND | SWT.EMBEDDED); + frame = SWT_AWT.new_Frame(composite); + + final ActiveSelectionProvider selectionProvider = new ActiveSelectionProvider(); + getSite().setSelectionProvider(selectionProvider); + + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + DiagramEditor editor = new DiagramEditor(null, diagram); + + DefaultEventHandlers.configure(editor); + editor.addEventHandler(1, "key(A)", new CreateAuxiliary()); + editor.addEventHandler(1, "key(S)", new CreateStock()); + editor.addEventHandler(1, "key(V)", new CreateValve()); + editor.addEventHandler(1, "key(C)", new CreateCloud()); + editor.addEventHandler(1, "drag(alt+left)", new Connect()); + + canvas = new EditorCanvas(editor); + frame.add(canvas); + + canvas.requestFocus(); + + editor.getSelection().addSelectionListener(new ISelectionListener() { + + @Override + public void selectionChanged(ISelection selection) { + ArrayList resources = new ArrayList(selection.size()); + for(IElement element : selection) + resources.add(mapping.inverseGet(element)); + selectionProvider.setSelection(new StructuredSelection(resources)); + } + + }); + } + + }); + } + + @Override + public void setFocus() { + if(canvas != null) + canvas.requestFocus(); + } + + @Override + public void dispose() { + mapping.dispose(); + frame.dispose(); + + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/SysdynDiagramSchema.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/SysdynDiagramSchema.java new file mode 100644 index 00000000..bdcf5689 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/SysdynDiagramSchema.java @@ -0,0 +1,54 @@ +package org.simantics.sysdyn.ui.editor; + +import java.util.Collection; + +import org.simantics.db.Builtins; +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.h2d.diagram.Diagram; +import org.simantics.objmap.rules.MappedElementsRule; +import org.simantics.objmap.rules.domain.RelatedObjectsAccessor; +import org.simantics.objmap.rules.range.FieldAccessor; +import org.simantics.objmap.schema.MappingSchemas; +import org.simantics.objmap.schema.SimpleLinkType; +import org.simantics.objmap.schema.SimpleSchema; +import org.simantics.sysdyn.SysdynResource; +import org.simantics.sysdyn.ui.elements.AuxiliaryElement; +import org.simantics.sysdyn.ui.elements.CloudElement; +import org.simantics.sysdyn.ui.elements.DependencyElement; +import org.simantics.sysdyn.ui.elements.FlowElement; +import org.simantics.sysdyn.ui.elements.StockElement; +import org.simantics.sysdyn.ui.elements.ValveElement; + +public class SysdynDiagramSchema extends SimpleSchema { + + public SysdynDiagramSchema(ReadGraph g) throws DatabaseException { + Builtins b = g.getBuiltins(); + SysdynResource sr = SysdynResource.getInstance(g); + try { + { + SimpleLinkType linkType = + new SimpleLinkType(sr.Configuration, Diagram.class); + linkType.addRule(new MappedElementsRule( + new RelatedObjectsAccessor(b.ConsistsOf), + new FieldAccessor>(Diagram.class.getField("elements")) + )); + addLinkType(linkType); + } + + addLinkType(MappingSchemas.fromAnnotations(g, AuxiliaryElement.class)); + addLinkType(MappingSchemas.fromAnnotations(g, StockElement.class)); + addLinkType(MappingSchemas.fromAnnotations(g, CloudElement.class)); + addLinkType(MappingSchemas.fromAnnotations(g, ValveElement.class)); + addLinkType(MappingSchemas.fromAnnotations(g, DependencyElement.class)); + addLinkType(MappingSchemas.fromAnnotations(g, FlowElement.class)); + } catch(NoSuchFieldException e) { + e.printStackTrace(); + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/Arcs.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/Arcs.java new file mode 100644 index 00000000..89d1dc08 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/Arcs.java @@ -0,0 +1,154 @@ +package org.simantics.sysdyn.ui.elements; + +import java.awt.geom.Rectangle2D; + +public class Arcs { + + public static final double PI2 = Math.PI*2.0; + + /** + * Returns angle + 2PI * n such that the + * result is between -PI and PI. + */ + public static double normalizeAngle(double angle) { + return Math.IEEEremainder(angle, PI2); + } + + /** + * Returns true, if three normalized angles are clockwise oriented. + */ + public static boolean areClockwiseOrdered(double angle1, double angle2, double angle3) { + //System.out.println(angle1 + " " + angle2 + " " + angle3); + return angle1 < angle2 + ? (angle2 < angle3 || angle3 < angle1) + : (angle2 < angle3 && angle3 < angle1) + ; + } + + /** + * Returns an angle in radians between straight line from (x0,y0) to (x2,y2) + * and an arc from (x0,y0) to (x2,y2) thru (x1,y1). The angle + * is measured at (x0,y0) and is between -PI and PI. + */ + public static double angleOfArc( + double x0, double y0, + double x1, double y1, + double x2, double y2) { + double dx0 = x1-x0; + double dy0 = y1-y0; + double dx1 = x1-x2; + double dy1 = y1-y2; + double dx = x2-x0; + double dy = y2-y0; + // Length of cross product (p1-p0)x(p2-p0) + double dd = dx0*dy - dy0*dx; + + if(Math.abs(dd) < 1e-6) // Points are (almost) collinear + return 0.0; + else { + // (p1-p0)*(p1-p2) / dd + double offset = (dx0*dx1 + dy0*dy1) / dd; + double angle = Math.PI*0.5 - Math.atan(offset); + if(dd > 0.0) + angle = angle-Math.PI; + return angle; + + } + } + + private static double updateBestNextAngle(double curAngle, double bestAngle, double newAngle) { + if(newAngle < curAngle) + newAngle += PI2; + if(newAngle < bestAngle) + return newAngle; + return bestAngle; + } + + private static double updateBestPrevAngle(double curAngle, double bestAngle, double newAngle) { + if(newAngle > curAngle) + newAngle -= PI2; + if(newAngle > bestAngle) + return newAngle; + return bestAngle; + } + + public static double nextIntersectingAngle(double cx, double cy, double r, + double curAngle, Rectangle2D rect, boolean dir) { + if(!dir) { + double bestAngle = curAngle + PI2; + { + double dx = rect.getMinX() - cx; + if(Math.abs(dx) < r) { + double angle = normalizeAngle(Math.acos(dx / r)); + bestAngle = updateBestNextAngle(curAngle, bestAngle, angle); + bestAngle = updateBestNextAngle(curAngle, bestAngle, -angle); + } + } + { + double dx = rect.getMaxX() - cx; + if(Math.abs(dx) < r) { + double angle = normalizeAngle(Math.acos(dx / r)); + bestAngle = updateBestNextAngle(curAngle, bestAngle, angle); + bestAngle = updateBestNextAngle(curAngle, bestAngle, -angle); + } + } + { + double dy = cy - rect.getMinY(); + if(Math.abs(dy) < r) { + double angle = Math.asin(dy / r); + bestAngle = updateBestNextAngle(curAngle, bestAngle, angle); + bestAngle = updateBestNextAngle(curAngle, bestAngle, + normalizeAngle(Math.PI-angle)); + } + } + { + double dy = cy - rect.getMaxY(); + if(Math.abs(dy) < r) { + double angle = Math.asin(dy / r); + bestAngle = updateBestNextAngle(curAngle, bestAngle, angle); + bestAngle = updateBestNextAngle(curAngle, bestAngle, + normalizeAngle(Math.PI-angle)); + } + } + return normalizeAngle(bestAngle); + } + else { + double bestAngle = curAngle - PI2; + { + double dx = rect.getMinX() - cx; + if(Math.abs(dx) < r) { + double angle = normalizeAngle(Math.acos(dx / r)); + bestAngle = updateBestPrevAngle(curAngle, bestAngle, angle); + bestAngle = updateBestPrevAngle(curAngle, bestAngle, -angle); + } + } + { + double dx = rect.getMaxX() - cx; + if(Math.abs(dx) < r) { + double angle = normalizeAngle(Math.acos(dx / r)); + bestAngle = updateBestPrevAngle(curAngle, bestAngle, angle); + bestAngle = updateBestPrevAngle(curAngle, bestAngle, -angle); + } + } + { + double dy = cy - rect.getMinY(); + if(Math.abs(dy) < r) { + double angle = Math.asin(dy / r); + bestAngle = updateBestPrevAngle(curAngle, bestAngle, angle); + bestAngle = updateBestPrevAngle(curAngle, bestAngle, + normalizeAngle(Math.PI-angle)); + } + } + { + double dy = cy - rect.getMaxY(); + if(Math.abs(dy) < r) { + double angle = Math.asin(dy / r); + bestAngle = updateBestPrevAngle(curAngle, bestAngle, angle); + bestAngle = updateBestPrevAngle(curAngle, bestAngle, + normalizeAngle(Math.PI-angle)); + } + } + return normalizeAngle(bestAngle); + } + } +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/AuxiliaryElement.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/AuxiliaryElement.java new file mode 100644 index 00000000..e10f97f6 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/AuxiliaryElement.java @@ -0,0 +1,15 @@ +package org.simantics.sysdyn.ui.elements; + +import org.simantics.objmap.annotations.GraphType; + +@GraphType("http://www.simantics.org/Sysdyn#Auxiliary") +public class AuxiliaryElement extends TextElement { + + public AuxiliaryElement() { + } + + public AuxiliaryElement(String label, double x, double y) { + super(label, x, y); + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/CloudElement.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/CloudElement.java new file mode 100644 index 00000000..97c974d1 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/CloudElement.java @@ -0,0 +1,71 @@ +package org.simantics.sysdyn.ui.elements; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.geom.Path2D; + +import org.simantics.h2d.element.handler.Connectable; +import org.simantics.h2d.node.ShapeNode; +import org.simantics.objmap.annotations.GraphType; +import org.simantics.scenegraph.g2d.G2DParentNode; + +@GraphType("http://www.simantics.org/Sysdyn#Cloud") +public class CloudElement extends RectangularElement implements Connectable { + + public static final double CLOUD_SIZE_X = 5.0; + public static final double CLOUD_SIZE_Y = 3.0; + + public static final double CLOUD_CURVES = 7; + + ShapeNode cloudNode; + boolean rotated = false; + + public CloudElement() { + } + + public CloudElement(double x, double y) { + this.posX = x; + this.posY = y; + } + + @Override + public void init(G2DParentNode parent) { + cloudNode = parent.addNode(ShapeNode.class); + cloudNode.setColor(Color.BLACK); + cloudNode.setScaleStroke(true); + cloudNode.setStroke(new BasicStroke(1)); + update(); + } + + @Override + public void remove() { + cloudNode.remove(); + } + + @Override + protected void update() { + //bounds.setFrame(posX-CLOUD_SIZE_X, posY-CLOUD_SIZE_Y, 2.0*CLOUD_SIZE_X, 2.0*CLOUD_SIZE_Y); + Path2D path = new Path2D.Double(); + double ox = CLOUD_SIZE_X; + double oy = 0.0; + path.moveTo(posX+ox, posY+oy); + for(int i=1;i 0.0); + double extent = angle1-angle0; + //double arcAngle = angle0; + if(angle < 0.0) { + double temp = angle0; + angle0 = angle1; + angle1 = temp; + extent = -extent; + } + if(extent < 0) + extent += Math.PI*2.0; + else if(extent >= 360.0) + extent -= Math.PI*2.0; + Shape shape = new Arc2D.Double(cx-r, cy-r, 2*r, 2*r, + Math.toDegrees(angle0), + Math.toDegrees(extent), + Arc2D.OPEN); + arcNode.setShape(shape); + + double xx = Math.cos(angle > 0.0 ? angle1 : angle0); + double yy = -Math.sin(angle > 0.0 ? angle1 : angle0); + Shape arrowShape = createArrow(cx + r*xx, cy + r*yy, + angle < 0.0 ? -yy : yy, + angle > 0.0 ? -xx : xx); + arrowNode.setShape(arrowShape); + } + + public void update() { + if(arcNode != null) + updateSceneGraph(); + super.update(); + } + + @Override + public void getBounds(Rectangle2D bounds) { + bounds.setFrame(arcNode.getBounds()); + } + + @Override + public boolean hitTest(double x, double y, double tolerance) { + double dx = x-cx; + double dy = y-cy; + double dist = dx*dx + dy*dy; + if(dist < (r+tolerance)*(r+tolerance) && + dist > (r-tolerance)*(r-tolerance)) { + double angle = Arcs.normalizeAngle(Math.atan2(-dy, dx)); + if(Arcs.areClockwiseOrdered(angle0, angle, angle1)) + return true; + } + return false; + } + + class EventHandler extends DragEventHandler { + @Override + protected boolean begin(IDiagramEditor editor, DragEvent event) { + return event.startModifiers.equals("left"); + } + + @Override + protected void update(IDiagramEditor editor, DragEvent event) { + angle = Arcs.angleOfArc( + tail.getOrigo().getX(), tail.getOrigo().getY(), + event.current.getX(), event.current.getY(), + head.getOrigo().getX(), head.getOrigo().getY() + ); + DependencyElement.this.update(); + editor.requestRepaint(); + } + } + + @Override + public T getInterface(Class clazz) { + if(clazz == IEventHandler.class) + return (T)new EventHandler(); + return super.getInterface(clazz); + } + + @Override + public void elementRemoved(IElement element) { + remove(); + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/FlowElement.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/FlowElement.java new file mode 100644 index 00000000..2642aa52 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/FlowElement.java @@ -0,0 +1,183 @@ +package org.simantics.sysdyn.ui.elements; + +import java.awt.Shape; +import java.awt.geom.Path2D; +import java.awt.geom.Rectangle2D; + +import org.simantics.h2d.element.Element; +import org.simantics.h2d.element.IElement; +import org.simantics.h2d.element.IElementListener; +import org.simantics.h2d.element.handler.Connectable; +import org.simantics.h2d.node.FilledShapeNode; +import org.simantics.h2d.node.ShapeNode; +import org.simantics.objmap.annotations.GraphType; +import org.simantics.objmap.annotations.RelatedElement; +import org.simantics.scenegraph.g2d.G2DParentNode; + +@GraphType("http://www.simantics.org/Sysdyn#Flow") +public class FlowElement extends Element implements IElementListener { + + public static double ARROW_LENGTH1 = 0.2; + public static double ARROW_LENGTH2 = 3.0; + public static double ARROW_WIDTH = 1.8; + + static final double OFFSET = 1.5; + + /* + * Total length of the arrow is ARROW_LENGTH1 + ARROW_LENGTH2 + */ + @RelatedElement("http://www.simantics.org/Sysdyn#HasTail") + Connectable tail; + @RelatedElement("http://www.simantics.org/Sysdyn#HasHead") + Connectable head; + double angle = 0.1; + + // Auxiliary + double angle0; + double angle1; + double cx; + double cy; + double r; + + // Scene graph + ShapeNode lineNode1; + ShapeNode lineNode2; + FilledShapeNode arrowNode; + + public FlowElement() { + } + + public FlowElement(Connectable tail, Connectable head) { + super(); + this.tail = tail; + this.head = head; + } + + @Override + public void elementUpdated(IElement element) { + update(); + } + + @Override + public void remove() { + lineNode1.remove(); + lineNode2.remove(); + tail.removeListener(this); + head.removeListener(this); + } + + @Override + public void init(G2DParentNode parent) { + tail.addListener(this); + head.addListener(this); + + lineNode1 = parent.addNode(ShapeNode.class); + lineNode1.setScaleStroke(true); + lineNode2 = parent.addNode(ShapeNode.class); + lineNode2.setScaleStroke(true); + + //arrowNode = parent.addNode(FilledShapeNode.class); + update(); + } + + protected Shape createArrow(double x, double y, double dx, double dy) { + Path2D path = new Path2D.Double(); + path.moveTo(x+ARROW_LENGTH1*dx, y+ARROW_LENGTH1*dy); + x -= ARROW_LENGTH2*dx; + y -= ARROW_LENGTH2*dy; + path.lineTo(x-ARROW_WIDTH*dy, y+ARROW_WIDTH*dx); + path.lineTo(x+ARROW_WIDTH*dy, y-ARROW_WIDTH*dx); + path.closePath(); + return path; + } + + // TODO + + private void draw(boolean vertical, double ... coordinates) { + lineNode1.setShape(Flows.createOffsetLine(vertical, OFFSET, coordinates)); + lineNode2.setShape(Flows.createOffsetLine(vertical, -OFFSET, coordinates)); + } + + private void draw(Connectable valve, Connectable node) { + double x0 = valve.getOrigo().getX(); + double y0 = valve.getOrigo().getY(); + double x1 = node.getOrigo().getX(); + double y1 = node.getOrigo().getY(); + + Rectangle2D rect = new Rectangle2D.Double(); + node.getBounds(rect); + if( ((ValveElement)valve).rotated ) { + if(y1 > y0) + y0 += OFFSET; + else + y0 -= OFFSET; + if(rect.getMinX() <= x0 && rect.getMaxX() >= x0) { + if(y1 > y0) + draw(true, y0, x0, rect.getMinY()); + else + draw(true, y0, x0, rect.getMaxY()); + } + else { + if(x1 > x0) + draw(true, y0, x0, y1, rect.getMinX()); + else + draw(true, y0, x0, y1, rect.getMaxX()); + } + } + else { + if(x1 > x0) + x0 += OFFSET; + else + x0 -= OFFSET; + if(rect.getMinY() <= y0 && rect.getMaxY() >= y0) { + if(x1 > x0) + draw(false, x0, y0, rect.getMinX()); + else + draw(false, x0, y0, rect.getMaxX()); + } + else { + if(y1 > y0) + draw(false, x0, y0, x1, rect.getMinY()); + else + draw(false, x0, y0, x1, rect.getMaxY()); + } + } + } + + protected void updateSceneGraph() { + if(tail instanceof ValveElement) + draw(tail, head); + else if(head instanceof ValveElement) + draw(head, tail); + } + + // TODO + + public void update() { + if(lineNode1 != null) + updateSceneGraph(); + super.update(); + } + + @Override + public void getBounds(Rectangle2D bounds) { + bounds.setFrame(lineNode1.getBounds()); + } + + @Override + public boolean hitTest(double x, double y, double tolerance) { + // TODO + return false; + } + + @Override + public T getInterface(Class clazz) { + return super.getInterface(clazz); + } + + @Override + public void elementRemoved(IElement element) { + remove(); + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/Flows.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/Flows.java new file mode 100644 index 00000000..2c9c23ef --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/Flows.java @@ -0,0 +1,33 @@ +package org.simantics.sysdyn.ui.elements; + +import java.awt.geom.Path2D; + +public class Flows { + public static Path2D createLine(boolean vertical, double ... coordinates) { + Path2D path = new Path2D.Double(); + if(vertical) + path.moveTo(coordinates[1], coordinates[0]); + else + path.moveTo(coordinates[0], coordinates[1]); + for(int i=2;i + + + + + + diff --git a/org.simantics.sysdyn/.hg/00changelog.i b/org.simantics.sysdyn/.hg/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..d3a8311050e54c57c5be7cfe169e60a95768812c GIT binary patch literal 57 zcmWN_K?=Yi32WkE0oT`-w3=6Z75^iqAVMLu0ehVP9yE(uHp1(vc1=CGNR;zIZp{WrUj`iEa|+zAi+=<;=oGXZRRm1TU+xhns>>OoLvO4Lqqc%R zW#9dE(KVP(lG*2&KmRsO14`f|g>M!Omk(X8!-wLBn}GxGQD<(v#{o!%xuaZDA4uZSOIRx(HFjg3UYn-y6>sG0Q;&WEW_5Mf literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/hgrc b/org.simantics.sysdyn/.hg/hgrc new file mode 100644 index 00000000..5d45c4d7 --- /dev/null +++ b/org.simantics.sysdyn/.hg/hgrc @@ -0,0 +1,2 @@ +[paths] +default=ssh://simusite/org.simantics.sysdyn \ No newline at end of file diff --git a/org.simantics.sysdyn/.hg/requires b/org.simantics.sysdyn/.hg/requires new file mode 100644 index 00000000..5175383b --- /dev/null +++ b/org.simantics.sysdyn/.hg/requires @@ -0,0 +1,3 @@ +revlogv1 +store +fncache diff --git a/org.simantics.sysdyn/.hg/store/00changelog.i b/org.simantics.sysdyn/.hg/store/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..4341f31d61f6bfeec4fd552611802e386bb1b638 GIT binary patch literal 384 zcmZQzWME_f14ai12IfWxn}Oj!6tvt5Shv1v>Iploggi9{&xRE*83kc#Ky<~Nsgq9U z9WoGb{r-=uj-lOV_M5I-3aNr2oG#a!Z8@ELWpDaL{oA*2LEb98J+oKue12ovovCwu zx|16%8NwpvmKz>(RXwFFvg6d_9g`xB*5CA;@9_HL&U<@hZUUmhrE-EpQg`vP=D%C%?{_c2Pa>=SoKHAHDP_?jc%jGJT5)&R>;5g=W>oObkGg# zJ`kNZ%xz~6Uv<}1&5lM~mJ_buH{grMM1>huIC=C*yU&nAYU(KaRu}ee8&y)*$MNlRYzi*XvD$^T&=N^Gj|*N9Nd57XEB2o zIj*=4({X?I_Rla5IDcIDfH4OsNn^;2XP6PA*3L=-vD%&YATHm`|1?f-d|}5H*)>;U zlx%}m$UX{%!jYM~{b-t-R=J%$9d$Uo%|A~U4b2SH#OLTDT6jQ;L`Sw%u|QcIB2XcQ zn>GHFlN?!&bTx=MBay|rH@0|}l&LlDEWvR^K=4c;#5W5(jMLv2wC}}o1=2k=HQNJO zhOKelLJ!=OTUYJrcJCkWM|ri=1s{-uQVUu<#n?1tu`l1C=I*tSR@Z~w@6Grx>qLKD zZLiARDYn!_Ak}^rK=C~|>wygoD%7LDnf;98yIkk)*h=QAMYu5}px~TW$v#)Moq}Dn zy-ELvJrCH&U-;s{D>{%Cd#236%0%j=^ynING;fNJw>Rp2ScY|)m;KfK=gawd8u*U! z^t;NWR$eaMuDn~4a;&yiu;xj~&3T(4L}a-=s=tLF|E+wH%tg-ew@O$`?2(G5V~x|4 SdU4kGk}ZOf`}POud-nQcQjMkn literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/.classpath.i b/org.simantics.sysdyn/.hg/store/data/.classpath.i new file mode 100644 index 0000000000000000000000000000000000000000..9c6191bbd241cc32a372eb691a816828c28894aa GIT binary patch literal 278 zcmZQzWME`~fNKm4j1^Ee!+$7nEL?j0?)tZZ3*$GYBt?EWCRw}01*Qf>SIn6@;b0b% zp+MVt-7m7!?#x{~{nFvQrBie@Lb~&+r_SJceWgT5z4OKG)k}juDts~f|KaTM58=&k zw`-eeOtiVaivRm62eW%ZxceJCl9mRz39W2MXg@R`1%`b|;oq-gEOk)p>_ z*X}84I2PE!5pULbdFI(q4_Yp6nYrKR*xSzqcYIEJ_gO65P?k_Q(fY)f>Q1K3OKxUu zoS*+zFTwJXv~6}(ZAHM-{qbC42P+%}V$y}Syw@u~@^O|{m*vX7$D)^>ixgQMzTxn#JML?V#CNGBFjV21J(@SLT%@R#+(% RrKYD=6!3DzC1vL60|2)S7-0Ya literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/.project.i b/org.simantics.sysdyn/.hg/store/data/.project.i new file mode 100644 index 0000000000000000000000000000000000000000..2bf3e61fc60a4f432d2e08337ea00b7f18dfb518 GIT binary patch literal 307 zcmZQzWME`~fX@sJOe>*mhW}8o{5!8kvaVN0w6f5-D)raBO8#fw!_j&T2d#rma7uiEWwp_cg59b#q3A!M$hy)9dV*l*8O_ z>+=bmu!u3+{$^PugVu81veVB>f0xu=Uvq1<_rvDf&0YNtS`zY?ON#VaytvnL%PJ?U zx-IUw*!hK%Re!C`;yGIzHj37)*%ZycMCpgiUfyNbrTMj1Ysm+NEYdq?uCwA^1=F_c z6E($y6!|x?DAdF%s;0bXJF{%n&np5oZa+n@XD6H&I%^%U=YRYgx3>pQ**Auz*L*tC s?c8AXS268JseK7syqEFi(--_3Pkw)(V|;DqkDc6?L#>(b?!37W022d-kpKVy literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/.settings/org.eclipse.jdt.core.prefs.i b/org.simantics.sysdyn/.hg/store/data/.settings/org.eclipse.jdt.core.prefs.i new file mode 100644 index 0000000000000000000000000000000000000000..599b188a717c8a67414e49e9aedc9bc5ab4a0ef2 GIT binary patch literal 242 zcmZQzWME`~fK3bxjNMQ+!+$7nxxHy)n%uH(X7TXAr{9*n@Yys0t_GyGV$RgQgItFU z1YF*?{&PN1y&+1JdoPEahzS2bhn(fAlisxXYW?_r&H4Pb(?&X<+qUm8SgE}~WMk;j zWl`@}Z3;R5ICkx{)3x&!7Mi)dPviZ#6g>$VZ^nCF!PY*i&=(SUR{bW0fY`6QCZxw7_RpchMED7fJ c+O~Oul#)(y=7k6UQ;F?fCrNIAsR7Xyb7FgK`I{Vg z9Lnoh6ZdmlSR};wMEDd;II`El&@{&XUGs_k-zPCIUKV{nJD%5vIZ8b*Lnl-3veUDZ zCyVVDtqA{-xVtyTA#tWz_gnFMWoH*f*#?QvG%L^aWVC*@W{dr^a_uuu5|=by$obPX zS-rXT>!EYI6T)mJUtBXGcILdqwq-)CchpyFJi1#SvYnsxytDNDbB0xCiX=Bheq!s` H5n%-YN$y`N literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/build.properties.i b/org.simantics.sysdyn/.hg/store/data/build.properties.i new file mode 100644 index 0000000000000000000000000000000000000000..81795eb0b75f25cd0b18810dcf8a5e226d5d62e8 GIT binary patch literal 133 zcmZQzWME`~09POt0A(}$hXRhz0=rg3a`@a_D<3rPUfyiMJRK{T8W3GENBf+l2 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/modelica/_modelica_writer.java.i b/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/modelica/_modelica_writer.java.i new file mode 100644 index 0000000000000000000000000000000000000000..641d21274fce472f4409423079859e3bc1aaed2b GIT binary patch literal 514 zcmV+d0{#5}0RRC20000000F`P00&I~0000000030|NsC0|NsB3xY8C`fX-@fI(<|K zgNy`7ofaSf00000000000001ZoW)cxV25yL9g5z=d!E#2_CK&{~7ktUGQh93_bn=)(VXa}PsS$KF3^F5m z1;Zc})658^ao{+s?U`WdI3?16`eD4uaX_z>EEiTaM027wdI}o8DP}XFPqzWtF*SaYTb*Z_SSPxU_^yw$gML3xyZJ{fJn}4qW^sy%?=Muj z`H0E&HF|x1cs@GQ_N;jDUi#koFYV6C)&;w<$KST#dz>v%34bj2uN3MPqYYoX;>Vpw z&fY4%>_l-6T*{Q#t?l#d>**imR!Ka;)22%r~E9R8?AIxhu z;MuGEkw37!(R)X~w|efXvPT!Xc5{kVaC<&!2{3tk-#u~dww0S}K31QvJI{B;xXNH>IRU&bPtg+LX*mY9;ojZXYMAC9PZ}u>94|TW#;}CMOup?O5O*b2w&4t?0y= tQGZl>z2g|Y7INR58}4#uz1#Gz+xH`1oP7RN^zM)ICXv6mgPVG9004?alfeK0 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_cloud.java.i b/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_cloud.java.i new file mode 100644 index 0000000000000000000000000000000000000000..d86970946a7ccef60faf7ada69e7620525d7917d GIT binary patch literal 280 zcmZQzWME`~fEx@9jFnI}!+$8SwB=+se&*8QCj3VI^4;4Wo!{p7!PJ20iaDkJzS)Nj zc=k&Fk@ucfX$D5}m|-vXmqFe{J5KDTY=HyXSqeYdKao>)uL- zy=gOg`V%5QAG-U<)Kca6Id@^jA7NaY35Og$p0Bj1^QKG6}Qq)SN-TN#U z)`_t#+blxW{`cBuK|t8HN@F2pkH>G`dov31C#Wcrx*~?vAS}xbF`X$oK{QpG8Y(PU zCdD?6;)vBsYKtD>2&A!$lY6b9dtk;+ujgoT|5$?}AcX9Z4Edx%9e#9*ZvXwwcgn%i zVh6mr_-vIpIWohn)P{WEw06;5f8I$}+!vrM)i1>R@*FVO5Jz{TLcBRxt8UV?ZQH3p zU8Pw-zj`l4$*M*N@J$j&s@Zdvqnv{=Xm*Q!#SwDrZfeG?!qHk%vNRhCr4P_ieVx7` z*J*gB(^VDxoe-+rM!gb`86nZwObiZf%Sc!d{94His31dOzRF)`P zb;B>*`<0B(l7&4`6d3P7GuU(5r&(Zp>DOs~q}4oBMtPRDAM%X5I-( literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_dependency.java.i b/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_dependency.java.i new file mode 100644 index 0000000000000000000000000000000000000000..b28e3cbc4f902510b18593391e3ef6a322723f19 GIT binary patch literal 329 zcmZQzWME_f14d2;2Bu;Nn}Oj!6x_`^6Z?DavGA~ybN4>tweoVj<98OO21HlPnHy;9 zf7n3auJTj+h*VFpbaii4hbf$#tKNnGo+2T0`_s-or6cvnGbeQ|3RCc#_wMfR9h;dy z^6?tImiAl4EIdWQkNM=mg8p;L3poX*n3m3aI`h?>uMdy!xVyjffrUi!^1w&^axuGQ zWvqM9lu%#B`mjziPVgpEYxc4yf89 z{d4nEPcxM@|Mq`jbBvpuCv4_@p6$Hg-f*Gw&yuYanH4XzJ~~tysWbiV@vh6^A`3%9 Su6dUqvj42JSAWvdEB63pB9uMdy!xVyjffrUi!^1w&^axuGQ zWv^JAOVq&ho3U=9@%Zk*eEn0F7c!u>b%7 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_stock.java.i b/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/_stock.java.i new file mode 100644 index 0000000000000000000000000000000000000000..d954ea79f4b1b9ece9013d55916e4d96408abeb5 GIT binary patch literal 378 zcmZQzWME_f14b(b2BuC3n}Oj!6#V$R;n&oCPa-y3{(88HBl361zte^=H6XfT&eVyH z-iI9oTHiPRX;+LBYT>Og(dya~6krq5bp2(T$2Q-x>382AQ~3LSnP;@rijLwrwZHe8 z8%zCU^JYr*N^@<##F;nqZO%o{G!N-bDza7!Q^eR36{OboG@DkXM5||gOW`S7e`wd| z=bFB2ukmKJ1+AKxaNEH z%SCJ&Cd8OJP5T_RRqUN(P_?J{eU+Q@b+(o+{l%Z{B;(dGIr&+wXU>Y}E|%BkDeY+E z%Kf^At7|gPC6Q;{=eOU~xIb4|{=TiGGS@7LA9Z&d=1ea8*y`OdzvB1DoQM{Ivd|BkQr}@(iOxDl-=FA>^$XU1bzm0#& zl$i~Yxhqc1>|$Jf*Q?fZVUcXSP@9A8w2w}HmW@ow7mmMjvzYp7?*HhOH9$UiiJx0Hy{+SImj+v&}y2 zz|&TK_%HiIy|YEn*S)=@dco=Cg@*E#*K5m#S&tmV)5m`7q>CY)dP_0Q}1)}ZXD zwKz@OplkD*%4ct7N*Bg-XmWLVe{?lnRj9aJsr;kK8|JiL!)2VWY|J<8@ uI%n|DSy}STv;0}uu2nXB6zh`~lx=-b=V}%dBcpiD`>XZpXH3>AG2sAeT5@v$ literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/visitors/_element_visitor_void_adapter.java.i b/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/visitors/_element_visitor_void_adapter.java.i new file mode 100644 index 0000000000000000000000000000000000000000..67199e1fc29848d8f9898028a5b47b86f96864cf GIT binary patch literal 297 zcmZQzWME`~fR_vm%{-5Zz{HAXxT6)SR&$}vFmiE7D zc<}QAC+{iOOP5Znq!q~~Cy0~;x_(;cts-K3x@>RM`V5YFk7MuT*-TbFdU+dX^`<(L z+!MxZC2Vu^{=B;SD_HuY;9k3JihDP4X1_nQWBU@vXjLYCvGzHa&!2s3J9BQJqLTBs zdG}fF{YyW%G{VuY|2^l-lMibCmienL@5?EcW>_)*#li=wzpJ);>q;(p!L%!kesD_=b+%>0W9Y~+HKWCc0&?G5c0NZ_mnE(I) literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/visitors/_i_element_visitor_void.java.i b/org.simantics.sysdyn/.hg/store/data/src/org/simantics/sysdyn/representation/visitors/_i_element_visitor_void.java.i new file mode 100644 index 0000000000000000000000000000000000000000..0ae8cd72a0cd5c0e6b6d5eab00db4e61d02afd85 GIT binary patch literal 273 zcmZQzWME`~fQt+aO!-hY!+$79e{%fz<0}VtSu)P=58cjot8Dw{+b}gCx?;}M31_*Q z4Fp==H@)9*yy_#X&D4Jm=ULxpZaS6Z<0O>3^vm6BrLFB%8ATFiXLxqkw0-Q`%5iJk z(#7*M{qIc8D@qDl>Y99U;iof`!=8Hd?b){O)MlH-_cC7pfAzMV-7~3d)ub%;mFyG4 zEEhSd27Ejcn!fUVX7B3jd%Ra)@#&MeIrE`fC$nb%wnUkSMU!rvKUk$0lP&at$8*Mg ziMok@^He$C7>i!@*Sg21_o7Yue1jp7T*%D7>tWr`rikOcF%LM;>bROpch5~f&q+8y8>BlB6yRaMB{QmyHwva(9 z<3S`rJ}P=@UY_mEcy#1KWGroo;|WbJO@cX7aH1nSg~n47R41F2xw47zAjR{c+qSQ( zb+3nZz3RKoRty-!2}@GgTtjG~GlWb=w9I1XpwH2wCj)wT9Cl0@S)Jel zh4i01HIh@vHm#5tv}_tN9BF<;bER9T@NTF_LX9q<;+MukufG3+bZTrdf7_ S4k(WeZ5nfg;Lt~R--K^&`e@1k literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hg/thgstatus b/org.simantics.sysdyn/.hg/thgstatus new file mode 100644 index 00000000..e69de29b diff --git a/org.simantics.sysdyn/.hg/undo.branch b/org.simantics.sysdyn/.hg/undo.branch new file mode 100644 index 00000000..331d858c --- /dev/null +++ b/org.simantics.sysdyn/.hg/undo.branch @@ -0,0 +1 @@ +default \ No newline at end of file diff --git a/org.simantics.sysdyn/.hg/undo.dirstate b/org.simantics.sysdyn/.hg/undo.dirstate new file mode 100644 index 0000000000000000000000000000000000000000..5eb4900b4b8882b9ace8bebe0490b61f0fb7253b GIT binary patch literal 1122 zcma)*u}%Xq42C-b69bRHN+OT|iS1N+(hXOJR%K2T_v(@+k)12_>EW&vhHEOtla<(C zZ2$3SlxM0B`#xIdJ~C!G`q@0?2s{fVp&ZrY`el2zXuDCCRufM?|;A~|@(4wM!67!ae`IqBVjl!r9fs*{}A2YVTP3wA7Pv*s4 zH7#XbOsjG-n~S;}YV(}i$14PI2AodMxgmkFzrr0glrqSqe>p?&}rkI35q literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn/.hgignore b/org.simantics.sysdyn/.hgignore new file mode 100644 index 00000000..86c38ae8 --- /dev/null +++ b/org.simantics.sysdyn/.hgignore @@ -0,0 +1,2 @@ +syntax: regexp +^bin/ \ No newline at end of file diff --git a/org.simantics.sysdyn/.project b/org.simantics.sysdyn/.project new file mode 100644 index 00000000..05d44396 --- /dev/null +++ b/org.simantics.sysdyn/.project @@ -0,0 +1,28 @@ + + + org.simantics.sysdyn + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.simantics.sysdyn/.settings/org.eclipse.jdt.core.prefs b/org.simantics.sysdyn/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..785aae6f --- /dev/null +++ b/org.simantics.sysdyn/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Mon Nov 16 15:37:44 EET 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/org.simantics.sysdyn/META-INF/MANIFEST.MF b/org.simantics.sysdyn/META-INF/MANIFEST.MF new file mode 100644 index 00000000..dcebe58c --- /dev/null +++ b/org.simantics.sysdyn/META-INF/MANIFEST.MF @@ -0,0 +1,7 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Sysdyn +Bundle-SymbolicName: org.simantics.sysdyn +Bundle-Version: 1.0.0.qualifier +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Require-Bundle: org.simantics.objmap;bundle-version="0.1.0" diff --git a/org.simantics.sysdyn/build.properties b/org.simantics.sysdyn/build.properties new file mode 100644 index 00000000..41eb6ade --- /dev/null +++ b/org.simantics.sysdyn/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/modelica/ModelicaWriter.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/modelica/ModelicaWriter.java new file mode 100644 index 00000000..a63897e5 --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/modelica/ModelicaWriter.java @@ -0,0 +1,53 @@ +package org.simantics.sysdyn.modelica; + +import org.simantics.sysdyn.representation.Auxiliary; +import org.simantics.sysdyn.representation.Configuration; +import org.simantics.sysdyn.representation.IElement; +import org.simantics.sysdyn.representation.Stock; +import org.simantics.sysdyn.representation.Valve; +import org.simantics.sysdyn.representation.visitors.ElementVisitorVoidAdapter; +import org.simantics.sysdyn.representation.visitors.IElementVisitorVoid; + +public class ModelicaWriter { + + StringBuilder b; + + IElementVisitorVoid componentWriter = new ElementVisitorVoidAdapter() { + public void visit(Auxiliary auxiliary) { + b.append(" Real ").append(escape(auxiliary.name)).append(";\n"); + } + public void visit(Stock stock) { + b.append(" Real ").append(escape(stock.name)).append(";\n"); + } + public void visit(Valve valve) { + // TODO + } + }; + + IElementVisitorVoid equationWriter = new ElementVisitorVoidAdapter() { + public void visit(Auxiliary auxiliary) { + b.append(" ").append(escape(auxiliary.name)) + .append(" = ").append(auxiliary.value).append(";\n"); + } + public void visit(Stock stock) { + } + public void visit(Valve valve) { + } + }; + + public void write(Configuration conf) { + conf.update(); + b.append("model ").append(conf.name).append('\n'); + for(IElement element : conf.elements) + element.accept(componentWriter); + b.append("equation\n"); + for(IElement element : conf.elements) + element.accept(equationWriter); + b.append("end ").append(conf.name).append(";\n"); + } + + public String escape(String name) { + return name; + } + +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Auxiliary.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Auxiliary.java new file mode 100644 index 00000000..97cb4465 --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Auxiliary.java @@ -0,0 +1,15 @@ +package org.simantics.sysdyn.representation; + +import org.simantics.objmap.annotations.GraphType; +import org.simantics.sysdyn.representation.visitors.IElementVisitorVoid; + +@GraphType("http://www.simantics.org/Sysdyn#Auxiliary") +public class Auxiliary extends Variable { + // TODO + public String value; + + @Override + public void accept(IElementVisitorVoid v) { + v.visit(this); + } +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Cloud.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Cloud.java new file mode 100644 index 00000000..9c1b74fe --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Cloud.java @@ -0,0 +1,12 @@ +package org.simantics.sysdyn.representation; + +import org.simantics.objmap.annotations.GraphType; +import org.simantics.sysdyn.representation.visitors.IElementVisitorVoid; + +@GraphType("http://www.simantics.org/Sysdyn#Cloud") +public class Cloud implements IElement { + @Override + public void accept(IElementVisitorVoid v) { + v.visit(this); + } +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Configuration.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Configuration.java new file mode 100644 index 00000000..86c640cd --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Configuration.java @@ -0,0 +1,43 @@ +package org.simantics.sysdyn.representation; + +import java.util.ArrayList; + +import org.simantics.objmap.annotations.GraphType; +import org.simantics.objmap.annotations.RelatedValue; +import org.simantics.sysdyn.representation.visitors.ElementVisitorVoidAdapter; +import org.simantics.sysdyn.representation.visitors.IElementVisitorVoid; + + +@GraphType("http://www.simantics.org/Sysdyn#Configuration") +public class Configuration { + @RelatedValue("http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasName") + public String name = "Unnamed"; + + @RelatedValue("http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOf") + public ArrayList elements = new ArrayList(); + + IElementVisitorVoid clearVisitor = new ElementVisitorVoidAdapter() { + public void visit(Stock stock) { + stock.incomingFlows.clear(); + stock.outgoingFlows.clear(); + } + }; + + IElementVisitorVoid updateVisitor = new ElementVisitorVoidAdapter() { + public void visit(Flow flow) { + if(flow.head instanceof Stock) { + ((Stock)flow.head).incomingFlows.add((Variable)flow.tail); + } + else if(flow.tail instanceof Stock) { + ((Stock)flow.tail).outgoingFlows.add((Variable)flow.head); + } + } + }; + + public void update() { + for(IElement element : elements) + element.accept(clearVisitor); + for(IElement element : elements) + element.accept(updateVisitor); + } +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Dependency.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Dependency.java new file mode 100644 index 00000000..631d2229 --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Dependency.java @@ -0,0 +1,18 @@ +package org.simantics.sysdyn.representation; + +import org.simantics.objmap.annotations.GraphType; +import org.simantics.objmap.annotations.RelatedElement; +import org.simantics.sysdyn.representation.visitors.IElementVisitorVoid; + +@GraphType("http://www.simantics.org/Sysdyn#Cloud") +public class Dependency implements IElement { + @RelatedElement("http://www.simantics.org/Sysdyn#HasTail") + public IElement tail; + @RelatedElement("http://www.simantics.org/Sysdyn#HasHead") + public IElement head; + + @Override + public void accept(IElementVisitorVoid v) { + v.visit(this); + } +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Flow.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Flow.java new file mode 100644 index 00000000..6148dbfc --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Flow.java @@ -0,0 +1,18 @@ +package org.simantics.sysdyn.representation; + +import org.simantics.objmap.annotations.GraphType; +import org.simantics.objmap.annotations.RelatedElement; +import org.simantics.sysdyn.representation.visitors.IElementVisitorVoid; + +@GraphType("http://www.simantics.org/Sysdyn#Cloud") +public class Flow implements IElement { + @RelatedElement("http://www.simantics.org/Sysdyn#HasTail") + public IElement tail; + @RelatedElement("http://www.simantics.org/Sysdyn#HasHead") + public IElement head; + + @Override + public void accept(IElementVisitorVoid v) { + v.visit(this); + } +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/IElement.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/IElement.java new file mode 100644 index 00000000..4cbaa5d3 --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/IElement.java @@ -0,0 +1,7 @@ +package org.simantics.sysdyn.representation; + +import org.simantics.sysdyn.representation.visitors.IElementVisitorVoid; + +public interface IElement { + void accept(IElementVisitorVoid v); +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Stock.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Stock.java new file mode 100644 index 00000000..3287853f --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Stock.java @@ -0,0 +1,23 @@ +package org.simantics.sysdyn.representation; + +import java.util.ArrayList; + +import org.simantics.objmap.annotations.GraphType; +import org.simantics.sysdyn.representation.visitors.IElementVisitorVoid; + +@GraphType("http://www.simantics.org/Sysdyn#Stock") +public class Stock extends Variable { + public ArrayList incomingFlows = new ArrayList(2); + public ArrayList outgoingFlows = new ArrayList(2); + + public Stock() { + name = "Valve" + hashCode(); // FIXME + } + + @Override + public void accept(IElementVisitorVoid v) { + v.visit(this); + } +} + + diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Valve.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Valve.java new file mode 100644 index 00000000..ba45a7c9 --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Valve.java @@ -0,0 +1,12 @@ +package org.simantics.sysdyn.representation; + +import org.simantics.objmap.annotations.GraphType; +import org.simantics.sysdyn.representation.visitors.IElementVisitorVoid; + +@GraphType("http://www.simantics.org/Sysdyn#Valve") +public class Valve implements IElement { + @Override + public void accept(IElementVisitorVoid v) { + v.visit(this); + } +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Variable.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Variable.java new file mode 100644 index 00000000..379edf5c --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Variable.java @@ -0,0 +1,8 @@ +package org.simantics.sysdyn.representation; + +import org.simantics.objmap.annotations.RelatedValue; + +public abstract class Variable implements IElement { + @RelatedValue("http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasName") + public String name; +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/ElementVisitorVoidAdapter.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/ElementVisitorVoidAdapter.java new file mode 100644 index 00000000..d359afc6 --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/ElementVisitorVoidAdapter.java @@ -0,0 +1,36 @@ +package org.simantics.sysdyn.representation.visitors; + +import org.simantics.sysdyn.representation.Auxiliary; +import org.simantics.sysdyn.representation.Cloud; +import org.simantics.sysdyn.representation.Dependency; +import org.simantics.sysdyn.representation.Flow; +import org.simantics.sysdyn.representation.Stock; +import org.simantics.sysdyn.representation.Valve; + +public class ElementVisitorVoidAdapter implements IElementVisitorVoid { + + @Override + public void visit(Auxiliary auxiliary) { + } + + @Override + public void visit(Stock stock) { + } + + @Override + public void visit(Valve valve) { + } + + @Override + public void visit(Cloud cloud) { + } + + @Override + public void visit(Dependency dependency) { + } + + @Override + public void visit(Flow flow) { + } + +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/IElementVisitorVoid.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/IElementVisitorVoid.java new file mode 100644 index 00000000..ce699426 --- /dev/null +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/IElementVisitorVoid.java @@ -0,0 +1,19 @@ +package org.simantics.sysdyn.representation.visitors; + +import org.simantics.sysdyn.representation.Auxiliary; +import org.simantics.sysdyn.representation.Cloud; +import org.simantics.sysdyn.representation.Dependency; +import org.simantics.sysdyn.representation.Flow; +import org.simantics.sysdyn.representation.Stock; +import org.simantics.sysdyn.representation.Valve; + +public interface IElementVisitorVoid { + + void visit(Auxiliary auxiliary); + void visit(Stock stock); + void visit(Valve valve); + void visit(Cloud cloud); + void visit(Dependency dependency); + void visit(Flow flow); + +} diff --git a/sysdyn_ontologies/.hg/00changelog.i b/sysdyn_ontologies/.hg/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..d3a8311050e54c57c5be7cfe169e60a95768812c GIT binary patch literal 57 zcmWN_K?=Yi3h0MsBH$)B@n`YAJNf;qFD}a!Rr@L$c$lR$d2V@_b@ber#ilC^{b!!`S}<+v z9t|#)s1D)6IT^v9gijpVvgktb?d@AOb7>fSRI@n$s+U`4Zg`BFMTqD$qv?D8GbR|? zYymqIl=7IiLg-kSS{smzURk*6Aywz3>P{-xVS)-`&OTn#sntu zNuv4Tr#}Ar6XmyiP3W`#n$vwXdXM-!v$e5jGF)6IwqEJ_-K%$u>y!7-$dmk|SPin0 zksWMtFOX~lae~B(f;Ty4AIx1tk<&s7D`4<}Bo1F={sz3daoCL?g$*x>hRUQ6U z_&R1dn_T=R*Zg|N)~^c8U2A?n{#s+b^HL+*%F3sAj%+mBb~n>Ntm#%+*y~+B_FO;h zL%k<wG$TJ1g z?`J%Yem~38Lb>qASys-yN@9Xw)li~h4(ma0E+#`Bh6}a+hTn(P!WGJ!fRHKDE*1$OM&BT`{cT^EU`SJ)m@lX~w#_q5FRy{#jxvG~xTS?!RX< zZ{M}xxha^^e_BtmLGrf7>|3|n@86wa`14o9tIhjXowH}%tjG_tmx&c@dkT;QVHPN6 z28VulYJiQ8-)3vaO$>PxE|s%5*uDj;h7uqL2l5?K06O^pyd?1nJWH~Fe!iSNWlGmY z1xe|XdGD*U&P-aICvjuabrnfrDXn6`Zl9S`HsySna_!vl=jK^AW8bfnyL?l+#$jK( z$Vq*3uGd_TrK(K7-&z{ppm{&?-*Xqa5Rg?&nP3acfg~tkL2d-Ong!%WzwPx&E7#2} z$?5EzXXLi0Z};{+F+e#usF)*r#t;~&0uC3~Hn-p4mQXXcp1oxAMiCK5Z_hHdH48F( zs%o3%<9@e4yuWgHo5gO`^o}$0EDHsD?o~T!S_PlcoaTC?G4l1StlIbAo!1ORM! z*PjFlaL;2fd?pn7y=l)`qt#qDak?PR!;>!JI zme-!_2C)pwcp2s$ul(|Pp84H{fWL_{r~us z0B_~XLO$8k-<_Ng^)S#oZmNnCv+a5L8{vxJIAja~+v|knSSFwdBgnDye3#^E-Q-XC zy};z|yZQ1uS(EF6kR1zDCJ4kJbIgh>i&HA|^wNtG3o;lC5{(QK%}mn_Q_M{)&CP(! zBnyiabK^AAo!d( z`fL%kdwl>{HJrfV0t-{iRKv8yBr`(`gQQe*V{4bWCO!Q!$f1#M|ExWGPvbn1`Zb(nVOrV8JMP-nH!m! znkE`08>S>0o242hnj{)nnpq?n8d@Zq8z&}%UBD!T;R05m2n)ysor$M6ObriR`d72O zSodG@?3I763J~Q2QxlUUGZQmQ6N|JI^AzJ`b8}-;LsJuTgR~SA6H`kg6H{XoV6>!i F0RWqQM2P?Z literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hg/store/data/.hgignore.i b/sysdyn_ontologies/.hg/store/data/.hgignore.i new file mode 100644 index 0000000000000000000000000000000000000000..0e633d6f180b490372e99e9cf61ce4fbbbad1e72 GIT binary patch literal 136 zcmZQzWME`~01qJL2W2z-hl0B@-_CF|aY?Q`Hyv_02s z2-5KK^#)seJ&!nK6X` literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hg/store/data/.project.i b/sysdyn_ontologies/.hg/store/data/.project.i new file mode 100644 index 0000000000000000000000000000000000000000..f0d2a9d5302f6b916e6c09f4f7cfc34b64f0fa0d GIT binary patch literal 208 zcmZQzWME`~fC)hAE|ksi9|~Bt?YK7yYKGt6SHtq7uDEpOyj|`vH6XfTPH3MY-ys7Y z*YpWHoTth%NjuNd6BTDj3lUn)mGwr$PjIhouI7TAy7Twr!>*n#KPs$beJDt#tU8cE zY7^h>pcwt-Zv#WBHis!*V)j|p=v$)L`|{#C5i>ax{v7r_f@-f;lpgRpSH~ssNzNcs pb^qm*>1OjB(@NgQrk`g#lRjP9Y-Rt3Ie#C9Pu%~VO+VY+8vq|+P9*>U literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hg/store/data/dependencies.txt.i b/sysdyn_ontologies/.hg/store/data/dependencies.txt.i new file mode 100644 index 0000000000000000000000000000000000000000..3f9577ef96d63d58354f08333c990bedffc27b30 GIT binary patch literal 115 zcmZQzWME`~0AnEK0%bG&hk~0y%B3$8#Hzh(I@TIQ&3MJ8E5QR(1EMSDT)uqS|Fr&D xZ%>_*XU=z@Kd*iA{7L`wKDy7IUb=kQ+{;n??LdEE50# literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hg/store/data/generate__sysdyn.bat.i b/sysdyn_ontologies/.hg/store/data/generate__sysdyn.bat.i new file mode 100644 index 0000000000000000000000000000000000000000..eda31a381d31706387801a0a671d7b7b4cb7f90d GIT binary patch literal 188 zcmZQzWME`~fEpn61j=Uk4+S4Z=T<)YF;n9!>tgnl7q6SU_XYXD)PU%UImI5n=T3y5 z@b`ZF)XVS8$-sc1wceTr7cO_7^zZldKkKdQrQ>ND)WoH&$)I}allSK!A#bD4pC5hx z?DeVm(`Dn}?ujm6FLeuX8#!ooYj+201%^1f2xt|34h||d`h02P)dNR9toHKM)plE< U;qQCOwUpn5Wf2p@t-4Sz0B`|J8~^|S literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hg/store/data/install.map.i b/sysdyn_ontologies/.hg/store/data/install.map.i new file mode 100644 index 0000000000000000000000000000000000000000..52e0bcbd4426b25ab48add21fb305df7ea80ef4a GIT binary patch literal 117 zcmZQzWME`~08=1k1!Xh*hk`9x%8|^oZQM2}&-<|;if@MXqDv=WYCv?w9Pe}bE4G}~ z_qwis?u_pl?UO!w*Ywxv_^mv%`Re7%>|L)99{sBDsA}oVUq@X}?ulWTculk)0JZxs AIsgCw literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hg/store/data/sysdyn.graph.i b/sysdyn_ontologies/.hg/store/data/sysdyn.graph.i new file mode 100644 index 0000000000000000000000000000000000000000..0804150d7079a4b09c413be839df1a1fd38d1431 GIT binary patch literal 1490 zcmXw14LH+z9RJ(AoGqukbrPn{iCFX6lr%JqJFhc)B+OoFjIb%LH&?eFnY0jgSR6(YvpPW<+j;XoWcFx-9C8DKXT?d(glt((r*?fhjgE(mJs5AiC^Vjp z3j~vma0H7$%h(lp3KIc$>|dQ)q=eoop<07u!xa+^E6NEap5Y{PLD>IQ=RmJ%{vky6 zH=-!)>|^3R$sB>4Yx99a-RionA=}Z$vKl#CkQ7q8D{CYsCD#WQ@^FL z`5wA9Kd~D>0~3HB`ZFTpF7d2d{Os<1v5+{7b44h4Fu$=0IXHN^PId8~(5*ayb=- z9)%(-=%<-woafBKdtP_;H|~VAyHcibj+3z*CvMrElh24=YTnTMgipE?uVB*%#wvWSqcbC=%=DzNJpI~K}xAf;|M79}=G+vx*QdeeQQWsK_ST`83fwDYx; zj)cL3l?{(pYEBRrj|SP8Wj-t5k5{KVomR-gE5!?w2?6bT7%5cYw4UEr4GFfVu$-n5w=*AtOjx ztZ*7EI+sbwO*ew5X`m(z8KZJgY9`f}3U$;D5WD(BYgTy*_09$6a=$+p`+E7gmZO23 zDsqx+;82om{6S}@ObF<`gAgD{k)9~mQIspb+#U}J?u0j^5w7k*T`v1<1G?d!uGlWe z=KOLfAirr6r4|9rYoss$0CCYws+HB>YJWE0_E%C~2lHrjZMuJ>PR-T$ev+1>1^ur9 zK;3{xH0uaC73PD7;nFG8465o$XAwwQbW$>dY6MZ=f54AMqmo%n{1I3-lS(5UlpMXDuZjvX80ldf_Fn6O?f_6*3#O91W=NPhutmWPQ$!hgHAh^(r^& z4Yik!p25Q|#hR26OL-NgC6D`sfbNqbI$b2T@3B)tggqk1W|(UN5(srP(VPR$(5T4) z0IIK**HfXcdIfwag&zF*q|Y%=^C06^vg0kGmA? zToiG`Flxzl80-cvP(Y(NAx^oid5Y_pt+05Z+FHL|Lb z#Gh-EOlxJl^5Qry1fdA&HsQFLmSjbln_*}-`u$O7y@xY;+gSp%MVnb3u+5^hqMQ#& zZhKV@GSac^vitgBF$P}$V=4B51Q+HU5*gu!FJQklz~$6^Tc2cVj2js6vpCi--f7^y v2fcsDd*9BTo~;P?eHU3|j2yN(OQbS52QtaqgBN3l@VG9>^H_jBn+*F8j#yWE literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hg/store/data/sysdyn_old.graph.i b/sysdyn_ontologies/.hg/store/data/sysdyn_old.graph.i new file mode 100644 index 0000000000000000000000000000000000000000..03ad970fa00176d02626ee9d032a25964fed8c16 GIT binary patch literal 1048 zcmV+z1n2tz0RRC20000000Y2p0*$QsQ_8yHp~{P_!<| zd@Ur&rzYg~0_b)CI9V6y91bL$*dV$cq?S|6<>XPl?TJ8Ze8S=j&WR{-Oi-|rvOGUM zeSUrpfjV4B8jFze^wjtWjFY?BsIk5$TmZi)_z?E3+-@~GGa^{UV=~CF5GVjZ4_;{K zu%e-H;*>4eTyi*nmt_;H7S_vG@~w45TPfGpGsYw`dhOQKM}na#RK#szIs(V4p;Si= zS&pfy8rwDDmSmGrm!!Yv45!sHqhdu8TUkx;sMeX0UloNtD??r|V_e{r@O|3R>+!d)u6K&5)pG+N?rHCUds^n_ZaWcdDIS{Fc-}Mf-A4V zUs8Ab*S|}`X-*0`fbqpy<{OQ~faN7j&t*owQn`B7SDV$Z!4FjW=pxeJfY3VGcPg#s zf@97EdSo2Mz$PnzYb0Sfwc6XqiT(&7_&Ir}lIn?SsSZY`8-)YsTFLgO>>y%R6krIY zebVE^d^|TG4FrHfBLE7tsD%DnK(T8_&iWp6ilK6hx;D6?MIum*>U({%+Ktcms0T7! zW%BLbZz(Kr_7>NchD#v`mqG*7%UZ$p`;?P}##oYV1g9`DWV?tDRzhN(FIje|(wS@Y zlb(1=cZvw^bD_EEB-a_q>r$GlIbj7?Yjg~gO9GclT^F5zBS9B4#nTAx0YDx}BIejz zSk?Lc%?7G^;G(Fg1<{bjm69P9+2&Af;)j#ZX@Mbp$#EfotsF|I#2gIaMPixwWbOSZBbr-SSJ(r#5X4EtX zbh)LW-Lf1UYMfabx*cHoo2?z)gbY4ba$WbXx>({OCF*_1s+#BB=?0n)tpGt#{+a4= zt0L83a@(C|r4F%XNL@xFX4(rm09){`x!lqvUyqlaD}#EzYi?r96S#N>Km6^7-Rd`a@ANuuw S8^1n0rH8*NnbjZL{r|u_g7(J% literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hg/store/fncache b/sysdyn_ontologies/.hg/store/fncache new file mode 100644 index 00000000..988d4673 --- /dev/null +++ b/sysdyn_ontologies/.hg/store/fncache @@ -0,0 +1,7 @@ +data/.hgignore.i +data/.project.i +data/dependencies.txt.i +data/generate_sysdyn.bat.i +data/install.map.i +data/sysdyn.graph.i +data/sysdynOld.graph.i diff --git a/sysdyn_ontologies/.hg/store/undo b/sysdyn_ontologies/.hg/store/undo new file mode 100644 index 0000000000000000000000000000000000000000..70b8700c6cd177dadc858b94e2c8a107ee96b73a GIT binary patch literal 63 zcmYdEEJ@Tat}ITe%+pIRN-W6G%VaP#GBDufGBC(Z%*#wmEiM5HS(sXYM3OTS^U_mu N^3#Drmd571TmXVu5{Li* literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hg/thgstatus b/sysdyn_ontologies/.hg/thgstatus new file mode 100644 index 00000000..e69de29b diff --git a/sysdyn_ontologies/.hg/undo.branch b/sysdyn_ontologies/.hg/undo.branch new file mode 100644 index 00000000..331d858c --- /dev/null +++ b/sysdyn_ontologies/.hg/undo.branch @@ -0,0 +1 @@ +default \ No newline at end of file diff --git a/sysdyn_ontologies/.hg/undo.dirstate b/sysdyn_ontologies/.hg/undo.dirstate new file mode 100644 index 0000000000000000000000000000000000000000..df7e5f64f7b993dc8c64050ce1bff7ea467cddbe GIT binary patch literal 249 zcmazFPYtl~@!M?exQQWe!liN+2ivy{SU?^FL*sv-_!F<6aZiA>aC&N9YEfcIYJ72J zaY|*LUQ%KSNX<5&++D9PnjkeCdId%KS*giz2`jIk;jBOj?##U6lEj=Gz1+kCpe6=} z|4;yA@<7c?FG?)PfSKsx^)u`?P*NZzwIDSwB{eTOGqqT+qylcTpV!Z2`9KAndKu}N d>3R7@sZg!_-d?{?g#u;xA?Et$r09W-1_0c^Pig=F literal 0 HcmV?d00001 diff --git a/sysdyn_ontologies/.hgignore b/sysdyn_ontologies/.hgignore new file mode 100644 index 00000000..3065d94f --- /dev/null +++ b/sysdyn_ontologies/.hgignore @@ -0,0 +1,6 @@ +syntax: regexp +^c_sharp/ +^org/ +^layer0c.bin +^layer0c.txt +^directories.log \ No newline at end of file diff --git a/sysdyn_ontologies/.project b/sysdyn_ontologies/.project new file mode 100644 index 00000000..56d3ddcb --- /dev/null +++ b/sysdyn_ontologies/.project @@ -0,0 +1,11 @@ + + + sysdyn_ontologies + + + + + + + + diff --git a/sysdyn_ontologies/c_sharp/Builtins.cs b/sysdyn_ontologies/c_sharp/Builtins.cs new file mode 100644 index 00000000..f0712133 --- /dev/null +++ b/sysdyn_ontologies/c_sharp/Builtins.cs @@ -0,0 +1,913 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.db { + + +public class Builtins { + + public readonly Resource RootLibrary; + public readonly Resource Abstract; + public readonly Resource AbstractContextualList; + public readonly Resource Acquires; + public readonly Resource AcquiringRelation; + public readonly Resource Admin; + public readonly Resource AllValuesSatisfy; + public readonly Resource AppliesFirst; + public readonly Resource AppliesRelation; + public readonly Resource AppliesThen; + public readonly Resource Assertion; + public readonly Resource Asserts; + public readonly Resource BinaryPredicate; + public readonly Resource Boolean; + public readonly Resource BooleanArray; + public readonly Resource Boolean_; + public readonly Resource Byte; + public readonly Resource ByteArray; + public readonly Resource Cardinality0; + public readonly Resource Cardinality1; + public readonly Resource Cardinality2; + public readonly Resource CardinalityRestriction; + public readonly Resource Cardinalityatleast1; + public readonly Resource Cardinalityatmost1; + public readonly Resource Complex128; + public readonly Resource Complex64; + public readonly Resource Complex_; + public readonly Resource Component; + public readonly Resource CompositePredicate; + public readonly Resource ConcernsRelation; + public readonly Resource ConditionalList; + public readonly Resource Conjunction; + public readonly Resource ConsistsOf; + public readonly Resource ConsistsOfNamespace; + public readonly Resource Constraint; + public readonly Resource Context; + public readonly Resource ContextualList; + public readonly Resource DataType; + public readonly Resource DefaultPerspective; + public readonly Resource DefaultPropertyProvider; + public readonly Resource DependsOn; + public readonly Resource Disjunction; + public readonly Resource DocumentTemplate; + public readonly Resource Double; + public readonly Resource DoubleArray; + public readonly Resource EmptyString; + public readonly Resource Entity; + public readonly Resource EntityType; + public readonly Resource Enumeration; + public readonly Resource EqualityRequirement; + public readonly Resource EvaluatesTo; + public readonly Resource Experiment; + public readonly Resource ExperimentControl; + public readonly Resource ExperimentControlFeature; + public readonly Resource ExperimentLibrary; + public readonly Resource ExtensionFeature; + public readonly Resource Extent; + public readonly Resource ExtentOf; + public readonly Resource False; + public readonly Resource Feature; + public readonly Resource Final; + public readonly Resource Float; + public readonly Resource Float32; + public readonly Resource Float64; + public readonly Resource FloatArray; + public readonly Resource Float_; + public readonly Resource Function; + public readonly Resource FunctionType; + public readonly Resource FunctionalRelation; + public readonly Resource GenericRelation; + public readonly Resource HasAttributeName; + public readonly Resource HasBaseUnit; + public readonly Resource HasBinaryPredicate; + public readonly Resource HasBindingPattern; + public readonly Resource HasCardinality; + public readonly Resource HasChangeCode; + public readonly Resource HasComment; + public readonly Resource HasComponentRelation; + public readonly Resource HasComponentType; + public readonly Resource HasCondition; + public readonly Resource HasConfiguration; + public readonly Resource HasConversion; + public readonly Resource HasDefaultPerspective; + public readonly Resource HasDefaultValue; + public readonly Resource HasDescription; + public readonly Resource HasDevsComponent; + public readonly Resource HasDocumentTemplate; + public readonly Resource HasDocumentation; + public readonly Resource HasDomain; + public readonly Resource HasElement; + public readonly Resource HasElseElement; + public readonly Resource HasEmail; + public readonly Resource HasEntity; + public readonly Resource HasExponent; + public readonly Resource HasExtensionId; + public readonly Resource HasExtent; + public readonly Resource HasFeature; + public readonly Resource HasGeneratedNamePrefix; + public readonly Resource HasInheritedProperty; + public readonly Resource HasInitialState; + public readonly Resource HasInstance; + public readonly Resource HasLabel; + public readonly Resource HasLowerBound; + public readonly Resource HasMagnitude; + public readonly Resource HasMaxCardinality; + public readonly Resource HasMaxLength; + public readonly Resource HasMethod; + public readonly Resource HasMinCardinality; + public readonly Resource HasMinLength; + public readonly Resource HasModel; + public readonly Resource HasMultiplicity; + public readonly Resource HasName; + public readonly Resource HasNamespace; + public readonly Resource HasNamespaceRoot; + public readonly Resource HasNext; + public readonly Resource HasObject; + public readonly Resource HasPackageName; + public readonly Resource HasPasswordHash; + public readonly Resource HasPattern; + public readonly Resource HasPerspective; + public readonly Resource HasPredicate; + public readonly Resource HasPrevious; + public readonly Resource HasProperty; + public readonly Resource HasPropertyDefinition; + public readonly Resource HasPropertyProvider; + public readonly Resource HasRange; + public readonly Resource HasRelation; + public readonly Resource HasReportFactory; + public readonly Resource HasRequirement; + public readonly Resource HasResourceClass; + public readonly Resource HasReturnType; + public readonly Resource HasScale; + public readonly Resource HasShift; + public readonly Resource HasSignature; + public readonly Resource HasSingleInstance; + public readonly Resource HasState; + public readonly Resource HasStubMethod; + public readonly Resource HasStubName; + public readonly Resource HasStubsPackage; + public readonly Resource HasSymbol; + public readonly Resource HasTextualIssue; + public readonly Resource HasThenElement; + public readonly Resource HasTrigger; + public readonly Resource HasType; + public readonly Resource HasUnit; + public readonly Resource HasUnit_; + public readonly Resource HasUpperBound; + public readonly Resource HasValidNumericalRange; + public readonly Resource HasValueRequirement; + public readonly Resource HasVersion; + public readonly Resource Ignore; + public readonly Resource Includes; + public readonly Resource Inherits; + public readonly Resource InstanceOf; + public readonly Resource Int16; + public readonly Resource Int32; + public readonly Resource Int64; + public readonly Resource Int8; + public readonly Resource Integer; + public readonly Resource IntegerArray; + public readonly Resource IntegerRangeUnion; + public readonly Resource Integer_; + public readonly Resource IntersectionPredicate; + public readonly Resource InverseOf; + public readonly Resource InverseOfIsRelatedTo; + public readonly Resource InversePredicate; + public readonly Resource IsAcquiredBy; + public readonly Resource IsCompatibleWithFeature; + public readonly Resource IsComposedOf; + public readonly Resource IsConfigurationOf; + public readonly Resource IsDependencyOf; + public readonly Resource IsIncludedWith; + public readonly Resource IsIncompatibleWithFeature; + public readonly Resource IsInheritantlyRelatedTo; + public readonly Resource IsInheritantlyWeaklyRelatedTo; + public readonly Resource IsOperation; + public readonly Resource IsOwnedBy; + public readonly Resource IsPropagatedWith; + public readonly Resource IsPropertyDefinitionOf; + public readonly Resource IsRelatedTo; + public readonly Resource IsSingleInstanceOf; + public readonly Resource IsWeaklyRelatedTo; + public readonly Resource KernelDeveloper; + public readonly Resource Library; + public readonly Resource LibraryDeveloper; + public readonly Resource LifecycleFeature; + public readonly Resource LinearUnitConversion; + public readonly Resource LinkedList; + public readonly Resource Long; + public readonly Resource LongArray; + public readonly Resource Model; + public readonly Resource ModelConfigurator; + public readonly Resource ModelLibrary; + public readonly Resource ModelManager; + public readonly Resource ModelManagerFeature; + public readonly Resource ModelUser; + public readonly Resource ModellingDomain; + public readonly Resource NamedUnit; + public readonly Resource Namespace; + public readonly Resource NamespaceLibrary; + public readonly Resource NamespaceOf; + public readonly Resource Negation; + public readonly Resource Number; + public readonly Resource NumberType; + public readonly Resource Number_; + public readonly Resource Ontology; + public readonly Resource OntologyDevelopmentProject; + public readonly Resource OntologyRequirementValidationFeature; + public readonly Resource Operation; + public readonly Resource OptionType; + public readonly Resource OrderedSet; + public readonly Resource OrderedSetElements; + public readonly Resource OverridableAssertion; + public readonly Resource PartOf; + public readonly Resource Perspective; + public readonly Resource PhysicalDouble; + public readonly Resource PhysicalFloat; + public readonly Resource PhysicalInteger; + public readonly Resource PhysicalPropertyType; + public readonly Resource PowerUnit; + public readonly Resource Predicate; + public readonly Resource ProductUnit; + public readonly Resource Project2; + public readonly Resource ProjectType2; + public readonly Resource Propagates; + public readonly Resource PropagatesFrom; + public readonly Resource PropagatesTo; + public readonly Resource Property; + public readonly Resource PropertyDefinition; + public readonly Resource PropertyLibrary; + public readonly Resource PropertyOf; + public readonly Resource PropertyProvider; + public readonly Resource PropertyType; + public readonly Resource Query; + public readonly Resource Real; + public readonly Resource RecordType; + public readonly Resource RegularExpression; + public readonly Resource Relation; + public readonly Resource RelationApplication; + public readonly Resource RelationLibrary; + public readonly Resource RelationRequirement; + public readonly Resource Report; + public readonly Resource RequiredByFeature; + public readonly Resource Requirement; + public readonly Resource RequirementConjunction; + public readonly Resource RequirementDisjunction; + public readonly Resource RequirementNegation; + public readonly Resource Requires; + public readonly Resource RequiresFeature; + public readonly Resource RequiresNamespace; + public readonly Resource ResourceType; + public readonly Resource Resource_; + public readonly Resource Role; + public readonly Resource ScaledUnit; + public readonly Resource SequenceType; + public readonly Resource ShiftedUnitConversion; + public readonly Resource Singleton; + public readonly Resource SomeValuesSatisfy; + public readonly Resource State; + public readonly Resource String; + public readonly Resource StringArray; + public readonly Resource StringType; + public readonly Resource String_; + public readonly Resource SubExtentOf; + public readonly Resource SubrelationOf; + public readonly Resource SuperExtentOf; + public readonly Resource SuperrelationOf; + public readonly Resource SupertypeOf; + public readonly Resource Tag; + public readonly Resource TagLibrary; + public readonly Resource TransitiveClosure; + public readonly Resource Trigger; + public readonly Resource True; + public readonly Resource Type; + public readonly Resource TypeBasedList; + public readonly Resource TypeLibrary; + public readonly Resource TypeRequirement; + public readonly Resource URI; + public readonly Resource URI_; + public readonly Resource URL; + public readonly Resource UnionPredicate; + public readonly Resource UnionType; + public readonly Resource Unit; + public readonly Resource UnitConversion; + public readonly Resource User; + public readonly Resource Value; + public readonly Resource ValueRequirement; + public readonly Resource ValueType; + public readonly Resource Version; + public readonly Resource ViewpointLibrary; + + public static class URIs { + public const String RootLibrary = "http://www.vtt.fi/Simantics#RootLibrary"; + public const String Abstract = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Abstract"; + public const String AbstractContextualList = "http://www.vtt.fi/Simantics/Layer0/1.0#AbstractContextualList"; + public const String Acquires = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Acquires"; + public const String AcquiringRelation = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#AcquiringRelation"; + public const String Admin = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Admin"; + public const String AllValuesSatisfy = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#AllValuesSatisfy"; + public const String AppliesFirst = "http://www.vtt.fi/Simantics/Layer0/1.0/BinaryPredicates#AppliesFirst"; + public const String AppliesRelation = "http://www.vtt.fi/Simantics/Layer0/1.0#AppliesRelation"; + public const String AppliesThen = "http://www.vtt.fi/Simantics/Layer0/1.0/BinaryPredicates#AppliesThen"; + public const String Assertion = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Assertion"; + public const String Asserts = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Asserts"; + public const String BinaryPredicate = "http://www.vtt.fi/Simantics/Layer0/1.0#BinaryPredicate"; + public const String Boolean = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Boolean"; + public const String BooleanArray = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#BooleanArray"; + public const String Boolean_ = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Boolean_"; + public const String Byte = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Byte"; + public const String ByteArray = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#ByteArray"; + public const String Cardinality0 = "http://www.vtt.fi/Simantics/Layer0/1.0#Cardinality0"; + public const String Cardinality1 = "http://www.vtt.fi/Simantics/Layer0/1.0#Cardinality1"; + public const String Cardinality2 = "http://www.vtt.fi/Simantics/Layer0/1.0#Cardinality2"; + public const String CardinalityRestriction = "http://www.vtt.fi/Simantics/Layer0/1.0#CardinalityRestriction"; + public const String Cardinalityatleast1 = "http://www.vtt.fi/Simantics/Layer0/1.0#Cardinalityatleast1"; + public const String Cardinalityatmost1 = "http://www.vtt.fi/Simantics/Layer0/1.0#Cardinalityatmost1"; + public const String Complex128 = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Complex128"; + public const String Complex64 = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Complex64"; + public const String Complex_ = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Complex_"; + public const String Component = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Component"; + public const String CompositePredicate = "http://www.vtt.fi/Simantics/Layer0/1.0/BinaryPredicates#CompositePredicate"; + public const String ConcernsRelation = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConcernsRelation"; + public const String ConditionalList = "http://www.vtt.fi/Simantics/Layer0/1.0#ConditionalList"; + public const String Conjunction = "http://www.vtt.fi/Simantics/Layer0/1.0/Predicates#Conjunction"; + public const String ConsistsOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOf"; + public const String ConsistsOfNamespace = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOfNamespace"; + public const String Constraint = "http://www.vtt.fi/Simantics/Layer0/1.0#Constraint"; + public const String Context = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Context"; + public const String ContextualList = "http://www.vtt.fi/Simantics/Layer0/1.0#ContextualList"; + public const String DataType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#DataType"; + public const String DefaultPerspective = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#DefaultPerspective"; + public const String DefaultPropertyProvider = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#DefaultPropertyProvider"; + public const String DependsOn = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#DependsOn"; + public const String Disjunction = "http://www.vtt.fi/Simantics/Layer0/1.0/Predicates#Disjunction"; + public const String DocumentTemplate = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#DocumentTemplate"; + public const String Double = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Double"; + public const String DoubleArray = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#DoubleArray"; + public const String EmptyString = "http://www.vtt.fi/Simantics/Layer0/1.0#EmptyString"; + public const String Entity = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Entity"; + public const String EntityType = "http://www.vtt.fi/Simantics/Layer0/1.0#EntityType"; + public const String Enumeration = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Enumeration"; + public const String EqualityRequirement = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#EqualityRequirement"; + public const String EvaluatesTo = "http://www.vtt.fi/Simantics/Layer0/1.0#EvaluatesTo"; + public const String Experiment = "http://www.vtt.fi/Simantics/Simulation/1.0/Types#Experiment"; + public const String ExperimentControl = "http://www.simantics.org/Ontology/Project/1.0/Features#ExperimentControl"; + public const String ExperimentControlFeature = "http://www.simantics.org/Ontology/Project/1.0#ExperimentControlFeature"; + public const String ExperimentLibrary = "http://www.vtt.fi/Simantics/Simulation/1.0/Types#ExperimentLibrary"; + public const String ExtensionFeature = "http://www.simantics.org/Ontology/Project/1.0#ExtensionFeature"; + public const String Extent = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Extent"; + public const String ExtentOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ExtentOf"; + public const String False = "http://www.vtt.fi/Simantics/Layer0/1.0#False"; + public const String Feature = "http://www.simantics.org/Ontology/Project/1.0#Feature"; + public const String Final = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Final"; + public const String Float = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Float"; + public const String Float32 = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Float32"; + public const String Float64 = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Float64"; + public const String FloatArray = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#FloatArray"; + public const String Float_ = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Float_"; + public const String Function = "http://www.vtt.fi/Simantics/Layer0/1.0#Function"; + public const String FunctionType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#FunctionType"; + public const String FunctionalRelation = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#FunctionalRelation"; + public const String GenericRelation = "http://www.vtt.fi/Simantics/Layer0/1.0#GenericRelation"; + public const String HasAttributeName = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasAttributeName"; + public const String HasBaseUnit = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#HasBaseUnit"; + public const String HasBinaryPredicate = "http://www.vtt.fi/Simantics/Layer0/1.0/BinaryPredicates#HasBinaryPredicate"; + public const String HasBindingPattern = "http://www.vtt.fi/Simantics/Layer0/1.0#HasBindingPattern"; + public const String HasCardinality = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasCardinality"; + public const String HasChangeCode = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasChangeCode"; + public const String HasComment = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasComment"; + public const String HasComponentRelation = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#HasComponentRelation"; + public const String HasComponentType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#HasComponentType"; + public const String HasCondition = "http://www.vtt.fi/Simantics/Layer0/1.0#HasCondition"; + public const String HasConfiguration = "http://www.vtt.fi/Simantics/Simulation/1.0/Relations#HasConfiguration"; + public const String HasConversion = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#HasConversion"; + public const String HasDefaultPerspective = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasDefaultPerspective"; + public const String HasDefaultValue = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasDefaultValue"; + public const String HasDescription = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasDescription"; + public const String HasDevsComponent = "http://www.vtt.fi/Simantics/Simulation/1.0/Relations#HasDevsComponent"; + public const String HasDocumentTemplate = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasDocumentTemplate"; + public const String HasDocumentation = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasDocumentation"; + public const String HasDomain = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasDomain"; + public const String HasElement = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasElement"; + public const String HasElseElement = "http://www.vtt.fi/Simantics/Layer0/1.0#HasElseElement"; + public const String HasEmail = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasEmail"; + public const String HasEntity = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasEntity"; + public const String HasExponent = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#HasExponent"; + public const String HasExtensionId = "http://www.simantics.org/Ontology/Project/1.0#HasExtensionId"; + public const String HasExtent = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasExtent"; + public const String HasFeature = "http://www.simantics.org/Ontology/Project/1.0#HasFeature"; + public const String HasGeneratedNamePrefix = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasGeneratedNamePrefix"; + public const String HasInheritedProperty = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasInheritedProperty"; + public const String HasInitialState = "http://www.vtt.fi/Simantics/Simulation/1.0/Relations#HasInitialState"; + public const String HasInstance = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasInstance"; + public const String HasLabel = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasLabel"; + public const String HasLowerBound = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#HasLowerBound"; + public const String HasMagnitude = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#HasMagnitude"; + public const String HasMaxCardinality = "http://www.vtt.fi/Simantics/Layer0/1.0#HasMaxCardinality"; + public const String HasMaxLength = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#HasMaxLength"; + public const String HasMethod = "http://www.vtt.fi/Simantics/Layer0/1.0#HasMethod"; + public const String HasMinCardinality = "http://www.vtt.fi/Simantics/Layer0/1.0#HasMinCardinality"; + public const String HasMinLength = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#HasMinLength"; + public const String HasModel = "http://www.vtt.fi/Simantics/Simulation/1.0/Relations#HasModel"; + public const String HasMultiplicity = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasMultiplicity"; + public const String HasName = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasName"; + public const String HasNamespace = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasNamespace"; + public const String HasNamespaceRoot = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasNamespaceRoot"; + public const String HasNext = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasNext"; + public const String HasObject = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasObject"; + public const String HasPackageName = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPackageName"; + public const String HasPasswordHash = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPasswordHash"; + public const String HasPattern = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#HasPattern"; + public const String HasPerspective = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPerspective"; + public const String HasPredicate = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPredicate"; + public const String HasPrevious = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPrevious"; + public const String HasProperty = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasProperty"; + public const String HasPropertyDefinition = "http://www.vtt.fi/Simantics/Layer0/1.0#HasPropertyDefinition"; + public const String HasPropertyProvider = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPropertyProvider"; + public const String HasRange = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasRange"; + public const String HasRelation = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasRelation"; + public const String HasReportFactory = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasReportFactory"; + public const String HasRequirement = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasRequirement"; + public const String HasResourceClass = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasResourceClass"; + public const String HasReturnType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#HasReturnType"; + public const String HasScale = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#HasScale"; + public const String HasShift = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#HasShift"; + public const String HasSignature = "http://www.vtt.fi/Simantics/Layer0/1.0#HasSignature"; + public const String HasSingleInstance = "http://www.vtt.fi/Simantics/Layer0/1.0#HasSingleInstance"; + public const String HasState = "http://www.vtt.fi/Simantics/Simulation/1.0/Relations#HasState"; + public const String HasStubMethod = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasStubMethod"; + public const String HasStubName = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasStubName"; + public const String HasStubsPackage = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasStubsPackage"; + public const String HasSymbol = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#HasSymbol"; + public const String HasTextualIssue = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasTextualIssue"; + public const String HasThenElement = "http://www.vtt.fi/Simantics/Layer0/1.0#HasThenElement"; + public const String HasTrigger = "http://www.vtt.fi/Simantics/Layer0/1.0#HasTrigger"; + public const String HasType = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasType"; + public const String HasUnit = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasUnit"; + public const String HasUnit_ = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#HasUnit_"; + public const String HasUpperBound = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#HasUpperBound"; + public const String HasValidNumericalRange = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasValidNumericalRange"; + public const String HasValueRequirement = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasValueRequirement"; + public const String HasVersion = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasVersion"; + public const String Ignore = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Ignore"; + public const String Includes = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Includes"; + public const String Inherits = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Inherits"; + public const String InstanceOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#InstanceOf"; + public const String Int16 = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Int16"; + public const String Int32 = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Int32"; + public const String Int64 = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Int64"; + public const String Int8 = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Int8"; + public const String Integer = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Integer"; + public const String IntegerArray = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#IntegerArray"; + public const String IntegerRangeUnion = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#IntegerRangeUnion"; + public const String Integer_ = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Integer_"; + public const String IntersectionPredicate = "http://www.vtt.fi/Simantics/Layer0/1.0/BinaryPredicates#IntersectionPredicate"; + public const String InverseOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#InverseOf"; + public const String InverseOfIsRelatedTo = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#InverseOfIsRelatedTo"; + public const String InversePredicate = "http://www.vtt.fi/Simantics/Layer0/1.0/BinaryPredicates#InversePredicate"; + public const String IsAcquiredBy = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsAcquiredBy"; + public const String IsCompatibleWithFeature = "http://www.simantics.org/Ontology/Project/1.0#IsCompatibleWithFeature"; + public const String IsComposedOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsComposedOf"; + public const String IsConfigurationOf = "http://www.vtt.fi/Simantics/Simulation/1.0/Relations#IsConfigurationOf"; + public const String IsDependencyOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsDependencyOf"; + public const String IsIncludedWith = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsIncludedWith"; + public const String IsIncompatibleWithFeature = "http://www.simantics.org/Ontology/Project/1.0#IsIncompatibleWithFeature"; + public const String IsInheritantlyRelatedTo = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsInheritantlyRelatedTo"; + public const String IsInheritantlyWeaklyRelatedTo = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsInheritantlyWeaklyRelatedTo"; + public const String IsOperation = "http://www.vtt.fi/Simantics/Layer0/1.0#IsOperation"; + public const String IsOwnedBy = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsOwnedBy"; + public const String IsPropagatedWith = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsPropagatedWith"; + public const String IsPropertyDefinitionOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsPropertyDefinitionOf"; + public const String IsRelatedTo = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsRelatedTo"; + public const String IsSingleInstanceOf = "http://www.vtt.fi/Simantics/Layer0/1.0#IsSingleInstanceOf"; + public const String IsWeaklyRelatedTo = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsWeaklyRelatedTo"; + public const String KernelDeveloper = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#KernelDeveloper"; + public const String Library = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Library"; + public const String LibraryDeveloper = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#LibraryDeveloper"; + public const String LifecycleFeature = "http://www.simantics.org/Ontology/Project/1.0#LifecycleFeature"; + public const String LinearUnitConversion = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#LinearUnitConversion"; + public const String LinkedList = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#LinkedList"; + public const String Long = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Long"; + public const String LongArray = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#LongArray"; + public const String Model = "http://www.vtt.fi/Simantics/Simulation/1.0/Types#Model"; + public const String ModelConfigurator = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ModelConfigurator"; + public const String ModelLibrary = "http://www.vtt.fi/Simantics/Simulation/1.0/Types#ModelLibrary"; + public const String ModelManager = "http://www.simantics.org/Ontology/Project/1.0/Features#ModelManager"; + public const String ModelManagerFeature = "http://www.simantics.org/Ontology/Project/1.0#ModelManagerFeature"; + public const String ModelUser = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ModelUser"; + public const String ModellingDomain = "http://www.simantics.org/Ontology/Project/1.0#ModellingDomain"; + public const String NamedUnit = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#NamedUnit"; + public const String Namespace = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Namespace"; + public const String NamespaceLibrary = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#NamespaceLibrary"; + public const String NamespaceOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#NamespaceOf"; + public const String Negation = "http://www.vtt.fi/Simantics/Layer0/1.0/Predicates#Negation"; + public const String Number = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Number"; + public const String NumberType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#NumberType"; + public const String Number_ = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Number_"; + public const String Ontology = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Ontology"; + public const String OntologyDevelopmentProject = "http://www.simantics.org/Ontology/ODE/1.0#OntologyDevelopmentProject"; + public const String OntologyRequirementValidationFeature = "http://www.simantics.org/Ontology/Project/1.0#OntologyRequirementValidationFeature"; + public const String Operation = "http://www.vtt.fi/Simantics/Layer0/1.0#Operation"; + public const String OptionType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#OptionType"; + public const String OrderedSet = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#OrderedSet"; + public const String OrderedSetElements = "http://www.vtt.fi/Simantics/Layer0/1.0/BinaryPredicates#OrderedSetElements"; + public const String OverridableAssertion = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#OverridableAssertion"; + public const String PartOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#PartOf"; + public const String Perspective = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Perspective"; + public const String PhysicalDouble = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#PhysicalDouble"; + public const String PhysicalFloat = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#PhysicalFloat"; + public const String PhysicalInteger = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#PhysicalInteger"; + public const String PhysicalPropertyType = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#PhysicalPropertyType"; + public const String PowerUnit = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#PowerUnit"; + public const String Predicate = "http://www.vtt.fi/Simantics/Layer0/1.0#Predicate"; + public const String ProductUnit = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#ProductUnit"; + public const String Project2 = "http://www.simantics.org/Ontology/Project/1.0#Project2"; + public const String ProjectType2 = "http://www.simantics.org/Ontology/Project/1.0#ProjectType2"; + public const String Propagates = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Propagates"; + public const String PropagatesFrom = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#PropagatesFrom"; + public const String PropagatesTo = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#PropagatesTo"; + public const String Property = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Property"; + public const String PropertyDefinition = "http://www.vtt.fi/Simantics/Layer0/1.0#PropertyDefinition"; + public const String PropertyLibrary = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#PropertyLibrary"; + public const String PropertyOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#PropertyOf"; + public const String PropertyProvider = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#PropertyProvider"; + public const String PropertyType = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#PropertyType"; + public const String Query = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Query"; + public const String Real = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Real"; + public const String RecordType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#RecordType"; + public const String RegularExpression = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#RegularExpression"; + public const String Relation = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Relation"; + public const String RelationApplication = "http://www.vtt.fi/Simantics/Layer0/1.0#RelationApplication"; + public const String RelationLibrary = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#RelationLibrary"; + public const String RelationRequirement = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#RelationRequirement"; + public const String Report = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Report"; + public const String RequiredByFeature = "http://www.simantics.org/Ontology/Project/1.0#RequiredByFeature"; + public const String Requirement = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Requirement"; + public const String RequirementConjunction = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#RequirementConjunction"; + public const String RequirementDisjunction = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#RequirementDisjunction"; + public const String RequirementNegation = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#RequirementNegation"; + public const String Requires = "http://www.vtt.fi/Simantics/Layer0/1.0#Requires"; + public const String RequiresFeature = "http://www.simantics.org/Ontology/Project/1.0#RequiresFeature"; + public const String RequiresNamespace = "http://www.simantics.org/Ontology/Project/1.0#RequiresNamespace"; + public const String ResourceType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#ResourceType"; + public const String Resource_ = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#Resource_"; + public const String Role = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Role"; + public const String ScaledUnit = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#ScaledUnit"; + public const String SequenceType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#SequenceType"; + public const String ShiftedUnitConversion = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#ShiftedUnitConversion"; + public const String Singleton = "http://www.vtt.fi/Simantics/Layer0/1.0#Singleton"; + public const String SomeValuesSatisfy = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SomeValuesSatisfy"; + public const String State = "http://www.vtt.fi/Simantics/Simulation/1.0/Types#State"; + public const String String = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#String"; + public const String StringArray = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#StringArray"; + public const String StringType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#StringType"; + public const String String_ = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#String_"; + public const String SubExtentOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SubExtentOf"; + public const String SubrelationOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SubrelationOf"; + public const String SuperExtentOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SuperExtentOf"; + public const String SuperrelationOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SuperrelationOf"; + public const String SupertypeOf = "http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SupertypeOf"; + public const String Tag = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Tag"; + public const String TagLibrary = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#TagLibrary"; + public const String TransitiveClosure = "http://www.vtt.fi/Simantics/Layer0/1.0/BinaryPredicates#TransitiveClosure"; + public const String Trigger = "http://www.vtt.fi/Simantics/Layer0/1.0#Trigger"; + public const String True = "http://www.vtt.fi/Simantics/Layer0/1.0#True"; + public const String Type = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Type"; + public const String TypeBasedList = "http://www.vtt.fi/Simantics/Layer0/1.0#TypeBasedList"; + public const String TypeLibrary = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#TypeLibrary"; + public const String TypeRequirement = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#TypeRequirement"; + public const String URI = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#URI"; + public const String URI_ = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#URI_"; + public const String URL = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#URL"; + public const String UnionPredicate = "http://www.vtt.fi/Simantics/Layer0/1.0/BinaryPredicates#UnionPredicate"; + public const String UnionType = "http://www.vtt.fi/Simantics/Layer0/1.0/DataTypes#UnionType"; + public const String Unit = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#Unit"; + public const String UnitConversion = "http://www.vtt.fi/Simantics/Layer0/1.0/Units#UnitConversion"; + public const String User = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#User"; + public const String Value = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Value"; + public const String ValueRequirement = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#ValueRequirement"; + public const String ValueType = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#ValueType"; + public const String Version = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#Version"; + public const String ViewpointLibrary = "http://www.vtt.fi/Simantics/Layer0/1.0/Types#ViewpointLibrary"; + } + + public Builtins(Graph graph) { + try { + RootLibrary = graph.getResourceByURI(URIs.RootLibrary); + Abstract = graph.getResourceByURI(URIs.Abstract); + AbstractContextualList = graph.getResourceByURI(URIs.AbstractContextualList); + Acquires = graph.getResourceByURI(URIs.Acquires); + AcquiringRelation = graph.getResourceByURI(URIs.AcquiringRelation); + Admin = graph.getResourceByURI(URIs.Admin); + AllValuesSatisfy = graph.getResourceByURI(URIs.AllValuesSatisfy); + AppliesFirst = graph.getResourceByURI(URIs.AppliesFirst); + AppliesRelation = graph.getResourceByURI(URIs.AppliesRelation); + AppliesThen = graph.getResourceByURI(URIs.AppliesThen); + Assertion = graph.getResourceByURI(URIs.Assertion); + Asserts = graph.getResourceByURI(URIs.Asserts); + BinaryPredicate = graph.getResourceByURI(URIs.BinaryPredicate); + Boolean = graph.getResourceByURI(URIs.Boolean); + BooleanArray = graph.getResourceByURI(URIs.BooleanArray); + Boolean_ = graph.getResourceByURI(URIs.Boolean_); + Byte = graph.getResourceByURI(URIs.Byte); + ByteArray = graph.getResourceByURI(URIs.ByteArray); + Cardinality0 = graph.getResourceByURI(URIs.Cardinality0); + Cardinality1 = graph.getResourceByURI(URIs.Cardinality1); + Cardinality2 = graph.getResourceByURI(URIs.Cardinality2); + CardinalityRestriction = graph.getResourceByURI(URIs.CardinalityRestriction); + Cardinalityatleast1 = graph.getResourceByURI(URIs.Cardinalityatleast1); + Cardinalityatmost1 = graph.getResourceByURI(URIs.Cardinalityatmost1); + Complex128 = graph.getResourceByURI(URIs.Complex128); + Complex64 = graph.getResourceByURI(URIs.Complex64); + Complex_ = graph.getResourceByURI(URIs.Complex_); + Component = graph.getResourceByURI(URIs.Component); + CompositePredicate = graph.getResourceByURI(URIs.CompositePredicate); + ConcernsRelation = graph.getResourceByURI(URIs.ConcernsRelation); + ConditionalList = graph.getResourceByURI(URIs.ConditionalList); + Conjunction = graph.getResourceByURI(URIs.Conjunction); + ConsistsOf = graph.getResourceByURI(URIs.ConsistsOf); + ConsistsOfNamespace = graph.getResourceByURI(URIs.ConsistsOfNamespace); + Constraint = graph.getResourceByURI(URIs.Constraint); + Context = graph.getResourceByURI(URIs.Context); + ContextualList = graph.getResourceByURI(URIs.ContextualList); + DataType = graph.getResourceByURI(URIs.DataType); + DefaultPerspective = graph.getResourceByURI(URIs.DefaultPerspective); + DefaultPropertyProvider = graph.getResourceByURI(URIs.DefaultPropertyProvider); + DependsOn = graph.getResourceByURI(URIs.DependsOn); + Disjunction = graph.getResourceByURI(URIs.Disjunction); + DocumentTemplate = graph.getResourceByURI(URIs.DocumentTemplate); + Double = graph.getResourceByURI(URIs.Double); + DoubleArray = graph.getResourceByURI(URIs.DoubleArray); + EmptyString = graph.getResourceByURI(URIs.EmptyString); + Entity = graph.getResourceByURI(URIs.Entity); + EntityType = graph.getResourceByURI(URIs.EntityType); + Enumeration = graph.getResourceByURI(URIs.Enumeration); + EqualityRequirement = graph.getResourceByURI(URIs.EqualityRequirement); + EvaluatesTo = graph.getResourceByURI(URIs.EvaluatesTo); + Experiment = graph.getResourceByURI(URIs.Experiment); + ExperimentControl = graph.getResourceByURI(URIs.ExperimentControl); + ExperimentControlFeature = graph.getResourceByURI(URIs.ExperimentControlFeature); + ExperimentLibrary = graph.getResourceByURI(URIs.ExperimentLibrary); + ExtensionFeature = graph.getResourceByURI(URIs.ExtensionFeature); + Extent = graph.getResourceByURI(URIs.Extent); + ExtentOf = graph.getResourceByURI(URIs.ExtentOf); + False = graph.getResourceByURI(URIs.False); + Feature = graph.getResourceByURI(URIs.Feature); + Final = graph.getResourceByURI(URIs.Final); + Float = graph.getResourceByURI(URIs.Float); + Float32 = graph.getResourceByURI(URIs.Float32); + Float64 = graph.getResourceByURI(URIs.Float64); + FloatArray = graph.getResourceByURI(URIs.FloatArray); + Float_ = graph.getResourceByURI(URIs.Float_); + Function = graph.getResourceByURI(URIs.Function); + FunctionType = graph.getResourceByURI(URIs.FunctionType); + FunctionalRelation = graph.getResourceByURI(URIs.FunctionalRelation); + GenericRelation = graph.getResourceByURI(URIs.GenericRelation); + HasAttributeName = graph.getResourceByURI(URIs.HasAttributeName); + HasBaseUnit = graph.getResourceByURI(URIs.HasBaseUnit); + HasBinaryPredicate = graph.getResourceByURI(URIs.HasBinaryPredicate); + HasBindingPattern = graph.getResourceByURI(URIs.HasBindingPattern); + HasCardinality = graph.getResourceByURI(URIs.HasCardinality); + HasChangeCode = graph.getResourceByURI(URIs.HasChangeCode); + HasComment = graph.getResourceByURI(URIs.HasComment); + HasComponentRelation = graph.getResourceByURI(URIs.HasComponentRelation); + HasComponentType = graph.getResourceByURI(URIs.HasComponentType); + HasCondition = graph.getResourceByURI(URIs.HasCondition); + HasConfiguration = graph.getResourceByURI(URIs.HasConfiguration); + HasConversion = graph.getResourceByURI(URIs.HasConversion); + HasDefaultPerspective = graph.getResourceByURI(URIs.HasDefaultPerspective); + HasDefaultValue = graph.getResourceByURI(URIs.HasDefaultValue); + HasDescription = graph.getResourceByURI(URIs.HasDescription); + HasDevsComponent = graph.getResourceByURI(URIs.HasDevsComponent); + HasDocumentTemplate = graph.getResourceByURI(URIs.HasDocumentTemplate); + HasDocumentation = graph.getResourceByURI(URIs.HasDocumentation); + HasDomain = graph.getResourceByURI(URIs.HasDomain); + HasElement = graph.getResourceByURI(URIs.HasElement); + HasElseElement = graph.getResourceByURI(URIs.HasElseElement); + HasEmail = graph.getResourceByURI(URIs.HasEmail); + HasEntity = graph.getResourceByURI(URIs.HasEntity); + HasExponent = graph.getResourceByURI(URIs.HasExponent); + HasExtensionId = graph.getResourceByURI(URIs.HasExtensionId); + HasExtent = graph.getResourceByURI(URIs.HasExtent); + HasFeature = graph.getResourceByURI(URIs.HasFeature); + HasGeneratedNamePrefix = graph.getResourceByURI(URIs.HasGeneratedNamePrefix); + HasInheritedProperty = graph.getResourceByURI(URIs.HasInheritedProperty); + HasInitialState = graph.getResourceByURI(URIs.HasInitialState); + HasInstance = graph.getResourceByURI(URIs.HasInstance); + HasLabel = graph.getResourceByURI(URIs.HasLabel); + HasLowerBound = graph.getResourceByURI(URIs.HasLowerBound); + HasMagnitude = graph.getResourceByURI(URIs.HasMagnitude); + HasMaxCardinality = graph.getResourceByURI(URIs.HasMaxCardinality); + HasMaxLength = graph.getResourceByURI(URIs.HasMaxLength); + HasMethod = graph.getResourceByURI(URIs.HasMethod); + HasMinCardinality = graph.getResourceByURI(URIs.HasMinCardinality); + HasMinLength = graph.getResourceByURI(URIs.HasMinLength); + HasModel = graph.getResourceByURI(URIs.HasModel); + HasMultiplicity = graph.getResourceByURI(URIs.HasMultiplicity); + HasName = graph.getResourceByURI(URIs.HasName); + HasNamespace = graph.getResourceByURI(URIs.HasNamespace); + HasNamespaceRoot = graph.getResourceByURI(URIs.HasNamespaceRoot); + HasNext = graph.getResourceByURI(URIs.HasNext); + HasObject = graph.getResourceByURI(URIs.HasObject); + HasPackageName = graph.getResourceByURI(URIs.HasPackageName); + HasPasswordHash = graph.getResourceByURI(URIs.HasPasswordHash); + HasPattern = graph.getResourceByURI(URIs.HasPattern); + HasPerspective = graph.getResourceByURI(URIs.HasPerspective); + HasPredicate = graph.getResourceByURI(URIs.HasPredicate); + HasPrevious = graph.getResourceByURI(URIs.HasPrevious); + HasProperty = graph.getResourceByURI(URIs.HasProperty); + HasPropertyDefinition = graph.getResourceByURI(URIs.HasPropertyDefinition); + HasPropertyProvider = graph.getResourceByURI(URIs.HasPropertyProvider); + HasRange = graph.getResourceByURI(URIs.HasRange); + HasRelation = graph.getResourceByURI(URIs.HasRelation); + HasReportFactory = graph.getResourceByURI(URIs.HasReportFactory); + HasRequirement = graph.getResourceByURI(URIs.HasRequirement); + HasResourceClass = graph.getResourceByURI(URIs.HasResourceClass); + HasReturnType = graph.getResourceByURI(URIs.HasReturnType); + HasScale = graph.getResourceByURI(URIs.HasScale); + HasShift = graph.getResourceByURI(URIs.HasShift); + HasSignature = graph.getResourceByURI(URIs.HasSignature); + HasSingleInstance = graph.getResourceByURI(URIs.HasSingleInstance); + HasState = graph.getResourceByURI(URIs.HasState); + HasStubMethod = graph.getResourceByURI(URIs.HasStubMethod); + HasStubName = graph.getResourceByURI(URIs.HasStubName); + HasStubsPackage = graph.getResourceByURI(URIs.HasStubsPackage); + HasSymbol = graph.getResourceByURI(URIs.HasSymbol); + HasTextualIssue = graph.getResourceByURI(URIs.HasTextualIssue); + HasThenElement = graph.getResourceByURI(URIs.HasThenElement); + HasTrigger = graph.getResourceByURI(URIs.HasTrigger); + HasType = graph.getResourceByURI(URIs.HasType); + HasUnit = graph.getResourceByURI(URIs.HasUnit); + HasUnit_ = graph.getResourceByURI(URIs.HasUnit_); + HasUpperBound = graph.getResourceByURI(URIs.HasUpperBound); + HasValidNumericalRange = graph.getResourceByURI(URIs.HasValidNumericalRange); + HasValueRequirement = graph.getResourceByURI(URIs.HasValueRequirement); + HasVersion = graph.getResourceByURI(URIs.HasVersion); + Ignore = graph.getResourceByURI(URIs.Ignore); + Includes = graph.getResourceByURI(URIs.Includes); + Inherits = graph.getResourceByURI(URIs.Inherits); + InstanceOf = graph.getResourceByURI(URIs.InstanceOf); + Int16 = graph.getResourceByURI(URIs.Int16); + Int32 = graph.getResourceByURI(URIs.Int32); + Int64 = graph.getResourceByURI(URIs.Int64); + Int8 = graph.getResourceByURI(URIs.Int8); + Integer = graph.getResourceByURI(URIs.Integer); + IntegerArray = graph.getResourceByURI(URIs.IntegerArray); + IntegerRangeUnion = graph.getResourceByURI(URIs.IntegerRangeUnion); + Integer_ = graph.getResourceByURI(URIs.Integer_); + IntersectionPredicate = graph.getResourceByURI(URIs.IntersectionPredicate); + InverseOf = graph.getResourceByURI(URIs.InverseOf); + InverseOfIsRelatedTo = graph.getResourceByURI(URIs.InverseOfIsRelatedTo); + InversePredicate = graph.getResourceByURI(URIs.InversePredicate); + IsAcquiredBy = graph.getResourceByURI(URIs.IsAcquiredBy); + IsCompatibleWithFeature = graph.getResourceByURI(URIs.IsCompatibleWithFeature); + IsComposedOf = graph.getResourceByURI(URIs.IsComposedOf); + IsConfigurationOf = graph.getResourceByURI(URIs.IsConfigurationOf); + IsDependencyOf = graph.getResourceByURI(URIs.IsDependencyOf); + IsIncludedWith = graph.getResourceByURI(URIs.IsIncludedWith); + IsIncompatibleWithFeature = graph.getResourceByURI(URIs.IsIncompatibleWithFeature); + IsInheritantlyRelatedTo = graph.getResourceByURI(URIs.IsInheritantlyRelatedTo); + IsInheritantlyWeaklyRelatedTo = graph.getResourceByURI(URIs.IsInheritantlyWeaklyRelatedTo); + IsOperation = graph.getResourceByURI(URIs.IsOperation); + IsOwnedBy = graph.getResourceByURI(URIs.IsOwnedBy); + IsPropagatedWith = graph.getResourceByURI(URIs.IsPropagatedWith); + IsPropertyDefinitionOf = graph.getResourceByURI(URIs.IsPropertyDefinitionOf); + IsRelatedTo = graph.getResourceByURI(URIs.IsRelatedTo); + IsSingleInstanceOf = graph.getResourceByURI(URIs.IsSingleInstanceOf); + IsWeaklyRelatedTo = graph.getResourceByURI(URIs.IsWeaklyRelatedTo); + KernelDeveloper = graph.getResourceByURI(URIs.KernelDeveloper); + Library = graph.getResourceByURI(URIs.Library); + LibraryDeveloper = graph.getResourceByURI(URIs.LibraryDeveloper); + LifecycleFeature = graph.getResourceByURI(URIs.LifecycleFeature); + LinearUnitConversion = graph.getResourceByURI(URIs.LinearUnitConversion); + LinkedList = graph.getResourceByURI(URIs.LinkedList); + Long = graph.getResourceByURI(URIs.Long); + LongArray = graph.getResourceByURI(URIs.LongArray); + Model = graph.getResourceByURI(URIs.Model); + ModelConfigurator = graph.getResourceByURI(URIs.ModelConfigurator); + ModelLibrary = graph.getResourceByURI(URIs.ModelLibrary); + ModelManager = graph.getResourceByURI(URIs.ModelManager); + ModelManagerFeature = graph.getResourceByURI(URIs.ModelManagerFeature); + ModelUser = graph.getResourceByURI(URIs.ModelUser); + ModellingDomain = graph.getResourceByURI(URIs.ModellingDomain); + NamedUnit = graph.getResourceByURI(URIs.NamedUnit); + Namespace = graph.getResourceByURI(URIs.Namespace); + NamespaceLibrary = graph.getResourceByURI(URIs.NamespaceLibrary); + NamespaceOf = graph.getResourceByURI(URIs.NamespaceOf); + Negation = graph.getResourceByURI(URIs.Negation); + Number = graph.getResourceByURI(URIs.Number); + NumberType = graph.getResourceByURI(URIs.NumberType); + Number_ = graph.getResourceByURI(URIs.Number_); + Ontology = graph.getResourceByURI(URIs.Ontology); + OntologyDevelopmentProject = graph.getResourceByURI(URIs.OntologyDevelopmentProject); + OntologyRequirementValidationFeature = graph.getResourceByURI(URIs.OntologyRequirementValidationFeature); + Operation = graph.getResourceByURI(URIs.Operation); + OptionType = graph.getResourceByURI(URIs.OptionType); + OrderedSet = graph.getResourceByURI(URIs.OrderedSet); + OrderedSetElements = graph.getResourceByURI(URIs.OrderedSetElements); + OverridableAssertion = graph.getResourceByURI(URIs.OverridableAssertion); + PartOf = graph.getResourceByURI(URIs.PartOf); + Perspective = graph.getResourceByURI(URIs.Perspective); + PhysicalDouble = graph.getResourceByURI(URIs.PhysicalDouble); + PhysicalFloat = graph.getResourceByURI(URIs.PhysicalFloat); + PhysicalInteger = graph.getResourceByURI(URIs.PhysicalInteger); + PhysicalPropertyType = graph.getResourceByURI(URIs.PhysicalPropertyType); + PowerUnit = graph.getResourceByURI(URIs.PowerUnit); + Predicate = graph.getResourceByURI(URIs.Predicate); + ProductUnit = graph.getResourceByURI(URIs.ProductUnit); + Project2 = graph.getResourceByURI(URIs.Project2); + ProjectType2 = graph.getResourceByURI(URIs.ProjectType2); + Propagates = graph.getResourceByURI(URIs.Propagates); + PropagatesFrom = graph.getResourceByURI(URIs.PropagatesFrom); + PropagatesTo = graph.getResourceByURI(URIs.PropagatesTo); + Property = graph.getResourceByURI(URIs.Property); + PropertyDefinition = graph.getResourceByURI(URIs.PropertyDefinition); + PropertyLibrary = graph.getResourceByURI(URIs.PropertyLibrary); + PropertyOf = graph.getResourceByURI(URIs.PropertyOf); + PropertyProvider = graph.getResourceByURI(URIs.PropertyProvider); + PropertyType = graph.getResourceByURI(URIs.PropertyType); + Query = graph.getResourceByURI(URIs.Query); + Real = graph.getResourceByURI(URIs.Real); + RecordType = graph.getResourceByURI(URIs.RecordType); + RegularExpression = graph.getResourceByURI(URIs.RegularExpression); + Relation = graph.getResourceByURI(URIs.Relation); + RelationApplication = graph.getResourceByURI(URIs.RelationApplication); + RelationLibrary = graph.getResourceByURI(URIs.RelationLibrary); + RelationRequirement = graph.getResourceByURI(URIs.RelationRequirement); + Report = graph.getResourceByURI(URIs.Report); + RequiredByFeature = graph.getResourceByURI(URIs.RequiredByFeature); + Requirement = graph.getResourceByURI(URIs.Requirement); + RequirementConjunction = graph.getResourceByURI(URIs.RequirementConjunction); + RequirementDisjunction = graph.getResourceByURI(URIs.RequirementDisjunction); + RequirementNegation = graph.getResourceByURI(URIs.RequirementNegation); + Requires = graph.getResourceByURI(URIs.Requires); + RequiresFeature = graph.getResourceByURI(URIs.RequiresFeature); + RequiresNamespace = graph.getResourceByURI(URIs.RequiresNamespace); + ResourceType = graph.getResourceByURI(URIs.ResourceType); + Resource_ = graph.getResourceByURI(URIs.Resource_); + Role = graph.getResourceByURI(URIs.Role); + ScaledUnit = graph.getResourceByURI(URIs.ScaledUnit); + SequenceType = graph.getResourceByURI(URIs.SequenceType); + ShiftedUnitConversion = graph.getResourceByURI(URIs.ShiftedUnitConversion); + Singleton = graph.getResourceByURI(URIs.Singleton); + SomeValuesSatisfy = graph.getResourceByURI(URIs.SomeValuesSatisfy); + State = graph.getResourceByURI(URIs.State); + String = graph.getResourceByURI(URIs.String); + StringArray = graph.getResourceByURI(URIs.StringArray); + StringType = graph.getResourceByURI(URIs.StringType); + String_ = graph.getResourceByURI(URIs.String_); + SubExtentOf = graph.getResourceByURI(URIs.SubExtentOf); + SubrelationOf = graph.getResourceByURI(URIs.SubrelationOf); + SuperExtentOf = graph.getResourceByURI(URIs.SuperExtentOf); + SuperrelationOf = graph.getResourceByURI(URIs.SuperrelationOf); + SupertypeOf = graph.getResourceByURI(URIs.SupertypeOf); + Tag = graph.getResourceByURI(URIs.Tag); + TagLibrary = graph.getResourceByURI(URIs.TagLibrary); + TransitiveClosure = graph.getResourceByURI(URIs.TransitiveClosure); + Trigger = graph.getResourceByURI(URIs.Trigger); + True = graph.getResourceByURI(URIs.True); + Type = graph.getResourceByURI(URIs.Type); + TypeBasedList = graph.getResourceByURI(URIs.TypeBasedList); + TypeLibrary = graph.getResourceByURI(URIs.TypeLibrary); + TypeRequirement = graph.getResourceByURI(URIs.TypeRequirement); + URI = graph.getResourceByURI(URIs.URI); + URI_ = graph.getResourceByURI(URIs.URI_); + URL = graph.getResourceByURI(URIs.URL); + UnionPredicate = graph.getResourceByURI(URIs.UnionPredicate); + UnionType = graph.getResourceByURI(URIs.UnionType); + Unit = graph.getResourceByURI(URIs.Unit); + UnitConversion = graph.getResourceByURI(URIs.UnitConversion); + User = graph.getResourceByURI(URIs.User); + Value = graph.getResourceByURI(URIs.Value); + ValueRequirement = graph.getResourceByURI(URIs.ValueRequirement); + ValueType = graph.getResourceByURI(URIs.ValueType); + Version = graph.getResourceByURI(URIs.Version); + ViewpointLibrary = graph.getResourceByURI(URIs.ViewpointLibrary); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static Builtins getInstance(Graph graph) { + Session session = graph.getSession(); + Builtins ret = session.getService(typeof(Builtins)); + if(ret == null) { + ret = new Builtins(graph); + session.registerService(typeof(Builtins), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/DiagramResource.cs b/sysdyn_ontologies/c_sharp/DiagramResource.cs new file mode 100644 index 00000000..599a899a --- /dev/null +++ b/sysdyn_ontologies/c_sharp/DiagramResource.cs @@ -0,0 +1,229 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.diagram.stubs { + + +public class DiagramResource { + + public readonly Resource AreConnected; + public readonly Resource BranchPoint; + public readonly Resource Composite; + public readonly Resource Connection; + public readonly Resource Connector; + public readonly Resource DefinedElement; + public readonly Resource Diagram; + public readonly Resource DiagramLibrary; + public readonly Resource Element; + public readonly Resource ElementClass; + public readonly Resource Flag; + public readonly Resource FlagMode; + public readonly Resource FlagMode_External; + public readonly Resource FlagMode_Internal; + public readonly Resource FlagTerminal; + public readonly Resource FlagType; + public readonly Resource FlagType_InputFlag; + public readonly Resource FlagType_OutputFlag; + public readonly Resource HasAllowedConnectionDirection; + public readonly Resource HasBranchPoint; + public readonly Resource HasConnectionVariable; + public readonly Resource HasConnector; + public readonly Resource HasCorrespondingFlag; + public readonly Resource HasDirection; + public readonly Resource HasFlagMode; + public readonly Resource HasFlagType; + public readonly Resource HasFocusableTag; + public readonly Resource HasFormat; + public readonly Resource HasInput; + public readonly Resource HasLayer; + public readonly Resource HasLinkTarget; + public readonly Resource HasOutput; + public readonly Resource HasPageDescription; + public readonly Resource HasPageOrientation; + public readonly Resource HasPageSize; + public readonly Resource HasResourcePath; + public readonly Resource HasRoutePoints; + public readonly Resource HasTransform; + public readonly Resource HasVisibleTag; + public readonly Resource Horizontal; + public readonly Resource IsActive; + public readonly Resource IsBranchPointOf; + public readonly Resource IsConnectorOf; + public readonly Resource IsFocusable; + public readonly Resource IsInputOf; + public readonly Resource IsOutputOf; + public readonly Resource IsVisible; + public readonly Resource Layer; + public readonly Resource Link; + public readonly Resource Monitor; + public readonly Resource PageDescription; + public readonly Resource PageOrientation; + public readonly Resource PageOrientation_Landscape; + public readonly Resource PageOrientation_Portrait; + public readonly Resource ResourcePath; + public readonly Resource SVGElement; + public readonly Resource Shape; + public readonly Resource SymbolReferenceLibrary; + public readonly Resource Terminal; + public readonly Resource Trend; + public readonly Resource UpwardLink; + public readonly Resource Vertical; + + public static class URIs { + public const String AreConnected = "http://www.simantics.org/Simantics/Diagram/2.0#AreConnected"; + public const String BranchPoint = "http://www.simantics.org/Simantics/Diagram/2.0#BranchPoint"; + public const String Composite = "http://www.simantics.org/Simantics/Diagram/2.0#Composite"; + public const String Connection = "http://www.simantics.org/Simantics/Diagram/2.0#Connection"; + public const String Connector = "http://www.simantics.org/Simantics/Diagram/2.0#Connector"; + public const String DefinedElement = "http://www.simantics.org/Simantics/Diagram/2.0#DefinedElement"; + public const String Diagram = "http://www.simantics.org/Simantics/Diagram/2.0#Diagram"; + public const String DiagramLibrary = "http://www.simantics.org/Simantics/Diagram/2.0#DiagramLibrary"; + public const String Element = "http://www.simantics.org/Simantics/Diagram/2.0#Element"; + public const String ElementClass = "http://www.simantics.org/Simantics/Diagram/2.0#ElementClass"; + public const String Flag = "http://www.simantics.org/Simantics/Diagram/2.0#Flag"; + public const String FlagMode = "http://www.simantics.org/Simantics/Diagram/2.0#FlagMode"; + public const String FlagMode_External = "http://www.simantics.org/Simantics/Diagram/2.0/FlagMode#External"; + public const String FlagMode_Internal = "http://www.simantics.org/Simantics/Diagram/2.0/FlagMode#Internal"; + public const String FlagTerminal = "http://www.simantics.org/Simantics/Diagram/2.0#FlagTerminal"; + public const String FlagType = "http://www.simantics.org/Simantics/Diagram/2.0#FlagType"; + public const String FlagType_InputFlag = "http://www.simantics.org/Simantics/Diagram/2.0/FlagType#InputFlag"; + public const String FlagType_OutputFlag = "http://www.simantics.org/Simantics/Diagram/2.0/FlagType#OutputFlag"; + public const String HasAllowedConnectionDirection = "http://www.simantics.org/Simantics/Diagram/2.0#HasAllowedConnectionDirection"; + public const String HasBranchPoint = "http://www.simantics.org/Simantics/Diagram/2.0#HasBranchPoint"; + public const String HasConnectionVariable = "http://www.simantics.org/Simantics/Diagram/2.0#HasConnectionVariable"; + public const String HasConnector = "http://www.simantics.org/Simantics/Diagram/2.0#HasConnector"; + public const String HasCorrespondingFlag = "http://www.simantics.org/Simantics/Diagram/2.0#HasCorrespondingFlag"; + public const String HasDirection = "http://www.simantics.org/Simantics/Diagram/2.0#HasDirection"; + public const String HasFlagMode = "http://www.simantics.org/Simantics/Diagram/2.0#HasFlagMode"; + public const String HasFlagType = "http://www.simantics.org/Simantics/Diagram/2.0#HasFlagType"; + public const String HasFocusableTag = "http://www.simantics.org/Simantics/Diagram/2.0#HasFocusableTag"; + public const String HasFormat = "http://www.simantics.org/Simantics/Diagram/2.0#HasFormat"; + public const String HasInput = "http://www.simantics.org/Simantics/Diagram/2.0#HasInput"; + public const String HasLayer = "http://www.simantics.org/Simantics/Diagram/2.0#HasLayer"; + public const String HasLinkTarget = "http://www.simantics.org/Simantics/Diagram/2.0#HasLinkTarget"; + public const String HasOutput = "http://www.simantics.org/Simantics/Diagram/2.0#HasOutput"; + public const String HasPageDescription = "http://www.simantics.org/Simantics/Diagram/2.0#HasPageDescription"; + public const String HasPageOrientation = "http://www.simantics.org/Simantics/Diagram/2.0#HasPageOrientation"; + public const String HasPageSize = "http://www.simantics.org/Simantics/Diagram/2.0#HasPageSize"; + public const String HasResourcePath = "http://www.simantics.org/Simantics/Diagram/2.0#HasResourcePath"; + public const String HasRoutePoints = "http://www.simantics.org/Simantics/Diagram/2.0#HasRoutePoints"; + public const String HasTransform = "http://www.simantics.org/Simantics/Diagram/2.0#HasTransform"; + public const String HasVisibleTag = "http://www.simantics.org/Simantics/Diagram/2.0#HasVisibleTag"; + public const String Horizontal = "http://www.simantics.org/Simantics/Diagram/2.0#Horizontal"; + public const String IsActive = "http://www.simantics.org/Simantics/Diagram/2.0#IsActive"; + public const String IsBranchPointOf = "http://www.simantics.org/Simantics/Diagram/2.0#IsBranchPointOf"; + public const String IsConnectorOf = "http://www.simantics.org/Simantics/Diagram/2.0#IsConnectorOf"; + public const String IsFocusable = "http://www.simantics.org/Simantics/Diagram/2.0#IsFocusable"; + public const String IsInputOf = "http://www.simantics.org/Simantics/Diagram/2.0#IsInputOf"; + public const String IsOutputOf = "http://www.simantics.org/Simantics/Diagram/2.0#IsOutputOf"; + public const String IsVisible = "http://www.simantics.org/Simantics/Diagram/2.0#IsVisible"; + public const String Layer = "http://www.simantics.org/Simantics/Diagram/2.0#Layer"; + public const String Link = "http://www.simantics.org/Simantics/Diagram/2.0#Link"; + public const String Monitor = "http://www.simantics.org/Simantics/Diagram/2.0#Monitor"; + public const String PageDescription = "http://www.simantics.org/Simantics/Diagram/2.0#PageDescription"; + public const String PageOrientation = "http://www.simantics.org/Simantics/Diagram/2.0#PageOrientation"; + public const String PageOrientation_Landscape = "http://www.simantics.org/Simantics/Diagram/2.0/PageOrientation#Landscape"; + public const String PageOrientation_Portrait = "http://www.simantics.org/Simantics/Diagram/2.0/PageOrientation#Portrait"; + public const String ResourcePath = "http://www.simantics.org/Simantics/Diagram/2.0#ResourcePath"; + public const String SVGElement = "http://www.simantics.org/Simantics/Diagram/2.0#SVGElement"; + public const String Shape = "http://www.simantics.org/Simantics/Diagram/2.0#Shape"; + public const String SymbolReferenceLibrary = "http://www.simantics.org/Simantics/Diagram/2.0#SymbolReferenceLibrary"; + public const String Terminal = "http://www.simantics.org/Simantics/Diagram/2.0#Terminal"; + public const String Trend = "http://www.simantics.org/Simantics/Diagram/2.0#Trend"; + public const String UpwardLink = "http://www.simantics.org/Simantics/Diagram/2.0#UpwardLink"; + public const String Vertical = "http://www.simantics.org/Simantics/Diagram/2.0#Vertical"; + } + + public DiagramResource(Graph graph) { + try { + AreConnected = graph.getResourceByURI(URIs.AreConnected); + BranchPoint = graph.getResourceByURI(URIs.BranchPoint); + Composite = graph.getResourceByURI(URIs.Composite); + Connection = graph.getResourceByURI(URIs.Connection); + Connector = graph.getResourceByURI(URIs.Connector); + DefinedElement = graph.getResourceByURI(URIs.DefinedElement); + Diagram = graph.getResourceByURI(URIs.Diagram); + DiagramLibrary = graph.getResourceByURI(URIs.DiagramLibrary); + Element = graph.getResourceByURI(URIs.Element); + ElementClass = graph.getResourceByURI(URIs.ElementClass); + Flag = graph.getResourceByURI(URIs.Flag); + FlagMode = graph.getResourceByURI(URIs.FlagMode); + FlagMode_External = graph.getResourceByURI(URIs.FlagMode_External); + FlagMode_Internal = graph.getResourceByURI(URIs.FlagMode_Internal); + FlagTerminal = graph.getResourceByURI(URIs.FlagTerminal); + FlagType = graph.getResourceByURI(URIs.FlagType); + FlagType_InputFlag = graph.getResourceByURI(URIs.FlagType_InputFlag); + FlagType_OutputFlag = graph.getResourceByURI(URIs.FlagType_OutputFlag); + HasAllowedConnectionDirection = graph.getResourceByURI(URIs.HasAllowedConnectionDirection); + HasBranchPoint = graph.getResourceByURI(URIs.HasBranchPoint); + HasConnectionVariable = graph.getResourceByURI(URIs.HasConnectionVariable); + HasConnector = graph.getResourceByURI(URIs.HasConnector); + HasCorrespondingFlag = graph.getResourceByURI(URIs.HasCorrespondingFlag); + HasDirection = graph.getResourceByURI(URIs.HasDirection); + HasFlagMode = graph.getResourceByURI(URIs.HasFlagMode); + HasFlagType = graph.getResourceByURI(URIs.HasFlagType); + HasFocusableTag = graph.getResourceByURI(URIs.HasFocusableTag); + HasFormat = graph.getResourceByURI(URIs.HasFormat); + HasInput = graph.getResourceByURI(URIs.HasInput); + HasLayer = graph.getResourceByURI(URIs.HasLayer); + HasLinkTarget = graph.getResourceByURI(URIs.HasLinkTarget); + HasOutput = graph.getResourceByURI(URIs.HasOutput); + HasPageDescription = graph.getResourceByURI(URIs.HasPageDescription); + HasPageOrientation = graph.getResourceByURI(URIs.HasPageOrientation); + HasPageSize = graph.getResourceByURI(URIs.HasPageSize); + HasResourcePath = graph.getResourceByURI(URIs.HasResourcePath); + HasRoutePoints = graph.getResourceByURI(URIs.HasRoutePoints); + HasTransform = graph.getResourceByURI(URIs.HasTransform); + HasVisibleTag = graph.getResourceByURI(URIs.HasVisibleTag); + Horizontal = graph.getResourceByURI(URIs.Horizontal); + IsActive = graph.getResourceByURI(URIs.IsActive); + IsBranchPointOf = graph.getResourceByURI(URIs.IsBranchPointOf); + IsConnectorOf = graph.getResourceByURI(URIs.IsConnectorOf); + IsFocusable = graph.getResourceByURI(URIs.IsFocusable); + IsInputOf = graph.getResourceByURI(URIs.IsInputOf); + IsOutputOf = graph.getResourceByURI(URIs.IsOutputOf); + IsVisible = graph.getResourceByURI(URIs.IsVisible); + Layer = graph.getResourceByURI(URIs.Layer); + Link = graph.getResourceByURI(URIs.Link); + Monitor = graph.getResourceByURI(URIs.Monitor); + PageDescription = graph.getResourceByURI(URIs.PageDescription); + PageOrientation = graph.getResourceByURI(URIs.PageOrientation); + PageOrientation_Landscape = graph.getResourceByURI(URIs.PageOrientation_Landscape); + PageOrientation_Portrait = graph.getResourceByURI(URIs.PageOrientation_Portrait); + ResourcePath = graph.getResourceByURI(URIs.ResourcePath); + SVGElement = graph.getResourceByURI(URIs.SVGElement); + Shape = graph.getResourceByURI(URIs.Shape); + SymbolReferenceLibrary = graph.getResourceByURI(URIs.SymbolReferenceLibrary); + Terminal = graph.getResourceByURI(URIs.Terminal); + Trend = graph.getResourceByURI(URIs.Trend); + UpwardLink = graph.getResourceByURI(URIs.UpwardLink); + Vertical = graph.getResourceByURI(URIs.Vertical); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static DiagramResource getInstance(Graph graph) { + Session session = graph.getSession(); + DiagramResource ret = session.getService(typeof(DiagramResource)); + if(ret == null) { + ret = new DiagramResource(graph); + session.registerService(typeof(DiagramResource), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/EquationResource.cs b/sysdyn_ontologies/c_sharp/EquationResource.cs new file mode 100644 index 00000000..64f6cd75 --- /dev/null +++ b/sysdyn_ontologies/c_sharp/EquationResource.cs @@ -0,0 +1,136 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.equation.stubs { + + +public class EquationResource { + + public readonly Resource Addition; + public readonly Resource AggregateExpression; + public readonly Resource Assign; + public readonly Resource Division; + public readonly Resource DoubleAssign; + public readonly Resource DoubleToIntegerAssign; + public readonly Resource Element; + public readonly Resource ElementExpression; + public readonly Resource Equation; + public readonly Resource Expression; + public readonly Resource ExpressionExtent; + public readonly Resource HasA; + public readonly Resource HasB; + public readonly Resource HasC; + public readonly Resource HasCoefficient; + public readonly Resource HasElementList; + public readonly Resource HasSource; + public readonly Resource HasTarget; + public readonly Resource HasVariable; + public readonly Resource IntegerAssign; + public readonly Resource Multiplication; + public readonly Resource Number; + public readonly Resource Operator; + public readonly Resource ProductExpression; + public readonly Resource ScalarPolynomial; + public readonly Resource ScalarPolynomialExtent; + public readonly Resource SecondOrderScalarPolynomial; + public readonly Resource Subtraction; + public readonly Resource SumExpression; + public readonly Resource SystemOfEquations; + public readonly Resource SystemOfExpressions; + + public static class URIs { + public const String Addition = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Addition"; + public const String AggregateExpression = "http://www.vtt.fi/Simantics/Equation/1.0/Types#AggregateExpression"; + public const String Assign = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Assign"; + public const String Division = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Division"; + public const String DoubleAssign = "http://www.vtt.fi/Simantics/Equation/1.0/Types#DoubleAssign"; + public const String DoubleToIntegerAssign = "http://www.vtt.fi/Simantics/Equation/1.0/Types#DoubleToIntegerAssign"; + public const String Element = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Element"; + public const String ElementExpression = "http://www.vtt.fi/Simantics/Equation/1.0/Types#ElementExpression"; + public const String Equation = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Equation"; + public const String Expression = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Expression"; + public const String ExpressionExtent = "http://www.vtt.fi/Simantics/Equation/1.0#ExpressionExtent"; + public const String HasA = "http://www.vtt.fi/Simantics/Equation/1.0/Relations#HasA"; + public const String HasB = "http://www.vtt.fi/Simantics/Equation/1.0/Relations#HasB"; + public const String HasC = "http://www.vtt.fi/Simantics/Equation/1.0/Relations#HasC"; + public const String HasCoefficient = "http://www.vtt.fi/Simantics/Equation/1.0/Relations#HasCoefficient"; + public const String HasElementList = "http://www.vtt.fi/Simantics/Equation/1.0/Relations#HasElementList"; + public const String HasSource = "http://www.vtt.fi/Simantics/Equation/1.0/Relations#HasSource"; + public const String HasTarget = "http://www.vtt.fi/Simantics/Equation/1.0/Relations#HasTarget"; + public const String HasVariable = "http://www.vtt.fi/Simantics/Equation/1.0/Relations#HasVariable"; + public const String IntegerAssign = "http://www.vtt.fi/Simantics/Equation/1.0/Types#IntegerAssign"; + public const String Multiplication = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Multiplication"; + public const String Number = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Number"; + public const String Operator = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Operator"; + public const String ProductExpression = "http://www.vtt.fi/Simantics/Equation/1.0/Types#ProductExpression"; + public const String ScalarPolynomial = "http://www.vtt.fi/Simantics/Equation/1.0/Types#ScalarPolynomial"; + public const String ScalarPolynomialExtent = "http://www.vtt.fi/Simantics/Equation/1.0#ScalarPolynomialExtent"; + public const String SecondOrderScalarPolynomial = "http://www.vtt.fi/Simantics/Equation/1.0/Types#SecondOrderScalarPolynomial"; + public const String Subtraction = "http://www.vtt.fi/Simantics/Equation/1.0/Types#Subtraction"; + public const String SumExpression = "http://www.vtt.fi/Simantics/Equation/1.0/Types#SumExpression"; + public const String SystemOfEquations = "http://www.vtt.fi/Simantics/Equation/1.0/Types#SystemOfEquations"; + public const String SystemOfExpressions = "http://www.vtt.fi/Simantics/Equation/1.0/Types#SystemOfExpressions"; + } + + public EquationResource(Graph graph) { + try { + Addition = graph.getResourceByURI(URIs.Addition); + AggregateExpression = graph.getResourceByURI(URIs.AggregateExpression); + Assign = graph.getResourceByURI(URIs.Assign); + Division = graph.getResourceByURI(URIs.Division); + DoubleAssign = graph.getResourceByURI(URIs.DoubleAssign); + DoubleToIntegerAssign = graph.getResourceByURI(URIs.DoubleToIntegerAssign); + Element = graph.getResourceByURI(URIs.Element); + ElementExpression = graph.getResourceByURI(URIs.ElementExpression); + Equation = graph.getResourceByURI(URIs.Equation); + Expression = graph.getResourceByURI(URIs.Expression); + ExpressionExtent = graph.getResourceByURI(URIs.ExpressionExtent); + HasA = graph.getResourceByURI(URIs.HasA); + HasB = graph.getResourceByURI(URIs.HasB); + HasC = graph.getResourceByURI(URIs.HasC); + HasCoefficient = graph.getResourceByURI(URIs.HasCoefficient); + HasElementList = graph.getResourceByURI(URIs.HasElementList); + HasSource = graph.getResourceByURI(URIs.HasSource); + HasTarget = graph.getResourceByURI(URIs.HasTarget); + HasVariable = graph.getResourceByURI(URIs.HasVariable); + IntegerAssign = graph.getResourceByURI(URIs.IntegerAssign); + Multiplication = graph.getResourceByURI(URIs.Multiplication); + Number = graph.getResourceByURI(URIs.Number); + Operator = graph.getResourceByURI(URIs.Operator); + ProductExpression = graph.getResourceByURI(URIs.ProductExpression); + ScalarPolynomial = graph.getResourceByURI(URIs.ScalarPolynomial); + ScalarPolynomialExtent = graph.getResourceByURI(URIs.ScalarPolynomialExtent); + SecondOrderScalarPolynomial = graph.getResourceByURI(URIs.SecondOrderScalarPolynomial); + Subtraction = graph.getResourceByURI(URIs.Subtraction); + SumExpression = graph.getResourceByURI(URIs.SumExpression); + SystemOfEquations = graph.getResourceByURI(URIs.SystemOfEquations); + SystemOfExpressions = graph.getResourceByURI(URIs.SystemOfExpressions); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static EquationResource getInstance(Graph graph) { + Session session = graph.getSession(); + EquationResource ret = session.getService(typeof(EquationResource)); + if(ret == null) { + ret = new EquationResource(graph); + session.registerService(typeof(EquationResource), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/FlowNetworkResource.cs b/sysdyn_ontologies/c_sharp/FlowNetworkResource.cs new file mode 100644 index 00000000..77713ef1 --- /dev/null +++ b/sysdyn_ontologies/c_sharp/FlowNetworkResource.cs @@ -0,0 +1,91 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.flowNetwork { + + +public class FlowNetworkResource { + + public readonly Resource Area; + public readonly Resource Branch; + public readonly Resource ConnectionPoint1; + public readonly Resource ConnectionPoint2; + public readonly Resource Elevation; + public readonly Resource FlowNetworkModel; + public readonly Resource FlowNetworkModelManager; + public readonly Resource FlowNetworkModellingDomain; + public readonly Resource IncludedInSimulation; + public readonly Resource Length; + public readonly Resource LossCoefficient; + public readonly Resource MassFlow; + public readonly Resource Node; + public readonly Resource Pressure; + public readonly Resource Self; + public readonly Resource Volume; + + public static class URIs { + public const String Area = "http://www.simantics.org/FlowNetwork#Area"; + public const String Branch = "http://www.simantics.org/FlowNetwork#Branch"; + public const String ConnectionPoint1 = "http://www.simantics.org/FlowNetwork#ConnectionPoint1"; + public const String ConnectionPoint2 = "http://www.simantics.org/FlowNetwork#ConnectionPoint2"; + public const String Elevation = "http://www.simantics.org/FlowNetwork#Elevation"; + public const String FlowNetworkModel = "http://www.simantics.org/FlowNetwork#FlowNetworkModel"; + public const String FlowNetworkModelManager = "http://www.simantics.org/FlowNetwork#FlowNetworkModelManager"; + public const String FlowNetworkModellingDomain = "http://www.simantics.org/FlowNetwork#FlowNetworkModellingDomain"; + public const String IncludedInSimulation = "http://www.simantics.org/FlowNetwork#IncludedInSimulation"; + public const String Length = "http://www.simantics.org/FlowNetwork#Length"; + public const String LossCoefficient = "http://www.simantics.org/FlowNetwork#LossCoefficient"; + public const String MassFlow = "http://www.simantics.org/FlowNetwork#MassFlow"; + public const String Node = "http://www.simantics.org/FlowNetwork#Node"; + public const String Pressure = "http://www.simantics.org/FlowNetwork#Pressure"; + public const String Self = "http://www.simantics.org/FlowNetwork#Self"; + public const String Volume = "http://www.simantics.org/FlowNetwork#Volume"; + } + + public FlowNetworkResource(Graph graph) { + try { + Area = graph.getResourceByURI(URIs.Area); + Branch = graph.getResourceByURI(URIs.Branch); + ConnectionPoint1 = graph.getResourceByURI(URIs.ConnectionPoint1); + ConnectionPoint2 = graph.getResourceByURI(URIs.ConnectionPoint2); + Elevation = graph.getResourceByURI(URIs.Elevation); + FlowNetworkModel = graph.getResourceByURI(URIs.FlowNetworkModel); + FlowNetworkModelManager = graph.getResourceByURI(URIs.FlowNetworkModelManager); + FlowNetworkModellingDomain = graph.getResourceByURI(URIs.FlowNetworkModellingDomain); + IncludedInSimulation = graph.getResourceByURI(URIs.IncludedInSimulation); + Length = graph.getResourceByURI(URIs.Length); + LossCoefficient = graph.getResourceByURI(URIs.LossCoefficient); + MassFlow = graph.getResourceByURI(URIs.MassFlow); + Node = graph.getResourceByURI(URIs.Node); + Pressure = graph.getResourceByURI(URIs.Pressure); + Self = graph.getResourceByURI(URIs.Self); + Volume = graph.getResourceByURI(URIs.Volume); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static FlowNetworkResource getInstance(Graph graph) { + Session session = graph.getSession(); + FlowNetworkResource ret = session.getService(typeof(FlowNetworkResource)); + if(ret == null) { + ret = new FlowNetworkResource(graph); + session.registerService(typeof(FlowNetworkResource), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/G2DResource.cs b/sysdyn_ontologies/c_sharp/G2DResource.cs new file mode 100644 index 00000000..6110effb --- /dev/null +++ b/sysdyn_ontologies/c_sharp/G2DResource.cs @@ -0,0 +1,268 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.diagram.stubs { + + +public class G2DResource { + + public readonly Resource Alignment; + public readonly Resource Alignment_Center; + public readonly Resource Alignment_Leading; + public readonly Resource Alignment_Trailing; + public readonly Resource Black; + public readonly Resource Color; + public readonly Resource ColorGradient; + public readonly Resource ColorPlacement; + public readonly Resource ColorProfile; + public readonly Resource DefaultStroke; + public readonly Resource Font; + public readonly Resource FontStyle; + public readonly Resource FontStyle_bold; + public readonly Resource FontStyle_bolditalic; + public readonly Resource FontStyle_italic; + public readonly Resource FontStyle_normal; + public readonly Resource HasBeginArrow; + public readonly Resource HasBorderColor; + public readonly Resource HasColor; + public readonly Resource HasColorGradient; + public readonly Resource HasColorPlacement; + public readonly Resource HasDashArray; + public readonly Resource HasDashOffset; + public readonly Resource HasEndArrow; + public readonly Resource HasFillColor; + public readonly Resource HasFont; + public readonly Resource HasFontFamily; + public readonly Resource HasFontSize; + public readonly Resource HasFontStyle; + public readonly Resource HasGradientPosition; + public readonly Resource HasHorizontalAlignment; + public readonly Resource HasLineCap; + public readonly Resource HasLineEndStyle; + public readonly Resource HasLineJoin; + public readonly Resource HasLineSegmentTypes; + public readonly Resource HasLineSegments; + public readonly Resource HasMidArrow; + public readonly Resource HasMiterLimit; + public readonly Resource HasOpacity; + public readonly Resource HasPaint; + public readonly Resource HasPathData; + public readonly Resource HasPoint2D; + public readonly Resource HasPoint2DArray; + public readonly Resource HasRadii; + public readonly Resource HasSVGDocument; + public readonly Resource HasSize; + public readonly Resource HasStroke; + public readonly Resource HasStrokeType; + public readonly Resource HasStrokeWidth; + public readonly Resource HasStyle; + public readonly Resource HasText; + public readonly Resource HasTransform; + public readonly Resource HasVerticalAlignment; + public readonly Resource LineCap; + public readonly Resource LineCap_ButtCap; + public readonly Resource LineCap_RoundCap; + public readonly Resource LineCap_SquareCap; + public readonly Resource LineEnd; + public readonly Resource LineEndStyle; + public readonly Resource LineEndStyle_Filled; + public readonly Resource LineEndStyle_Normal; + public readonly Resource LineJoin; + public readonly Resource LineJoin_BevelJoin; + public readonly Resource LineJoin_MiterJoin; + public readonly Resource LineJoin_RoundJoin; + public readonly Resource Point2D; + public readonly Resource Point2DArray; + public readonly Resource Shape; + public readonly Resource Stroke; + public readonly Resource StrokeType; + public readonly Resource StrokeType_Nonscaling; + public readonly Resource StrokeType_Scaling; + public readonly Resource Style; + public readonly Resource Transform; + public readonly Resource White; + + public static class URIs { + public const String Alignment = "http://www.vtt.fi/Simantics/G2DOntology/1.0#Alignment"; + public const String Alignment_Center = "http://www.vtt.fi/Simantics/G2DOntology/1.0/Alignment#Center"; + public const String Alignment_Leading = "http://www.vtt.fi/Simantics/G2DOntology/1.0/Alignment#Leading"; + public const String Alignment_Trailing = "http://www.vtt.fi/Simantics/G2DOntology/1.0/Alignment#Trailing"; + public const String Black = "http://www.vtt.fi/Simantics/G2DOntology/1.0/Colors#Black"; + public const String Color = "http://www.vtt.fi/Simantics/G2DOntology/1.0#Color"; + public const String ColorGradient = "http://www.vtt.fi/Simantics/G2DOntology/1.0#ColorGradient"; + public const String ColorPlacement = "http://www.vtt.fi/Simantics/G2DOntology/1.0#ColorPlacement"; + public const String ColorProfile = "http://www.vtt.fi/Simantics/G2DOntology/1.0#ColorProfile"; + public const String DefaultStroke = "http://www.vtt.fi/Simantics/G2DOntology/1.0#DefaultStroke"; + public const String Font = "http://www.vtt.fi/Simantics/G2DOntology/1.0#Font"; + public const String FontStyle = "http://www.vtt.fi/Simantics/G2DOntology/1.0#FontStyle"; + public const String FontStyle_bold = "http://www.vtt.fi/Simantics/G2DOntology/1.0/FontStyle#bold"; + public const String FontStyle_bolditalic = "http://www.vtt.fi/Simantics/G2DOntology/1.0/FontStyle#bolditalic"; + public const String FontStyle_italic = "http://www.vtt.fi/Simantics/G2DOntology/1.0/FontStyle#italic"; + public const String FontStyle_normal = "http://www.vtt.fi/Simantics/G2DOntology/1.0/FontStyle#normal"; + public const String HasBeginArrow = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasBeginArrow"; + public const String HasBorderColor = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasBorderColor"; + public const String HasColor = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasColor"; + public const String HasColorGradient = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasColorGradient"; + public const String HasColorPlacement = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasColorPlacement"; + public const String HasDashArray = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasDashArray"; + public const String HasDashOffset = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasDashOffset"; + public const String HasEndArrow = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasEndArrow"; + public const String HasFillColor = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasFillColor"; + public const String HasFont = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasFont"; + public const String HasFontFamily = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasFontFamily"; + public const String HasFontSize = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasFontSize"; + public const String HasFontStyle = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasFontStyle"; + public const String HasGradientPosition = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasGradientPosition"; + public const String HasHorizontalAlignment = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasHorizontalAlignment"; + public const String HasLineCap = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasLineCap"; + public const String HasLineEndStyle = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasLineEndStyle"; + public const String HasLineJoin = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasLineJoin"; + public const String HasLineSegmentTypes = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasLineSegmentTypes"; + public const String HasLineSegments = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasLineSegments"; + public const String HasMidArrow = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasMidArrow"; + public const String HasMiterLimit = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasMiterLimit"; + public const String HasOpacity = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasOpacity"; + public const String HasPaint = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasPaint"; + public const String HasPathData = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasPathData"; + public const String HasPoint2D = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasPoint2D"; + public const String HasPoint2DArray = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasPoint2DArray"; + public const String HasRadii = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasRadii"; + public const String HasSVGDocument = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasSVGDocument"; + public const String HasSize = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasSize"; + public const String HasStroke = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasStroke"; + public const String HasStrokeType = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasStrokeType"; + public const String HasStrokeWidth = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasStrokeWidth"; + public const String HasStyle = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasStyle"; + public const String HasText = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasText"; + public const String HasTransform = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasTransform"; + public const String HasVerticalAlignment = "http://www.vtt.fi/Simantics/G2DOntology/1.0#HasVerticalAlignment"; + public const String LineCap = "http://www.vtt.fi/Simantics/G2DOntology/1.0#LineCap"; + public const String LineCap_ButtCap = "http://www.vtt.fi/Simantics/G2DOntology/1.0/LineCap#ButtCap"; + public const String LineCap_RoundCap = "http://www.vtt.fi/Simantics/G2DOntology/1.0/LineCap#RoundCap"; + public const String LineCap_SquareCap = "http://www.vtt.fi/Simantics/G2DOntology/1.0/LineCap#SquareCap"; + public const String LineEnd = "http://www.vtt.fi/Simantics/G2DOntology/1.0#LineEnd"; + public const String LineEndStyle = "http://www.vtt.fi/Simantics/G2DOntology/1.0#LineEndStyle"; + public const String LineEndStyle_Filled = "http://www.vtt.fi/Simantics/G2DOntology/1.0/LineEndStyle#Filled"; + public const String LineEndStyle_Normal = "http://www.vtt.fi/Simantics/G2DOntology/1.0/LineEndStyle#Normal"; + public const String LineJoin = "http://www.vtt.fi/Simantics/G2DOntology/1.0#LineJoin"; + public const String LineJoin_BevelJoin = "http://www.vtt.fi/Simantics/G2DOntology/1.0/LineJoin#BevelJoin"; + public const String LineJoin_MiterJoin = "http://www.vtt.fi/Simantics/G2DOntology/1.0/LineJoin#MiterJoin"; + public const String LineJoin_RoundJoin = "http://www.vtt.fi/Simantics/G2DOntology/1.0/LineJoin#RoundJoin"; + public const String Point2D = "http://www.vtt.fi/Simantics/G2DOntology/1.0#Point2D"; + public const String Point2DArray = "http://www.vtt.fi/Simantics/G2DOntology/1.0#Point2DArray"; + public const String Shape = "http://www.vtt.fi/Simantics/G2DOntology/1.0#Shape"; + public const String Stroke = "http://www.vtt.fi/Simantics/G2DOntology/1.0#Stroke"; + public const String StrokeType = "http://www.vtt.fi/Simantics/G2DOntology/1.0#StrokeType"; + public const String StrokeType_Nonscaling = "http://www.vtt.fi/Simantics/G2DOntology/1.0/StrokeType#Nonscaling"; + public const String StrokeType_Scaling = "http://www.vtt.fi/Simantics/G2DOntology/1.0/StrokeType#Scaling"; + public const String Style = "http://www.vtt.fi/Simantics/G2DOntology/1.0#Style"; + public const String Transform = "http://www.vtt.fi/Simantics/G2DOntology/1.0#Transform"; + public const String White = "http://www.vtt.fi/Simantics/G2DOntology/1.0/Colors#White"; + } + + public G2DResource(Graph graph) { + try { + Alignment = graph.getResourceByURI(URIs.Alignment); + Alignment_Center = graph.getResourceByURI(URIs.Alignment_Center); + Alignment_Leading = graph.getResourceByURI(URIs.Alignment_Leading); + Alignment_Trailing = graph.getResourceByURI(URIs.Alignment_Trailing); + Black = graph.getResourceByURI(URIs.Black); + Color = graph.getResourceByURI(URIs.Color); + ColorGradient = graph.getResourceByURI(URIs.ColorGradient); + ColorPlacement = graph.getResourceByURI(URIs.ColorPlacement); + ColorProfile = graph.getResourceByURI(URIs.ColorProfile); + DefaultStroke = graph.getResourceByURI(URIs.DefaultStroke); + Font = graph.getResourceByURI(URIs.Font); + FontStyle = graph.getResourceByURI(URIs.FontStyle); + FontStyle_bold = graph.getResourceByURI(URIs.FontStyle_bold); + FontStyle_bolditalic = graph.getResourceByURI(URIs.FontStyle_bolditalic); + FontStyle_italic = graph.getResourceByURI(URIs.FontStyle_italic); + FontStyle_normal = graph.getResourceByURI(URIs.FontStyle_normal); + HasBeginArrow = graph.getResourceByURI(URIs.HasBeginArrow); + HasBorderColor = graph.getResourceByURI(URIs.HasBorderColor); + HasColor = graph.getResourceByURI(URIs.HasColor); + HasColorGradient = graph.getResourceByURI(URIs.HasColorGradient); + HasColorPlacement = graph.getResourceByURI(URIs.HasColorPlacement); + HasDashArray = graph.getResourceByURI(URIs.HasDashArray); + HasDashOffset = graph.getResourceByURI(URIs.HasDashOffset); + HasEndArrow = graph.getResourceByURI(URIs.HasEndArrow); + HasFillColor = graph.getResourceByURI(URIs.HasFillColor); + HasFont = graph.getResourceByURI(URIs.HasFont); + HasFontFamily = graph.getResourceByURI(URIs.HasFontFamily); + HasFontSize = graph.getResourceByURI(URIs.HasFontSize); + HasFontStyle = graph.getResourceByURI(URIs.HasFontStyle); + HasGradientPosition = graph.getResourceByURI(URIs.HasGradientPosition); + HasHorizontalAlignment = graph.getResourceByURI(URIs.HasHorizontalAlignment); + HasLineCap = graph.getResourceByURI(URIs.HasLineCap); + HasLineEndStyle = graph.getResourceByURI(URIs.HasLineEndStyle); + HasLineJoin = graph.getResourceByURI(URIs.HasLineJoin); + HasLineSegmentTypes = graph.getResourceByURI(URIs.HasLineSegmentTypes); + HasLineSegments = graph.getResourceByURI(URIs.HasLineSegments); + HasMidArrow = graph.getResourceByURI(URIs.HasMidArrow); + HasMiterLimit = graph.getResourceByURI(URIs.HasMiterLimit); + HasOpacity = graph.getResourceByURI(URIs.HasOpacity); + HasPaint = graph.getResourceByURI(URIs.HasPaint); + HasPathData = graph.getResourceByURI(URIs.HasPathData); + HasPoint2D = graph.getResourceByURI(URIs.HasPoint2D); + HasPoint2DArray = graph.getResourceByURI(URIs.HasPoint2DArray); + HasRadii = graph.getResourceByURI(URIs.HasRadii); + HasSVGDocument = graph.getResourceByURI(URIs.HasSVGDocument); + HasSize = graph.getResourceByURI(URIs.HasSize); + HasStroke = graph.getResourceByURI(URIs.HasStroke); + HasStrokeType = graph.getResourceByURI(URIs.HasStrokeType); + HasStrokeWidth = graph.getResourceByURI(URIs.HasStrokeWidth); + HasStyle = graph.getResourceByURI(URIs.HasStyle); + HasText = graph.getResourceByURI(URIs.HasText); + HasTransform = graph.getResourceByURI(URIs.HasTransform); + HasVerticalAlignment = graph.getResourceByURI(URIs.HasVerticalAlignment); + LineCap = graph.getResourceByURI(URIs.LineCap); + LineCap_ButtCap = graph.getResourceByURI(URIs.LineCap_ButtCap); + LineCap_RoundCap = graph.getResourceByURI(URIs.LineCap_RoundCap); + LineCap_SquareCap = graph.getResourceByURI(URIs.LineCap_SquareCap); + LineEnd = graph.getResourceByURI(URIs.LineEnd); + LineEndStyle = graph.getResourceByURI(URIs.LineEndStyle); + LineEndStyle_Filled = graph.getResourceByURI(URIs.LineEndStyle_Filled); + LineEndStyle_Normal = graph.getResourceByURI(URIs.LineEndStyle_Normal); + LineJoin = graph.getResourceByURI(URIs.LineJoin); + LineJoin_BevelJoin = graph.getResourceByURI(URIs.LineJoin_BevelJoin); + LineJoin_MiterJoin = graph.getResourceByURI(URIs.LineJoin_MiterJoin); + LineJoin_RoundJoin = graph.getResourceByURI(URIs.LineJoin_RoundJoin); + Point2D = graph.getResourceByURI(URIs.Point2D); + Point2DArray = graph.getResourceByURI(URIs.Point2DArray); + Shape = graph.getResourceByURI(URIs.Shape); + Stroke = graph.getResourceByURI(URIs.Stroke); + StrokeType = graph.getResourceByURI(URIs.StrokeType); + StrokeType_Nonscaling = graph.getResourceByURI(URIs.StrokeType_Nonscaling); + StrokeType_Scaling = graph.getResourceByURI(URIs.StrokeType_Scaling); + Style = graph.getResourceByURI(URIs.Style); + Transform = graph.getResourceByURI(URIs.Transform); + White = graph.getResourceByURI(URIs.White); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static G2DResource getInstance(Graph graph) { + Session session = graph.getSession(); + G2DResource ret = session.getService(typeof(G2DResource)); + if(ret == null) { + ret = new G2DResource(graph); + session.registerService(typeof(G2DResource), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/ImageResource.cs b/sysdyn_ontologies/c_sharp/ImageResource.cs new file mode 100644 index 00000000..1a292481 --- /dev/null +++ b/sysdyn_ontologies/c_sharp/ImageResource.cs @@ -0,0 +1,97 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.diagram.stubs { + + +public class ImageResource { + + public readonly Resource BitmapImage; + public readonly Resource HasAlphaData; + public readonly Resource HasIcon; + public readonly Resource HasImage; + public readonly Resource HasImageData; + public readonly Resource HasMatrixImageIndex; + public readonly Resource HasMatrixType; + public readonly Resource HasPhysicalHeight; + public readonly Resource HasPhysicalWidth; + public readonly Resource HasPixelHeight; + public readonly Resource HasPixelWidth; + public readonly Resource HasRGBData; + public readonly Resource HasSVGDocument; + public readonly Resource IconLibrary; + public readonly Resource Image; + public readonly Resource ImageLibrary; + public readonly Resource MatrixImage; + public readonly Resource SVGImage; + + public static class URIs { + public const String BitmapImage = "http://www.simantics.org/Image/1.0/Types#BitmapImage"; + public const String HasAlphaData = "http://www.simantics.org/Image/1.0/Relations#HasAlphaData"; + public const String HasIcon = "http://www.simantics.org/Image/1.0/Relations#HasIcon"; + public const String HasImage = "http://www.simantics.org/Image/1.0/Relations#HasImage"; + public const String HasImageData = "http://www.simantics.org/Image/1.0/Relations#HasImageData"; + public const String HasMatrixImageIndex = "http://www.simantics.org/Image/1.0/Relations#HasMatrixImageIndex"; + public const String HasMatrixType = "http://www.simantics.org/Image/1.0/Relations#HasMatrixType"; + public const String HasPhysicalHeight = "http://www.simantics.org/Image/1.0/Relations#HasPhysicalHeight"; + public const String HasPhysicalWidth = "http://www.simantics.org/Image/1.0/Relations#HasPhysicalWidth"; + public const String HasPixelHeight = "http://www.simantics.org/Image/1.0/Relations#HasPixelHeight"; + public const String HasPixelWidth = "http://www.simantics.org/Image/1.0/Relations#HasPixelWidth"; + public const String HasRGBData = "http://www.simantics.org/Image/1.0/Relations#HasRGBData"; + public const String HasSVGDocument = "http://www.simantics.org/Image/1.0/Relations#HasSVGDocument"; + public const String IconLibrary = "http://www.simantics.org/Image/1.0/Types#IconLibrary"; + public const String Image = "http://www.simantics.org/Image/1.0/Types#Image"; + public const String ImageLibrary = "http://www.simantics.org/Image/1.0/Types#ImageLibrary"; + public const String MatrixImage = "http://www.simantics.org/Image/1.0/Types#MatrixImage"; + public const String SVGImage = "http://www.simantics.org/Image/1.0/Types#SVGImage"; + } + + public ImageResource(Graph graph) { + try { + BitmapImage = graph.getResourceByURI(URIs.BitmapImage); + HasAlphaData = graph.getResourceByURI(URIs.HasAlphaData); + HasIcon = graph.getResourceByURI(URIs.HasIcon); + HasImage = graph.getResourceByURI(URIs.HasImage); + HasImageData = graph.getResourceByURI(URIs.HasImageData); + HasMatrixImageIndex = graph.getResourceByURI(URIs.HasMatrixImageIndex); + HasMatrixType = graph.getResourceByURI(URIs.HasMatrixType); + HasPhysicalHeight = graph.getResourceByURI(URIs.HasPhysicalHeight); + HasPhysicalWidth = graph.getResourceByURI(URIs.HasPhysicalWidth); + HasPixelHeight = graph.getResourceByURI(URIs.HasPixelHeight); + HasPixelWidth = graph.getResourceByURI(URIs.HasPixelWidth); + HasRGBData = graph.getResourceByURI(URIs.HasRGBData); + HasSVGDocument = graph.getResourceByURI(URIs.HasSVGDocument); + IconLibrary = graph.getResourceByURI(URIs.IconLibrary); + Image = graph.getResourceByURI(URIs.Image); + ImageLibrary = graph.getResourceByURI(URIs.ImageLibrary); + MatrixImage = graph.getResourceByURI(URIs.MatrixImage); + SVGImage = graph.getResourceByURI(URIs.SVGImage); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static ImageResource getInstance(Graph graph) { + Session session = graph.getSession(); + ImageResource ret = session.getService(typeof(ImageResource)); + if(ret == null) { + ret = new ImageResource(graph); + session.registerService(typeof(ImageResource), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/ModelingResources.cs b/sysdyn_ontologies/c_sharp/ModelingResources.cs new file mode 100644 index 00000000..2b70ee6e --- /dev/null +++ b/sysdyn_ontologies/c_sharp/ModelingResources.cs @@ -0,0 +1,181 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.modeling { + + +public class ModelingResources { + + public readonly Resource ComponentToElement; + public readonly Resource ComponentTypeToConnectionType; + public readonly Resource ComponentTypeToSymbol; + public readonly Resource CompositeToDiagram; + public readonly Resource ConnectionDirectionToFlagType; + public readonly Resource ConnectionRelationToConnectionType; + public readonly Resource ConnectionRelationToDiagramConnectionRelation; + public readonly Resource ConnectionToDiagramConnection; + public readonly Resource ConnectionTypeToComponentType; + public readonly Resource ConnectionTypeToConnectionRelation; + public readonly Resource DiagramConnectionRelationToConnectionRelation; + public readonly Resource DiagramConnectionToConnection; + public readonly Resource DiagramOperations; + public readonly Resource DiagramToComposite; + public readonly Resource DiagramToCompositeMapping; + public readonly Resource DisconnectFlag; + public readonly Resource ElementToComponent; + public readonly Resource Encapsulable; + public readonly Resource Encapsulate; + public readonly Resource FlagToParameter; + public readonly Resource FlagTypeToConnectionDirection; + public readonly Resource HasCounterpart; + public readonly Resource HasDeadband; + public readonly Resource HasDiagramOperations; + public readonly Resource HasModelingOperations; + public readonly Resource HasNodeId; + public readonly Resource HeadlessDiagramViewer; + public readonly Resource Instantiable; + public readonly Resource Instantiate; + public readonly Resource IsEnabled; + public readonly Resource Mapped; + public readonly Resource ModelingOperations; + public readonly Resource ModelingProject; + public readonly Resource NavigateToTarget; + public readonly Resource NewComponent; + public readonly Resource NewComponentType; + public readonly Resource NewConnectionPoint; + public readonly Resource NewLiteralVariable; + public readonly Resource NewModel; + public readonly Resource ParameterToFlag; + public readonly Resource StructuralModelManager; + public readonly Resource Subscription; + public readonly Resource SubscriptionItem; + public readonly Resource SymbolToComponentType; + public readonly Resource TestTerminal; + public readonly Resource WebmonVariable; + + public static class URIs { + public const String ComponentToElement = "http://www.simantics.org/Modeling/1.0/Maps#ComponentToElement"; + public const String ComponentTypeToConnectionType = "http://www.simantics.org/Modeling/1.0/Maps#ComponentTypeToConnectionType"; + public const String ComponentTypeToSymbol = "http://www.simantics.org/Modeling/1.0/Maps#ComponentTypeToSymbol"; + public const String CompositeToDiagram = "http://www.simantics.org/Modeling/1.0/Maps#CompositeToDiagram"; + public const String ConnectionDirectionToFlagType = "http://www.simantics.org/Modeling/1.0/Maps#ConnectionDirectionToFlagType"; + public const String ConnectionRelationToConnectionType = "http://www.simantics.org/Modeling/1.0/Maps#ConnectionRelationToConnectionType"; + public const String ConnectionRelationToDiagramConnectionRelation = "http://www.simantics.org/Modeling/1.0/Maps#ConnectionRelationToDiagramConnectionRelation"; + public const String ConnectionToDiagramConnection = "http://www.simantics.org/Modeling/1.0/Maps#ConnectionToDiagramConnection"; + public const String ConnectionTypeToComponentType = "http://www.simantics.org/Modeling/1.0/Maps#ConnectionTypeToComponentType"; + public const String ConnectionTypeToConnectionRelation = "http://www.simantics.org/Modeling/1.0/Maps#ConnectionTypeToConnectionRelation"; + public const String DiagramConnectionRelationToConnectionRelation = "http://www.simantics.org/Modeling/1.0/Maps#DiagramConnectionRelationToConnectionRelation"; + public const String DiagramConnectionToConnection = "http://www.simantics.org/Modeling/1.0/Maps#DiagramConnectionToConnection"; + public const String DiagramOperations = "http://www.simantics.org/Modeling/1.0#DiagramOperations"; + public const String DiagramToComposite = "http://www.simantics.org/Modeling/1.0/Maps#DiagramToComposite"; + public const String DiagramToCompositeMapping = "http://www.simantics.org/Modeling/1.0#DiagramToCompositeMapping"; + public const String DisconnectFlag = "http://www.simantics.org/Modeling/1.0/Operations#DisconnectFlag"; + public const String ElementToComponent = "http://www.simantics.org/Modeling/1.0/Maps#ElementToComponent"; + public const String Encapsulable = "http://www.simantics.org/Modeling/1.0/Predicates#Encapsulable"; + public const String Encapsulate = "http://www.simantics.org/Modeling/1.0/Operations#Encapsulate"; + public const String FlagToParameter = "http://www.simantics.org/Modeling/1.0/Maps#FlagToParameter"; + public const String FlagTypeToConnectionDirection = "http://www.simantics.org/Modeling/1.0/Maps#FlagTypeToConnectionDirection"; + public const String HasCounterpart = "http://www.simantics.org/Modeling/1.0/Predicates#HasCounterpart"; + public const String HasDeadband = "http://www.simantics.org/Modeling/1.0#HasDeadband"; + public const String HasDiagramOperations = "http://www.simantics.org/Modeling/1.0#HasDiagramOperations"; + public const String HasModelingOperations = "http://www.simantics.org/Modeling/1.0#HasModelingOperations"; + public const String HasNodeId = "http://www.simantics.org/Modeling/1.0#HasNodeId"; + public const String HeadlessDiagramViewer = "http://www.simantics.org/Modeling/1.0#HeadlessDiagramViewer"; + public const String Instantiable = "http://www.simantics.org/Modeling/1.0/Predicates#Instantiable"; + public const String Instantiate = "http://www.simantics.org/Modeling/1.0/Operations#Instantiate"; + public const String IsEnabled = "http://www.simantics.org/Modeling/1.0#IsEnabled"; + public const String Mapped = "http://www.simantics.org/Modeling/1.0#Mapped"; + public const String ModelingOperations = "http://www.simantics.org/Modeling/1.0#ModelingOperations"; + public const String ModelingProject = "http://www.simantics.org/Modeling/1.0#ModelingProject"; + public const String NavigateToTarget = "http://www.simantics.org/Modeling/1.0/Operations#NavigateToTarget"; + public const String NewComponent = "http://www.simantics.org/Modeling/1.0/Operations#NewComponent"; + public const String NewComponentType = "http://www.simantics.org/Modeling/1.0/Operations#NewComponentType"; + public const String NewConnectionPoint = "http://www.simantics.org/Modeling/1.0/Operations#NewConnectionPoint"; + public const String NewLiteralVariable = "http://www.simantics.org/Modeling/1.0/Operations#NewLiteralVariable"; + public const String NewModel = "http://www.simantics.org/Modeling/1.0/Operations#NewModel"; + public const String ParameterToFlag = "http://www.simantics.org/Modeling/1.0/Maps#ParameterToFlag"; + public const String StructuralModelManager = "http://www.simantics.org/Modeling/1.0#StructuralModelManager"; + public const String Subscription = "http://www.simantics.org/Modeling/1.0#Subscription"; + public const String SubscriptionItem = "http://www.simantics.org/Modeling/1.0#SubscriptionItem"; + public const String SymbolToComponentType = "http://www.simantics.org/Modeling/1.0/Maps#SymbolToComponentType"; + public const String TestTerminal = "http://www.simantics.org/Modeling/1.0#TestTerminal"; + public const String WebmonVariable = "http://www.simantics.org/Modeling/1.0#WebmonVariable"; + } + + public ModelingResources(Graph graph) { + try { + ComponentToElement = graph.getResourceByURI(URIs.ComponentToElement); + ComponentTypeToConnectionType = graph.getResourceByURI(URIs.ComponentTypeToConnectionType); + ComponentTypeToSymbol = graph.getResourceByURI(URIs.ComponentTypeToSymbol); + CompositeToDiagram = graph.getResourceByURI(URIs.CompositeToDiagram); + ConnectionDirectionToFlagType = graph.getResourceByURI(URIs.ConnectionDirectionToFlagType); + ConnectionRelationToConnectionType = graph.getResourceByURI(URIs.ConnectionRelationToConnectionType); + ConnectionRelationToDiagramConnectionRelation = graph.getResourceByURI(URIs.ConnectionRelationToDiagramConnectionRelation); + ConnectionToDiagramConnection = graph.getResourceByURI(URIs.ConnectionToDiagramConnection); + ConnectionTypeToComponentType = graph.getResourceByURI(URIs.ConnectionTypeToComponentType); + ConnectionTypeToConnectionRelation = graph.getResourceByURI(URIs.ConnectionTypeToConnectionRelation); + DiagramConnectionRelationToConnectionRelation = graph.getResourceByURI(URIs.DiagramConnectionRelationToConnectionRelation); + DiagramConnectionToConnection = graph.getResourceByURI(URIs.DiagramConnectionToConnection); + DiagramOperations = graph.getResourceByURI(URIs.DiagramOperations); + DiagramToComposite = graph.getResourceByURI(URIs.DiagramToComposite); + DiagramToCompositeMapping = graph.getResourceByURI(URIs.DiagramToCompositeMapping); + DisconnectFlag = graph.getResourceByURI(URIs.DisconnectFlag); + ElementToComponent = graph.getResourceByURI(URIs.ElementToComponent); + Encapsulable = graph.getResourceByURI(URIs.Encapsulable); + Encapsulate = graph.getResourceByURI(URIs.Encapsulate); + FlagToParameter = graph.getResourceByURI(URIs.FlagToParameter); + FlagTypeToConnectionDirection = graph.getResourceByURI(URIs.FlagTypeToConnectionDirection); + HasCounterpart = graph.getResourceByURI(URIs.HasCounterpart); + HasDeadband = graph.getResourceByURI(URIs.HasDeadband); + HasDiagramOperations = graph.getResourceByURI(URIs.HasDiagramOperations); + HasModelingOperations = graph.getResourceByURI(URIs.HasModelingOperations); + HasNodeId = graph.getResourceByURI(URIs.HasNodeId); + HeadlessDiagramViewer = graph.getResourceByURI(URIs.HeadlessDiagramViewer); + Instantiable = graph.getResourceByURI(URIs.Instantiable); + Instantiate = graph.getResourceByURI(URIs.Instantiate); + IsEnabled = graph.getResourceByURI(URIs.IsEnabled); + Mapped = graph.getResourceByURI(URIs.Mapped); + ModelingOperations = graph.getResourceByURI(URIs.ModelingOperations); + ModelingProject = graph.getResourceByURI(URIs.ModelingProject); + NavigateToTarget = graph.getResourceByURI(URIs.NavigateToTarget); + NewComponent = graph.getResourceByURI(URIs.NewComponent); + NewComponentType = graph.getResourceByURI(URIs.NewComponentType); + NewConnectionPoint = graph.getResourceByURI(URIs.NewConnectionPoint); + NewLiteralVariable = graph.getResourceByURI(URIs.NewLiteralVariable); + NewModel = graph.getResourceByURI(URIs.NewModel); + ParameterToFlag = graph.getResourceByURI(URIs.ParameterToFlag); + StructuralModelManager = graph.getResourceByURI(URIs.StructuralModelManager); + Subscription = graph.getResourceByURI(URIs.Subscription); + SubscriptionItem = graph.getResourceByURI(URIs.SubscriptionItem); + SymbolToComponentType = graph.getResourceByURI(URIs.SymbolToComponentType); + TestTerminal = graph.getResourceByURI(URIs.TestTerminal); + WebmonVariable = graph.getResourceByURI(URIs.WebmonVariable); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static ModelingResources getInstance(Graph graph) { + Session session = graph.getSession(); + ModelingResources ret = session.getService(typeof(ModelingResources)); + if(ret == null) { + ret = new ModelingResources(graph); + session.registerService(typeof(ModelingResources), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/ProConfResource.cs b/sysdyn_ontologies/c_sharp/ProConfResource.cs new file mode 100644 index 00000000..fb021688 --- /dev/null +++ b/sysdyn_ontologies/c_sharp/ProConfResource.cs @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.project { + + +public class ProConfResource { + + public readonly Resource SymbolManager; + public readonly Resource SymbolManagerFeature; + + public static class URIs { + public const String SymbolManager = "http://www.simantics.org/Ontology/ProConf/1.0/Features#SymbolManager"; + public const String SymbolManagerFeature = "http://www.simantics.org/Ontology/ProConf/1.0#SymbolManagerFeature"; + } + + public ProConfResource(Graph graph) { + try { + SymbolManager = graph.getResourceByURI(URIs.SymbolManager); + SymbolManagerFeature = graph.getResourceByURI(URIs.SymbolManagerFeature); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static ProConfResource getInstance(Graph graph) { + Session session = graph.getSession(); + ProConfResource ret = session.getService(typeof(ProConfResource)); + if(ret == null) { + ret = new ProConfResource(graph); + session.registerService(typeof(ProConfResource), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/StructuralResource2.cs b/sysdyn_ontologies/c_sharp/StructuralResource2.cs new file mode 100644 index 00000000..290c6a2f --- /dev/null +++ b/sysdyn_ontologies/c_sharp/StructuralResource2.cs @@ -0,0 +1,163 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.structural.stubs { + + +public class StructuralResource2 { + + public readonly Resource Binds; + public readonly Resource CardinalityRestriction; + public readonly Resource Component; + public readonly Resource ComponentType; + public readonly Resource Composite; + public readonly Resource Connection; + public readonly Resource ConnectionDirection; + public readonly Resource ConnectionRelation; + public readonly Resource ConnectionType; + public readonly Resource ConnectionVariable; + public readonly Resource Defines; + public readonly Resource DirectedConnectionRelation; + public readonly Resource Expression; + public readonly Resource HasCardinalityRestriction; + public readonly Resource HasConnectionDirection; + public readonly Resource HasConnectionType; + public readonly Resource HasLowerBound; + public readonly Resource HasParameter; + public readonly Resource HasUpperBound; + public readonly Resource HasValue; + public readonly Resource HasVariable; + public readonly Resource InputDirection; + public readonly Resource IsBoundBy; + public readonly Resource IsConnected; + public readonly Resource IsConnectedFrom; + public readonly Resource IsConnectedTo; + public readonly Resource IsDefinedBy; + public readonly Resource IsParameterOf; + public readonly Resource LiteralVariable; + public readonly Resource OrderedComposite; + public readonly Resource OutputDirection; + public readonly Resource StructuralConsistsOf; + public readonly Resource StructuralPartOf; + public readonly Resource SupportsConnectionType; + public readonly Resource SupportsDirection; + public readonly Resource Value; + public readonly Resource ValueRelation; + public readonly Resource Variable; + public readonly Resource VariableOf; + public readonly Resource VariableRelation; + + public static class URIs { + public const String Binds = "http://www.simantics.org/Structural/1.0#Binds"; + public const String CardinalityRestriction = "http://www.simantics.org/Structural/1.0#CardinalityRestriction"; + public const String Component = "http://www.simantics.org/Structural/1.0#Component"; + public const String ComponentType = "http://www.simantics.org/Structural/1.0#ComponentType"; + public const String Composite = "http://www.simantics.org/Structural/1.0#Composite"; + public const String Connection = "http://www.simantics.org/Structural/1.0#Connection"; + public const String ConnectionDirection = "http://www.simantics.org/Structural/1.0#ConnectionDirection"; + public const String ConnectionRelation = "http://www.simantics.org/Structural/1.0#ConnectionRelation"; + public const String ConnectionType = "http://www.simantics.org/Structural/1.0#ConnectionType"; + public const String ConnectionVariable = "http://www.simantics.org/Structural/1.0#ConnectionVariable"; + public const String Defines = "http://www.simantics.org/Structural/1.0#Defines"; + public const String DirectedConnectionRelation = "http://www.simantics.org/Structural/1.0#DirectedConnectionRelation"; + public const String Expression = "http://www.simantics.org/Structural/1.0#Expression"; + public const String HasCardinalityRestriction = "http://www.simantics.org/Structural/1.0#HasCardinalityRestriction"; + public const String HasConnectionDirection = "http://www.simantics.org/Structural/1.0#HasConnectionDirection"; + public const String HasConnectionType = "http://www.simantics.org/Structural/1.0#HasConnectionType"; + public const String HasLowerBound = "http://www.simantics.org/Structural/1.0#HasLowerBound"; + public const String HasParameter = "http://www.simantics.org/Structural/1.0#HasParameter"; + public const String HasUpperBound = "http://www.simantics.org/Structural/1.0#HasUpperBound"; + public const String HasValue = "http://www.simantics.org/Structural/1.0#HasValue"; + public const String HasVariable = "http://www.simantics.org/Structural/1.0#HasVariable"; + public const String InputDirection = "http://www.simantics.org/Structural/1.0#InputDirection"; + public const String IsBoundBy = "http://www.simantics.org/Structural/1.0#IsBoundBy"; + public const String IsConnected = "http://www.simantics.org/Structural/1.0#IsConnected"; + public const String IsConnectedFrom = "http://www.simantics.org/Structural/1.0#IsConnectedFrom"; + public const String IsConnectedTo = "http://www.simantics.org/Structural/1.0#IsConnectedTo"; + public const String IsDefinedBy = "http://www.simantics.org/Structural/1.0#IsDefinedBy"; + public const String IsParameterOf = "http://www.simantics.org/Structural/1.0#IsParameterOf"; + public const String LiteralVariable = "http://www.simantics.org/Structural/1.0#LiteralVariable"; + public const String OrderedComposite = "http://www.simantics.org/Structural/1.0#OrderedComposite"; + public const String OutputDirection = "http://www.simantics.org/Structural/1.0#OutputDirection"; + public const String StructuralConsistsOf = "http://www.simantics.org/Structural/1.0#StructuralConsistsOf"; + public const String StructuralPartOf = "http://www.simantics.org/Structural/1.0#StructuralPartOf"; + public const String SupportsConnectionType = "http://www.simantics.org/Structural/1.0#SupportsConnectionType"; + public const String SupportsDirection = "http://www.simantics.org/Structural/1.0#SupportsDirection"; + public const String Value = "http://www.simantics.org/Structural/1.0#Value"; + public const String ValueRelation = "http://www.simantics.org/Structural/1.0#ValueRelation"; + public const String Variable = "http://www.simantics.org/Structural/1.0#Variable"; + public const String VariableOf = "http://www.simantics.org/Structural/1.0#VariableOf"; + public const String VariableRelation = "http://www.simantics.org/Structural/1.0#VariableRelation"; + } + + public StructuralResource2(Graph graph) { + try { + Binds = graph.getResourceByURI(URIs.Binds); + CardinalityRestriction = graph.getResourceByURI(URIs.CardinalityRestriction); + Component = graph.getResourceByURI(URIs.Component); + ComponentType = graph.getResourceByURI(URIs.ComponentType); + Composite = graph.getResourceByURI(URIs.Composite); + Connection = graph.getResourceByURI(URIs.Connection); + ConnectionDirection = graph.getResourceByURI(URIs.ConnectionDirection); + ConnectionRelation = graph.getResourceByURI(URIs.ConnectionRelation); + ConnectionType = graph.getResourceByURI(URIs.ConnectionType); + ConnectionVariable = graph.getResourceByURI(URIs.ConnectionVariable); + Defines = graph.getResourceByURI(URIs.Defines); + DirectedConnectionRelation = graph.getResourceByURI(URIs.DirectedConnectionRelation); + Expression = graph.getResourceByURI(URIs.Expression); + HasCardinalityRestriction = graph.getResourceByURI(URIs.HasCardinalityRestriction); + HasConnectionDirection = graph.getResourceByURI(URIs.HasConnectionDirection); + HasConnectionType = graph.getResourceByURI(URIs.HasConnectionType); + HasLowerBound = graph.getResourceByURI(URIs.HasLowerBound); + HasParameter = graph.getResourceByURI(URIs.HasParameter); + HasUpperBound = graph.getResourceByURI(URIs.HasUpperBound); + HasValue = graph.getResourceByURI(URIs.HasValue); + HasVariable = graph.getResourceByURI(URIs.HasVariable); + InputDirection = graph.getResourceByURI(URIs.InputDirection); + IsBoundBy = graph.getResourceByURI(URIs.IsBoundBy); + IsConnected = graph.getResourceByURI(URIs.IsConnected); + IsConnectedFrom = graph.getResourceByURI(URIs.IsConnectedFrom); + IsConnectedTo = graph.getResourceByURI(URIs.IsConnectedTo); + IsDefinedBy = graph.getResourceByURI(URIs.IsDefinedBy); + IsParameterOf = graph.getResourceByURI(URIs.IsParameterOf); + LiteralVariable = graph.getResourceByURI(URIs.LiteralVariable); + OrderedComposite = graph.getResourceByURI(URIs.OrderedComposite); + OutputDirection = graph.getResourceByURI(URIs.OutputDirection); + StructuralConsistsOf = graph.getResourceByURI(URIs.StructuralConsistsOf); + StructuralPartOf = graph.getResourceByURI(URIs.StructuralPartOf); + SupportsConnectionType = graph.getResourceByURI(URIs.SupportsConnectionType); + SupportsDirection = graph.getResourceByURI(URIs.SupportsDirection); + Value = graph.getResourceByURI(URIs.Value); + ValueRelation = graph.getResourceByURI(URIs.ValueRelation); + Variable = graph.getResourceByURI(URIs.Variable); + VariableOf = graph.getResourceByURI(URIs.VariableOf); + VariableRelation = graph.getResourceByURI(URIs.VariableRelation); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static StructuralResource2 getInstance(Graph graph) { + Session session = graph.getSession(); + StructuralResource2 ret = session.getService(typeof(StructuralResource2)); + if(ret == null) { + ret = new StructuralResource2(graph); + session.registerService(typeof(StructuralResource2), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/SysdynResource.cs b/sysdyn_ontologies/c_sharp/SysdynResource.cs new file mode 100644 index 00000000..e397fae9 --- /dev/null +++ b/sysdyn_ontologies/c_sharp/SysdynResource.cs @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.sysdyn { + + +public class SysdynResource { + + public readonly Resource Auxiliary; + public readonly Resource Cloud; + public readonly Resource Configuration; + public readonly Resource Dependency; + public readonly Resource Flow; + public readonly Resource HasAngle; + public readonly Resource HasHead; + public readonly Resource HasTail; + public readonly Resource HasX; + public readonly Resource HasY; + public readonly Resource IndependentVariable; + public readonly Resource IsHeadOf; + public readonly Resource IsTailOf; + public readonly Resource Stock; + public readonly Resource TestConfiguration; + public readonly Resource Valve; + public readonly Resource Variable; + + public static class URIs { + public const String Auxiliary = "http://www.simantics.org/Sysdyn#Auxiliary"; + public const String Cloud = "http://www.simantics.org/Sysdyn#Cloud"; + public const String Configuration = "http://www.simantics.org/Sysdyn#Configuration"; + public const String Dependency = "http://www.simantics.org/Sysdyn#Dependency"; + public const String Flow = "http://www.simantics.org/Sysdyn#Flow"; + public const String HasAngle = "http://www.simantics.org/Sysdyn#HasAngle"; + public const String HasHead = "http://www.simantics.org/Sysdyn#HasHead"; + public const String HasTail = "http://www.simantics.org/Sysdyn#HasTail"; + public const String HasX = "http://www.simantics.org/Sysdyn#HasX"; + public const String HasY = "http://www.simantics.org/Sysdyn#HasY"; + public const String IndependentVariable = "http://www.simantics.org/Sysdyn#IndependentVariable"; + public const String IsHeadOf = "http://www.simantics.org/Sysdyn#IsHeadOf"; + public const String IsTailOf = "http://www.simantics.org/Sysdyn#IsTailOf"; + public const String Stock = "http://www.simantics.org/Sysdyn#Stock"; + public const String TestConfiguration = "http://www.simantics.org/Sysdyn#TestConfiguration"; + public const String Valve = "http://www.simantics.org/Sysdyn#Valve"; + public const String Variable = "http://www.simantics.org/Sysdyn#Variable"; + } + + public SysdynResource(Graph graph) { + try { + Auxiliary = graph.getResourceByURI(URIs.Auxiliary); + Cloud = graph.getResourceByURI(URIs.Cloud); + Configuration = graph.getResourceByURI(URIs.Configuration); + Dependency = graph.getResourceByURI(URIs.Dependency); + Flow = graph.getResourceByURI(URIs.Flow); + HasAngle = graph.getResourceByURI(URIs.HasAngle); + HasHead = graph.getResourceByURI(URIs.HasHead); + HasTail = graph.getResourceByURI(URIs.HasTail); + HasX = graph.getResourceByURI(URIs.HasX); + HasY = graph.getResourceByURI(URIs.HasY); + IndependentVariable = graph.getResourceByURI(URIs.IndependentVariable); + IsHeadOf = graph.getResourceByURI(URIs.IsHeadOf); + IsTailOf = graph.getResourceByURI(URIs.IsTailOf); + Stock = graph.getResourceByURI(URIs.Stock); + TestConfiguration = graph.getResourceByURI(URIs.TestConfiguration); + Valve = graph.getResourceByURI(URIs.Valve); + Variable = graph.getResourceByURI(URIs.Variable); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static SysdynResource getInstance(Graph graph) { + Session session = graph.getSession(); + SysdynResource ret = session.getService(typeof(SysdynResource)); + if(ret == null) { + ret = new SysdynResource(graph); + session.registerService(typeof(SysdynResource), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/c_sharp/WebmonResource.cs b/sysdyn_ontologies/c_sharp/WebmonResource.cs new file mode 100644 index 00000000..e091649b --- /dev/null +++ b/sysdyn_ontologies/c_sharp/WebmonResource.cs @@ -0,0 +1,424 @@ +/******************************************************************************* + * Copyright (c) 2007- VTT Technical Research Centre of Finland. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +using System; + +using org.simantics.db.exceptions; + +namespace org.simantics.webmon.stubs { + + +public class WebmonResource { + + public readonly Resource AdaptiveGrid; + public readonly Resource Chart; + public readonly Resource ChartGroup; + public readonly Resource Color; + public readonly Resource ConstantValue; + public readonly Resource Curve2DPlot; + public readonly Resource Curve2DPlotConfiguration; + public readonly Resource Curve2DPoint; + public readonly Resource Curve2DView; + public readonly Resource Curve2DViewConfiguration; + public readonly Resource DataItem; + public readonly Resource DataSource; + public readonly Resource DataSources; + public readonly Resource DisabledGrid; + public readonly Resource GridMode; + public readonly Resource HasAmplitude; + public readonly Resource HasBlue; + public readonly Resource HasColor; + public readonly Resource HasColorValue; + public readonly Resource HasContext; + public readonly Resource HasCurrentTime; + public readonly Resource HasDefaultViewConfiguration; + public readonly Resource HasDoubleRange; + public readonly Resource HasEndTime; + public readonly Resource HasFrequency; + public readonly Resource HasGreen; + public readonly Resource HasGridMode; + public readonly Resource HasInterval; + public readonly Resource HasLineMode; + public readonly Resource HasLineWidth; + public readonly Resource HasPhase; + public readonly Resource HasPlot; + public readonly Resource HasPlotConfiguration; + public readonly Resource HasPoint; + public readonly Resource HasRamp; + public readonly Resource HasRed; + public readonly Resource HasScaleMode; + public readonly Resource HasSessionReference; + public readonly Resource HasSin; + public readonly Resource HasSpacing; + public readonly Resource HasStartTime; + public readonly Resource HasTimePresentation; + public readonly Resource HasTimeSegment; + public readonly Resource HasValue; + public readonly Resource HasVariableReference; + public readonly Resource HasViewConfiguration; + public readonly Resource HasVisualConfiguration; + public readonly Resource HasVisualRange; + public readonly Resource HasXAxisScale; + public readonly Resource HasXAxisScalePercentage; + public readonly Resource HasXLines; + public readonly Resource HasXValue; + public readonly Resource HasYAxisMode; + public readonly Resource HasYAxisScale; + public readonly Resource HasYAxisScalePercentage; + public readonly Resource HasYLines; + public readonly Resource HasYValue; + public readonly Resource HasZAxisScale; + public readonly Resource HasZAxisScalePercentage; + public readonly Resource HasZValue; + public readonly Resource IsAutoScale; + public readonly Resource IsEnabled; + public readonly Resource IsPerPlotScaling; + public readonly Resource IsStepwise; + public readonly Resource LineMode; + public readonly Resource LineMode_LinearInterpolation; + public readonly Resource LineMode_StepWise; + public readonly Resource ManualGrid; + public readonly Resource PartOfViewConfiguration; + public readonly Resource Plot; + public readonly Resource Plot2D; + public readonly Resource Plot3D; + public readonly Resource PlotConfiguration; + public readonly Resource Point; + public readonly Resource Point2D; + public readonly Resource Point3D; + public readonly Resource RampValue; + public readonly Resource ScaleMode; + public readonly Resource ScaleMode_FitMinMax; + public readonly Resource ScaleMode_FitTimeRange; + public readonly Resource SinValue; + public readonly Resource Surface3DPlot; + public readonly Resource Surface3DPlotConfiguration; + public readonly Resource Surface3DPoint; + public readonly Resource Surface3DView; + public readonly Resource Surface3DViewConfiguration; + public readonly Resource Surface4DPlot; + public readonly Resource Surface4DPlotConfiguration; + public readonly Resource Surface4DPoint; + public readonly Resource Surface4DView; + public readonly Resource Surface4DViewConfiguration; + public readonly Resource TestDataSource; + public readonly Resource TestDataValue; + public readonly Resource TimePresentation; + public readonly Resource TimePresentation_Absolute; + public readonly Resource TimePresentation_Relative; + public readonly Resource TimeRangeConfiguration; + public readonly Resource TimeRangeView; + public readonly Resource TimeSegment; + public readonly Resource TimeSeriesChart; + public readonly Resource TimeSliceConfiguration; + public readonly Resource TimeSliceView; + public readonly Resource TimeValue; + public readonly Resource Trend2DPlot; + public readonly Resource Trend2DPlotConfiguration; + public readonly Resource Trend2DPoint; + public readonly Resource Trend2DView; + public readonly Resource Trend2DViewConfiguration; + public readonly Resource Trend3DPlot; + public readonly Resource Trend3DPlotConfiguration; + public readonly Resource Trend3DPoint; + public readonly Resource Trend3DView; + public readonly Resource Trend3DViewConfiguration; + public readonly Resource Value; + public readonly Resource VariableReference; + public readonly Resource View; + public readonly Resource View2D; + public readonly Resource View3D; + public readonly Resource ViewConfiguration; + public readonly Resource VisualConfiguration; + public readonly Resource Visualizations; + public readonly Resource WebmonFeature; + public readonly Resource WebmonProject; + public readonly Resource Workspace; + public readonly Resource YAxisMode; + public readonly Resource YAxisMode_PlotsHaveIndividualYAxis; + public readonly Resource YAxisMode_PlotsShareYAxis; + + public static class URIs { + public const String AdaptiveGrid = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#AdaptiveGrid"; + public const String Chart = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Chart"; + public const String ChartGroup = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#ChartGroup"; + public const String Color = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Color"; + public const String ConstantValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#ConstantValue"; + public const String Curve2DPlot = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Curve2DPlot"; + public const String Curve2DPlotConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Curve2DPlotConfiguration"; + public const String Curve2DPoint = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Curve2DPoint"; + public const String Curve2DView = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Curve2DView"; + public const String Curve2DViewConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Curve2DViewConfiguration"; + public const String DataItem = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#DataItem"; + public const String DataSource = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#DataSource"; + public const String DataSources = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#DataSources"; + public const String DisabledGrid = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#DisabledGrid"; + public const String GridMode = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#GridMode"; + public const String HasAmplitude = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasAmplitude"; + public const String HasBlue = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasBlue"; + public const String HasColor = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasColor"; + public const String HasColorValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasColorValue"; + public const String HasContext = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasContext"; + public const String HasCurrentTime = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasCurrentTime"; + public const String HasDefaultViewConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasDefaultViewConfiguration"; + public const String HasDoubleRange = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasDoubleRange"; + public const String HasEndTime = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasEndTime"; + public const String HasFrequency = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasFrequency"; + public const String HasGreen = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasGreen"; + public const String HasGridMode = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasGridMode"; + public const String HasInterval = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasInterval"; + public const String HasLineMode = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasLineMode"; + public const String HasLineWidth = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasLineWidth"; + public const String HasPhase = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasPhase"; + public const String HasPlot = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasPlot"; + public const String HasPlotConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasPlotConfiguration"; + public const String HasPoint = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasPoint"; + public const String HasRamp = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasRamp"; + public const String HasRed = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasRed"; + public const String HasScaleMode = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasScaleMode"; + public const String HasSessionReference = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasSessionReference"; + public const String HasSin = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasSin"; + public const String HasSpacing = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasSpacing"; + public const String HasStartTime = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasStartTime"; + public const String HasTimePresentation = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasTimePresentation"; + public const String HasTimeSegment = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasTimeSegment"; + public const String HasValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasValue"; + public const String HasVariableReference = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasVariableReference"; + public const String HasViewConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasViewConfiguration"; + public const String HasVisualConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasVisualConfiguration"; + public const String HasVisualRange = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasVisualRange"; + public const String HasXAxisScale = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasXAxisScale"; + public const String HasXAxisScalePercentage = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasXAxisScalePercentage"; + public const String HasXLines = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasXLines"; + public const String HasXValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasXValue"; + public const String HasYAxisMode = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasYAxisMode"; + public const String HasYAxisScale = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasYAxisScale"; + public const String HasYAxisScalePercentage = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasYAxisScalePercentage"; + public const String HasYLines = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasYLines"; + public const String HasYValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasYValue"; + public const String HasZAxisScale = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasZAxisScale"; + public const String HasZAxisScalePercentage = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasZAxisScalePercentage"; + public const String HasZValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#HasZValue"; + public const String IsAutoScale = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#IsAutoScale"; + public const String IsEnabled = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#IsEnabled"; + public const String IsPerPlotScaling = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#IsPerPlotScaling"; + public const String IsStepwise = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#IsStepwise"; + public const String LineMode = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#LineMode"; + public const String LineMode_LinearInterpolation = "http://www.vtt.fi/Simantics/Webmon/1.0/Types/LineMode#LinearInterpolation"; + public const String LineMode_StepWise = "http://www.vtt.fi/Simantics/Webmon/1.0/Types/LineMode#StepWise"; + public const String ManualGrid = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#ManualGrid"; + public const String PartOfViewConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Relations#PartOfViewConfiguration"; + public const String Plot = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Plot"; + public const String Plot2D = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Plot2D"; + public const String Plot3D = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Plot3D"; + public const String PlotConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#PlotConfiguration"; + public const String Point = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Point"; + public const String Point2D = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Point2D"; + public const String Point3D = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Point3D"; + public const String RampValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#RampValue"; + public const String ScaleMode = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#ScaleMode"; + public const String ScaleMode_FitMinMax = "http://www.vtt.fi/Simantics/Webmon/1.0/Types/ScaleMode#FitMinMax"; + public const String ScaleMode_FitTimeRange = "http://www.vtt.fi/Simantics/Webmon/1.0/Types/ScaleMode#FitTimeRange"; + public const String SinValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#SinValue"; + public const String Surface3DPlot = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface3DPlot"; + public const String Surface3DPlotConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface3DPlotConfiguration"; + public const String Surface3DPoint = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface3DPoint"; + public const String Surface3DView = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface3DView"; + public const String Surface3DViewConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface3DViewConfiguration"; + public const String Surface4DPlot = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface4DPlot"; + public const String Surface4DPlotConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface4DPlotConfiguration"; + public const String Surface4DPoint = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface4DPoint"; + public const String Surface4DView = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface4DView"; + public const String Surface4DViewConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Surface4DViewConfiguration"; + public const String TestDataSource = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TestDataSource"; + public const String TestDataValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TestDataValue"; + public const String TimePresentation = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TimePresentation"; + public const String TimePresentation_Absolute = "http://www.vtt.fi/Simantics/Webmon/1.0/Types/TimePresentation#Absolute"; + public const String TimePresentation_Relative = "http://www.vtt.fi/Simantics/Webmon/1.0/Types/TimePresentation#Relative"; + public const String TimeRangeConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TimeRangeConfiguration"; + public const String TimeRangeView = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TimeRangeView"; + public const String TimeSegment = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TimeSegment"; + public const String TimeSeriesChart = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TimeSeriesChart"; + public const String TimeSliceConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TimeSliceConfiguration"; + public const String TimeSliceView = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TimeSliceView"; + public const String TimeValue = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#TimeValue"; + public const String Trend2DPlot = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend2DPlot"; + public const String Trend2DPlotConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend2DPlotConfiguration"; + public const String Trend2DPoint = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend2DPoint"; + public const String Trend2DView = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend2DView"; + public const String Trend2DViewConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend2DViewConfiguration"; + public const String Trend3DPlot = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend3DPlot"; + public const String Trend3DPlotConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend3DPlotConfiguration"; + public const String Trend3DPoint = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend3DPoint"; + public const String Trend3DView = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend3DView"; + public const String Trend3DViewConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Trend3DViewConfiguration"; + public const String Value = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Value"; + public const String VariableReference = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#VariableReference"; + public const String View = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#View"; + public const String View2D = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#View2D"; + public const String View3D = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#View3D"; + public const String ViewConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#ViewConfiguration"; + public const String VisualConfiguration = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#VisualConfiguration"; + public const String Visualizations = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Visualizations"; + public const String WebmonFeature = "http://www.vtt.fi/Simantics/Webmon/1.0#WebmonFeature"; + public const String WebmonProject = "http://www.vtt.fi/Simantics/Webmon/1.0#WebmonProject"; + public const String Workspace = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#Workspace"; + public const String YAxisMode = "http://www.vtt.fi/Simantics/Webmon/1.0/Types#YAxisMode"; + public const String YAxisMode_PlotsHaveIndividualYAxis = "http://www.vtt.fi/Simantics/Webmon/1.0/Types/YAxisMode#PlotsHaveIndividualYAxis"; + public const String YAxisMode_PlotsShareYAxis = "http://www.vtt.fi/Simantics/Webmon/1.0/Types/YAxisMode#PlotsShareYAxis"; + } + + public WebmonResource(Graph graph) { + try { + AdaptiveGrid = graph.getResourceByURI(URIs.AdaptiveGrid); + Chart = graph.getResourceByURI(URIs.Chart); + ChartGroup = graph.getResourceByURI(URIs.ChartGroup); + Color = graph.getResourceByURI(URIs.Color); + ConstantValue = graph.getResourceByURI(URIs.ConstantValue); + Curve2DPlot = graph.getResourceByURI(URIs.Curve2DPlot); + Curve2DPlotConfiguration = graph.getResourceByURI(URIs.Curve2DPlotConfiguration); + Curve2DPoint = graph.getResourceByURI(URIs.Curve2DPoint); + Curve2DView = graph.getResourceByURI(URIs.Curve2DView); + Curve2DViewConfiguration = graph.getResourceByURI(URIs.Curve2DViewConfiguration); + DataItem = graph.getResourceByURI(URIs.DataItem); + DataSource = graph.getResourceByURI(URIs.DataSource); + DataSources = graph.getResourceByURI(URIs.DataSources); + DisabledGrid = graph.getResourceByURI(URIs.DisabledGrid); + GridMode = graph.getResourceByURI(URIs.GridMode); + HasAmplitude = graph.getResourceByURI(URIs.HasAmplitude); + HasBlue = graph.getResourceByURI(URIs.HasBlue); + HasColor = graph.getResourceByURI(URIs.HasColor); + HasColorValue = graph.getResourceByURI(URIs.HasColorValue); + HasContext = graph.getResourceByURI(URIs.HasContext); + HasCurrentTime = graph.getResourceByURI(URIs.HasCurrentTime); + HasDefaultViewConfiguration = graph.getResourceByURI(URIs.HasDefaultViewConfiguration); + HasDoubleRange = graph.getResourceByURI(URIs.HasDoubleRange); + HasEndTime = graph.getResourceByURI(URIs.HasEndTime); + HasFrequency = graph.getResourceByURI(URIs.HasFrequency); + HasGreen = graph.getResourceByURI(URIs.HasGreen); + HasGridMode = graph.getResourceByURI(URIs.HasGridMode); + HasInterval = graph.getResourceByURI(URIs.HasInterval); + HasLineMode = graph.getResourceByURI(URIs.HasLineMode); + HasLineWidth = graph.getResourceByURI(URIs.HasLineWidth); + HasPhase = graph.getResourceByURI(URIs.HasPhase); + HasPlot = graph.getResourceByURI(URIs.HasPlot); + HasPlotConfiguration = graph.getResourceByURI(URIs.HasPlotConfiguration); + HasPoint = graph.getResourceByURI(URIs.HasPoint); + HasRamp = graph.getResourceByURI(URIs.HasRamp); + HasRed = graph.getResourceByURI(URIs.HasRed); + HasScaleMode = graph.getResourceByURI(URIs.HasScaleMode); + HasSessionReference = graph.getResourceByURI(URIs.HasSessionReference); + HasSin = graph.getResourceByURI(URIs.HasSin); + HasSpacing = graph.getResourceByURI(URIs.HasSpacing); + HasStartTime = graph.getResourceByURI(URIs.HasStartTime); + HasTimePresentation = graph.getResourceByURI(URIs.HasTimePresentation); + HasTimeSegment = graph.getResourceByURI(URIs.HasTimeSegment); + HasValue = graph.getResourceByURI(URIs.HasValue); + HasVariableReference = graph.getResourceByURI(URIs.HasVariableReference); + HasViewConfiguration = graph.getResourceByURI(URIs.HasViewConfiguration); + HasVisualConfiguration = graph.getResourceByURI(URIs.HasVisualConfiguration); + HasVisualRange = graph.getResourceByURI(URIs.HasVisualRange); + HasXAxisScale = graph.getResourceByURI(URIs.HasXAxisScale); + HasXAxisScalePercentage = graph.getResourceByURI(URIs.HasXAxisScalePercentage); + HasXLines = graph.getResourceByURI(URIs.HasXLines); + HasXValue = graph.getResourceByURI(URIs.HasXValue); + HasYAxisMode = graph.getResourceByURI(URIs.HasYAxisMode); + HasYAxisScale = graph.getResourceByURI(URIs.HasYAxisScale); + HasYAxisScalePercentage = graph.getResourceByURI(URIs.HasYAxisScalePercentage); + HasYLines = graph.getResourceByURI(URIs.HasYLines); + HasYValue = graph.getResourceByURI(URIs.HasYValue); + HasZAxisScale = graph.getResourceByURI(URIs.HasZAxisScale); + HasZAxisScalePercentage = graph.getResourceByURI(URIs.HasZAxisScalePercentage); + HasZValue = graph.getResourceByURI(URIs.HasZValue); + IsAutoScale = graph.getResourceByURI(URIs.IsAutoScale); + IsEnabled = graph.getResourceByURI(URIs.IsEnabled); + IsPerPlotScaling = graph.getResourceByURI(URIs.IsPerPlotScaling); + IsStepwise = graph.getResourceByURI(URIs.IsStepwise); + LineMode = graph.getResourceByURI(URIs.LineMode); + LineMode_LinearInterpolation = graph.getResourceByURI(URIs.LineMode_LinearInterpolation); + LineMode_StepWise = graph.getResourceByURI(URIs.LineMode_StepWise); + ManualGrid = graph.getResourceByURI(URIs.ManualGrid); + PartOfViewConfiguration = graph.getResourceByURI(URIs.PartOfViewConfiguration); + Plot = graph.getResourceByURI(URIs.Plot); + Plot2D = graph.getResourceByURI(URIs.Plot2D); + Plot3D = graph.getResourceByURI(URIs.Plot3D); + PlotConfiguration = graph.getResourceByURI(URIs.PlotConfiguration); + Point = graph.getResourceByURI(URIs.Point); + Point2D = graph.getResourceByURI(URIs.Point2D); + Point3D = graph.getResourceByURI(URIs.Point3D); + RampValue = graph.getResourceByURI(URIs.RampValue); + ScaleMode = graph.getResourceByURI(URIs.ScaleMode); + ScaleMode_FitMinMax = graph.getResourceByURI(URIs.ScaleMode_FitMinMax); + ScaleMode_FitTimeRange = graph.getResourceByURI(URIs.ScaleMode_FitTimeRange); + SinValue = graph.getResourceByURI(URIs.SinValue); + Surface3DPlot = graph.getResourceByURI(URIs.Surface3DPlot); + Surface3DPlotConfiguration = graph.getResourceByURI(URIs.Surface3DPlotConfiguration); + Surface3DPoint = graph.getResourceByURI(URIs.Surface3DPoint); + Surface3DView = graph.getResourceByURI(URIs.Surface3DView); + Surface3DViewConfiguration = graph.getResourceByURI(URIs.Surface3DViewConfiguration); + Surface4DPlot = graph.getResourceByURI(URIs.Surface4DPlot); + Surface4DPlotConfiguration = graph.getResourceByURI(URIs.Surface4DPlotConfiguration); + Surface4DPoint = graph.getResourceByURI(URIs.Surface4DPoint); + Surface4DView = graph.getResourceByURI(URIs.Surface4DView); + Surface4DViewConfiguration = graph.getResourceByURI(URIs.Surface4DViewConfiguration); + TestDataSource = graph.getResourceByURI(URIs.TestDataSource); + TestDataValue = graph.getResourceByURI(URIs.TestDataValue); + TimePresentation = graph.getResourceByURI(URIs.TimePresentation); + TimePresentation_Absolute = graph.getResourceByURI(URIs.TimePresentation_Absolute); + TimePresentation_Relative = graph.getResourceByURI(URIs.TimePresentation_Relative); + TimeRangeConfiguration = graph.getResourceByURI(URIs.TimeRangeConfiguration); + TimeRangeView = graph.getResourceByURI(URIs.TimeRangeView); + TimeSegment = graph.getResourceByURI(URIs.TimeSegment); + TimeSeriesChart = graph.getResourceByURI(URIs.TimeSeriesChart); + TimeSliceConfiguration = graph.getResourceByURI(URIs.TimeSliceConfiguration); + TimeSliceView = graph.getResourceByURI(URIs.TimeSliceView); + TimeValue = graph.getResourceByURI(URIs.TimeValue); + Trend2DPlot = graph.getResourceByURI(URIs.Trend2DPlot); + Trend2DPlotConfiguration = graph.getResourceByURI(URIs.Trend2DPlotConfiguration); + Trend2DPoint = graph.getResourceByURI(URIs.Trend2DPoint); + Trend2DView = graph.getResourceByURI(URIs.Trend2DView); + Trend2DViewConfiguration = graph.getResourceByURI(URIs.Trend2DViewConfiguration); + Trend3DPlot = graph.getResourceByURI(URIs.Trend3DPlot); + Trend3DPlotConfiguration = graph.getResourceByURI(URIs.Trend3DPlotConfiguration); + Trend3DPoint = graph.getResourceByURI(URIs.Trend3DPoint); + Trend3DView = graph.getResourceByURI(URIs.Trend3DView); + Trend3DViewConfiguration = graph.getResourceByURI(URIs.Trend3DViewConfiguration); + Value = graph.getResourceByURI(URIs.Value); + VariableReference = graph.getResourceByURI(URIs.VariableReference); + View = graph.getResourceByURI(URIs.View); + View2D = graph.getResourceByURI(URIs.View2D); + View3D = graph.getResourceByURI(URIs.View3D); + ViewConfiguration = graph.getResourceByURI(URIs.ViewConfiguration); + VisualConfiguration = graph.getResourceByURI(URIs.VisualConfiguration); + Visualizations = graph.getResourceByURI(URIs.Visualizations); + WebmonFeature = graph.getResourceByURI(URIs.WebmonFeature); + WebmonProject = graph.getResourceByURI(URIs.WebmonProject); + Workspace = graph.getResourceByURI(URIs.Workspace); + YAxisMode = graph.getResourceByURI(URIs.YAxisMode); + YAxisMode_PlotsHaveIndividualYAxis = graph.getResourceByURI(URIs.YAxisMode_PlotsHaveIndividualYAxis); + YAxisMode_PlotsShareYAxis = graph.getResourceByURI(URIs.YAxisMode_PlotsShareYAxis); + } catch(DatabaseException e) { + throw new Layer0MissingException(e); + } + } + + public static WebmonResource getInstance(Graph graph) { + Session session = graph.getSession(); + WebmonResource ret = session.getService(typeof(WebmonResource)); + if(ret == null) { + ret = new WebmonResource(graph); + session.registerService(typeof(WebmonResource), ret); + } + return ret; + } + +} +} + diff --git a/sysdyn_ontologies/dependencies.txt b/sysdyn_ontologies/dependencies.txt new file mode 100644 index 00000000..37576309 --- /dev/null +++ b/sysdyn_ontologies/dependencies.txt @@ -0,0 +1,3 @@ +../foundation_ontologies +../2d_ontologies +../modeling_ontologies diff --git a/sysdyn_ontologies/generate_sysdyn.bat b/sysdyn_ontologies/generate_sysdyn.bat new file mode 100644 index 00000000..32293b37 --- /dev/null +++ b/sysdyn_ontologies/generate_sysdyn.bat @@ -0,0 +1,2 @@ +@echo off +call "%~dp0..\og\generate2" "%~dp0" ..\foundation_ontologies\foundation.graph ..\sysdyn_ontologies\sysdyn.graph ..\modeling_ontologies\modeling.graph ..\modeling_ontologies\devs.graph ..\webmon_ontologies\webmon.graph \ No newline at end of file diff --git a/sysdyn_ontologies/install.map b/sysdyn_ontologies/install.map new file mode 100644 index 00000000..15cfc257 --- /dev/null +++ b/sysdyn_ontologies/install.map @@ -0,0 +1 @@ +copy=org/simantics/sysdyn=../org.simantics.sysdyn.ui/src diff --git a/sysdyn_ontologies/layer0c.bin b/sysdyn_ontologies/layer0c.bin new file mode 100644 index 00000000..3aabcb7c --- /dev/null +++ b/sysdyn_ontologies/layer0c.bin @@ -0,0 +1,33 @@ +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOfNamespace 64 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasNamespaceRoot 65 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#InstanceOf 1 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Acquires 66 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SubrelationOf 2 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsAcquiredBy 67 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#InverseOf 3 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#AcquiringRelation 68 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Inherits 4 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#Ontology 69 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasName 5 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Asserts 70 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasNamespace 6 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPredicate 71 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#PartOf 7 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasObject 72 0 +b http://www.vtt.fi/Simantics/RootLibrary#Users 73 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOf 9 0 +b http://www.vtt.fi/Simantics/RootLibrary#Projects 74 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#FunctionalRelation 42 0 +b http://www.vtt.fi/Simantics/RootLibrary#Configuration 75 0 +b http://www.vtt.fi/Simantics/RootLibrary/Configuration#AgentServers 76 0 +b http://www.vtt.fi/Simantics/RootLibrary/Configuration#PublishedProjectFeatures 374 0 +b http://www.simantics.org/Ontology/Project/1.0#Project2 376 0 +b http://www.vtt.fi/Simantics#RootLibrary 56 1 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#Library 57 0 +b http://www.simantics.org/Ontology/Project/1.0#AdministrationFeature 410 0 +b http://www.vtt.fi/Simantics#DefaultUser 58 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasInstance 59 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SuperrelationOf 60 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPasswordHash 61 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#Namespace 62 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#NamespaceLibrary 63 0 diff --git a/sysdyn_ontologies/layer0c.txt b/sysdyn_ontologies/layer0c.txt new file mode 100644 index 00000000..46fb676e --- /dev/null +++ b/sysdyn_ontologies/layer0c.txt @@ -0,0 +1,16273 @@ +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOfNamespace 64 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasNamespaceRoot 65 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#InstanceOf 1 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Acquires 66 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SubrelationOf 2 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#IsAcquiredBy 67 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#InverseOf 3 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#AcquiringRelation 68 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Inherits 4 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#Ontology 69 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasName 5 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#Asserts 70 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasNamespace 6 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPredicate 71 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#PartOf 7 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasObject 72 0 +b http://www.vtt.fi/Simantics/RootLibrary#Users 73 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#ConsistsOf 9 0 +b http://www.vtt.fi/Simantics/RootLibrary#Projects 74 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#FunctionalRelation 42 0 +b http://www.vtt.fi/Simantics/RootLibrary#Configuration 75 0 +b http://www.vtt.fi/Simantics/RootLibrary/Configuration#AgentServers 76 0 +b http://www.vtt.fi/Simantics/RootLibrary/Configuration#PublishedProjectFeatures 374 0 +b http://www.simantics.org/Ontology/Project/1.0#Project2 376 0 +b http://www.vtt.fi/Simantics#RootLibrary 56 1 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#Library 57 0 +b http://www.simantics.org/Ontology/Project/1.0#AdministrationFeature 410 0 +b http://www.vtt.fi/Simantics#DefaultUser 58 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasInstance 59 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#SuperrelationOf 60 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Relations#HasPasswordHash 61 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#Namespace 62 0 +b http://www.vtt.fi/Simantics/Layer0/1.0/Types#NamespaceLibrary 63 0 +r 2048 0 9 0 2082 0 +r 2048 0 9 0 2079 0 +r 2048 0 9 0 2075 0 +r 2048 0 9 0 2074 0 +r 2048 0 9 0 2073 0 +r 2048 0 9 0 2072 0 +r 2048 0 9 0 2071 0 +r 2048 0 9 0 2070 0 +r 2048 0 9 0 2069 0 +r 2048 0 9 0 2068 0 +r 2048 0 9 0 2067 0 +r 2048 0 9 0 2065 0 +r 2048 0 9 0 2064 0 +r 2048 0 9 0 2062 0 +r 2048 0 9 0 2060 0 +r 2048 0 9 0 2059 0 +r 2048 0 9 0 2056 0 +r 2048 0 97 0 2051 0 +r 2048 0 1 0 69 0 +r 2048 0 101 0 2053 0 +r 2048 0 93 0 2052 0 +r 2048 0 5 0 2049 0 +r 2048 0 6 0 2050 0 +r 2048 0 2919 0 2054 0 +r 2048 0 7 0 89 0 +r 2048 0 7 0 77 0 +r 0 0 136 0 29 0 +r 0 0 136 0 28 0 +r 0 0 136 0 2 0 +r 0 0 104 0 125 0 +r 0 0 137 0 29 0 +r 0 0 137 0 28 0 +r 0 0 129 0 506 0 +r 0 0 129 0 491 0 +r 0 0 129 0 144 0 +r 0 0 129 0 68 0 +r 0 0 129 0 42 0 +r 0 0 2906 0 170 0 +r 0 0 2907 0 815 0 +r 0 0 2907 0 487 0 +r 0 0 2907 0 137 0 +r 0 0 2907 0 136 0 +r 0 0 2907 0 127 0 +r 0 0 2907 0 66 0 +r 0 0 2907 0 38 0 +r 0 0 2907 0 3 0 +r 0 0 2907 0 2 0 +r 0 0 59 0 131 0 +r 0 0 59 0 8 0 +r 0 0 2908 0 66 0 +r 0 0 2908 0 3 0 +r 0 0 2908 0 2 0 +r 0 0 4 0 123 0 +r 0 0 5 0 2331 0 +r 0 0 78 0 124 0 +r 0 0 7 0 50 0 +r 2049 0 2904 0 2048 0 +r 2049 0 1 0 10 0 s Sysdyn-1.0 +r 1 0 128 0 1 0 +r 1 0 2 0 110 0 +r 1 0 139 0 25 0 +r 1 0 3 0 59 0 +r 1 0 28 0 52 0 +r 1 0 5 0 2317 0 +r 1 0 7 0 53 0 +r 2050 0 2905 0 2048 0 +r 2050 0 1 0 88 0 s http://www.simantics.org/Sysdyn +r 2 0 128 0 2 0 +r 2 0 1 0 68 0 +r 2 0 66 0 115 0 +r 2 0 2 0 103 0 +r 2 0 139 0 0 0 +r 2 0 3 0 60 0 +r 2 0 28 0 0 0 +r 2 0 5 0 2339 0 +r 2 0 29 0 0 0 +r 2 0 7 0 53 0 +r 2051 0 1 0 99 0 s 1.0 +r 2051 0 2926 0 2048 0 +r 3 0 128 0 3 0 +r 3 0 1 0 42 0 +r 3 0 2 0 112 0 +r 3 0 2 0 103 0 +r 3 0 3 0 3 0 +r 3 0 28 0 0 0 +r 3 0 5 0 2316 0 +r 3 0 29 0 0 0 +r 3 0 7 0 53 0 +r 2052 0 1 0 10 0 s org.simantics.sysdyn.SysdynResource +r 2052 0 2925 0 2048 0 +r 4 0 128 0 4 0 +r 4 0 1 0 68 0 +r 4 0 66 0 115 0 +r 4 0 2 0 103 0 +r 4 0 139 0 52 0 +r 4 0 3 0 129 0 +r 4 0 28 0 52 0 +r 4 0 5 0 2353 0 +r 4 0 29 0 52 0 +r 4 0 7 0 53 0 +r 2053 0 1 0 10 0 s sysdyn +r 2053 0 2927 0 2048 0 +r 5 0 1 0 42 0 +r 5 0 2 0 94 0 +r 5 0 3 0 2904 0 +r 5 0 139 0 25 0 +r 5 0 28 0 10 0 +r 5 0 5 0 2270 0 +r 5 0 141 0 25 0 +r 5 0 126 0 191 0 +r 5 0 7 0 53 0 +r 5 0 2911 0 2066 0 +r 5 0 2911 0 1305 0 +r 5 0 2911 0 1299 0 +r 5 0 2911 0 276 0 +r 5 0 2911 0 272 0 +r 5 0 2911 0 250 0 +r 5 0 2911 0 162 0 +r 2054 0 65 0 2048 0 +r 2054 0 1 0 62 0 +r 2054 0 5 0 2103 0 +r 2054 0 6 0 2055 0 +r 2054 0 7 0 85 0 +r 6 0 1 0 42 0 +r 6 0 2 0 94 0 +r 6 0 3 0 2905 0 +r 6 0 28 0 88 0 +r 6 0 5 0 2369 0 +r 6 0 7 0 53 0 +r 6 0 2911 0 163 0 +r 6 0 2911 0 105 0 +r 2055 0 2905 0 2054 0 +r 2055 0 1 0 88 0 s http://www.simantics.org/Sysdyn +r 7 0 2 0 112 0 +r 7 0 3 0 9 0 +r 7 0 60 0 3096 0 +r 7 0 60 0 3090 0 +r 7 0 60 0 3087 0 +r 7 0 60 0 1144 0 +r 7 0 60 0 481 0 +r 7 0 60 0 200 0 +r 7 0 5 0 2252 0 +r 7 0 7 0 53 0 +r 2056 0 59 0 2082 0 +r 2056 0 27 0 2057 0 +r 2056 0 4 0 482 0 +r 2056 0 5 0 2097 0 +r 2056 0 7 0 2048 0 +r 8 0 1 0 0 0 +r 8 0 3 0 8 0 +r 8 0 60 0 3078 0 +r 8 0 60 0 3077 0 +r 8 0 60 0 3027 0 +r 8 0 60 0 2928 0 +r 8 0 60 0 1057 0 +r 8 0 60 0 1056 0 +r 8 0 60 0 1048 0 +r 8 0 60 0 1047 0 +r 8 0 60 0 1046 0 +r 8 0 60 0 1045 0 +r 8 0 60 0 1044 0 +r 8 0 60 0 1043 0 +r 8 0 60 0 1042 0 +r 8 0 60 0 1041 0 +r 8 0 60 0 1040 0 +r 8 0 60 0 1039 0 +r 8 0 60 0 1038 0 +r 8 0 60 0 1037 0 +r 8 0 60 0 1036 0 +r 8 0 60 0 1035 0 +r 8 0 60 0 1034 0 +r 8 0 60 0 1033 0 +r 8 0 60 0 1032 0 +r 8 0 60 0 1031 0 +r 8 0 60 0 740 0 +r 8 0 60 0 115 0 +r 8 0 60 0 111 0 +r 8 0 60 0 110 0 +r 8 0 5 0 2404 0 +r 8 0 7 0 53 0 +r 2057 0 40 0 2058 0 +r 2057 0 1 0 37 0 +r 2057 0 2906 0 2056 0 +r 2057 0 38 0 9 0 +r 9 0 2 0 103 0 +r 9 0 3 0 7 0 +r 9 0 139 0 431 0 +r 9 0 139 0 427 0 +r 9 0 139 0 57 0 +r 9 0 60 0 1157 0 +r 9 0 60 0 1141 0 +r 9 0 60 0 1118 0 +r 9 0 60 0 1111 0 +r 9 0 60 0 480 0 +r 9 0 60 0 64 0 +r 9 0 5 0 2303 0 +r 9 0 141 0 431 0 +r 9 0 141 0 427 0 +r 9 0 141 0 57 0 +r 9 0 7 0 53 0 +r 9 0 2911 0 2057 0 +r 9 0 2911 0 1300 0 +r 9 0 2911 0 1297 0 +r 9 0 2911 0 1079 0 +r 9 0 2911 0 925 0 +r 9 0 2911 0 922 0 +r 9 0 2911 0 883 0 +r 9 0 2911 0 880 0 +r 9 0 2911 0 699 0 +r 9 0 2911 0 483 0 +r 9 0 2911 0 429 0 +r 9 0 2911 0 425 0 +r 9 0 2911 0 377 0 +r 9 0 2911 0 182 0 +r 9 0 2911 0 180 0 +r 9 0 2911 0 176 0 +r 9 0 2911 0 172 0 +r 9 0 2911 0 169 0 +r 9 0 2911 0 167 0 +r 2058 0 2913 0 2057 0 +r 2058 0 1 0 33 0 +r 2058 0 27 0 2060 0 +r 2058 0 27 0 2059 0 +r 10 0 129 0 735 0 +r 10 0 129 0 203 0 +r 10 0 129 0 201 0 +r 10 0 129 0 196 0 +r 10 0 129 0 99 0 +r 10 0 129 0 88 0 +r 10 0 2907 0 1167 0 +r 10 0 2907 0 1162 0 +r 10 0 2907 0 1161 0 +r 10 0 2907 0 1086 0 +r 10 0 2907 0 929 0 +r 10 0 2907 0 862 0 +r 10 0 2907 0 790 0 +r 10 0 2907 0 771 0 +r 10 0 2907 0 744 0 +r 10 0 2907 0 661 0 +r 10 0 2907 0 630 0 +r 10 0 2907 0 629 0 +r 10 0 2907 0 625 0 +r 10 0 2907 0 601 0 +r 10 0 2907 0 380 0 +r 10 0 2907 0 289 0 +r 10 0 2907 0 283 0 +r 10 0 2907 0 280 0 +r 10 0 2907 0 271 0 +r 10 0 2907 0 254 0 +r 10 0 2907 0 212 0 +r 10 0 2907 0 207 0 +r 10 0 2907 0 195 0 +r 10 0 2907 0 192 0 +r 10 0 2907 0 126 0 +r 10 0 2907 0 101 0 +r 10 0 2907 0 93 0 +r 10 0 2907 0 80 0 +r 10 0 2907 0 78 0 +r 10 0 2907 0 61 0 +r 10 0 2907 0 45 0 +r 10 0 2907 0 44 0 +r 10 0 2907 0 5 0 +r 10 0 59 0 2903 0 +r 10 0 59 0 2902 0 +r 10 0 59 0 2901 0 +r 10 0 59 0 2900 0 +r 10 0 59 0 2899 0 +r 10 0 59 0 2898 0 +r 10 0 59 0 2897 0 +r 10 0 59 0 2896 0 +r 10 0 59 0 2895 0 +r 10 0 59 0 2894 0 +r 10 0 59 0 2893 0 +r 10 0 59 0 2892 0 +r 10 0 59 0 2891 0 +r 10 0 59 0 2890 0 +r 10 0 59 0 2889 0 +r 10 0 59 0 2888 0 +r 10 0 59 0 2887 0 +r 10 0 59 0 2886 0 +r 10 0 59 0 2885 0 +r 10 0 59 0 2884 0 +r 10 0 59 0 2883 0 +r 10 0 59 0 2882 0 +r 10 0 59 0 2881 0 +r 10 0 59 0 2880 0 +r 10 0 59 0 2879 0 +r 10 0 59 0 2878 0 +r 10 0 59 0 2877 0 +r 10 0 59 0 2876 0 +r 10 0 59 0 2875 0 +r 10 0 59 0 2874 0 +r 10 0 59 0 2873 0 +r 10 0 59 0 2872 0 +r 10 0 59 0 2871 0 +r 10 0 59 0 2870 0 +r 10 0 59 0 2869 0 +r 10 0 59 0 2868 0 +r 10 0 59 0 2867 0 +r 10 0 59 0 2866 0 +r 10 0 59 0 2865 0 +r 10 0 59 0 2864 0 +r 10 0 59 0 2863 0 +r 10 0 59 0 2862 0 +r 10 0 59 0 2861 0 +r 10 0 59 0 2860 0 +r 10 0 59 0 2859 0 +r 10 0 59 0 2858 0 +r 10 0 59 0 2857 0 +r 10 0 59 0 2856 0 +r 10 0 59 0 2855 0 +r 10 0 59 0 2854 0 +r 10 0 59 0 2853 0 +r 10 0 59 0 2852 0 +r 10 0 59 0 2851 0 +r 10 0 59 0 2850 0 +r 10 0 59 0 2849 0 +r 10 0 59 0 2848 0 +r 10 0 59 0 2847 0 +r 10 0 59 0 2846 0 +r 10 0 59 0 2845 0 +r 10 0 59 0 2844 0 +r 10 0 59 0 2843 0 +r 10 0 59 0 2842 0 +r 10 0 59 0 2841 0 +r 10 0 59 0 2840 0 +r 10 0 59 0 2839 0 +r 10 0 59 0 2838 0 +r 10 0 59 0 2837 0 +r 10 0 59 0 2836 0 +r 10 0 59 0 2835 0 +r 10 0 59 0 2834 0 +r 10 0 59 0 2833 0 +r 10 0 59 0 2832 0 +r 10 0 59 0 2831 0 +r 10 0 59 0 2830 0 +r 10 0 59 0 2829 0 +r 10 0 59 0 2828 0 +r 10 0 59 0 2827 0 +r 10 0 59 0 2826 0 +r 10 0 59 0 2825 0 +r 10 0 59 0 2824 0 +r 10 0 59 0 2823 0 +r 10 0 59 0 2822 0 +r 10 0 59 0 2821 0 +r 10 0 59 0 2820 0 +r 10 0 59 0 2819 0 +r 10 0 59 0 2818 0 +r 10 0 59 0 2817 0 +r 10 0 59 0 2816 0 +r 10 0 59 0 2815 0 +r 10 0 59 0 2814 0 +r 10 0 59 0 2813 0 +r 10 0 59 0 2812 0 +r 10 0 59 0 2811 0 +r 10 0 59 0 2810 0 +r 10 0 59 0 2809 0 +r 10 0 59 0 2808 0 +r 10 0 59 0 2807 0 +r 10 0 59 0 2806 0 +r 10 0 59 0 2805 0 +r 10 0 59 0 2804 0 +r 10 0 59 0 2803 0 +r 10 0 59 0 2802 0 +r 10 0 59 0 2801 0 +r 10 0 59 0 2800 0 +r 10 0 59 0 2799 0 +r 10 0 59 0 2798 0 +r 10 0 59 0 2797 0 +r 10 0 59 0 2796 0 +r 10 0 59 0 2795 0 +r 10 0 59 0 2794 0 +r 10 0 59 0 2793 0 +r 10 0 59 0 2792 0 +r 10 0 59 0 2791 0 +r 10 0 59 0 2790 0 +r 10 0 59 0 2789 0 +r 10 0 59 0 2788 0 +r 10 0 59 0 2787 0 +r 10 0 59 0 2786 0 +r 10 0 59 0 2785 0 +r 10 0 59 0 2784 0 +r 10 0 59 0 2783 0 +r 10 0 59 0 2782 0 +r 10 0 59 0 2781 0 +r 10 0 59 0 2780 0 +r 10 0 59 0 2779 0 +r 10 0 59 0 2778 0 +r 10 0 59 0 2777 0 +r 10 0 59 0 2776 0 +r 10 0 59 0 2775 0 +r 10 0 59 0 2774 0 +r 10 0 59 0 2773 0 +r 10 0 59 0 2772 0 +r 10 0 59 0 2771 0 +r 10 0 59 0 2770 0 +r 10 0 59 0 2769 0 +r 10 0 59 0 2768 0 +r 10 0 59 0 2767 0 +r 10 0 59 0 2766 0 +r 10 0 59 0 2765 0 +r 10 0 59 0 2764 0 +r 10 0 59 0 2763 0 +r 10 0 59 0 2762 0 +r 10 0 59 0 2761 0 +r 10 0 59 0 2760 0 +r 10 0 59 0 2759 0 +r 10 0 59 0 2758 0 +r 10 0 59 0 2757 0 +r 10 0 59 0 2756 0 +r 10 0 59 0 2755 0 +r 10 0 59 0 2754 0 +r 10 0 59 0 2753 0 +r 10 0 59 0 2752 0 +r 10 0 59 0 2751 0 +r 10 0 59 0 2750 0 +r 10 0 59 0 2749 0 +r 10 0 59 0 2748 0 +r 10 0 59 0 2747 0 +r 10 0 59 0 2746 0 +r 10 0 59 0 2745 0 +r 10 0 59 0 2744 0 +r 10 0 59 0 2743 0 +r 10 0 59 0 2742 0 +r 10 0 59 0 2741 0 +r 10 0 59 0 2740 0 +r 10 0 59 0 2739 0 +r 10 0 59 0 2738 0 +r 10 0 59 0 2737 0 +r 10 0 59 0 2736 0 +r 10 0 59 0 2735 0 +r 10 0 59 0 2734 0 +r 10 0 59 0 2733 0 +r 10 0 59 0 2732 0 +r 10 0 59 0 2731 0 +r 10 0 59 0 2730 0 +r 10 0 59 0 2729 0 +r 10 0 59 0 2728 0 +r 10 0 59 0 2727 0 +r 10 0 59 0 2726 0 +r 10 0 59 0 2725 0 +r 10 0 59 0 2724 0 +r 10 0 59 0 2723 0 +r 10 0 59 0 2722 0 +r 10 0 59 0 2721 0 +r 10 0 59 0 2720 0 +r 10 0 59 0 2719 0 +r 10 0 59 0 2718 0 +r 10 0 59 0 2717 0 +r 10 0 59 0 2716 0 +r 10 0 59 0 2715 0 +r 10 0 59 0 2714 0 +r 10 0 59 0 2713 0 +r 10 0 59 0 2712 0 +r 10 0 59 0 2711 0 +r 10 0 59 0 2710 0 +r 10 0 59 0 2709 0 +r 10 0 59 0 2708 0 +r 10 0 59 0 2707 0 +r 10 0 59 0 2706 0 +r 10 0 59 0 2705 0 +r 10 0 59 0 2704 0 +r 10 0 59 0 2703 0 +r 10 0 59 0 2702 0 +r 10 0 59 0 2701 0 +r 10 0 59 0 2700 0 +r 10 0 59 0 2699 0 +r 10 0 59 0 2698 0 +r 10 0 59 0 2697 0 +r 10 0 59 0 2696 0 +r 10 0 59 0 2695 0 +r 10 0 59 0 2694 0 +r 10 0 59 0 2693 0 +r 10 0 59 0 2692 0 +r 10 0 59 0 2691 0 +r 10 0 59 0 2690 0 +r 10 0 59 0 2689 0 +r 10 0 59 0 2688 0 +r 10 0 59 0 2687 0 +r 10 0 59 0 2686 0 +r 10 0 59 0 2685 0 +r 10 0 59 0 2684 0 +r 10 0 59 0 2683 0 +r 10 0 59 0 2682 0 +r 10 0 59 0 2681 0 +r 10 0 59 0 2680 0 +r 10 0 59 0 2679 0 +r 10 0 59 0 2678 0 +r 10 0 59 0 2677 0 +r 10 0 59 0 2676 0 +r 10 0 59 0 2675 0 +r 10 0 59 0 2674 0 +r 10 0 59 0 2673 0 +r 10 0 59 0 2672 0 +r 10 0 59 0 2671 0 +r 10 0 59 0 2670 0 +r 10 0 59 0 2669 0 +r 10 0 59 0 2668 0 +r 10 0 59 0 2667 0 +r 10 0 59 0 2666 0 +r 10 0 59 0 2665 0 +r 10 0 59 0 2664 0 +r 10 0 59 0 2663 0 +r 10 0 59 0 2662 0 +r 10 0 59 0 2661 0 +r 10 0 59 0 2660 0 +r 10 0 59 0 2659 0 +r 10 0 59 0 2658 0 +r 10 0 59 0 2657 0 +r 10 0 59 0 2656 0 +r 10 0 59 0 2655 0 +r 10 0 59 0 2654 0 +r 10 0 59 0 2653 0 +r 10 0 59 0 2652 0 +r 10 0 59 0 2651 0 +r 10 0 59 0 2650 0 +r 10 0 59 0 2649 0 +r 10 0 59 0 2648 0 +r 10 0 59 0 2647 0 +r 10 0 59 0 2646 0 +r 10 0 59 0 2645 0 +r 10 0 59 0 2644 0 +r 10 0 59 0 2643 0 +r 10 0 59 0 2642 0 +r 10 0 59 0 2641 0 +r 10 0 59 0 2640 0 +r 10 0 59 0 2639 0 +r 10 0 59 0 2638 0 +r 10 0 59 0 2637 0 +r 10 0 59 0 2636 0 +r 10 0 59 0 2635 0 +r 10 0 59 0 2634 0 +r 10 0 59 0 2633 0 +r 10 0 59 0 2632 0 +r 10 0 59 0 2631 0 +r 10 0 59 0 2630 0 +r 10 0 59 0 2629 0 +r 10 0 59 0 2628 0 +r 10 0 59 0 2627 0 +r 10 0 59 0 2626 0 +r 10 0 59 0 2625 0 +r 10 0 59 0 2624 0 +r 10 0 59 0 2623 0 +r 10 0 59 0 2622 0 +r 10 0 59 0 2621 0 +r 10 0 59 0 2620 0 +r 10 0 59 0 2619 0 +r 10 0 59 0 2618 0 +r 10 0 59 0 2617 0 +r 10 0 59 0 2616 0 +r 10 0 59 0 2615 0 +r 10 0 59 0 2614 0 +r 10 0 59 0 2613 0 +r 10 0 59 0 2612 0 +r 10 0 59 0 2611 0 +r 10 0 59 0 2610 0 +r 10 0 59 0 2609 0 +r 10 0 59 0 2608 0 +r 10 0 59 0 2607 0 +r 10 0 59 0 2606 0 +r 10 0 59 0 2605 0 +r 10 0 59 0 2604 0 +r 10 0 59 0 2603 0 +r 10 0 59 0 2602 0 +r 10 0 59 0 2601 0 +r 10 0 59 0 2600 0 +r 10 0 59 0 2599 0 +r 10 0 59 0 2598 0 +r 10 0 59 0 2597 0 +r 10 0 59 0 2596 0 +r 10 0 59 0 2595 0 +r 10 0 59 0 2594 0 +r 10 0 59 0 2593 0 +r 10 0 59 0 2592 0 +r 10 0 59 0 2591 0 +r 10 0 59 0 2590 0 +r 10 0 59 0 2589 0 +r 10 0 59 0 2588 0 +r 10 0 59 0 2587 0 +r 10 0 59 0 2586 0 +r 10 0 59 0 2585 0 +r 10 0 59 0 2584 0 +r 10 0 59 0 2583 0 +r 10 0 59 0 2582 0 +r 10 0 59 0 2581 0 +r 10 0 59 0 2580 0 +r 10 0 59 0 2579 0 +r 10 0 59 0 2578 0 +r 10 0 59 0 2577 0 +r 10 0 59 0 2576 0 +r 10 0 59 0 2575 0 +r 10 0 59 0 2574 0 +r 10 0 59 0 2573 0 +r 10 0 59 0 2572 0 +r 10 0 59 0 2571 0 +r 10 0 59 0 2570 0 +r 10 0 59 0 2569 0 +r 10 0 59 0 2568 0 +r 10 0 59 0 2567 0 +r 10 0 59 0 2566 0 +r 10 0 59 0 2565 0 +r 10 0 59 0 2564 0 +r 10 0 59 0 2563 0 +r 10 0 59 0 2562 0 +r 10 0 59 0 2561 0 +r 10 0 59 0 2560 0 +r 10 0 59 0 2559 0 +r 10 0 59 0 2558 0 +r 10 0 59 0 2557 0 +r 10 0 59 0 2556 0 +r 10 0 59 0 2555 0 +r 10 0 59 0 2554 0 +r 10 0 59 0 2553 0 +r 10 0 59 0 2552 0 +r 10 0 59 0 2551 0 +r 10 0 59 0 2550 0 +r 10 0 59 0 2549 0 +r 10 0 59 0 2548 0 +r 10 0 59 0 2547 0 +r 10 0 59 0 2546 0 +r 10 0 59 0 2545 0 +r 10 0 59 0 2544 0 +r 10 0 59 0 2543 0 +r 10 0 59 0 2542 0 +r 10 0 59 0 2541 0 +r 10 0 59 0 2540 0 +r 10 0 59 0 2539 0 +r 10 0 59 0 2538 0 +r 10 0 59 0 2537 0 +r 10 0 59 0 2536 0 +r 10 0 59 0 2535 0 +r 10 0 59 0 2534 0 +r 10 0 59 0 2533 0 +r 10 0 59 0 2532 0 +r 10 0 59 0 2531 0 +r 10 0 59 0 2530 0 +r 10 0 59 0 2529 0 +r 10 0 59 0 2528 0 +r 10 0 59 0 2527 0 +r 10 0 59 0 2526 0 +r 10 0 59 0 2525 0 +r 10 0 59 0 2524 0 +r 10 0 59 0 2523 0 +r 10 0 59 0 2522 0 +r 10 0 59 0 2521 0 +r 10 0 59 0 2520 0 +r 10 0 59 0 2519 0 +r 10 0 59 0 2518 0 +r 10 0 59 0 2517 0 +r 10 0 59 0 2516 0 +r 10 0 59 0 2515 0 +r 10 0 59 0 2514 0 +r 10 0 59 0 2513 0 +r 10 0 59 0 2512 0 +r 10 0 59 0 2511 0 +r 10 0 59 0 2510 0 +r 10 0 59 0 2509 0 +r 10 0 59 0 2508 0 +r 10 0 59 0 2507 0 +r 10 0 59 0 2506 0 +r 10 0 59 0 2505 0 +r 10 0 59 0 2504 0 +r 10 0 59 0 2503 0 +r 10 0 59 0 2502 0 +r 10 0 59 0 2501 0 +r 10 0 59 0 2500 0 +r 10 0 59 0 2499 0 +r 10 0 59 0 2498 0 +r 10 0 59 0 2497 0 +r 10 0 59 0 2496 0 +r 10 0 59 0 2495 0 +r 10 0 59 0 2494 0 +r 10 0 59 0 2493 0 +r 10 0 59 0 2492 0 +r 10 0 59 0 2491 0 +r 10 0 59 0 2490 0 +r 10 0 59 0 2489 0 +r 10 0 59 0 2488 0 +r 10 0 59 0 2487 0 +r 10 0 59 0 2486 0 +r 10 0 59 0 2485 0 +r 10 0 59 0 2484 0 +r 10 0 59 0 2483 0 +r 10 0 59 0 2482 0 +r 10 0 59 0 2481 0 +r 10 0 59 0 2480 0 +r 10 0 59 0 2479 0 +r 10 0 59 0 2478 0 +r 10 0 59 0 2477 0 +r 10 0 59 0 2476 0 +r 10 0 59 0 2475 0 +r 10 0 59 0 2474 0 +r 10 0 59 0 2473 0 +r 10 0 59 0 2472 0 +r 10 0 59 0 2471 0 +r 10 0 59 0 2470 0 +r 10 0 59 0 2469 0 +r 10 0 59 0 2468 0 +r 10 0 59 0 2467 0 +r 10 0 59 0 2466 0 +r 10 0 59 0 2465 0 +r 10 0 59 0 2464 0 +r 10 0 59 0 2463 0 +r 10 0 59 0 2462 0 +r 10 0 59 0 2461 0 +r 10 0 59 0 2460 0 +r 10 0 59 0 2459 0 +r 10 0 59 0 2458 0 +r 10 0 59 0 2457 0 +r 10 0 59 0 2456 0 +r 10 0 59 0 2455 0 +r 10 0 59 0 2454 0 +r 10 0 59 0 2453 0 +r 10 0 59 0 2452 0 +r 10 0 59 0 2451 0 +r 10 0 59 0 2450 0 +r 10 0 59 0 2449 0 +r 10 0 59 0 2448 0 +r 10 0 59 0 2447 0 +r 10 0 59 0 2446 0 +r 10 0 59 0 2445 0 +r 10 0 59 0 2444 0 +r 10 0 59 0 2443 0 +r 10 0 59 0 2442 0 +r 10 0 59 0 2441 0 +r 10 0 59 0 2440 0 +r 10 0 59 0 2439 0 +r 10 0 59 0 2438 0 +r 10 0 59 0 2437 0 +r 10 0 59 0 2436 0 +r 10 0 59 0 2435 0 +r 10 0 59 0 2434 0 +r 10 0 59 0 2433 0 +r 10 0 59 0 2432 0 +r 10 0 59 0 2431 0 +r 10 0 59 0 2430 0 +r 10 0 59 0 2429 0 +r 10 0 59 0 2428 0 +r 10 0 59 0 2427 0 +r 10 0 59 0 2426 0 +r 10 0 59 0 2425 0 +r 10 0 59 0 2424 0 +r 10 0 59 0 2423 0 +r 10 0 59 0 2422 0 +r 10 0 59 0 2421 0 +r 10 0 59 0 2420 0 +r 10 0 59 0 2419 0 +r 10 0 59 0 2418 0 +r 10 0 59 0 2417 0 +r 10 0 59 0 2416 0 +r 10 0 59 0 2415 0 +r 10 0 59 0 2414 0 +r 10 0 59 0 2413 0 +r 10 0 59 0 2412 0 +r 10 0 59 0 2411 0 +r 10 0 59 0 2410 0 +r 10 0 59 0 2409 0 +r 10 0 59 0 2408 0 +r 10 0 59 0 2407 0 +r 10 0 59 0 2406 0 +r 10 0 59 0 2405 0 +r 10 0 59 0 2404 0 +r 10 0 59 0 2403 0 +r 10 0 59 0 2402 0 +r 10 0 59 0 2401 0 +r 10 0 59 0 2400 0 +r 10 0 59 0 2399 0 +r 10 0 59 0 2398 0 +r 10 0 59 0 2397 0 +r 10 0 59 0 2396 0 +r 10 0 59 0 2395 0 +r 10 0 59 0 2394 0 +r 10 0 59 0 2393 0 +r 10 0 59 0 2392 0 +r 10 0 59 0 2391 0 +r 10 0 59 0 2390 0 +r 10 0 59 0 2389 0 +r 10 0 59 0 2388 0 +r 10 0 59 0 2387 0 +r 10 0 59 0 2386 0 +r 10 0 59 0 2385 0 +r 10 0 59 0 2384 0 +r 10 0 59 0 2383 0 +r 10 0 59 0 2382 0 +r 10 0 59 0 2381 0 +r 10 0 59 0 2380 0 +r 10 0 59 0 2379 0 +r 10 0 59 0 2378 0 +r 10 0 59 0 2377 0 +r 10 0 59 0 2376 0 +r 10 0 59 0 2375 0 +r 10 0 59 0 2374 0 +r 10 0 59 0 2373 0 +r 10 0 59 0 2372 0 +r 10 0 59 0 2371 0 +r 10 0 59 0 2370 0 +r 10 0 59 0 2369 0 +r 10 0 59 0 2368 0 +r 10 0 59 0 2367 0 +r 10 0 59 0 2366 0 +r 10 0 59 0 2365 0 +r 10 0 59 0 2364 0 +r 10 0 59 0 2363 0 +r 10 0 59 0 2362 0 +r 10 0 59 0 2361 0 +r 10 0 59 0 2360 0 +r 10 0 59 0 2359 0 +r 10 0 59 0 2358 0 +r 10 0 59 0 2357 0 +r 10 0 59 0 2356 0 +r 10 0 59 0 2355 0 +r 10 0 59 0 2354 0 +r 10 0 59 0 2353 0 +r 10 0 59 0 2352 0 +r 10 0 59 0 2351 0 +r 10 0 59 0 2350 0 +r 10 0 59 0 2349 0 +r 10 0 59 0 2348 0 +r 10 0 59 0 2347 0 +r 10 0 59 0 2346 0 +r 10 0 59 0 2345 0 +r 10 0 59 0 2344 0 +r 10 0 59 0 2343 0 +r 10 0 59 0 2342 0 +r 10 0 59 0 2341 0 +r 10 0 59 0 2340 0 +r 10 0 59 0 2339 0 +r 10 0 59 0 2338 0 +r 10 0 59 0 2337 0 +r 10 0 59 0 2336 0 +r 10 0 59 0 2335 0 +r 10 0 59 0 2334 0 +r 10 0 59 0 2333 0 +r 10 0 59 0 2332 0 +r 10 0 59 0 2331 0 +r 10 0 59 0 2330 0 +r 10 0 59 0 2329 0 +r 10 0 59 0 2328 0 +r 10 0 59 0 2327 0 +r 10 0 59 0 2326 0 +r 10 0 59 0 2325 0 +r 10 0 59 0 2324 0 +r 10 0 59 0 2323 0 +r 10 0 59 0 2322 0 +r 10 0 59 0 2321 0 +r 10 0 59 0 2320 0 +r 10 0 59 0 2319 0 +r 10 0 59 0 2318 0 +r 10 0 59 0 2317 0 +r 10 0 59 0 2316 0 +r 10 0 59 0 2315 0 +r 10 0 59 0 2314 0 +r 10 0 59 0 2313 0 +r 10 0 59 0 2312 0 +r 10 0 59 0 2311 0 +r 10 0 59 0 2310 0 +r 10 0 59 0 2309 0 +r 10 0 59 0 2308 0 +r 10 0 59 0 2307 0 +r 10 0 59 0 2306 0 +r 10 0 59 0 2305 0 +r 10 0 59 0 2304 0 +r 10 0 59 0 2303 0 +r 10 0 59 0 2302 0 +r 10 0 59 0 2301 0 +r 10 0 59 0 2300 0 +r 10 0 59 0 2299 0 +r 10 0 59 0 2298 0 +r 10 0 59 0 2297 0 +r 10 0 59 0 2296 0 +r 10 0 59 0 2295 0 +r 10 0 59 0 2294 0 +r 10 0 59 0 2293 0 +r 10 0 59 0 2292 0 +r 10 0 59 0 2291 0 +r 10 0 59 0 2290 0 +r 10 0 59 0 2289 0 +r 10 0 59 0 2288 0 +r 10 0 59 0 2287 0 +r 10 0 59 0 2286 0 +r 10 0 59 0 2285 0 +r 10 0 59 0 2284 0 +r 10 0 59 0 2283 0 +r 10 0 59 0 2282 0 +r 10 0 59 0 2281 0 +r 10 0 59 0 2280 0 +r 10 0 59 0 2279 0 +r 10 0 59 0 2278 0 +r 10 0 59 0 2277 0 +r 10 0 59 0 2276 0 +r 10 0 59 0 2275 0 +r 10 0 59 0 2274 0 +r 10 0 59 0 2273 0 +r 10 0 59 0 2272 0 +r 10 0 59 0 2271 0 +r 10 0 59 0 2270 0 +r 10 0 59 0 2269 0 +r 10 0 59 0 2268 0 +r 10 0 59 0 2267 0 +r 10 0 59 0 2266 0 +r 10 0 59 0 2265 0 +r 10 0 59 0 2264 0 +r 10 0 59 0 2263 0 +r 10 0 59 0 2262 0 +r 10 0 59 0 2261 0 +r 10 0 59 0 2260 0 +r 10 0 59 0 2259 0 +r 10 0 59 0 2258 0 +r 10 0 59 0 2257 0 +r 10 0 59 0 2256 0 +r 10 0 59 0 2255 0 +r 10 0 59 0 2254 0 +r 10 0 59 0 2253 0 +r 10 0 59 0 2252 0 +r 10 0 59 0 2251 0 +r 10 0 59 0 2250 0 +r 10 0 59 0 2249 0 +r 10 0 59 0 2248 0 +r 10 0 59 0 2247 0 +r 10 0 59 0 2246 0 +r 10 0 59 0 2245 0 +r 10 0 59 0 2244 0 +r 10 0 59 0 2243 0 +r 10 0 59 0 2242 0 +r 10 0 59 0 2241 0 +r 10 0 59 0 2240 0 +r 10 0 59 0 2239 0 +r 10 0 59 0 2238 0 +r 10 0 59 0 2237 0 +r 10 0 59 0 2236 0 +r 10 0 59 0 2235 0 +r 10 0 59 0 2234 0 +r 10 0 59 0 2233 0 +r 10 0 59 0 2232 0 +r 10 0 59 0 2231 0 +r 10 0 59 0 2230 0 +r 10 0 59 0 2229 0 +r 10 0 59 0 2228 0 +r 10 0 59 0 2227 0 +r 10 0 59 0 2226 0 +r 10 0 59 0 2225 0 +r 10 0 59 0 2224 0 +r 10 0 59 0 2223 0 +r 10 0 59 0 2222 0 +r 10 0 59 0 2221 0 +r 10 0 59 0 2220 0 +r 10 0 59 0 2219 0 +r 10 0 59 0 2218 0 +r 10 0 59 0 2217 0 +r 10 0 59 0 2216 0 +r 10 0 59 0 2215 0 +r 10 0 59 0 2214 0 +r 10 0 59 0 2213 0 +r 10 0 59 0 2212 0 +r 10 0 59 0 2211 0 +r 10 0 59 0 2210 0 +r 10 0 59 0 2209 0 +r 10 0 59 0 2208 0 +r 10 0 59 0 2207 0 +r 10 0 59 0 2206 0 +r 10 0 59 0 2205 0 +r 10 0 59 0 2204 0 +r 10 0 59 0 2203 0 +r 10 0 59 0 2202 0 +r 10 0 59 0 2201 0 +r 10 0 59 0 2200 0 +r 10 0 59 0 2199 0 +r 10 0 59 0 2198 0 +r 10 0 59 0 2197 0 +r 10 0 59 0 2196 0 +r 10 0 59 0 2195 0 +r 10 0 59 0 2194 0 +r 10 0 59 0 2193 0 +r 10 0 59 0 2192 0 +r 10 0 59 0 2191 0 +r 10 0 59 0 2190 0 +r 10 0 59 0 2189 0 +r 10 0 59 0 2188 0 +r 10 0 59 0 2187 0 +r 10 0 59 0 2186 0 +r 10 0 59 0 2185 0 +r 10 0 59 0 2184 0 +r 10 0 59 0 2183 0 +r 10 0 59 0 2182 0 +r 10 0 59 0 2181 0 +r 10 0 59 0 2180 0 +r 10 0 59 0 2179 0 +r 10 0 59 0 2178 0 +r 10 0 59 0 2177 0 +r 10 0 59 0 2176 0 +r 10 0 59 0 2175 0 +r 10 0 59 0 2174 0 +r 10 0 59 0 2173 0 +r 10 0 59 0 2172 0 +r 10 0 59 0 2171 0 +r 10 0 59 0 2170 0 +r 10 0 59 0 2169 0 +r 10 0 59 0 2168 0 +r 10 0 59 0 2167 0 +r 10 0 59 0 2166 0 +r 10 0 59 0 2165 0 +r 10 0 59 0 2164 0 +r 10 0 59 0 2163 0 +r 10 0 59 0 2162 0 +r 10 0 59 0 2161 0 +r 10 0 59 0 2160 0 +r 10 0 59 0 2159 0 +r 10 0 59 0 2158 0 +r 10 0 59 0 2157 0 +r 10 0 59 0 2156 0 +r 10 0 59 0 2155 0 +r 10 0 59 0 2154 0 +r 10 0 59 0 2153 0 +r 10 0 59 0 2152 0 +r 10 0 59 0 2151 0 +r 10 0 59 0 2150 0 +r 10 0 59 0 2149 0 +r 10 0 59 0 2148 0 +r 10 0 59 0 2147 0 +r 10 0 59 0 2146 0 +r 10 0 59 0 2145 0 +r 10 0 59 0 2144 0 +r 10 0 59 0 2143 0 +r 10 0 59 0 2142 0 +r 10 0 59 0 2141 0 +r 10 0 59 0 2140 0 +r 10 0 59 0 2139 0 +r 10 0 59 0 2138 0 +r 10 0 59 0 2137 0 +r 10 0 59 0 2136 0 +r 10 0 59 0 2135 0 +r 10 0 59 0 2134 0 +r 10 0 59 0 2133 0 +r 10 0 59 0 2132 0 +r 10 0 59 0 2131 0 +r 10 0 59 0 2130 0 +r 10 0 59 0 2129 0 +r 10 0 59 0 2128 0 +r 10 0 59 0 2127 0 +r 10 0 59 0 2126 0 +r 10 0 59 0 2125 0 +r 10 0 59 0 2124 0 +r 10 0 59 0 2123 0 +r 10 0 59 0 2122 0 +r 10 0 59 0 2121 0 +r 10 0 59 0 2120 0 +r 10 0 59 0 2119 0 +r 10 0 59 0 2118 0 +r 10 0 59 0 2117 0 +r 10 0 59 0 2116 0 +r 10 0 59 0 2115 0 +r 10 0 59 0 2114 0 +r 10 0 59 0 2113 0 +r 10 0 59 0 2112 0 +r 10 0 59 0 2111 0 +r 10 0 59 0 2110 0 +r 10 0 59 0 2109 0 +r 10 0 59 0 2108 0 +r 10 0 59 0 2107 0 +r 10 0 59 0 2106 0 +r 10 0 59 0 2105 0 +r 10 0 59 0 2104 0 +r 10 0 59 0 2103 0 +r 10 0 59 0 2102 0 +r 10 0 59 0 2101 0 +r 10 0 59 0 2100 0 +r 10 0 59 0 2099 0 +r 10 0 59 0 2098 0 +r 10 0 59 0 2097 0 +r 10 0 59 0 2096 0 +r 10 0 59 0 2095 0 +r 10 0 59 0 2094 0 +r 10 0 59 0 2093 0 +r 10 0 59 0 2092 0 +r 10 0 59 0 2091 0 +r 10 0 59 0 2053 0 +r 10 0 59 0 2052 0 +r 10 0 59 0 2049 0 +r 10 0 59 0 2035 0 +r 10 0 59 0 2016 0 +r 10 0 59 0 1998 0 +r 10 0 59 0 1983 0 +r 10 0 59 0 1961 0 +r 10 0 59 0 1935 0 +r 10 0 59 0 1916 0 +r 10 0 59 0 1897 0 +r 10 0 59 0 1881 0 +r 10 0 59 0 1867 0 +r 10 0 59 0 1853 0 +r 10 0 59 0 1831 0 +r 10 0 59 0 1808 0 +r 10 0 59 0 1785 0 +r 10 0 59 0 1773 0 +r 10 0 59 0 1757 0 +r 10 0 59 0 1751 0 +r 10 0 59 0 1744 0 +r 10 0 59 0 1728 0 +r 10 0 59 0 1708 0 +r 10 0 59 0 1686 0 +r 10 0 59 0 1666 0 +r 10 0 59 0 1650 0 +r 10 0 59 0 1635 0 +r 10 0 59 0 1613 0 +r 10 0 59 0 1590 0 +r 10 0 59 0 1567 0 +r 10 0 59 0 1547 0 +r 10 0 59 0 1527 0 +r 10 0 59 0 1507 0 +r 10 0 59 0 1487 0 +r 10 0 59 0 1467 0 +r 10 0 59 0 1435 0 +r 10 0 59 0 1408 0 +r 10 0 59 0 1395 0 +r 10 0 59 0 1362 0 +r 10 0 59 0 1357 0 +r 10 0 59 0 1356 0 +r 10 0 59 0 1348 0 +r 10 0 59 0 1337 0 +r 10 0 59 0 1332 0 +r 10 0 59 0 1327 0 +r 10 0 59 0 1323 0 +r 10 0 59 0 1319 0 +r 10 0 59 0 1270 0 +r 10 0 59 0 1268 0 +r 10 0 59 0 1266 0 +r 10 0 59 0 1264 0 +r 10 0 59 0 1262 0 +r 10 0 59 0 1215 0 +r 10 0 59 0 1213 0 +r 10 0 59 0 1211 0 +r 10 0 59 0 1209 0 +r 10 0 59 0 1201 0 +r 10 0 59 0 1199 0 +r 10 0 59 0 1197 0 +r 10 0 59 0 1195 0 +r 10 0 59 0 1193 0 +r 10 0 59 0 1191 0 +r 10 0 59 0 1105 0 +r 10 0 59 0 1104 0 +r 10 0 59 0 1102 0 +r 10 0 59 0 1101 0 +r 10 0 59 0 1097 0 +r 10 0 59 0 1094 0 +r 10 0 59 0 1093 0 +r 10 0 59 0 1090 0 +r 10 0 59 0 1053 0 +r 10 0 59 0 1024 0 +r 10 0 59 0 1023 0 +r 10 0 59 0 1017 0 +r 10 0 59 0 1014 0 +r 10 0 59 0 1000 0 +r 10 0 59 0 998 0 +r 10 0 59 0 968 0 +r 10 0 59 0 959 0 +r 10 0 59 0 957 0 +r 10 0 59 0 954 0 +r 10 0 59 0 948 0 +r 10 0 59 0 942 0 +r 10 0 59 0 938 0 +r 10 0 59 0 935 0 +r 10 0 59 0 930 0 +r 10 0 59 0 928 0 +r 10 0 59 0 900 0 +r 10 0 59 0 899 0 +r 10 0 59 0 896 0 +r 10 0 59 0 892 0 +r 10 0 59 0 890 0 +r 10 0 59 0 887 0 +r 10 0 59 0 873 0 +r 10 0 59 0 865 0 +r 10 0 59 0 863 0 +r 10 0 59 0 853 0 +r 10 0 59 0 842 0 +r 10 0 59 0 839 0 +r 10 0 59 0 838 0 +r 10 0 59 0 835 0 +r 10 0 59 0 730 0 +r 10 0 59 0 705 0 +r 10 0 59 0 686 0 +r 10 0 59 0 684 0 +r 10 0 59 0 681 0 +r 10 0 59 0 674 0 +r 10 0 59 0 671 0 +r 10 0 59 0 670 0 +r 10 0 59 0 667 0 +r 10 0 59 0 662 0 +r 10 0 59 0 656 0 +r 10 0 59 0 646 0 +r 10 0 59 0 644 0 +r 10 0 59 0 641 0 +r 10 0 59 0 638 0 +r 10 0 59 0 627 0 +r 10 0 59 0 626 0 +r 10 0 59 0 616 0 +r 10 0 59 0 614 0 +r 10 0 59 0 612 0 +r 10 0 59 0 610 0 +r 10 0 59 0 608 0 +r 10 0 59 0 599 0 +r 10 0 59 0 597 0 +r 10 0 59 0 595 0 +r 10 0 59 0 568 0 +r 10 0 59 0 562 0 +r 10 0 59 0 550 0 +r 10 0 59 0 546 0 +r 10 0 59 0 544 0 +r 10 0 59 0 542 0 +r 10 0 59 0 541 0 +r 10 0 59 0 539 0 +r 10 0 59 0 537 0 +r 10 0 59 0 536 0 +r 10 0 59 0 532 0 +r 10 0 59 0 531 0 +r 10 0 59 0 528 0 +r 10 0 59 0 502 0 +r 10 0 59 0 500 0 +r 10 0 59 0 499 0 +r 10 0 59 0 484 0 +r 10 0 59 0 478 0 +r 10 0 59 0 475 0 +r 10 0 59 0 470 0 +r 10 0 59 0 463 0 +r 10 0 59 0 462 0 +r 10 0 59 0 459 0 +r 10 0 59 0 457 0 +r 10 0 59 0 456 0 +r 10 0 59 0 451 0 +r 10 0 59 0 449 0 +r 10 0 59 0 448 0 +r 10 0 59 0 445 0 +r 10 0 59 0 443 0 +r 10 0 59 0 421 0 +r 10 0 59 0 420 0 +r 10 0 59 0 417 0 +r 10 0 59 0 416 0 +r 10 0 59 0 413 0 +r 10 0 59 0 411 0 +r 10 0 59 0 407 0 +r 10 0 59 0 406 0 +r 10 0 59 0 404 0 +r 10 0 59 0 403 0 +r 10 0 59 0 399 0 +r 10 0 59 0 393 0 +r 10 0 59 0 391 0 +r 10 0 59 0 385 0 +r 10 0 59 0 382 0 +r 10 0 59 0 372 0 +r 10 0 59 0 370 0 +r 10 0 59 0 367 0 +r 10 0 59 0 363 0 +r 10 0 59 0 360 0 +r 10 0 59 0 357 0 +r 10 0 59 0 353 0 +r 10 0 59 0 351 0 +r 10 0 59 0 340 0 +r 10 0 59 0 339 0 +r 10 0 59 0 338 0 +r 10 0 59 0 336 0 +r 10 0 59 0 291 0 +r 10 0 59 0 290 0 +r 10 0 59 0 264 0 +r 10 0 59 0 263 0 +r 10 0 59 0 262 0 +r 10 0 59 0 261 0 +r 10 0 59 0 258 0 +r 10 0 59 0 257 0 +r 10 0 59 0 256 0 +r 10 0 59 0 255 0 +r 10 0 59 0 233 0 +r 10 0 59 0 232 0 +r 10 0 59 0 231 0 +r 10 0 59 0 230 0 +r 10 0 59 0 209 0 +r 10 0 59 0 199 0 +r 10 0 59 0 197 0 +r 10 0 59 0 194 0 +r 10 0 59 0 193 0 +r 10 0 59 0 191 0 +r 10 0 59 0 186 0 +r 10 0 59 0 166 0 +r 10 0 59 0 149 0 +r 10 0 59 0 148 0 +r 10 0 59 0 147 0 +r 10 0 59 0 146 0 +r 10 0 59 0 124 0 +r 10 0 59 0 122 0 +r 10 0 59 0 119 0 +r 10 0 59 0 117 0 +r 10 0 59 0 102 0 +r 10 0 59 0 100 0 +r 10 0 59 0 95 0 +r 10 0 59 0 92 0 +r 10 0 59 0 90 0 +r 10 0 59 0 84 0 +r 10 0 59 0 82 0 +r 10 0 59 0 81 0 +r 10 0 59 0 79 0 +r 10 0 59 0 54 0 +r 10 0 59 0 51 0 +r 10 0 59 0 47 0 +r 10 0 4 0 189 0 +r 10 0 5 0 2240 0 +r 10 0 7 0 50 0 +r 2059 0 104 0 2063 0 +r 2059 0 104 0 2061 0 +r 2059 0 129 0 2065 0 +r 2059 0 2906 0 2058 0 +r 2059 0 2908 0 2074 0 +r 2059 0 2908 0 2072 0 +r 2059 0 4 0 466 0 +r 2059 0 5 0 2107 0 +r 2059 0 7 0 2048 0 +r 11 0 129 0 211 0 +r 11 0 2907 0 1378 0 +r 11 0 2907 0 1187 0 +r 11 0 2907 0 1183 0 +r 11 0 2907 0 872 0 +r 11 0 2907 0 871 0 +r 11 0 2907 0 848 0 +r 11 0 2907 0 847 0 +r 11 0 2907 0 788 0 +r 11 0 2907 0 786 0 +r 11 0 2907 0 767 0 +r 11 0 2907 0 762 0 +r 11 0 2907 0 605 0 +r 11 0 2907 0 556 0 +r 11 0 2907 0 348 0 +r 11 0 2907 0 346 0 +r 11 0 59 0 364 0 +r 11 0 59 0 361 0 +r 11 0 59 0 359 0 +r 11 0 59 0 358 0 +r 11 0 59 0 355 0 +r 11 0 59 0 354 0 +r 11 0 59 0 352 0 +r 11 0 4 0 190 0 +r 11 0 5 0 2372 0 +r 11 0 7 0 50 0 +r 2060 0 104 0 2078 0 +r 2060 0 104 0 2077 0 +r 2060 0 104 0 2076 0 +r 2060 0 2906 0 2058 0 +r 2060 0 2907 0 2074 0 +r 2060 0 2907 0 2072 0 +r 2060 0 59 0 2089 0 +r 2060 0 4 0 503 0 +r 2060 0 5 0 2108 0 +r 2060 0 7 0 2048 0 +r 12 0 129 0 540 0 +r 12 0 129 0 208 0 +r 12 0 2907 0 2071 0 +r 12 0 2907 0 2064 0 +r 12 0 2907 0 2062 0 +r 12 0 2907 0 1386 0 +r 12 0 2907 0 1384 0 +r 12 0 2907 0 1383 0 +r 12 0 2907 0 1382 0 +r 12 0 2907 0 1381 0 +r 12 0 2907 0 1379 0 +r 12 0 2907 0 1346 0 +r 12 0 2907 0 1344 0 +r 12 0 2907 0 1341 0 +r 12 0 2907 0 1317 0 +r 12 0 2907 0 1315 0 +r 12 0 2907 0 1283 0 +r 12 0 2907 0 1282 0 +r 12 0 2907 0 1281 0 +r 12 0 2907 0 1178 0 +r 12 0 2907 0 1177 0 +r 12 0 2907 0 1176 0 +r 12 0 2907 0 1168 0 +r 12 0 2907 0 1153 0 +r 12 0 2907 0 1147 0 +r 12 0 2907 0 927 0 +r 12 0 2907 0 920 0 +r 12 0 2907 0 850 0 +r 12 0 2907 0 849 0 +r 12 0 2907 0 807 0 +r 12 0 2907 0 805 0 +r 12 0 2907 0 781 0 +r 12 0 2907 0 778 0 +r 12 0 2907 0 711 0 +r 12 0 2907 0 709 0 +r 12 0 2907 0 707 0 +r 12 0 2907 0 690 0 +r 12 0 2907 0 653 0 +r 12 0 2907 0 589 0 +r 12 0 2907 0 554 0 +r 12 0 2907 0 159 0 +r 12 0 59 0 2090 0 +r 12 0 59 0 2088 0 +r 12 0 59 0 2087 0 +r 12 0 59 0 2085 0 +r 12 0 59 0 2084 0 +r 12 0 59 0 1977 0 +r 12 0 59 0 1955 0 +r 12 0 59 0 1952 0 +r 12 0 59 0 1929 0 +r 12 0 59 0 1875 0 +r 12 0 59 0 1767 0 +r 12 0 59 0 1764 0 +r 12 0 59 0 1738 0 +r 12 0 59 0 1735 0 +r 12 0 59 0 1722 0 +r 12 0 59 0 1719 0 +r 12 0 59 0 1702 0 +r 12 0 59 0 1629 0 +r 12 0 59 0 1607 0 +r 12 0 59 0 1584 0 +r 12 0 59 0 1389 0 +r 12 0 59 0 1291 0 +r 12 0 59 0 1290 0 +r 12 0 59 0 1289 0 +r 12 0 4 0 190 0 +r 12 0 5 0 2295 0 +r 12 0 7 0 50 0 +r 2061 0 1 0 106 0 +r 2061 0 365 0 2059 0 +r 2061 0 38 0 2062 0 +r 2061 0 39 0 107 0 +r 13 0 129 0 210 0 +r 13 0 2907 0 576 0 +r 13 0 2907 0 574 0 +r 13 0 2907 0 572 0 +r 13 0 2907 0 566 0 +r 13 0 59 0 660 0 +r 13 0 59 0 659 0 +r 13 0 59 0 657 0 +r 13 0 4 0 190 0 +r 13 0 5 0 2241 0 +r 13 0 7 0 50 0 +r 2062 0 2 0 94 0 +r 2062 0 3 0 3278 0 +r 2062 0 28 0 12 0 +r 2062 0 5 0 2105 0 +r 2062 0 7 0 2048 0 +r 2062 0 2911 0 2061 0 +r 14 0 2907 0 1385 0 +r 14 0 2907 0 1380 0 +r 14 0 2907 0 1276 0 +r 14 0 2907 0 1274 0 +r 14 0 2907 0 1186 0 +r 14 0 2907 0 1185 0 +r 14 0 2907 0 1184 0 +r 14 0 2907 0 1175 0 +r 14 0 2907 0 1081 0 +r 14 0 2907 0 996 0 +r 14 0 59 0 2010 0 +r 14 0 59 0 1847 0 +r 14 0 59 0 1825 0 +r 14 0 59 0 1802 0 +r 14 0 59 0 1279 0 +r 14 0 59 0 1278 0 +r 14 0 59 0 1082 0 +r 14 0 59 0 337 0 +r 14 0 59 0 335 0 +r 14 0 4 0 189 0 +r 14 0 5 0 2400 0 +r 14 0 7 0 50 0 +r 2063 0 1 0 106 0 +r 2063 0 365 0 2059 0 +r 2063 0 38 0 2064 0 +r 2063 0 39 0 107 0 +r 15 0 2907 0 743 0 +r 15 0 4 0 190 0 +r 15 0 5 0 2435 0 +r 15 0 7 0 50 0 +r 2064 0 2 0 94 0 +r 2064 0 3 0 3279 0 +r 2064 0 28 0 12 0 +r 2064 0 5 0 2106 0 +r 2064 0 7 0 2048 0 +r 2064 0 2911 0 2063 0 +r 16 0 2907 0 1280 0 +r 16 0 2907 0 288 0 +r 16 0 59 0 1156 0 +r 16 0 59 0 1155 0 +r 16 0 59 0 1149 0 +r 16 0 4 0 190 0 +r 16 0 5 0 2283 0 +r 16 0 7 0 50 0 +r 2065 0 104 0 2066 0 +r 2065 0 129 0 2070 0 +r 2065 0 129 0 2069 0 +r 2065 0 129 0 2068 0 +r 2065 0 129 0 2067 0 +r 2065 0 4 0 2059 0 +r 2065 0 5 0 2092 0 +r 2065 0 7 0 2048 0 +r 17 0 4 0 189 0 +r 17 0 5 0 2370 0 +r 17 0 7 0 50 0 +r 2066 0 1 0 106 0 +r 2066 0 365 0 2065 0 +r 2066 0 38 0 5 0 +r 2066 0 39 0 107 0 +r 18 0 4 0 189 0 +r 18 0 5 0 2323 0 +r 18 0 7 0 50 0 +r 2067 0 59 0 2086 0 +r 2067 0 59 0 2083 0 +r 2067 0 4 0 2065 0 +r 2067 0 5 0 2110 0 +r 2067 0 7 0 2048 0 +r 19 0 129 0 545 0 +r 19 0 129 0 535 0 +r 19 0 4 0 189 0 +r 19 0 5 0 2228 0 +r 19 0 7 0 50 0 +r 2068 0 4 0 2065 0 +r 2068 0 5 0 2095 0 +r 2068 0 7 0 2048 0 +r 20 0 129 0 637 0 +r 20 0 2907 0 570 0 +r 20 0 59 0 658 0 +r 20 0 4 0 189 0 +r 20 0 5 0 2411 0 +r 20 0 7 0 50 0 +r 2069 0 4 0 2065 0 +r 2069 0 5 0 2091 0 +r 2069 0 7 0 2048 0 +r 21 0 4 0 189 0 +r 21 0 5 0 2333 0 +r 21 0 7 0 50 0 +r 2070 0 4 0 2065 0 +r 2070 0 5 0 2104 0 +r 2070 0 7 0 2048 0 +r 22 0 2907 0 851 0 +r 22 0 4 0 189 0 +r 22 0 5 0 2327 0 +r 22 0 7 0 50 0 +r 2071 0 2 0 94 0 +r 2071 0 3 0 3280 0 +r 2071 0 28 0 12 0 +r 2071 0 5 0 2099 0 +r 2071 0 7 0 2048 0 +r 2071 0 2911 0 2076 0 +r 23 0 4 0 189 0 +r 23 0 5 0 2396 0 +r 23 0 7 0 50 0 +r 2072 0 2 0 507 0 +r 2072 0 3 0 2073 0 +r 2072 0 28 0 2060 0 +r 2072 0 5 0 2102 0 +r 2072 0 29 0 2059 0 +r 2072 0 7 0 2048 0 +r 24 0 129 0 1336 0 +r 24 0 129 0 1331 0 +r 24 0 129 0 1326 0 +r 24 0 129 0 1322 0 +r 24 0 129 0 1318 0 +r 24 0 129 0 1008 0 +r 24 0 129 0 1005 0 +r 24 0 129 0 934 0 +r 24 0 129 0 932 0 +r 24 0 129 0 829 0 +r 24 0 129 0 816 0 +r 24 0 129 0 650 0 +r 24 0 129 0 647 0 +r 24 0 129 0 631 0 +r 24 0 129 0 621 0 +r 24 0 129 0 617 0 +r 24 0 129 0 607 0 +r 24 0 129 0 598 0 +r 24 0 129 0 593 0 +r 24 0 129 0 585 0 +r 24 0 129 0 582 0 +r 24 0 129 0 567 0 +r 24 0 129 0 561 0 +r 24 0 129 0 189 0 +r 24 0 145 0 24 0 +r 24 0 1 0 174 0 +r 24 0 2906 0 697 0 +r 24 0 2906 0 696 0 +r 24 0 2907 0 703 0 +r 24 0 2907 0 94 0 +r 24 0 4 0 25 0 +r 24 0 5 0 2306 0 +r 24 0 7 0 50 0 +r 2073 0 2 0 507 0 +r 2073 0 3 0 2072 0 +r 2073 0 5 0 2100 0 +r 2073 0 7 0 2048 0 +r 2073 0 2911 0 2081 0 +r 2073 0 2911 0 2078 0 +r 25 0 136 0 113 0 +r 25 0 136 0 110 0 +r 25 0 136 0 5 0 +r 25 0 136 0 1 0 +r 25 0 137 0 113 0 +r 25 0 137 0 5 0 +r 25 0 129 0 1313 0 +r 25 0 129 0 1295 0 +r 25 0 129 0 1189 0 +r 25 0 129 0 1188 0 +r 25 0 129 0 1179 0 +r 25 0 129 0 1138 0 +r 25 0 129 0 1125 0 +r 25 0 129 0 1119 0 +r 25 0 129 0 1116 0 +r 25 0 129 0 1109 0 +r 25 0 129 0 1084 0 +r 25 0 129 0 993 0 +r 25 0 129 0 845 0 +r 25 0 129 0 812 0 +r 25 0 129 0 779 0 +r 25 0 129 0 776 0 +r 25 0 129 0 775 0 +r 25 0 129 0 759 0 +r 25 0 129 0 745 0 +r 25 0 129 0 741 0 +r 25 0 129 0 738 0 +r 25 0 129 0 712 0 +r 25 0 129 0 700 0 +r 25 0 129 0 698 0 +r 25 0 129 0 677 0 +r 25 0 129 0 549 0 +r 25 0 129 0 518 0 +r 25 0 129 0 516 0 +r 25 0 129 0 512 0 +r 25 0 129 0 503 0 +r 25 0 129 0 497 0 +r 25 0 129 0 477 0 +r 25 0 129 0 466 0 +r 25 0 129 0 436 0 +r 25 0 129 0 431 0 +r 25 0 129 0 427 0 +r 25 0 129 0 384 0 +r 25 0 129 0 381 0 +r 25 0 129 0 375 0 +r 25 0 129 0 345 0 +r 25 0 129 0 342 0 +r 25 0 129 0 324 0 +r 25 0 129 0 323 0 +r 25 0 129 0 317 0 +r 25 0 129 0 284 0 +r 25 0 129 0 274 0 +r 25 0 129 0 269 0 +r 25 0 129 0 220 0 +r 25 0 129 0 217 0 +r 25 0 129 0 214 0 +r 25 0 129 0 160 0 +r 25 0 129 0 157 0 +r 25 0 129 0 151 0 +r 25 0 129 0 130 0 +r 25 0 129 0 123 0 +r 25 0 129 0 118 0 +r 25 0 129 0 109 0 +r 25 0 129 0 106 0 +r 25 0 129 0 62 0 +r 25 0 129 0 57 0 +r 25 0 129 0 24 0 +r 25 0 1 0 52 0 +r 25 0 59 0 374 0 +r 25 0 5 0 2244 0 +r 25 0 78 0 117 0 +r 25 0 7 0 50 0 +r 2074 0 2 0 507 0 +r 2074 0 3 0 2075 0 +r 2074 0 28 0 2060 0 +r 2074 0 5 0 2101 0 +r 2074 0 29 0 2059 0 +r 2074 0 7 0 2048 0 +r 26 0 1 0 144 0 +r 26 0 2 0 111 0 +r 26 0 2 0 110 0 +r 26 0 3 0 26 0 +r 26 0 5 0 2326 0 +r 26 0 29 0 52 0 +r 26 0 78 0 147 0 +r 26 0 7 0 53 0 +r 2075 0 2 0 507 0 +r 2075 0 3 0 2074 0 +r 2075 0 5 0 2098 0 +r 2075 0 7 0 2048 0 +r 2075 0 2911 0 2080 0 +r 2075 0 2911 0 2077 0 +r 27 0 2 0 116 0 +r 27 0 2 0 103 0 +r 27 0 3 0 2906 0 +r 27 0 139 0 157 0 +r 27 0 139 0 52 0 +r 27 0 28 0 157 0 +r 27 0 5 0 2315 0 +r 27 0 141 0 157 0 +r 27 0 141 0 52 0 +r 27 0 7 0 53 0 +r 27 0 2911 0 811 0 +r 27 0 2911 0 237 0 +r 27 0 2911 0 236 0 +r 27 0 2911 0 235 0 +r 27 0 2911 0 120 0 +r 2076 0 1 0 106 0 +r 2076 0 365 0 2060 0 +r 2076 0 38 0 2071 0 +r 2076 0 39 0 107 0 +r 28 0 2 0 116 0 +r 28 0 2 0 103 0 +r 28 0 3 0 2907 0 +r 28 0 139 0 0 0 +r 28 0 28 0 157 0 +r 28 0 5 0 2248 0 +r 28 0 141 0 0 0 +r 28 0 7 0 53 0 +r 2077 0 1 0 106 0 +r 2077 0 365 0 2060 0 +r 2077 0 38 0 2075 0 +r 2077 0 39 0 107 0 +r 29 0 2 0 116 0 +r 29 0 2 0 103 0 +r 29 0 3 0 2908 0 +r 29 0 139 0 0 0 +r 29 0 28 0 157 0 +r 29 0 5 0 2401 0 +r 29 0 141 0 0 0 +r 29 0 7 0 53 0 +r 2078 0 1 0 106 0 +r 2078 0 365 0 2060 0 +r 2078 0 38 0 2073 0 +r 2078 0 39 0 107 0 +r 30 0 2 0 103 0 +r 30 0 3 0 2909 0 +r 30 0 139 0 157 0 +r 30 0 28 0 52 0 +r 30 0 5 0 2224 0 +r 30 0 7 0 53 0 +r 30 0 2911 0 245 0 +r 30 0 2911 0 239 0 +r 2079 0 104 0 2081 0 +r 2079 0 104 0 2080 0 +r 2079 0 4 0 503 0 +r 2079 0 5 0 2093 0 +r 2079 0 7 0 2048 0 +r 31 0 2 0 110 0 +r 31 0 3 0 2910 0 +r 31 0 5 0 2343 0 +r 31 0 7 0 53 0 +r 31 0 2911 0 238 0 +r 2080 0 1 0 106 0 +r 2080 0 365 0 2079 0 +r 2080 0 38 0 2075 0 +r 2080 0 39 0 107 0 +r 32 0 104 0 236 0 +r 32 0 4 0 157 0 +r 32 0 5 0 2413 0 +r 32 0 7 0 50 0 +r 2081 0 1 0 106 0 +r 2081 0 365 0 2079 0 +r 2081 0 38 0 2073 0 +r 2081 0 39 0 107 0 +r 33 0 104 0 235 0 +r 33 0 59 0 2058 0 +r 33 0 59 0 982 0 +r 33 0 59 0 981 0 +r 33 0 59 0 926 0 +r 33 0 59 0 884 0 +r 33 0 59 0 881 0 +r 33 0 59 0 697 0 +r 33 0 59 0 696 0 +r 33 0 59 0 695 0 +r 33 0 59 0 494 0 +r 33 0 59 0 430 0 +r 33 0 59 0 426 0 +r 33 0 59 0 395 0 +r 33 0 59 0 387 0 +r 33 0 59 0 183 0 +r 33 0 59 0 181 0 +r 33 0 59 0 177 0 +r 33 0 59 0 173 0 +r 33 0 59 0 170 0 +r 33 0 59 0 168 0 +r 33 0 59 0 140 0 +r 33 0 59 0 138 0 +r 33 0 4 0 157 0 +r 33 0 5 0 2231 0 +r 33 0 7 0 50 0 +r 2082 0 9 0 2089 0 +r 2082 0 9 0 2086 0 +r 2082 0 9 0 2083 0 +r 2082 0 1 0 2056 0 +r 2082 0 5 0 2096 0 +r 2082 0 7 0 2048 0 +r 34 0 104 0 237 0 +r 34 0 4 0 157 0 +r 34 0 5 0 2380 0 +r 34 0 7 0 50 0 +r 2083 0 2072 0 2089 0 +r 2083 0 2064 0 2085 0 +r 2083 0 1 0 2067 0 +r 2083 0 5 0 2109 0 +r 2083 0 2062 0 2084 0 +r 2083 0 7 0 2082 0 +r 35 0 104 0 239 0 +r 35 0 59 0 498 0 +r 35 0 59 0 496 0 +r 35 0 59 0 495 0 +r 35 0 4 0 157 0 +r 35 0 5 0 2377 0 +r 35 0 7 0 50 0 +r 2084 0 1 0 12 0 d 200.0 +r 2084 0 3278 0 2083 0 +r 36 0 104 0 238 0 +r 36 0 4 0 157 0 +r 36 0 5 0 2293 0 +r 36 0 7 0 50 0 +r 2085 0 1 0 12 0 d 100.0 +r 2085 0 3279 0 2083 0 +r 37 0 104 0 243 0 +r 37 0 104 0 242 0 +r 37 0 104 0 241 0 +r 37 0 104 0 240 0 +r 37 0 2907 0 120 0 +r 37 0 59 0 2057 0 +r 37 0 59 0 925 0 +r 37 0 59 0 883 0 +r 37 0 59 0 880 0 +r 37 0 59 0 429 0 +r 37 0 59 0 425 0 +r 37 0 59 0 299 0 +r 37 0 59 0 298 0 +r 37 0 59 0 182 0 +r 37 0 59 0 180 0 +r 37 0 59 0 176 0 +r 37 0 59 0 172 0 +r 37 0 59 0 169 0 +r 37 0 59 0 167 0 +r 37 0 4 0 157 0 +r 37 0 5 0 2313 0 +r 37 0 7 0 50 0 +r 2086 0 2064 0 2088 0 +r 2086 0 1 0 2067 0 +r 2086 0 2074 0 2089 0 +r 2086 0 5 0 2094 0 +r 2086 0 2062 0 2087 0 +r 2086 0 7 0 2082 0 +r 38 0 2 0 110 0 +r 38 0 3 0 2911 0 +r 38 0 139 0 157 0 +r 38 0 28 0 0 0 +r 38 0 5 0 2350 0 +r 38 0 7 0 53 0 +r 38 0 2911 0 240 0 +r 2087 0 1 0 12 0 d 100.0 +r 2087 0 3278 0 2086 0 +r 39 0 1 0 42 0 +r 39 0 2 0 94 0 +r 39 0 3 0 2912 0 +r 39 0 139 0 157 0 +r 39 0 28 0 196 0 +r 39 0 5 0 2227 0 +r 39 0 7 0 53 0 +r 39 0 2911 0 241 0 +r 2088 0 1 0 12 0 d 200.0 +r 2088 0 3279 0 2086 0 +r 40 0 2 0 103 0 +r 40 0 3 0 2913 0 +r 40 0 139 0 157 0 +r 40 0 28 0 157 0 +r 40 0 5 0 2360 0 +r 40 0 141 0 157 0 +r 40 0 7 0 53 0 +r 40 0 2911 0 242 0 +r 2089 0 2073 0 2083 0 +r 2089 0 1 0 2060 0 +r 2089 0 2075 0 2086 0 +r 2089 0 7 0 2082 0 +r 2089 0 2071 0 2090 0 +r 41 0 2 0 103 0 +r 41 0 3 0 2914 0 +r 41 0 28 0 157 0 +r 41 0 5 0 2253 0 +r 41 0 7 0 53 0 +r 41 0 2911 0 243 0 +r 2090 0 3280 0 2089 0 +r 2090 0 1 0 12 0 d 0.5 +r 42 0 129 0 501 0 +r 42 0 129 0 226 0 +r 42 0 59 0 1377 0 +r 42 0 59 0 1081 0 +r 42 0 59 0 933 0 +r 42 0 59 0 931 0 +r 42 0 59 0 548 0 +r 42 0 59 0 474 0 +r 42 0 59 0 224 0 +r 42 0 59 0 204 0 +r 42 0 59 0 195 0 +r 42 0 59 0 192 0 +r 42 0 59 0 126 0 +r 42 0 59 0 97 0 +r 42 0 59 0 78 0 +r 42 0 59 0 72 0 +r 42 0 59 0 71 0 +r 42 0 59 0 39 0 +r 42 0 59 0 6 0 +r 42 0 59 0 5 0 +r 42 0 59 0 3 0 +r 42 0 4 0 0 0 +r 42 0 5 0 2395 0 +r 42 0 78 0 148 0 +r 42 0 7 0 50 0 +r 2091 0 2904 0 2069 0 +r 2091 0 1 0 10 0 s Valve +r 43 0 2 0 110 0 +r 43 0 3 0 2915 0 +r 43 0 28 0 144 0 +r 43 0 5 0 2296 0 +r 43 0 7 0 53 0 +r 43 0 2911 0 234 0 +r 2092 0 2904 0 2065 0 +r 2092 0 1 0 10 0 s Independent Variable +r 44 0 2 0 94 0 +r 44 0 3 0 2916 0 +r 44 0 28 0 10 0 +r 44 0 5 0 2254 0 +r 44 0 29 0 69 0 +r 44 0 7 0 53 0 +r 2093 0 2904 0 2079 0 +r 2093 0 1 0 10 0 s Flow +r 45 0 2 0 94 0 +r 45 0 3 0 2917 0 +r 45 0 139 0 52 0 +r 45 0 28 0 10 0 +r 45 0 5 0 2294 0 +r 45 0 141 0 52 0 +r 45 0 29 0 52 0 +r 45 0 7 0 53 0 +r 2094 0 2904 0 2086 0 +r 2094 0 1 0 10 0 s Bar +r 46 0 1 0 48 0 +r 46 0 5 0 47 0 +r 46 0 7 0 49 0 +r 2095 0 2904 0 2068 0 +r 2095 0 1 0 10 0 s Stock +r 47 0 2904 0 46 0 +r 47 0 1 0 10 0 s Properties +r 2096 0 2904 0 2082 0 +r 2096 0 1 0 10 0 s Test Configuration +r 48 0 2906 0 168 0 +r 48 0 59 0 1089 0 +r 48 0 59 0 834 0 +r 48 0 59 0 666 0 +r 48 0 59 0 412 0 +r 48 0 59 0 50 0 +r 48 0 59 0 46 0 +r 48 0 27 0 167 0 +r 48 0 4 0 57 0 +r 48 0 5 0 2280 0 +r 48 0 7 0 50 0 +r 2097 0 2904 0 2056 0 +r 2097 0 1 0 10 0 s Configuration +r 49 0 9 0 782 0 +r 49 0 9 0 758 0 +r 49 0 9 0 362 0 +r 49 0 9 0 356 0 +r 49 0 9 0 350 0 +r 49 0 9 0 349 0 +r 49 0 9 0 347 0 +r 49 0 9 0 345 0 +r 49 0 9 0 344 0 +r 49 0 9 0 343 0 +r 49 0 9 0 342 0 +r 49 0 9 0 341 0 +r 49 0 9 0 339 0 +r 49 0 9 0 337 0 +r 49 0 9 0 335 0 +r 49 0 9 0 334 0 +r 49 0 9 0 332 0 +r 49 0 9 0 330 0 +r 49 0 9 0 328 0 +r 49 0 9 0 326 0 +r 49 0 9 0 325 0 +r 49 0 9 0 324 0 +r 49 0 9 0 323 0 +r 49 0 9 0 321 0 +r 49 0 9 0 320 0 +r 49 0 9 0 319 0 +r 49 0 9 0 318 0 +r 49 0 9 0 317 0 +r 49 0 9 0 301 0 +r 49 0 9 0 292 0 +r 49 0 9 0 282 0 +r 49 0 9 0 280 0 +r 49 0 9 0 278 0 +r 49 0 9 0 277 0 +r 49 0 9 0 274 0 +r 49 0 9 0 273 0 +r 49 0 9 0 271 0 +r 49 0 9 0 269 0 +r 49 0 9 0 228 0 +r 49 0 9 0 225 0 +r 49 0 9 0 123 0 +r 49 0 9 0 118 0 +r 49 0 9 0 107 0 +r 49 0 9 0 106 0 +r 49 0 9 0 104 0 +r 49 0 9 0 53 0 +r 49 0 9 0 50 0 +r 49 0 9 0 46 0 +r 49 0 97 0 98 0 +r 49 0 1 0 69 0 +r 49 0 101 0 102 0 +r 49 0 93 0 100 0 +r 49 0 5 0 95 0 +r 49 0 6 0 96 0 +r 49 0 2919 0 86 0 +r 49 0 7 0 91 0 +r 49 0 7 0 77 0 +r 2098 0 2904 0 2075 0 +r 2098 0 1 0 10 0 s Has Head +r 50 0 9 0 286 0 +r 50 0 9 0 284 0 +r 50 0 9 0 244 0 +r 50 0 9 0 226 0 +r 50 0 9 0 220 0 +r 50 0 9 0 217 0 +r 50 0 9 0 214 0 +r 50 0 9 0 211 0 +r 50 0 9 0 210 0 +r 50 0 9 0 208 0 +r 50 0 9 0 205 0 +r 50 0 9 0 203 0 +r 50 0 9 0 201 0 +r 50 0 9 0 198 0 +r 50 0 9 0 196 0 +r 50 0 9 0 190 0 +r 50 0 9 0 189 0 +r 50 0 9 0 187 0 +r 50 0 9 0 179 0 +r 50 0 9 0 175 0 +r 50 0 9 0 174 0 +r 50 0 9 0 171 0 +r 50 0 9 0 160 0 +r 50 0 9 0 157 0 +r 50 0 9 0 154 0 +r 50 0 9 0 151 0 +r 50 0 9 0 144 0 +r 50 0 9 0 130 0 +r 50 0 9 0 109 0 +r 50 0 9 0 99 0 +r 50 0 9 0 88 0 +r 50 0 9 0 69 0 +r 50 0 9 0 68 0 +r 50 0 9 0 63 0 +r 50 0 9 0 62 0 +r 50 0 9 0 57 0 +r 50 0 9 0 55 0 +r 50 0 9 0 52 0 +r 50 0 9 0 48 0 +r 50 0 9 0 42 0 +r 50 0 9 0 37 0 +r 50 0 9 0 36 0 +r 50 0 9 0 35 0 +r 50 0 9 0 34 0 +r 50 0 9 0 33 0 +r 50 0 9 0 32 0 +r 50 0 9 0 25 0 +r 50 0 9 0 24 0 +r 50 0 9 0 23 0 +r 50 0 9 0 22 0 +r 50 0 9 0 21 0 +r 50 0 9 0 20 0 +r 50 0 9 0 19 0 +r 50 0 9 0 18 0 +r 50 0 9 0 17 0 +r 50 0 9 0 16 0 +r 50 0 9 0 15 0 +r 50 0 9 0 14 0 +r 50 0 9 0 13 0 +r 50 0 9 0 12 0 +r 50 0 9 0 11 0 +r 50 0 9 0 10 0 +r 50 0 9 0 0 0 +r 50 0 1 0 48 0 +r 50 0 5 0 51 0 +r 50 0 7 0 49 0 +r 2099 0 2904 0 2071 0 +r 2099 0 1 0 10 0 s Has Angle +r 51 0 2904 0 50 0 +r 51 0 1 0 10 0 s Types +r 2100 0 2904 0 2073 0 +r 2100 0 1 0 10 0 s Has Tail +r 52 0 136 0 131 0 +r 52 0 136 0 78 0 +r 52 0 136 0 45 0 +r 52 0 136 0 27 0 +r 52 0 136 0 4 0 +r 52 0 80 0 122 0 +r 52 0 104 0 135 0 +r 52 0 104 0 121 0 +r 52 0 104 0 120 0 +r 52 0 129 0 783 0 +r 52 0 129 0 467 0 +r 52 0 129 0 341 0 +r 52 0 129 0 321 0 +r 52 0 129 0 187 0 +r 52 0 129 0 174 0 +r 52 0 137 0 131 0 +r 52 0 137 0 78 0 +r 52 0 137 0 45 0 +r 52 0 137 0 27 0 +r 52 0 2906 0 168 0 +r 52 0 2906 0 140 0 +r 52 0 2906 0 138 0 +r 52 0 2907 0 923 0 +r 52 0 2907 0 30 0 +r 52 0 2907 0 4 0 +r 52 0 2907 0 1 0 +r 52 0 59 0 972 0 +r 52 0 59 0 919 0 +r 52 0 59 0 25 0 +r 52 0 131 0 156 0 +r 52 0 2908 0 285 0 +r 52 0 2908 0 273 0 +r 52 0 2908 0 145 0 +r 52 0 2908 0 131 0 +r 52 0 2908 0 70 0 +r 52 0 2908 0 45 0 +r 52 0 2908 0 26 0 +r 52 0 2908 0 4 0 +r 52 0 4 0 118 0 +r 52 0 5 0 2319 0 +r 52 0 78 0 119 0 +r 52 0 7 0 50 0 +r 2101 0 2904 0 2074 0 +r 2101 0 1 0 10 0 s Is Head Of +r 53 0 9 0 365 0 +r 53 0 9 0 289 0 +r 53 0 9 0 288 0 +r 53 0 9 0 285 0 +r 53 0 9 0 283 0 +r 53 0 9 0 268 0 +r 53 0 9 0 267 0 +r 53 0 9 0 266 0 +r 53 0 9 0 265 0 +r 53 0 9 0 259 0 +r 53 0 9 0 254 0 +r 53 0 9 0 249 0 +r 53 0 9 0 248 0 +r 53 0 9 0 227 0 +r 53 0 9 0 224 0 +r 53 0 9 0 222 0 +r 53 0 9 0 219 0 +r 53 0 9 0 216 0 +r 53 0 9 0 213 0 +r 53 0 9 0 212 0 +r 53 0 9 0 207 0 +r 53 0 9 0 204 0 +r 53 0 9 0 202 0 +r 53 0 9 0 200 0 +r 53 0 9 0 195 0 +r 53 0 9 0 192 0 +r 53 0 9 0 185 0 +r 53 0 9 0 184 0 +r 53 0 9 0 161 0 +r 53 0 9 0 159 0 +r 53 0 9 0 158 0 +r 53 0 9 0 145 0 +r 53 0 9 0 143 0 +r 53 0 9 0 142 0 +r 53 0 9 0 141 0 +r 53 0 9 0 139 0 +r 53 0 9 0 137 0 +r 53 0 9 0 136 0 +r 53 0 9 0 134 0 +r 53 0 9 0 133 0 +r 53 0 9 0 132 0 +r 53 0 9 0 131 0 +r 53 0 9 0 129 0 +r 53 0 9 0 128 0 +r 53 0 9 0 127 0 +r 53 0 9 0 126 0 +r 53 0 9 0 116 0 +r 53 0 9 0 115 0 +r 53 0 9 0 114 0 +r 53 0 9 0 113 0 +r 53 0 9 0 112 0 +r 53 0 9 0 111 0 +r 53 0 9 0 110 0 +r 53 0 9 0 103 0 +r 53 0 9 0 101 0 +r 53 0 9 0 97 0 +r 53 0 9 0 94 0 +r 53 0 9 0 93 0 +r 53 0 9 0 80 0 +r 53 0 9 0 78 0 +r 53 0 9 0 72 0 +r 53 0 9 0 71 0 +r 53 0 9 0 70 0 +r 53 0 9 0 67 0 +r 53 0 9 0 66 0 +r 53 0 9 0 65 0 +r 53 0 9 0 64 0 +r 53 0 9 0 61 0 +r 53 0 9 0 60 0 +r 53 0 9 0 59 0 +r 53 0 9 0 45 0 +r 53 0 9 0 44 0 +r 53 0 9 0 43 0 +r 53 0 9 0 41 0 +r 53 0 9 0 40 0 +r 53 0 9 0 39 0 +r 53 0 9 0 38 0 +r 53 0 9 0 31 0 +r 53 0 9 0 30 0 +r 53 0 9 0 29 0 +r 53 0 9 0 28 0 +r 53 0 9 0 27 0 +r 53 0 9 0 26 0 +r 53 0 9 0 9 0 +r 53 0 9 0 8 0 +r 53 0 9 0 7 0 +r 53 0 9 0 6 0 +r 53 0 9 0 5 0 +r 53 0 9 0 4 0 +r 53 0 9 0 3 0 +r 53 0 9 0 2 0 +r 53 0 9 0 1 0 +r 53 0 1 0 55 0 +r 53 0 5 0 54 0 +r 53 0 7 0 49 0 +r 2102 0 2904 0 2072 0 +r 2102 0 1 0 10 0 s Is Tail Of +r 54 0 2904 0 53 0 +r 54 0 1 0 10 0 s Relations +r 2103 0 2904 0 2054 0 +r 2103 0 1 0 10 0 s Sysdyn Namespace +r 55 0 2906 0 170 0 +r 55 0 59 0 1092 0 +r 55 0 59 0 837 0 +r 55 0 59 0 669 0 +r 55 0 59 0 415 0 +r 55 0 59 0 53 0 +r 55 0 27 0 169 0 +r 55 0 4 0 57 0 +r 55 0 5 0 2421 0 +r 55 0 7 0 50 0 +r 2104 0 2904 0 2070 0 +r 2104 0 1 0 10 0 s Cloud +r 56 1 64 0 371 0 +r 56 1 9 0 91 0 +r 56 1 9 0 89 0 +r 56 1 9 0 75 0 +r 56 1 9 0 74 0 +r 56 1 9 0 73 0 +r 56 1 1 0 57 0 +r 56 1 5 0 2309 0 +r 2105 0 2904 0 2062 0 +r 2105 0 1 0 10 0 s Has X +r 57 0 104 0 162 0 +r 57 0 136 0 9 0 +r 57 0 129 0 1108 0 +r 57 0 129 0 1107 0 +r 57 0 129 0 1106 0 +r 57 0 129 0 1078 0 +r 57 0 129 0 924 0 +r 57 0 129 0 921 0 +r 57 0 129 0 882 0 +r 57 0 129 0 879 0 +r 57 0 129 0 640 0 +r 57 0 129 0 428 0 +r 57 0 129 0 424 0 +r 57 0 129 0 376 0 +r 57 0 129 0 179 0 +r 57 0 129 0 175 0 +r 57 0 129 0 171 0 +r 57 0 129 0 69 0 +r 57 0 129 0 63 0 +r 57 0 129 0 55 0 +r 57 0 129 0 48 0 +r 57 0 137 0 9 0 +r 57 0 2907 0 377 0 +r 57 0 59 0 1055 0 +r 57 0 59 0 1030 0 +r 57 0 59 0 1025 0 +r 57 0 59 0 782 0 +r 57 0 59 0 758 0 +r 57 0 59 0 454 0 +r 57 0 59 0 401 0 +r 57 0 59 0 301 0 +r 57 0 59 0 292 0 +r 57 0 59 0 228 0 +r 57 0 59 0 91 0 +r 57 0 59 0 89 0 +r 57 0 59 0 76 0 +r 57 0 59 0 75 0 +r 57 0 59 0 74 0 +r 57 0 59 0 73 0 +r 57 0 59 0 56 1 +r 57 0 4 0 25 0 +r 57 0 5 0 2325 0 +r 57 0 7 0 50 0 +r 2106 0 2904 0 2064 0 +r 2106 0 1 0 10 0 s Has Y +r 58 0 1 0 160 0 +r 58 0 259 0 58 0 +r 58 0 61 0 256 0 +r 58 0 5 0 255 0 +r 58 0 254 0 258 0 +r 58 0 78 0 257 0 +r 58 0 7 0 73 0 +r 59 0 2 0 111 0 +r 59 0 3 0 1 0 +r 59 0 5 0 2250 0 +r 59 0 7 0 53 0 +r 2107 0 2904 0 2059 0 +r 2107 0 1 0 10 0 s Variable +r 2108 0 2904 0 2060 0 +r 2108 0 1 0 10 0 s Dependency +r 60 0 2 0 112 0 +r 60 0 3 0 2 0 +r 60 0 5 0 2233 0 +r 60 0 7 0 53 0 +r 2109 0 2904 0 2083 0 +r 2109 0 1 0 10 0 s Foo +r 61 0 2 0 94 0 +r 61 0 3 0 2918 0 +r 61 0 28 0 10 0 +r 61 0 5 0 2391 0 +r 61 0 7 0 53 0 +r 61 0 2911 0 252 0 +r 2110 0 2904 0 2067 0 +r 2110 0 1 0 10 0 s Auxiliary +r 62 0 104 0 108 0 +r 62 0 104 0 105 0 +r 62 0 2906 0 395 0 +r 62 0 2906 0 183 0 +r 62 0 2907 0 64 0 +r 62 0 59 0 2054 0 +r 62 0 59 0 1351 0 +r 62 0 59 0 1098 0 +r 62 0 59 0 1018 0 +r 62 0 59 0 901 0 +r 62 0 59 0 893 0 +r 62 0 59 0 843 0 +r 62 0 59 0 733 0 +r 62 0 59 0 675 0 +r 62 0 59 0 533 0 +r 62 0 59 0 464 0 +r 62 0 59 0 450 0 +r 62 0 59 0 422 0 +r 62 0 59 0 371 0 +r 62 0 59 0 86 0 +r 62 0 2908 0 65 0 +r 62 0 4 0 25 0 +r 62 0 5 0 2265 0 +r 62 0 7 0 50 0 +r 2111 0 2904 0 454 0 +r 2111 0 1 0 10 0 s Features +r 63 0 2906 0 183 0 +r 63 0 59 0 85 0 +r 63 0 27 0 182 0 +r 63 0 4 0 57 0 +r 63 0 5 0 2332 0 +r 63 0 7 0 50 0 +r 2112 0 2904 0 453 0 +r 2112 0 1 0 10 0 s Symbol Manager Feature +r 64 0 2 0 9 0 +r 64 0 3 0 200 0 +r 64 0 28 0 62 0 +r 64 0 5 0 2275 0 +r 64 0 7 0 53 0 +r 2113 0 2904 0 494 0 +r 2113 0 1 0 10 0 s Value +r 65 0 2 0 103 0 +r 65 0 3 0 2919 0 +r 65 0 5 0 2330 0 +r 65 0 29 0 62 0 +r 65 0 7 0 53 0 +r 65 0 2911 0 108 0 +r 2114 0 2904 0 480 0 +r 2114 0 1 0 10 0 s Structural Consists Of +r 66 0 128 0 66 0 +r 66 0 2 0 110 0 +r 66 0 3 0 67 0 +r 66 0 28 0 0 0 +r 66 0 5 0 2310 0 +r 66 0 29 0 0 0 +r 66 0 7 0 53 0 +r 66 0 2911 0 150 0 +r 2115 0 2904 0 515 0 +r 2115 0 1 0 10 0 s Has Cardinality Restriction +r 67 0 2 0 111 0 +r 67 0 3 0 66 0 +r 67 0 5 0 2402 0 +r 67 0 7 0 53 0 +r 2116 0 2904 0 474 0 +r 2116 0 1 0 10 0 s Is Defined By +r 68 0 104 0 150 0 +r 68 0 59 0 133 0 +r 68 0 59 0 4 0 +r 68 0 59 0 2 0 +r 68 0 4 0 0 0 +r 68 0 5 0 2381 0 +r 68 0 78 0 149 0 +r 68 0 7 0 50 0 +r 2117 0 2904 0 482 0 +r 2117 0 1 0 10 0 s Composite +r 69 0 80 0 166 0 +r 69 0 104 0 165 0 +r 69 0 104 0 164 0 +r 69 0 104 0 163 0 +r 69 0 59 0 2048 0 +r 69 0 59 0 1347 0 +r 69 0 59 0 1091 0 +r 69 0 59 0 1013 0 +r 69 0 59 0 895 0 +r 69 0 59 0 886 0 +r 69 0 59 0 836 0 +r 69 0 59 0 729 0 +r 69 0 59 0 668 0 +r 69 0 59 0 527 0 +r 69 0 59 0 458 0 +r 69 0 59 0 444 0 +r 69 0 59 0 414 0 +r 69 0 59 0 366 0 +r 69 0 59 0 49 0 +r 69 0 131 0 155 0 +r 69 0 2908 0 93 0 +r 69 0 2908 0 44 0 +r 69 0 4 0 57 0 +r 69 0 5 0 2322 0 +r 69 0 7 0 50 0 +r 2118 0 2904 0 466 0 +r 2118 0 1 0 10 0 s Component +r 70 0 2 0 110 0 +r 70 0 3 0 2920 0 +r 70 0 28 0 151 0 +r 70 0 5 0 2431 0 +r 70 0 29 0 52 0 +r 70 0 7 0 53 0 +r 2119 0 2904 0 464 0 +r 2119 0 1 0 10 0 s Structural Namespace +r 71 0 1 0 42 0 +r 71 0 2 0 110 0 +r 71 0 3 0 2921 0 +r 71 0 5 0 2287 0 +r 71 0 7 0 53 0 +r 71 0 2911 0 298 0 +r 71 0 2911 0 296 0 +r 71 0 2911 0 294 0 +r 71 0 2911 0 152 0 +r 2120 0 2904 0 491 0 +r 2120 0 1 0 10 0 s Variable Relation +r 72 0 1 0 42 0 +r 72 0 2 0 110 0 +r 72 0 3 0 2922 0 +r 72 0 5 0 2273 0 +r 72 0 29 0 151 0 +r 72 0 7 0 53 0 +r 72 0 2911 0 153 0 +r 2121 0 2904 0 518 0 +r 2121 0 1 0 10 0 s Connection Direction +r 73 0 9 0 260 0 +r 73 0 9 0 58 0 +r 73 0 1 0 57 0 +r 73 0 5 0 2394 0 +r 73 0 7 0 56 1 +r 2122 0 2904 0 507 0 +r 2122 0 1 0 10 0 s Is Connected +r 74 0 9 0 83 0 +r 74 0 9 0 77 0 +r 74 0 1 0 57 0 +r 74 0 5 0 2338 0 +r 74 0 7 0 56 1 +r 2123 0 2904 0 497 0 +r 2123 0 1 0 10 0 s Expression +r 75 0 9 0 374 0 +r 75 0 9 0 76 0 +r 75 0 1 0 57 0 +r 75 0 5 0 2261 0 +r 75 0 7 0 56 1 +r 2124 0 2904 0 511 0 +r 2124 0 1 0 10 0 s Supports Connection Type +r 76 0 1 0 57 0 +r 76 0 5 0 2434 0 +r 76 0 7 0 75 0 +r 2125 0 2904 0 501 0 +r 2125 0 1 0 10 0 s Value Relation +r 77 0 80 0 82 0 +r 77 0 80 0 81 0 +r 77 0 1 0 376 0 +r 77 0 9 0 2048 0 +r 77 0 9 0 1347 0 +r 77 0 9 0 1091 0 +r 77 0 9 0 1013 0 +r 77 0 9 0 895 0 +r 77 0 9 0 886 0 +r 77 0 9 0 836 0 +r 77 0 9 0 729 0 +r 77 0 9 0 668 0 +r 77 0 9 0 527 0 +r 77 0 9 0 458 0 +r 77 0 9 0 444 0 +r 77 0 9 0 414 0 +r 77 0 9 0 366 0 +r 77 0 9 0 85 0 +r 77 0 9 0 49 0 +r 77 0 379 0 891 0 +r 77 0 5 0 2302 0 +r 77 0 78 0 79 0 +r 77 0 7 0 74 0 +r 2126 0 2904 0 493 0 +r 2126 0 1 0 10 0 s Variable Of +r 78 0 1 0 42 0 +r 78 0 2 0 94 0 +r 78 0 3 0 2923 0 +r 78 0 139 0 52 0 +r 78 0 28 0 10 0 +r 78 0 5 0 2285 0 +r 78 0 141 0 52 0 +r 78 0 126 0 194 0 +r 78 0 7 0 53 0 +r 78 0 2911 0 251 0 +r 2127 0 2904 0 488 0 +r 2127 0 1 0 10 0 s Is Bound By +r 79 0 1 0 10 0 s This project is a container for all available ontologies. +r 79 0 2923 0 77 0 +r 2128 0 2904 0 476 0 +r 2128 0 1 0 10 0 s Defines +r 80 0 2 0 94 0 +r 80 0 3 0 2924 0 +r 80 0 28 0 10 0 +r 80 0 5 0 2387 0 +r 80 0 7 0 53 0 +r 2129 0 2904 0 520 0 +r 2129 0 1 0 10 0 s Output Direction +r 81 0 1 0 10 0 s This will probably be deprecated in the future. +r 81 0 2924 0 77 0 +r 2130 0 2904 0 485 0 +r 2130 0 1 0 10 0 s Ordered Composite +r 82 0 1 0 10 0 s These comments are for testing purposes. +r 82 0 2924 0 77 0 +r 2131 0 2904 0 489 0 +r 2131 0 1 0 10 0 s Literal Variable +r 83 0 1 0 376 0 +r 83 0 379 0 410 0 +r 83 0 5 0 2262 0 +r 83 0 78 0 84 0 +r 83 0 7 0 74 0 +r 2132 0 2904 0 513 0 +r 2132 0 1 0 10 0 s Has Connection Type +r 84 0 1 0 10 0 s This project is used to access administration tools. +r 84 0 2923 0 83 0 +r 2133 0 2904 0 479 0 +r 2133 0 1 0 10 0 s Is Parameter Of +r 85 0 9 0 2054 0 +r 85 0 9 0 1351 0 +r 85 0 9 0 1098 0 +r 85 0 9 0 1018 0 +r 85 0 9 0 901 0 +r 85 0 9 0 893 0 +r 85 0 9 0 843 0 +r 85 0 9 0 733 0 +r 85 0 9 0 675 0 +r 85 0 9 0 533 0 +r 85 0 9 0 464 0 +r 85 0 9 0 450 0 +r 85 0 9 0 422 0 +r 85 0 9 0 371 0 +r 85 0 9 0 86 0 +r 85 0 1 0 63 0 +r 85 0 5 0 2392 0 +r 85 0 7 0 77 0 +r 2134 0 2904 0 522 0 +r 2134 0 1 0 10 0 s Has Lower Bound +r 86 0 65 0 49 0 +r 86 0 1 0 62 0 +r 86 0 6 0 87 0 +r 86 0 7 0 85 0 +r 2135 0 2904 0 506 0 +r 2135 0 1 0 10 0 s Connection Relation +r 87 0 2905 0 86 0 +r 87 0 1 0 88 0 s http://www.vtt.fi/Simantics/Layer0/1.0 +r 2136 0 2904 0 512 0 +r 2136 0 1 0 10 0 s Connection Type +r 88 0 129 0 198 0 +r 88 0 2906 0 395 0 +r 88 0 2907 0 6 0 +r 88 0 59 0 2055 0 +r 88 0 59 0 2050 0 +r 88 0 59 0 1355 0 +r 88 0 59 0 1352 0 +r 88 0 59 0 1349 0 +r 88 0 59 0 1099 0 +r 88 0 59 0 1095 0 +r 88 0 59 0 1019 0 +r 88 0 59 0 1015 0 +r 88 0 59 0 902 0 +r 88 0 59 0 897 0 +r 88 0 59 0 894 0 +r 88 0 59 0 888 0 +r 88 0 59 0 844 0 +r 88 0 59 0 840 0 +r 88 0 59 0 734 0 +r 88 0 59 0 731 0 +r 88 0 59 0 676 0 +r 88 0 59 0 672 0 +r 88 0 59 0 534 0 +r 88 0 59 0 529 0 +r 88 0 59 0 465 0 +r 88 0 59 0 460 0 +r 88 0 59 0 452 0 +r 88 0 59 0 446 0 +r 88 0 59 0 423 0 +r 88 0 59 0 418 0 +r 88 0 59 0 373 0 +r 88 0 59 0 368 0 +r 88 0 59 0 96 0 +r 88 0 59 0 87 0 +r 88 0 4 0 10 0 +r 88 0 5 0 2342 0 +r 88 0 78 0 197 0 +r 88 0 7 0 50 0 +r 2137 0 2904 0 487 0 +r 2137 0 1 0 10 0 s Binds +r 89 0 9 0 2048 0 +r 89 0 9 0 1347 0 +r 89 0 9 0 1013 0 +r 89 0 9 0 895 0 +r 89 0 9 0 886 0 +r 89 0 9 0 836 0 +r 89 0 9 0 729 0 +r 89 0 9 0 668 0 +r 89 0 9 0 527 0 +r 89 0 9 0 458 0 +r 89 0 9 0 444 0 +r 89 0 9 0 414 0 +r 89 0 9 0 366 0 +r 89 0 1 0 57 0 +r 89 0 5 0 90 0 +r 89 0 7 0 56 1 +r 2138 0 2904 0 509 0 +r 2138 0 1 0 10 0 s Is Connected To +r 90 0 2904 0 89 0 +r 90 0 1 0 10 0 s http://www.simantics.org +r 2139 0 2904 0 472 0 +r 2139 0 1 0 10 0 s Has Parameter +r 91 0 9 0 1091 0 +r 91 0 9 0 49 0 +r 91 0 1 0 57 0 +r 91 0 5 0 92 0 +r 91 0 7 0 56 1 +r 2140 0 2904 0 467 0 +r 2140 0 1 0 10 0 s Component Type +r 92 0 2904 0 91 0 +r 92 0 1 0 10 0 s http://www.vtt.fi/Simantics +r 2141 0 2904 0 503 0 +r 2141 0 1 0 10 0 s Connection +r 93 0 2 0 94 0 +r 93 0 3 0 2925 0 +r 93 0 28 0 10 0 +r 93 0 5 0 2308 0 +r 93 0 29 0 69 0 +r 93 0 7 0 53 0 +r 2142 0 2904 0 477 0 +r 2142 0 1 0 10 0 s Variable +r 94 0 2 0 113 0 +r 94 0 3 0 184 0 +r 94 0 139 0 160 0 +r 94 0 60 0 2071 0 +r 94 0 60 0 2064 0 +r 94 0 60 0 2062 0 +r 94 0 60 0 1377 0 +r 94 0 60 0 1346 0 +r 94 0 60 0 1344 0 +r 94 0 60 0 1341 0 +r 94 0 60 0 1335 0 +r 94 0 60 0 1317 0 +r 94 0 60 0 1315 0 +r 94 0 60 0 1312 0 +r 94 0 60 0 1310 0 +r 94 0 60 0 1308 0 +r 94 0 60 0 1304 0 +r 94 0 60 0 1302 0 +r 94 0 60 0 1283 0 +r 94 0 60 0 1282 0 +r 94 0 60 0 1281 0 +r 94 0 60 0 1280 0 +r 94 0 60 0 1276 0 +r 94 0 60 0 1274 0 +r 94 0 60 0 1187 0 +r 94 0 60 0 1186 0 +r 94 0 60 0 1185 0 +r 94 0 60 0 1184 0 +r 94 0 60 0 1183 0 +r 94 0 60 0 1178 0 +r 94 0 60 0 1177 0 +r 94 0 60 0 1176 0 +r 94 0 60 0 1175 0 +r 94 0 60 0 1168 0 +r 94 0 60 0 1167 0 +r 94 0 60 0 1162 0 +r 94 0 60 0 1161 0 +r 94 0 60 0 1153 0 +r 94 0 60 0 1147 0 +r 94 0 60 0 1088 0 +r 94 0 60 0 1086 0 +r 94 0 60 0 1081 0 +r 94 0 60 0 1006 0 +r 94 0 60 0 1004 0 +r 94 0 60 0 996 0 +r 94 0 60 0 995 0 +r 94 0 60 0 994 0 +r 94 0 60 0 992 0 +r 94 0 60 0 929 0 +r 94 0 60 0 927 0 +r 94 0 60 0 918 0 +r 94 0 60 0 872 0 +r 94 0 60 0 871 0 +r 94 0 60 0 851 0 +r 94 0 60 0 850 0 +r 94 0 60 0 849 0 +r 94 0 60 0 848 0 +r 94 0 60 0 847 0 +r 94 0 60 0 807 0 +r 94 0 60 0 805 0 +r 94 0 60 0 790 0 +r 94 0 60 0 788 0 +r 94 0 60 0 786 0 +r 94 0 60 0 742 0 +r 94 0 60 0 736 0 +r 94 0 60 0 719 0 +r 94 0 60 0 654 0 +r 94 0 60 0 653 0 +r 94 0 60 0 649 0 +r 94 0 60 0 639 0 +r 94 0 60 0 630 0 +r 94 0 60 0 629 0 +r 94 0 60 0 628 0 +r 94 0 60 0 625 0 +r 94 0 60 0 606 0 +r 94 0 60 0 605 0 +r 94 0 60 0 601 0 +r 94 0 60 0 592 0 +r 94 0 60 0 591 0 +r 94 0 60 0 590 0 +r 94 0 60 0 589 0 +r 94 0 60 0 576 0 +r 94 0 60 0 574 0 +r 94 0 60 0 572 0 +r 94 0 60 0 570 0 +r 94 0 60 0 566 0 +r 94 0 60 0 564 0 +r 94 0 60 0 560 0 +r 94 0 60 0 558 0 +r 94 0 60 0 556 0 +r 94 0 60 0 554 0 +r 94 0 60 0 552 0 +r 94 0 60 0 548 0 +r 94 0 60 0 524 0 +r 94 0 60 0 522 0 +r 94 0 60 0 469 0 +r 94 0 60 0 394 0 +r 94 0 60 0 380 0 +r 94 0 60 0 289 0 +r 94 0 60 0 283 0 +r 94 0 60 0 280 0 +r 94 0 60 0 271 0 +r 94 0 60 0 254 0 +r 94 0 60 0 248 0 +r 94 0 60 0 204 0 +r 94 0 60 0 202 0 +r 94 0 60 0 195 0 +r 94 0 60 0 192 0 +r 94 0 60 0 185 0 +r 94 0 60 0 159 0 +r 94 0 60 0 158 0 +r 94 0 60 0 126 0 +r 94 0 60 0 101 0 +r 94 0 60 0 97 0 +r 94 0 60 0 93 0 +r 94 0 60 0 80 0 +r 94 0 60 0 78 0 +r 94 0 60 0 61 0 +r 94 0 60 0 45 0 +r 94 0 60 0 44 0 +r 94 0 60 0 39 0 +r 94 0 60 0 6 0 +r 94 0 60 0 5 0 +r 94 0 28 0 24 0 +r 94 0 5 0 2365 0 +r 94 0 141 0 160 0 +r 94 0 7 0 53 0 +r 94 0 2911 0 287 0 +r 2143 0 2904 0 469 0 +r 2143 0 1 0 10 0 s Has Value +r 95 0 2904 0 49 0 +r 95 0 1 0 10 0 s Layer0-1.0 +r 2144 0 2904 0 524 0 +r 2144 0 1 0 10 0 s Has Upper Bound +r 96 0 2905 0 49 0 +r 96 0 1 0 88 0 s http://www.vtt.fi/Simantics/Layer0/1.0 +r 2145 0 2904 0 508 0 +r 2145 0 1 0 10 0 s Directed Connection Relation +r 97 0 1 0 42 0 +r 97 0 2 0 94 0 +r 97 0 3 0 2926 0 +r 97 0 28 0 99 0 +r 97 0 5 0 2366 0 +r 97 0 7 0 53 0 +r 97 0 2911 0 748 0 +r 97 0 2911 0 164 0 +r 2146 0 2904 0 526 0 +r 2146 0 1 0 10 0 s Has Connection Direction +r 98 0 1 0 99 0 s 1.0 +r 98 0 2926 0 49 0 +r 2147 0 2904 0 504 0 +r 2147 0 1 0 10 0 s Connection Variable +r 99 0 2907 0 97 0 +r 99 0 59 0 2051 0 +r 99 0 59 0 1350 0 +r 99 0 59 0 1096 0 +r 99 0 59 0 1016 0 +r 99 0 59 0 898 0 +r 99 0 59 0 889 0 +r 99 0 59 0 841 0 +r 99 0 59 0 732 0 +r 99 0 59 0 673 0 +r 99 0 59 0 530 0 +r 99 0 59 0 461 0 +r 99 0 59 0 447 0 +r 99 0 59 0 419 0 +r 99 0 59 0 369 0 +r 99 0 59 0 98 0 +r 99 0 4 0 10 0 +r 99 0 5 0 2300 0 +r 99 0 7 0 50 0 +r 2148 0 2904 0 516 0 +r 2148 0 1 0 10 0 s Cardinality Restriction +r 100 0 1 0 10 0 s org.simantics.db.Builtins +r 100 0 2925 0 49 0 +r 2149 0 2904 0 517 0 +r 2149 0 1 0 10 0 s Supports Direction +r 101 0 2 0 94 0 +r 101 0 3 0 2927 0 +r 101 0 28 0 10 0 +r 101 0 5 0 2286 0 +r 101 0 7 0 53 0 +r 101 0 2911 0 165 0 +r 2150 0 2904 0 510 0 +r 2150 0 1 0 10 0 s Is Connected From +r 102 0 1 0 10 0 s layer0 +r 102 0 2927 0 49 0 +r 2151 0 2904 0 481 0 +r 2151 0 1 0 10 0 s Structural Part Of +r 103 0 2 0 110 0 +r 103 0 3 0 112 0 +r 103 0 60 0 885 0 +r 103 0 60 0 846 0 +r 103 0 60 0 744 0 +r 103 0 60 0 743 0 +r 103 0 60 0 737 0 +r 103 0 60 0 703 0 +r 103 0 60 0 663 0 +r 103 0 60 0 543 0 +r 103 0 60 0 538 0 +r 103 0 60 0 507 0 +r 103 0 60 0 492 0 +r 103 0 60 0 440 0 +r 103 0 60 0 438 0 +r 103 0 60 0 435 0 +r 103 0 60 0 433 0 +r 103 0 60 0 388 0 +r 103 0 60 0 379 0 +r 103 0 60 0 285 0 +r 103 0 60 0 249 0 +r 103 0 60 0 224 0 +r 103 0 60 0 222 0 +r 103 0 60 0 216 0 +r 103 0 60 0 213 0 +r 103 0 60 0 212 0 +r 103 0 60 0 207 0 +r 103 0 60 0 133 0 +r 103 0 60 0 127 0 +r 103 0 60 0 113 0 +r 103 0 60 0 65 0 +r 103 0 60 0 41 0 +r 103 0 60 0 40 0 +r 103 0 60 0 30 0 +r 103 0 60 0 29 0 +r 103 0 60 0 28 0 +r 103 0 60 0 27 0 +r 103 0 60 0 9 0 +r 103 0 60 0 4 0 +r 103 0 60 0 3 0 +r 103 0 60 0 2 0 +r 103 0 5 0 2424 0 +r 103 0 7 0 53 0 +r 103 0 2911 0 923 0 +r 2152 0 2904 0 519 0 +r 2152 0 1 0 10 0 s Input Direction +r 104 0 2 0 111 0 +r 104 0 2 0 110 0 +r 104 0 3 0 365 0 +r 104 0 5 0 2420 0 +r 104 0 2911 0 121 0 +r 104 0 7 0 49 0 +r 2153 0 2904 0 492 0 +r 2153 0 1 0 10 0 s Has Variable +r 105 0 1 0 106 0 +r 105 0 365 0 62 0 +r 105 0 38 0 6 0 +r 105 0 39 0 107 0 +r 2154 0 2904 0 820 0 +r 2154 0 1 0 10 0 s Int16 +r 106 0 2907 0 121 0 +r 106 0 59 0 2081 0 +r 106 0 59 0 2080 0 +r 106 0 59 0 2078 0 +r 106 0 59 0 2077 0 +r 106 0 59 0 2076 0 +r 106 0 59 0 2066 0 +r 106 0 59 0 2063 0 +r 106 0 59 0 2061 0 +r 106 0 59 0 1345 0 +r 106 0 59 0 1343 0 +r 106 0 59 0 1340 0 +r 106 0 59 0 1316 0 +r 106 0 59 0 1314 0 +r 106 0 59 0 1311 0 +r 106 0 59 0 1309 0 +r 106 0 59 0 1307 0 +r 106 0 59 0 1306 0 +r 106 0 59 0 1305 0 +r 106 0 59 0 1303 0 +r 106 0 59 0 1301 0 +r 106 0 59 0 1300 0 +r 106 0 59 0 1299 0 +r 106 0 59 0 1297 0 +r 106 0 59 0 1294 0 +r 106 0 59 0 1287 0 +r 106 0 59 0 1286 0 +r 106 0 59 0 1285 0 +r 106 0 59 0 1275 0 +r 106 0 59 0 1273 0 +r 106 0 59 0 1271 0 +r 106 0 59 0 1260 0 +r 106 0 59 0 1259 0 +r 106 0 59 0 1258 0 +r 106 0 59 0 1256 0 +r 106 0 59 0 1255 0 +r 106 0 59 0 1254 0 +r 106 0 59 0 1252 0 +r 106 0 59 0 1251 0 +r 106 0 59 0 1249 0 +r 106 0 59 0 1248 0 +r 106 0 59 0 1246 0 +r 106 0 59 0 1244 0 +r 106 0 59 0 1243 0 +r 106 0 59 0 1242 0 +r 106 0 59 0 1241 0 +r 106 0 59 0 1240 0 +r 106 0 59 0 1239 0 +r 106 0 59 0 1237 0 +r 106 0 59 0 1236 0 +r 106 0 59 0 1235 0 +r 106 0 59 0 1234 0 +r 106 0 59 0 1233 0 +r 106 0 59 0 1232 0 +r 106 0 59 0 1230 0 +r 106 0 59 0 1229 0 +r 106 0 59 0 1228 0 +r 106 0 59 0 1227 0 +r 106 0 59 0 1225 0 +r 106 0 59 0 1224 0 +r 106 0 59 0 1223 0 +r 106 0 59 0 1222 0 +r 106 0 59 0 1220 0 +r 106 0 59 0 1219 0 +r 106 0 59 0 1218 0 +r 106 0 59 0 1217 0 +r 106 0 59 0 1207 0 +r 106 0 59 0 1206 0 +r 106 0 59 0 1205 0 +r 106 0 59 0 1204 0 +r 106 0 59 0 1203 0 +r 106 0 59 0 1202 0 +r 106 0 59 0 1182 0 +r 106 0 59 0 1181 0 +r 106 0 59 0 1180 0 +r 106 0 59 0 1165 0 +r 106 0 59 0 1164 0 +r 106 0 59 0 1152 0 +r 106 0 59 0 1151 0 +r 106 0 59 0 1146 0 +r 106 0 59 0 1143 0 +r 106 0 59 0 1140 0 +r 106 0 59 0 1137 0 +r 106 0 59 0 1136 0 +r 106 0 59 0 1135 0 +r 106 0 59 0 1132 0 +r 106 0 59 0 1130 0 +r 106 0 59 0 1128 0 +r 106 0 59 0 1117 0 +r 106 0 59 0 1114 0 +r 106 0 59 0 1112 0 +r 106 0 59 0 1110 0 +r 106 0 59 0 1087 0 +r 106 0 59 0 1085 0 +r 106 0 59 0 1080 0 +r 106 0 59 0 1079 0 +r 106 0 59 0 1010 0 +r 106 0 59 0 1009 0 +r 106 0 59 0 1003 0 +r 106 0 59 0 1002 0 +r 106 0 59 0 1001 0 +r 106 0 59 0 990 0 +r 106 0 59 0 988 0 +r 106 0 59 0 987 0 +r 106 0 59 0 986 0 +r 106 0 59 0 985 0 +r 106 0 59 0 984 0 +r 106 0 59 0 983 0 +r 106 0 59 0 969 0 +r 106 0 59 0 964 0 +r 106 0 59 0 963 0 +r 106 0 59 0 962 0 +r 106 0 59 0 961 0 +r 106 0 59 0 960 0 +r 106 0 59 0 945 0 +r 106 0 59 0 944 0 +r 106 0 59 0 943 0 +r 106 0 59 0 923 0 +r 106 0 59 0 922 0 +r 106 0 59 0 915 0 +r 106 0 59 0 914 0 +r 106 0 59 0 910 0 +r 106 0 59 0 906 0 +r 106 0 59 0 878 0 +r 106 0 59 0 877 0 +r 106 0 59 0 876 0 +r 106 0 59 0 875 0 +r 106 0 59 0 870 0 +r 106 0 59 0 869 0 +r 106 0 59 0 868 0 +r 106 0 59 0 867 0 +r 106 0 59 0 866 0 +r 106 0 59 0 861 0 +r 106 0 59 0 860 0 +r 106 0 59 0 859 0 +r 106 0 59 0 858 0 +r 106 0 59 0 857 0 +r 106 0 59 0 856 0 +r 106 0 59 0 814 0 +r 106 0 59 0 813 0 +r 106 0 59 0 811 0 +r 106 0 59 0 808 0 +r 106 0 59 0 806 0 +r 106 0 59 0 804 0 +r 106 0 59 0 799 0 +r 106 0 59 0 797 0 +r 106 0 59 0 794 0 +r 106 0 59 0 793 0 +r 106 0 59 0 792 0 +r 106 0 59 0 789 0 +r 106 0 59 0 787 0 +r 106 0 59 0 785 0 +r 106 0 59 0 780 0 +r 106 0 59 0 777 0 +r 106 0 59 0 772 0 +r 106 0 59 0 770 0 +r 106 0 59 0 768 0 +r 106 0 59 0 766 0 +r 106 0 59 0 763 0 +r 106 0 59 0 761 0 +r 106 0 59 0 757 0 +r 106 0 59 0 755 0 +r 106 0 59 0 753 0 +r 106 0 59 0 752 0 +r 106 0 59 0 751 0 +r 106 0 59 0 748 0 +r 106 0 59 0 747 0 +r 106 0 59 0 746 0 +r 106 0 59 0 725 0 +r 106 0 59 0 724 0 +r 106 0 59 0 722 0 +r 106 0 59 0 721 0 +r 106 0 59 0 714 0 +r 106 0 59 0 710 0 +r 106 0 59 0 708 0 +r 106 0 59 0 706 0 +r 106 0 59 0 702 0 +r 106 0 59 0 701 0 +r 106 0 59 0 699 0 +r 106 0 59 0 693 0 +r 106 0 59 0 692 0 +r 106 0 59 0 690 0 +r 106 0 59 0 688 0 +r 106 0 59 0 682 0 +r 106 0 59 0 678 0 +r 106 0 59 0 652 0 +r 106 0 59 0 651 0 +r 106 0 59 0 648 0 +r 106 0 59 0 604 0 +r 106 0 59 0 602 0 +r 106 0 59 0 600 0 +r 106 0 59 0 588 0 +r 106 0 59 0 586 0 +r 106 0 59 0 579 0 +r 106 0 59 0 577 0 +r 106 0 59 0 575 0 +r 106 0 59 0 573 0 +r 106 0 59 0 571 0 +r 106 0 59 0 569 0 +r 106 0 59 0 565 0 +r 106 0 59 0 563 0 +r 106 0 59 0 559 0 +r 106 0 59 0 557 0 +r 106 0 59 0 555 0 +r 106 0 59 0 553 0 +r 106 0 59 0 551 0 +r 106 0 59 0 525 0 +r 106 0 59 0 523 0 +r 106 0 59 0 521 0 +r 106 0 59 0 514 0 +r 106 0 59 0 505 0 +r 106 0 59 0 490 0 +r 106 0 59 0 486 0 +r 106 0 59 0 483 0 +r 106 0 59 0 473 0 +r 106 0 59 0 471 0 +r 106 0 59 0 468 0 +r 106 0 59 0 441 0 +r 106 0 59 0 439 0 +r 106 0 59 0 434 0 +r 106 0 59 0 432 0 +r 106 0 59 0 409 0 +r 106 0 59 0 400 0 +r 106 0 59 0 386 0 +r 106 0 59 0 378 0 +r 106 0 59 0 377 0 +r 106 0 59 0 348 0 +r 106 0 59 0 346 0 +r 106 0 59 0 333 0 +r 106 0 59 0 331 0 +r 106 0 59 0 329 0 +r 106 0 59 0 327 0 +r 106 0 59 0 322 0 +r 106 0 59 0 316 0 +r 106 0 59 0 314 0 +r 106 0 59 0 312 0 +r 106 0 59 0 309 0 +r 106 0 59 0 306 0 +r 106 0 59 0 304 0 +r 106 0 59 0 296 0 +r 106 0 59 0 294 0 +r 106 0 59 0 287 0 +r 106 0 59 0 281 0 +r 106 0 59 0 279 0 +r 106 0 59 0 276 0 +r 106 0 59 0 275 0 +r 106 0 59 0 272 0 +r 106 0 59 0 270 0 +r 106 0 59 0 253 0 +r 106 0 59 0 252 0 +r 106 0 59 0 251 0 +r 106 0 59 0 250 0 +r 106 0 59 0 247 0 +r 106 0 59 0 246 0 +r 106 0 59 0 245 0 +r 106 0 59 0 243 0 +r 106 0 59 0 242 0 +r 106 0 59 0 241 0 +r 106 0 59 0 240 0 +r 106 0 59 0 239 0 +r 106 0 59 0 238 0 +r 106 0 59 0 237 0 +r 106 0 59 0 236 0 +r 106 0 59 0 235 0 +r 106 0 59 0 234 0 +r 106 0 59 0 223 0 +r 106 0 59 0 221 0 +r 106 0 59 0 218 0 +r 106 0 59 0 215 0 +r 106 0 59 0 206 0 +r 106 0 59 0 188 0 +r 106 0 59 0 165 0 +r 106 0 59 0 164 0 +r 106 0 59 0 163 0 +r 106 0 59 0 162 0 +r 106 0 59 0 153 0 +r 106 0 59 0 152 0 +r 106 0 59 0 150 0 +r 106 0 59 0 135 0 +r 106 0 59 0 125 0 +r 106 0 59 0 121 0 +r 106 0 59 0 120 0 +r 106 0 59 0 108 0 +r 106 0 59 0 105 0 +r 106 0 4 0 25 0 +r 106 0 5 0 2345 0 +r 106 0 7 0 49 0 +r 2155 0 2904 0 769 0 +r 2155 0 1 0 10 0 s Named Unit +r 107 0 2912 0 2081 0 +r 107 0 2912 0 2080 0 +r 107 0 2912 0 2078 0 +r 107 0 2912 0 2077 0 +r 107 0 2912 0 2076 0 +r 107 0 2912 0 2066 0 +r 107 0 2912 0 2063 0 +r 107 0 2912 0 2061 0 +r 107 0 2912 0 1345 0 +r 107 0 2912 0 1343 0 +r 107 0 2912 0 1340 0 +r 107 0 2912 0 1316 0 +r 107 0 2912 0 1314 0 +r 107 0 2912 0 1309 0 +r 107 0 2912 0 1307 0 +r 107 0 2912 0 1306 0 +r 107 0 2912 0 1303 0 +r 107 0 2912 0 1301 0 +r 107 0 2912 0 1299 0 +r 107 0 2912 0 1294 0 +r 107 0 2912 0 1287 0 +r 107 0 2912 0 1286 0 +r 107 0 2912 0 1285 0 +r 107 0 2912 0 1275 0 +r 107 0 2912 0 1273 0 +r 107 0 2912 0 1260 0 +r 107 0 2912 0 1259 0 +r 107 0 2912 0 1258 0 +r 107 0 2912 0 1256 0 +r 107 0 2912 0 1255 0 +r 107 0 2912 0 1254 0 +r 107 0 2912 0 1252 0 +r 107 0 2912 0 1251 0 +r 107 0 2912 0 1249 0 +r 107 0 2912 0 1248 0 +r 107 0 2912 0 1246 0 +r 107 0 2912 0 1244 0 +r 107 0 2912 0 1243 0 +r 107 0 2912 0 1242 0 +r 107 0 2912 0 1241 0 +r 107 0 2912 0 1240 0 +r 107 0 2912 0 1239 0 +r 107 0 2912 0 1237 0 +r 107 0 2912 0 1236 0 +r 107 0 2912 0 1235 0 +r 107 0 2912 0 1234 0 +r 107 0 2912 0 1233 0 +r 107 0 2912 0 1232 0 +r 107 0 2912 0 1230 0 +r 107 0 2912 0 1229 0 +r 107 0 2912 0 1228 0 +r 107 0 2912 0 1227 0 +r 107 0 2912 0 1225 0 +r 107 0 2912 0 1224 0 +r 107 0 2912 0 1223 0 +r 107 0 2912 0 1222 0 +r 107 0 2912 0 1220 0 +r 107 0 2912 0 1219 0 +r 107 0 2912 0 1218 0 +r 107 0 2912 0 1217 0 +r 107 0 2912 0 1207 0 +r 107 0 2912 0 1206 0 +r 107 0 2912 0 1205 0 +r 107 0 2912 0 1204 0 +r 107 0 2912 0 1203 0 +r 107 0 2912 0 1202 0 +r 107 0 2912 0 1182 0 +r 107 0 2912 0 1181 0 +r 107 0 2912 0 1180 0 +r 107 0 2912 0 1165 0 +r 107 0 2912 0 1164 0 +r 107 0 2912 0 1152 0 +r 107 0 2912 0 1151 0 +r 107 0 2912 0 1146 0 +r 107 0 2912 0 1085 0 +r 107 0 2912 0 1080 0 +r 107 0 2912 0 1010 0 +r 107 0 2912 0 1009 0 +r 107 0 2912 0 1003 0 +r 107 0 2912 0 1002 0 +r 107 0 2912 0 1001 0 +r 107 0 2912 0 984 0 +r 107 0 2912 0 944 0 +r 107 0 2912 0 943 0 +r 107 0 2912 0 914 0 +r 107 0 2912 0 910 0 +r 107 0 2912 0 878 0 +r 107 0 2912 0 877 0 +r 107 0 2912 0 876 0 +r 107 0 2912 0 875 0 +r 107 0 2912 0 866 0 +r 107 0 2912 0 858 0 +r 107 0 2912 0 857 0 +r 107 0 2912 0 856 0 +r 107 0 2912 0 813 0 +r 107 0 2912 0 799 0 +r 107 0 2912 0 797 0 +r 107 0 2912 0 794 0 +r 107 0 2912 0 780 0 +r 107 0 2912 0 777 0 +r 107 0 2912 0 770 0 +r 107 0 2912 0 768 0 +r 107 0 2912 0 766 0 +r 107 0 2912 0 763 0 +r 107 0 2912 0 761 0 +r 107 0 2912 0 752 0 +r 107 0 2912 0 751 0 +r 107 0 2912 0 748 0 +r 107 0 2912 0 747 0 +r 107 0 2912 0 746 0 +r 107 0 2912 0 725 0 +r 107 0 2912 0 724 0 +r 107 0 2912 0 722 0 +r 107 0 2912 0 721 0 +r 107 0 2912 0 714 0 +r 107 0 2912 0 710 0 +r 107 0 2912 0 708 0 +r 107 0 2912 0 706 0 +r 107 0 2912 0 693 0 +r 107 0 2912 0 692 0 +r 107 0 2912 0 652 0 +r 107 0 2912 0 651 0 +r 107 0 2912 0 604 0 +r 107 0 2912 0 602 0 +r 107 0 2912 0 600 0 +r 107 0 2912 0 588 0 +r 107 0 2912 0 555 0 +r 107 0 2912 0 553 0 +r 107 0 2912 0 486 0 +r 107 0 2912 0 439 0 +r 107 0 2912 0 432 0 +r 107 0 2912 0 386 0 +r 107 0 2912 0 331 0 +r 107 0 2912 0 329 0 +r 107 0 2912 0 327 0 +r 107 0 2912 0 322 0 +r 107 0 2912 0 312 0 +r 107 0 2912 0 309 0 +r 107 0 2912 0 306 0 +r 107 0 2912 0 304 0 +r 107 0 2912 0 281 0 +r 107 0 2912 0 279 0 +r 107 0 2912 0 276 0 +r 107 0 2912 0 275 0 +r 107 0 2912 0 272 0 +r 107 0 2912 0 270 0 +r 107 0 2912 0 253 0 +r 107 0 2912 0 252 0 +r 107 0 2912 0 251 0 +r 107 0 2912 0 250 0 +r 107 0 2912 0 246 0 +r 107 0 2912 0 245 0 +r 107 0 2912 0 240 0 +r 107 0 2912 0 239 0 +r 107 0 2912 0 238 0 +r 107 0 2912 0 237 0 +r 107 0 2912 0 221 0 +r 107 0 2912 0 218 0 +r 107 0 2912 0 215 0 +r 107 0 2912 0 206 0 +r 107 0 2912 0 165 0 +r 107 0 2912 0 164 0 +r 107 0 2912 0 163 0 +r 107 0 2912 0 162 0 +r 107 0 2912 0 153 0 +r 107 0 2912 0 152 0 +r 107 0 2912 0 150 0 +r 107 0 2912 0 135 0 +r 107 0 2912 0 105 0 +r 107 0 1 0 345 0 +r 107 0 347 0 355 0 +r 107 0 349 0 354 0 +r 107 0 5 0 353 0 +r 107 0 7 0 49 0 +r 2156 0 2904 0 821 0 +r 2156 0 1 0 10 0 s Int32 +r 108 0 1 0 106 0 +r 108 0 365 0 62 0 +r 108 0 38 0 65 0 +r 2157 0 2904 0 798 0 +r 2157 0 1 0 10 0 s Function Type +r 109 0 129 0 376 0 +r 109 0 4 0 25 0 +r 109 0 5 0 2399 0 +r 109 0 7 0 50 0 +r 2158 0 2904 0 759 0 +r 2158 0 1 0 10 0 s Unit +r 110 0 2 0 8 0 +r 110 0 139 0 25 0 +r 110 0 3 0 111 0 +r 110 0 60 0 2033 0 +r 110 0 60 0 2014 0 +r 110 0 60 0 1996 0 +r 110 0 60 0 1981 0 +r 110 0 60 0 1959 0 +r 110 0 60 0 1933 0 +r 110 0 60 0 1914 0 +r 110 0 60 0 1895 0 +r 110 0 60 0 1879 0 +r 110 0 60 0 1865 0 +r 110 0 60 0 1851 0 +r 110 0 60 0 1829 0 +r 110 0 60 0 1806 0 +r 110 0 60 0 1783 0 +r 110 0 60 0 1771 0 +r 110 0 60 0 1755 0 +r 110 0 60 0 1742 0 +r 110 0 60 0 1726 0 +r 110 0 60 0 1706 0 +r 110 0 60 0 1684 0 +r 110 0 60 0 1664 0 +r 110 0 60 0 1648 0 +r 110 0 60 0 1633 0 +r 110 0 60 0 1611 0 +r 110 0 60 0 1588 0 +r 110 0 60 0 1565 0 +r 110 0 60 0 1545 0 +r 110 0 60 0 1525 0 +r 110 0 60 0 1505 0 +r 110 0 60 0 1485 0 +r 110 0 60 0 1465 0 +r 110 0 60 0 1433 0 +r 110 0 60 0 1406 0 +r 110 0 60 0 1393 0 +r 110 0 60 0 1360 0 +r 110 0 60 0 1166 0 +r 110 0 60 0 1073 0 +r 110 0 60 0 1070 0 +r 110 0 60 0 1067 0 +r 110 0 60 0 1062 0 +r 110 0 60 0 1060 0 +r 110 0 60 0 1051 0 +r 110 0 60 0 1034 0 +r 110 0 60 0 1029 0 +r 110 0 60 0 1007 0 +r 110 0 60 0 999 0 +r 110 0 60 0 997 0 +r 110 0 60 0 991 0 +r 110 0 60 0 989 0 +r 110 0 60 0 980 0 +r 110 0 60 0 977 0 +r 110 0 60 0 965 0 +r 110 0 60 0 955 0 +r 110 0 60 0 952 0 +r 110 0 60 0 933 0 +r 110 0 60 0 931 0 +r 110 0 60 0 911 0 +r 110 0 60 0 862 0 +r 110 0 60 0 815 0 +r 110 0 60 0 809 0 +r 110 0 60 0 800 0 +r 110 0 60 0 795 0 +r 110 0 60 0 781 0 +r 110 0 60 0 778 0 +r 110 0 60 0 773 0 +r 110 0 60 0 771 0 +r 110 0 60 0 767 0 +r 110 0 60 0 764 0 +r 110 0 60 0 762 0 +r 110 0 60 0 691 0 +r 110 0 60 0 661 0 +r 110 0 60 0 636 0 +r 110 0 60 0 635 0 +r 110 0 60 0 603 0 +r 110 0 60 0 587 0 +r 110 0 60 0 581 0 +r 110 0 60 0 580 0 +r 110 0 60 0 578 0 +r 110 0 60 0 526 0 +r 110 0 60 0 517 0 +r 110 0 60 0 515 0 +r 110 0 60 0 513 0 +r 110 0 60 0 511 0 +r 110 0 60 0 487 0 +r 110 0 60 0 472 0 +r 110 0 60 0 442 0 +r 110 0 60 0 392 0 +r 110 0 60 0 390 0 +r 110 0 60 0 383 0 +r 110 0 60 0 365 0 +r 110 0 60 0 349 0 +r 110 0 60 0 347 0 +r 110 0 60 0 344 0 +r 110 0 60 0 343 0 +r 110 0 60 0 334 0 +r 110 0 60 0 332 0 +r 110 0 60 0 330 0 +r 110 0 60 0 320 0 +r 110 0 60 0 319 0 +r 110 0 60 0 318 0 +r 110 0 60 0 310 0 +r 110 0 60 0 307 0 +r 110 0 60 0 305 0 +r 110 0 60 0 288 0 +r 110 0 60 0 282 0 +r 110 0 60 0 277 0 +r 110 0 60 0 273 0 +r 110 0 60 0 219 0 +r 110 0 60 0 161 0 +r 110 0 60 0 145 0 +r 110 0 60 0 128 0 +r 110 0 60 0 116 0 +r 110 0 60 0 104 0 +r 110 0 60 0 103 0 +r 110 0 60 0 72 0 +r 110 0 60 0 71 0 +r 110 0 60 0 70 0 +r 110 0 60 0 66 0 +r 110 0 60 0 43 0 +r 110 0 60 0 38 0 +r 110 0 60 0 31 0 +r 110 0 60 0 26 0 +r 110 0 60 0 1 0 +r 110 0 5 0 2425 0 +r 110 0 7 0 53 0 +r 2159 0 2904 0 775 0 +r 2159 0 1 0 10 0 s Unit Conversion +r 111 0 2 0 8 0 +r 111 0 3 0 110 0 +r 111 0 60 0 3274 0 +r 111 0 60 0 3268 0 +r 111 0 60 0 3265 0 +r 111 0 60 0 3262 0 +r 111 0 60 0 3258 0 +r 111 0 60 0 3254 0 +r 111 0 60 0 3251 0 +r 111 0 60 0 3247 0 +r 111 0 60 0 3244 0 +r 111 0 60 0 3242 0 +r 111 0 60 0 3239 0 +r 111 0 60 0 3235 0 +r 111 0 60 0 3231 0 +r 111 0 60 0 3227 0 +r 111 0 60 0 3225 0 +r 111 0 60 0 3223 0 +r 111 0 60 0 3221 0 +r 111 0 60 0 3219 0 +r 111 0 60 0 3216 0 +r 111 0 60 0 3212 0 +r 111 0 60 0 3208 0 +r 111 0 60 0 3205 0 +r 111 0 60 0 3202 0 +r 111 0 60 0 3198 0 +r 111 0 60 0 3194 0 +r 111 0 60 0 3190 0 +r 111 0 60 0 3186 0 +r 111 0 60 0 3182 0 +r 111 0 60 0 3178 0 +r 111 0 60 0 3174 0 +r 111 0 60 0 3170 0 +r 111 0 60 0 3163 0 +r 111 0 60 0 3158 0 +r 111 0 60 0 3156 0 +r 111 0 60 0 3135 0 +r 111 0 60 0 3100 0 +r 111 0 60 0 3083 0 +r 111 0 60 0 3082 0 +r 111 0 60 0 3081 0 +r 111 0 60 0 3080 0 +r 111 0 60 0 3079 0 +r 111 0 60 0 3076 0 +r 111 0 60 0 3075 0 +r 111 0 60 0 3068 0 +r 111 0 60 0 3067 0 +r 111 0 60 0 3066 0 +r 111 0 60 0 3065 0 +r 111 0 60 0 3059 0 +r 111 0 60 0 3055 0 +r 111 0 60 0 3046 0 +r 111 0 60 0 3045 0 +r 111 0 60 0 3042 0 +r 111 0 60 0 3041 0 +r 111 0 60 0 3037 0 +r 111 0 60 0 3036 0 +r 111 0 60 0 3035 0 +r 111 0 60 0 3034 0 +r 111 0 60 0 3033 0 +r 111 0 60 0 3032 0 +r 111 0 60 0 3031 0 +r 111 0 60 0 3020 0 +r 111 0 60 0 3019 0 +r 111 0 60 0 3014 0 +r 111 0 60 0 3013 0 +r 111 0 60 0 3006 0 +r 111 0 60 0 3000 0 +r 111 0 60 0 2999 0 +r 111 0 60 0 2998 0 +r 111 0 60 0 2997 0 +r 111 0 60 0 2982 0 +r 111 0 60 0 2979 0 +r 111 0 60 0 2978 0 +r 111 0 60 0 2977 0 +r 111 0 60 0 2976 0 +r 111 0 60 0 2974 0 +r 111 0 60 0 2967 0 +r 111 0 60 0 2966 0 +r 111 0 60 0 2965 0 +r 111 0 60 0 2964 0 +r 111 0 60 0 2963 0 +r 111 0 60 0 2962 0 +r 111 0 60 0 2961 0 +r 111 0 60 0 2960 0 +r 111 0 60 0 2959 0 +r 111 0 60 0 2958 0 +r 111 0 60 0 2957 0 +r 111 0 60 0 2955 0 +r 111 0 60 0 2952 0 +r 111 0 60 0 2950 0 +r 111 0 60 0 2943 0 +r 111 0 60 0 2929 0 +r 111 0 60 0 2922 0 +r 111 0 60 0 2921 0 +r 111 0 60 0 2920 0 +r 111 0 60 0 2915 0 +r 111 0 60 0 2911 0 +r 111 0 60 0 2910 0 +r 111 0 60 0 1033 0 +r 111 0 60 0 1029 0 +r 111 0 60 0 999 0 +r 111 0 60 0 997 0 +r 111 0 60 0 991 0 +r 111 0 60 0 989 0 +r 111 0 60 0 980 0 +r 111 0 60 0 978 0 +r 111 0 60 0 952 0 +r 111 0 60 0 488 0 +r 111 0 60 0 479 0 +r 111 0 60 0 392 0 +r 111 0 60 0 390 0 +r 111 0 60 0 383 0 +r 111 0 60 0 365 0 +r 111 0 60 0 320 0 +r 111 0 60 0 319 0 +r 111 0 60 0 277 0 +r 111 0 60 0 161 0 +r 111 0 60 0 145 0 +r 111 0 60 0 128 0 +r 111 0 60 0 112 0 +r 111 0 60 0 104 0 +r 111 0 60 0 67 0 +r 111 0 60 0 59 0 +r 111 0 60 0 26 0 +r 111 0 5 0 2272 0 +r 111 0 7 0 53 0 +r 112 0 2 0 111 0 +r 112 0 3 0 103 0 +r 112 0 60 0 3058 0 +r 112 0 60 0 3047 0 +r 112 0 60 0 3030 0 +r 112 0 60 0 3029 0 +r 112 0 60 0 3021 0 +r 112 0 60 0 2984 0 +r 112 0 60 0 2983 0 +r 112 0 60 0 2973 0 +r 112 0 60 0 2972 0 +r 112 0 60 0 2971 0 +r 112 0 60 0 2968 0 +r 112 0 60 0 2954 0 +r 112 0 60 0 2947 0 +r 112 0 60 0 2944 0 +r 112 0 60 0 2942 0 +r 112 0 60 0 2941 0 +r 112 0 60 0 2940 0 +r 112 0 60 0 2939 0 +r 112 0 60 0 2931 0 +r 112 0 60 0 2919 0 +r 112 0 60 0 2914 0 +r 112 0 60 0 2913 0 +r 112 0 60 0 2909 0 +r 112 0 60 0 2908 0 +r 112 0 60 0 2907 0 +r 112 0 60 0 2906 0 +r 112 0 60 0 739 0 +r 112 0 60 0 664 0 +r 112 0 60 0 507 0 +r 112 0 60 0 493 0 +r 112 0 60 0 437 0 +r 112 0 60 0 389 0 +r 112 0 60 0 227 0 +r 112 0 60 0 134 0 +r 112 0 60 0 129 0 +r 112 0 60 0 114 0 +r 112 0 60 0 60 0 +r 112 0 60 0 7 0 +r 112 0 60 0 3 0 +r 112 0 5 0 2410 0 +r 112 0 7 0 53 0 +r 2160 0 2904 0 776 0 +r 2160 0 1 0 10 0 s Linear Unit Conversion +r 2161 0 2904 0 822 0 +r 2161 0 1 0 10 0 s Int64 +r 113 0 2 0 103 0 +r 113 0 139 0 25 0 +r 113 0 3 0 114 0 +r 113 0 60 0 474 0 +r 113 0 60 0 94 0 +r 113 0 5 0 2249 0 +r 113 0 141 0 25 0 +r 113 0 7 0 53 0 +r 114 0 2 0 112 0 +r 114 0 3 0 113 0 +r 114 0 60 0 476 0 +r 114 0 60 0 184 0 +r 114 0 5 0 2406 0 +r 114 0 7 0 53 0 +r 2162 0 2904 0 791 0 +r 2162 0 1 0 10 0 s Sequence Type +r 2163 0 2904 0 762 0 +r 2163 0 1 0 10 0 s Has Magnitude +r 115 0 2 0 8 0 +r 115 0 67 0 4 0 +r 115 0 67 0 2 0 +r 115 0 3 0 2928 0 +r 115 0 60 0 116 0 +r 115 0 5 0 2236 0 +r 115 0 7 0 53 0 +r 2164 0 2904 0 812 0 +r 2164 0 1 0 10 0 s Component +r 116 0 2 0 115 0 +r 116 0 2 0 110 0 +r 116 0 3 0 2929 0 +r 116 0 60 0 185 0 +r 116 0 60 0 142 0 +r 116 0 60 0 137 0 +r 116 0 60 0 136 0 +r 116 0 60 0 131 0 +r 116 0 60 0 29 0 +r 116 0 60 0 28 0 +r 116 0 60 0 27 0 +r 116 0 5 0 2379 0 +r 116 0 7 0 53 0 +r 2165 0 2904 0 782 0 +r 2165 0 1 0 10 0 s Data Types +r 117 0 1 0 10 0 s All types are inherited from this type. +r 117 0 2923 0 25 0 +r 2166 0 2904 0 788 0 +r 2166 0 1 0 10 0 s Has Max Length +r 118 0 129 0 297 0 +r 118 0 129 0 295 0 +r 118 0 129 0 293 0 +r 118 0 129 0 52 0 +r 118 0 2907 0 330 0 +r 118 0 2907 0 296 0 +r 118 0 2907 0 294 0 +r 118 0 59 0 1028 0 +r 118 0 59 0 1027 0 +r 118 0 59 0 1026 0 +r 118 0 4 0 25 0 +r 118 0 5 0 2427 0 +r 118 0 2911 0 299 0 +r 118 0 7 0 49 0 +r 2167 0 2904 0 815 0 +r 2167 0 1 0 10 0 s Has Component Relation +r 119 0 1 0 10 0 s All types are instances of this type. +r 119 0 2923 0 52 0 +r 2168 0 2904 0 829 0 +r 2168 0 1 0 10 0 s String_ +r 120 0 1 0 106 0 +r 120 0 28 0 37 0 +r 120 0 365 0 52 0 +r 120 0 38 0 27 0 +r 2169 0 2904 0 818 0 +r 2169 0 1 0 10 0 s Integer_ +r 121 0 1 0 106 0 +r 121 0 28 0 106 0 +r 121 0 365 0 52 0 +r 121 0 38 0 104 0 +r 2170 0 2904 0 796 0 +r 2170 0 1 0 10 0 s Option Type +r 122 0 1 0 10 0 s We allow currently only Relation Requirements in types. Could this restriction be lifted? +r 122 0 2924 0 52 0 +r 2171 0 2904 0 800 0 +r 2171 0 1 0 10 0 s Has Return Type +r 123 0 129 0 315 0 +r 123 0 129 0 313 0 +r 123 0 129 0 311 0 +r 123 0 129 0 308 0 +r 123 0 129 0 303 0 +r 123 0 129 0 0 0 +r 123 0 2907 0 310 0 +r 123 0 2907 0 307 0 +r 123 0 2907 0 305 0 +r 123 0 59 0 302 0 +r 123 0 4 0 25 0 +r 123 0 5 0 2371 0 +r 123 0 7 0 49 0 +r 2172 0 2904 0 824 0 +r 2172 0 1 0 10 0 s Float32 +r 124 0 1 0 10 0 s All relations are instances of this type. +r 124 0 2923 0 0 0 +r 2173 0 2904 0 802 0 +r 2173 0 1 0 10 0 s Union Type +r 125 0 1 0 106 0 +r 125 0 365 0 0 0 +r 125 0 38 0 126 0 +r 2174 0 2904 0 795 0 +r 2174 0 1 0 10 0 s Has Component Type +r 126 0 1 0 42 0 +r 126 0 2 0 94 0 +r 126 0 3 0 2930 0 +r 126 0 28 0 10 0 +r 126 0 5 0 2336 0 +r 126 0 7 0 53 0 +r 126 0 2911 0 125 0 +r 2175 0 2904 0 778 0 +r 2175 0 1 0 10 0 s Has Scale +r 127 0 2 0 103 0 +r 127 0 3 0 2931 0 +r 127 0 28 0 0 0 +r 127 0 5 0 2383 0 +r 127 0 7 0 53 0 +r 127 0 2911 0 327 0 +r 2176 0 2904 0 823 0 +r 2176 0 1 0 10 0 s Float_ +r 128 0 1 0 144 0 +r 128 0 2 0 111 0 +r 128 0 2 0 110 0 +r 128 0 3 0 128 0 +r 128 0 5 0 2364 0 +r 128 0 7 0 53 0 +r 129 0 2 0 112 0 +r 129 0 3 0 4 0 +r 129 0 5 0 2422 0 +r 129 0 7 0 53 0 +r 2177 0 2904 0 825 0 +r 2177 0 1 0 10 0 s Float64 +r 2178 0 2904 0 764 0 +r 2178 0 1 0 10 0 s Has Base Unit +r 130 0 136 0 137 0 +r 130 0 136 0 136 0 +r 130 0 136 0 133 0 +r 130 0 2906 0 140 0 +r 130 0 2906 0 138 0 +r 130 0 2907 0 142 0 +r 130 0 2907 0 133 0 +r 130 0 2907 0 131 0 +r 130 0 59 0 694 0 +r 130 0 59 0 679 0 +r 130 0 59 0 156 0 +r 130 0 59 0 155 0 +r 130 0 2908 0 142 0 +r 130 0 2908 0 133 0 +r 130 0 4 0 25 0 +r 130 0 5 0 2263 0 +r 130 0 7 0 50 0 +r 2179 0 2904 0 828 0 +r 2179 0 1 0 10 0 s Complex128 +r 131 0 1 0 0 0 +r 131 0 2 0 116 0 +r 131 0 139 0 52 0 +r 131 0 3 0 132 0 +r 131 0 28 0 130 0 +r 131 0 5 0 2374 0 +r 131 0 141 0 52 0 +r 131 0 29 0 52 0 +r 131 0 7 0 53 0 +r 131 0 2911 0 135 0 +r 132 0 2 0 2929 0 +r 132 0 3 0 131 0 +r 132 0 5 0 2384 0 +r 132 0 7 0 53 0 +r 2180 0 2904 0 831 0 +r 2180 0 1 0 10 0 s Regular Expression +r 2181 0 2904 0 809 0 +r 2181 0 1 0 10 0 s Has Unit_ +r 133 0 1 0 68 0 +r 133 0 2 0 103 0 +r 133 0 139 0 130 0 +r 133 0 3 0 134 0 +r 133 0 28 0 130 0 +r 133 0 5 0 2251 0 +r 133 0 29 0 130 0 +r 133 0 7 0 53 0 +r 134 0 2 0 112 0 +r 134 0 3 0 133 0 +r 134 0 5 0 2356 0 +r 134 0 7 0 53 0 +r 2182 0 2904 0 781 0 +r 2182 0 1 0 10 0 s Has Shift +r 2183 0 2904 0 765 0 +r 2183 0 1 0 10 0 s Power Unit +r 135 0 1 0 106 0 +r 135 0 365 0 52 0 +r 135 0 38 0 131 0 +r 135 0 39 0 107 0 +r 2184 0 2904 0 805 0 +r 2184 0 1 0 10 0 s Has Lower Bound +r 136 0 2 0 116 0 +r 136 0 139 0 130 0 +r 136 0 3 0 139 0 +r 136 0 28 0 0 0 +r 136 0 5 0 2260 0 +r 136 0 29 0 138 0 +r 136 0 7 0 53 0 +r 2185 0 2904 0 779 0 +r 2185 0 1 0 10 0 s Shifted Unit Conversion +r 137 0 2 0 116 0 +r 137 0 139 0 130 0 +r 137 0 3 0 141 0 +r 137 0 28 0 0 0 +r 137 0 5 0 2359 0 +r 137 0 29 0 140 0 +r 137 0 7 0 53 0 +r 2186 0 2904 0 832 0 +r 2186 0 1 0 10 0 s Resource_ +r 138 0 1 0 33 0 +r 138 0 27 0 130 0 +r 138 0 27 0 52 0 +r 138 0 2908 0 136 0 +r 139 0 2 0 2929 0 +r 139 0 3 0 136 0 +r 139 0 5 0 2301 0 +r 139 0 7 0 53 0 +r 2187 0 2904 0 784 0 +r 2187 0 1 0 10 0 s String Type +r 2188 0 2904 0 767 0 +r 2188 0 1 0 10 0 s Has Exponent +r 140 0 1 0 33 0 +r 140 0 27 0 130 0 +r 140 0 27 0 52 0 +r 140 0 2908 0 137 0 +r 141 0 2 0 2929 0 +r 141 0 3 0 137 0 +r 141 0 5 0 2351 0 +r 141 0 7 0 53 0 +r 2189 0 2904 0 803 0 +r 2189 0 1 0 10 0 s Number Type +r 2190 0 2904 0 783 0 +r 2190 0 1 0 10 0 s Data Type +r 142 0 2 0 116 0 +r 142 0 3 0 143 0 +r 142 0 28 0 130 0 +r 142 0 5 0 2358 0 +r 142 0 29 0 130 0 +r 142 0 7 0 53 0 +r 143 0 2 0 2929 0 +r 143 0 3 0 142 0 +r 143 0 5 0 2361 0 +r 143 0 7 0 53 0 +r 2191 0 2904 0 801 0 +r 2191 0 1 0 10 0 s Record Type +r 2192 0 2904 0 830 0 +r 2192 0 1 0 10 0 s URI_ +r 144 0 2906 0 181 0 +r 144 0 2907 0 995 0 +r 144 0 2907 0 994 0 +r 144 0 2907 0 43 0 +r 144 0 59 0 1029 0 +r 144 0 59 0 999 0 +r 144 0 59 0 997 0 +r 144 0 59 0 991 0 +r 144 0 59 0 989 0 +r 144 0 59 0 383 0 +r 144 0 59 0 277 0 +r 144 0 59 0 219 0 +r 144 0 59 0 161 0 +r 144 0 59 0 145 0 +r 144 0 59 0 128 0 +r 144 0 59 0 26 0 +r 144 0 4 0 0 0 +r 144 0 5 0 2329 0 +r 144 0 7 0 50 0 +r 2193 0 2904 0 827 0 +r 2193 0 1 0 10 0 s Complex64 +r 145 0 1 0 144 0 +r 145 0 2 0 111 0 +r 145 0 2 0 110 0 +r 145 0 3 0 145 0 +r 145 0 5 0 2282 0 +r 145 0 29 0 52 0 +r 145 0 78 0 146 0 +r 145 0 7 0 53 0 +r 2194 0 2904 0 758 0 +r 2194 0 1 0 10 0 s Units +r 146 0 1 0 10 0 s Instances of a type tagged as Abstract cannot be directly instantiated. +r 146 0 2923 0 145 0 +r 2195 0 2904 0 817 0 +r 2195 0 1 0 10 0 s Real +r 147 0 1 0 10 0 s Instances of a type tagged Enumeration cannot be instantiated outside of the ontology that defines it. +r 147 0 2923 0 26 0 +r 2196 0 2904 0 807 0 +r 2196 0 1 0 10 0 s Has Upper Bound +r 148 0 1 0 10 0 s The cardinality of this relation is at most one. +r 148 0 2923 0 42 0 +r 2197 0 2904 0 786 0 +r 2197 0 1 0 10 0 s Has Min Length +r 149 0 1 0 10 0 s This relation acquires other relations. +r 149 0 2923 0 68 0 +r 2198 0 2904 0 790 0 +r 2198 0 1 0 10 0 s Has Pattern +r 150 0 1 0 106 0 +r 150 0 365 0 68 0 +r 150 0 38 0 66 0 +r 150 0 39 0 107 0 +r 2199 0 2904 0 833 0 +r 2199 0 1 0 10 0 s Boolean_ +r 151 0 104 0 153 0 +r 151 0 104 0 152 0 +r 151 0 129 0 154 0 +r 151 0 2907 0 70 0 +r 151 0 59 0 2012 0 +r 151 0 59 0 1979 0 +r 151 0 59 0 1957 0 +r 151 0 59 0 1954 0 +r 151 0 59 0 1931 0 +r 151 0 59 0 1877 0 +r 151 0 59 0 1849 0 +r 151 0 59 0 1827 0 +r 151 0 59 0 1804 0 +r 151 0 59 0 1769 0 +r 151 0 59 0 1766 0 +r 151 0 59 0 1753 0 +r 151 0 59 0 1740 0 +r 151 0 59 0 1737 0 +r 151 0 59 0 1724 0 +r 151 0 59 0 1721 0 +r 151 0 59 0 1704 0 +r 151 0 59 0 1631 0 +r 151 0 59 0 1609 0 +r 151 0 59 0 1586 0 +r 151 0 59 0 1391 0 +r 151 0 59 0 1083 0 +r 151 0 59 0 949 0 +r 151 0 59 0 947 0 +r 151 0 59 0 946 0 +r 151 0 2908 0 72 0 +r 151 0 4 0 25 0 +r 151 0 5 0 2274 0 +r 151 0 7 0 50 0 +r 2200 0 2904 0 810 0 +r 2200 0 1 0 10 0 s Resource Type +r 152 0 1 0 106 0 +r 152 0 365 0 151 0 +r 152 0 38 0 71 0 +r 152 0 39 0 107 0 +r 2201 0 2904 0 826 0 +r 2201 0 1 0 10 0 s Complex_ +r 153 0 1 0 106 0 +r 153 0 365 0 151 0 +r 153 0 38 0 72 0 +r 153 0 39 0 107 0 +r 2202 0 2904 0 760 0 +r 2202 0 1 0 10 0 s Scaled Unit +r 154 0 4 0 151 0 +r 154 0 5 0 2378 0 +r 154 0 7 0 50 0 +r 2203 0 2904 0 774 0 +r 2203 0 1 0 10 0 s Product Unit +r 155 0 1 0 130 0 +r 155 0 132 0 69 0 +r 155 0 142 0 156 0 +r 2204 0 2904 0 773 0 +r 2204 0 1 0 10 0 s Has Conversion +r 156 0 1 0 130 0 +r 156 0 132 0 52 0 +r 156 0 5 0 2288 0 +r 156 0 143 0 155 0 +r 2205 0 2904 0 816 0 +r 2205 0 1 0 10 0 s Number_ +r 157 0 104 0 234 0 +r 157 0 136 0 159 0 +r 157 0 136 0 158 0 +r 157 0 136 0 40 0 +r 157 0 136 0 39 0 +r 157 0 136 0 38 0 +r 157 0 136 0 30 0 +r 157 0 136 0 27 0 +r 157 0 129 0 244 0 +r 157 0 129 0 37 0 +r 157 0 129 0 36 0 +r 157 0 129 0 35 0 +r 157 0 129 0 34 0 +r 157 0 129 0 33 0 +r 157 0 129 0 32 0 +r 157 0 145 0 157 0 +r 157 0 137 0 40 0 +r 157 0 137 0 27 0 +r 157 0 2907 0 41 0 +r 157 0 2907 0 40 0 +r 157 0 2907 0 29 0 +r 157 0 2907 0 28 0 +r 157 0 2907 0 27 0 +r 157 0 4 0 25 0 +r 157 0 5 0 2271 0 +r 157 0 7 0 50 0 +r 2206 0 2904 0 771 0 +r 2206 0 1 0 10 0 s Has Symbol +r 158 0 2 0 94 0 +r 158 0 3 0 2932 0 +r 158 0 139 0 157 0 +r 158 0 28 0 196 0 +r 158 0 5 0 2334 0 +r 158 0 7 0 53 0 +r 158 0 2911 0 246 0 +r 158 0 2911 0 188 0 +r 2207 0 2904 0 819 0 +r 2207 0 1 0 10 0 s Int8 +r 159 0 2 0 94 0 +r 159 0 3 0 2933 0 +r 159 0 139 0 157 0 +r 159 0 28 0 12 0 +r 159 0 5 0 2298 0 +r 159 0 7 0 53 0 +r 159 0 2911 0 247 0 +r 2208 0 2904 0 854 0 +r 2208 0 1 0 10 0 s Has Alpha Data +r 160 0 104 0 253 0 +r 160 0 104 0 252 0 +r 160 0 104 0 251 0 +r 160 0 104 0 250 0 +r 160 0 136 0 161 0 +r 160 0 136 0 94 0 +r 160 0 137 0 94 0 +r 160 0 2907 0 161 0 +r 160 0 59 0 260 0 +r 160 0 59 0 58 0 +r 160 0 2908 0 161 0 +r 160 0 4 0 25 0 +r 160 0 5 0 2409 0 +r 160 0 7 0 50 0 +r 2209 0 2904 0 847 0 +r 2209 0 1 0 10 0 s Has Pixel Width +r 161 0 1 0 144 0 +r 161 0 2 0 111 0 +r 161 0 2 0 110 0 +r 161 0 3 0 161 0 +r 161 0 139 0 160 0 +r 161 0 60 0 268 0 +r 161 0 60 0 267 0 +r 161 0 60 0 266 0 +r 161 0 60 0 265 0 +r 161 0 60 0 259 0 +r 161 0 28 0 160 0 +r 161 0 5 0 2321 0 +r 161 0 29 0 160 0 +r 161 0 7 0 53 0 +r 2210 0 2904 0 871 0 +r 2210 0 1 0 10 0 s Has Matrix Type +r 162 0 1 0 106 0 +r 162 0 365 0 57 0 +r 162 0 38 0 5 0 +r 162 0 39 0 107 0 +r 2211 0 2904 0 851 0 +r 2211 0 1 0 10 0 s Has Image Data +r 163 0 1 0 106 0 +r 163 0 365 0 69 0 +r 163 0 38 0 6 0 +r 163 0 39 0 107 0 +r 2212 0 2904 0 872 0 +r 2212 0 1 0 10 0 s Has Matrix Image Index +r 164 0 1 0 106 0 +r 164 0 365 0 69 0 +r 164 0 38 0 97 0 +r 164 0 39 0 107 0 +r 2213 0 2904 0 848 0 +r 2213 0 1 0 10 0 s Has Pixel Height +r 165 0 1 0 106 0 +r 165 0 365 0 69 0 +r 165 0 38 0 101 0 +r 165 0 39 0 107 0 +r 2214 0 2904 0 879 0 +r 2214 0 1 0 10 0 s Image Library +r 166 0 1 0 10 0 s Is it reasonable to restrict possible libraries under Ontology? +r 166 0 2924 0 69 0 +r 2215 0 2904 0 846 0 +r 2215 0 1 0 10 0 s Has Image +r 167 0 40 0 168 0 +r 167 0 1 0 37 0 +r 167 0 2906 0 48 0 +r 167 0 38 0 9 0 +r 2216 0 2904 0 885 0 +r 2216 0 1 0 10 0 s Has Icon +r 168 0 2913 0 167 0 +r 168 0 1 0 33 0 +r 168 0 27 0 52 0 +r 168 0 27 0 48 0 +r 2217 0 2904 0 849 0 +r 2217 0 1 0 10 0 s Has Physical Width +r 169 0 40 0 170 0 +r 169 0 1 0 37 0 +r 169 0 2906 0 55 0 +r 169 0 38 0 9 0 +r 2218 0 2904 0 850 0 +r 2218 0 1 0 10 0 s Has Physical Height +r 170 0 2913 0 169 0 +r 170 0 1 0 33 0 +r 170 0 27 0 55 0 +r 170 0 27 0 0 0 +r 2219 0 2904 0 845 0 +r 2219 0 1 0 10 0 s Image +r 171 0 2906 0 173 0 +r 171 0 27 0 172 0 +r 171 0 4 0 57 0 +r 171 0 5 0 2311 0 +r 171 0 7 0 50 0 +r 2220 0 2904 0 874 0 +r 2220 0 1 0 10 0 s Matrix Image +r 172 0 40 0 173 0 +r 172 0 1 0 37 0 +r 172 0 2906 0 171 0 +r 172 0 38 0 9 0 +r 2221 0 2904 0 843 0 +r 2221 0 1 0 10 0 s Image Namespace +r 173 0 2913 0 172 0 +r 173 0 1 0 33 0 +r 173 0 27 0 174 0 +r 173 0 27 0 171 0 +r 2222 0 2904 0 855 0 +r 2222 0 1 0 10 0 s Bitmap Image +r 174 0 2906 0 173 0 +r 174 0 59 0 24 0 +r 174 0 4 0 52 0 +r 174 0 5 0 2243 0 +r 174 0 7 0 50 0 +r 2223 0 2904 0 882 0 +r 2223 0 1 0 10 0 s Icon Library +r 175 0 2906 0 177 0 +r 175 0 27 0 176 0 +r 175 0 4 0 57 0 +r 175 0 5 0 2341 0 +r 175 0 7 0 50 0 +r 2224 0 2904 0 30 0 +r 2224 0 1 0 10 0 s Has Type +r 176 0 40 0 177 0 +r 176 0 1 0 37 0 +r 176 0 2906 0 175 0 +r 176 0 38 0 9 0 +r 2225 0 2904 0 189 0 +r 2225 0 1 0 10 0 s Value +r 177 0 2913 0 176 0 +r 177 0 1 0 33 0 +r 177 0 27 0 178 0 +r 177 0 27 0 175 0 +r 178 0 2906 0 177 0 +r 178 0 5 0 2264 0 +r 2226 0 2904 0 202 0 +r 2226 0 1 0 10 0 s Has Perspective +r 2227 0 2904 0 39 0 +r 2227 0 1 0 10 0 s Has Cardinality +r 179 0 2906 0 181 0 +r 179 0 27 0 180 0 +r 179 0 4 0 57 0 +r 179 0 5 0 2368 0 +r 179 0 7 0 50 0 +r 2228 0 2904 0 19 0 +r 2228 0 1 0 10 0 s Double Array +r 180 0 40 0 181 0 +r 180 0 1 0 37 0 +r 180 0 2906 0 179 0 +r 180 0 38 0 9 0 +r 2229 0 2904 0 271 0 +r 2229 0 1 0 10 0 s Has Signature +r 181 0 2913 0 180 0 +r 181 0 1 0 33 0 +r 181 0 27 0 179 0 +r 181 0 27 0 144 0 +r 2230 0 2904 0 334 0 +r 2230 0 1 0 10 0 s Has Else Element +r 182 0 40 0 183 0 +r 182 0 1 0 37 0 +r 182 0 2906 0 63 0 +r 182 0 38 0 9 0 +r 2231 0 2904 0 33 0 +r 2231 0 1 0 10 0 s Requirement Disjunction +r 183 0 2913 0 182 0 +r 183 0 1 0 33 0 +r 183 0 27 0 63 0 +r 183 0 27 0 62 0 +r 2232 0 2904 0 303 0 +r 2232 0 1 0 10 0 s Composite Predicate +r 184 0 2 0 114 0 +r 184 0 3 0 94 0 +r 184 0 60 0 3280 0 +r 184 0 60 0 3279 0 +r 184 0 60 0 3278 0 +r 184 0 60 0 3146 0 +r 184 0 60 0 3134 0 +r 184 0 60 0 3133 0 +r 184 0 60 0 3132 0 +r 184 0 60 0 3131 0 +r 184 0 60 0 3130 0 +r 184 0 60 0 3129 0 +r 184 0 60 0 3128 0 +r 184 0 60 0 3127 0 +r 184 0 60 0 3126 0 +r 184 0 60 0 3125 0 +r 184 0 60 0 3124 0 +r 184 0 60 0 3123 0 +r 184 0 60 0 3122 0 +r 184 0 60 0 3121 0 +r 184 0 60 0 3120 0 +r 184 0 60 0 3119 0 +r 184 0 60 0 3118 0 +r 184 0 60 0 3117 0 +r 184 0 60 0 3116 0 +r 184 0 60 0 3115 0 +r 184 0 60 0 3114 0 +r 184 0 60 0 3113 0 +r 184 0 60 0 3112 0 +r 184 0 60 0 3111 0 +r 184 0 60 0 3110 0 +r 184 0 60 0 3109 0 +r 184 0 60 0 3102 0 +r 184 0 60 0 3101 0 +r 184 0 60 0 3099 0 +r 184 0 60 0 3098 0 +r 184 0 60 0 3095 0 +r 184 0 60 0 3094 0 +r 184 0 60 0 3086 0 +r 184 0 60 0 3085 0 +r 184 0 60 0 3084 0 +r 184 0 60 0 3074 0 +r 184 0 60 0 3073 0 +r 184 0 60 0 3072 0 +r 184 0 60 0 3071 0 +r 184 0 60 0 3070 0 +r 184 0 60 0 3069 0 +r 184 0 60 0 3064 0 +r 184 0 60 0 3063 0 +r 184 0 60 0 3061 0 +r 184 0 60 0 3057 0 +r 184 0 60 0 3056 0 +r 184 0 60 0 3052 0 +r 184 0 60 0 3051 0 +r 184 0 60 0 3050 0 +r 184 0 60 0 3049 0 +r 184 0 60 0 3048 0 +r 184 0 60 0 3044 0 +r 184 0 60 0 3043 0 +r 184 0 60 0 3040 0 +r 184 0 60 0 3039 0 +r 184 0 60 0 3038 0 +r 184 0 60 0 3028 0 +r 184 0 60 0 3026 0 +r 184 0 60 0 3025 0 +r 184 0 60 0 3018 0 +r 184 0 60 0 3017 0 +r 184 0 60 0 3016 0 +r 184 0 60 0 3015 0 +r 184 0 60 0 3012 0 +r 184 0 60 0 3011 0 +r 184 0 60 0 3010 0 +r 184 0 60 0 3009 0 +r 184 0 60 0 3008 0 +r 184 0 60 0 3007 0 +r 184 0 60 0 3005 0 +r 184 0 60 0 3004 0 +r 184 0 60 0 3003 0 +r 184 0 60 0 3002 0 +r 184 0 60 0 3001 0 +r 184 0 60 0 2996 0 +r 184 0 60 0 2995 0 +r 184 0 60 0 2994 0 +r 184 0 60 0 2993 0 +r 184 0 60 0 2992 0 +r 184 0 60 0 2991 0 +r 184 0 60 0 2990 0 +r 184 0 60 0 2989 0 +r 184 0 60 0 2988 0 +r 184 0 60 0 2987 0 +r 184 0 60 0 2986 0 +r 184 0 60 0 2985 0 +r 184 0 60 0 2981 0 +r 184 0 60 0 2980 0 +r 184 0 60 0 2975 0 +r 184 0 60 0 2970 0 +r 184 0 60 0 2969 0 +r 184 0 60 0 2956 0 +r 184 0 60 0 2953 0 +r 184 0 60 0 2951 0 +r 184 0 60 0 2949 0 +r 184 0 60 0 2948 0 +r 184 0 60 0 2946 0 +r 184 0 60 0 2938 0 +r 184 0 60 0 2937 0 +r 184 0 60 0 2936 0 +r 184 0 60 0 2935 0 +r 184 0 60 0 2934 0 +r 184 0 60 0 2933 0 +r 184 0 60 0 2932 0 +r 184 0 60 0 2930 0 +r 184 0 60 0 2927 0 +r 184 0 60 0 2926 0 +r 184 0 60 0 2925 0 +r 184 0 60 0 2924 0 +r 184 0 60 0 2923 0 +r 184 0 60 0 2918 0 +r 184 0 60 0 2917 0 +r 184 0 60 0 2916 0 +r 184 0 60 0 2912 0 +r 184 0 60 0 2905 0 +r 184 0 60 0 2904 0 +r 184 0 5 0 2307 0 +r 184 0 7 0 53 0 +r 2233 0 2904 0 60 0 +r 2233 0 1 0 10 0 s Superrelation Of +r 185 0 2 0 116 0 +r 185 0 2 0 94 0 +r 185 0 3 0 2934 0 +r 185 0 5 0 2247 0 +r 185 0 78 0 186 0 +r 185 0 7 0 53 0 +r 2234 0 2904 0 319 0 +r 2234 0 1 0 10 0 s Has Single Instance +r 186 0 1 0 10 0 s Property relations that need to be acquired through Inherits relations are subrelations of this relation. +r 186 0 2923 0 185 0 +r 2235 0 2904 0 315 0 +r 2235 0 1 0 10 0 s Intersection Predicate +r 187 0 104 0 188 0 +r 187 0 129 0 205 0 +r 187 0 2907 0 245 0 +r 187 0 59 0 189 0 +r 187 0 4 0 52 0 +r 187 0 5 0 2385 0 +r 187 0 7 0 50 0 +r 2236 0 2904 0 115 0 +r 2236 0 1 0 10 0 s Is Inheritantly Weakly Related To +r 188 0 1 0 106 0 +r 188 0 365 0 187 0 +r 188 0 38 0 158 0 +r 2237 0 2904 0 317 0 +r 2237 0 1 0 10 0 s Trigger +r 189 0 129 0 190 0 +r 189 0 129 0 23 0 +r 189 0 129 0 22 0 +r 189 0 129 0 21 0 +r 189 0 129 0 20 0 +r 189 0 129 0 19 0 +r 189 0 129 0 18 0 +r 189 0 129 0 17 0 +r 189 0 129 0 14 0 +r 189 0 129 0 10 0 +r 189 0 145 0 189 0 +r 189 0 1 0 187 0 +r 189 0 4 0 24 0 +r 189 0 2909 0 495 0 +r 189 0 5 0 2225 0 +r 189 0 7 0 50 0 +r 2238 0 2904 0 210 0 +r 2238 0 1 0 10 0 s Physical Float +r 190 0 129 0 16 0 +r 190 0 129 0 15 0 +r 190 0 129 0 13 0 +r 190 0 129 0 12 0 +r 190 0 129 0 11 0 +r 190 0 2907 0 1088 0 +r 190 0 4 0 189 0 +r 190 0 5 0 2426 0 +r 190 0 7 0 50 0 +r 2239 0 2904 0 313 0 +r 2239 0 1 0 10 0 s Union Predicate +r 191 0 1 0 10 0 s Name +r 191 0 2930 0 5 0 +r 2240 0 2904 0 10 0 +r 2240 0 1 0 10 0 s String +r 192 0 2921 0 949 0 +r 192 0 1 0 42 0 +r 192 0 2 0 94 0 +r 192 0 3 0 2935 0 +r 192 0 28 0 10 0 +r 192 0 5 0 2267 0 +r 192 0 126 0 193 0 +r 192 0 7 0 53 0 +r 192 0 2911 0 969 0 +r 192 0 2911 0 960 0 +r 192 0 2911 0 945 0 +r 2241 0 2904 0 13 0 +r 2241 0 1 0 10 0 s Float +r 193 0 1 0 10 0 s Label +r 193 0 2930 0 192 0 +r 2242 0 2904 0 330 0 +r 2242 0 1 0 10 0 s Has Condition +r 194 0 1 0 10 0 s Description +r 194 0 2930 0 78 0 +r 2243 0 2904 0 174 0 +r 2243 0 1 0 10 0 s Property Type +r 195 0 1 0 42 0 +r 195 0 2 0 94 0 +r 195 0 3 0 2936 0 +r 195 0 28 0 10 0 +r 195 0 5 0 2314 0 +r 195 0 7 0 53 0 +r 2244 0 2904 0 25 0 +r 2244 0 1 0 10 0 s Entity +r 196 0 2907 0 158 0 +r 196 0 2907 0 39 0 +r 196 0 59 0 300 0 +r 196 0 4 0 10 0 +r 196 0 5 0 2349 0 +r 196 0 7 0 50 0 +r 2245 0 2904 0 320 0 +r 2245 0 1 0 10 0 s Is Single Instance Of +r 197 0 1 0 10 0 s A Uniform Resource Identifier (URI) is just a unique string that uniquely identifies something, commonly a namespace. Sometimes they look like a URL that you could type into the address bar of your web browser, but it doesn't have to point to any physical resource on the web. +r 197 0 2923 0 88 0 +r 2246 0 2904 0 219 0 +r 2246 0 1 0 10 0 s Query +r 198 0 2907 0 736 0 +r 198 0 4 0 88 0 +r 198 0 5 0 2344 0 +r 198 0 78 0 199 0 +r 198 0 7 0 50 0 +r 2247 0 2904 0 185 0 +r 2247 0 1 0 10 0 s Has Inherited Property +r 199 0 1 0 10 0 s A Uniform Resource Locator (URL) is an URI which locates a resource on the web. +r 199 0 2923 0 198 0 +r 2248 0 2904 0 28 0 +r 2248 0 1 0 10 0 s Has Range +r 200 0 2 0 7 0 +r 200 0 3 0 64 0 +r 200 0 5 0 2419 0 +r 200 0 7 0 53 0 +r 2249 0 2904 0 113 0 +r 2249 0 1 0 10 0 s Is Composed Of +r 201 0 2907 0 202 0 +r 201 0 4 0 10 0 +r 201 0 5 0 2398 0 +r 201 0 7 0 50 0 +r 2250 0 2904 0 59 0 +r 2250 0 1 0 10 0 s Has Instance +r 202 0 2 0 94 0 +r 202 0 3 0 2937 0 +r 202 0 28 0 201 0 +r 202 0 5 0 2226 0 +r 202 0 7 0 53 0 +r 2251 0 2904 0 133 0 +r 2251 0 1 0 10 0 s Sub Extent Of +r 203 0 2907 0 204 0 +r 203 0 4 0 10 0 +r 203 0 5 0 2348 0 +r 203 0 7 0 50 0 +r 2252 0 2904 0 7 0 +r 2252 0 1 0 10 0 s Part Of +r 204 0 1 0 42 0 +r 204 0 2 0 94 0 +r 204 0 3 0 2938 0 +r 204 0 28 0 203 0 +r 204 0 5 0 2423 0 +r 204 0 7 0 53 0 +r 2253 0 2904 0 41 0 +r 2253 0 1 0 10 0 s Some Values Satisfy +r 205 0 104 0 206 0 +r 205 0 59 0 211 0 +r 205 0 59 0 210 0 +r 205 0 59 0 208 0 +r 205 0 4 0 187 0 +r 205 0 5 0 2407 0 +r 205 0 7 0 50 0 +r 2254 0 2904 0 44 0 +r 2254 0 1 0 10 0 s Has Stubs Package +r 206 0 1 0 106 0 +r 206 0 365 0 205 0 +r 206 0 38 0 207 0 +r 206 0 39 0 107 0 +r 2255 0 2904 0 286 0 +r 2255 0 1 0 10 0 s Default Property Provider +r 207 0 2 0 103 0 +r 207 0 3 0 2939 0 +r 207 0 28 0 10 0 +r 207 0 5 0 2375 0 +r 207 0 7 0 53 0 +r 207 0 2911 0 206 0 +r 2256 0 2904 0 307 0 +r 2256 0 1 0 10 0 s Applies Then +r 208 0 145 0 208 0 +r 208 0 1 0 205 0 +r 208 0 4 0 12 0 +r 208 0 5 0 2430 0 +r 208 0 7 0 50 0 +r 208 0 207 0 209 0 +r 2257 0 2904 0 311 0 +r 2257 0 1 0 10 0 s Transitive Closure +r 209 0 1 0 10 0 s Bogus +r 209 0 2939 0 208 0 +r 2258 0 2904 0 289 0 +r 2258 0 1 0 10 0 s Has Generated Name Prefix +r 210 0 145 0 210 0 +r 210 0 1 0 205 0 +r 210 0 4 0 13 0 +r 210 0 5 0 2238 0 +r 210 0 7 0 50 0 +r 2259 0 2904 0 273 0 +r 2259 0 1 0 10 0 s Has Method +r 211 0 145 0 211 0 +r 211 0 1 0 205 0 +r 211 0 4 0 11 0 +r 211 0 5 0 2346 0 +r 211 0 7 0 50 0 +r 2260 0 2904 0 136 0 +r 2260 0 1 0 10 0 s Includes +r 212 0 2 0 103 0 +r 212 0 3 0 2940 0 +r 212 0 139 0 217 0 +r 212 0 139 0 214 0 +r 212 0 28 0 10 0 +r 212 0 5 0 2299 0 +r 212 0 7 0 53 0 +r 212 0 2911 0 218 0 +r 212 0 2911 0 215 0 +r 2261 0 2904 0 75 0 +r 2261 0 1 0 10 0 s Configuration +r 213 0 2 0 103 0 +r 213 0 3 0 2941 0 +r 213 0 28 0 214 0 +r 213 0 5 0 2416 0 +r 213 0 7 0 53 0 +r 2262 0 2904 0 83 0 +r 2262 0 1 0 10 0 s Administration Project +r 214 0 136 0 212 0 +r 214 0 104 0 215 0 +r 214 0 2907 0 213 0 +r 214 0 4 0 25 0 +r 214 0 5 0 2405 0 +r 214 0 7 0 50 0 +r 2263 0 2904 0 130 0 +r 2263 0 1 0 10 0 s Extent +r 215 0 1 0 106 0 +r 215 0 365 0 214 0 +r 215 0 38 0 212 0 +r 215 0 39 0 107 0 +r 2264 0 2904 0 178 0 +r 2264 0 1 0 10 0 s Viewpoint +r 216 0 2 0 103 0 +r 216 0 3 0 2942 0 +r 216 0 28 0 217 0 +r 216 0 5 0 2429 0 +r 216 0 7 0 53 0 +r 2265 0 2904 0 62 0 +r 2265 0 1 0 10 0 s Namespace +r 217 0 136 0 212 0 +r 217 0 104 0 218 0 +r 217 0 2907 0 216 0 +r 217 0 4 0 25 0 +r 217 0 5 0 2393 0 +r 217 0 7 0 50 0 +r 2266 0 2904 0 328 0 +r 2266 0 1 0 10 0 s Conditional List +r 218 0 1 0 106 0 +r 218 0 365 0 217 0 +r 218 0 38 0 212 0 +r 218 0 39 0 107 0 +r 2267 0 2904 0 192 0 +r 2267 0 1 0 10 0 s Has Label +r 219 0 1 0 144 0 +r 219 0 2 0 110 0 +r 219 0 3 0 2943 0 +r 219 0 5 0 2246 0 +r 219 0 7 0 53 0 +r 2268 0 2904 0 310 0 +r 2268 0 1 0 10 0 s Has Binary Predicate +r 220 0 104 0 223 0 +r 220 0 104 0 221 0 +r 220 0 2907 0 719 0 +r 220 0 4 0 25 0 +r 220 0 5 0 2324 0 +r 220 0 7 0 50 0 +r 2269 0 2904 0 301 0 +r 2269 0 1 0 10 0 s Binary Predicates +r 221 0 1 0 106 0 +r 221 0 365 0 220 0 +r 221 0 38 0 222 0 +r 221 0 39 0 107 0 +r 2270 0 2904 0 5 0 +r 2270 0 1 0 10 0 s Has Name +r 222 0 1 0 226 0 +r 222 0 2 0 103 0 +r 222 0 3 0 227 0 +r 222 0 60 0 229 0 +r 222 0 5 0 2418 0 +r 222 0 7 0 53 0 +r 222 0 2911 0 221 0 +r 2271 0 2904 0 157 0 +r 2271 0 1 0 10 0 s Requirement +r 223 0 1 0 106 0 +r 223 0 365 0 220 0 +r 223 0 38 0 224 0 +r 223 0 39 0 225 0 +r 2272 0 2904 0 111 0 +r 2272 0 1 0 10 0 s Inverse Of Is Related To +r 224 0 1 0 42 0 +r 224 0 2 0 103 0 +r 224 0 3 0 2944 0 +r 224 0 5 0 2415 0 +r 224 0 7 0 53 0 +r 224 0 2911 0 223 0 +r 2273 0 2904 0 72 0 +r 2273 0 1 0 10 0 s Has Object +r 225 0 2912 0 1311 0 +r 225 0 2912 0 1305 0 +r 225 0 2912 0 1271 0 +r 225 0 2912 0 1143 0 +r 225 0 2912 0 1137 0 +r 225 0 2912 0 1136 0 +r 225 0 2912 0 1135 0 +r 225 0 2912 0 1130 0 +r 225 0 2912 0 1128 0 +r 225 0 2912 0 1114 0 +r 225 0 2912 0 1087 0 +r 225 0 2912 0 983 0 +r 225 0 2912 0 969 0 +r 225 0 2912 0 964 0 +r 225 0 2912 0 963 0 +r 225 0 2912 0 962 0 +r 225 0 2912 0 961 0 +r 225 0 2912 0 960 0 +r 225 0 2912 0 945 0 +r 225 0 2912 0 870 0 +r 225 0 2912 0 869 0 +r 225 0 2912 0 868 0 +r 225 0 2912 0 867 0 +r 225 0 2912 0 861 0 +r 225 0 2912 0 860 0 +r 225 0 2912 0 859 0 +r 225 0 2912 0 814 0 +r 225 0 2912 0 772 0 +r 225 0 2912 0 586 0 +r 225 0 2912 0 579 0 +r 225 0 2912 0 577 0 +r 225 0 2912 0 575 0 +r 225 0 2912 0 573 0 +r 225 0 2912 0 571 0 +r 225 0 2912 0 569 0 +r 225 0 2912 0 565 0 +r 225 0 2912 0 563 0 +r 225 0 2912 0 559 0 +r 225 0 2912 0 557 0 +r 225 0 2912 0 551 0 +r 225 0 2912 0 525 0 +r 225 0 2912 0 523 0 +r 225 0 2912 0 521 0 +r 225 0 2912 0 473 0 +r 225 0 2912 0 441 0 +r 225 0 2912 0 348 0 +r 225 0 2912 0 346 0 +r 225 0 2912 0 333 0 +r 225 0 2912 0 247 0 +r 225 0 2912 0 241 0 +r 225 0 2912 0 223 0 +r 225 0 1 0 345 0 +r 225 0 347 0 361 0 +r 225 0 5 0 360 0 +r 225 0 7 0 49 0 +r 2274 0 2904 0 151 0 +r 2274 0 1 0 10 0 s Assertion +r 226 0 129 0 1054 0 +r 226 0 129 0 966 0 +r 226 0 129 0 802 0 +r 226 0 129 0 801 0 +r 226 0 129 0 798 0 +r 226 0 129 0 774 0 +r 226 0 129 0 485 0 +r 226 0 129 0 325 0 +r 226 0 59 0 222 0 +r 226 0 4 0 42 0 +r 226 0 5 0 2279 0 +r 226 0 7 0 50 0 +r 2275 0 2904 0 64 0 +r 2275 0 1 0 10 0 s Consists Of Namespace +r 227 0 2 0 112 0 +r 227 0 3 0 222 0 +r 227 0 60 0 2945 0 +r 227 0 5 0 2289 0 +r 227 0 7 0 53 0 +r 2276 0 2904 0 249 0 +r 2276 0 1 0 10 0 s Has Default Value +r 228 0 9 0 229 0 +r 228 0 1 0 57 0 +r 228 0 5 0 2357 0 +r 228 0 7 0 49 0 +r 2277 0 2904 0 323 0 +r 2277 0 1 0 10 0 s Operation +r 229 0 2945 0 233 0 +r 229 0 2 0 222 0 +r 229 0 3 0 2945 0 +r 229 0 229 0 230 0 +r 229 0 7 0 228 0 +r 2278 0 2904 0 274 0 +r 2278 0 1 0 10 0 s Generic Relation +r 230 0 2945 0 229 0 +r 230 0 1 0 10 0 s First element +r 230 0 229 0 231 0 +r 2279 0 2904 0 226 0 +r 2279 0 1 0 10 0 s Ordered Set +r 231 0 2945 0 230 0 +r 231 0 1 0 10 0 s Second element +r 231 0 229 0 232 0 +r 2280 0 2904 0 48 0 +r 2280 0 1 0 10 0 s Type Library +r 232 0 2945 0 231 0 +r 232 0 1 0 10 0 s Third element +r 232 0 229 0 233 0 +r 2281 0 2904 0 278 0 +r 2281 0 1 0 10 0 s Relation Application +r 233 0 2945 0 232 0 +r 233 0 1 0 10 0 s Fourth element +r 233 0 229 0 229 0 +r 2282 0 2904 0 145 0 +r 2282 0 1 0 10 0 s Abstract +r 234 0 1 0 106 0 +r 234 0 365 0 157 0 +r 234 0 38 0 43 0 +r 2283 0 2904 0 16 0 +r 2283 0 1 0 10 0 s Long +r 235 0 1 0 106 0 +r 235 0 365 0 33 0 +r 235 0 38 0 27 0 +r 2284 0 2904 0 341 0 +r 2284 0 1 0 10 0 s Entity Type +r 236 0 1 0 106 0 +r 236 0 365 0 32 0 +r 236 0 38 0 27 0 +r 2285 0 2904 0 78 0 +r 2285 0 1 0 10 0 s Has Description +r 237 0 1 0 106 0 +r 237 0 365 0 34 0 +r 237 0 38 0 27 0 +r 237 0 39 0 107 0 +r 2286 0 2904 0 101 0 +r 2286 0 1 0 10 0 s Has Package Name +r 238 0 1 0 106 0 +r 238 0 365 0 36 0 +r 238 0 38 0 31 0 +r 238 0 39 0 107 0 +r 2287 0 2904 0 71 0 +r 2287 0 1 0 10 0 s Has Predicate +r 239 0 1 0 106 0 +r 239 0 365 0 35 0 +r 239 0 38 0 30 0 +r 239 0 39 0 107 0 +r 2288 0 2904 0 156 0 +r 2288 0 1 0 10 0 s Type Extent +r 240 0 1 0 106 0 +r 240 0 365 0 37 0 +r 240 0 38 0 38 0 +r 240 0 39 0 107 0 +r 2289 0 2904 0 227 0 +r 2289 0 1 0 10 0 s Has Previous +r 241 0 1 0 106 0 +r 241 0 365 0 37 0 +r 241 0 38 0 39 0 +r 241 0 39 0 225 0 +r 2290 0 2904 0 318 0 +r 2290 0 1 0 10 0 s Has Trigger +r 242 0 1 0 106 0 +r 242 0 365 0 37 0 +r 242 0 38 0 40 0 +r 2291 0 2904 0 268 0 +r 2291 0 1 0 10 0 s Model Configurator +r 243 0 1 0 106 0 +r 243 0 365 0 37 0 +r 243 0 38 0 41 0 +r 2292 0 2904 0 308 0 +r 2292 0 1 0 10 0 s Inverse Predicate +r 244 0 104 0 247 0 +r 244 0 104 0 246 0 +r 244 0 104 0 245 0 +r 244 0 2907 0 248 0 +r 244 0 4 0 157 0 +r 244 0 5 0 2347 0 +r 244 0 7 0 50 0 +r 2293 0 2904 0 36 0 +r 2293 0 1 0 10 0 s Equality Requirement +r 245 0 1 0 106 0 +r 245 0 28 0 187 0 +r 245 0 365 0 244 0 +r 245 0 38 0 30 0 +r 245 0 39 0 107 0 +r 2294 0 2904 0 45 0 +r 2294 0 1 0 10 0 s Has Stub Method +r 246 0 1 0 106 0 +r 246 0 365 0 244 0 +r 246 0 38 0 158 0 +r 246 0 39 0 107 0 +r 2295 0 2904 0 12 0 +r 2295 0 1 0 10 0 s Double +r 247 0 1 0 106 0 +r 247 0 365 0 244 0 +r 247 0 38 0 159 0 +r 247 0 39 0 225 0 +r 2296 0 2904 0 43 0 +r 2296 0 1 0 10 0 s Ignore +r 248 0 2 0 94 0 +r 248 0 3 0 2946 0 +r 248 0 28 0 244 0 +r 248 0 5 0 2386 0 +r 248 0 7 0 53 0 +r 2297 0 2904 0 347 0 +r 2297 0 1 0 10 0 s Has Max Cardinality +r 249 0 2 0 103 0 +r 249 0 3 0 2947 0 +r 249 0 5 0 2276 0 +r 249 0 7 0 53 0 +r 2298 0 2904 0 159 0 +r 2298 0 1 0 10 0 s Has Valid Numerical Range +r 250 0 1 0 106 0 +r 250 0 365 0 160 0 +r 250 0 38 0 5 0 +r 250 0 39 0 107 0 +r 2299 0 2904 0 212 0 +r 2299 0 1 0 10 0 s Has Documentation +r 251 0 1 0 106 0 +r 251 0 365 0 160 0 +r 251 0 38 0 78 0 +r 251 0 39 0 107 0 +r 2300 0 2904 0 99 0 +r 2300 0 1 0 10 0 s Version +r 252 0 1 0 106 0 +r 252 0 365 0 160 0 +r 252 0 38 0 61 0 +r 252 0 39 0 107 0 +r 2301 0 2904 0 139 0 +r 2301 0 1 0 10 0 s Is Included With +r 253 0 1 0 106 0 +r 253 0 365 0 160 0 +r 253 0 38 0 254 0 +r 253 0 39 0 107 0 +r 2302 0 2904 0 77 0 +r 2302 0 1 0 10 0 s Type System Project +r 254 0 2 0 94 0 +r 254 0 3 0 2948 0 +r 254 0 28 0 10 0 +r 254 0 5 0 2328 0 +r 254 0 7 0 53 0 +r 254 0 2911 0 253 0 +r 2303 0 2904 0 9 0 +r 2303 0 1 0 10 0 s Consists Of +r 255 0 2904 0 58 0 +r 255 0 1 0 10 0 s Default User +r 2304 0 2904 0 293 0 +r 2304 0 1 0 10 0 s Conjunction +r 256 0 1 0 10 0 s z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg== +r 256 0 2918 0 58 0 +r 2305 0 2904 0 267 0 +r 2305 0 1 0 10 0 s Library Developer +r 257 0 1 0 10 0 s Anonymous account. +r 257 0 2923 0 58 0 +r 2306 0 2904 0 24 0 +r 2306 0 1 0 10 0 s Property +r 258 0 1 0 10 0 s anonymous@example.org +r 258 0 2948 0 58 0 +r 2307 0 2904 0 184 0 +r 2307 0 1 0 10 0 s Property Of +r 259 0 2 0 161 0 +r 259 0 3 0 259 0 +r 259 0 5 0 2362 0 +r 259 0 7 0 53 0 +r 2308 0 2904 0 93 0 +r 2308 0 1 0 10 0 s Has Resource Class +r 260 0 265 0 260 0 +r 260 0 1 0 160 0 +r 260 0 61 0 262 0 +r 260 0 5 0 261 0 +r 260 0 254 0 264 0 +r 260 0 78 0 263 0 +r 260 0 7 0 73 0 +r 2309 0 2904 0 56 1 +r 2309 0 1 0 10 0 s Root Library +r 261 0 2904 0 260 0 +r 261 0 1 0 10 0 s Administrator +r 2310 0 2904 0 66 0 +r 2310 0 1 0 10 0 s Acquires +r 262 0 1 0 10 0 s x61Ey612Kl2gpFL56FT9weDnpSo4AV8j8+qx2AuTHdRyY036xxzTTrw10Wq3+4qQyB+XURPWx1ONxp3Y3pB37A== +r 262 0 2918 0 260 0 +r 2311 0 2904 0 171 0 +r 2311 0 1 0 10 0 s Property Library +r 263 0 1 0 10 0 s System administrator account. +r 263 0 2923 0 260 0 +r 2312 0 2904 0 288 0 +r 2312 0 1 0 10 0 s Has Change Code +r 264 0 1 0 10 0 s admin@example.org +r 264 0 2948 0 260 0 +r 2313 0 2904 0 37 0 +r 2313 0 1 0 10 0 s Relation Requirement +r 265 0 2 0 161 0 +r 265 0 3 0 265 0 +r 265 0 5 0 2355 0 +r 265 0 7 0 53 0 +r 2314 0 2904 0 195 0 +r 2314 0 1 0 10 0 s Has Stub Name +r 266 0 2 0 161 0 +r 266 0 3 0 266 0 +r 266 0 5 0 2389 0 +r 266 0 7 0 53 0 +r 2315 0 2904 0 27 0 +r 2315 0 1 0 10 0 s Has Requirement +r 267 0 2 0 161 0 +r 267 0 3 0 267 0 +r 267 0 5 0 2305 0 +r 267 0 7 0 53 0 +r 2316 0 2904 0 3 0 +r 2316 0 1 0 10 0 s Inverse Of +r 268 0 2 0 161 0 +r 268 0 3 0 268 0 +r 268 0 5 0 2291 0 +r 268 0 7 0 53 0 +r 2317 0 2904 0 1 0 +r 2317 0 1 0 10 0 s Instance Of +r 269 0 104 0 272 0 +r 269 0 104 0 270 0 +r 269 0 129 0 278 0 +r 269 0 2907 0 273 0 +r 269 0 2908 0 277 0 +r 269 0 4 0 25 0 +r 269 0 5 0 2352 0 +r 269 0 7 0 49 0 +r 2318 0 2904 0 343 0 +r 2318 0 1 0 10 0 s Requires +r 270 0 1 0 106 0 +r 270 0 365 0 269 0 +r 270 0 38 0 271 0 +r 270 0 39 0 107 0 +r 2319 0 2904 0 52 0 +r 2319 0 1 0 10 0 s Type +r 271 0 2 0 94 0 +r 271 0 3 0 2949 0 +r 271 0 28 0 10 0 +r 271 0 5 0 2229 0 +r 271 0 2911 0 275 0 +r 271 0 2911 0 270 0 +r 271 0 7 0 49 0 +r 2320 0 2904 0 277 0 +r 2320 0 1 0 10 0 s Is Operation +r 272 0 1 0 106 0 +r 272 0 365 0 269 0 +r 272 0 38 0 5 0 +r 272 0 39 0 107 0 +r 2321 0 2904 0 161 0 +r 2321 0 1 0 10 0 s Role +r 273 0 2 0 110 0 +r 273 0 3 0 2950 0 +r 273 0 28 0 269 0 +r 273 0 5 0 2259 0 +r 273 0 29 0 52 0 +r 273 0 7 0 49 0 +r 2322 0 2904 0 69 0 +r 2322 0 1 0 10 0 s Ontology +r 274 0 104 0 276 0 +r 274 0 104 0 275 0 +r 274 0 2907 0 282 0 +r 274 0 4 0 25 0 +r 274 0 5 0 2278 0 +r 274 0 7 0 49 0 +r 2323 0 2904 0 18 0 +r 2323 0 1 0 10 0 s Integer Array +r 275 0 1 0 106 0 +r 275 0 365 0 274 0 +r 275 0 38 0 271 0 +r 275 0 39 0 107 0 +r 2324 0 2904 0 220 0 +r 2324 0 1 0 10 0 s Linked List +r 276 0 1 0 106 0 +r 276 0 365 0 274 0 +r 276 0 38 0 5 0 +r 276 0 39 0 107 0 +r 2325 0 2904 0 57 0 +r 2325 0 1 0 10 0 s Library +r 277 0 1 0 144 0 +r 277 0 2 0 111 0 +r 277 0 2 0 110 0 +r 277 0 3 0 277 0 +r 277 0 5 0 2320 0 +r 277 0 29 0 269 0 +r 277 0 7 0 49 0 +r 2326 0 2904 0 26 0 +r 2326 0 1 0 10 0 s Enumeration +r 278 0 104 0 281 0 +r 278 0 104 0 279 0 +r 278 0 4 0 269 0 +r 278 0 5 0 2281 0 +r 278 0 7 0 49 0 +r 2327 0 2904 0 22 0 +r 2327 0 1 0 10 0 s Byte Array +r 279 0 1 0 106 0 +r 279 0 365 0 278 0 +r 279 0 38 0 280 0 +r 279 0 39 0 107 0 +r 2328 0 2904 0 254 0 +r 2328 0 1 0 10 0 s Has Email +r 280 0 2 0 94 0 +r 280 0 3 0 2951 0 +r 280 0 28 0 10 0 +r 280 0 5 0 2414 0 +r 280 0 2911 0 279 0 +r 280 0 7 0 49 0 +r 2329 0 2904 0 144 0 +r 2329 0 1 0 10 0 s Tag +r 281 0 1 0 106 0 +r 281 0 365 0 278 0 +r 281 0 38 0 282 0 +r 281 0 39 0 107 0 +r 2330 0 2904 0 65 0 +r 2330 0 1 0 10 0 s Has Namespace Root +r 282 0 2 0 110 0 +r 282 0 3 0 2952 0 +r 282 0 28 0 274 0 +r 282 0 5 0 2417 0 +r 282 0 2911 0 281 0 +r 282 0 7 0 49 0 +r 2331 0 2904 0 0 0 +r 2331 0 1 0 10 0 s Relation +r 283 0 2 0 94 0 +r 283 0 3 0 2953 0 +r 283 0 28 0 10 0 +r 283 0 5 0 2382 0 +r 283 0 7 0 53 0 +r 2332 0 2904 0 63 0 +r 2332 0 1 0 10 0 s Namespace Library +r 284 0 129 0 286 0 +r 284 0 2907 0 285 0 +r 284 0 4 0 25 0 +r 284 0 5 0 2373 0 +r 284 0 7 0 50 0 +r 2333 0 2904 0 21 0 +r 2333 0 1 0 10 0 s Boolean Array +r 285 0 2 0 103 0 +r 285 0 3 0 2954 0 +r 285 0 28 0 284 0 +r 285 0 5 0 2408 0 +r 285 0 29 0 52 0 +r 285 0 7 0 53 0 +r 2334 0 2904 0 158 0 +r 2334 0 1 0 10 0 s Has Multiplicity +r 286 0 104 0 287 0 +r 286 0 4 0 284 0 +r 286 0 5 0 2255 0 +r 286 0 7 0 50 0 +r 2335 0 2904 0 324 0 +r 2335 0 1 0 10 0 s Abstract Contextual List +r 287 0 1 0 106 0 +r 287 0 365 0 286 0 +r 287 0 38 0 94 0 +r 2336 0 2904 0 126 0 +r 2336 0 1 0 10 0 s Has Attribute Name +r 288 0 2 0 110 0 +r 288 0 3 0 2955 0 +r 288 0 28 0 16 0 +r 288 0 5 0 2312 0 +r 288 0 7 0 53 0 +r 2337 0 2904 0 344 0 +r 2337 0 1 0 10 0 s Evaluates To +r 289 0 192 0 290 0 +r 289 0 2 0 94 0 +r 289 0 3 0 2956 0 +r 289 0 28 0 10 0 +r 289 0 5 0 2258 0 +r 289 0 78 0 291 0 +r 289 0 7 0 53 0 +r 2338 0 2904 0 74 0 +r 2338 0 1 0 10 0 s Projects +r 290 0 1 0 10 0 s Generated Name Prefix +r 290 0 2935 0 289 0 +r 2339 0 2904 0 2 0 +r 2339 0 1 0 10 0 s Subrelation Of +r 291 0 1 0 10 0 s Indicates the prefix used to be used for naming instances of the property owner. +r 291 0 2923 0 289 0 +r 2340 0 2904 0 295 0 +r 2340 0 1 0 10 0 s Disjunction +r 292 0 9 0 297 0 +r 292 0 9 0 295 0 +r 292 0 9 0 293 0 +r 292 0 1 0 57 0 +r 292 0 5 0 2432 0 +r 292 0 7 0 49 0 +r 2341 0 2904 0 175 0 +r 2341 0 1 0 10 0 s Viewpoint Library +r 293 0 104 0 294 0 +r 293 0 4 0 118 0 +r 293 0 5 0 2304 0 +r 293 0 7 0 292 0 +r 2342 0 2904 0 88 0 +r 2342 0 1 0 10 0 s URI +r 294 0 1 0 106 0 +r 294 0 28 0 118 0 +r 294 0 365 0 293 0 +r 294 0 38 0 71 0 +r 2343 0 2904 0 31 0 +r 2343 0 1 0 10 0 s Has Entity +r 295 0 104 0 296 0 +r 295 0 4 0 118 0 +r 295 0 5 0 2340 0 +r 295 0 7 0 292 0 +r 2344 0 2904 0 198 0 +r 2344 0 1 0 10 0 s URL +r 296 0 1 0 106 0 +r 296 0 28 0 118 0 +r 296 0 365 0 295 0 +r 296 0 38 0 71 0 +r 2345 0 2904 0 106 0 +r 2345 0 1 0 10 0 s Property Definition +r 297 0 27 0 298 0 +r 297 0 4 0 118 0 +r 297 0 5 0 2376 0 +r 297 0 7 0 292 0 +r 2346 0 2904 0 211 0 +r 2346 0 1 0 10 0 s Physical Integer +r 298 0 40 0 299 0 +r 298 0 1 0 37 0 +r 298 0 2906 0 297 0 +r 298 0 38 0 71 0 +r 2347 0 2904 0 244 0 +r 2347 0 1 0 10 0 s Value Requirement +r 299 0 2913 0 298 0 +r 299 0 1 0 37 0 +r 299 0 38 0 118 0 +r 299 0 39 0 300 0 +r 2348 0 2904 0 203 0 +r 2348 0 1 0 10 0 s Default Perspective +r 300 0 2912 0 299 0 +r 300 0 1 0 196 0 s 1 +r 2349 0 2904 0 196 0 +r 2349 0 1 0 10 0 s Integer Range Union +r 301 0 9 0 315 0 +r 301 0 9 0 313 0 +r 301 0 9 0 311 0 +r 301 0 9 0 310 0 +r 301 0 9 0 308 0 +r 301 0 9 0 307 0 +r 301 0 9 0 305 0 +r 301 0 9 0 303 0 +r 301 0 9 0 302 0 +r 301 0 1 0 57 0 +r 301 0 5 0 2269 0 +r 301 0 7 0 49 0 +r 2350 0 2904 0 38 0 +r 2350 0 1 0 10 0 s Concerns Relation +r 302 0 1 0 123 0 +r 302 0 5 0 2388 0 +r 302 0 2911 0 915 0 +r 302 0 7 0 301 0 +r 2351 0 2904 0 141 0 +r 2351 0 1 0 10 0 s Is Propagated With +r 303 0 104 0 306 0 +r 303 0 104 0 304 0 +r 303 0 4 0 123 0 +r 303 0 5 0 2232 0 +r 303 0 7 0 301 0 +r 2352 0 2904 0 269 0 +r 2352 0 1 0 10 0 s Function +r 304 0 1 0 106 0 +r 304 0 365 0 303 0 +r 304 0 38 0 305 0 +r 304 0 39 0 107 0 +r 2353 0 2904 0 4 0 +r 2353 0 1 0 10 0 s Inherits +r 305 0 2 0 110 0 +r 305 0 3 0 2957 0 +r 305 0 28 0 123 0 +r 305 0 5 0 2354 0 +r 305 0 2911 0 304 0 +r 305 0 7 0 301 0 +r 2354 0 2904 0 305 0 +r 2354 0 1 0 10 0 s Applies First +r 306 0 1 0 106 0 +r 306 0 365 0 303 0 +r 306 0 38 0 307 0 +r 306 0 39 0 107 0 +r 2355 0 2904 0 265 0 +r 2355 0 1 0 10 0 s Admin +r 307 0 2 0 110 0 +r 307 0 3 0 2958 0 +r 307 0 28 0 123 0 +r 307 0 5 0 2256 0 +r 307 0 2911 0 306 0 +r 307 0 7 0 301 0 +r 2356 0 2904 0 134 0 +r 2356 0 1 0 10 0 s Super Extent Of +r 308 0 104 0 309 0 +r 308 0 4 0 123 0 +r 308 0 5 0 2292 0 +r 308 0 7 0 301 0 +r 2357 0 2904 0 228 0 +r 2357 0 1 0 10 0 s Examples +r 309 0 1 0 106 0 +r 309 0 365 0 308 0 +r 309 0 38 0 310 0 +r 309 0 39 0 107 0 +r 2358 0 2904 0 142 0 +r 2358 0 1 0 10 0 s Propagates To +r 310 0 2 0 110 0 +r 310 0 3 0 2959 0 +r 310 0 28 0 123 0 +r 310 0 5 0 2268 0 +r 310 0 2911 0 316 0 +r 310 0 2911 0 314 0 +r 310 0 2911 0 312 0 +r 310 0 2911 0 309 0 +r 310 0 7 0 301 0 +r 2359 0 2904 0 137 0 +r 2359 0 1 0 10 0 s Propagates +r 311 0 104 0 312 0 +r 311 0 4 0 123 0 +r 311 0 5 0 2257 0 +r 311 0 7 0 301 0 +r 2360 0 2904 0 40 0 +r 2360 0 1 0 10 0 s All Values Satisfy +r 312 0 1 0 106 0 +r 312 0 365 0 311 0 +r 312 0 38 0 310 0 +r 312 0 39 0 107 0 +r 2361 0 2904 0 143 0 +r 2361 0 1 0 10 0 s Propagates From +r 313 0 104 0 314 0 +r 313 0 4 0 123 0 +r 313 0 5 0 2239 0 +r 313 0 7 0 301 0 +r 2362 0 2904 0 259 0 +r 2362 0 1 0 10 0 s Model User +r 314 0 1 0 106 0 +r 314 0 365 0 313 0 +r 314 0 38 0 310 0 +r 2363 0 2904 0 342 0 +r 2363 0 1 0 10 0 s Constraint +r 315 0 104 0 316 0 +r 315 0 4 0 123 0 +r 315 0 5 0 2235 0 +r 315 0 7 0 301 0 +r 2364 0 2904 0 128 0 +r 2364 0 1 0 10 0 s Final +r 316 0 1 0 106 0 +r 316 0 365 0 315 0 +r 316 0 38 0 310 0 +r 2365 0 2904 0 94 0 +r 2365 0 1 0 10 0 s Has Property +r 317 0 129 0 1049 0 +r 317 0 2907 0 318 0 +r 317 0 4 0 25 0 +r 317 0 5 0 2237 0 +r 317 0 7 0 49 0 +r 2366 0 2904 0 97 0 +r 2366 0 1 0 10 0 s Has Version +r 318 0 2 0 110 0 +r 318 0 3 0 2960 0 +r 318 0 28 0 317 0 +r 318 0 5 0 2290 0 +r 318 0 7 0 49 0 +r 2367 0 2904 0 325 0 +r 2367 0 1 0 10 0 s Contextual List +r 319 0 2 0 111 0 +r 319 0 2 0 110 0 +r 319 0 3 0 320 0 +r 319 0 5 0 2234 0 +r 319 0 2911 0 322 0 +r 319 0 7 0 49 0 +r 2368 0 2904 0 179 0 +r 2368 0 1 0 10 0 s Tag Library +r 320 0 2 0 111 0 +r 320 0 2 0 110 0 +r 320 0 3 0 319 0 +r 320 0 5 0 2245 0 +r 320 0 7 0 49 0 +r 2369 0 2904 0 6 0 +r 2369 0 1 0 10 0 s Has Namespace +r 321 0 104 0 322 0 +r 321 0 4 0 52 0 +r 321 0 5 0 2412 0 +r 321 0 7 0 49 0 +r 2370 0 2904 0 17 0 +r 2370 0 1 0 10 0 s String Array +r 322 0 1 0 106 0 +r 322 0 365 0 321 0 +r 322 0 38 0 319 0 +r 322 0 39 0 107 0 +r 2371 0 2904 0 123 0 +r 2371 0 1 0 10 0 s Binary Predicate +r 323 0 59 0 1077 0 +r 323 0 59 0 1075 0 +r 323 0 59 0 1072 0 +r 323 0 59 0 1071 0 +r 323 0 59 0 1069 0 +r 323 0 59 0 1068 0 +r 323 0 59 0 1066 0 +r 323 0 59 0 1064 0 +r 323 0 59 0 1061 0 +r 323 0 4 0 25 0 +r 323 0 5 0 2277 0 +r 323 0 7 0 49 0 +r 2372 0 2904 0 11 0 +r 2372 0 1 0 10 0 s Integer +r 324 0 129 0 328 0 +r 324 0 129 0 326 0 +r 324 0 129 0 325 0 +r 324 0 2907 0 334 0 +r 324 0 2907 0 332 0 +r 324 0 4 0 25 0 +r 324 0 5 0 2335 0 +r 324 0 7 0 49 0 +r 2373 0 2904 0 284 0 +r 2373 0 1 0 10 0 s Property Provider +r 325 0 59 0 1073 0 +r 325 0 59 0 1070 0 +r 325 0 59 0 1067 0 +r 325 0 59 0 1062 0 +r 325 0 59 0 1060 0 +r 325 0 4 0 324 0 +r 325 0 4 0 226 0 +r 325 0 5 0 2367 0 +r 325 0 7 0 49 0 +r 2374 0 2904 0 131 0 +r 2374 0 1 0 10 0 s Has Extent +r 326 0 104 0 327 0 +r 326 0 59 0 1059 0 +r 326 0 59 0 1058 0 +r 326 0 4 0 324 0 +r 326 0 5 0 2390 0 +r 326 0 7 0 49 0 +r 2375 0 2904 0 207 0 +r 2375 0 1 0 10 0 s Has Unit +r 327 0 1 0 106 0 +r 327 0 365 0 326 0 +r 327 0 38 0 127 0 +r 327 0 39 0 107 0 +r 2376 0 2904 0 297 0 +r 2376 0 1 0 10 0 s Negation +r 328 0 104 0 333 0 +r 328 0 104 0 331 0 +r 328 0 104 0 329 0 +r 328 0 59 0 1076 0 +r 328 0 59 0 1074 0 +r 328 0 59 0 1065 0 +r 328 0 59 0 1063 0 +r 328 0 4 0 324 0 +r 328 0 5 0 2266 0 +r 328 0 7 0 49 0 +r 2377 0 2904 0 35 0 +r 2377 0 1 0 10 0 s Type Requirement +r 329 0 1 0 106 0 +r 329 0 365 0 328 0 +r 329 0 38 0 330 0 +r 329 0 39 0 107 0 +r 2378 0 2904 0 154 0 +r 2378 0 1 0 10 0 s Overridable Assertion +r 330 0 2 0 110 0 +r 330 0 3 0 2961 0 +r 330 0 28 0 118 0 +r 330 0 5 0 2242 0 +r 330 0 2911 0 329 0 +r 330 0 7 0 49 0 +r 2379 0 2904 0 116 0 +r 2379 0 1 0 10 0 s Is Inheritantly Related To +r 331 0 1 0 106 0 +r 331 0 365 0 328 0 +r 331 0 38 0 332 0 +r 331 0 39 0 107 0 +r 2380 0 2904 0 34 0 +r 2380 0 1 0 10 0 s Requirement Negation +r 332 0 2 0 110 0 +r 332 0 3 0 2962 0 +r 332 0 28 0 324 0 +r 332 0 5 0 2428 0 +r 332 0 2911 0 331 0 +r 332 0 7 0 49 0 +r 2381 0 2904 0 68 0 +r 2381 0 1 0 10 0 s Acquiring Relation +r 333 0 1 0 106 0 +r 333 0 365 0 328 0 +r 333 0 38 0 334 0 +r 333 0 39 0 225 0 +r 2382 0 2904 0 283 0 +r 2382 0 1 0 10 0 s Has Textual Issue +r 334 0 2 0 110 0 +r 334 0 3 0 2963 0 +r 334 0 28 0 324 0 +r 334 0 5 0 2230 0 +r 334 0 2911 0 333 0 +r 334 0 7 0 49 0 +r 2383 0 2904 0 127 0 +r 2383 0 1 0 10 0 s Has Relation +r 335 0 1 0 14 0 b true +r 335 0 5 0 336 0 +r 335 0 7 0 49 0 +r 2384 0 2904 0 132 0 +r 2384 0 1 0 10 0 s Extent Of +r 336 0 2904 0 335 0 +r 336 0 1 0 10 0 s True +r 2385 0 2904 0 187 0 +r 2385 0 1 0 10 0 s Value Type +r 337 0 1 0 14 0 b false +r 337 0 5 0 338 0 +r 337 0 7 0 49 0 +r 2386 0 2904 0 248 0 +r 2386 0 1 0 10 0 s Has Value Requirement +r 338 0 2904 0 337 0 +r 338 0 1 0 10 0 s False +r 2387 0 2904 0 80 0 +r 2387 0 1 0 10 0 s Has Comment +r 339 0 1 0 10 0 s +r 339 0 5 0 340 0 +r 339 0 7 0 49 0 +r 2388 0 2904 0 302 0 +r 2388 0 1 0 10 0 s Ordered Set Elements +r 340 0 2904 0 339 0 +r 340 0 1 0 10 0 s Empty String +r 2389 0 2904 0 266 0 +r 2389 0 1 0 10 0 s Kernel Developer +r 341 0 4 0 52 0 +r 341 0 5 0 2284 0 +r 341 0 7 0 49 0 +r 2390 0 2904 0 326 0 +r 2390 0 1 0 10 0 s Type Based List +r 342 0 4 0 25 0 +r 342 0 5 0 2363 0 +r 342 0 7 0 49 0 +r 2391 0 2904 0 61 0 +r 2391 0 1 0 10 0 s Has Password Hash +r 343 0 2 0 110 0 +r 343 0 3 0 2964 0 +r 343 0 5 0 2318 0 +r 343 0 7 0 49 0 +r 2392 0 2904 0 85 0 +r 2392 0 1 0 10 0 s Type System Namespaces +r 344 0 2 0 110 0 +r 344 0 3 0 2965 0 +r 344 0 5 0 2337 0 +r 344 0 7 0 49 0 +r 2393 0 2904 0 217 0 +r 2393 0 1 0 10 0 s Document Template +r 345 0 104 0 348 0 +r 345 0 104 0 346 0 +r 345 0 59 0 362 0 +r 345 0 59 0 356 0 +r 345 0 59 0 350 0 +r 345 0 59 0 225 0 +r 345 0 59 0 107 0 +r 345 0 4 0 25 0 +r 345 0 5 0 2397 0 +r 345 0 7 0 49 0 +r 2394 0 2904 0 73 0 +r 2394 0 1 0 10 0 s Users +r 346 0 1 0 106 0 +r 346 0 28 0 11 0 +r 346 0 365 0 345 0 +r 346 0 38 0 347 0 +r 346 0 39 0 225 0 +r 2395 0 2904 0 42 0 +r 2395 0 1 0 10 0 s Functional Relation +r 347 0 2 0 110 0 +r 347 0 3 0 2966 0 +r 347 0 5 0 2297 0 +r 347 0 2911 0 346 0 +r 347 0 7 0 49 0 +r 2396 0 2904 0 23 0 +r 2396 0 1 0 10 0 s Long Array +r 348 0 1 0 106 0 +r 348 0 28 0 11 0 +r 348 0 365 0 345 0 +r 348 0 38 0 349 0 +r 348 0 39 0 225 0 +r 2397 0 2904 0 345 0 +r 2397 0 1 0 10 0 s Cardinality Restriction +r 349 0 2 0 110 0 +r 349 0 3 0 2967 0 +r 349 0 5 0 2403 0 +r 349 0 2911 0 348 0 +r 349 0 7 0 49 0 +r 2398 0 2904 0 201 0 +r 2398 0 1 0 10 0 s Perspective +r 350 0 2912 0 1132 0 +r 350 0 1 0 345 0 +r 350 0 347 0 352 0 +r 350 0 5 0 351 0 +r 350 0 7 0 49 0 +r 2399 0 2904 0 109 0 +r 2399 0 1 0 10 0 s Context +r 351 0 2904 0 350 0 +r 351 0 1 0 10 0 s Cardinality 0 +r 2400 0 2904 0 14 0 +r 2400 0 1 0 10 0 s Boolean +r 352 0 1 0 11 0 i 0 +r 352 0 2966 0 350 0 +r 2401 0 2904 0 29 0 +r 2401 0 1 0 10 0 s Has Domain +r 353 0 2904 0 107 0 +r 353 0 1 0 10 0 s Cardinality 1 +r 2402 0 2904 0 67 0 +r 2402 0 1 0 10 0 s Is Acquired By +r 354 0 1 0 11 0 i 1 +r 354 0 2967 0 107 0 +r 2403 0 2904 0 349 0 +r 2403 0 1 0 10 0 s Has Min Cardinality +r 355 0 1 0 11 0 i 1 +r 355 0 2966 0 107 0 +r 2404 0 2904 0 8 0 +r 2404 0 1 0 10 0 s Is Weakly Related To +r 356 0 2912 0 688 0 +r 356 0 1 0 345 0 +r 356 0 347 0 359 0 +r 356 0 349 0 358 0 +r 356 0 5 0 357 0 +r 356 0 7 0 49 0 +r 2405 0 2904 0 214 0 +r 2405 0 1 0 10 0 s Report +r 357 0 2904 0 356 0 +r 357 0 1 0 10 0 s Cardinality 2 +r 2406 0 2904 0 114 0 +r 2406 0 1 0 10 0 s Is Owned By +r 358 0 1 0 11 0 i 2 +r 358 0 2967 0 356 0 +r 2407 0 2904 0 205 0 +r 2407 0 1 0 10 0 s Physical Property Type +r 359 0 1 0 11 0 i 2 +r 359 0 2966 0 356 0 +r 2408 0 2904 0 285 0 +r 2408 0 1 0 10 0 s Has Property Provider +r 360 0 2904 0 225 0 +r 360 0 1 0 10 0 s Cardinality at most 1 +r 2409 0 2904 0 160 0 +r 2409 0 1 0 10 0 s User +r 361 0 1 0 11 0 i 1 +r 361 0 2966 0 225 0 +r 2410 0 2904 0 112 0 +r 2410 0 1 0 10 0 s Is Dependency Of +r 362 0 2912 0 648 0 +r 362 0 1 0 345 0 +r 362 0 349 0 364 0 +r 362 0 5 0 363 0 +r 362 0 7 0 49 0 +r 2411 0 2904 0 20 0 +r 2411 0 1 0 10 0 s Float Array +r 363 0 2904 0 362 0 +r 363 0 1 0 10 0 s Cardinality at least 1 +r 2412 0 2904 0 321 0 +r 2412 0 1 0 10 0 s Singleton +r 364 0 1 0 11 0 i 1 +r 364 0 2967 0 362 0 +r 2413 0 2904 0 32 0 +r 2413 0 1 0 10 0 s Requirement Conjunction +r 365 0 2 0 111 0 +r 365 0 2 0 110 0 +r 365 0 3 0 104 0 +r 365 0 5 0 2433 0 +r 365 0 7 0 53 0 +r 2414 0 2904 0 280 0 +r 2414 0 1 0 10 0 s Has Binding Pattern +r 366 0 9 0 408 0 +r 366 0 9 0 401 0 +r 366 0 9 0 398 0 +r 366 0 9 0 397 0 +r 366 0 9 0 396 0 +r 366 0 9 0 394 0 +r 366 0 9 0 392 0 +r 366 0 9 0 390 0 +r 366 0 9 0 389 0 +r 366 0 9 0 388 0 +r 366 0 9 0 384 0 +r 366 0 9 0 383 0 +r 366 0 9 0 381 0 +r 366 0 9 0 380 0 +r 366 0 9 0 379 0 +r 366 0 9 0 376 0 +r 366 0 9 0 375 0 +r 366 0 97 0 369 0 +r 366 0 1 0 69 0 +r 366 0 93 0 370 0 +r 366 0 5 0 367 0 +r 366 0 6 0 368 0 +r 366 0 2919 0 371 0 +r 366 0 7 0 89 0 +r 366 0 7 0 77 0 +r 2415 0 2904 0 224 0 +r 2415 0 1 0 10 0 s Has Element +r 367 0 2904 0 366 0 +r 367 0 1 0 10 0 s Project-1.0 +r 2416 0 2904 0 213 0 +r 2416 0 1 0 10 0 s Has Report Factory +r 368 0 2905 0 366 0 +r 368 0 1 0 88 0 s http://www.simantics.org/Ontology/Project/1.0 +r 2417 0 2904 0 282 0 +r 2417 0 1 0 10 0 s Applies Relation +r 369 0 1 0 99 0 s 1.0 +r 369 0 2926 0 366 0 +r 2418 0 2904 0 222 0 +r 2418 0 1 0 10 0 s Has Next +r 370 0 1 0 10 0 s org.simantics.db.Builtins +r 370 0 2925 0 366 0 +r 2419 0 2904 0 200 0 +r 2419 0 1 0 10 0 s Namespace Of +r 371 0 200 0 56 1 +r 371 0 65 0 366 0 +r 371 0 1 0 62 0 +r 371 0 5 0 372 0 +r 371 0 6 0 373 0 +r 371 0 7 0 85 0 +r 2420 0 2904 0 104 0 +r 2420 0 1 0 10 0 s Has Property Definition +r 372 0 2904 0 371 0 +r 372 0 1 0 10 0 s http://www.simantics.org/Ontology/Project/1.0 +r 2421 0 2904 0 55 0 +r 2421 0 1 0 10 0 s Relation Library +r 373 0 2905 0 371 0 +r 373 0 1 0 88 0 s http://www.simantics.org/Ontology/Project/1.0 +r 2422 0 2904 0 129 0 +r 2422 0 1 0 10 0 s Supertype Of +r 374 0 9 0 1353 0 +r 374 0 9 0 1100 0 +r 374 0 9 0 1020 0 +r 374 0 9 0 891 0 +r 374 0 9 0 410 0 +r 374 0 1 0 25 0 +r 374 0 5 0 2777 0 +r 374 0 7 0 75 0 +r 2423 0 2904 0 204 0 +r 2423 0 1 0 10 0 s Has Default Perspective +r 375 0 59 0 376 0 +r 375 0 4 0 25 0 +r 375 0 5 0 2774 0 +r 375 0 7 0 366 0 +r 2424 0 2904 0 103 0 +r 2424 0 1 0 10 0 s Depends On +r 376 0 1056 0 1070 0 +r 376 0 104 0 378 0 +r 376 0 104 0 377 0 +r 376 0 1 0 375 0 +r 376 0 59 0 83 0 +r 376 0 59 0 77 0 +r 376 0 4 0 109 0 +r 376 0 4 0 57 0 +r 376 0 5 0 2776 0 +r 376 0 7 0 366 0 +r 2425 0 2904 0 110 0 +r 2425 0 1 0 10 0 s Is Related To +r 377 0 1 0 106 0 +r 377 0 28 0 57 0 +r 377 0 365 0 376 0 +r 377 0 38 0 9 0 +r 2426 0 2904 0 190 0 +r 2426 0 1 0 10 0 s Number +r 378 0 1 0 106 0 +r 378 0 365 0 376 0 +r 378 0 38 0 379 0 +r 2427 0 2904 0 118 0 +r 2427 0 1 0 10 0 s Predicate +r 379 0 2 0 103 0 +r 379 0 3 0 2968 0 +r 379 0 28 0 387 0 +r 379 0 5 0 2773 0 +r 379 0 7 0 366 0 +r 379 0 2911 0 378 0 +r 2428 0 2904 0 332 0 +r 2428 0 1 0 10 0 s Has Then Element +r 380 0 2 0 94 0 +r 380 0 3 0 2969 0 +r 380 0 28 0 10 0 +r 380 0 5 0 2778 0 +r 380 0 7 0 366 0 +r 380 0 2911 0 386 0 +r 2429 0 2904 0 216 0 +r 2429 0 1 0 10 0 s Has Document Template +r 381 0 129 0 453 0 +r 381 0 129 0 408 0 +r 381 0 129 0 398 0 +r 381 0 129 0 397 0 +r 381 0 129 0 396 0 +r 381 0 2906 0 387 0 +r 381 0 2907 0 392 0 +r 381 0 2907 0 390 0 +r 381 0 59 0 1354 0 +r 381 0 59 0 1103 0 +r 381 0 59 0 1100 0 +r 381 0 59 0 1022 0 +r 381 0 59 0 1021 0 +r 381 0 59 0 1020 0 +r 381 0 59 0 891 0 +r 381 0 59 0 410 0 +r 381 0 2908 0 392 0 +r 381 0 2908 0 390 0 +r 381 0 2908 0 383 0 +r 381 0 4 0 25 0 +r 381 0 5 0 2787 0 +r 381 0 78 0 382 0 +r 381 0 7 0 366 0 +r 2430 0 2904 0 208 0 +r 2430 0 1 0 10 0 s Physical Double +r 382 0 1 0 10 0 s An entity that is used to attach a feature to a project instance. Features are defined through database resource adaptation. This feature can then configure itself into that project and also deconfigure itself from that project. The configuration happens through the org.simantics.project.features.IProjectFeature interface into which instances of this entity must be adaptable. Project features should also be adaptable to org.simatnics.project.features.IProjectFeatureDescriptor and optionally org.simantics.project.IProjectLifeCycle. +r 382 0 2923 0 381 0 +r 2431 0 2904 0 70 0 +r 2431 0 1 0 10 0 s Asserts +r 383 0 1 0 144 0 +r 383 0 2 0 111 0 +r 383 0 2 0 110 0 +r 383 0 3 0 383 0 +r 383 0 5 0 2775 0 +r 383 0 29 0 381 0 +r 383 0 7 0 366 0 +r 2432 0 2904 0 292 0 +r 2432 0 1 0 10 0 s Predicates +r 384 0 104 0 386 0 +r 384 0 2906 0 387 0 +r 384 0 4 0 25 0 +r 384 0 5 0 2784 0 +r 384 0 78 0 385 0 +r 384 0 7 0 366 0 +r 2433 0 2904 0 365 0 +r 2433 0 1 0 10 0 s Is Property Definition Of +r 385 0 1 0 10 0 s An entity that is used to attach a feature to a project instance. Extension features are defined through the Eclipse extension framework. This feature can then configure itself into that project and also deconfigure itself from that project. The configuration happens through the org.simantics.project.features.IProjectFeature interface into which instances of this entity must be adaptable. +r 385 0 2923 0 384 0 +r 2434 0 2904 0 76 0 +r 2434 0 1 0 10 0 s Agent Servers +r 386 0 1 0 106 0 +r 386 0 365 0 384 0 +r 386 0 38 0 380 0 +r 386 0 39 0 107 0 +r 2435 0 2904 0 15 0 +r 2435 0 1 0 10 0 s Byte +r 387 0 1 0 33 0 +r 387 0 2907 0 379 0 +r 387 0 27 0 384 0 +r 387 0 27 0 381 0 +r 2436 0 2904 0 978 0 +r 2436 0 1 0 10 0 s Is Branch Point Of +r 388 0 2 0 103 0 +r 388 0 3 0 389 0 +r 388 0 5 0 2783 0 +r 388 0 7 0 366 0 +r 2437 0 2904 0 1012 0 +r 2437 0 1 0 10 0 s Landscape +r 389 0 2 0 112 0 +r 389 0 3 0 388 0 +r 389 0 5 0 2769 0 +r 389 0 7 0 366 0 +r 2438 0 2904 0 955 0 +r 2438 0 1 0 10 0 s Has Link Target +r 390 0 2 0 111 0 +r 390 0 2 0 110 0 +r 390 0 3 0 390 0 +r 390 0 28 0 381 0 +r 390 0 5 0 2782 0 +r 390 0 29 0 381 0 +r 390 0 78 0 391 0 +r 390 0 7 0 366 0 +r 2439 0 2904 0 920 0 +r 2439 0 1 0 10 0 s Has Allowed Connection Direction +r 391 0 1 0 10 0 s Used to indicate that the referencing feature is guaranteed to be compatible with the referenced feature. +r 391 0 2923 0 390 0 +r 2440 0 2904 0 916 0 +r 2440 0 1 0 10 0 s Shape +r 392 0 2 0 111 0 +r 392 0 2 0 110 0 +r 392 0 3 0 392 0 +r 392 0 28 0 381 0 +r 392 0 5 0 2779 0 +r 392 0 29 0 381 0 +r 392 0 78 0 393 0 +r 392 0 7 0 366 0 +r 2441 0 2904 0 965 0 +r 2441 0 1 0 10 0 s Has Resource Path +r 393 0 1 0 10 0 s Used to indicate that the referencing feature is known to be incompatible with the referenced feature. +r 393 0 2923 0 392 0 +r 2442 0 2904 0 911 0 +r 2442 0 1 0 10 0 s Has Connection Variable +r 394 0 2 0 94 0 +r 394 0 3 0 2970 0 +r 394 0 28 0 395 0 +r 394 0 5 0 2781 0 +r 394 0 7 0 366 0 +r 394 0 2911 0 409 0 +r 394 0 2911 0 400 0 +r 2443 0 2904 0 909 0 +r 2443 0 1 0 10 0 s Terminal +r 395 0 1 0 33 0 +r 395 0 2907 0 394 0 +r 395 0 27 0 88 0 +r 395 0 27 0 62 0 +r 2444 0 2904 0 996 0 +r 2444 0 1 0 10 0 s Is Active +r 396 0 59 0 402 0 +r 396 0 4 0 381 0 +r 396 0 5 0 2772 0 +r 396 0 7 0 366 0 +r 2445 0 2904 0 931 0 +r 2445 0 1 0 10 0 s Has Flag Type +r 397 0 59 0 405 0 +r 397 0 4 0 381 0 +r 397 0 5 0 2785 0 +r 397 0 7 0 366 0 +r 2446 0 2904 0 953 0 +r 2446 0 1 0 10 0 s Link +r 398 0 104 0 400 0 +r 398 0 4 0 381 0 +r 398 0 5 0 2786 0 +r 398 0 78 0 399 0 +r 398 0 7 0 366 0 +r 2447 0 2904 0 903 0 +r 2447 0 1 0 10 0 s Composite +r 399 0 1 0 10 0 s Features of this type are used for describing ontology requirements. +r 399 0 2923 0 398 0 +r 2448 0 2904 0 937 0 +r 2448 0 1 0 10 0 s Output Flag +r 400 0 1 0 106 0 +r 400 0 365 0 398 0 +r 400 0 38 0 394 0 +r 2449 0 2904 0 951 0 +r 2449 0 1 0 10 0 s Flag Terminal +r 401 0 9 0 405 0 +r 401 0 9 0 402 0 +r 401 0 1 0 57 0 +r 401 0 5 0 2770 0 +r 401 0 7 0 366 0 +r 2450 0 2904 0 904 0 +r 2450 0 1 0 10 0 s Diagram +r 402 0 1 0 396 0 +r 402 0 389 0 1354 0 +r 402 0 5 0 403 0 +r 402 0 78 0 404 0 +r 402 0 7 0 401 0 +r 2451 0 2904 0 994 0 +r 2451 0 1 0 10 0 s Has Visible Tag +r 403 0 2904 0 402 0 +r 403 0 1 0 10 0 s Experiment Control +r 2452 0 2904 0 972 0 +r 2452 0 1 0 10 0 s Connector +r 404 0 1 0 10 0 s Experiment control feature provides generic facilities for controlling the execution of simulation sequences. +r 404 0 2923 0 402 0 +r 2453 0 2904 0 1004 0 +r 2453 0 1 0 10 0 s Has Page Description +r 405 0 1 0 397 0 +r 405 0 5 0 406 0 +r 405 0 78 0 407 0 +r 405 0 7 0 401 0 +r 2454 0 2904 0 989 0 +r 2454 0 1 0 10 0 s Horizontal +r 406 0 2904 0 405 0 +r 406 0 1 0 10 0 s Model Manager +r 2455 0 2904 0 908 0 +r 2455 0 1 0 10 0 s Transform Parameter +r 407 0 1 0 10 0 s Model management feature provides generic facilities for building models. +r 407 0 2923 0 405 0 +r 2456 0 2904 0 934 0 +r 2456 0 1 0 10 0 s Flag Mode +r 408 0 104 0 409 0 +r 408 0 59 0 1353 0 +r 408 0 4 0 381 0 +r 408 0 5 0 2780 0 +r 408 0 7 0 366 0 +r 2457 0 2904 0 1008 0 +r 2457 0 1 0 10 0 s Page Orientation +r 409 0 1 0 106 0 +r 409 0 365 0 408 0 +r 409 0 38 0 394 0 +r 2458 0 2904 0 976 0 +r 2458 0 1 0 10 0 s Is Input Of +r 410 0 2968 0 83 0 +r 410 0 1 0 381 0 +r 410 0 5 0 2771 0 +r 410 0 78 0 411 0 +r 410 0 7 0 374 0 +r 2459 0 2904 0 992 0 +r 2459 0 1 0 10 0 s Has Layer +r 411 0 1 0 10 0 s For administration tasks. +r 411 0 2923 0 410 0 +r 2460 0 2904 0 991 0 +r 2460 0 1 0 10 0 s Vertical +r 412 0 9 0 436 0 +r 412 0 9 0 431 0 +r 412 0 9 0 428 0 +r 412 0 9 0 427 0 +r 412 0 9 0 424 0 +r 412 0 1 0 48 0 +r 412 0 5 0 413 0 +r 412 0 7 0 414 0 +r 2461 0 2904 0 1006 0 +r 2461 0 1 0 10 0 s Has Page Size +r 413 0 2904 0 412 0 +r 413 0 1 0 10 0 s Types +r 2462 0 2904 0 924 0 +r 2462 0 1 0 10 0 s Diagram Library +r 414 0 97 0 419 0 +r 414 0 1 0 69 0 +r 414 0 9 0 415 0 +r 414 0 9 0 412 0 +r 414 0 101 0 421 0 +r 414 0 93 0 420 0 +r 414 0 5 0 417 0 +r 414 0 6 0 418 0 +r 414 0 2919 0 422 0 +r 414 0 7 0 89 0 +r 414 0 7 0 77 0 +r 2463 0 2904 0 971 0 +r 2463 0 1 0 10 0 s Is Connector Of +r 415 0 9 0 442 0 +r 415 0 9 0 440 0 +r 415 0 9 0 438 0 +r 415 0 9 0 437 0 +r 415 0 9 0 435 0 +r 415 0 9 0 433 0 +r 415 0 1 0 55 0 +r 415 0 5 0 416 0 +r 415 0 7 0 414 0 +r 2464 0 2904 0 913 0 +r 2464 0 1 0 10 0 s SVGElement +r 416 0 2904 0 415 0 +r 416 0 1 0 10 0 s Relations +r 2465 0 2904 0 995 0 +r 2465 0 1 0 10 0 s Has Focusable Tag +r 417 0 2904 0 414 0 +r 417 0 1 0 10 0 s Simulation-1.0 +r 2466 0 2904 0 999 0 +r 2466 0 1 0 10 0 s Is Focusable +r 418 0 2905 0 414 0 +r 418 0 1 0 88 0 s http://www.vtt.fi/Simantics/Simulation/1.0 +r 2467 0 2904 0 929 0 +r 2467 0 1 0 10 0 s Has Format +r 419 0 1 0 99 0 s 1.0 +r 419 0 2926 0 414 0 +r 2468 0 2904 0 933 0 +r 2468 0 1 0 10 0 s Has Flag Mode +r 420 0 1 0 10 0 s org.simantics.db.Builtins +r 420 0 2925 0 414 0 +r 2469 0 2904 0 973 0 +r 2469 0 1 0 10 0 s Has Output +r 421 0 1 0 10 0 s simulation +r 421 0 2927 0 414 0 +r 2470 0 2904 0 921 0 +r 2470 0 1 0 10 0 s Symbol Reference Library +r 422 0 65 0 414 0 +r 422 0 1 0 62 0 +r 422 0 5 0 2620 0 +r 422 0 6 0 423 0 +r 422 0 7 0 85 0 +r 2471 0 2904 0 918 0 +r 2471 0 1 0 10 0 s Has Route Points +r 423 0 2905 0 422 0 +r 423 0 1 0 88 0 s http://www.vtt.fi/Simantics/Simulation/1.0 +r 2472 0 2904 0 979 0 +r 2472 0 1 0 10 0 s Branch Point +r 424 0 2906 0 426 0 +r 424 0 27 0 425 0 +r 424 0 4 0 57 0 +r 424 0 5 0 2621 0 +r 424 0 7 0 412 0 +r 2473 0 2904 0 927 0 +r 2473 0 1 0 10 0 s Has Direction +r 425 0 40 0 426 0 +r 425 0 1 0 37 0 +r 425 0 2906 0 424 0 +r 425 0 38 0 9 0 +r 2474 0 2904 0 993 0 +r 2474 0 1 0 10 0 s Layer +r 426 0 2913 0 425 0 +r 426 0 1 0 33 0 +r 426 0 27 0 427 0 +r 426 0 27 0 424 0 +r 2475 0 2904 0 956 0 +r 2475 0 1 0 10 0 s Upward Link +r 427 0 136 0 433 0 +r 427 0 136 0 9 0 +r 427 0 104 0 434 0 +r 427 0 104 0 432 0 +r 427 0 129 0 1358 0 +r 427 0 137 0 433 0 +r 427 0 137 0 9 0 +r 427 0 2906 0 426 0 +r 427 0 2907 0 440 0 +r 427 0 4 0 25 0 +r 427 0 5 0 2615 0 +r 427 0 7 0 412 0 +r 2476 0 2904 0 905 0 +r 2476 0 1 0 10 0 s Element Class +r 428 0 2906 0 430 0 +r 428 0 27 0 429 0 +r 428 0 4 0 57 0 +r 428 0 5 0 2614 0 +r 428 0 7 0 412 0 +r 2477 0 2904 0 907 0 +r 2477 0 1 0 10 0 s Element +r 429 0 40 0 430 0 +r 429 0 1 0 37 0 +r 429 0 2906 0 428 0 +r 429 0 38 0 9 0 +r 2478 0 2904 0 966 0 +r 2478 0 1 0 10 0 s Resource Path +r 430 0 2913 0 429 0 +r 430 0 1 0 33 0 +r 430 0 27 0 431 0 +r 430 0 27 0 428 0 +r 2479 0 2904 0 958 0 +r 2479 0 1 0 10 0 s Monitor +r 431 0 136 0 9 0 +r 431 0 104 0 441 0 +r 431 0 104 0 439 0 +r 431 0 137 0 9 0 +r 431 0 2906 0 430 0 +r 431 0 4 0 25 0 +r 431 0 5 0 2619 0 +r 431 0 7 0 412 0 +r 2480 0 2904 0 970 0 +r 2480 0 1 0 10 0 s Has Connector +r 432 0 1 0 106 0 +r 432 0 365 0 427 0 +r 432 0 38 0 433 0 +r 432 0 39 0 107 0 +r 2481 0 2904 0 1005 0 +r 2481 0 1 0 10 0 s Page Description +r 433 0 2 0 103 0 +r 433 0 3 0 437 0 +r 433 0 139 0 427 0 +r 433 0 5 0 2622 0 +r 433 0 141 0 427 0 +r 433 0 7 0 415 0 +r 433 0 2911 0 432 0 +r 2482 0 2904 0 967 0 +r 2482 0 1 0 10 0 s Trend +r 434 0 1 0 106 0 +r 434 0 365 0 427 0 +r 434 0 38 0 435 0 +r 2483 0 2904 0 919 0 +r 2483 0 1 0 10 0 s Connection +r 435 0 2 0 103 0 +r 435 0 3 0 2971 0 +r 435 0 28 0 436 0 +r 435 0 5 0 2616 0 +r 435 0 7 0 415 0 +r 435 0 2911 0 434 0 +r 2484 0 2904 0 912 0 +r 2484 0 1 0 10 0 s Defined Element +r 436 0 2907 0 435 0 +r 436 0 4 0 25 0 +r 436 0 5 0 2617 0 +r 436 0 7 0 412 0 +r 2485 0 2904 0 901 0 +r 2485 0 1 0 10 0 s Diagram Namespace +r 437 0 2 0 112 0 +r 437 0 3 0 433 0 +r 437 0 5 0 2623 0 +r 437 0 7 0 415 0 +r 2486 0 2904 0 939 0 +r 2486 0 1 0 10 0 s External +r 438 0 2 0 103 0 +r 438 0 3 0 2972 0 +r 438 0 5 0 2618 0 +r 438 0 7 0 415 0 +r 438 0 2911 0 441 0 +r 2487 0 2904 0 977 0 +r 2487 0 1 0 10 0 s Has Branch Point +r 439 0 1 0 106 0 +r 439 0 365 0 431 0 +r 439 0 38 0 440 0 +r 439 0 39 0 107 0 +r 2488 0 2904 0 975 0 +r 2488 0 1 0 10 0 s Has Input +r 440 0 2 0 103 0 +r 440 0 3 0 2973 0 +r 440 0 28 0 427 0 +r 440 0 5 0 2613 0 +r 440 0 7 0 415 0 +r 440 0 2911 0 439 0 +r 2489 0 2904 0 940 0 +r 2489 0 1 0 10 0 s Internal +r 441 0 1 0 106 0 +r 441 0 365 0 431 0 +r 441 0 38 0 438 0 +r 441 0 39 0 225 0 +r 2490 0 2904 0 997 0 +r 2490 0 1 0 10 0 s Is Visible +r 442 0 2 0 110 0 +r 442 0 3 0 2974 0 +r 442 0 5 0 2612 0 +r 442 0 78 0 443 0 +r 442 0 7 0 415 0 +r 2491 0 2904 0 917 0 +r 2491 0 1 0 10 0 s Has Transform +r 443 0 1 0 10 0 s Adapter relation for configurations. +r 443 0 2923 0 442 0 +r 2492 0 2904 0 1011 0 +r 2492 0 1 0 10 0 s Portrait +r 444 0 9 0 454 0 +r 444 0 9 0 453 0 +r 444 0 97 0 447 0 +r 444 0 1 0 69 0 +r 444 0 101 0 449 0 +r 444 0 93 0 448 0 +r 444 0 5 0 445 0 +r 444 0 6 0 446 0 +r 444 0 2919 0 450 0 +r 444 0 7 0 89 0 +r 444 0 7 0 77 0 +r 2493 0 2904 0 941 0 +r 2493 0 1 0 10 0 s Flag +r 445 0 2904 0 444 0 +r 445 0 1 0 10 0 s ProConf-1.0 +r 2494 0 2904 0 952 0 +r 2494 0 1 0 10 0 s Has Corresponding Flag +r 446 0 2905 0 444 0 +r 446 0 1 0 88 0 s http://www.simantics.org/Ontology/ProConf/1.0 +r 2495 0 2904 0 1007 0 +r 2495 0 1 0 10 0 s Has Page Orientation +r 447 0 1 0 99 0 s 1.0 +r 447 0 2926 0 444 0 +r 2496 0 2904 0 980 0 +r 2496 0 1 0 10 0 s Are Connected +r 448 0 1 0 10 0 s org.simantics.project.ProConfResource +r 448 0 2925 0 444 0 +r 2497 0 2904 0 974 0 +r 2497 0 1 0 10 0 s Is Output Of +r 449 0 1 0 10 0 s proconf +r 449 0 2927 0 444 0 +r 2498 0 2904 0 932 0 +r 2498 0 1 0 10 0 s Flag Type +r 450 0 65 0 444 0 +r 450 0 1 0 62 0 +r 450 0 5 0 451 0 +r 450 0 6 0 452 0 +r 450 0 7 0 85 0 +r 2499 0 2904 0 936 0 +r 2499 0 1 0 10 0 s Input Flag +r 451 0 2904 0 450 0 +r 451 0 1 0 10 0 s ProConf Namespace +r 2500 0 2904 0 1119 0 +r 2500 0 1 0 10 0 s Value +r 452 0 2905 0 450 0 +r 452 0 1 0 88 0 s http://www.simantics.org/Ontology/ProConf/1.0 +r 2501 0 2904 0 1116 0 +r 2501 0 1 0 10 0 s Point +r 453 0 59 0 455 0 +r 453 0 4 0 381 0 +r 453 0 5 0 2112 0 +r 453 0 7 0 444 0 +r 2502 0 2904 0 1315 0 +r 2502 0 1 0 10 0 s Has Start Time +r 454 0 9 0 455 0 +r 454 0 1 0 57 0 +r 454 0 5 0 2111 0 +r 454 0 7 0 444 0 +r 2503 0 2904 0 1115 0 +r 2503 0 1 0 10 0 s Has Default View Configuration +r 455 0 1 0 453 0 +r 455 0 389 0 1020 0 +r 455 0 5 0 456 0 +r 455 0 78 0 457 0 +r 455 0 7 0 454 0 +r 2504 0 2904 0 1189 0 +r 2504 0 1 0 10 0 s Data Item +r 456 0 2904 0 455 0 +r 456 0 1 0 10 0 s Symbol Manager +r 2505 0 2904 0 1109 0 +r 2505 0 1 0 10 0 s View +r 457 0 1 0 10 0 s Symbol management feature provides project facilities for controlling what is shown in the Symbols view. +r 457 0 2923 0 455 0 +r 2506 0 2904 0 1163 0 +r 2506 0 1 0 10 0 s Variable Reference +r 458 0 9 0 526 0 +r 458 0 9 0 524 0 +r 458 0 9 0 522 0 +r 458 0 9 0 520 0 +r 458 0 9 0 519 0 +r 458 0 9 0 518 0 +r 458 0 9 0 517 0 +r 458 0 9 0 516 0 +r 458 0 9 0 515 0 +r 458 0 9 0 513 0 +r 458 0 9 0 512 0 +r 458 0 9 0 511 0 +r 458 0 9 0 510 0 +r 458 0 9 0 509 0 +r 458 0 9 0 508 0 +r 458 0 9 0 507 0 +r 458 0 9 0 506 0 +r 458 0 9 0 504 0 +r 458 0 9 0 503 0 +r 458 0 9 0 501 0 +r 458 0 9 0 497 0 +r 458 0 9 0 494 0 +r 458 0 9 0 493 0 +r 458 0 9 0 492 0 +r 458 0 9 0 491 0 +r 458 0 9 0 489 0 +r 458 0 9 0 488 0 +r 458 0 9 0 487 0 +r 458 0 9 0 485 0 +r 458 0 9 0 482 0 +r 458 0 9 0 481 0 +r 458 0 9 0 480 0 +r 458 0 9 0 479 0 +r 458 0 9 0 477 0 +r 458 0 9 0 476 0 +r 458 0 9 0 474 0 +r 458 0 9 0 472 0 +r 458 0 9 0 469 0 +r 458 0 9 0 467 0 +r 458 0 9 0 466 0 +r 458 0 97 0 461 0 +r 458 0 1 0 69 0 +r 458 0 93 0 463 0 +r 458 0 101 0 462 0 +r 458 0 5 0 459 0 +r 458 0 6 0 460 0 +r 458 0 2919 0 464 0 +r 458 0 7 0 89 0 +r 458 0 7 0 77 0 +r 2507 0 2904 0 1141 0 +r 2507 0 1 0 10 0 s Has Plot Configuration +r 459 0 2904 0 458 0 +r 459 0 1 0 10 0 s Structural-1.0 +r 2508 0 2904 0 1329 0 +r 2508 0 1 0 10 0 s Fit Time Range +r 460 0 2905 0 458 0 +r 460 0 1 0 88 0 s http://www.simantics.org/Structural/1.0 +r 2509 0 2904 0 1122 0 +r 2509 0 1 0 10 0 s View2 D +r 461 0 1 0 99 0 s 2.0 +r 461 0 2926 0 458 0 +r 2510 0 2904 0 1276 0 +r 2510 0 1 0 10 0 s Has Ramp +r 462 0 1 0 10 0 s structural +r 462 0 2927 0 458 0 +r 2511 0 2904 0 1167 0 +r 2511 0 1 0 10 0 s Has Context +r 463 0 1 0 10 0 s org.simantics.structural.stubs.StructuralResource2 +r 463 0 2925 0 458 0 +r 2512 0 2904 0 1125 0 +r 2512 0 1 0 10 0 s Plot +r 464 0 65 0 458 0 +r 464 0 1 0 62 0 +r 464 0 5 0 2119 0 +r 464 0 6 0 465 0 +r 464 0 7 0 85 0 +r 2513 0 2904 0 1123 0 +r 2513 0 1 0 10 0 s View3 D +r 465 0 2905 0 464 0 +r 465 0 1 0 88 0 s http://www.simantics.org/Structural/1.0 +r 2514 0 2904 0 1245 0 +r 2514 0 1 0 10 0 s Trend2 DPlot Configuration +r 466 0 1056 0 1062 0 +r 466 0 104 0 468 0 +r 466 0 129 0 2059 0 +r 466 0 129 0 2028 0 +r 466 0 129 0 2007 0 +r 466 0 129 0 1992 0 +r 466 0 129 0 1974 0 +r 466 0 129 0 1948 0 +r 466 0 129 0 1925 0 +r 466 0 129 0 1910 0 +r 466 0 129 0 1890 0 +r 466 0 129 0 1872 0 +r 466 0 129 0 1862 0 +r 466 0 129 0 1844 0 +r 466 0 129 0 1821 0 +r 466 0 129 0 1798 0 +r 466 0 129 0 1778 0 +r 466 0 129 0 1762 0 +r 466 0 129 0 1749 0 +r 466 0 129 0 1733 0 +r 466 0 129 0 1717 0 +r 466 0 129 0 1699 0 +r 466 0 129 0 1679 0 +r 466 0 129 0 1659 0 +r 466 0 129 0 1644 0 +r 466 0 129 0 1626 0 +r 466 0 129 0 1603 0 +r 466 0 129 0 1580 0 +r 466 0 129 0 1560 0 +r 466 0 129 0 1540 0 +r 466 0 129 0 1520 0 +r 466 0 129 0 1500 0 +r 466 0 129 0 1480 0 +r 466 0 129 0 1460 0 +r 466 0 129 0 1425 0 +r 466 0 129 0 1400 0 +r 466 0 129 0 1387 0 +r 466 0 129 0 907 0 +r 466 0 129 0 485 0 +r 466 0 129 0 482 0 +r 466 0 145 0 466 0 +r 466 0 1 0 467 0 +r 466 0 2907 0 483 0 +r 466 0 2907 0 474 0 +r 466 0 4 0 25 0 +r 466 0 5 0 2118 0 +r 466 0 78 0 470 0 +r 466 0 7 0 458 0 +r 2515 0 2904 0 1144 0 +r 2515 0 1 0 10 0 s Part Of View Configuration +r 467 0 1056 0 1067 0 +r 467 0 104 0 473 0 +r 467 0 104 0 471 0 +r 467 0 129 0 905 0 +r 467 0 59 0 466 0 +r 467 0 2908 0 472 0 +r 467 0 4 0 52 0 +r 467 0 5 0 2140 0 +r 467 0 78 0 475 0 +r 467 0 7 0 458 0 +r 2516 0 2904 0 1147 0 +r 2516 0 1 0 10 0 s Has Current Time +r 468 0 1 0 106 0 +r 468 0 365 0 466 0 +r 468 0 38 0 469 0 +r 2517 0 2904 0 1292 0 +r 2517 0 1 0 10 0 s Ramp Value +r 469 0 145 0 469 0 +r 469 0 1 0 501 0 +r 469 0 2 0 94 0 +r 469 0 3 0 2975 0 +r 469 0 60 0 920 0 +r 469 0 60 0 917 0 +r 469 0 28 0 494 0 +r 469 0 5 0 2143 0 +r 469 0 78 0 502 0 +r 469 0 7 0 458 0 +r 469 0 2911 0 468 0 +r 2518 0 2904 0 1336 0 +r 2518 0 1 0 10 0 s Grid Mode +r 470 0 1 0 10 0 s Defines a structure by instantiating some Type. +r 470 0 2923 0 466 0 +r 2519 0 2904 0 1283 0 +r 2519 0 1 0 10 0 s Has Phase +r 471 0 1 0 106 0 +r 471 0 365 0 467 0 +r 471 0 38 0 472 0 +r 2520 0 2904 0 1334 0 +r 2520 0 1 0 10 0 s Step Wise +r 472 0 2 0 110 0 +r 472 0 3 0 479 0 +r 472 0 28 0 477 0 +r 472 0 5 0 2139 0 +r 472 0 29 0 467 0 +r 472 0 78 0 478 0 +r 472 0 7 0 458 0 +r 472 0 2911 0 471 0 +r 2521 0 2904 0 1320 0 +r 2521 0 1 0 10 0 s Absolute +r 473 0 1 0 106 0 +r 473 0 365 0 467 0 +r 473 0 38 0 474 0 +r 473 0 39 0 225 0 +r 2522 0 2904 0 1310 0 +r 2522 0 1 0 10 0 s Has Scale Mode +r 474 0 1 0 42 0 +r 474 0 2 0 113 0 +r 474 0 3 0 476 0 +r 474 0 28 0 466 0 +r 474 0 5 0 2116 0 +r 474 0 7 0 458 0 +r 474 0 2911 0 906 0 +r 474 0 2911 0 473 0 +r 2523 0 2904 0 1150 0 +r 2523 0 1 0 10 0 s Time Range Configuration +r 475 0 1 0 10 0 s Parametric structure that can be instantiated. +r 475 0 2923 0 467 0 +r 2524 0 2904 0 1274 0 +r 2524 0 1 0 10 0 s Has Sin +r 476 0 2 0 114 0 +r 476 0 3 0 474 0 +r 476 0 5 0 2128 0 +r 476 0 7 0 458 0 +r 2525 0 2904 0 1174 0 +r 2525 0 1 0 10 0 s Has ZAxis Scale Percentage +r 477 0 104 0 486 0 +r 477 0 129 0 504 0 +r 477 0 129 0 489 0 +r 477 0 145 0 477 0 +r 477 0 2907 0 472 0 +r 477 0 4 0 25 0 +r 477 0 5 0 2142 0 +r 477 0 7 0 458 0 +r 2526 0 2904 0 1129 0 +r 2526 0 1 0 10 0 s Has XValue +r 478 0 1 0 10 0 s Denotes that the given relation is a parameter to the Type. +r 478 0 2923 0 472 0 +r 2527 0 2904 0 1166 0 +r 2527 0 1 0 10 0 s Has Visual Configuration +r 479 0 2 0 111 0 +r 479 0 3 0 472 0 +r 479 0 5 0 2133 0 +r 479 0 7 0 458 0 +r 2528 0 2904 0 1293 0 +r 2528 0 1 0 10 0 s Sin Value +r 480 0 2 0 9 0 +r 480 0 3 0 481 0 +r 480 0 5 0 2114 0 +r 480 0 7 0 458 0 +r 2529 0 2904 0 1175 0 +r 2529 0 1 0 10 0 s Is Per Plot Scaling +r 481 0 2 0 7 0 +r 481 0 3 0 480 0 +r 481 0 5 0 2151 0 +r 481 0 7 0 458 0 +r 2530 0 2904 0 1257 0 +r 2530 0 1 0 10 0 s Surface4 DPlot Configuration +r 482 0 1056 0 1060 0 +r 482 0 104 0 483 0 +r 482 0 129 0 2056 0 +r 482 0 4 0 466 0 +r 482 0 5 0 2117 0 +r 482 0 78 0 484 0 +r 482 0 7 0 458 0 +r 2531 0 2904 0 1226 0 +r 2531 0 1 0 10 0 s Trend3 DView Configuration +r 483 0 1 0 106 0 +r 483 0 28 0 466 0 +r 483 0 365 0 482 0 +r 483 0 38 0 9 0 +r 2532 0 2904 0 1131 0 +r 2532 0 1 0 10 0 s Has YValue +r 484 0 1 0 10 0 s A structure defined as a set of other structures. +r 484 0 2923 0 482 0 +r 2533 0 2904 0 1281 0 +r 2533 0 1 0 10 0 s Has Frequency +r 485 0 129 0 903 0 +r 485 0 4 0 466 0 +r 485 0 4 0 226 0 +r 485 0 5 0 2130 0 +r 485 0 7 0 458 0 +r 2534 0 2904 0 1153 0 +r 2534 0 1 0 10 0 s Has Visual Range +r 486 0 1 0 106 0 +r 486 0 365 0 477 0 +r 486 0 38 0 487 0 +r 486 0 39 0 107 0 +r 2535 0 2904 0 1162 0 +r 2535 0 1 0 10 0 s Has Variable Reference +r 487 0 2 0 110 0 +r 487 0 3 0 488 0 +r 487 0 28 0 0 0 +r 487 0 5 0 2137 0 +r 487 0 7 0 458 0 +r 487 0 2911 0 505 0 +r 487 0 2911 0 490 0 +r 487 0 2911 0 486 0 +r 2536 0 2904 0 1173 0 +r 2536 0 1 0 10 0 s Has YAxis Scale Percentage +r 488 0 2 0 111 0 +r 488 0 3 0 487 0 +r 488 0 5 0 2127 0 +r 488 0 7 0 458 0 +r 2537 0 2904 0 1338 0 +r 2537 0 1 0 10 0 s Disabled Grid +r 489 0 104 0 490 0 +r 489 0 59 0 2011 0 +r 489 0 59 0 1978 0 +r 489 0 59 0 1956 0 +r 489 0 59 0 1953 0 +r 489 0 59 0 1930 0 +r 489 0 59 0 1876 0 +r 489 0 59 0 1848 0 +r 489 0 59 0 1826 0 +r 489 0 59 0 1803 0 +r 489 0 59 0 1768 0 +r 489 0 59 0 1765 0 +r 489 0 59 0 1752 0 +r 489 0 59 0 1739 0 +r 489 0 59 0 1736 0 +r 489 0 59 0 1723 0 +r 489 0 59 0 1720 0 +r 489 0 59 0 1703 0 +r 489 0 59 0 1630 0 +r 489 0 59 0 1608 0 +r 489 0 59 0 1585 0 +r 489 0 59 0 1390 0 +r 489 0 59 0 908 0 +r 489 0 4 0 477 0 +r 489 0 2909 0 498 0 +r 489 0 5 0 2131 0 +r 489 0 7 0 458 0 +r 2538 0 2904 0 1133 0 +r 2538 0 1 0 10 0 s Has ZValue +r 490 0 1 0 106 0 +r 490 0 28 0 491 0 +r 490 0 365 0 489 0 +r 490 0 38 0 487 0 +r 2539 0 2904 0 1221 0 +r 2539 0 1 0 10 0 s Curve2 DView Configuration +r 491 0 2907 0 490 0 +r 491 0 59 0 492 0 +r 491 0 4 0 0 0 +r 491 0 5 0 2120 0 +r 491 0 7 0 458 0 +r 2540 0 2904 0 1282 0 +r 2540 0 1 0 10 0 s Has Amplitude +r 492 0 145 0 492 0 +r 492 0 1 0 491 0 +r 492 0 2 0 103 0 +r 492 0 3 0 493 0 +r 492 0 5 0 2153 0 +r 492 0 7 0 458 0 +r 2541 0 2904 0 1187 0 +r 2541 0 1 0 10 0 s Has Line Width +r 493 0 2 0 112 0 +r 493 0 3 0 492 0 +r 493 0 5 0 2126 0 +r 493 0 7 0 458 0 +r 2542 0 2904 0 1335 0 +r 2542 0 1 0 10 0 s Has Grid Mode +r 494 0 1 0 33 0 +r 494 0 2907 0 469 0 +r 494 0 27 0 498 0 +r 494 0 27 0 496 0 +r 494 0 27 0 495 0 +r 494 0 5 0 2113 0 +r 494 0 78 0 499 0 +r 494 0 7 0 458 0 +r 2543 0 2904 0 1120 0 +r 2543 0 1 0 10 0 s Time Range View +r 495 0 1 0 35 0 +r 495 0 2906 0 494 0 +r 495 0 30 0 189 0 +r 2544 0 2904 0 1183 0 +r 2544 0 1 0 10 0 s Has Color +r 496 0 1 0 35 0 +r 496 0 2906 0 494 0 +r 496 0 30 0 497 0 +r 2545 0 2904 0 1171 0 +r 2545 0 1 0 10 0 s Has ZAxis Scale +r 497 0 145 0 497 0 +r 497 0 4 0 25 0 +r 497 0 2909 0 496 0 +r 497 0 5 0 2123 0 +r 497 0 78 0 500 0 +r 497 0 7 0 458 0 +r 2546 0 2904 0 1318 0 +r 2546 0 1 0 10 0 s Time Presentation +r 498 0 1 0 35 0 +r 498 0 2906 0 494 0 +r 498 0 30 0 489 0 +r 2547 0 2904 0 1186 0 +r 2547 0 1 0 10 0 s Is Stepwise +r 499 0 1 0 10 0 s Requirement for all types that can be given as a parameter to Component. +r 499 0 2923 0 494 0 +r 2548 0 2904 0 1127 0 +r 2548 0 1 0 10 0 s Point2 D +r 500 0 1 0 10 0 s Supertype of all value types that are not simple constant values or variables. +r 500 0 2923 0 497 0 +r 2549 0 2904 0 1172 0 +r 2549 0 1 0 10 0 s Has XAxis Scale Percentage +r 501 0 59 0 469 0 +r 501 0 4 0 42 0 +r 501 0 5 0 2125 0 +r 501 0 7 0 458 0 +r 2550 0 2904 0 1145 0 +r 2550 0 1 0 10 0 s Time Slice Configuration +r 502 0 1 0 10 0 s Assigns a value to some parameter. +r 502 0 2923 0 469 0 +r 2551 0 2904 0 1124 0 +r 2551 0 1 0 10 0 s Plot2 D +r 503 0 129 0 2079 0 +r 503 0 129 0 2060 0 +r 503 0 129 0 972 0 +r 503 0 129 0 919 0 +r 503 0 129 0 504 0 +r 503 0 4 0 25 0 +r 503 0 5 0 2141 0 +r 503 0 7 0 458 0 +r 2552 0 2904 0 1134 0 +r 2552 0 1 0 10 0 s Point3 D +r 504 0 104 0 505 0 +r 504 0 2907 0 911 0 +r 504 0 59 0 2046 0 +r 504 0 59 0 2042 0 +r 504 0 59 0 2038 0 +r 504 0 59 0 2031 0 +r 504 0 59 0 2030 0 +r 504 0 59 0 2029 0 +r 504 0 59 0 2023 0 +r 504 0 59 0 2019 0 +r 504 0 59 0 2009 0 +r 504 0 59 0 2008 0 +r 504 0 59 0 2005 0 +r 504 0 59 0 2001 0 +r 504 0 59 0 1994 0 +r 504 0 59 0 1993 0 +r 504 0 59 0 1990 0 +r 504 0 59 0 1986 0 +r 504 0 59 0 1976 0 +r 504 0 59 0 1975 0 +r 504 0 59 0 1972 0 +r 504 0 59 0 1968 0 +r 504 0 59 0 1964 0 +r 504 0 59 0 1951 0 +r 504 0 59 0 1950 0 +r 504 0 59 0 1949 0 +r 504 0 59 0 1946 0 +r 504 0 59 0 1942 0 +r 504 0 59 0 1938 0 +r 504 0 59 0 1928 0 +r 504 0 59 0 1927 0 +r 504 0 59 0 1926 0 +r 504 0 59 0 1923 0 +r 504 0 59 0 1919 0 +r 504 0 59 0 1912 0 +r 504 0 59 0 1911 0 +r 504 0 59 0 1908 0 +r 504 0 59 0 1904 0 +r 504 0 59 0 1900 0 +r 504 0 59 0 1893 0 +r 504 0 59 0 1892 0 +r 504 0 59 0 1891 0 +r 504 0 59 0 1888 0 +r 504 0 59 0 1884 0 +r 504 0 59 0 1874 0 +r 504 0 59 0 1873 0 +r 504 0 59 0 1870 0 +r 504 0 59 0 1863 0 +r 504 0 59 0 1860 0 +r 504 0 59 0 1856 0 +r 504 0 59 0 1846 0 +r 504 0 59 0 1845 0 +r 504 0 59 0 1842 0 +r 504 0 59 0 1838 0 +r 504 0 59 0 1834 0 +r 504 0 59 0 1824 0 +r 504 0 59 0 1823 0 +r 504 0 59 0 1822 0 +r 504 0 59 0 1819 0 +r 504 0 59 0 1815 0 +r 504 0 59 0 1811 0 +r 504 0 59 0 1801 0 +r 504 0 59 0 1800 0 +r 504 0 59 0 1799 0 +r 504 0 59 0 1796 0 +r 504 0 59 0 1792 0 +r 504 0 59 0 1788 0 +r 504 0 59 0 1781 0 +r 504 0 59 0 1780 0 +r 504 0 59 0 1779 0 +r 504 0 59 0 1776 0 +r 504 0 59 0 1763 0 +r 504 0 59 0 1760 0 +r 504 0 59 0 1750 0 +r 504 0 59 0 1747 0 +r 504 0 59 0 1734 0 +r 504 0 59 0 1731 0 +r 504 0 59 0 1718 0 +r 504 0 59 0 1715 0 +r 504 0 59 0 1711 0 +r 504 0 59 0 1701 0 +r 504 0 59 0 1700 0 +r 504 0 59 0 1697 0 +r 504 0 59 0 1693 0 +r 504 0 59 0 1689 0 +r 504 0 59 0 1682 0 +r 504 0 59 0 1681 0 +r 504 0 59 0 1680 0 +r 504 0 59 0 1677 0 +r 504 0 59 0 1673 0 +r 504 0 59 0 1669 0 +r 504 0 59 0 1662 0 +r 504 0 59 0 1661 0 +r 504 0 59 0 1660 0 +r 504 0 59 0 1657 0 +r 504 0 59 0 1653 0 +r 504 0 59 0 1646 0 +r 504 0 59 0 1645 0 +r 504 0 59 0 1642 0 +r 504 0 59 0 1638 0 +r 504 0 59 0 1628 0 +r 504 0 59 0 1627 0 +r 504 0 59 0 1624 0 +r 504 0 59 0 1620 0 +r 504 0 59 0 1616 0 +r 504 0 59 0 1606 0 +r 504 0 59 0 1605 0 +r 504 0 59 0 1604 0 +r 504 0 59 0 1601 0 +r 504 0 59 0 1597 0 +r 504 0 59 0 1593 0 +r 504 0 59 0 1583 0 +r 504 0 59 0 1582 0 +r 504 0 59 0 1581 0 +r 504 0 59 0 1578 0 +r 504 0 59 0 1574 0 +r 504 0 59 0 1570 0 +r 504 0 59 0 1563 0 +r 504 0 59 0 1562 0 +r 504 0 59 0 1561 0 +r 504 0 59 0 1558 0 +r 504 0 59 0 1554 0 +r 504 0 59 0 1550 0 +r 504 0 59 0 1543 0 +r 504 0 59 0 1542 0 +r 504 0 59 0 1541 0 +r 504 0 59 0 1538 0 +r 504 0 59 0 1534 0 +r 504 0 59 0 1530 0 +r 504 0 59 0 1523 0 +r 504 0 59 0 1522 0 +r 504 0 59 0 1521 0 +r 504 0 59 0 1518 0 +r 504 0 59 0 1514 0 +r 504 0 59 0 1510 0 +r 504 0 59 0 1503 0 +r 504 0 59 0 1502 0 +r 504 0 59 0 1501 0 +r 504 0 59 0 1498 0 +r 504 0 59 0 1494 0 +r 504 0 59 0 1490 0 +r 504 0 59 0 1483 0 +r 504 0 59 0 1482 0 +r 504 0 59 0 1481 0 +r 504 0 59 0 1478 0 +r 504 0 59 0 1474 0 +r 504 0 59 0 1470 0 +r 504 0 59 0 1463 0 +r 504 0 59 0 1462 0 +r 504 0 59 0 1461 0 +r 504 0 59 0 1458 0 +r 504 0 59 0 1454 0 +r 504 0 59 0 1450 0 +r 504 0 59 0 1446 0 +r 504 0 59 0 1442 0 +r 504 0 59 0 1438 0 +r 504 0 59 0 1431 0 +r 504 0 59 0 1430 0 +r 504 0 59 0 1429 0 +r 504 0 59 0 1428 0 +r 504 0 59 0 1427 0 +r 504 0 59 0 1426 0 +r 504 0 59 0 1423 0 +r 504 0 59 0 1419 0 +r 504 0 59 0 1415 0 +r 504 0 59 0 1411 0 +r 504 0 59 0 1404 0 +r 504 0 59 0 1403 0 +r 504 0 59 0 1402 0 +r 504 0 59 0 1401 0 +r 504 0 59 0 1398 0 +r 504 0 59 0 1388 0 +r 504 0 59 0 950 0 +r 504 0 4 0 503 0 +r 504 0 4 0 477 0 +r 504 0 5 0 2147 0 +r 504 0 7 0 458 0 +r 2553 0 2904 0 1126 0 +r 2553 0 1 0 10 0 s Plot3 D +r 505 0 1 0 106 0 +r 505 0 28 0 506 0 +r 505 0 365 0 504 0 +r 505 0 38 0 487 0 +r 2554 0 2904 0 1298 0 +r 2554 0 1 0 10 0 s Time Series Chart +r 506 0 129 0 508 0 +r 506 0 2907 0 505 0 +r 506 0 59 0 507 0 +r 506 0 4 0 0 0 +r 506 0 5 0 2135 0 +r 506 0 7 0 458 0 +r 2555 0 2904 0 1322 0 +r 2555 0 1 0 10 0 s YAxis Mode +r 507 0 145 0 507 0 +r 507 0 1 0 506 0 +r 507 0 2 0 112 0 +r 507 0 2 0 103 0 +r 507 0 3 0 507 0 +r 507 0 60 0 3277 0 +r 507 0 60 0 3276 0 +r 507 0 60 0 3275 0 +r 507 0 60 0 3273 0 +r 507 0 60 0 3272 0 +r 507 0 60 0 3271 0 +r 507 0 60 0 3270 0 +r 507 0 60 0 3269 0 +r 507 0 60 0 3267 0 +r 507 0 60 0 3266 0 +r 507 0 60 0 3264 0 +r 507 0 60 0 3263 0 +r 507 0 60 0 3261 0 +r 507 0 60 0 3260 0 +r 507 0 60 0 3259 0 +r 507 0 60 0 3257 0 +r 507 0 60 0 3256 0 +r 507 0 60 0 3255 0 +r 507 0 60 0 3253 0 +r 507 0 60 0 3252 0 +r 507 0 60 0 3250 0 +r 507 0 60 0 3249 0 +r 507 0 60 0 3248 0 +r 507 0 60 0 3246 0 +r 507 0 60 0 3245 0 +r 507 0 60 0 3243 0 +r 507 0 60 0 3241 0 +r 507 0 60 0 3240 0 +r 507 0 60 0 3238 0 +r 507 0 60 0 3237 0 +r 507 0 60 0 3236 0 +r 507 0 60 0 3234 0 +r 507 0 60 0 3233 0 +r 507 0 60 0 3232 0 +r 507 0 60 0 3230 0 +r 507 0 60 0 3229 0 +r 507 0 60 0 3228 0 +r 507 0 60 0 3226 0 +r 507 0 60 0 3224 0 +r 507 0 60 0 3222 0 +r 507 0 60 0 3220 0 +r 507 0 60 0 3218 0 +r 507 0 60 0 3217 0 +r 507 0 60 0 3215 0 +r 507 0 60 0 3214 0 +r 507 0 60 0 3213 0 +r 507 0 60 0 3211 0 +r 507 0 60 0 3210 0 +r 507 0 60 0 3209 0 +r 507 0 60 0 3207 0 +r 507 0 60 0 3206 0 +r 507 0 60 0 3204 0 +r 507 0 60 0 3203 0 +r 507 0 60 0 3201 0 +r 507 0 60 0 3200 0 +r 507 0 60 0 3199 0 +r 507 0 60 0 3197 0 +r 507 0 60 0 3196 0 +r 507 0 60 0 3195 0 +r 507 0 60 0 3193 0 +r 507 0 60 0 3192 0 +r 507 0 60 0 3191 0 +r 507 0 60 0 3189 0 +r 507 0 60 0 3188 0 +r 507 0 60 0 3187 0 +r 507 0 60 0 3185 0 +r 507 0 60 0 3184 0 +r 507 0 60 0 3183 0 +r 507 0 60 0 3181 0 +r 507 0 60 0 3180 0 +r 507 0 60 0 3179 0 +r 507 0 60 0 3177 0 +r 507 0 60 0 3176 0 +r 507 0 60 0 3175 0 +r 507 0 60 0 3173 0 +r 507 0 60 0 3172 0 +r 507 0 60 0 3171 0 +r 507 0 60 0 3169 0 +r 507 0 60 0 3168 0 +r 507 0 60 0 3167 0 +r 507 0 60 0 3166 0 +r 507 0 60 0 3165 0 +r 507 0 60 0 3164 0 +r 507 0 60 0 3162 0 +r 507 0 60 0 3161 0 +r 507 0 60 0 3160 0 +r 507 0 60 0 3159 0 +r 507 0 60 0 3157 0 +r 507 0 60 0 3145 0 +r 507 0 60 0 3144 0 +r 507 0 60 0 3143 0 +r 507 0 60 0 3142 0 +r 507 0 60 0 3141 0 +r 507 0 60 0 3140 0 +r 507 0 60 0 3139 0 +r 507 0 60 0 3138 0 +r 507 0 60 0 3137 0 +r 507 0 60 0 3136 0 +r 507 0 60 0 2075 0 +r 507 0 60 0 2074 0 +r 507 0 60 0 2073 0 +r 507 0 60 0 2072 0 +r 507 0 60 0 2047 0 +r 507 0 60 0 2043 0 +r 507 0 60 0 2039 0 +r 507 0 60 0 2027 0 +r 507 0 60 0 2026 0 +r 507 0 60 0 2025 0 +r 507 0 60 0 2024 0 +r 507 0 60 0 2020 0 +r 507 0 60 0 2006 0 +r 507 0 60 0 2002 0 +r 507 0 60 0 1991 0 +r 507 0 60 0 1987 0 +r 507 0 60 0 1973 0 +r 507 0 60 0 1969 0 +r 507 0 60 0 1965 0 +r 507 0 60 0 1947 0 +r 507 0 60 0 1943 0 +r 507 0 60 0 1939 0 +r 507 0 60 0 1924 0 +r 507 0 60 0 1920 0 +r 507 0 60 0 1909 0 +r 507 0 60 0 1905 0 +r 507 0 60 0 1901 0 +r 507 0 60 0 1889 0 +r 507 0 60 0 1885 0 +r 507 0 60 0 1871 0 +r 507 0 60 0 1861 0 +r 507 0 60 0 1857 0 +r 507 0 60 0 1843 0 +r 507 0 60 0 1839 0 +r 507 0 60 0 1835 0 +r 507 0 60 0 1820 0 +r 507 0 60 0 1816 0 +r 507 0 60 0 1812 0 +r 507 0 60 0 1797 0 +r 507 0 60 0 1793 0 +r 507 0 60 0 1789 0 +r 507 0 60 0 1777 0 +r 507 0 60 0 1761 0 +r 507 0 60 0 1748 0 +r 507 0 60 0 1732 0 +r 507 0 60 0 1716 0 +r 507 0 60 0 1712 0 +r 507 0 60 0 1698 0 +r 507 0 60 0 1694 0 +r 507 0 60 0 1690 0 +r 507 0 60 0 1678 0 +r 507 0 60 0 1674 0 +r 507 0 60 0 1670 0 +r 507 0 60 0 1658 0 +r 507 0 60 0 1654 0 +r 507 0 60 0 1643 0 +r 507 0 60 0 1639 0 +r 507 0 60 0 1625 0 +r 507 0 60 0 1621 0 +r 507 0 60 0 1617 0 +r 507 0 60 0 1602 0 +r 507 0 60 0 1598 0 +r 507 0 60 0 1594 0 +r 507 0 60 0 1579 0 +r 507 0 60 0 1575 0 +r 507 0 60 0 1571 0 +r 507 0 60 0 1559 0 +r 507 0 60 0 1555 0 +r 507 0 60 0 1551 0 +r 507 0 60 0 1539 0 +r 507 0 60 0 1535 0 +r 507 0 60 0 1531 0 +r 507 0 60 0 1519 0 +r 507 0 60 0 1515 0 +r 507 0 60 0 1511 0 +r 507 0 60 0 1499 0 +r 507 0 60 0 1495 0 +r 507 0 60 0 1491 0 +r 507 0 60 0 1479 0 +r 507 0 60 0 1475 0 +r 507 0 60 0 1471 0 +r 507 0 60 0 1459 0 +r 507 0 60 0 1455 0 +r 507 0 60 0 1451 0 +r 507 0 60 0 1447 0 +r 507 0 60 0 1443 0 +r 507 0 60 0 1439 0 +r 507 0 60 0 1424 0 +r 507 0 60 0 1420 0 +r 507 0 60 0 1416 0 +r 507 0 60 0 1412 0 +r 507 0 60 0 1399 0 +r 507 0 60 0 1376 0 +r 507 0 60 0 1375 0 +r 507 0 60 0 1374 0 +r 507 0 60 0 1373 0 +r 507 0 60 0 1372 0 +r 507 0 60 0 1371 0 +r 507 0 60 0 1370 0 +r 507 0 60 0 1369 0 +r 507 0 60 0 1368 0 +r 507 0 60 0 1367 0 +r 507 0 60 0 1366 0 +r 507 0 60 0 1365 0 +r 507 0 60 0 1364 0 +r 507 0 60 0 1363 0 +r 507 0 60 0 971 0 +r 507 0 60 0 970 0 +r 507 0 60 0 951 0 +r 507 0 60 0 510 0 +r 507 0 60 0 509 0 +r 507 0 5 0 2122 0 +r 507 0 7 0 458 0 +r 507 0 2911 0 984 0 +r 2556 0 2904 0 1121 0 +r 2556 0 1 0 10 0 s Time Slice View +r 508 0 59 0 509 0 +r 508 0 4 0 506 0 +r 508 0 5 0 2145 0 +r 508 0 7 0 458 0 +r 2557 0 2904 0 1170 0 +r 2557 0 1 0 10 0 s Has YAxis Scale +r 509 0 145 0 509 0 +r 509 0 1 0 508 0 +r 509 0 2 0 507 0 +r 509 0 3 0 510 0 +r 509 0 5 0 2138 0 +r 509 0 7 0 458 0 +r 2558 0 2904 0 1296 0 +r 2558 0 1 0 10 0 s Chart Group +r 510 0 2 0 507 0 +r 510 0 3 0 509 0 +r 510 0 5 0 2150 0 +r 510 0 7 0 458 0 +r 2559 0 2904 0 1250 0 +r 2559 0 1 0 10 0 s Trend3 DPlot Configuration +r 511 0 2 0 110 0 +r 511 0 3 0 2976 0 +r 511 0 28 0 512 0 +r 511 0 5 0 2124 0 +r 511 0 7 0 458 0 +r 2560 0 2904 0 1231 0 +r 2560 0 1 0 10 0 s Surface3 DView Configuration +r 512 0 104 0 514 0 +r 512 0 2907 0 513 0 +r 512 0 2907 0 511 0 +r 512 0 4 0 25 0 +r 512 0 5 0 2136 0 +r 512 0 7 0 458 0 +r 2561 0 2904 0 1339 0 +r 2561 0 1 0 10 0 s Adaptive Grid +r 513 0 2 0 110 0 +r 513 0 3 0 2977 0 +r 513 0 28 0 512 0 +r 513 0 5 0 2132 0 +r 513 0 7 0 458 0 +r 2562 0 2904 0 1344 0 +r 2562 0 1 0 10 0 s Has XLines +r 514 0 1 0 106 0 +r 514 0 28 0 516 0 +r 514 0 365 0 512 0 +r 514 0 38 0 515 0 +r 2563 0 2904 0 1168 0 +r 2563 0 1 0 10 0 s Has Double Range +r 515 0 2 0 110 0 +r 515 0 3 0 2978 0 +r 515 0 5 0 2115 0 +r 515 0 7 0 458 0 +r 515 0 2911 0 514 0 +r 2564 0 2904 0 1302 0 +r 2564 0 1 0 10 0 s Has Time Presentation +r 516 0 104 0 525 0 +r 516 0 104 0 523 0 +r 516 0 104 0 521 0 +r 516 0 2907 0 514 0 +r 516 0 4 0 25 0 +r 516 0 5 0 2148 0 +r 516 0 7 0 458 0 +r 2565 0 2904 0 1139 0 +r 2565 0 1 0 10 0 s View Configuration +r 517 0 2 0 110 0 +r 517 0 3 0 2979 0 +r 517 0 28 0 518 0 +r 517 0 5 0 2149 0 +r 517 0 7 0 458 0 +r 2566 0 2904 0 1284 0 +r 2566 0 1 0 10 0 s Test Data Value +r 518 0 2907 0 517 0 +r 518 0 59 0 520 0 +r 518 0 59 0 519 0 +r 518 0 4 0 25 0 +r 518 0 5 0 2121 0 +r 518 0 7 0 458 0 +r 2567 0 2904 0 1330 0 +r 2567 0 1 0 10 0 s Fit All +r 519 0 1048 0 936 0 +r 519 0 1 0 518 0 +r 519 0 5 0 2152 0 +r 519 0 7 0 458 0 +r 2568 0 2904 0 1346 0 +r 2568 0 1 0 10 0 s Has YLines +r 520 0 1048 0 937 0 +r 520 0 1 0 518 0 +r 520 0 5 0 2129 0 +r 520 0 7 0 458 0 +r 2569 0 2904 0 1185 0 +r 2569 0 1 0 10 0 s Is Auto Scale +r 521 0 1 0 106 0 +r 521 0 365 0 516 0 +r 521 0 38 0 522 0 +r 521 0 39 0 225 0 +r 2570 0 2904 0 1106 0 +r 2570 0 1 0 10 0 s Workspace +r 522 0 2 0 94 0 +r 522 0 3 0 2980 0 +r 522 0 5 0 2134 0 +r 522 0 7 0 458 0 +r 522 0 2911 0 521 0 +r 2571 0 2904 0 1247 0 +r 2571 0 1 0 10 0 s Curve2 DPlot Configuration +r 523 0 1 0 106 0 +r 523 0 365 0 516 0 +r 523 0 38 0 524 0 +r 523 0 39 0 225 0 +r 2572 0 2904 0 1179 0 +r 2572 0 1 0 10 0 s Color +r 524 0 2 0 94 0 +r 524 0 3 0 2981 0 +r 524 0 5 0 2144 0 +r 524 0 7 0 458 0 +r 524 0 2911 0 523 0 +r 2573 0 2904 0 1111 0 +r 2573 0 1 0 10 0 s Has Plot +r 525 0 1 0 106 0 +r 525 0 365 0 516 0 +r 525 0 38 0 526 0 +r 525 0 39 0 225 0 +r 2574 0 2904 0 1161 0 +r 2574 0 1 0 10 0 s Has Session Reference +r 526 0 2 0 110 0 +r 526 0 3 0 2982 0 +r 526 0 5 0 2146 0 +r 526 0 7 0 458 0 +r 526 0 2911 0 525 0 +r 2575 0 2904 0 1331 0 +r 2575 0 1 0 10 0 s Line Mode +r 527 0 9 0 661 0 +r 527 0 9 0 655 0 +r 527 0 9 0 654 0 +r 527 0 9 0 653 0 +r 527 0 9 0 650 0 +r 527 0 9 0 649 0 +r 527 0 9 0 647 0 +r 527 0 9 0 642 0 +r 527 0 9 0 640 0 +r 527 0 9 0 639 0 +r 527 0 9 0 637 0 +r 527 0 9 0 636 0 +r 527 0 9 0 635 0 +r 527 0 9 0 631 0 +r 527 0 9 0 630 0 +r 527 0 9 0 629 0 +r 527 0 9 0 628 0 +r 527 0 9 0 625 0 +r 527 0 9 0 621 0 +r 527 0 9 0 617 0 +r 527 0 9 0 607 0 +r 527 0 9 0 606 0 +r 527 0 9 0 605 0 +r 527 0 9 0 603 0 +r 527 0 9 0 601 0 +r 527 0 9 0 598 0 +r 527 0 9 0 593 0 +r 527 0 9 0 592 0 +r 527 0 9 0 591 0 +r 527 0 9 0 590 0 +r 527 0 9 0 589 0 +r 527 0 9 0 587 0 +r 527 0 9 0 585 0 +r 527 0 9 0 582 0 +r 527 0 9 0 581 0 +r 527 0 9 0 580 0 +r 527 0 9 0 578 0 +r 527 0 9 0 576 0 +r 527 0 9 0 574 0 +r 527 0 9 0 572 0 +r 527 0 9 0 570 0 +r 527 0 9 0 567 0 +r 527 0 9 0 566 0 +r 527 0 9 0 564 0 +r 527 0 9 0 561 0 +r 527 0 9 0 560 0 +r 527 0 9 0 558 0 +r 527 0 9 0 556 0 +r 527 0 9 0 554 0 +r 527 0 9 0 552 0 +r 527 0 9 0 549 0 +r 527 0 9 0 548 0 +r 527 0 9 0 545 0 +r 527 0 9 0 543 0 +r 527 0 9 0 540 0 +r 527 0 9 0 538 0 +r 527 0 9 0 535 0 +r 527 0 97 0 530 0 +r 527 0 1 0 69 0 +r 527 0 93 0 532 0 +r 527 0 101 0 531 0 +r 527 0 5 0 528 0 +r 527 0 6 0 529 0 +r 527 0 2919 0 533 0 +r 527 0 7 0 89 0 +r 527 0 7 0 77 0 +r 2576 0 2904 0 1321 0 +r 2576 0 1 0 10 0 s Relative +r 528 0 2904 0 527 0 +r 528 0 1 0 10 0 s G2D-1.0 +r 2577 0 2904 0 1169 0 +r 2577 0 1 0 10 0 s Has XAxis Scale +r 529 0 2905 0 527 0 +r 529 0 1 0 88 0 s http://www.vtt.fi/Simantics/G2DOntology/1.0 +r 2578 0 2904 0 1272 0 +r 2578 0 1 0 10 0 s Test Data Source +r 530 0 1 0 99 0 s 1.0 +r 530 0 2926 0 527 0 +r 2579 0 2904 0 1317 0 +r 2579 0 1 0 10 0 s Has End Time +r 531 0 1 0 10 0 s g2d +r 531 0 2927 0 527 0 +r 2580 0 2904 0 1138 0 +r 2580 0 1 0 10 0 s Visual Configuration +r 532 0 1 0 10 0 s org.simantics.diagram.stubs.G2DResource +r 532 0 2925 0 527 0 +r 2581 0 2904 0 1184 0 +r 2581 0 1 0 10 0 s Is Enabled +r 533 0 65 0 527 0 +r 533 0 1 0 62 0 +r 533 0 5 0 2841 0 +r 533 0 6 0 534 0 +r 533 0 7 0 85 0 +r 2582 0 2904 0 1159 0 +r 2582 0 1 0 10 0 s Constant Value +r 534 0 2905 0 533 0 +r 534 0 1 0 88 0 s http://www.vtt.fi/Simantics/G2DOntology/1.0 +r 2583 0 2904 0 1326 0 +r 2583 0 1 0 10 0 s Scale Mode +r 535 0 2907 0 1006 0 +r 535 0 2907 0 628 0 +r 535 0 2907 0 538 0 +r 535 0 4 0 19 0 +r 535 0 5 0 536 0 +r 535 0 78 0 537 0 +r 535 0 7 0 527 0 +r 2584 0 2904 0 1176 0 +r 2584 0 1 0 10 0 s Has Red +r 536 0 2904 0 535 0 +r 536 0 1 0 10 0 s Point2D +r 2585 0 2904 0 1108 0 +r 2585 0 1 0 10 0 s Data Sources +r 537 0 1 0 10 0 s A double valued property describing a two-dimensional point in (x,y) coordinate space. +r 537 0 2923 0 535 0 +r 2586 0 2904 0 1118 0 +r 2586 0 1 0 10 0 s Has Value +r 538 0 2 0 103 0 +r 538 0 3 0 2983 0 +r 538 0 28 0 535 0 +r 538 0 5 0 539 0 +r 538 0 7 0 527 0 +r 2587 0 2904 0 1157 0 +r 2587 0 1 0 10 0 s Has Point +r 539 0 2904 0 538 0 +r 539 0 1 0 10 0 s Has Point2D +r 2588 0 2904 0 1313 0 +r 2588 0 1 0 10 0 s Time Segment +r 540 0 2907 0 918 0 +r 540 0 2907 0 543 0 +r 540 0 4 0 12 0 +r 540 0 5 0 541 0 +r 540 0 78 0 542 0 +r 540 0 7 0 527 0 +r 2589 0 2904 0 1113 0 +r 2589 0 1 0 10 0 s Has View Configuration +r 541 0 2904 0 540 0 +r 541 0 1 0 10 0 s Point2D Array +r 2590 0 2904 0 1253 0 +r 2590 0 1 0 10 0 s Surface3 DPlot Configuration +r 542 0 1 0 10 0 s An array of Point2D property values (x,y) as consecutive double values. +r 542 0 2923 0 540 0 +r 2591 0 2904 0 1216 0 +r 2591 0 1 0 10 0 s Trend2 DView Configuration +r 543 0 2 0 103 0 +r 543 0 3 0 2984 0 +r 543 0 28 0 540 0 +r 543 0 5 0 544 0 +r 543 0 7 0 527 0 +r 2592 0 2904 0 1324 0 +r 2592 0 1 0 10 0 s Plots Share YAxis +r 544 0 2904 0 543 0 +r 544 0 1 0 10 0 s Has Point2D Array +r 2593 0 2904 0 1142 0 +r 2593 0 1 0 10 0 s Plot Configuration +r 545 0 249 0 547 0 +r 545 0 2907 0 548 0 +r 545 0 59 0 2045 0 +r 545 0 59 0 2041 0 +r 545 0 59 0 2037 0 +r 545 0 59 0 2022 0 +r 545 0 59 0 2018 0 +r 545 0 59 0 2004 0 +r 545 0 59 0 2000 0 +r 545 0 59 0 1989 0 +r 545 0 59 0 1985 0 +r 545 0 59 0 1971 0 +r 545 0 59 0 1967 0 +r 545 0 59 0 1963 0 +r 545 0 59 0 1945 0 +r 545 0 59 0 1941 0 +r 545 0 59 0 1937 0 +r 545 0 59 0 1922 0 +r 545 0 59 0 1918 0 +r 545 0 59 0 1907 0 +r 545 0 59 0 1903 0 +r 545 0 59 0 1899 0 +r 545 0 59 0 1887 0 +r 545 0 59 0 1883 0 +r 545 0 59 0 1869 0 +r 545 0 59 0 1859 0 +r 545 0 59 0 1855 0 +r 545 0 59 0 1841 0 +r 545 0 59 0 1837 0 +r 545 0 59 0 1833 0 +r 545 0 59 0 1818 0 +r 545 0 59 0 1814 0 +r 545 0 59 0 1810 0 +r 545 0 59 0 1795 0 +r 545 0 59 0 1791 0 +r 545 0 59 0 1787 0 +r 545 0 59 0 1775 0 +r 545 0 59 0 1759 0 +r 545 0 59 0 1746 0 +r 545 0 59 0 1730 0 +r 545 0 59 0 1714 0 +r 545 0 59 0 1710 0 +r 545 0 59 0 1696 0 +r 545 0 59 0 1692 0 +r 545 0 59 0 1688 0 +r 545 0 59 0 1676 0 +r 545 0 59 0 1672 0 +r 545 0 59 0 1668 0 +r 545 0 59 0 1656 0 +r 545 0 59 0 1652 0 +r 545 0 59 0 1641 0 +r 545 0 59 0 1637 0 +r 545 0 59 0 1623 0 +r 545 0 59 0 1619 0 +r 545 0 59 0 1615 0 +r 545 0 59 0 1600 0 +r 545 0 59 0 1596 0 +r 545 0 59 0 1592 0 +r 545 0 59 0 1577 0 +r 545 0 59 0 1573 0 +r 545 0 59 0 1569 0 +r 545 0 59 0 1557 0 +r 545 0 59 0 1553 0 +r 545 0 59 0 1549 0 +r 545 0 59 0 1537 0 +r 545 0 59 0 1533 0 +r 545 0 59 0 1529 0 +r 545 0 59 0 1517 0 +r 545 0 59 0 1513 0 +r 545 0 59 0 1509 0 +r 545 0 59 0 1497 0 +r 545 0 59 0 1493 0 +r 545 0 59 0 1489 0 +r 545 0 59 0 1477 0 +r 545 0 59 0 1473 0 +r 545 0 59 0 1469 0 +r 545 0 59 0 1457 0 +r 545 0 59 0 1453 0 +r 545 0 59 0 1449 0 +r 545 0 59 0 1445 0 +r 545 0 59 0 1441 0 +r 545 0 59 0 1437 0 +r 545 0 59 0 1422 0 +r 545 0 59 0 1418 0 +r 545 0 59 0 1414 0 +r 545 0 59 0 1410 0 +r 545 0 59 0 1397 0 +r 545 0 59 0 547 0 +r 545 0 4 0 19 0 +r 545 0 5 0 2818 0 +r 545 0 78 0 546 0 +r 545 0 7 0 527 0 +r 2594 0 2904 0 1308 0 +r 2594 0 1 0 10 0 s Has Line Mode +r 546 0 1 0 10 0 s A 2x3 matrix of six doubles representing an affine 2D transformation in column-major order. +r 546 0 2923 0 545 0 +r 2595 0 2904 0 1280 0 +r 2595 0 1 0 10 0 s Has Interval +r 547 0 1 0 545 0 [d 1. 0. 0. 1. 0. 0. +r 547 0 2947 0 545 0 +r 2596 0 2904 0 1188 0 +r 2596 0 1 0 10 0 s Data Source +r 548 0 1 0 42 0 +r 548 0 2 0 94 0 +r 548 0 3 0 2985 0 +r 548 0 60 0 917 0 +r 548 0 28 0 545 0 +r 548 0 5 0 2842 0 +r 548 0 7 0 527 0 +r 2597 0 2904 0 1177 0 +r 2597 0 1 0 10 0 s Has Green +r 549 0 104 0 559 0 +r 549 0 104 0 557 0 +r 549 0 104 0 555 0 +r 549 0 104 0 553 0 +r 549 0 104 0 551 0 +r 549 0 129 0 916 0 +r 549 0 4 0 25 0 +r 549 0 5 0 2795 0 +r 549 0 78 0 550 0 +r 549 0 7 0 527 0 +r 2598 0 2904 0 1342 0 +r 2598 0 1 0 10 0 s Manual Grid +r 550 0 1 0 10 0 s A Graphics Node which has some kind of graphical representation. +r 550 0 2923 0 549 0 +r 2599 0 2904 0 1304 0 +r 2599 0 1 0 10 0 s Has YAxis Mode +r 551 0 1 0 106 0 +r 551 0 365 0 549 0 +r 551 0 38 0 552 0 +r 551 0 39 0 225 0 +r 2600 0 2904 0 1295 0 +r 2600 0 1 0 10 0 s Chart +r 552 0 2 0 94 0 +r 552 0 3 0 2986 0 +r 552 0 28 0 561 0 +r 552 0 5 0 2828 0 +r 552 0 7 0 527 0 +r 552 0 2911 0 551 0 +r 2601 0 2904 0 1325 0 +r 2601 0 1 0 10 0 s Plots Have Individual YAxis +r 553 0 1 0 106 0 +r 553 0 365 0 549 0 +r 553 0 38 0 554 0 +r 553 0 39 0 107 0 +r 2602 0 2904 0 1158 0 +r 2602 0 1 0 10 0 s Has Color Value +r 554 0 2 0 94 0 +r 554 0 3 0 2987 0 +r 554 0 28 0 12 0 +r 554 0 5 0 2803 0 +r 554 0 7 0 527 0 +r 554 0 2911 0 553 0 +r 2603 0 2904 0 1341 0 +r 2603 0 1 0 10 0 s Has Spacing +r 555 0 1 0 106 0 +r 555 0 365 0 549 0 +r 555 0 38 0 556 0 +r 555 0 39 0 107 0 +r 2604 0 2904 0 1160 0 +r 2604 0 1 0 10 0 s Time Value +r 556 0 2 0 94 0 +r 556 0 3 0 2988 0 +r 556 0 28 0 11 0 +r 556 0 5 0 2820 0 +r 556 0 7 0 527 0 +r 556 0 2911 0 555 0 +r 2605 0 2904 0 1178 0 +r 2605 0 1 0 10 0 s Has Blue +r 557 0 1 0 106 0 +r 557 0 365 0 549 0 +r 557 0 38 0 558 0 +r 557 0 39 0 225 0 +r 2606 0 2904 0 1098 0 +r 2606 0 1 0 10 0 s Webmon Namespace +r 558 0 2 0 94 0 +r 558 0 3 0 2989 0 +r 558 0 28 0 637 0 +r 558 0 5 0 2806 0 +r 558 0 7 0 527 0 +r 558 0 2911 0 557 0 +r 2607 0 2904 0 1238 0 +r 2607 0 1 0 10 0 s Surface4 DView Configuration +r 559 0 1 0 106 0 +r 559 0 365 0 549 0 +r 559 0 38 0 560 0 +r 559 0 39 0 225 0 +r 2608 0 2904 0 1107 0 +r 2608 0 1 0 10 0 s Visualizations +r 560 0 2 0 94 0 +r 560 0 3 0 2990 0 +r 560 0 28 0 637 0 +r 560 0 5 0 2789 0 +r 560 0 7 0 527 0 +r 560 0 2911 0 559 0 +r 2609 0 2904 0 1333 0 +r 2609 0 1 0 10 0 s Linear Interpolation +r 561 0 104 0 565 0 +r 561 0 104 0 563 0 +r 561 0 2907 0 552 0 +r 561 0 4 0 24 0 +r 561 0 5 0 2846 0 +r 561 0 78 0 562 0 +r 561 0 7 0 527 0 +r 2610 0 2904 0 1328 0 +r 2610 0 1 0 10 0 s Fit Min Max +r 562 0 1 0 10 0 s A composite property describing a complete SVG style with stroke and fill attributes. An opacity defined for a Style represents an 'object opacity' which effects both stroke and fill opacity. +r 562 0 2923 0 561 0 +r 2611 0 2904 0 1312 0 +r 2611 0 1 0 10 0 s Has Time Segment +r 563 0 1 0 106 0 +r 563 0 365 0 561 0 +r 563 0 38 0 564 0 +r 563 0 39 0 225 0 +r 2612 0 2904 0 442 0 +r 2612 0 1 0 10 0 s Has Devs Component +r 564 0 2 0 94 0 +r 564 0 3 0 2991 0 +r 564 0 28 0 567 0 +r 564 0 5 0 2823 0 +r 564 0 7 0 527 0 +r 564 0 2911 0 563 0 +r 2613 0 2904 0 440 0 +r 2613 0 1 0 10 0 s Has Model +r 565 0 1 0 106 0 +r 565 0 365 0 561 0 +r 565 0 38 0 566 0 +r 565 0 39 0 225 0 +r 2614 0 2904 0 428 0 +r 2614 0 1 0 10 0 s Experiment Library +r 566 0 2 0 94 0 +r 566 0 3 0 2992 0 +r 566 0 28 0 13 0 +r 566 0 5 0 2791 0 +r 566 0 7 0 527 0 +r 566 0 2911 0 565 0 +r 2615 0 2904 0 427 0 +r 2615 0 1 0 10 0 s Model +r 567 0 104 0 579 0 +r 567 0 104 0 577 0 +r 567 0 104 0 575 0 +r 567 0 104 0 573 0 +r 567 0 104 0 571 0 +r 567 0 104 0 569 0 +r 567 0 2907 0 564 0 +r 567 0 59 0 655 0 +r 567 0 4 0 24 0 +r 567 0 5 0 2801 0 +r 567 0 78 0 568 0 +r 567 0 7 0 527 0 +r 2616 0 2904 0 435 0 +r 2616 0 1 0 10 0 s Has State +r 568 0 1 0 10 0 s A composite property describing all stroke painting attributes possible in SVG +r 568 0 2923 0 567 0 +r 2617 0 2904 0 436 0 +r 2617 0 1 0 10 0 s State +r 569 0 1 0 106 0 +r 569 0 365 0 567 0 +r 569 0 38 0 570 0 +r 569 0 39 0 225 0 +r 2618 0 2904 0 438 0 +r 2618 0 1 0 10 0 s Has Initial State +r 570 0 2 0 94 0 +r 570 0 3 0 2993 0 +r 570 0 28 0 20 0 +r 570 0 5 0 2821 0 +r 570 0 78 0 626 0 +r 570 0 7 0 527 0 +r 570 0 2911 0 569 0 +r 2619 0 2904 0 431 0 +r 2619 0 1 0 10 0 s Experiment +r 571 0 1 0 106 0 +r 571 0 365 0 567 0 +r 571 0 38 0 572 0 +r 571 0 39 0 225 0 +r 2620 0 2904 0 422 0 +r 2620 0 1 0 10 0 s Simulation Namespace +r 572 0 2 0 94 0 +r 572 0 3 0 2994 0 +r 572 0 28 0 13 0 +r 572 0 5 0 2796 0 +r 572 0 78 0 627 0 +r 572 0 7 0 527 0 +r 572 0 2911 0 571 0 +r 2621 0 2904 0 424 0 +r 2621 0 1 0 10 0 s Model Library +r 573 0 1 0 106 0 +r 573 0 365 0 567 0 +r 573 0 38 0 574 0 +r 573 0 39 0 225 0 +r 2622 0 2904 0 433 0 +r 2622 0 1 0 10 0 s Has Configuration +r 574 0 2 0 94 0 +r 574 0 3 0 2995 0 +r 574 0 28 0 13 0 +r 574 0 5 0 2834 0 +r 574 0 7 0 527 0 +r 574 0 2911 0 573 0 +r 2623 0 2904 0 437 0 +r 2623 0 1 0 10 0 s Is Configuration Of +r 575 0 1 0 106 0 +r 575 0 365 0 567 0 +r 575 0 38 0 576 0 +r 575 0 39 0 225 0 +r 2624 0 2904 0 750 0 +r 2624 0 1 0 10 0 s Plugin +r 576 0 2 0 94 0 +r 576 0 3 0 2996 0 +r 576 0 28 0 13 0 +r 576 0 5 0 2819 0 +r 576 0 7 0 527 0 +r 576 0 2911 0 575 0 +r 2625 0 2904 0 742 0 +r 2625 0 1 0 10 0 s Requires Version +r 577 0 1 0 106 0 +r 577 0 365 0 567 0 +r 577 0 38 0 578 0 +r 577 0 39 0 225 0 +r 2626 0 2904 0 745 0 +r 2626 0 1 0 10 0 s Update Site +r 578 0 2 0 110 0 +r 578 0 3 0 2997 0 +r 578 0 28 0 621 0 +r 578 0 5 0 2788 0 +r 578 0 7 0 527 0 +r 578 0 2911 0 577 0 +r 2627 0 2904 0 754 0 +r 2627 0 1 0 10 0 s Feature Reference +r 579 0 1 0 106 0 +r 579 0 365 0 567 0 +r 579 0 38 0 580 0 +r 579 0 39 0 225 0 +r 2628 0 2904 0 740 0 +r 2628 0 1 0 10 0 s Refers To Item +r 580 0 2 0 110 0 +r 580 0 3 0 2998 0 +r 580 0 28 0 617 0 +r 580 0 5 0 2845 0 +r 580 0 7 0 527 0 +r 580 0 2911 0 579 0 +r 2629 0 2904 0 756 0 +r 2629 0 1 0 10 0 s Plugin Reference +r 581 0 2 0 110 0 +r 581 0 3 0 2999 0 +r 581 0 28 0 582 0 +r 581 0 5 0 2812 0 +r 581 0 7 0 527 0 +r 2630 0 2904 0 741 0 +r 2630 0 1 0 10 0 s Versioned Item +r 582 0 9 0 584 0 +r 582 0 9 0 583 0 +r 582 0 26 0 582 0 +r 582 0 2907 0 581 0 +r 582 0 59 0 584 0 +r 582 0 59 0 583 0 +r 582 0 4 0 24 0 +r 582 0 5 0 2816 0 +r 582 0 7 0 527 0 +r 2631 0 2904 0 736 0 +r 2631 0 1 0 10 0 s Has URL +r 583 0 1 0 582 0 +r 583 0 5 0 2793 0 +r 583 0 7 0 582 0 +r 2632 0 2904 0 743 0 +r 2632 0 1 0 10 0 s Has Data +r 584 0 1 0 582 0 +r 584 0 5 0 2800 0 +r 584 0 7 0 582 0 +r 2633 0 2904 0 737 0 +r 2633 0 1 0 10 0 s Has Dependency +r 585 0 104 0 588 0 +r 585 0 104 0 586 0 +r 585 0 2907 0 592 0 +r 585 0 2907 0 591 0 +r 585 0 2907 0 590 0 +r 585 0 4 0 24 0 +r 585 0 5 0 2831 0 +r 585 0 7 0 527 0 +r 2634 0 2904 0 735 0 +r 2634 0 1 0 10 0 s Version Range +r 586 0 1 0 106 0 +r 586 0 365 0 585 0 +r 586 0 38 0 587 0 +r 586 0 39 0 225 0 +r 2635 0 2904 0 739 0 +r 2635 0 1 0 10 0 s Is Dependency Of +r 587 0 2 0 110 0 +r 587 0 3 0 3000 0 +r 587 0 28 0 593 0 +r 587 0 5 0 2839 0 +r 587 0 7 0 527 0 +r 587 0 2911 0 586 0 +r 2636 0 2904 0 733 0 +r 2636 0 1 0 10 0 s Deployment Namespace +r 588 0 1 0 106 0 +r 588 0 365 0 585 0 +r 588 0 38 0 589 0 +r 588 0 39 0 107 0 +r 2637 0 2904 0 749 0 +r 2637 0 1 0 10 0 s Feature +r 589 0 2 0 94 0 +r 589 0 3 0 3001 0 +r 589 0 28 0 12 0 +r 589 0 5 0 2843 0 +r 589 0 7 0 527 0 +r 589 0 2911 0 588 0 +r 2638 0 2904 0 738 0 +r 2638 0 1 0 10 0 s Versioned Item Reference +r 590 0 2 0 94 0 +r 590 0 3 0 3002 0 +r 590 0 28 0 585 0 +r 590 0 5 0 2822 0 +r 590 0 7 0 527 0 +r 2639 0 2904 0 744 0 +r 2639 0 1 0 10 0 s Has Item Identifier +r 591 0 2 0 94 0 +r 591 0 3 0 3003 0 +r 591 0 28 0 585 0 +r 591 0 5 0 2813 0 +r 591 0 7 0 527 0 +r 2640 0 2904 0 691 0 +r 2640 0 1 0 10 0 s Has Coefficient +r 592 0 2 0 94 0 +r 592 0 3 0 3004 0 +r 592 0 28 0 585 0 +r 592 0 5 0 2835 0 +r 592 0 7 0 527 0 +r 2641 0 2904 0 713 0 +r 2641 0 1 0 10 0 s Operator +r 593 0 9 0 596 0 +r 593 0 9 0 594 0 +r 593 0 26 0 593 0 +r 593 0 2907 0 587 0 +r 593 0 59 0 596 0 +r 593 0 59 0 594 0 +r 593 0 4 0 24 0 +r 593 0 5 0 2811 0 +r 593 0 7 0 527 0 +r 2642 0 2904 0 720 0 +r 2642 0 1 0 10 0 s Element Expression +r 594 0 1 0 593 0 +r 594 0 5 0 595 0 +r 594 0 7 0 593 0 +r 2643 0 2904 0 694 0 +r 2643 0 1 0 10 0 s Scalar Polynomial Extent +r 595 0 2904 0 594 0 +r 595 0 1 0 10 0 s Normal +r 2644 0 2904 0 679 0 +r 2644 0 1 0 10 0 s Expression Extent +r 596 0 1 0 593 0 +r 596 0 5 0 597 0 +r 596 0 7 0 593 0 +r 2645 0 2904 0 723 0 +r 2645 0 1 0 10 0 s Assign +r 597 0 2904 0 596 0 +r 597 0 1 0 10 0 s Filled +r 2646 0 2904 0 663 0 +r 2646 0 1 0 10 0 s Has Source +r 598 0 104 0 604 0 +r 598 0 104 0 602 0 +r 598 0 104 0 600 0 +r 598 0 2907 0 606 0 +r 598 0 4 0 24 0 +r 598 0 5 0 2799 0 +r 598 0 78 0 599 0 +r 598 0 7 0 527 0 +r 2647 0 2904 0 677 0 +r 2647 0 1 0 10 0 s Expression +r 599 0 1 0 10 0 s A composite property describing a single font configuration by its family, style and size. +r 599 0 2923 0 598 0 +r 2648 0 2904 0 715 0 +r 2648 0 1 0 10 0 s Addition +r 600 0 1 0 106 0 +r 600 0 365 0 598 0 +r 600 0 38 0 601 0 +r 600 0 39 0 107 0 +r 2649 0 2904 0 719 0 +r 2649 0 1 0 10 0 s Has Element List +r 601 0 2 0 94 0 +r 601 0 3 0 3005 0 +r 601 0 28 0 10 0 +r 601 0 5 0 2804 0 +r 601 0 7 0 527 0 +r 601 0 2911 0 600 0 +r 2650 0 2904 0 700 0 +r 2650 0 1 0 10 0 s System Of Equations +r 602 0 1 0 106 0 +r 602 0 365 0 598 0 +r 602 0 38 0 603 0 +r 602 0 39 0 107 0 +r 2651 0 2904 0 712 0 +r 2651 0 1 0 10 0 s Element +r 603 0 2 0 110 0 +r 603 0 3 0 3006 0 +r 603 0 28 0 607 0 +r 603 0 5 0 2807 0 +r 603 0 7 0 527 0 +r 603 0 2911 0 602 0 +r 2652 0 2904 0 704 0 +r 2652 0 1 0 10 0 s Second Order Scalar Polynomial +r 604 0 1 0 106 0 +r 604 0 365 0 598 0 +r 604 0 38 0 605 0 +r 604 0 39 0 107 0 +r 2653 0 2904 0 707 0 +r 2653 0 1 0 10 0 s Has A +r 605 0 2 0 94 0 +r 605 0 3 0 3007 0 +r 605 0 28 0 11 0 +r 605 0 5 0 2792 0 +r 605 0 7 0 527 0 +r 605 0 2911 0 604 0 +r 2654 0 2904 0 709 0 +r 2654 0 1 0 10 0 s Has B +r 606 0 2 0 94 0 +r 606 0 3 0 3008 0 +r 606 0 28 0 598 0 +r 606 0 5 0 2833 0 +r 606 0 7 0 527 0 +r 2655 0 2904 0 711 0 +r 2655 0 1 0 10 0 s Has C +r 607 0 9 0 615 0 +r 607 0 9 0 613 0 +r 607 0 9 0 611 0 +r 607 0 9 0 609 0 +r 607 0 26 0 607 0 +r 607 0 2907 0 603 0 +r 607 0 59 0 615 0 +r 607 0 59 0 613 0 +r 607 0 59 0 611 0 +r 607 0 59 0 609 0 +r 607 0 4 0 24 0 +r 607 0 5 0 2840 0 +r 607 0 78 0 608 0 +r 607 0 7 0 527 0 +r 2656 0 2904 0 664 0 +r 2656 0 1 0 10 0 s Has Target +r 608 0 1 0 10 0 s An enumeration of the allowed font styles. +r 608 0 2923 0 607 0 +r 2657 0 2904 0 728 0 +r 2657 0 1 0 10 0 s Double To Integer Assign +r 609 0 1 0 607 0 +r 609 0 5 0 610 0 +r 609 0 7 0 607 0 +r 2658 0 2904 0 675 0 +r 2658 0 1 0 10 0 s Equation Namespace +r 610 0 2904 0 609 0 +r 610 0 1 0 10 0 s normal +r 2659 0 2904 0 727 0 +r 2659 0 1 0 10 0 s Double Assign +r 611 0 1 0 607 0 +r 611 0 5 0 612 0 +r 611 0 7 0 607 0 +r 2660 0 2904 0 717 0 +r 2660 0 1 0 10 0 s Multiplication +r 612 0 2904 0 611 0 +r 612 0 1 0 10 0 s italic +r 2661 0 2904 0 689 0 +r 2661 0 1 0 10 0 s Scalar Polynomial +r 613 0 1 0 607 0 +r 613 0 5 0 614 0 +r 613 0 7 0 607 0 +r 2662 0 2904 0 726 0 +r 2662 0 1 0 10 0 s Integer Assign +r 614 0 2904 0 613 0 +r 614 0 1 0 10 0 s bold +r 2663 0 2904 0 718 0 +r 2663 0 1 0 10 0 s Division +r 615 0 1 0 607 0 +r 615 0 5 0 616 0 +r 615 0 7 0 607 0 +r 2664 0 2904 0 665 0 +r 2664 0 1 0 10 0 s Number +r 616 0 2904 0 615 0 +r 616 0 1 0 10 0 s bold italic +r 2665 0 2904 0 687 0 +r 2665 0 1 0 10 0 s Equation +r 617 0 9 0 620 0 +r 617 0 9 0 619 0 +r 617 0 9 0 618 0 +r 617 0 26 0 617 0 +r 617 0 2907 0 580 0 +r 617 0 59 0 620 0 +r 617 0 59 0 619 0 +r 617 0 59 0 618 0 +r 617 0 4 0 24 0 +r 617 0 5 0 2827 0 +r 617 0 7 0 527 0 +r 2666 0 2904 0 698 0 +r 2666 0 1 0 10 0 s System Of Expressions +r 618 0 1 0 617 0 +r 618 0 5 0 2817 0 +r 618 0 7 0 617 0 +r 2667 0 2904 0 716 0 +r 2667 0 1 0 10 0 s Subtraction +r 619 0 1 0 617 0 +r 619 0 5 0 2797 0 +r 619 0 2998 0 655 0 +r 619 0 7 0 617 0 +r 2668 0 2904 0 703 0 +r 2668 0 1 0 10 0 s Has Variable +r 620 0 1 0 617 0 +r 620 0 5 0 2805 0 +r 620 0 7 0 617 0 +r 2669 0 2904 0 1992 0 +r 2669 0 1 0 10 0 s Exponential +r 621 0 9 0 624 0 +r 621 0 9 0 623 0 +r 621 0 9 0 622 0 +r 621 0 26 0 621 0 +r 621 0 2907 0 578 0 +r 621 0 59 0 624 0 +r 621 0 59 0 623 0 +r 621 0 59 0 622 0 +r 621 0 4 0 24 0 +r 621 0 5 0 2837 0 +r 621 0 7 0 527 0 +r 2670 0 2904 0 1380 0 +r 2670 0 1 0 10 0 s Value +r 622 0 1 0 621 0 +r 622 0 5 0 2798 0 +r 622 0 7 0 621 0 +r 2671 0 2904 0 2028 0 +r 2671 0 1 0 10 0 s Building +r 623 0 1 0 621 0 +r 623 0 5 0 2802 0 +r 623 0 7 0 621 0 +r 2672 0 2904 0 1913 28 +r 2672 0 1 0 10 0 s Less Or Equal Than Symbol +r 624 0 1 0 621 0 +r 624 0 2997 0 655 0 +r 624 0 5 0 2808 0 +r 624 0 7 0 621 0 +r 2673 0 2904 0 1366 0 +r 2673 0 1 0 10 0 s Input +r 625 0 2 0 94 0 +r 625 0 3 0 3009 0 +r 625 0 28 0 10 0 +r 625 0 5 0 2850 0 +r 625 0 7 0 527 0 +r 2674 0 2904 0 1374 0 +r 2674 0 1 0 10 0 s Output Of +r 626 0 1 0 10 0 s The array represents the lengths of the dash segments. Alternate entries in the array represent the user space lengths of the opaque and transparent segments of the dashes. +r 626 0 2923 0 570 0 +r 2675 0 2904 0 1778 0 +r 2675 0 1 0 10 0 s And +r 627 0 1 0 10 0 s The dash phase is a distance specified in user coordinates that represents an offset into the dashing pattern. +r 627 0 2923 0 572 0 +r 2676 0 2904 0 1377 0 +r 2676 0 1 0 10 0 s Has Functional Property +r 628 0 2 0 94 0 +r 628 0 3 0 3010 0 +r 628 0 28 0 535 0 +r 628 0 5 0 2829 0 +r 628 0 7 0 527 0 +r 2677 0 2904 0 1480 0 +r 2677 0 1 0 10 0 s Max +r 629 0 2 0 94 0 +r 629 0 3 0 3011 0 +r 629 0 28 0 10 0 +r 629 0 5 0 2832 0 +r 629 0 7 0 527 0 +r 2678 0 2904 0 1386 0 +r 2678 0 1 0 10 0 s Limit +r 630 0 2 0 94 0 +r 630 0 3 0 3012 0 +r 630 0 28 0 10 0 +r 630 0 5 0 2794 0 +r 630 0 7 0 527 0 +r 2679 0 2904 0 1484 6 +r 2679 0 1 0 10 0 s Max Symbol +r 631 0 9 0 634 0 +r 631 0 9 0 633 0 +r 631 0 9 0 632 0 +r 631 0 26 0 631 0 +r 631 0 2907 0 636 0 +r 631 0 2907 0 635 0 +r 631 0 59 0 634 0 +r 631 0 59 0 633 0 +r 631 0 59 0 632 0 +r 631 0 4 0 24 0 +r 631 0 5 0 2809 0 +r 631 0 7 0 527 0 +r 2680 0 2904 0 1925 0 +r 2680 0 1 0 10 0 s Less Than +r 632 0 1 0 631 0 +r 632 0 5 0 2848 0 +r 632 0 7 0 631 0 +r 2681 0 2904 0 1392 2 +r 2681 0 1 0 10 0 s Random Symbol +r 633 0 1 0 631 0 +r 633 0 5 0 2851 0 +r 633 0 7 0 631 0 +r 2682 0 2904 0 1373 0 +r 2682 0 1 0 10 0 s Output +r 634 0 1 0 631 0 +r 634 0 5 0 2836 0 +r 634 0 7 0 631 0 +r 2683 0 2904 0 1754 19 +r 2683 0 1 0 10 0 s Generic Sampler Symbol +r 635 0 2 0 110 0 +r 635 0 3 0 3013 0 +r 635 0 28 0 631 0 +r 635 0 5 0 2826 0 +r 635 0 7 0 527 0 +r 635 0 2911 0 963 0 +r 2684 0 2904 0 1890 0 +r 2684 0 1 0 10 0 s Greater Than +r 636 0 2 0 110 0 +r 636 0 3 0 3014 0 +r 636 0 28 0 631 0 +r 636 0 5 0 2824 0 +r 636 0 7 0 527 0 +r 636 0 2911 0 964 0 +r 2685 0 2904 0 1958 30 +r 2685 0 1 0 10 0 s Linear Combination2 Symbol +r 637 0 2907 0 639 0 +r 637 0 2907 0 560 0 +r 637 0 2907 0 558 0 +r 637 0 59 0 645 0 +r 637 0 59 0 643 0 +r 637 0 4 0 20 0 +r 637 0 5 0 2825 0 +r 637 0 78 0 638 0 +r 637 0 7 0 527 0 +r 2686 0 2904 0 1872 0 +r 2686 0 1 0 10 0 s Greater Or Equal Than +r 638 0 1 0 10 0 s A 4-component RGBA color as floats. +r 638 0 2923 0 637 0 +r 2687 0 2904 0 1821 0 +r 2687 0 1 0 10 0 s Xor +r 639 0 2 0 94 0 +r 639 0 3 0 3015 0 +r 639 0 28 0 637 0 +r 639 0 5 0 2814 0 +r 639 0 7 0 527 0 +r 639 0 2911 0 651 0 +r 2688 0 2904 0 1948 0 +r 2688 0 1 0 10 0 s Linear Combination2 +r 640 0 59 0 642 0 +r 640 0 4 0 57 0 +r 640 0 5 0 2830 0 +r 640 0 78 0 641 0 +r 640 0 7 0 527 0 +r 2689 0 2904 0 1460 0 +r 2689 0 1 0 10 0 s Min +r 641 0 1 0 10 0 s A collection of colors +r 641 0 2923 0 640 0 +r 2690 0 2904 0 1425 0 +r 2690 0 1 0 10 0 s Random Normal +r 642 0 9 0 645 0 +r 642 0 9 0 643 0 +r 642 0 1 0 640 0 +r 642 0 5 0 2838 0 +r 642 0 7 0 527 0 +r 2691 0 2904 0 1805 22 +r 2691 0 1 0 10 0 s Or Symbol +r 643 0 1 0 637 0 [f 0.0 0.0 0.0 1.0 +r 643 0 5 0 644 0 +r 643 0 7 0 642 0 +r 2692 0 2904 0 1364 0 +r 2692 0 1 0 10 0 s Control +r 644 0 2904 0 643 0 +r 644 0 1 0 10 0 s Black +r 2693 0 2904 0 1405 3 +r 2693 0 1 0 10 0 s Select Symbol +r 645 0 1 0 637 0 [f 1.0 1.0 1.0 1.0 +r 645 0 5 0 646 0 +r 645 0 7 0 642 0 +r 2694 0 2904 0 1910 0 +r 2694 0 1 0 10 0 s Less Or Equal Than +r 646 0 2904 0 645 0 +r 646 0 1 0 10 0 s White +r 2695 0 2904 0 2025 0 +r 2695 0 1 0 10 0 s External Air Temperature +r 647 0 104 0 648 0 +r 647 0 2907 0 654 0 +r 647 0 4 0 24 0 +r 647 0 5 0 2810 0 +r 647 0 7 0 527 0 +r 2696 0 2904 0 1379 0 +r 2696 0 1 0 10 0 s Length +r 648 0 1 0 106 0 +r 648 0 365 0 647 0 +r 648 0 38 0 649 0 +r 648 0 39 0 362 0 +r 2697 0 2904 0 1894 27 +r 2697 0 1 0 10 0 s Greater Than Symbol +r 649 0 2 0 94 0 +r 649 0 3 0 3016 0 +r 649 0 28 0 650 0 +r 649 0 5 0 2849 0 +r 649 0 7 0 527 0 +r 649 0 2911 0 648 0 +r 2698 0 2904 0 1358 0 +r 2698 0 1 0 10 0 s Devs Model +r 650 0 104 0 652 0 +r 650 0 104 0 651 0 +r 650 0 2907 0 649 0 +r 650 0 4 0 24 0 +r 650 0 5 0 2790 0 +r 650 0 7 0 527 0 +r 2699 0 2904 0 1400 0 +r 2699 0 1 0 10 0 s Select +r 651 0 1 0 106 0 +r 651 0 365 0 650 0 +r 651 0 38 0 639 0 +r 651 0 39 0 107 0 +r 2700 0 2904 0 1932 29 +r 2700 0 1 0 10 0 s Less Than Symbol +r 652 0 1 0 106 0 +r 652 0 365 0 650 0 +r 652 0 38 0 653 0 +r 652 0 39 0 107 0 +r 2701 0 2904 0 2032 33 +r 2701 0 1 0 10 0 s Building Symbol +r 653 0 2 0 94 0 +r 653 0 3 0 3017 0 +r 653 0 28 0 12 0 +r 653 0 5 0 2847 0 +r 653 0 7 0 527 0 +r 653 0 2911 0 652 0 +r 2702 0 2904 0 1647 14 +r 2702 0 1 0 10 0 s Boolean Value Symbol +r 654 0 2 0 94 0 +r 654 0 3 0 3018 0 +r 654 0 28 0 647 0 +r 654 0 5 0 2844 0 +r 654 0 7 0 527 0 +r 2703 0 2904 0 1679 0 +r 2703 0 1 0 10 0 s Demux +r 655 0 576 0 660 0 +r 655 0 1 0 567 0 +r 655 0 578 0 624 0 +r 655 0 570 0 658 0 +r 655 0 580 0 619 0 +r 655 0 572 0 659 0 +r 655 0 5 0 2815 0 +r 655 0 574 0 657 0 +r 655 0 78 0 656 0 +r 655 0 7 0 527 0 +r 2704 0 2904 0 1659 0 +r 2704 0 1 0 10 0 s Mux +r 656 0 1 0 10 0 s Default Stroke with width = 1 +r 656 0 2923 0 655 0 +r 2705 0 2904 0 1359 0 +r 2705 0 1 0 10 0 s Phantom Terminal +r 657 0 1 0 13 0 f 1.0 +r 657 0 2995 0 655 0 +r 2706 0 2904 0 1603 0 +r 2706 0 1 0 10 0 s Integral2 +r 658 0 2993 0 655 0 +r 658 0 1 0 20 0 [f 1.0 +r 2707 0 2904 0 1385 0 +r 2707 0 1 0 10 0 s Output Value +r 659 0 1 0 13 0 f 0.0 +r 659 0 2994 0 655 0 +r 2708 0 2904 0 1375 0 +r 2708 0 1 0 10 0 s Output1 +r 660 0 1 0 13 0 f 1.0 +r 660 0 2996 0 655 0 +r 2709 0 2904 0 1376 0 +r 2709 0 1 0 10 0 s Output2 +r 661 0 2 0 110 0 +r 661 0 3 0 3019 0 +r 661 0 28 0 10 0 +r 661 0 5 0 662 0 +r 661 0 7 0 527 0 +r 661 0 2911 0 914 0 +r 2710 0 2904 0 1878 26 +r 2710 0 1 0 10 0 s Greater Or Equal Than Symbol +r 662 0 2904 0 661 0 +r 662 0 1 0 10 0 s Has SVG Document +r 2711 0 2904 0 1351 0 +r 2711 0 1 0 10 0 s Devs Namespace +r 663 0 2 0 103 0 +r 663 0 3 0 664 0 +r 663 0 139 0 687 0 +r 663 0 139 0 679 0 +r 663 0 139 0 677 0 +r 663 0 28 0 697 0 +r 663 0 5 0 2646 0 +r 663 0 29 0 695 0 +r 663 0 7 0 669 0 +r 663 0 2911 0 724 0 +r 663 0 2911 0 701 0 +r 663 0 2911 0 692 0 +r 663 0 2911 0 688 0 +r 663 0 2911 0 682 0 +r 2712 0 2904 0 1632 13 +r 2712 0 1 0 10 0 s Gain Symbol +r 664 0 2 0 112 0 +r 664 0 3 0 663 0 +r 664 0 139 0 679 0 +r 664 0 139 0 677 0 +r 664 0 5 0 2656 0 +r 664 0 7 0 669 0 +r 664 0 2911 0 725 0 +r 664 0 2911 0 722 0 +r 664 0 2911 0 693 0 +r 664 0 2911 0 678 0 +r 2713 0 2904 0 1663 15 +r 2713 0 1 0 10 0 s Mux Symbol +r 665 0 104 0 714 0 +r 665 0 4 0 712 0 +r 665 0 5 0 2664 0 +r 665 0 7 0 666 0 +r 2714 0 2904 0 2027 0 +r 2714 0 1 0 10 0 s Cooling Power Use +r 666 0 9 0 728 0 +r 666 0 9 0 727 0 +r 666 0 9 0 726 0 +r 666 0 9 0 723 0 +r 666 0 9 0 720 0 +r 666 0 9 0 718 0 +r 666 0 9 0 717 0 +r 666 0 9 0 716 0 +r 666 0 9 0 715 0 +r 666 0 9 0 713 0 +r 666 0 9 0 712 0 +r 666 0 9 0 704 0 +r 666 0 9 0 700 0 +r 666 0 9 0 698 0 +r 666 0 9 0 689 0 +r 666 0 9 0 687 0 +r 666 0 9 0 685 0 +r 666 0 9 0 683 0 +r 666 0 9 0 680 0 +r 666 0 9 0 677 0 +r 666 0 9 0 665 0 +r 666 0 1 0 48 0 +r 666 0 5 0 667 0 +r 666 0 7 0 668 0 +r 2715 0 2904 0 1644 0 +r 2715 0 1 0 10 0 s Boolean Value +r 667 0 2904 0 666 0 +r 667 0 1 0 10 0 s Types +r 2716 0 2904 0 1524 8 +r 2716 0 1 0 10 0 s Division Symbol +r 668 0 97 0 673 0 +r 668 0 1 0 69 0 +r 668 0 9 0 694 0 +r 668 0 9 0 679 0 +r 668 0 9 0 669 0 +r 668 0 9 0 666 0 +r 668 0 93 0 674 0 +r 668 0 5 0 671 0 +r 668 0 6 0 672 0 +r 668 0 2919 0 675 0 +r 668 0 7 0 89 0 +r 668 0 7 0 77 0 +r 2717 0 2904 0 1504 7 +r 2717 0 1 0 10 0 s Sum Symbol +r 669 0 9 0 719 0 +r 669 0 9 0 711 0 +r 669 0 9 0 709 0 +r 669 0 9 0 707 0 +r 669 0 9 0 703 0 +r 669 0 9 0 691 0 +r 669 0 9 0 664 0 +r 669 0 9 0 663 0 +r 669 0 1 0 55 0 +r 669 0 5 0 670 0 +r 669 0 7 0 668 0 +r 2718 0 2904 0 1432 4 +r 2718 0 1 0 10 0 s Random Normal Symbol +r 670 0 2904 0 669 0 +r 670 0 1 0 10 0 s Relations +r 2719 0 2904 0 1560 0 +r 2719 0 1 0 10 0 s Product +r 671 0 2904 0 668 0 +r 671 0 1 0 10 0 s Equation-1.0 +r 2720 0 2904 0 1770 20 +r 2720 0 1 0 10 0 s Boolean Sampler Symbol +r 672 0 2905 0 668 0 +r 672 0 1 0 88 0 s http://www.vtt.fi/Simantics/Equation/1.0 +r 2721 0 2904 0 1500 0 +r 2721 0 1 0 10 0 s Sum +r 673 0 1 0 99 0 s 1.0 +r 673 0 2926 0 668 0 +r 2722 0 2904 0 1580 0 +r 2722 0 1 0 10 0 s Integral +r 674 0 1 0 10 0 s org.simantics.equation.stubs.EquationResource +r 674 0 2925 0 668 0 +r 2723 0 2904 0 1382 0 +r 2723 0 1 0 10 0 s Scale1 +r 675 0 65 0 668 0 +r 675 0 1 0 62 0 +r 675 0 5 0 2658 0 +r 675 0 6 0 676 0 +r 675 0 7 0 85 0 +r 2724 0 2904 0 1741 18 +r 2724 0 1 0 10 0 s Sampler Symbol +r 676 0 2905 0 675 0 +r 676 0 1 0 88 0 s http://www.vtt.fi/Simantics/Equation/1.0 +r 2725 0 2904 0 1383 0 +r 2725 0 1 0 10 0 s Scale2 +r 677 0 104 0 678 0 +r 677 0 136 0 664 0 +r 677 0 136 0 663 0 +r 677 0 129 0 723 0 +r 677 0 129 0 720 0 +r 677 0 129 0 689 0 +r 677 0 129 0 687 0 +r 677 0 129 0 680 0 +r 677 0 145 0 677 0 +r 677 0 2906 0 697 0 +r 677 0 2906 0 695 0 +r 677 0 2907 0 701 0 +r 677 0 2907 0 699 0 +r 677 0 131 0 679 0 +r 677 0 4 0 25 0 +r 677 0 5 0 2647 0 +r 677 0 7 0 666 0 +r 2726 0 2904 0 1381 0 +r 2726 0 1 0 10 0 s Scale +r 678 0 1 0 106 0 +r 678 0 365 0 677 0 +r 678 0 38 0 664 0 +r 2727 0 2904 0 1850 24 +r 2727 0 1 0 10 0 s Not Symbol +r 679 0 136 0 664 0 +r 679 0 136 0 663 0 +r 679 0 1 0 130 0 +r 679 0 132 0 677 0 +r 679 0 5 0 2644 0 +r 679 0 142 0 694 0 +r 679 0 7 0 668 0 +r 2728 0 2904 0 1798 0 +r 2728 0 1 0 10 0 s Or +r 680 0 104 0 682 0 +r 680 0 129 0 685 0 +r 680 0 129 0 683 0 +r 680 0 145 0 680 0 +r 680 0 4 0 677 0 +r 680 0 5 0 681 0 +r 680 0 7 0 666 0 +r 2729 0 2904 0 1564 10 +r 2729 0 1 0 10 0 s Product Symbol +r 681 0 2904 0 680 0 +r 681 0 1 0 10 0 s AggregateExpression +r 2730 0 2904 0 1725 0 +r 2730 0 1 0 10 0 s Trend Symbol +r 682 0 1 0 106 0 +r 682 0 365 0 680 0 +r 682 0 38 0 663 0 +r 2731 0 2904 0 1464 5 +r 2731 0 1 0 10 0 s Min Symbol +r 683 0 4 0 680 0 +r 683 0 5 0 684 0 +r 683 0 7 0 666 0 +r 2732 0 2904 0 1974 0 +r 2732 0 1 0 10 0 s Set Value +r 684 0 2904 0 683 0 +r 684 0 1 0 10 0 s SumExpression +r 2733 0 2904 0 2013 0 +r 2733 0 1 0 10 0 s Boolean Toggle Value Symbol +r 685 0 4 0 680 0 +r 685 0 5 0 686 0 +r 685 0 7 0 666 0 +r 2734 0 2904 0 1699 0 +r 2734 0 1 0 10 0 s Delay +r 686 0 2904 0 685 0 +r 686 0 1 0 10 0 s ProductExpression +r 2735 0 2904 0 1363 0 +r 2735 0 1 0 10 0 s Self +r 687 0 136 0 663 0 +r 687 0 104 0 688 0 +r 687 0 2906 0 696 0 +r 687 0 4 0 677 0 +r 687 0 5 0 2665 0 +r 687 0 7 0 666 0 +r 2736 0 2904 0 1844 0 +r 2736 0 1 0 10 0 s Not +r 688 0 1 0 106 0 +r 688 0 365 0 687 0 +r 688 0 38 0 663 0 +r 688 0 39 0 356 0 +r 2737 0 2904 0 1544 9 +r 2737 0 1 0 10 0 s Subtraction Symbol +r 689 0 136 0 691 0 +r 689 0 104 0 693 0 +r 689 0 104 0 692 0 +r 689 0 104 0 690 0 +r 689 0 129 0 704 0 +r 689 0 137 0 691 0 +r 689 0 131 0 694 0 +r 689 0 4 0 677 0 +r 689 0 5 0 2661 0 +r 689 0 7 0 666 0 +r 2738 0 2904 0 1587 11 +r 2738 0 1 0 10 0 s Integral Symbol +r 690 0 1 0 106 0 +r 690 0 28 0 12 0 +r 690 0 365 0 689 0 +r 690 0 38 0 691 0 +r 2739 0 2904 0 1683 16 +r 2739 0 1 0 10 0 s Demux Symbol +r 691 0 2 0 110 0 +r 691 0 3 0 3020 0 +r 691 0 139 0 689 0 +r 691 0 60 0 711 0 +r 691 0 60 0 709 0 +r 691 0 60 0 707 0 +r 691 0 5 0 2640 0 +r 691 0 141 0 694 0 +r 691 0 141 0 689 0 +r 691 0 7 0 669 0 +r 691 0 2911 0 690 0 +r 2740 0 2904 0 1387 0 +r 2740 0 1 0 10 0 s Random Boolean Sequence +r 692 0 1 0 106 0 +r 692 0 365 0 689 0 +r 692 0 38 0 663 0 +r 692 0 39 0 107 0 +r 2741 0 2904 0 1762 0 +r 2741 0 1 0 10 0 s Boolean Sampler +r 693 0 1 0 106 0 +r 693 0 365 0 689 0 +r 693 0 38 0 664 0 +r 693 0 39 0 107 0 +r 2742 0 2904 0 1717 0 +r 2742 0 1 0 10 0 s Trend +r 694 0 137 0 691 0 +r 694 0 1 0 130 0 +r 694 0 132 0 689 0 +r 694 0 5 0 2643 0 +r 694 0 143 0 679 0 +r 694 0 7 0 668 0 +r 2743 0 2904 0 1368 0 +r 2743 0 1 0 10 0 s Input1 +r 695 0 1 0 33 0 +r 695 0 27 0 696 0 +r 695 0 27 0 677 0 +r 695 0 2908 0 663 0 +r 2744 0 2904 0 1369 0 +r 2744 0 1 0 10 0 s Input2 +r 696 0 1 0 33 0 +r 696 0 2906 0 695 0 +r 696 0 27 0 687 0 +r 696 0 27 0 24 0 +r 2745 0 2904 0 1995 32 +r 2745 0 1 0 10 0 s Exponential Symbol +r 697 0 1 0 33 0 +r 697 0 2907 0 663 0 +r 697 0 27 0 677 0 +r 697 0 27 0 24 0 +r 2746 0 2904 0 1370 0 +r 2746 0 1 0 10 0 s Input3 +r 698 0 104 0 699 0 +r 698 0 4 0 25 0 +r 698 0 5 0 2666 0 +r 698 0 7 0 666 0 +r 2747 0 2904 0 1371 0 +r 2747 0 1 0 10 0 s Input4 +r 699 0 1 0 106 0 +r 699 0 28 0 677 0 +r 699 0 365 0 698 0 +r 699 0 38 0 9 0 +r 2748 0 2904 0 1705 17 +r 2748 0 1 0 10 0 s Delay Symbol +r 700 0 104 0 702 0 +r 700 0 104 0 701 0 +r 700 0 4 0 25 0 +r 700 0 5 0 2650 0 +r 700 0 7 0 666 0 +r 2749 0 2904 0 1372 0 +r 2749 0 1 0 10 0 s Input5 +r 701 0 1 0 106 0 +r 701 0 28 0 677 0 +r 701 0 365 0 700 0 +r 701 0 38 0 663 0 +r 2750 0 2904 0 1354 0 +r 2750 0 1 0 10 0 s Devs Model Manager +r 702 0 1 0 106 0 +r 702 0 365 0 700 0 +r 702 0 38 0 703 0 +r 2751 0 2904 0 1864 25 +r 2751 0 1 0 10 0 s Ground Symbol +r 703 0 2 0 103 0 +r 703 0 3 0 3021 0 +r 703 0 28 0 24 0 +r 703 0 5 0 2668 0 +r 703 0 7 0 669 0 +r 703 0 2911 0 714 0 +r 703 0 2911 0 702 0 +r 2752 0 2904 0 1378 0 +r 2752 0 1 0 10 0 s Count +r 704 0 104 0 710 0 +r 704 0 104 0 708 0 +r 704 0 104 0 706 0 +r 704 0 4 0 689 0 +r 704 0 5 0 2652 0 +r 704 0 78 0 705 0 +r 704 0 7 0 666 0 +r 2753 0 2904 0 1353 0 +r 2753 0 1 0 10 0 s Devs Modelling Domain +r 705 0 1 0 10 0 s Defines a second order equation in form of: ax^2 + bx + c = y , x=[source], y=[target] +r 705 0 2923 0 704 0 +r 2754 0 2904 0 1626 0 +r 2754 0 1 0 10 0 s Gain +r 706 0 1 0 106 0 +r 706 0 365 0 704 0 +r 706 0 38 0 707 0 +r 706 0 39 0 107 0 +r 2755 0 2904 0 1733 0 +r 2755 0 1 0 10 0 s Sampler +r 707 0 2 0 691 0 +r 707 0 3 0 3022 0 +r 707 0 28 0 12 0 +r 707 0 5 0 2653 0 +r 707 0 7 0 669 0 +r 707 0 2911 0 706 0 +r 2756 0 2904 0 1384 0 +r 2756 0 1 0 10 0 s Frequency +r 708 0 1 0 106 0 +r 708 0 365 0 704 0 +r 708 0 38 0 709 0 +r 708 0 39 0 107 0 +r 2757 0 2904 0 2007 0 +r 2757 0 1 0 10 0 s Boolean Toggle Value +r 709 0 2 0 691 0 +r 709 0 3 0 3023 0 +r 709 0 28 0 12 0 +r 709 0 5 0 2654 0 +r 709 0 7 0 669 0 +r 709 0 2911 0 708 0 +r 2758 0 2904 0 1782 21 +r 2758 0 1 0 10 0 s And Symbol +r 710 0 1 0 106 0 +r 710 0 365 0 704 0 +r 710 0 38 0 711 0 +r 710 0 39 0 107 0 +r 2759 0 2904 0 1520 0 +r 2759 0 1 0 10 0 s Division +r 711 0 2 0 691 0 +r 711 0 3 0 3024 0 +r 711 0 28 0 12 0 +r 711 0 5 0 2655 0 +r 711 0 7 0 669 0 +r 711 0 2911 0 710 0 +r 2760 0 2904 0 1828 23 +r 2760 0 1 0 10 0 s Xor Symbol +r 712 0 129 0 713 0 +r 712 0 129 0 665 0 +r 712 0 4 0 25 0 +r 712 0 5 0 2651 0 +r 712 0 7 0 666 0 +r 2761 0 2904 0 1365 0 +r 2761 0 1 0 10 0 s Reset +r 713 0 129 0 718 0 +r 713 0 129 0 717 0 +r 713 0 129 0 716 0 +r 713 0 129 0 715 0 +r 713 0 4 0 712 0 +r 713 0 5 0 2641 0 +r 713 0 7 0 666 0 +r 2762 0 2904 0 1980 31 +r 2762 0 1 0 10 0 s Set Value Symbol +r 714 0 1 0 106 0 +r 714 0 365 0 665 0 +r 714 0 38 0 703 0 +r 714 0 39 0 107 0 +r 2763 0 2904 0 1862 0 +r 2763 0 1 0 10 0 s Ground +r 715 0 4 0 713 0 +r 715 0 5 0 2648 0 +r 715 0 7 0 666 0 +r 2764 0 2904 0 2026 0 +r 2764 0 1 0 10 0 s Heating Power Use +r 716 0 4 0 713 0 +r 716 0 5 0 2667 0 +r 716 0 7 0 666 0 +r 2765 0 2904 0 1610 12 +r 2765 0 1 0 10 0 s Integral2 Symbol +r 717 0 4 0 713 0 +r 717 0 5 0 2660 0 +r 717 0 7 0 666 0 +r 2766 0 2904 0 1749 0 +r 2766 0 1 0 10 0 s Generic Sampler +r 718 0 4 0 713 0 +r 718 0 5 0 2663 0 +r 718 0 7 0 666 0 +r 2767 0 2904 0 1367 0 +r 2767 0 1 0 10 0 s Input Of +r 719 0 2 0 94 0 +r 719 0 3 0 3025 0 +r 719 0 28 0 220 0 +r 719 0 5 0 2649 0 +r 719 0 7 0 669 0 +r 719 0 2911 0 721 0 +r 2768 0 2904 0 1540 0 +r 2768 0 1 0 10 0 s Subtraction +r 720 0 104 0 722 0 +r 720 0 104 0 721 0 +r 720 0 4 0 677 0 +r 720 0 5 0 2642 0 +r 720 0 7 0 666 0 +r 2769 0 2904 0 389 0 +r 2769 0 1 0 10 0 s Required By Feature +r 721 0 1 0 106 0 +r 721 0 365 0 720 0 +r 721 0 38 0 719 0 +r 721 0 39 0 107 0 +r 2770 0 2904 0 401 0 +r 2770 0 1 0 10 0 s Features +r 722 0 1 0 106 0 +r 722 0 365 0 720 0 +r 722 0 38 0 664 0 +r 722 0 39 0 107 0 +r 2771 0 2904 0 410 0 +r 2771 0 1 0 10 0 s Administration Feature +r 723 0 104 0 725 0 +r 723 0 104 0 724 0 +r 723 0 129 0 728 0 +r 723 0 129 0 727 0 +r 723 0 129 0 726 0 +r 723 0 4 0 677 0 +r 723 0 5 0 2645 0 +r 723 0 7 0 666 0 +r 2772 0 2904 0 396 0 +r 2772 0 1 0 10 0 s Experiment Control Feature +r 724 0 1 0 106 0 +r 724 0 365 0 723 0 +r 724 0 38 0 663 0 +r 724 0 39 0 107 0 +r 2773 0 2904 0 379 0 +r 2773 0 1 0 10 0 s Has Feature +r 725 0 1 0 106 0 +r 725 0 365 0 723 0 +r 725 0 38 0 664 0 +r 725 0 39 0 107 0 +r 2774 0 2904 0 375 0 +r 2774 0 1 0 10 0 s Project Type2 +r 726 0 4 0 723 0 +r 726 0 5 0 2662 0 +r 726 0 7 0 666 0 +r 2775 0 2904 0 383 0 +r 2775 0 1 0 10 0 s Lifecycle Feature +r 727 0 4 0 723 0 +r 727 0 5 0 2659 0 +r 727 0 7 0 666 0 +r 2776 0 2904 0 376 0 +r 2776 0 1 0 10 0 s Project2 +r 728 0 4 0 723 0 +r 728 0 5 0 2657 0 +r 728 0 7 0 666 0 +r 2777 0 2904 0 374 0 +r 2777 0 1 0 10 0 s Published Project Features +r 729 0 9 0 756 0 +r 729 0 9 0 754 0 +r 729 0 9 0 750 0 +r 729 0 9 0 749 0 +r 729 0 9 0 745 0 +r 729 0 9 0 744 0 +r 729 0 9 0 743 0 +r 729 0 9 0 742 0 +r 729 0 9 0 741 0 +r 729 0 9 0 740 0 +r 729 0 9 0 739 0 +r 729 0 9 0 738 0 +r 729 0 9 0 737 0 +r 729 0 9 0 736 0 +r 729 0 9 0 735 0 +r 729 0 97 0 732 0 +r 729 0 1 0 69 0 +r 729 0 5 0 730 0 +r 729 0 6 0 731 0 +r 729 0 2919 0 733 0 +r 729 0 7 0 89 0 +r 729 0 7 0 77 0 +r 2778 0 2904 0 380 0 +r 2778 0 1 0 10 0 s Has Extension Id +r 730 0 2904 0 729 0 +r 730 0 1 0 10 0 s Deployment-1.0 +r 2779 0 2904 0 392 0 +r 2779 0 1 0 10 0 s Is Incompatible With Feature +r 731 0 2905 0 729 0 +r 731 0 1 0 88 0 s http://www.simantics.org/Ontology/Deployment/1.0 +r 2780 0 2904 0 408 0 +r 2780 0 1 0 10 0 s Modelling Domain +r 732 0 1 0 99 0 s 1.0 +r 732 0 2926 0 729 0 +r 2781 0 2904 0 394 0 +r 2781 0 1 0 10 0 s Requires Namespace +r 733 0 65 0 729 0 +r 733 0 1 0 62 0 +r 733 0 5 0 2636 0 +r 733 0 6 0 734 0 +r 733 0 7 0 85 0 +r 2782 0 2904 0 390 0 +r 2782 0 1 0 10 0 s Is Compatible With Feature +r 734 0 2905 0 733 0 +r 734 0 1 0 88 0 s http://www.simantics.org/Ontology/Deployment/1.0 +r 2783 0 2904 0 388 0 +r 2783 0 1 0 10 0 s Requires Feature +r 735 0 2907 0 742 0 +r 735 0 4 0 10 0 +r 735 0 5 0 2634 0 +r 735 0 7 0 729 0 +r 2784 0 2904 0 384 0 +r 2784 0 1 0 10 0 s Extension Feature +r 736 0 2 0 94 0 +r 736 0 3 0 3026 0 +r 736 0 28 0 198 0 +r 736 0 5 0 2631 0 +r 736 0 7 0 729 0 +r 736 0 2911 0 746 0 +r 2785 0 2904 0 397 0 +r 2785 0 1 0 10 0 s Model Manager Feature +r 737 0 2 0 103 0 +r 737 0 3 0 739 0 +r 737 0 28 0 738 0 +r 737 0 5 0 2633 0 +r 737 0 7 0 729 0 +r 2786 0 2904 0 398 0 +r 2786 0 1 0 10 0 s Ontology Requirement Validation Feature +r 738 0 104 0 753 0 +r 738 0 104 0 752 0 +r 738 0 104 0 751 0 +r 738 0 129 0 756 0 +r 738 0 129 0 754 0 +r 738 0 2907 0 737 0 +r 738 0 4 0 25 0 +r 738 0 5 0 2638 0 +r 738 0 7 0 729 0 +r 2787 0 2904 0 381 0 +r 2787 0 1 0 10 0 s Feature +r 739 0 2 0 112 0 +r 739 0 3 0 737 0 +r 739 0 5 0 2635 0 +r 739 0 7 0 729 0 +r 2788 0 2904 0 578 0 +r 2788 0 1 0 10 0 s Has Line Cap +r 740 0 2 0 8 0 +r 740 0 3 0 3027 0 +r 740 0 28 0 741 0 +r 740 0 5 0 2628 0 +r 740 0 7 0 729 0 +r 740 0 2911 0 757 0 +r 740 0 2911 0 755 0 +r 740 0 2911 0 753 0 +r 2789 0 2904 0 560 0 +r 2789 0 1 0 10 0 s Has Border Color +r 741 0 104 0 748 0 +r 741 0 104 0 747 0 +r 741 0 129 0 750 0 +r 741 0 129 0 749 0 +r 741 0 2907 0 740 0 +r 741 0 4 0 25 0 +r 741 0 5 0 2630 0 +r 741 0 7 0 729 0 +r 2790 0 2904 0 650 0 +r 2790 0 1 0 10 0 s Color Placement +r 742 0 2 0 94 0 +r 742 0 3 0 3028 0 +r 742 0 28 0 735 0 +r 742 0 5 0 2625 0 +r 742 0 7 0 729 0 +r 742 0 2911 0 752 0 +r 2791 0 2904 0 566 0 +r 2791 0 1 0 10 0 s Has Opacity +r 743 0 2 0 103 0 +r 743 0 3 0 3029 0 +r 743 0 28 0 15 0 +r 743 0 5 0 2632 0 +r 743 0 7 0 729 0 +r 2792 0 2904 0 605 0 +r 2792 0 1 0 10 0 s Has Font Size +r 744 0 2 0 103 0 +r 744 0 3 0 3030 0 +r 744 0 28 0 10 0 +r 744 0 5 0 2639 0 +r 744 0 7 0 729 0 +r 744 0 2911 0 751 0 +r 744 0 2911 0 747 0 +r 2793 0 2904 0 583 0 +r 2793 0 1 0 10 0 s Scaling +r 745 0 104 0 746 0 +r 745 0 4 0 25 0 +r 745 0 5 0 2626 0 +r 745 0 7 0 729 0 +r 2794 0 2904 0 630 0 +r 2794 0 1 0 10 0 s Has Text +r 746 0 1 0 106 0 +r 746 0 365 0 745 0 +r 746 0 38 0 736 0 +r 746 0 39 0 107 0 +r 2795 0 2904 0 549 0 +r 2795 0 1 0 10 0 s Shape +r 747 0 1 0 106 0 +r 747 0 365 0 741 0 +r 747 0 38 0 744 0 +r 747 0 39 0 107 0 +r 2796 0 2904 0 572 0 +r 2796 0 1 0 10 0 s Has Dash Offset +r 748 0 1 0 106 0 +r 748 0 365 0 741 0 +r 748 0 38 0 97 0 +r 748 0 39 0 107 0 +r 2797 0 2904 0 619 0 +r 2797 0 1 0 10 0 s Round Join +r 749 0 2907 0 755 0 +r 749 0 4 0 741 0 +r 749 0 5 0 2637 0 +r 749 0 7 0 729 0 +r 2798 0 2904 0 622 0 +r 2798 0 1 0 10 0 s Butt Cap +r 750 0 2907 0 757 0 +r 750 0 4 0 741 0 +r 750 0 5 0 2624 0 +r 750 0 7 0 729 0 +r 2799 0 2904 0 598 0 +r 2799 0 1 0 10 0 s Font +r 751 0 1 0 106 0 +r 751 0 365 0 738 0 +r 751 0 38 0 744 0 +r 751 0 39 0 107 0 +r 2800 0 2904 0 584 0 +r 2800 0 1 0 10 0 s Nonscaling +r 752 0 1 0 106 0 +r 752 0 365 0 738 0 +r 752 0 38 0 742 0 +r 752 0 39 0 107 0 +r 2801 0 2904 0 567 0 +r 2801 0 1 0 10 0 s Stroke +r 753 0 1 0 106 0 +r 753 0 365 0 738 0 +r 753 0 38 0 740 0 +r 2802 0 2904 0 623 0 +r 2802 0 1 0 10 0 s Round Cap +r 754 0 104 0 755 0 +r 754 0 4 0 738 0 +r 754 0 5 0 2627 0 +r 754 0 7 0 729 0 +r 2803 0 2904 0 554 0 +r 2803 0 1 0 10 0 s Has Line Segments +r 755 0 1 0 106 0 +r 755 0 28 0 749 0 +r 755 0 365 0 754 0 +r 755 0 38 0 740 0 +r 2804 0 2904 0 601 0 +r 2804 0 1 0 10 0 s Has Font Family +r 756 0 104 0 757 0 +r 756 0 4 0 738 0 +r 756 0 5 0 2629 0 +r 756 0 7 0 729 0 +r 2805 0 2904 0 620 0 +r 2805 0 1 0 10 0 s Bevel Join +r 757 0 1 0 106 0 +r 757 0 28 0 750 0 +r 757 0 365 0 756 0 +r 757 0 38 0 740 0 +r 2806 0 2904 0 558 0 +r 2806 0 1 0 10 0 s Has Fill Color +r 758 0 9 0 781 0 +r 758 0 9 0 779 0 +r 758 0 9 0 778 0 +r 758 0 9 0 776 0 +r 758 0 9 0 775 0 +r 758 0 9 0 774 0 +r 758 0 9 0 773 0 +r 758 0 9 0 771 0 +r 758 0 9 0 769 0 +r 758 0 9 0 767 0 +r 758 0 9 0 765 0 +r 758 0 9 0 764 0 +r 758 0 9 0 762 0 +r 758 0 9 0 760 0 +r 758 0 9 0 759 0 +r 758 0 1 0 57 0 +r 758 0 5 0 2194 0 +r 758 0 7 0 49 0 +r 2807 0 2904 0 603 0 +r 2807 0 1 0 10 0 s Has Font Style +r 759 0 129 0 769 0 +r 759 0 129 0 765 0 +r 759 0 129 0 760 0 +r 759 0 2907 0 809 0 +r 759 0 2907 0 764 0 +r 759 0 4 0 25 0 +r 759 0 5 0 2158 0 +r 759 0 7 0 758 0 +r 2808 0 2904 0 624 0 +r 2808 0 1 0 10 0 s Square Cap +r 760 0 104 0 763 0 +r 760 0 104 0 761 0 +r 760 0 4 0 759 0 +r 760 0 5 0 2202 0 +r 760 0 7 0 758 0 +r 2809 0 2904 0 631 0 +r 2809 0 1 0 10 0 s Alignment +r 761 0 1 0 106 0 +r 761 0 365 0 760 0 +r 761 0 38 0 762 0 +r 761 0 39 0 107 0 +r 2810 0 2904 0 647 0 +r 2810 0 1 0 10 0 s Color Gradient +r 762 0 2 0 110 0 +r 762 0 3 0 3031 0 +r 762 0 28 0 11 0 +r 762 0 5 0 2163 0 +r 762 0 2911 0 761 0 +r 762 0 7 0 758 0 +r 2811 0 2904 0 593 0 +r 2811 0 1 0 10 0 s Line End Style +r 763 0 1 0 106 0 +r 763 0 365 0 760 0 +r 763 0 38 0 764 0 +r 763 0 39 0 107 0 +r 2812 0 2904 0 581 0 +r 2812 0 1 0 10 0 s Has Stroke Type +r 764 0 2 0 110 0 +r 764 0 3 0 3032 0 +r 764 0 28 0 759 0 +r 764 0 5 0 2178 0 +r 764 0 2911 0 768 0 +r 764 0 2911 0 763 0 +r 764 0 7 0 758 0 +r 2813 0 2904 0 591 0 +r 2813 0 1 0 10 0 s Has Mid Arrow +r 765 0 104 0 768 0 +r 765 0 104 0 766 0 +r 765 0 4 0 759 0 +r 765 0 5 0 2183 0 +r 765 0 7 0 758 0 +r 2814 0 2904 0 639 0 +r 2814 0 1 0 10 0 s Has Color +r 766 0 1 0 106 0 +r 766 0 365 0 765 0 +r 766 0 38 0 767 0 +r 766 0 39 0 107 0 +r 2815 0 2904 0 655 0 +r 2815 0 1 0 10 0 s Default Stroke +r 767 0 2 0 110 0 +r 767 0 3 0 3033 0 +r 767 0 28 0 11 0 +r 767 0 5 0 2188 0 +r 767 0 2911 0 766 0 +r 767 0 7 0 758 0 +r 2816 0 2904 0 582 0 +r 2816 0 1 0 10 0 s Stroke Type +r 768 0 1 0 106 0 +r 768 0 365 0 765 0 +r 768 0 38 0 764 0 +r 768 0 39 0 107 0 +r 2817 0 2904 0 618 0 +r 2817 0 1 0 10 0 s Miter Join +r 769 0 104 0 772 0 +r 769 0 104 0 770 0 +r 769 0 4 0 759 0 +r 769 0 5 0 2155 0 +r 769 0 7 0 758 0 +r 2818 0 2904 0 545 0 +r 2818 0 1 0 10 0 s Transform +r 770 0 1 0 106 0 +r 770 0 365 0 769 0 +r 770 0 38 0 771 0 +r 770 0 39 0 107 0 +r 2819 0 2904 0 576 0 +r 2819 0 1 0 10 0 s Has Miter Limit +r 771 0 2 0 110 0 +r 771 0 3 0 3034 0 +r 771 0 28 0 10 0 +r 771 0 5 0 2206 0 +r 771 0 2911 0 770 0 +r 771 0 7 0 758 0 +r 2820 0 2904 0 556 0 +r 2820 0 1 0 10 0 s Has Line Segment Types +r 772 0 1 0 106 0 +r 772 0 365 0 769 0 +r 772 0 38 0 773 0 +r 772 0 39 0 225 0 +r 2821 0 2904 0 570 0 +r 2821 0 1 0 10 0 s Has Dash Array +r 773 0 2 0 110 0 +r 773 0 3 0 3035 0 +r 773 0 28 0 775 0 +r 773 0 5 0 2204 0 +r 773 0 2911 0 772 0 +r 773 0 7 0 758 0 +r 2822 0 2904 0 590 0 +r 2822 0 1 0 10 0 s Has End Arrow +r 774 0 4 0 226 0 +r 774 0 5 0 2203 0 +r 774 0 7 0 758 0 +r 2823 0 2904 0 564 0 +r 2823 0 1 0 10 0 s Has Stroke +r 775 0 2907 0 773 0 +r 775 0 4 0 25 0 +r 775 0 5 0 2159 0 +r 775 0 7 0 758 0 +r 2824 0 2904 0 636 0 +r 2824 0 1 0 10 0 s Has Vertical Alignment +r 776 0 104 0 777 0 +r 776 0 4 0 25 0 +r 776 0 5 0 2160 0 +r 776 0 7 0 758 0 +r 2825 0 2904 0 637 0 +r 2825 0 1 0 10 0 s Color +r 777 0 1 0 106 0 +r 777 0 365 0 776 0 +r 777 0 38 0 778 0 +r 777 0 39 0 107 0 +r 2826 0 2904 0 635 0 +r 2826 0 1 0 10 0 s Has Horizontal Alignment +r 778 0 2 0 110 0 +r 778 0 3 0 3036 0 +r 778 0 28 0 12 0 +r 778 0 5 0 2175 0 +r 778 0 2911 0 777 0 +r 778 0 7 0 758 0 +r 2827 0 2904 0 617 0 +r 2827 0 1 0 10 0 s Line Join +r 779 0 104 0 780 0 +r 779 0 4 0 25 0 +r 779 0 5 0 2185 0 +r 779 0 7 0 758 0 +r 2828 0 2904 0 552 0 +r 2828 0 1 0 10 0 s Has Style +r 780 0 1 0 106 0 +r 780 0 365 0 779 0 +r 780 0 38 0 781 0 +r 780 0 39 0 107 0 +r 2829 0 2904 0 628 0 +r 2829 0 1 0 10 0 s Has Radii +r 781 0 2 0 110 0 +r 781 0 3 0 3037 0 +r 781 0 28 0 12 0 +r 781 0 5 0 2182 0 +r 781 0 2911 0 780 0 +r 781 0 7 0 758 0 +r 2830 0 2904 0 640 0 +r 2830 0 1 0 10 0 s Color Profile +r 782 0 9 0 833 0 +r 782 0 9 0 832 0 +r 782 0 9 0 831 0 +r 782 0 9 0 830 0 +r 782 0 9 0 829 0 +r 782 0 9 0 828 0 +r 782 0 9 0 827 0 +r 782 0 9 0 826 0 +r 782 0 9 0 825 0 +r 782 0 9 0 824 0 +r 782 0 9 0 823 0 +r 782 0 9 0 822 0 +r 782 0 9 0 821 0 +r 782 0 9 0 820 0 +r 782 0 9 0 819 0 +r 782 0 9 0 818 0 +r 782 0 9 0 817 0 +r 782 0 9 0 816 0 +r 782 0 9 0 815 0 +r 782 0 9 0 812 0 +r 782 0 9 0 810 0 +r 782 0 9 0 809 0 +r 782 0 9 0 807 0 +r 782 0 9 0 805 0 +r 782 0 9 0 803 0 +r 782 0 9 0 802 0 +r 782 0 9 0 801 0 +r 782 0 9 0 800 0 +r 782 0 9 0 798 0 +r 782 0 9 0 796 0 +r 782 0 9 0 795 0 +r 782 0 9 0 791 0 +r 782 0 9 0 790 0 +r 782 0 9 0 788 0 +r 782 0 9 0 786 0 +r 782 0 9 0 784 0 +r 782 0 9 0 783 0 +r 782 0 1 0 57 0 +r 782 0 5 0 2165 0 +r 782 0 7 0 49 0 +r 2831 0 2904 0 585 0 +r 2831 0 1 0 10 0 s Line End +r 783 0 129 0 810 0 +r 783 0 129 0 803 0 +r 783 0 129 0 802 0 +r 783 0 129 0 801 0 +r 783 0 129 0 798 0 +r 783 0 129 0 796 0 +r 783 0 129 0 791 0 +r 783 0 129 0 784 0 +r 783 0 2907 0 800 0 +r 783 0 2907 0 795 0 +r 783 0 59 0 833 0 +r 783 0 4 0 52 0 +r 783 0 5 0 2190 0 +r 783 0 7 0 782 0 +r 2832 0 2904 0 629 0 +r 2832 0 1 0 10 0 s Has Path Data +r 784 0 104 0 789 0 +r 784 0 104 0 787 0 +r 784 0 104 0 785 0 +r 784 0 59 0 829 0 +r 784 0 4 0 783 0 +r 784 0 5 0 2187 0 +r 784 0 7 0 782 0 +r 2833 0 2904 0 606 0 +r 2833 0 1 0 10 0 s Has Font +r 785 0 1 0 106 0 +r 785 0 365 0 784 0 +r 785 0 38 0 786 0 +r 2834 0 2904 0 574 0 +r 2834 0 1 0 10 0 s Has Stroke Width +r 786 0 2 0 94 0 +r 786 0 3 0 3038 0 +r 786 0 28 0 11 0 +r 786 0 5 0 2197 0 +r 786 0 2911 0 792 0 +r 786 0 2911 0 785 0 +r 786 0 7 0 782 0 +r 2835 0 2904 0 592 0 +r 2835 0 1 0 10 0 s Has Begin Arrow +r 787 0 1 0 106 0 +r 787 0 365 0 784 0 +r 787 0 38 0 788 0 +r 2836 0 2904 0 634 0 +r 2836 0 1 0 10 0 s Trailing +r 788 0 2 0 94 0 +r 788 0 3 0 3039 0 +r 788 0 28 0 11 0 +r 788 0 5 0 2166 0 +r 788 0 2911 0 793 0 +r 788 0 2911 0 787 0 +r 788 0 7 0 782 0 +r 2837 0 2904 0 621 0 +r 2837 0 1 0 10 0 s Line Cap +r 789 0 1 0 106 0 +r 789 0 365 0 784 0 +r 789 0 38 0 790 0 +r 2838 0 2904 0 642 0 +r 2838 0 1 0 10 0 s Colors +r 790 0 2 0 94 0 +r 790 0 3 0 3040 0 +r 790 0 28 0 10 0 +r 790 0 5 0 2198 0 +r 790 0 2911 0 789 0 +r 790 0 7 0 782 0 +r 2839 0 2904 0 587 0 +r 2839 0 1 0 10 0 s Has Line End Style +r 791 0 104 0 794 0 +r 791 0 104 0 793 0 +r 791 0 104 0 792 0 +r 791 0 4 0 783 0 +r 791 0 5 0 2162 0 +r 791 0 7 0 782 0 +r 2840 0 2904 0 607 0 +r 2840 0 1 0 10 0 s Font Style +r 792 0 1 0 106 0 +r 792 0 365 0 791 0 +r 792 0 38 0 786 0 +r 2841 0 2904 0 533 0 +r 2841 0 1 0 10 0 s G2 DNamespace +r 793 0 1 0 106 0 +r 793 0 365 0 791 0 +r 793 0 38 0 788 0 +r 2842 0 2904 0 548 0 +r 2842 0 1 0 10 0 s Has Transform +r 794 0 1 0 106 0 +r 794 0 365 0 791 0 +r 794 0 38 0 795 0 +r 794 0 39 0 107 0 +r 2843 0 2904 0 589 0 +r 2843 0 1 0 10 0 s Has Size +r 795 0 2 0 110 0 +r 795 0 3 0 3041 0 +r 795 0 28 0 783 0 +r 795 0 5 0 2174 0 +r 795 0 2911 0 813 0 +r 795 0 2911 0 797 0 +r 795 0 2911 0 794 0 +r 795 0 7 0 782 0 +r 2844 0 2904 0 654 0 +r 2844 0 1 0 10 0 s Has Color Gradient +r 796 0 104 0 797 0 +r 796 0 4 0 783 0 +r 796 0 5 0 2170 0 +r 796 0 7 0 782 0 +r 2845 0 2904 0 580 0 +r 2845 0 1 0 10 0 s Has Line Join +r 797 0 1 0 106 0 +r 797 0 365 0 796 0 +r 797 0 38 0 795 0 +r 797 0 39 0 107 0 +r 2846 0 2904 0 561 0 +r 2846 0 1 0 10 0 s Style +r 798 0 104 0 799 0 +r 798 0 4 0 783 0 +r 798 0 4 0 226 0 +r 798 0 5 0 2157 0 +r 798 0 7 0 782 0 +r 2847 0 2904 0 653 0 +r 2847 0 1 0 10 0 s Has Gradient Position +r 799 0 1 0 106 0 +r 799 0 365 0 798 0 +r 799 0 38 0 800 0 +r 799 0 39 0 107 0 +r 2848 0 2904 0 632 0 +r 2848 0 1 0 10 0 s Leading +r 800 0 2 0 110 0 +r 800 0 3 0 3042 0 +r 800 0 28 0 783 0 +r 800 0 5 0 2171 0 +r 800 0 2911 0 799 0 +r 800 0 7 0 782 0 +r 2849 0 2904 0 649 0 +r 2849 0 1 0 10 0 s Has Color Placement +r 801 0 4 0 783 0 +r 801 0 4 0 226 0 +r 801 0 5 0 2191 0 +r 801 0 7 0 782 0 +r 2850 0 2904 0 625 0 +r 2850 0 1 0 10 0 s Has Paint +r 802 0 4 0 783 0 +r 802 0 4 0 226 0 +r 802 0 5 0 2173 0 +r 802 0 7 0 782 0 +r 2851 0 2904 0 633 0 +r 2851 0 1 0 10 0 s Center +r 803 0 104 0 808 0 +r 803 0 104 0 806 0 +r 803 0 104 0 804 0 +r 803 0 59 0 816 0 +r 803 0 4 0 783 0 +r 803 0 5 0 2189 0 +r 803 0 7 0 782 0 +r 2852 0 2904 0 1086 0 +r 2852 0 1 0 10 0 s Has Node Id +r 804 0 1 0 106 0 +r 804 0 365 0 803 0 +r 804 0 38 0 805 0 +r 2853 0 2904 0 1037 0 +r 2853 0 1 0 10 0 s Diagram Connection To Connection +r 805 0 2 0 94 0 +r 805 0 3 0 3043 0 +r 805 0 28 0 12 0 +r 805 0 5 0 2184 0 +r 805 0 2911 0 804 0 +r 805 0 7 0 782 0 +r 2854 0 2904 0 1038 0 +r 2854 0 1 0 10 0 s Connection To Diagram Connection +r 806 0 1 0 106 0 +r 806 0 365 0 803 0 +r 806 0 38 0 807 0 +r 2855 0 2904 0 1059 0 +r 2855 0 1 0 10 0 s Diagram Operations +r 807 0 2 0 94 0 +r 807 0 3 0 3044 0 +r 807 0 28 0 12 0 +r 807 0 5 0 2196 0 +r 807 0 2911 0 806 0 +r 807 0 7 0 782 0 +r 2856 0 2904 0 1048 0 +r 2856 0 1 0 10 0 s Connection Direction To Flag Type +r 808 0 1 0 106 0 +r 808 0 365 0 803 0 +r 808 0 38 0 809 0 +r 2857 0 2904 0 1030 0 +r 2857 0 1 0 10 0 s Maps +r 809 0 2 0 110 0 +r 809 0 3 0 3045 0 +r 809 0 28 0 759 0 +r 809 0 5 0 2181 0 +r 809 0 2911 0 808 0 +r 809 0 7 0 782 0 +r 2858 0 2904 0 1032 0 +r 2858 0 1 0 10 0 s Component Type To Symbol +r 810 0 104 0 811 0 +r 810 0 59 0 832 0 +r 810 0 4 0 783 0 +r 810 0 5 0 2200 0 +r 810 0 7 0 782 0 +r 2859 0 2904 0 1056 0 +r 2859 0 1 0 10 0 s Has Modeling Operations +r 811 0 1 0 106 0 +r 811 0 365 0 810 0 +r 811 0 38 0 27 0 +r 2860 0 2904 0 1028 0 +r 2860 0 1 0 10 0 s Has Counterpart +r 812 0 104 0 814 0 +r 812 0 104 0 813 0 +r 812 0 4 0 25 0 +r 812 0 5 0 2164 0 +r 812 0 7 0 782 0 +r 2861 0 2904 0 1040 0 +r 2861 0 1 0 10 0 s Connection Relation To Diagram Connection Relation +r 813 0 1 0 106 0 +r 813 0 365 0 812 0 +r 813 0 38 0 795 0 +r 813 0 39 0 107 0 +r 2862 0 2904 0 1066 0 +r 2862 0 1 0 10 0 s Instantiate +r 814 0 1 0 106 0 +r 814 0 365 0 812 0 +r 814 0 38 0 815 0 +r 814 0 39 0 225 0 +r 2863 0 2904 0 1031 0 +r 2863 0 1 0 10 0 s Symbol To Component Type +r 815 0 2 0 110 0 +r 815 0 3 0 3046 0 +r 815 0 28 0 0 0 +r 815 0 5 0 2167 0 +r 815 0 2911 0 814 0 +r 815 0 7 0 782 0 +r 2864 0 2904 0 1075 0 +r 2864 0 1 0 10 0 s Navigate To Target +r 816 0 129 0 826 0 +r 816 0 129 0 817 0 +r 816 0 1 0 803 0 +r 816 0 4 0 24 0 +r 816 0 5 0 2205 0 +r 816 0 7 0 782 0 +r 2865 0 2904 0 1027 0 +r 2865 0 1 0 10 0 s Instantiable +r 817 0 129 0 823 0 +r 817 0 129 0 818 0 +r 817 0 4 0 816 0 +r 817 0 5 0 2195 0 +r 817 0 7 0 782 0 +r 2866 0 2904 0 1020 0 +r 2866 0 1 0 10 0 s Modeling Project +r 818 0 129 0 822 0 +r 818 0 129 0 821 0 +r 818 0 129 0 820 0 +r 818 0 129 0 819 0 +r 818 0 4 0 817 0 +r 818 0 5 0 2169 0 +r 818 0 7 0 782 0 +r 2867 0 2904 0 1071 0 +r 2867 0 1 0 10 0 s New Component Type +r 819 0 4 0 818 0 +r 819 0 5 0 2207 0 +r 819 0 7 0 782 0 +r 2868 0 2904 0 1057 0 +r 2868 0 1 0 10 0 s Has Diagram Operations +r 820 0 4 0 818 0 +r 820 0 5 0 2154 0 +r 820 0 7 0 782 0 +r 2869 0 2904 0 1050 0 +r 2869 0 1 0 10 0 s Test Terminal +r 821 0 4 0 818 0 +r 821 0 5 0 2156 0 +r 821 0 7 0 782 0 +r 2870 0 2904 0 1042 0 +r 2870 0 1 0 10 0 s Parameter To Flag +r 822 0 4 0 818 0 +r 822 0 5 0 2161 0 +r 822 0 7 0 782 0 +r 2871 0 2904 0 1061 0 +r 2871 0 1 0 10 0 s New Component +r 823 0 129 0 825 0 +r 823 0 129 0 824 0 +r 823 0 4 0 817 0 +r 823 0 5 0 2176 0 +r 823 0 7 0 782 0 +r 2872 0 2904 0 1069 0 +r 2872 0 1 0 10 0 s New Literal Variable +r 824 0 4 0 823 0 +r 824 0 5 0 2172 0 +r 824 0 7 0 782 0 +r 2873 0 2904 0 1049 0 +r 2873 0 1 0 10 0 s Diagram To Composite Mapping +r 825 0 4 0 823 0 +r 825 0 5 0 2177 0 +r 825 0 7 0 782 0 +r 2874 0 2904 0 1018 0 +r 2874 0 1 0 10 0 s Modeling Namespace +r 826 0 129 0 828 0 +r 826 0 129 0 827 0 +r 826 0 4 0 816 0 +r 826 0 5 0 2201 0 +r 826 0 7 0 782 0 +r 2875 0 2904 0 1029 0 +r 2875 0 1 0 10 0 s Mapped +r 827 0 4 0 826 0 +r 827 0 5 0 2193 0 +r 827 0 7 0 782 0 +r 2876 0 2904 0 1039 0 +r 2876 0 1 0 10 0 s Diagram Connection Relation To Connection Relation +r 828 0 4 0 826 0 +r 828 0 5 0 2179 0 +r 828 0 7 0 782 0 +r 2877 0 2904 0 1045 0 +r 2877 0 1 0 10 0 s Connection Type To Connection Relation +r 829 0 129 0 831 0 +r 829 0 129 0 830 0 +r 829 0 1 0 784 0 +r 829 0 4 0 24 0 +r 829 0 5 0 2168 0 +r 829 0 7 0 782 0 +r 2878 0 2904 0 1078 0 +r 2878 0 1 0 10 0 s Subscription +r 830 0 4 0 829 0 +r 830 0 5 0 2192 0 +r 830 0 7 0 782 0 +r 2879 0 2904 0 1047 0 +r 2879 0 1 0 10 0 s Flag Type To Connection Direction +r 831 0 4 0 829 0 +r 831 0 5 0 2180 0 +r 831 0 7 0 782 0 +r 2880 0 2904 0 1043 0 +r 2880 0 1 0 10 0 s Connection Type To Component Type +r 832 0 1 0 810 0 +r 832 0 5 0 2186 0 +r 832 0 7 0 782 0 +r 2881 0 2904 0 1084 0 +r 2881 0 1 0 10 0 s Subscription Item +r 833 0 1 0 783 0 +r 833 0 5 0 2199 0 +r 833 0 7 0 782 0 +r 2882 0 2904 0 1077 0 +r 2882 0 1 0 10 0 s Disconnect Flag +r 834 0 9 0 882 0 +r 834 0 9 0 879 0 +r 834 0 9 0 874 0 +r 834 0 9 0 864 0 +r 834 0 9 0 855 0 +r 834 0 9 0 845 0 +r 834 0 1 0 48 0 +r 834 0 5 0 835 0 +r 834 0 7 0 836 0 +r 2883 0 2904 0 1081 0 +r 2883 0 1 0 10 0 s Is Enabled +r 835 0 2904 0 834 0 +r 835 0 1 0 10 0 s Types +r 2884 0 2904 0 1088 0 +r 2884 0 1 0 10 0 s Has Deadband +r 836 0 97 0 841 0 +r 836 0 1 0 69 0 +r 836 0 9 0 837 0 +r 836 0 9 0 834 0 +r 836 0 93 0 842 0 +r 836 0 5 0 839 0 +r 836 0 6 0 840 0 +r 836 0 2919 0 843 0 +r 836 0 7 0 89 0 +r 836 0 7 0 77 0 +r 2885 0 2904 0 1064 0 +r 2885 0 1 0 10 0 s Encapsulate +r 837 0 9 0 885 0 +r 837 0 9 0 872 0 +r 837 0 9 0 871 0 +r 837 0 9 0 862 0 +r 837 0 9 0 854 0 +r 837 0 9 0 852 0 +r 837 0 9 0 851 0 +r 837 0 9 0 850 0 +r 837 0 9 0 849 0 +r 837 0 9 0 848 0 +r 837 0 9 0 847 0 +r 837 0 9 0 846 0 +r 837 0 1 0 55 0 +r 837 0 5 0 838 0 +r 837 0 7 0 836 0 +r 2886 0 2904 0 1035 0 +r 2886 0 1 0 10 0 s Element To Component +r 838 0 2904 0 837 0 +r 838 0 1 0 10 0 s Relations +r 2887 0 2904 0 1046 0 +r 2887 0 1 0 10 0 s Connection Relation To Connection Type +r 839 0 2904 0 836 0 +r 839 0 1 0 10 0 s Image-1.0 +r 2888 0 2904 0 1068 0 +r 2888 0 1 0 10 0 s New Connection Point +r 840 0 2905 0 836 0 +r 840 0 1 0 88 0 s http://www.simantics.org/Image/1.0 +r 2889 0 2904 0 1041 0 +r 2889 0 1 0 10 0 s Flag To Parameter +r 841 0 1 0 99 0 s 1.0 +r 841 0 2926 0 836 0 +r 2890 0 2904 0 1058 0 +r 2890 0 1 0 10 0 s Modeling Operations +r 842 0 1 0 10 0 s org.simantics.diagram.stubs.ImageResource +r 842 0 2925 0 836 0 +r 2891 0 2904 0 1022 0 +r 2891 0 1 0 10 0 s Structural Model Manager +r 843 0 65 0 836 0 +r 843 0 1 0 62 0 +r 843 0 5 0 2221 0 +r 843 0 6 0 844 0 +r 843 0 7 0 85 0 +r 2892 0 2904 0 1026 0 +r 2892 0 1 0 10 0 s Encapsulable +r 844 0 2905 0 843 0 +r 844 0 1 0 88 0 s http://www.simantics.org/Image/1.0 +r 2893 0 2904 0 1054 0 +r 2893 0 1 0 10 0 s Webmon Variable +r 845 0 129 0 874 0 +r 845 0 129 0 864 0 +r 845 0 129 0 855 0 +r 845 0 2906 0 884 0 +r 845 0 2906 0 881 0 +r 845 0 2907 0 885 0 +r 845 0 2907 0 846 0 +r 845 0 4 0 25 0 +r 845 0 5 0 2219 0 +r 845 0 7 0 834 0 +r 2894 0 2904 0 1034 0 +r 2894 0 1 0 10 0 s Composite To Diagram +r 846 0 2 0 103 0 +r 846 0 3 0 3047 0 +r 846 0 28 0 845 0 +r 846 0 5 0 2215 0 +r 846 0 7 0 837 0 +r 2895 0 2904 0 1055 0 +r 2895 0 1 0 10 0 s Operations +r 847 0 2 0 94 0 +r 847 0 3 0 3048 0 +r 847 0 28 0 11 0 +r 847 0 5 0 2209 0 +r 847 0 7 0 837 0 +r 847 0 2911 0 867 0 +r 847 0 2911 0 856 0 +r 2896 0 2904 0 1021 0 +r 2896 0 1 0 10 0 s Headless Diagram Viewer +r 848 0 2 0 94 0 +r 848 0 3 0 3049 0 +r 848 0 28 0 11 0 +r 848 0 5 0 2213 0 +r 848 0 7 0 837 0 +r 848 0 2911 0 868 0 +r 848 0 2911 0 857 0 +r 2897 0 2904 0 1025 0 +r 2897 0 1 0 10 0 s Predicates +r 849 0 2 0 94 0 +r 849 0 3 0 3050 0 +r 849 0 28 0 12 0 +r 849 0 5 0 2217 0 +r 849 0 7 0 837 0 +r 849 0 2911 0 877 0 +r 849 0 2911 0 869 0 +r 849 0 2911 0 860 0 +r 2898 0 2904 0 1072 0 +r 2898 0 1 0 10 0 s New Model +r 850 0 2 0 94 0 +r 850 0 3 0 3051 0 +r 850 0 28 0 12 0 +r 850 0 5 0 2218 0 +r 850 0 7 0 837 0 +r 850 0 2911 0 878 0 +r 850 0 2911 0 870 0 +r 850 0 2911 0 861 0 +r 2899 0 2904 0 1044 0 +r 2899 0 1 0 10 0 s Component Type To Connection Type +r 851 0 2 0 94 0 +r 851 0 3 0 3052 0 +r 851 0 60 0 854 0 +r 851 0 60 0 852 0 +r 851 0 28 0 22 0 +r 851 0 5 0 2211 0 +r 851 0 7 0 837 0 +r 2900 0 2904 0 1033 0 +r 2900 0 1 0 10 0 s Diagram To Composite +r 852 0 2 0 851 0 +r 852 0 3 0 3053 0 +r 852 0 5 0 853 0 +r 852 0 7 0 837 0 +r 852 0 2911 0 858 0 +r 2901 0 2904 0 1036 0 +r 2901 0 1 0 10 0 s Component To Element +r 853 0 2904 0 852 0 +r 853 0 1 0 10 0 s Has RGB Data +r 2902 0 2904 0 893 0 +r 2902 0 1 0 10 0 s Ontology Development Environment Namespace +r 854 0 2 0 851 0 +r 854 0 3 0 3054 0 +r 854 0 5 0 2208 0 +r 854 0 7 0 837 0 +r 854 0 2911 0 859 0 +r 2903 0 2904 0 891 0 +r 2903 0 1 0 10 0 s Ontology Development Project +r 855 0 104 0 861 0 +r 855 0 104 0 860 0 +r 855 0 104 0 859 0 +r 855 0 104 0 858 0 +r 855 0 104 0 857 0 +r 855 0 104 0 856 0 +r 855 0 4 0 845 0 +r 855 0 5 0 2222 0 +r 855 0 7 0 834 0 +r 2904 0 2 0 184 0 +r 2904 0 3 0 5 0 +r 856 0 1 0 106 0 +r 856 0 365 0 855 0 +r 856 0 38 0 847 0 +r 856 0 39 0 107 0 +r 2905 0 2 0 184 0 +r 2905 0 3 0 6 0 +r 857 0 1 0 106 0 +r 857 0 365 0 855 0 +r 857 0 38 0 848 0 +r 857 0 39 0 107 0 +r 2906 0 2 0 2929 0 +r 2906 0 2 0 112 0 +r 2906 0 3 0 27 0 +r 858 0 1 0 106 0 +r 858 0 365 0 855 0 +r 858 0 38 0 852 0 +r 858 0 39 0 107 0 +r 2907 0 2 0 2929 0 +r 2907 0 2 0 112 0 +r 2907 0 3 0 28 0 +r 859 0 1 0 106 0 +r 859 0 365 0 855 0 +r 859 0 38 0 854 0 +r 859 0 39 0 225 0 +r 2908 0 2 0 2929 0 +r 2908 0 2 0 112 0 +r 2908 0 3 0 29 0 +r 860 0 1 0 106 0 +r 860 0 365 0 855 0 +r 860 0 38 0 849 0 +r 860 0 39 0 225 0 +r 2909 0 2 0 112 0 +r 2909 0 3 0 30 0 +r 861 0 1 0 106 0 +r 861 0 365 0 855 0 +r 861 0 38 0 850 0 +r 861 0 39 0 225 0 +r 2910 0 2 0 111 0 +r 2910 0 3 0 31 0 +r 862 0 2 0 110 0 +r 862 0 3 0 3055 0 +r 862 0 28 0 10 0 +r 862 0 5 0 863 0 +r 862 0 7 0 837 0 +r 862 0 2911 0 866 0 +r 2911 0 2 0 111 0 +r 2911 0 3 0 38 0 +r 863 0 2904 0 862 0 +r 863 0 1 0 10 0 s Has SVG Document +r 2912 0 2 0 184 0 +r 2912 0 3 0 39 0 +r 864 0 104 0 870 0 +r 864 0 104 0 869 0 +r 864 0 104 0 868 0 +r 864 0 104 0 867 0 +r 864 0 104 0 866 0 +r 864 0 4 0 845 0 +r 864 0 5 0 865 0 +r 864 0 7 0 834 0 +r 2913 0 2 0 112 0 +r 2913 0 3 0 40 0 +r 865 0 2904 0 864 0 +r 865 0 1 0 10 0 s SVG Image +r 2914 0 2 0 112 0 +r 2914 0 3 0 41 0 +r 866 0 1 0 106 0 +r 866 0 365 0 864 0 +r 866 0 38 0 862 0 +r 866 0 39 0 107 0 +r 2915 0 2 0 111 0 +r 2915 0 3 0 43 0 +r 867 0 1 0 106 0 +r 867 0 365 0 864 0 +r 867 0 38 0 847 0 +r 867 0 39 0 225 0 +r 2916 0 2 0 184 0 +r 2916 0 3 0 44 0 +r 868 0 1 0 106 0 +r 868 0 365 0 864 0 +r 868 0 38 0 848 0 +r 868 0 39 0 225 0 +r 2917 0 2 0 184 0 +r 2917 0 3 0 45 0 +r 869 0 1 0 106 0 +r 869 0 365 0 864 0 +r 869 0 38 0 849 0 +r 869 0 39 0 225 0 +r 2918 0 2 0 184 0 +r 2918 0 3 0 61 0 +r 870 0 1 0 106 0 +r 870 0 365 0 864 0 +r 870 0 38 0 850 0 +r 870 0 39 0 225 0 +r 2919 0 2 0 112 0 +r 2919 0 3 0 65 0 +r 871 0 2 0 94 0 +r 871 0 3 0 3056 0 +r 871 0 28 0 11 0 +r 871 0 5 0 2210 0 +r 871 0 7 0 837 0 +r 871 0 2911 0 875 0 +r 2920 0 2 0 111 0 +r 2920 0 3 0 70 0 +r 872 0 2 0 94 0 +r 872 0 3 0 3057 0 +r 872 0 28 0 11 0 +r 872 0 5 0 2212 0 +r 872 0 78 0 873 0 +r 872 0 7 0 837 0 +r 872 0 2911 0 876 0 +r 2921 0 2 0 111 0 +r 2921 0 3 0 71 0 +r 873 0 1 0 10 0 s An index from 0..63 to describe the 8x8 2D bit pattern +r 873 0 2923 0 872 0 +r 2922 0 2 0 111 0 +r 2922 0 3 0 72 0 +r 874 0 104 0 878 0 +r 874 0 104 0 877 0 +r 874 0 104 0 876 0 +r 874 0 104 0 875 0 +r 874 0 4 0 845 0 +r 874 0 5 0 2220 0 +r 874 0 7 0 834 0 +r 2923 0 2 0 184 0 +r 2923 0 3 0 78 0 +r 875 0 1 0 106 0 +r 875 0 365 0 874 0 +r 875 0 38 0 871 0 +r 875 0 39 0 107 0 +r 2924 0 2 0 184 0 +r 2924 0 3 0 80 0 +r 876 0 1 0 106 0 +r 876 0 365 0 874 0 +r 876 0 38 0 872 0 +r 876 0 39 0 107 0 +r 2925 0 2 0 184 0 +r 2925 0 3 0 93 0 +r 877 0 1 0 106 0 +r 877 0 365 0 874 0 +r 877 0 38 0 849 0 +r 877 0 39 0 107 0 +r 2926 0 2 0 184 0 +r 2926 0 3 0 97 0 +r 878 0 1 0 106 0 +r 878 0 365 0 874 0 +r 878 0 38 0 850 0 +r 878 0 39 0 107 0 +r 2927 0 2 0 184 0 +r 2927 0 3 0 101 0 +r 879 0 2906 0 881 0 +r 879 0 27 0 880 0 +r 879 0 4 0 57 0 +r 879 0 5 0 2214 0 +r 879 0 7 0 834 0 +r 2928 0 2 0 8 0 +r 2928 0 3 0 115 0 +r 2928 0 60 0 2929 0 +r 880 0 40 0 881 0 +r 880 0 1 0 37 0 +r 880 0 2906 0 879 0 +r 880 0 38 0 9 0 +r 2929 0 2 0 2928 0 +r 2929 0 2 0 111 0 +r 2929 0 3 0 116 0 +r 2929 0 60 0 2934 0 +r 2929 0 60 0 2908 0 +r 2929 0 60 0 2907 0 +r 2929 0 60 0 2906 0 +r 2929 0 60 0 143 0 +r 2929 0 60 0 141 0 +r 2929 0 60 0 139 0 +r 2929 0 60 0 132 0 +r 881 0 2913 0 880 0 +r 881 0 1 0 33 0 +r 881 0 27 0 879 0 +r 881 0 27 0 845 0 +r 2930 0 2 0 184 0 +r 2930 0 3 0 126 0 +r 882 0 2906 0 884 0 +r 882 0 27 0 883 0 +r 882 0 4 0 57 0 +r 882 0 5 0 2223 0 +r 882 0 7 0 834 0 +r 2931 0 2 0 112 0 +r 2931 0 3 0 127 0 +r 883 0 40 0 884 0 +r 883 0 1 0 37 0 +r 883 0 2906 0 882 0 +r 883 0 38 0 9 0 +r 2932 0 2 0 184 0 +r 2932 0 3 0 158 0 +r 884 0 2913 0 883 0 +r 884 0 1 0 33 0 +r 884 0 27 0 882 0 +r 884 0 27 0 845 0 +r 2933 0 2 0 184 0 +r 2933 0 3 0 159 0 +r 885 0 2 0 103 0 +r 885 0 3 0 3058 0 +r 885 0 28 0 845 0 +r 885 0 5 0 2216 0 +r 885 0 7 0 837 0 +r 2934 0 2 0 2929 0 +r 2934 0 2 0 184 0 +r 2934 0 3 0 185 0 +r 886 0 9 0 891 0 +r 886 0 97 0 889 0 +r 886 0 1 0 69 0 +r 886 0 93 0 890 0 +r 886 0 5 0 887 0 +r 886 0 6 0 888 0 +r 886 0 2919 0 893 0 +r 886 0 7 0 89 0 +r 886 0 7 0 77 0 +r 2935 0 2 0 184 0 +r 2935 0 3 0 192 0 +r 887 0 2904 0 886 0 +r 887 0 1 0 10 0 s ODE-1.0 +r 2936 0 2 0 184 0 +r 2936 0 3 0 195 0 +r 888 0 2905 0 886 0 +r 888 0 1 0 88 0 s http://www.simantics.org/Ontology/ODE/1.0 +r 2937 0 2 0 184 0 +r 2937 0 3 0 202 0 +r 889 0 1 0 99 0 s 1.0 +r 889 0 2926 0 886 0 +r 2938 0 2 0 184 0 +r 2938 0 3 0 204 0 +r 890 0 1 0 10 0 s org.simantics.db.Builtins +r 890 0 2925 0 886 0 +r 2939 0 2 0 112 0 +r 2939 0 3 0 207 0 +r 891 0 2968 0 77 0 +r 891 0 1 0 381 0 +r 891 0 5 0 2903 0 +r 891 0 78 0 892 0 +r 891 0 7 0 886 0 +r 891 0 7 0 374 0 +r 2940 0 2 0 112 0 +r 2940 0 3 0 212 0 +r 892 0 1 0 10 0 s For developing your own data models and constructing your own user interfaces. +r 892 0 2923 0 891 0 +r 2941 0 2 0 112 0 +r 2941 0 3 0 213 0 +r 893 0 65 0 886 0 +r 893 0 1 0 62 0 +r 893 0 5 0 2902 0 +r 893 0 6 0 894 0 +r 893 0 7 0 85 0 +r 2942 0 2 0 112 0 +r 2942 0 3 0 216 0 +r 894 0 2905 0 893 0 +r 894 0 1 0 88 0 s http://www.simantics.org/Ontology/ODE/1.0 +r 2943 0 2 0 111 0 +r 2943 0 3 0 219 0 +r 895 0 9 0 1008 0 +r 895 0 9 0 1007 0 +r 895 0 9 0 1006 0 +r 895 0 9 0 1005 0 +r 895 0 9 0 1004 0 +r 895 0 9 0 999 0 +r 895 0 9 0 997 0 +r 895 0 9 0 996 0 +r 895 0 9 0 995 0 +r 895 0 9 0 994 0 +r 895 0 9 0 993 0 +r 895 0 9 0 992 0 +r 895 0 9 0 991 0 +r 895 0 9 0 989 0 +r 895 0 9 0 980 0 +r 895 0 9 0 979 0 +r 895 0 9 0 978 0 +r 895 0 9 0 977 0 +r 895 0 9 0 976 0 +r 895 0 9 0 975 0 +r 895 0 9 0 974 0 +r 895 0 9 0 973 0 +r 895 0 9 0 972 0 +r 895 0 9 0 971 0 +r 895 0 9 0 970 0 +r 895 0 9 0 967 0 +r 895 0 9 0 966 0 +r 895 0 9 0 965 0 +r 895 0 9 0 958 0 +r 895 0 9 0 956 0 +r 895 0 9 0 955 0 +r 895 0 9 0 953 0 +r 895 0 9 0 952 0 +r 895 0 9 0 951 0 +r 895 0 9 0 941 0 +r 895 0 9 0 934 0 +r 895 0 9 0 933 0 +r 895 0 9 0 932 0 +r 895 0 9 0 931 0 +r 895 0 9 0 929 0 +r 895 0 9 0 927 0 +r 895 0 9 0 924 0 +r 895 0 9 0 921 0 +r 895 0 9 0 920 0 +r 895 0 9 0 919 0 +r 895 0 9 0 918 0 +r 895 0 9 0 917 0 +r 895 0 9 0 916 0 +r 895 0 9 0 913 0 +r 895 0 9 0 912 0 +r 895 0 9 0 911 0 +r 895 0 9 0 909 0 +r 895 0 9 0 907 0 +r 895 0 9 0 905 0 +r 895 0 9 0 904 0 +r 895 0 9 0 903 0 +r 895 0 97 0 898 0 +r 895 0 1 0 69 0 +r 895 0 93 0 900 0 +r 895 0 101 0 899 0 +r 895 0 5 0 896 0 +r 895 0 6 0 897 0 +r 895 0 2919 0 901 0 +r 895 0 7 0 89 0 +r 895 0 7 0 77 0 +r 2944 0 2 0 112 0 +r 2944 0 3 0 224 0 +r 896 0 2904 0 895 0 +r 896 0 1 0 10 0 s Diagram-2.0 +r 2945 0 2 0 227 0 +r 2945 0 3 0 229 0 +r 897 0 2905 0 895 0 +r 897 0 1 0 88 0 s http://www.simantics.org/Simantics/Diagram/2.0 +r 2946 0 2 0 184 0 +r 2946 0 3 0 248 0 +r 898 0 1 0 99 0 s 2.0 +r 898 0 2926 0 895 0 +r 2947 0 2 0 112 0 +r 2947 0 3 0 249 0 +r 899 0 1 0 10 0 s diagram +r 899 0 2927 0 895 0 +r 2948 0 2 0 184 0 +r 2948 0 3 0 254 0 +r 900 0 1 0 10 0 s org.simantics.diagram.stubs.DiagramResource +r 900 0 2925 0 895 0 +r 2949 0 2 0 184 0 +r 2949 0 3 0 271 0 +r 901 0 65 0 895 0 +r 901 0 1 0 62 0 +r 901 0 5 0 2485 0 +r 901 0 6 0 902 0 +r 901 0 7 0 85 0 +r 2950 0 2 0 111 0 +r 2950 0 3 0 273 0 +r 902 0 2905 0 901 0 +r 902 0 1 0 88 0 s http://www.simantics.org/Simantics/Diagram/2.0 +r 2951 0 2 0 184 0 +r 2951 0 3 0 280 0 +r 903 0 104 0 915 0 +r 903 0 129 0 904 0 +r 903 0 59 0 2033 0 +r 903 0 59 0 2014 0 +r 903 0 59 0 1996 0 +r 903 0 59 0 1981 0 +r 903 0 59 0 1959 0 +r 903 0 59 0 1933 0 +r 903 0 59 0 1914 0 +r 903 0 59 0 1895 0 +r 903 0 59 0 1879 0 +r 903 0 59 0 1865 0 +r 903 0 59 0 1851 0 +r 903 0 59 0 1829 0 +r 903 0 59 0 1806 0 +r 903 0 59 0 1783 0 +r 903 0 59 0 1771 0 +r 903 0 59 0 1755 0 +r 903 0 59 0 1742 0 +r 903 0 59 0 1726 0 +r 903 0 59 0 1706 0 +r 903 0 59 0 1684 0 +r 903 0 59 0 1664 0 +r 903 0 59 0 1648 0 +r 903 0 59 0 1633 0 +r 903 0 59 0 1611 0 +r 903 0 59 0 1588 0 +r 903 0 59 0 1565 0 +r 903 0 59 0 1545 0 +r 903 0 59 0 1525 0 +r 903 0 59 0 1505 0 +r 903 0 59 0 1485 0 +r 903 0 59 0 1465 0 +r 903 0 59 0 1433 0 +r 903 0 59 0 1406 0 +r 903 0 59 0 1393 0 +r 903 0 59 0 1360 0 +r 903 0 59 0 1051 0 +r 903 0 4 0 907 0 +r 903 0 4 0 485 0 +r 903 0 5 0 2447 0 +r 903 0 7 0 895 0 +r 2952 0 2 0 111 0 +r 2952 0 3 0 282 0 +r 904 0 2906 0 926 0 +r 904 0 4 0 903 0 +r 904 0 5 0 2450 0 +r 904 0 7 0 895 0 +r 2953 0 2 0 184 0 +r 2953 0 3 0 283 0 +r 905 0 104 0 906 0 +r 905 0 145 0 905 0 +r 905 0 59 0 907 0 +r 905 0 4 0 467 0 +r 905 0 5 0 2476 0 +r 905 0 7 0 895 0 +r 2954 0 2 0 112 0 +r 2954 0 3 0 285 0 +r 906 0 1 0 106 0 +r 906 0 28 0 907 0 +r 906 0 365 0 905 0 +r 906 0 38 0 474 0 +r 2955 0 2 0 111 0 +r 2955 0 3 0 288 0 +r 907 0 472 0 908 0 +r 907 0 129 0 979 0 +r 907 0 129 0 967 0 +r 907 0 129 0 958 0 +r 907 0 129 0 941 0 +r 907 0 129 0 919 0 +r 907 0 129 0 916 0 +r 907 0 129 0 913 0 +r 907 0 129 0 912 0 +r 907 0 129 0 909 0 +r 907 0 129 0 903 0 +r 907 0 145 0 907 0 +r 907 0 1 0 905 0 +r 907 0 2907 0 915 0 +r 907 0 2907 0 906 0 +r 907 0 2908 0 920 0 +r 907 0 2908 0 917 0 +r 907 0 2908 0 911 0 +r 907 0 4 0 466 0 +r 907 0 5 0 2477 0 +r 907 0 7 0 895 0 +r 2956 0 2 0 184 0 +r 2956 0 3 0 289 0 +r 908 0 1 0 489 0 +r 908 0 5 0 2455 0 +r 908 0 487 0 917 0 +r 908 0 479 0 919 0 +r 908 0 479 0 907 0 +r 2957 0 2 0 111 0 +r 2957 0 3 0 305 0 +r 909 0 104 0 910 0 +r 909 0 129 0 1359 0 +r 909 0 129 0 1050 0 +r 909 0 129 0 941 0 +r 909 0 145 0 909 0 +r 909 0 4 0 907 0 +r 909 0 5 0 2443 0 +r 909 0 7 0 895 0 +r 2958 0 2 0 111 0 +r 2958 0 3 0 307 0 +r 910 0 1 0 106 0 +r 910 0 365 0 909 0 +r 910 0 38 0 911 0 +r 910 0 39 0 107 0 +r 2959 0 2 0 111 0 +r 2959 0 3 0 310 0 +r 911 0 2 0 110 0 +r 911 0 3 0 3059 0 +r 911 0 28 0 504 0 +r 911 0 5 0 2442 0 +r 911 0 29 0 907 0 +r 911 0 7 0 895 0 +r 911 0 2911 0 910 0 +r 2960 0 2 0 111 0 +r 2960 0 3 0 318 0 +r 912 0 129 0 2032 33 +r 912 0 129 0 2013 0 +r 912 0 129 0 1995 32 +r 912 0 129 0 1980 31 +r 912 0 129 0 1958 30 +r 912 0 129 0 1932 29 +r 912 0 129 0 1913 28 +r 912 0 129 0 1894 27 +r 912 0 129 0 1878 26 +r 912 0 129 0 1864 25 +r 912 0 129 0 1850 24 +r 912 0 129 0 1828 23 +r 912 0 129 0 1805 22 +r 912 0 129 0 1782 21 +r 912 0 129 0 1770 20 +r 912 0 129 0 1754 19 +r 912 0 129 0 1741 18 +r 912 0 129 0 1725 0 +r 912 0 129 0 1705 17 +r 912 0 129 0 1683 16 +r 912 0 129 0 1663 15 +r 912 0 129 0 1647 14 +r 912 0 129 0 1632 13 +r 912 0 129 0 1610 12 +r 912 0 129 0 1587 11 +r 912 0 129 0 1564 10 +r 912 0 129 0 1544 9 +r 912 0 129 0 1524 8 +r 912 0 129 0 1504 7 +r 912 0 129 0 1484 6 +r 912 0 129 0 1464 5 +r 912 0 129 0 1432 4 +r 912 0 129 0 1405 3 +r 912 0 129 0 1392 2 +r 912 0 129 0 1359 0 +r 912 0 129 0 1050 0 +r 912 0 145 0 912 0 +r 912 0 4 0 907 0 +r 912 0 5 0 2484 0 +r 912 0 7 0 895 0 +r 2961 0 2 0 111 0 +r 2961 0 3 0 330 0 +r 913 0 104 0 914 0 +r 913 0 129 0 956 0 +r 913 0 129 0 953 0 +r 913 0 59 0 2034 0 +r 913 0 59 0 2015 0 +r 913 0 59 0 1997 0 +r 913 0 59 0 1982 0 +r 913 0 59 0 1960 0 +r 913 0 59 0 1934 0 +r 913 0 59 0 1915 0 +r 913 0 59 0 1896 0 +r 913 0 59 0 1880 0 +r 913 0 59 0 1866 0 +r 913 0 59 0 1852 0 +r 913 0 59 0 1830 0 +r 913 0 59 0 1807 0 +r 913 0 59 0 1784 0 +r 913 0 59 0 1772 0 +r 913 0 59 0 1756 0 +r 913 0 59 0 1743 0 +r 913 0 59 0 1727 0 +r 913 0 59 0 1707 0 +r 913 0 59 0 1685 0 +r 913 0 59 0 1665 0 +r 913 0 59 0 1649 0 +r 913 0 59 0 1634 0 +r 913 0 59 0 1612 0 +r 913 0 59 0 1589 0 +r 913 0 59 0 1566 0 +r 913 0 59 0 1546 0 +r 913 0 59 0 1526 0 +r 913 0 59 0 1506 0 +r 913 0 59 0 1486 0 +r 913 0 59 0 1466 0 +r 913 0 59 0 1434 0 +r 913 0 59 0 1407 0 +r 913 0 59 0 1394 0 +r 913 0 59 0 1361 0 +r 913 0 59 0 1052 0 +r 913 0 4 0 907 0 +r 913 0 5 0 2464 0 +r 913 0 7 0 895 0 +r 2962 0 2 0 111 0 +r 2962 0 3 0 332 0 +r 914 0 1 0 106 0 +r 914 0 365 0 913 0 +r 914 0 38 0 661 0 +r 914 0 39 0 107 0 +r 2963 0 2 0 111 0 +r 2963 0 3 0 334 0 +r 915 0 1 0 106 0 +r 915 0 28 0 907 0 +r 915 0 365 0 903 0 +r 915 0 38 0 302 0 +r 2964 0 2 0 111 0 +r 2964 0 3 0 343 0 +r 916 0 4 0 907 0 +r 916 0 4 0 549 0 +r 916 0 5 0 2440 0 +r 916 0 7 0 895 0 +r 2965 0 2 0 111 0 +r 2965 0 3 0 344 0 +r 917 0 488 0 908 0 +r 917 0 2 0 548 0 +r 917 0 2 0 469 0 +r 917 0 3 0 3060 0 +r 917 0 5 0 2491 0 +r 917 0 29 0 907 0 +r 917 0 7 0 895 0 +r 2966 0 2 0 111 0 +r 2966 0 3 0 347 0 +r 918 0 2 0 94 0 +r 918 0 3 0 3061 0 +r 918 0 28 0 540 0 +r 918 0 5 0 2471 0 +r 918 0 29 0 919 0 +r 918 0 7 0 895 0 +r 2967 0 2 0 111 0 +r 2967 0 3 0 349 0 +r 919 0 104 0 987 0 +r 919 0 104 0 986 0 +r 919 0 104 0 985 0 +r 919 0 472 0 908 0 +r 919 0 1 0 52 0 +r 919 0 2908 0 977 0 +r 919 0 2908 0 970 0 +r 919 0 2908 0 918 0 +r 919 0 4 0 907 0 +r 919 0 4 0 503 0 +r 919 0 5 0 2483 0 +r 919 0 7 0 895 0 +r 2968 0 2 0 112 0 +r 2968 0 3 0 379 0 +r 920 0 2 0 469 0 +r 920 0 3 0 3062 0 +r 920 0 28 0 12 0 +r 920 0 5 0 2439 0 +r 920 0 29 0 907 0 +r 920 0 7 0 895 0 +r 2969 0 2 0 184 0 +r 2969 0 3 0 380 0 +r 921 0 104 0 923 0 +r 921 0 104 0 922 0 +r 921 0 2907 0 922 0 +r 921 0 4 0 57 0 +r 921 0 5 0 2470 0 +r 921 0 7 0 895 0 +r 2970 0 2 0 184 0 +r 2970 0 3 0 394 0 +r 922 0 1 0 106 0 +r 922 0 28 0 921 0 +r 922 0 365 0 921 0 +r 922 0 38 0 9 0 +r 2971 0 2 0 112 0 +r 2971 0 3 0 435 0 +r 923 0 1 0 106 0 +r 923 0 28 0 52 0 +r 923 0 365 0 921 0 +r 923 0 38 0 103 0 +r 2972 0 2 0 112 0 +r 2972 0 3 0 438 0 +r 924 0 2906 0 926 0 +r 924 0 27 0 925 0 +r 924 0 4 0 57 0 +r 924 0 5 0 2462 0 +r 924 0 7 0 895 0 +r 2973 0 2 0 112 0 +r 2973 0 3 0 440 0 +r 925 0 40 0 926 0 +r 925 0 1 0 37 0 +r 925 0 2906 0 924 0 +r 925 0 38 0 9 0 +r 2974 0 2 0 111 0 +r 2974 0 3 0 442 0 +r 926 0 2913 0 925 0 +r 926 0 1 0 33 0 +r 926 0 27 0 924 0 +r 926 0 27 0 904 0 +r 2975 0 2 0 184 0 +r 2975 0 3 0 469 0 +r 2975 0 60 0 3062 0 +r 2975 0 60 0 3060 0 +r 927 0 2 0 94 0 +r 927 0 3 0 3063 0 +r 927 0 28 0 12 0 +r 927 0 5 0 2473 0 +r 927 0 78 0 928 0 +r 927 0 7 0 895 0 +r 927 0 2911 0 961 0 +r 2976 0 2 0 111 0 +r 2976 0 3 0 511 0 +r 928 0 1 0 10 0 s An angular direction in degrees +r 928 0 2923 0 927 0 +r 2977 0 2 0 111 0 +r 2977 0 3 0 513 0 +r 929 0 2 0 94 0 +r 929 0 3 0 3064 0 +r 929 0 28 0 10 0 +r 929 0 5 0 2467 0 +r 929 0 78 0 930 0 +r 929 0 7 0 895 0 +r 929 0 2911 0 962 0 +r 2978 0 2 0 111 0 +r 2978 0 3 0 515 0 +r 930 0 1 0 10 0 s Number formatter as input to DoubleFormatter +r 930 0 2923 0 929 0 +r 2979 0 2 0 111 0 +r 2979 0 3 0 517 0 +r 931 0 2921 0 946 0 +r 931 0 1 0 42 0 +r 931 0 2 0 110 0 +r 931 0 3 0 3065 0 +r 931 0 28 0 932 0 +r 931 0 5 0 2445 0 +r 931 0 7 0 895 0 +r 931 0 2911 0 943 0 +r 2980 0 2 0 184 0 +r 2980 0 3 0 522 0 +r 932 0 9 0 937 0 +r 932 0 9 0 936 0 +r 932 0 26 0 932 0 +r 932 0 2907 0 931 0 +r 932 0 59 0 937 0 +r 932 0 59 0 936 0 +r 932 0 4 0 24 0 +r 932 0 5 0 2498 0 +r 932 0 78 0 935 0 +r 932 0 7 0 895 0 +r 2981 0 2 0 184 0 +r 2981 0 3 0 524 0 +r 933 0 2921 0 947 0 +r 933 0 1 0 42 0 +r 933 0 2 0 110 0 +r 933 0 3 0 3066 0 +r 933 0 28 0 934 0 +r 933 0 5 0 2468 0 +r 933 0 7 0 895 0 +r 933 0 2911 0 944 0 +r 2982 0 2 0 111 0 +r 2982 0 3 0 526 0 +r 934 0 9 0 940 0 +r 934 0 9 0 939 0 +r 934 0 26 0 934 0 +r 934 0 2907 0 933 0 +r 934 0 59 0 940 0 +r 934 0 59 0 939 0 +r 934 0 4 0 24 0 +r 934 0 5 0 2456 0 +r 934 0 78 0 938 0 +r 934 0 7 0 895 0 +r 2983 0 2 0 112 0 +r 2983 0 3 0 538 0 +r 935 0 1 0 10 0 s Connection flag type (input or output) +r 935 0 2923 0 932 0 +r 2984 0 2 0 112 0 +r 2984 0 3 0 543 0 +r 936 0 1 0 932 0 +r 936 0 2922 0 946 0 +r 936 0 5 0 2499 0 +r 936 0 1047 0 519 0 +r 936 0 7 0 932 0 +r 2985 0 2 0 184 0 +r 2985 0 3 0 548 0 +r 2985 0 60 0 3060 0 +r 937 0 1 0 932 0 +r 937 0 5 0 2448 0 +r 937 0 1047 0 520 0 +r 937 0 7 0 932 0 +r 2986 0 2 0 184 0 +r 2986 0 3 0 552 0 +r 938 0 1 0 10 0 s Identifies whether the flag is used for representing an internal or an external reference with respect to the flag's owner diagram. +r 938 0 2923 0 934 0 +r 2987 0 2 0 184 0 +r 2987 0 3 0 554 0 +r 939 0 1 0 934 0 +r 939 0 2922 0 947 0 +r 939 0 5 0 2486 0 +r 939 0 7 0 934 0 +r 2988 0 2 0 184 0 +r 2988 0 3 0 556 0 +r 940 0 1 0 934 0 +r 940 0 5 0 2489 0 +r 940 0 7 0 934 0 +r 2989 0 2 0 184 0 +r 2989 0 3 0 558 0 +r 941 0 472 0 950 0 +r 941 0 104 0 945 0 +r 941 0 104 0 944 0 +r 941 0 104 0 943 0 +r 941 0 1057 0 1073 0 +r 941 0 2907 0 952 0 +r 941 0 2908 0 952 0 +r 941 0 4 0 909 0 +r 941 0 4 0 907 0 +r 941 0 5 0 2493 0 +r 941 0 70 0 949 0 +r 941 0 70 0 947 0 +r 941 0 70 0 946 0 +r 941 0 78 0 942 0 +r 941 0 7 0 895 0 +r 2990 0 2 0 184 0 +r 2990 0 3 0 560 0 +r 942 0 1 0 10 0 s Flags are used on diagrams for cutting connections and continuing them elsewhere. +r 942 0 2923 0 941 0 +r 2991 0 2 0 184 0 +r 2991 0 3 0 564 0 +r 943 0 1 0 106 0 +r 943 0 365 0 941 0 +r 943 0 38 0 931 0 +r 943 0 39 0 107 0 +r 2992 0 2 0 184 0 +r 2992 0 3 0 566 0 +r 944 0 1 0 106 0 +r 944 0 365 0 941 0 +r 944 0 38 0 933 0 +r 944 0 39 0 107 0 +r 2993 0 2 0 184 0 +r 2993 0 3 0 570 0 +r 945 0 1 0 106 0 +r 945 0 365 0 941 0 +r 945 0 38 0 192 0 +r 945 0 39 0 225 0 +r 2994 0 2 0 184 0 +r 2994 0 3 0 572 0 +r 946 0 2920 0 941 0 +r 946 0 72 0 936 0 +r 946 0 1 0 151 0 +r 946 0 71 0 931 0 +r 2995 0 2 0 184 0 +r 2995 0 3 0 574 0 +r 947 0 2920 0 941 0 +r 947 0 72 0 939 0 +r 947 0 1 0 151 0 +r 947 0 71 0 933 0 +r 2996 0 2 0 184 0 +r 2996 0 3 0 576 0 +r 948 0 1 0 10 0 s +r 948 0 2922 0 949 0 +r 2997 0 2 0 111 0 +r 2997 0 3 0 578 0 +r 949 0 2920 0 941 0 +r 949 0 72 0 948 0 +r 949 0 1 0 151 0 +r 949 0 71 0 192 0 +r 2998 0 2 0 111 0 +r 2998 0 3 0 580 0 +r 950 0 1 0 504 0 +r 950 0 479 0 941 0 +r 950 0 487 0 951 0 +r 2999 0 2 0 111 0 +r 2999 0 3 0 581 0 +r 951 0 488 0 950 0 +r 951 0 2 0 507 0 +r 951 0 3 0 951 0 +r 951 0 5 0 2449 0 +r 951 0 7 0 895 0 +r 3000 0 2 0 111 0 +r 3000 0 3 0 587 0 +r 952 0 2 0 111 0 +r 952 0 2 0 110 0 +r 952 0 3 0 952 0 +r 952 0 28 0 941 0 +r 952 0 5 0 2494 0 +r 952 0 29 0 941 0 +r 952 0 7 0 895 0 +r 3001 0 2 0 184 0 +r 3001 0 3 0 589 0 +r 953 0 2908 0 955 0 +r 953 0 4 0 913 0 +r 953 0 5 0 2446 0 +r 953 0 78 0 954 0 +r 953 0 7 0 895 0 +r 3002 0 2 0 184 0 +r 3002 0 3 0 590 0 +r 954 0 1 0 10 0 s Links are used on diagrams for navigating to other diagrams. +r 954 0 2923 0 953 0 +r 3003 0 2 0 184 0 +r 3003 0 3 0 591 0 +r 955 0 2 0 110 0 +r 955 0 3 0 3067 0 +r 955 0 5 0 2438 0 +r 955 0 29 0 953 0 +r 955 0 7 0 895 0 +r 3004 0 2 0 184 0 +r 3004 0 3 0 592 0 +r 956 0 4 0 913 0 +r 956 0 5 0 2475 0 +r 956 0 78 0 957 0 +r 956 0 7 0 895 0 +r 3005 0 2 0 184 0 +r 3005 0 3 0 601 0 +r 957 0 1 0 10 0 s This link navigates upward the structural path. +r 957 0 2923 0 956 0 +r 3006 0 2 0 111 0 +r 3006 0 3 0 603 0 +r 958 0 104 0 964 0 +r 958 0 104 0 963 0 +r 958 0 104 0 962 0 +r 958 0 104 0 961 0 +r 958 0 104 0 960 0 +r 958 0 4 0 907 0 +r 958 0 5 0 2479 0 +r 958 0 78 0 959 0 +r 958 0 7 0 895 0 +r 3007 0 2 0 184 0 +r 3007 0 3 0 605 0 +r 959 0 1 0 10 0 s Monitors display data from various sources e.g. model configuration or simulation state. +r 959 0 2923 0 958 0 +r 3008 0 2 0 184 0 +r 3008 0 3 0 606 0 +r 960 0 1 0 106 0 +r 960 0 365 0 958 0 +r 960 0 38 0 192 0 +r 960 0 39 0 225 0 +r 3009 0 2 0 184 0 +r 3009 0 3 0 625 0 +r 961 0 1 0 106 0 +r 961 0 365 0 958 0 +r 961 0 38 0 927 0 +r 961 0 39 0 225 0 +r 3010 0 2 0 184 0 +r 3010 0 3 0 628 0 +r 962 0 1 0 106 0 +r 962 0 365 0 958 0 +r 962 0 38 0 929 0 +r 962 0 39 0 225 0 +r 3011 0 2 0 184 0 +r 3011 0 3 0 629 0 +r 963 0 1 0 106 0 +r 963 0 365 0 958 0 +r 963 0 38 0 635 0 +r 963 0 39 0 225 0 +r 3012 0 2 0 184 0 +r 3012 0 3 0 630 0 +r 964 0 1 0 106 0 +r 964 0 365 0 958 0 +r 964 0 38 0 636 0 +r 964 0 39 0 225 0 +r 3013 0 2 0 111 0 +r 3013 0 3 0 635 0 +r 965 0 2 0 110 0 +r 965 0 3 0 3068 0 +r 965 0 5 0 2441 0 +r 965 0 7 0 895 0 +r 3014 0 2 0 111 0 +r 3014 0 3 0 636 0 +r 966 0 4 0 226 0 +r 966 0 5 0 2478 0 +r 966 0 7 0 895 0 +r 3015 0 2 0 184 0 +r 3015 0 3 0 639 0 +r 967 0 104 0 969 0 +r 967 0 4 0 907 0 +r 967 0 5 0 2482 0 +r 967 0 78 0 968 0 +r 967 0 7 0 895 0 +r 3016 0 2 0 184 0 +r 3016 0 3 0 649 0 +r 968 0 1 0 10 0 s Trends display data from various sources e.g. model configuration or simulation state. +r 968 0 2923 0 967 0 +r 3017 0 2 0 184 0 +r 3017 0 3 0 653 0 +r 969 0 1 0 106 0 +r 969 0 365 0 967 0 +r 969 0 38 0 192 0 +r 969 0 39 0 225 0 +r 3018 0 2 0 184 0 +r 3018 0 3 0 654 0 +r 970 0 2 0 507 0 +r 970 0 3 0 971 0 +r 970 0 60 0 975 0 +r 970 0 60 0 973 0 +r 970 0 28 0 972 0 +r 970 0 5 0 2480 0 +r 970 0 29 0 919 0 +r 970 0 7 0 895 0 +r 3019 0 2 0 111 0 +r 3019 0 3 0 661 0 +r 971 0 2 0 507 0 +r 971 0 3 0 970 0 +r 971 0 60 0 976 0 +r 971 0 60 0 974 0 +r 971 0 5 0 2463 0 +r 971 0 7 0 895 0 +r 3020 0 2 0 111 0 +r 3020 0 3 0 691 0 +r 3020 0 60 0 3024 0 +r 3020 0 60 0 3023 0 +r 3020 0 60 0 3022 0 +r 972 0 104 0 984 0 +r 972 0 104 0 983 0 +r 972 0 1 0 52 0 +r 972 0 2906 0 982 0 +r 972 0 2906 0 981 0 +r 972 0 2907 0 970 0 +r 972 0 4 0 503 0 +r 972 0 5 0 2452 0 +r 972 0 7 0 895 0 +r 3021 0 2 0 112 0 +r 3021 0 3 0 703 0 +r 973 0 2 0 970 0 +r 973 0 3 0 974 0 +r 973 0 5 0 2469 0 +r 973 0 7 0 895 0 +r 973 0 2911 0 985 0 +r 3022 0 2 0 3020 0 +r 3022 0 3 0 707 0 +r 974 0 2 0 971 0 +r 974 0 3 0 973 0 +r 974 0 5 0 2497 0 +r 974 0 7 0 895 0 +r 3023 0 2 0 3020 0 +r 3023 0 3 0 709 0 +r 975 0 2 0 970 0 +r 975 0 3 0 976 0 +r 975 0 5 0 2488 0 +r 975 0 7 0 895 0 +r 975 0 2911 0 986 0 +r 3024 0 2 0 3020 0 +r 3024 0 3 0 711 0 +r 976 0 2 0 971 0 +r 976 0 3 0 975 0 +r 976 0 5 0 2458 0 +r 976 0 7 0 895 0 +r 3025 0 2 0 184 0 +r 3025 0 3 0 719 0 +r 977 0 2 0 110 0 +r 977 0 3 0 978 0 +r 977 0 28 0 979 0 +r 977 0 5 0 2487 0 +r 977 0 29 0 919 0 +r 977 0 7 0 895 0 +r 977 0 2911 0 987 0 +r 3026 0 2 0 184 0 +r 3026 0 3 0 736 0 +r 978 0 2 0 111 0 +r 978 0 3 0 977 0 +r 978 0 5 0 2436 0 +r 978 0 7 0 895 0 +r 3027 0 2 0 8 0 +r 3027 0 3 0 740 0 +r 979 0 104 0 990 0 +r 979 0 104 0 988 0 +r 979 0 2906 0 982 0 +r 979 0 2906 0 981 0 +r 979 0 2907 0 977 0 +r 979 0 4 0 907 0 +r 979 0 5 0 2472 0 +r 979 0 7 0 895 0 +r 3028 0 2 0 184 0 +r 3028 0 3 0 742 0 +r 980 0 2 0 111 0 +r 980 0 2 0 110 0 +r 980 0 3 0 980 0 +r 980 0 28 0 982 0 +r 980 0 5 0 2496 0 +r 980 0 29 0 981 0 +r 980 0 7 0 895 0 +r 980 0 2911 0 983 0 +r 3029 0 2 0 112 0 +r 3029 0 3 0 743 0 +r 981 0 1 0 33 0 +r 981 0 27 0 979 0 +r 981 0 27 0 972 0 +r 981 0 2908 0 980 0 +r 3030 0 2 0 112 0 +r 3030 0 3 0 744 0 +r 982 0 1 0 33 0 +r 982 0 2907 0 980 0 +r 982 0 27 0 979 0 +r 982 0 27 0 972 0 +r 3031 0 2 0 111 0 +r 3031 0 3 0 762 0 +r 983 0 1 0 106 0 +r 983 0 365 0 972 0 +r 983 0 38 0 980 0 +r 983 0 39 0 225 0 +r 3032 0 2 0 111 0 +r 3032 0 3 0 764 0 +r 984 0 1 0 106 0 +r 984 0 365 0 972 0 +r 984 0 38 0 507 0 +r 984 0 39 0 107 0 +r 3033 0 2 0 111 0 +r 3033 0 3 0 767 0 +r 985 0 1 0 106 0 +r 985 0 365 0 919 0 +r 985 0 38 0 973 0 +r 3034 0 2 0 111 0 +r 3034 0 3 0 771 0 +r 986 0 1 0 106 0 +r 986 0 365 0 919 0 +r 986 0 38 0 975 0 +r 3035 0 2 0 111 0 +r 3035 0 3 0 773 0 +r 987 0 1 0 106 0 +r 987 0 365 0 919 0 +r 987 0 38 0 977 0 +r 3036 0 2 0 111 0 +r 3036 0 3 0 778 0 +r 988 0 1 0 106 0 +r 988 0 365 0 979 0 +r 988 0 38 0 989 0 +r 3037 0 2 0 111 0 +r 3037 0 3 0 781 0 +r 989 0 1 0 144 0 +r 989 0 2 0 111 0 +r 989 0 2 0 110 0 +r 989 0 3 0 989 0 +r 989 0 5 0 2454 0 +r 989 0 7 0 895 0 +r 989 0 2911 0 988 0 +r 3038 0 2 0 184 0 +r 3038 0 3 0 786 0 +r 990 0 1 0 106 0 +r 990 0 365 0 979 0 +r 990 0 38 0 991 0 +r 3039 0 2 0 184 0 +r 3039 0 3 0 788 0 +r 991 0 1 0 144 0 +r 991 0 2 0 111 0 +r 991 0 2 0 110 0 +r 991 0 3 0 991 0 +r 991 0 5 0 2460 0 +r 991 0 7 0 895 0 +r 991 0 2911 0 990 0 +r 3040 0 2 0 184 0 +r 3040 0 3 0 790 0 +r 992 0 2 0 94 0 +r 992 0 3 0 3069 0 +r 992 0 28 0 993 0 +r 992 0 5 0 2459 0 +r 992 0 7 0 895 0 +r 3041 0 2 0 111 0 +r 3041 0 3 0 795 0 +r 993 0 104 0 1003 0 +r 993 0 104 0 1002 0 +r 993 0 104 0 1001 0 +r 993 0 2907 0 992 0 +r 993 0 4 0 25 0 +r 993 0 5 0 2474 0 +r 993 0 7 0 895 0 +r 3042 0 2 0 111 0 +r 3042 0 3 0 800 0 +r 994 0 2 0 94 0 +r 994 0 3 0 3070 0 +r 994 0 28 0 144 0 +r 994 0 5 0 2451 0 +r 994 0 7 0 895 0 +r 994 0 2911 0 1002 0 +r 3043 0 2 0 184 0 +r 3043 0 3 0 805 0 +r 995 0 2 0 94 0 +r 995 0 3 0 3071 0 +r 995 0 28 0 144 0 +r 995 0 5 0 2465 0 +r 995 0 7 0 895 0 +r 995 0 2911 0 1003 0 +r 3044 0 2 0 184 0 +r 3044 0 3 0 807 0 +r 996 0 2 0 94 0 +r 996 0 3 0 3072 0 +r 996 0 28 0 14 0 +r 996 0 5 0 2444 0 +r 996 0 7 0 895 0 +r 996 0 2911 0 1001 0 +r 3045 0 2 0 111 0 +r 3045 0 3 0 809 0 +r 997 0 145 0 997 0 +r 997 0 1 0 144 0 +r 997 0 2 0 111 0 +r 997 0 2 0 110 0 +r 997 0 3 0 997 0 +r 997 0 5 0 2490 0 +r 997 0 78 0 998 0 +r 997 0 7 0 895 0 +r 3046 0 2 0 111 0 +r 3046 0 3 0 815 0 +r 998 0 1 0 10 0 s A relation meant to be inherited to create specific tags describing the visibility of any diagram element on a particular layer. +r 998 0 2923 0 997 0 +r 3047 0 2 0 112 0 +r 3047 0 3 0 846 0 +r 999 0 145 0 999 0 +r 999 0 1 0 144 0 +r 999 0 2 0 111 0 +r 999 0 2 0 110 0 +r 999 0 3 0 999 0 +r 999 0 5 0 2466 0 +r 999 0 78 0 1000 0 +r 999 0 7 0 895 0 +r 3048 0 2 0 184 0 +r 3048 0 3 0 847 0 +r 1000 0 1 0 10 0 s A relation meant to be inherited to create specific tags describing the focusability of any diagram element on a particular layer. +r 1000 0 2923 0 999 0 +r 3049 0 2 0 184 0 +r 3049 0 3 0 848 0 +r 1001 0 1 0 106 0 +r 1001 0 365 0 993 0 +r 1001 0 38 0 996 0 +r 1001 0 39 0 107 0 +r 3050 0 2 0 184 0 +r 3050 0 3 0 849 0 +r 1002 0 1 0 106 0 +r 1002 0 365 0 993 0 +r 1002 0 38 0 994 0 +r 1002 0 39 0 107 0 +r 3051 0 2 0 184 0 +r 3051 0 3 0 850 0 +r 1003 0 1 0 106 0 +r 1003 0 365 0 993 0 +r 1003 0 38 0 995 0 +r 1003 0 39 0 107 0 +r 3052 0 2 0 184 0 +r 3052 0 3 0 851 0 +r 3052 0 60 0 3054 0 +r 3052 0 60 0 3053 0 +r 1004 0 2 0 94 0 +r 1004 0 3 0 3073 0 +r 1004 0 28 0 1005 0 +r 1004 0 5 0 2453 0 +r 1004 0 7 0 895 0 +r 3053 0 2 0 3052 0 +r 3053 0 3 0 852 0 +r 1005 0 104 0 1010 0 +r 1005 0 104 0 1009 0 +r 1005 0 2907 0 1004 0 +r 1005 0 4 0 24 0 +r 1005 0 5 0 2481 0 +r 1005 0 7 0 895 0 +r 3054 0 2 0 3052 0 +r 3054 0 3 0 854 0 +r 1006 0 2 0 94 0 +r 1006 0 3 0 3074 0 +r 1006 0 28 0 535 0 +r 1006 0 5 0 2461 0 +r 1006 0 7 0 895 0 +r 1006 0 2911 0 1009 0 +r 3055 0 2 0 111 0 +r 3055 0 3 0 862 0 +r 1007 0 2 0 110 0 +r 1007 0 3 0 3075 0 +r 1007 0 28 0 1008 0 +r 1007 0 5 0 2495 0 +r 1007 0 7 0 895 0 +r 1007 0 2911 0 1010 0 +r 3056 0 2 0 184 0 +r 3056 0 3 0 871 0 +r 1008 0 9 0 1012 0 +r 1008 0 9 0 1011 0 +r 1008 0 26 0 1008 0 +r 1008 0 2907 0 1007 0 +r 1008 0 59 0 1012 0 +r 1008 0 59 0 1011 0 +r 1008 0 4 0 24 0 +r 1008 0 5 0 2457 0 +r 1008 0 7 0 895 0 +r 3057 0 2 0 184 0 +r 3057 0 3 0 872 0 +r 1009 0 1 0 106 0 +r 1009 0 365 0 1005 0 +r 1009 0 38 0 1006 0 +r 1009 0 39 0 107 0 +r 3058 0 2 0 112 0 +r 3058 0 3 0 885 0 +r 1010 0 1 0 106 0 +r 1010 0 365 0 1005 0 +r 1010 0 38 0 1007 0 +r 1010 0 39 0 107 0 +r 3059 0 2 0 111 0 +r 3059 0 3 0 911 0 +r 1011 0 1 0 1008 0 +r 1011 0 5 0 2492 0 +r 1011 0 7 0 1008 0 +r 3060 0 2 0 2985 0 +r 3060 0 2 0 2975 0 +r 3060 0 3 0 917 0 +r 1012 0 1 0 1008 0 +r 1012 0 5 0 2437 0 +r 1012 0 7 0 1008 0 +r 3061 0 2 0 184 0 +r 3061 0 3 0 918 0 +r 1013 0 9 0 1088 0 +r 1013 0 9 0 1086 0 +r 1013 0 9 0 1084 0 +r 1013 0 9 0 1081 0 +r 1013 0 9 0 1078 0 +r 1013 0 9 0 1059 0 +r 1013 0 9 0 1058 0 +r 1013 0 9 0 1057 0 +r 1013 0 9 0 1056 0 +r 1013 0 9 0 1055 0 +r 1013 0 9 0 1054 0 +r 1013 0 9 0 1050 0 +r 1013 0 9 0 1049 0 +r 1013 0 9 0 1030 0 +r 1013 0 9 0 1029 0 +r 1013 0 9 0 1025 0 +r 1013 0 9 0 1022 0 +r 1013 0 9 0 1021 0 +r 1013 0 9 0 1020 0 +r 1013 0 97 0 1016 0 +r 1013 0 1 0 69 0 +r 1013 0 93 0 1017 0 +r 1013 0 5 0 1014 0 +r 1013 0 6 0 1015 0 +r 1013 0 2919 0 1018 0 +r 1013 0 7 0 89 0 +r 1013 0 7 0 77 0 +r 3062 0 2 0 2975 0 +r 3062 0 3 0 920 0 +r 1014 0 2904 0 1013 0 +r 1014 0 1 0 10 0 s Modeling-1.0 +r 3063 0 2 0 184 0 +r 3063 0 3 0 927 0 +r 1015 0 2905 0 1013 0 +r 1015 0 1 0 88 0 s http://www.simantics.org/Modeling/1.0 +r 3064 0 2 0 184 0 +r 3064 0 3 0 929 0 +r 1016 0 1 0 99 0 s 1.0 +r 1016 0 2926 0 1013 0 +r 3065 0 2 0 111 0 +r 3065 0 3 0 931 0 +r 1017 0 1 0 10 0 s org.simantics.modeling.ModelingResources +r 1017 0 2925 0 1013 0 +r 3066 0 2 0 111 0 +r 3066 0 3 0 933 0 +r 1018 0 65 0 1013 0 +r 1018 0 1 0 62 0 +r 1018 0 5 0 2874 0 +r 1018 0 6 0 1019 0 +r 1018 0 7 0 85 0 +r 3067 0 2 0 111 0 +r 3067 0 3 0 955 0 +r 1019 0 2905 0 1018 0 +r 1019 0 1 0 88 0 s http://www.simantics.org/Modeling/1.0 +r 3068 0 2 0 111 0 +r 3068 0 3 0 965 0 +r 1020 0 1 0 381 0 +r 1020 0 388 0 1022 0 +r 1020 0 388 0 1021 0 +r 1020 0 388 0 455 0 +r 1020 0 5 0 2866 0 +r 1020 0 389 0 1354 0 +r 1020 0 390 0 1354 0 +r 1020 0 7 0 1013 0 +r 1020 0 7 0 374 0 +r 3069 0 2 0 184 0 +r 3069 0 3 0 992 0 +r 1021 0 1 0 381 0 +r 1021 0 5 0 2896 0 +r 1021 0 389 0 1020 0 +r 1021 0 7 0 1013 0 +r 3070 0 2 0 184 0 +r 3070 0 3 0 994 0 +r 1022 0 192 0 1023 0 +r 1022 0 1 0 381 0 +r 1022 0 5 0 2891 0 +r 1022 0 389 0 1020 0 +r 1022 0 78 0 1024 0 +r 1022 0 7 0 1013 0 +r 3071 0 2 0 184 0 +r 3071 0 3 0 995 0 +r 1023 0 1 0 10 0 s Structural Model Manager +r 1023 0 2935 0 1022 0 +r 3072 0 2 0 184 0 +r 3072 0 3 0 996 0 +r 1024 0 1 0 10 0 s Generic model manager for structural models. +r 1024 0 2923 0 1022 0 +r 3073 0 2 0 184 0 +r 3073 0 3 0 1004 0 +r 1025 0 9 0 1028 0 +r 1025 0 9 0 1027 0 +r 1025 0 9 0 1026 0 +r 1025 0 1 0 57 0 +r 1025 0 5 0 2897 0 +r 1025 0 7 0 1013 0 +r 3074 0 2 0 184 0 +r 3074 0 3 0 1006 0 +r 1026 0 2961 0 1063 0 +r 1026 0 1 0 118 0 +r 1026 0 5 0 2892 0 +r 1026 0 7 0 1025 0 +r 3075 0 2 0 111 0 +r 3075 0 3 0 1007 0 +r 1027 0 2961 0 1065 0 +r 1027 0 1 0 118 0 +r 1027 0 5 0 2865 0 +r 1027 0 7 0 1025 0 +r 3076 0 2 0 111 0 +r 3076 0 3 0 1051 0 +r 1028 0 2961 0 1076 0 +r 1028 0 2961 0 1074 0 +r 1028 0 1 0 118 0 +r 1028 0 5 0 2860 0 +r 1028 0 7 0 1025 0 +r 3077 0 2 0 8 0 +r 3077 0 3 0 1056 0 +r 1029 0 1 0 144 0 +r 1029 0 2 0 111 0 +r 1029 0 2 0 110 0 +r 1029 0 3 0 1029 0 +r 1029 0 5 0 2875 0 +r 1029 0 7 0 1013 0 +r 3078 0 2 0 8 0 +r 3078 0 3 0 1057 0 +r 1030 0 9 0 1048 0 +r 1030 0 9 0 1047 0 +r 1030 0 9 0 1046 0 +r 1030 0 9 0 1045 0 +r 1030 0 9 0 1044 0 +r 1030 0 9 0 1043 0 +r 1030 0 9 0 1042 0 +r 1030 0 9 0 1041 0 +r 1030 0 9 0 1040 0 +r 1030 0 9 0 1039 0 +r 1030 0 9 0 1038 0 +r 1030 0 9 0 1037 0 +r 1030 0 9 0 1036 0 +r 1030 0 9 0 1035 0 +r 1030 0 9 0 1034 0 +r 1030 0 9 0 1033 0 +r 1030 0 9 0 1032 0 +r 1030 0 9 0 1031 0 +r 1030 0 1 0 57 0 +r 1030 0 5 0 2857 0 +r 1030 0 7 0 1013 0 +r 3079 0 2 0 111 0 +r 3079 0 3 0 1060 0 +r 1031 0 2 0 8 0 +r 1031 0 3 0 1032 0 +r 1031 0 5 0 2863 0 +r 1031 0 7 0 1030 0 +r 3080 0 2 0 111 0 +r 3080 0 3 0 1062 0 +r 1032 0 2 0 8 0 +r 1032 0 3 0 1031 0 +r 1032 0 5 0 2858 0 +r 1032 0 7 0 1030 0 +r 3081 0 2 0 111 0 +r 3081 0 3 0 1067 0 +r 1033 0 2 0 111 0 +r 1033 0 2 0 8 0 +r 1033 0 3 0 1034 0 +r 1033 0 5 0 2900 0 +r 1033 0 7 0 1030 0 +r 3082 0 2 0 111 0 +r 3082 0 3 0 1070 0 +r 1034 0 2 0 110 0 +r 1034 0 2 0 8 0 +r 1034 0 3 0 1033 0 +r 1034 0 5 0 2894 0 +r 1034 0 7 0 1030 0 +r 3083 0 2 0 111 0 +r 3083 0 3 0 1073 0 +r 1035 0 2 0 8 0 +r 1035 0 3 0 1036 0 +r 1035 0 5 0 2886 0 +r 1035 0 7 0 1030 0 +r 3084 0 2 0 184 0 +r 3084 0 3 0 1081 0 +r 1036 0 2 0 8 0 +r 1036 0 3 0 1035 0 +r 1036 0 5 0 2901 0 +r 1036 0 7 0 1030 0 +r 3085 0 2 0 184 0 +r 3085 0 3 0 1086 0 +r 1037 0 2 0 8 0 +r 1037 0 3 0 1038 0 +r 1037 0 5 0 2853 0 +r 1037 0 7 0 1030 0 +r 3086 0 2 0 184 0 +r 3086 0 3 0 1088 0 +r 1038 0 2 0 8 0 +r 1038 0 3 0 1037 0 +r 1038 0 5 0 2854 0 +r 1038 0 7 0 1030 0 +r 3087 0 2 0 7 0 +r 3087 0 3 0 1111 0 +r 1039 0 2 0 8 0 +r 1039 0 3 0 1040 0 +r 1039 0 5 0 2876 0 +r 1039 0 7 0 1030 0 +r 3088 0 2 0 3100 0 +r 3088 0 3 0 1113 0 +r 3088 0 60 0 3089 0 +r 1040 0 2 0 8 0 +r 1040 0 3 0 1039 0 +r 1040 0 5 0 2861 0 +r 1040 0 7 0 1030 0 +r 3089 0 2 0 3088 0 +r 3089 0 3 0 1115 0 +r 1041 0 2 0 8 0 +r 1041 0 3 0 1042 0 +r 1041 0 5 0 2889 0 +r 1041 0 7 0 1030 0 +r 3090 0 2 0 7 0 +r 3090 0 3 0 1118 0 +r 3090 0 60 0 3097 0 +r 3090 0 60 0 3093 0 +r 3090 0 60 0 3092 0 +r 3090 0 60 0 3091 0 +r 1042 0 2 0 8 0 +r 1042 0 3 0 1041 0 +r 1042 0 5 0 2870 0 +r 1042 0 7 0 1030 0 +r 3091 0 2 0 3090 0 +r 3091 0 3 0 1129 0 +r 1043 0 2 0 8 0 +r 1043 0 3 0 1044 0 +r 1043 0 5 0 2880 0 +r 1043 0 7 0 1030 0 +r 3092 0 2 0 3090 0 +r 3092 0 3 0 1131 0 +r 1044 0 2 0 8 0 +r 1044 0 3 0 1043 0 +r 1044 0 5 0 2899 0 +r 1044 0 7 0 1030 0 +r 3093 0 2 0 3090 0 +r 3093 0 3 0 1133 0 +r 1045 0 2 0 8 0 +r 1045 0 3 0 1046 0 +r 1045 0 5 0 2877 0 +r 1045 0 7 0 1030 0 +r 3094 0 2 0 184 0 +r 3094 0 3 0 1147 0 +r 1046 0 2 0 8 0 +r 1046 0 3 0 1045 0 +r 1046 0 5 0 2887 0 +r 1046 0 7 0 1030 0 +r 3095 0 2 0 184 0 +r 3095 0 3 0 1153 0 +r 1047 0 2 0 8 0 +r 1047 0 3 0 1048 0 +r 1047 0 5 0 2879 0 +r 1047 0 7 0 1030 0 +r 3096 0 2 0 7 0 +r 3096 0 3 0 1157 0 +r 1048 0 2 0 8 0 +r 1048 0 3 0 1047 0 +r 1048 0 5 0 2856 0 +r 1048 0 7 0 1030 0 +r 3097 0 2 0 3090 0 +r 3097 0 3 0 1158 0 +r 1049 0 4 0 317 0 +r 1049 0 5 0 2873 0 +r 1049 0 7 0 1013 0 +r 3098 0 2 0 184 0 +r 3098 0 3 0 1161 0 +r 1050 0 474 0 1051 0 +r 1050 0 4 0 912 0 +r 1050 0 4 0 909 0 +r 1050 0 5 0 2869 0 +r 1050 0 7 0 1013 0 +r 3099 0 2 0 184 0 +r 3099 0 3 0 1162 0 +r 1051 0 1 0 903 0 +r 1051 0 2 0 110 0 +r 1051 0 3 0 3076 0 +r 1051 0 1051 0 1052 0 +r 1051 0 3076 0 1052 0 +r 1051 0 476 0 1050 0 +r 3100 0 2 0 111 0 +r 3100 0 3 0 1166 0 +r 3100 0 60 0 3088 0 +r 3100 0 60 0 1144 0 +r 1052 0 1 0 913 0 +r 1052 0 1051 0 1051 0 +r 1052 0 3076 0 1051 0 +r 1052 0 661 0 1053 0 +r 3101 0 2 0 184 0 +r 3101 0 3 0 1167 0 +r 1053 0 1 0 10 0 s +r 1053 0 3019 0 1052 0 +r 3102 0 2 0 184 0 +r 3102 0 3 0 1168 0 +r 3102 0 60 0 3108 0 +r 3102 0 60 0 3107 0 +r 3102 0 60 0 3106 0 +r 3102 0 60 0 3105 0 +r 3102 0 60 0 3104 0 +r 3102 0 60 0 3103 0 +r 1054 0 4 0 226 0 +r 1054 0 5 0 2893 0 +r 1054 0 7 0 1013 0 +r 3103 0 2 0 3102 0 +r 3103 0 3 0 1169 0 +r 1055 0 9 0 1077 0 +r 1055 0 9 0 1075 0 +r 1055 0 9 0 1072 0 +r 1055 0 9 0 1071 0 +r 1055 0 9 0 1069 0 +r 1055 0 9 0 1068 0 +r 1055 0 9 0 1066 0 +r 1055 0 9 0 1064 0 +r 1055 0 9 0 1061 0 +r 1055 0 1 0 57 0 +r 1055 0 5 0 2895 0 +r 1055 0 7 0 1013 0 +r 3104 0 2 0 3102 0 +r 3104 0 3 0 1170 0 +r 1056 0 2 0 8 0 +r 1056 0 2931 0 1058 0 +r 1056 0 3 0 3077 0 +r 1056 0 5 0 2859 0 +r 1056 0 7 0 1013 0 +r 3105 0 2 0 3102 0 +r 3105 0 3 0 1171 0 +r 1057 0 2 0 8 0 +r 1057 0 2931 0 1059 0 +r 1057 0 3 0 3078 0 +r 1057 0 5 0 2868 0 +r 1057 0 7 0 1013 0 +r 3106 0 2 0 3102 0 +r 3106 0 3 0 1172 0 +r 1058 0 1 0 326 0 +r 1058 0 5 0 2890 0 +r 1058 0 7 0 1013 0 +r 1058 0 127 0 1056 0 +r 3107 0 2 0 3102 0 +r 3107 0 3 0 1173 0 +r 1059 0 1 0 326 0 +r 1059 0 5 0 2855 0 +r 1059 0 7 0 1013 0 +r 1059 0 127 0 1057 0 +r 3108 0 2 0 3102 0 +r 3108 0 3 0 1174 0 +r 1060 0 1 0 325 0 +r 1060 0 2 0 110 0 +r 1060 0 3 0 3079 0 +r 1060 0 1060 0 1061 0 +r 1060 0 3077 0 482 0 +r 1060 0 3079 0 1061 0 +r 3109 0 2 0 184 0 +r 3109 0 3 0 1175 0 +r 1061 0 1 0 323 0 +r 1061 0 1060 0 1060 0 +r 1061 0 5 0 2871 0 +r 1061 0 3079 0 1060 0 +r 1061 0 7 0 1055 0 +r 3110 0 2 0 184 0 +r 3110 0 3 0 1176 0 +r 1062 0 3080 0 1065 0 +r 1062 0 1 0 325 0 +r 1062 0 2 0 110 0 +r 1062 0 3 0 3080 0 +r 1062 0 3077 0 466 0 +r 1062 0 1062 0 1063 0 +r 3111 0 2 0 184 0 +r 3111 0 3 0 1177 0 +r 1063 0 3080 0 1062 0 +r 1063 0 1 0 328 0 +r 1063 0 330 0 1026 0 +r 1063 0 332 0 1064 0 +r 1063 0 1062 0 1065 0 +r 3112 0 2 0 184 0 +r 3112 0 3 0 1178 0 +r 1064 0 1 0 323 0 +r 1064 0 2962 0 1063 0 +r 1064 0 5 0 2885 0 +r 1064 0 7 0 1055 0 +r 3113 0 2 0 184 0 +r 3113 0 3 0 1183 0 +r 1065 0 3080 0 1063 0 +r 1065 0 1 0 328 0 +r 1065 0 330 0 1027 0 +r 1065 0 332 0 1066 0 +r 1065 0 1062 0 1062 0 +r 3114 0 2 0 184 0 +r 3114 0 3 0 1184 0 +r 1066 0 1 0 323 0 +r 1066 0 2962 0 1065 0 +r 1066 0 5 0 2862 0 +r 1066 0 7 0 1055 0 +r 3115 0 2 0 184 0 +r 3115 0 3 0 1185 0 +r 1067 0 3081 0 1069 0 +r 1067 0 1 0 325 0 +r 1067 0 2 0 110 0 +r 1067 0 3 0 3081 0 +r 1067 0 1067 0 1068 0 +r 1067 0 3077 0 467 0 +r 3116 0 2 0 184 0 +r 3116 0 3 0 1186 0 +r 1068 0 3081 0 1067 0 +r 1068 0 1 0 323 0 +r 1068 0 1067 0 1069 0 +r 1068 0 5 0 2888 0 +r 1068 0 7 0 1055 0 +r 3117 0 2 0 184 0 +r 3117 0 3 0 1187 0 +r 1069 0 3081 0 1068 0 +r 1069 0 1 0 323 0 +r 1069 0 1067 0 1067 0 +r 1069 0 5 0 2872 0 +r 1069 0 7 0 1055 0 +r 3118 0 2 0 184 0 +r 3118 0 3 0 1274 0 +r 1070 0 1 0 325 0 +r 1070 0 3082 0 1072 0 +r 1070 0 2 0 110 0 +r 1070 0 3 0 3082 0 +r 1070 0 3077 0 376 0 +r 1070 0 1070 0 1071 0 +r 3119 0 2 0 184 0 +r 3119 0 3 0 1276 0 +r 1071 0 1 0 323 0 +r 1071 0 3082 0 1070 0 +r 1071 0 5 0 2867 0 +r 1071 0 1070 0 1072 0 +r 1071 0 7 0 1055 0 +r 3120 0 2 0 184 0 +r 3120 0 3 0 1280 0 +r 1072 0 1 0 323 0 +r 1072 0 3082 0 1071 0 +r 1072 0 5 0 2898 0 +r 1072 0 1070 0 1070 0 +r 1072 0 7 0 1055 0 +r 3121 0 2 0 184 0 +r 3121 0 3 0 1281 0 +r 1073 0 1 0 325 0 +r 1073 0 1073 0 1074 0 +r 1073 0 2 0 110 0 +r 1073 0 3083 0 1076 0 +r 1073 0 3 0 3083 0 +r 1073 0 3078 0 941 0 +r 3122 0 2 0 184 0 +r 3122 0 3 0 1282 0 +r 1074 0 1073 0 1076 0 +r 1074 0 1 0 328 0 +r 1074 0 330 0 1028 0 +r 1074 0 3083 0 1073 0 +r 1074 0 332 0 1075 0 +r 3123 0 2 0 184 0 +r 3123 0 3 0 1283 0 +r 1075 0 1 0 323 0 +r 1075 0 2962 0 1074 0 +r 1075 0 5 0 2864 0 +r 1075 0 7 0 1055 0 +r 3124 0 2 0 184 0 +r 3124 0 3 0 1302 0 +r 1076 0 1073 0 1073 0 +r 1076 0 1 0 328 0 +r 1076 0 330 0 1028 0 +r 1076 0 3083 0 1074 0 +r 1076 0 332 0 1077 0 +r 3125 0 2 0 184 0 +r 3125 0 3 0 1304 0 +r 1077 0 1 0 323 0 +r 1077 0 2962 0 1076 0 +r 1077 0 5 0 2882 0 +r 1077 0 7 0 1055 0 +r 3126 0 2 0 184 0 +r 3126 0 3 0 1308 0 +r 1078 0 104 0 1080 0 +r 1078 0 104 0 1079 0 +r 1078 0 2907 0 1079 0 +r 1078 0 4 0 57 0 +r 1078 0 5 0 2878 0 +r 1078 0 70 0 1083 0 +r 1078 0 7 0 1013 0 +r 3127 0 2 0 184 0 +r 3127 0 3 0 1310 0 +r 1079 0 1 0 106 0 +r 1079 0 28 0 1078 0 +r 1079 0 365 0 1078 0 +r 1079 0 38 0 9 0 +r 3128 0 2 0 184 0 +r 3128 0 3 0 1312 0 +r 1080 0 1 0 106 0 +r 1080 0 365 0 1078 0 +r 1080 0 38 0 1081 0 +r 1080 0 39 0 107 0 +r 3129 0 2 0 184 0 +r 3129 0 3 0 1315 0 +r 1081 0 2921 0 1083 0 +r 1081 0 1 0 42 0 +r 1081 0 2 0 94 0 +r 1081 0 3 0 3084 0 +r 1081 0 28 0 14 0 +r 1081 0 5 0 2883 0 +r 1081 0 2911 0 1080 0 +r 1081 0 7 0 1013 0 +r 3130 0 2 0 184 0 +r 3130 0 3 0 1317 0 +r 1082 0 1 0 14 0 b true +r 1082 0 2922 0 1083 0 +r 3131 0 2 0 184 0 +r 3131 0 3 0 1335 0 +r 1083 0 2920 0 1078 0 +r 1083 0 72 0 1082 0 +r 1083 0 1 0 151 0 +r 1083 0 71 0 1081 0 +r 3132 0 2 0 184 0 +r 3132 0 3 0 1341 0 +r 1084 0 104 0 1087 0 +r 1084 0 104 0 1085 0 +r 1084 0 4 0 25 0 +r 1084 0 5 0 2881 0 +r 1084 0 7 0 1013 0 +r 3133 0 2 0 184 0 +r 3133 0 3 0 1344 0 +r 1085 0 1 0 106 0 +r 1085 0 365 0 1084 0 +r 1085 0 38 0 1086 0 +r 1085 0 39 0 107 0 +r 3134 0 2 0 184 0 +r 3134 0 3 0 1346 0 +r 1086 0 2 0 94 0 +r 1086 0 3 0 3085 0 +r 1086 0 28 0 10 0 +r 1086 0 5 0 2852 0 +r 1086 0 2911 0 1306 0 +r 1086 0 2911 0 1085 0 +r 1086 0 7 0 1013 0 +r 3135 0 2 0 111 0 +r 3135 0 3 0 1360 0 +r 1087 0 1 0 106 0 +r 1087 0 365 0 1084 0 +r 1087 0 38 0 1088 0 +r 1087 0 39 0 225 0 +r 3136 0 2 0 507 0 +r 3136 0 3 0 1363 0 +r 1088 0 2 0 94 0 +r 1088 0 3 0 3086 0 +r 1088 0 28 0 190 0 +r 1088 0 5 0 2884 0 +r 1088 0 2911 0 1087 0 +r 1088 0 7 0 1013 0 +r 3137 0 2 0 507 0 +r 3137 0 3 0 1364 0 +r 1089 0 9 0 1342 0 +r 1089 0 9 0 1339 0 +r 1089 0 9 0 1338 0 +r 1089 0 9 0 1336 0 +r 1089 0 9 0 1331 0 +r 1089 0 9 0 1326 0 +r 1089 0 9 0 1322 0 +r 1089 0 9 0 1318 0 +r 1089 0 9 0 1313 0 +r 1089 0 9 0 1298 0 +r 1089 0 9 0 1296 0 +r 1089 0 9 0 1295 0 +r 1089 0 9 0 1293 0 +r 1089 0 9 0 1292 0 +r 1089 0 9 0 1284 0 +r 1089 0 9 0 1272 0 +r 1089 0 9 0 1269 0 +r 1089 0 9 0 1267 0 +r 1089 0 9 0 1265 0 +r 1089 0 9 0 1263 0 +r 1089 0 9 0 1261 0 +r 1089 0 9 0 1257 0 +r 1089 0 9 0 1253 0 +r 1089 0 9 0 1250 0 +r 1089 0 9 0 1247 0 +r 1089 0 9 0 1245 0 +r 1089 0 9 0 1238 0 +r 1089 0 9 0 1231 0 +r 1089 0 9 0 1226 0 +r 1089 0 9 0 1221 0 +r 1089 0 9 0 1216 0 +r 1089 0 9 0 1214 0 +r 1089 0 9 0 1212 0 +r 1089 0 9 0 1210 0 +r 1089 0 9 0 1208 0 +r 1089 0 9 0 1200 0 +r 1089 0 9 0 1198 0 +r 1089 0 9 0 1196 0 +r 1089 0 9 0 1194 0 +r 1089 0 9 0 1192 0 +r 1089 0 9 0 1190 0 +r 1089 0 9 0 1189 0 +r 1089 0 9 0 1188 0 +r 1089 0 9 0 1179 0 +r 1089 0 9 0 1163 0 +r 1089 0 9 0 1160 0 +r 1089 0 9 0 1159 0 +r 1089 0 9 0 1150 0 +r 1089 0 9 0 1145 0 +r 1089 0 9 0 1142 0 +r 1089 0 9 0 1139 0 +r 1089 0 9 0 1138 0 +r 1089 0 9 0 1134 0 +r 1089 0 9 0 1127 0 +r 1089 0 9 0 1126 0 +r 1089 0 9 0 1125 0 +r 1089 0 9 0 1124 0 +r 1089 0 9 0 1123 0 +r 1089 0 9 0 1122 0 +r 1089 0 9 0 1121 0 +r 1089 0 9 0 1120 0 +r 1089 0 9 0 1119 0 +r 1089 0 9 0 1116 0 +r 1089 0 9 0 1109 0 +r 1089 0 9 0 1108 0 +r 1089 0 9 0 1107 0 +r 1089 0 9 0 1106 0 +r 1089 0 1 0 48 0 +r 1089 0 5 0 1090 0 +r 1089 0 7 0 1091 0 +r 3138 0 2 0 507 0 +r 3138 0 3 0 1365 0 +r 1090 0 2904 0 1089 0 +r 1090 0 1 0 10 0 s Types +r 3139 0 2 0 507 0 +r 3139 0 3 0 1368 0 +r 1091 0 97 0 1096 0 +r 1091 0 1 0 69 0 +r 1091 0 9 0 1103 0 +r 1091 0 9 0 1100 0 +r 1091 0 9 0 1092 0 +r 1091 0 9 0 1089 0 +r 1091 0 93 0 1097 0 +r 1091 0 5 0 1094 0 +r 1091 0 6 0 1095 0 +r 1091 0 2919 0 1098 0 +r 1091 0 7 0 91 0 +r 1091 0 7 0 77 0 +r 3140 0 2 0 507 0 +r 3140 0 3 0 1369 0 +r 1092 0 9 0 1346 0 +r 1092 0 9 0 1344 0 +r 1092 0 9 0 1341 0 +r 1092 0 9 0 1335 0 +r 1092 0 9 0 1317 0 +r 1092 0 9 0 1315 0 +r 1092 0 9 0 1312 0 +r 1092 0 9 0 1310 0 +r 1092 0 9 0 1308 0 +r 1092 0 9 0 1304 0 +r 1092 0 9 0 1302 0 +r 1092 0 9 0 1283 0 +r 1092 0 9 0 1282 0 +r 1092 0 9 0 1281 0 +r 1092 0 9 0 1280 0 +r 1092 0 9 0 1276 0 +r 1092 0 9 0 1274 0 +r 1092 0 9 0 1187 0 +r 1092 0 9 0 1186 0 +r 1092 0 9 0 1185 0 +r 1092 0 9 0 1184 0 +r 1092 0 9 0 1183 0 +r 1092 0 9 0 1178 0 +r 1092 0 9 0 1177 0 +r 1092 0 9 0 1176 0 +r 1092 0 9 0 1175 0 +r 1092 0 9 0 1174 0 +r 1092 0 9 0 1173 0 +r 1092 0 9 0 1172 0 +r 1092 0 9 0 1171 0 +r 1092 0 9 0 1170 0 +r 1092 0 9 0 1169 0 +r 1092 0 9 0 1168 0 +r 1092 0 9 0 1167 0 +r 1092 0 9 0 1166 0 +r 1092 0 9 0 1162 0 +r 1092 0 9 0 1161 0 +r 1092 0 9 0 1158 0 +r 1092 0 9 0 1157 0 +r 1092 0 9 0 1153 0 +r 1092 0 9 0 1147 0 +r 1092 0 9 0 1144 0 +r 1092 0 9 0 1141 0 +r 1092 0 9 0 1133 0 +r 1092 0 9 0 1131 0 +r 1092 0 9 0 1129 0 +r 1092 0 9 0 1118 0 +r 1092 0 9 0 1115 0 +r 1092 0 9 0 1113 0 +r 1092 0 9 0 1111 0 +r 1092 0 1 0 55 0 +r 1092 0 5 0 1093 0 +r 1092 0 7 0 1091 0 +r 3141 0 2 0 507 0 +r 3141 0 3 0 1370 0 +r 1093 0 2904 0 1092 0 +r 1093 0 1 0 10 0 s Relations +r 3142 0 2 0 507 0 +r 3142 0 3 0 1371 0 +r 1094 0 2904 0 1091 0 +r 1094 0 1 0 10 0 s Webmon-1.0 +r 3143 0 2 0 507 0 +r 3143 0 3 0 1372 0 +r 1095 0 2905 0 1091 0 +r 1095 0 1 0 88 0 s http://www.vtt.fi/Simantics/Webmon/1.0 +r 3144 0 2 0 507 0 +r 3144 0 3 0 1375 0 +r 1096 0 1 0 99 0 s 1.0 +r 1096 0 2926 0 1091 0 +r 3145 0 2 0 507 0 +r 3145 0 3 0 1376 0 +r 1097 0 1 0 10 0 s org.simantics.webmon.stubs.WebmonResource +r 1097 0 2925 0 1091 0 +r 3146 0 2 0 184 0 +r 3146 0 3 0 1377 0 +r 3146 0 60 0 3155 0 +r 3146 0 60 0 3154 0 +r 3146 0 60 0 3153 0 +r 3146 0 60 0 3152 0 +r 3146 0 60 0 3151 0 +r 3146 0 60 0 3150 0 +r 3146 0 60 0 3149 0 +r 3146 0 60 0 3148 0 +r 3146 0 60 0 3147 0 +r 1098 0 65 0 1091 0 +r 1098 0 1 0 62 0 +r 1098 0 5 0 2606 0 +r 1098 0 6 0 1099 0 +r 1098 0 7 0 85 0 +r 3147 0 2 0 3146 0 +r 3147 0 3 0 1378 0 +r 1099 0 2905 0 1098 0 +r 1099 0 1 0 88 0 s http://www.vtt.fi/Simantics/Webmon/1.0 +r 3148 0 2 0 3146 0 +r 3148 0 3 0 1379 0 +r 1100 0 1 0 381 0 +r 1100 0 388 0 1103 0 +r 1100 0 5 0 1101 0 +r 1100 0 78 0 1102 0 +r 1100 0 7 0 1091 0 +r 1100 0 7 0 374 0 +r 3149 0 2 0 3146 0 +r 3149 0 3 0 1380 0 +r 1101 0 2904 0 1100 0 +r 1101 0 1 0 10 0 s Webmon Project +r 3150 0 2 0 3146 0 +r 3150 0 3 0 1381 0 +r 1102 0 1 0 10 0 s Webmon data visualization project. +r 1102 0 2923 0 1100 0 +r 3151 0 2 0 3146 0 +r 3151 0 3 0 1382 0 +r 1103 0 1 0 381 0 +r 1103 0 5 0 1104 0 +r 1103 0 389 0 1100 0 +r 1103 0 78 0 1105 0 +r 1103 0 7 0 1091 0 +r 3152 0 2 0 3146 0 +r 3152 0 3 0 1383 0 +r 1104 0 2904 0 1103 0 +r 1104 0 1 0 10 0 s Webmon Feature +r 3153 0 2 0 3146 0 +r 3153 0 3 0 1384 0 +r 1105 0 1 0 10 0 s Webmon data visualization feature. +r 1105 0 2923 0 1103 0 +r 3154 0 2 0 3146 0 +r 3154 0 3 0 1385 0 +r 1106 0 4 0 57 0 +r 1106 0 5 0 2570 0 +r 1106 0 7 0 1089 0 +r 3155 0 2 0 3146 0 +r 3155 0 3 0 1386 0 +r 1107 0 4 0 57 0 +r 1107 0 5 0 2608 0 +r 1107 0 7 0 1089 0 +r 3156 0 2 0 111 0 +r 3156 0 3 0 1393 0 +r 1108 0 4 0 57 0 +r 1108 0 5 0 2585 0 +r 1108 0 7 0 1089 0 +r 3157 0 2 0 507 0 +r 3157 0 3 0 1399 0 +r 1109 0 136 0 1115 0 +r 1109 0 136 0 1113 0 +r 1109 0 136 0 1111 0 +r 1109 0 104 0 1114 0 +r 1109 0 104 0 1112 0 +r 1109 0 104 0 1110 0 +r 1109 0 129 0 1123 0 +r 1109 0 129 0 1122 0 +r 1109 0 129 0 1121 0 +r 1109 0 129 0 1120 0 +r 1109 0 137 0 1115 0 +r 1109 0 137 0 1113 0 +r 1109 0 137 0 1111 0 +r 1109 0 145 0 1109 0 +r 1109 0 2908 0 1113 0 +r 1109 0 2908 0 1111 0 +r 1109 0 4 0 25 0 +r 1109 0 5 0 2505 0 +r 1109 0 7 0 1089 0 +r 3158 0 2 0 111 0 +r 3158 0 3 0 1406 0 +r 1110 0 1 0 106 0 +r 1110 0 365 0 1109 0 +r 1110 0 38 0 1111 0 +r 3159 0 2 0 507 0 +r 3159 0 3 0 1412 0 +r 1111 0 2 0 9 0 +r 1111 0 3 0 3087 0 +r 1111 0 139 0 1109 0 +r 1111 0 28 0 1125 0 +r 1111 0 5 0 2573 0 +r 1111 0 29 0 1109 0 +r 1111 0 141 0 1109 0 +r 1111 0 7 0 1092 0 +r 1111 0 2911 0 1110 0 +r 3160 0 2 0 507 0 +r 3160 0 3 0 1416 0 +r 1112 0 1 0 106 0 +r 1112 0 365 0 1109 0 +r 1112 0 38 0 1113 0 +r 3161 0 2 0 507 0 +r 3161 0 3 0 1420 0 +r 1113 0 2 0 1166 0 +r 1113 0 3 0 3088 0 +r 1113 0 139 0 1109 0 +r 1113 0 60 0 1115 0 +r 1113 0 28 0 1139 0 +r 1113 0 5 0 2589 0 +r 1113 0 29 0 1109 0 +r 1113 0 141 0 1109 0 +r 1113 0 7 0 1092 0 +r 1113 0 2911 0 1112 0 +r 3162 0 2 0 507 0 +r 3162 0 3 0 1424 0 +r 1114 0 1 0 106 0 +r 1114 0 365 0 1109 0 +r 1114 0 38 0 1115 0 +r 1114 0 39 0 225 0 +r 3163 0 2 0 111 0 +r 3163 0 3 0 1433 0 +r 1115 0 2 0 1113 0 +r 1115 0 3 0 3089 0 +r 1115 0 139 0 1109 0 +r 1115 0 5 0 2503 0 +r 1115 0 141 0 1109 0 +r 1115 0 7 0 1092 0 +r 1115 0 2911 0 1114 0 +r 3164 0 2 0 507 0 +r 3164 0 3 0 1439 0 +r 1116 0 104 0 1117 0 +r 1116 0 129 0 1265 0 +r 1116 0 129 0 1134 0 +r 1116 0 129 0 1127 0 +r 1116 0 137 0 1118 0 +r 1116 0 145 0 1116 0 +r 1116 0 2907 0 1157 0 +r 1116 0 2908 0 1118 0 +r 1116 0 4 0 25 0 +r 1116 0 5 0 2501 0 +r 1116 0 7 0 1089 0 +r 3165 0 2 0 507 0 +r 3165 0 3 0 1443 0 +r 1117 0 1 0 106 0 +r 1117 0 365 0 1116 0 +r 1117 0 38 0 1118 0 +r 3166 0 2 0 507 0 +r 3166 0 3 0 1447 0 +r 1118 0 2 0 9 0 +r 1118 0 3 0 3090 0 +r 1118 0 60 0 1158 0 +r 1118 0 60 0 1133 0 +r 1118 0 60 0 1131 0 +r 1118 0 60 0 1129 0 +r 1118 0 28 0 1119 0 +r 1118 0 5 0 2586 0 +r 1118 0 29 0 1116 0 +r 1118 0 141 0 1116 0 +r 1118 0 7 0 1092 0 +r 1118 0 2911 0 1117 0 +r 3167 0 2 0 507 0 +r 3167 0 3 0 1451 0 +r 1119 0 129 0 1284 0 +r 1119 0 129 0 1163 0 +r 1119 0 129 0 1160 0 +r 1119 0 129 0 1159 0 +r 1119 0 145 0 1119 0 +r 1119 0 2907 0 1118 0 +r 1119 0 4 0 25 0 +r 1119 0 5 0 2500 0 +r 1119 0 7 0 1089 0 +r 3168 0 2 0 507 0 +r 3168 0 3 0 1455 0 +r 1120 0 129 0 1194 0 +r 1120 0 129 0 1190 0 +r 1120 0 145 0 1120 0 +r 1120 0 4 0 1109 0 +r 1120 0 5 0 2543 0 +r 1120 0 7 0 1089 0 +r 3169 0 2 0 507 0 +r 3169 0 3 0 1459 0 +r 1121 0 129 0 1198 0 +r 1121 0 129 0 1196 0 +r 1121 0 129 0 1192 0 +r 1121 0 145 0 1121 0 +r 1121 0 4 0 1109 0 +r 1121 0 5 0 2556 0 +r 1121 0 7 0 1089 0 +r 3170 0 2 0 111 0 +r 3170 0 3 0 1465 0 +r 1122 0 129 0 1192 0 +r 1122 0 129 0 1190 0 +r 1122 0 145 0 1122 0 +r 1122 0 4 0 1109 0 +r 1122 0 5 0 2509 0 +r 1122 0 7 0 1089 0 +r 3171 0 2 0 507 0 +r 3171 0 3 0 1471 0 +r 1123 0 129 0 1198 0 +r 1123 0 129 0 1196 0 +r 1123 0 129 0 1194 0 +r 1123 0 145 0 1123 0 +r 1123 0 4 0 1109 0 +r 1123 0 5 0 2513 0 +r 1123 0 7 0 1089 0 +r 3172 0 2 0 507 0 +r 3172 0 3 0 1475 0 +r 1124 0 129 0 1208 0 +r 1124 0 129 0 1200 0 +r 1124 0 145 0 1124 0 +r 1124 0 4 0 1125 0 +r 1124 0 5 0 2551 0 +r 1124 0 7 0 1089 0 +r 3173 0 2 0 507 0 +r 3173 0 3 0 1479 0 +r 1125 0 104 0 1311 0 +r 1125 0 104 0 1309 0 +r 1125 0 104 0 1307 0 +r 1125 0 104 0 1306 0 +r 1125 0 104 0 1305 0 +r 1125 0 129 0 1126 0 +r 1125 0 129 0 1124 0 +r 1125 0 2907 0 1111 0 +r 1125 0 2908 0 1157 0 +r 1125 0 2908 0 1141 0 +r 1125 0 4 0 25 0 +r 1125 0 5 0 2512 0 +r 1125 0 7 0 1089 0 +r 3174 0 2 0 111 0 +r 3174 0 3 0 1485 0 +r 1126 0 129 0 1214 0 +r 1126 0 129 0 1212 0 +r 1126 0 129 0 1210 0 +r 1126 0 145 0 1126 0 +r 1126 0 4 0 1125 0 +r 1126 0 5 0 2553 0 +r 1126 0 7 0 1089 0 +r 3175 0 2 0 507 0 +r 3175 0 3 0 1491 0 +r 1127 0 104 0 1132 0 +r 1127 0 104 0 1130 0 +r 1127 0 104 0 1128 0 +r 1127 0 129 0 1263 0 +r 1127 0 4 0 1116 0 +r 1127 0 5 0 2548 0 +r 1127 0 7 0 1089 0 +r 3176 0 2 0 507 0 +r 3176 0 3 0 1495 0 +r 1128 0 1 0 106 0 +r 1128 0 365 0 1127 0 +r 1128 0 38 0 1129 0 +r 1128 0 39 0 225 0 +r 3177 0 2 0 507 0 +r 3177 0 3 0 1499 0 +r 1129 0 2 0 1118 0 +r 1129 0 3 0 3091 0 +r 1129 0 5 0 2526 0 +r 1129 0 7 0 1092 0 +r 1129 0 2911 0 1135 0 +r 1129 0 2911 0 1128 0 +r 3178 0 2 0 111 0 +r 3178 0 3 0 1505 0 +r 1130 0 1 0 106 0 +r 1130 0 365 0 1127 0 +r 1130 0 38 0 1131 0 +r 1130 0 39 0 225 0 +r 3179 0 2 0 507 0 +r 3179 0 3 0 1511 0 +r 1131 0 2 0 1118 0 +r 1131 0 3 0 3092 0 +r 1131 0 5 0 2532 0 +r 1131 0 141 0 1200 0 +r 1131 0 7 0 1092 0 +r 1131 0 2911 0 1136 0 +r 1131 0 2911 0 1130 0 +r 3180 0 2 0 507 0 +r 3180 0 3 0 1515 0 +r 1132 0 1 0 106 0 +r 1132 0 365 0 1127 0 +r 1132 0 38 0 1133 0 +r 1132 0 39 0 350 0 +r 3181 0 2 0 507 0 +r 3181 0 3 0 1519 0 +r 1133 0 2 0 1118 0 +r 1133 0 3 0 3093 0 +r 1133 0 5 0 2538 0 +r 1133 0 7 0 1092 0 +r 1133 0 2911 0 1137 0 +r 1133 0 2911 0 1132 0 +r 3182 0 2 0 111 0 +r 3182 0 3 0 1525 0 +r 1134 0 104 0 1137 0 +r 1134 0 104 0 1136 0 +r 1134 0 104 0 1135 0 +r 1134 0 129 0 1269 0 +r 1134 0 129 0 1267 0 +r 1134 0 129 0 1261 0 +r 1134 0 4 0 1116 0 +r 1134 0 5 0 2552 0 +r 1134 0 7 0 1089 0 +r 3183 0 2 0 507 0 +r 3183 0 3 0 1531 0 +r 1135 0 1 0 106 0 +r 1135 0 365 0 1134 0 +r 1135 0 38 0 1129 0 +r 1135 0 39 0 225 0 +r 3184 0 2 0 507 0 +r 3184 0 3 0 1535 0 +r 1136 0 1 0 106 0 +r 1136 0 365 0 1134 0 +r 1136 0 38 0 1131 0 +r 1136 0 39 0 225 0 +r 3185 0 2 0 507 0 +r 3185 0 3 0 1539 0 +r 1137 0 1 0 106 0 +r 1137 0 365 0 1134 0 +r 1137 0 38 0 1133 0 +r 1137 0 39 0 225 0 +r 3186 0 2 0 111 0 +r 3186 0 3 0 1545 0 +r 1138 0 129 0 1142 0 +r 1138 0 129 0 1139 0 +r 1138 0 2907 0 1166 0 +r 1138 0 4 0 25 0 +r 1138 0 5 0 2580 0 +r 1138 0 7 0 1089 0 +r 3187 0 2 0 507 0 +r 3187 0 3 0 1551 0 +r 1139 0 104 0 1140 0 +r 1139 0 129 0 1150 0 +r 1139 0 129 0 1145 0 +r 1139 0 2907 0 1113 0 +r 1139 0 2908 0 1141 0 +r 1139 0 4 0 1138 0 +r 1139 0 5 0 2565 0 +r 1139 0 7 0 1089 0 +r 3188 0 2 0 507 0 +r 3188 0 3 0 1555 0 +r 1140 0 1 0 106 0 +r 1140 0 365 0 1139 0 +r 1140 0 38 0 1141 0 +r 3189 0 2 0 507 0 +r 3189 0 3 0 1559 0 +r 1141 0 2 0 1166 0 +r 1141 0 2 0 9 0 +r 1141 0 3 0 1144 0 +r 1141 0 28 0 1142 0 +r 1141 0 5 0 2507 0 +r 1141 0 29 0 1139 0 +r 1141 0 29 0 1125 0 +r 1141 0 7 0 1092 0 +r 1141 0 2911 0 1140 0 +r 3190 0 2 0 111 0 +r 3190 0 3 0 1565 0 +r 1142 0 104 0 1143 0 +r 1142 0 129 0 1257 0 +r 1142 0 129 0 1253 0 +r 1142 0 129 0 1250 0 +r 1142 0 129 0 1247 0 +r 1142 0 129 0 1245 0 +r 1142 0 2907 0 1141 0 +r 1142 0 4 0 1138 0 +r 1142 0 5 0 2593 0 +r 1142 0 7 0 1089 0 +r 3191 0 2 0 507 0 +r 3191 0 3 0 1571 0 +r 1143 0 1 0 106 0 +r 1143 0 365 0 1142 0 +r 1143 0 38 0 1144 0 +r 1143 0 39 0 225 0 +r 3192 0 2 0 507 0 +r 3192 0 3 0 1575 0 +r 1144 0 2 0 3100 0 +r 1144 0 2 0 7 0 +r 1144 0 3 0 1141 0 +r 1144 0 5 0 2515 0 +r 1144 0 7 0 1092 0 +r 1144 0 2911 0 1143 0 +r 3193 0 2 0 507 0 +r 3193 0 3 0 1579 0 +r 1145 0 104 0 1146 0 +r 1145 0 129 0 1238 0 +r 1145 0 129 0 1231 0 +r 1145 0 129 0 1221 0 +r 1145 0 249 0 1148 0 +r 1145 0 59 0 1148 0 +r 1145 0 4 0 1139 0 +r 1145 0 5 0 2550 0 +r 1145 0 7 0 1089 0 +r 3194 0 2 0 111 0 +r 3194 0 3 0 1588 0 +r 1146 0 1 0 106 0 +r 1146 0 365 0 1145 0 +r 1146 0 38 0 1147 0 +r 1146 0 39 0 107 0 +r 3195 0 2 0 507 0 +r 3195 0 3 0 1594 0 +r 1147 0 2 0 94 0 +r 1147 0 3 0 3094 0 +r 1147 0 28 0 12 0 +r 1147 0 5 0 2516 0 +r 1147 0 7 0 1092 0 +r 1147 0 2911 0 1151 0 +r 1147 0 2911 0 1146 0 +r 3196 0 2 0 507 0 +r 3196 0 3 0 1598 0 +r 1148 0 1 0 1145 0 +r 1148 0 2947 0 1145 0 +r 1148 0 1147 0 1149 0 +r 3197 0 2 0 507 0 +r 3197 0 3 0 1602 0 +r 1149 0 1 0 16 0 l 0 +r 1149 0 3094 0 1148 0 +r 3198 0 2 0 111 0 +r 3198 0 3 0 1611 0 +r 1150 0 104 0 1152 0 +r 1150 0 104 0 1151 0 +r 1150 0 129 0 1226 0 +r 1150 0 129 0 1216 0 +r 1150 0 249 0 1154 0 +r 1150 0 59 0 1154 0 +r 1150 0 4 0 1139 0 +r 1150 0 5 0 2523 0 +r 1150 0 7 0 1089 0 +r 3199 0 2 0 507 0 +r 3199 0 3 0 1617 0 +r 1151 0 1 0 106 0 +r 1151 0 365 0 1150 0 +r 1151 0 38 0 1147 0 +r 1151 0 39 0 107 0 +r 3200 0 2 0 507 0 +r 3200 0 3 0 1621 0 +r 1152 0 1 0 106 0 +r 1152 0 365 0 1150 0 +r 1152 0 38 0 1153 0 +r 1152 0 39 0 107 0 +r 3201 0 2 0 507 0 +r 3201 0 3 0 1625 0 +r 1153 0 2 0 94 0 +r 1153 0 3 0 3095 0 +r 1153 0 28 0 12 0 +r 1153 0 5 0 2534 0 +r 1153 0 7 0 1092 0 +r 1153 0 2911 0 1152 0 +r 3202 0 2 0 111 0 +r 3202 0 3 0 1633 0 +r 1154 0 1153 0 1156 0 +r 1154 0 1 0 1150 0 +r 1154 0 2947 0 1150 0 +r 1154 0 1147 0 1155 0 +r 3203 0 2 0 507 0 +r 3203 0 3 0 1639 0 +r 1155 0 1 0 16 0 l 0 +r 1155 0 3094 0 1154 0 +r 3204 0 2 0 507 0 +r 3204 0 3 0 1643 0 +r 1156 0 1 0 16 0 l 10000 +r 1156 0 3095 0 1154 0 +r 3205 0 2 0 111 0 +r 3205 0 3 0 1648 0 +r 1157 0 2 0 9 0 +r 1157 0 3 0 3096 0 +r 1157 0 28 0 1116 0 +r 1157 0 5 0 2587 0 +r 1157 0 29 0 1125 0 +r 1157 0 7 0 1092 0 +r 3206 0 2 0 507 0 +r 3206 0 3 0 1654 0 +r 1158 0 2 0 1118 0 +r 1158 0 3 0 3097 0 +r 1158 0 5 0 2602 0 +r 1158 0 7 0 1092 0 +r 1158 0 2911 0 1271 0 +r 3207 0 2 0 507 0 +r 3207 0 3 0 1658 0 +r 1159 0 4 0 1119 0 +r 1159 0 5 0 2582 0 +r 1159 0 7 0 1089 0 +r 3208 0 2 0 111 0 +r 3208 0 3 0 1664 0 +r 1160 0 4 0 1119 0 +r 1160 0 5 0 2604 0 +r 1160 0 7 0 1089 0 +r 3209 0 2 0 507 0 +r 3209 0 3 0 1670 0 +r 1161 0 2 0 94 0 +r 1161 0 3 0 3098 0 +r 1161 0 28 0 10 0 +r 1161 0 5 0 2574 0 +r 1161 0 7 0 1092 0 +r 1161 0 2911 0 1164 0 +r 3210 0 2 0 507 0 +r 3210 0 3 0 1674 0 +r 1162 0 2 0 94 0 +r 1162 0 3 0 3099 0 +r 1162 0 28 0 10 0 +r 1162 0 5 0 2535 0 +r 1162 0 7 0 1092 0 +r 1162 0 2911 0 1165 0 +r 3211 0 2 0 507 0 +r 3211 0 3 0 1678 0 +r 1163 0 104 0 1165 0 +r 1163 0 104 0 1164 0 +r 1163 0 4 0 1119 0 +r 1163 0 5 0 2506 0 +r 1163 0 7 0 1089 0 +r 3212 0 2 0 111 0 +r 3212 0 3 0 1684 0 +r 1164 0 1 0 106 0 +r 1164 0 365 0 1163 0 +r 1164 0 38 0 1161 0 +r 1164 0 39 0 107 0 +r 3213 0 2 0 507 0 +r 3213 0 3 0 1690 0 +r 1165 0 1 0 106 0 +r 1165 0 365 0 1163 0 +r 1165 0 38 0 1162 0 +r 1165 0 39 0 107 0 +r 3214 0 2 0 507 0 +r 3214 0 3 0 1694 0 +r 1166 0 2 0 110 0 +r 1166 0 3 0 3100 0 +r 1166 0 60 0 1141 0 +r 1166 0 60 0 1113 0 +r 1166 0 28 0 1138 0 +r 1166 0 5 0 2527 0 +r 1166 0 7 0 1092 0 +r 3215 0 2 0 507 0 +r 3215 0 3 0 1698 0 +r 1167 0 2 0 94 0 +r 1167 0 3 0 3101 0 +r 1167 0 28 0 10 0 +r 1167 0 5 0 2511 0 +r 1167 0 7 0 1092 0 +r 3216 0 2 0 111 0 +r 3216 0 3 0 1706 0 +r 1168 0 2 0 94 0 +r 1168 0 3 0 3102 0 +r 1168 0 60 0 1174 0 +r 1168 0 60 0 1173 0 +r 1168 0 60 0 1172 0 +r 1168 0 60 0 1171 0 +r 1168 0 60 0 1170 0 +r 1168 0 60 0 1169 0 +r 1168 0 28 0 12 0 +r 1168 0 5 0 2563 0 +r 1168 0 7 0 1092 0 +r 3217 0 2 0 507 0 +r 3217 0 3 0 1712 0 +r 1169 0 2 0 1168 0 +r 1169 0 3 0 3103 0 +r 1169 0 5 0 2577 0 +r 1169 0 7 0 1092 0 +r 1169 0 2911 0 1258 0 +r 1169 0 2911 0 1254 0 +r 1169 0 2911 0 1248 0 +r 1169 0 2911 0 1239 0 +r 1169 0 2911 0 1232 0 +r 1169 0 2911 0 1222 0 +r 3218 0 2 0 507 0 +r 3218 0 3 0 1716 0 +r 1170 0 2 0 1168 0 +r 1170 0 3 0 3104 0 +r 1170 0 5 0 2557 0 +r 1170 0 7 0 1092 0 +r 1170 0 2911 0 1259 0 +r 1170 0 2911 0 1255 0 +r 1170 0 2911 0 1251 0 +r 1170 0 2911 0 1249 0 +r 1170 0 2911 0 1246 0 +r 1170 0 2911 0 1240 0 +r 1170 0 2911 0 1233 0 +r 1170 0 2911 0 1227 0 +r 1170 0 2911 0 1223 0 +r 1170 0 2911 0 1217 0 +r 1170 0 2911 0 1207 0 +r 3219 0 2 0 111 0 +r 3219 0 3 0 1726 0 +r 1171 0 2 0 1168 0 +r 1171 0 3 0 3105 0 +r 1171 0 5 0 2545 0 +r 1171 0 7 0 1092 0 +r 1171 0 2911 0 1260 0 +r 1171 0 2911 0 1256 0 +r 1171 0 2911 0 1252 0 +r 1171 0 2911 0 1241 0 +r 1171 0 2911 0 1234 0 +r 1171 0 2911 0 1228 0 +r 3220 0 2 0 507 0 +r 3220 0 3 0 1732 0 +r 1172 0 2 0 1168 0 +r 1172 0 3 0 3106 0 +r 1172 0 5 0 2549 0 +r 1172 0 7 0 1092 0 +r 1172 0 2911 0 1242 0 +r 1172 0 2911 0 1235 0 +r 1172 0 2911 0 1224 0 +r 3221 0 2 0 111 0 +r 3221 0 3 0 1742 0 +r 1173 0 2 0 1168 0 +r 1173 0 3 0 3107 0 +r 1173 0 5 0 2536 0 +r 1173 0 7 0 1092 0 +r 1173 0 2911 0 1243 0 +r 1173 0 2911 0 1236 0 +r 1173 0 2911 0 1229 0 +r 1173 0 2911 0 1225 0 +r 1173 0 2911 0 1218 0 +r 3222 0 2 0 507 0 +r 3222 0 3 0 1748 0 +r 1174 0 2 0 1168 0 +r 1174 0 3 0 3108 0 +r 1174 0 5 0 2525 0 +r 1174 0 7 0 1092 0 +r 1174 0 2911 0 1244 0 +r 1174 0 2911 0 1237 0 +r 1174 0 2911 0 1230 0 +r 3223 0 2 0 111 0 +r 3223 0 3 0 1755 0 +r 1175 0 2 0 94 0 +r 1175 0 3 0 3109 0 +r 1175 0 28 0 14 0 +r 1175 0 5 0 2529 0 +r 1175 0 7 0 1092 0 +r 1175 0 2911 0 1219 0 +r 3224 0 2 0 507 0 +r 3224 0 3 0 1761 0 +r 1176 0 2 0 94 0 +r 1176 0 3 0 3110 0 +r 1176 0 28 0 12 0 +r 1176 0 5 0 2584 0 +r 1176 0 7 0 1092 0 +r 1176 0 2911 0 1180 0 +r 3225 0 2 0 111 0 +r 3225 0 3 0 1771 0 +r 1177 0 2 0 94 0 +r 1177 0 3 0 3111 0 +r 1177 0 28 0 12 0 +r 1177 0 5 0 2597 0 +r 1177 0 7 0 1092 0 +r 1177 0 2911 0 1181 0 +r 3226 0 2 0 507 0 +r 3226 0 3 0 1777 0 +r 1178 0 2 0 94 0 +r 1178 0 3 0 3112 0 +r 1178 0 28 0 12 0 +r 1178 0 5 0 2605 0 +r 1178 0 7 0 1092 0 +r 1178 0 2911 0 1182 0 +r 3227 0 2 0 111 0 +r 3227 0 3 0 1783 0 +r 1179 0 104 0 1182 0 +r 1179 0 104 0 1181 0 +r 1179 0 104 0 1180 0 +r 1179 0 2907 0 1183 0 +r 1179 0 4 0 25 0 +r 1179 0 5 0 2572 0 +r 1179 0 7 0 1089 0 +r 3228 0 2 0 507 0 +r 3228 0 3 0 1789 0 +r 1180 0 1 0 106 0 +r 1180 0 365 0 1179 0 +r 1180 0 38 0 1176 0 +r 1180 0 39 0 107 0 +r 3229 0 2 0 507 0 +r 3229 0 3 0 1793 0 +r 1181 0 1 0 106 0 +r 1181 0 365 0 1179 0 +r 1181 0 38 0 1177 0 +r 1181 0 39 0 107 0 +r 3230 0 2 0 507 0 +r 3230 0 3 0 1797 0 +r 1182 0 1 0 106 0 +r 1182 0 365 0 1179 0 +r 1182 0 38 0 1178 0 +r 1182 0 39 0 107 0 +r 3231 0 2 0 111 0 +r 3231 0 3 0 1806 0 +r 1183 0 2 0 94 0 +r 1183 0 3 0 3113 0 +r 1183 0 28 0 1179 0 +r 1183 0 28 0 11 0 +r 1183 0 5 0 2544 0 +r 1183 0 7 0 1092 0 +r 1183 0 2911 0 1311 0 +r 1183 0 2911 0 1202 0 +r 3232 0 2 0 507 0 +r 3232 0 3 0 1812 0 +r 1184 0 2 0 94 0 +r 1184 0 3 0 3114 0 +r 1184 0 28 0 14 0 +r 1184 0 5 0 2581 0 +r 1184 0 7 0 1092 0 +r 1184 0 2911 0 1203 0 +r 3233 0 2 0 507 0 +r 3233 0 3 0 1816 0 +r 1185 0 2 0 94 0 +r 1185 0 3 0 3115 0 +r 1185 0 28 0 14 0 +r 1185 0 5 0 2569 0 +r 1185 0 7 0 1092 0 +r 1185 0 2911 0 1220 0 +r 1185 0 2911 0 1204 0 +r 3234 0 2 0 507 0 +r 3234 0 3 0 1820 0 +r 1186 0 2 0 94 0 +r 1186 0 3 0 3116 0 +r 1186 0 28 0 14 0 +r 1186 0 5 0 2547 0 +r 1186 0 7 0 1092 0 +r 1186 0 2911 0 1205 0 +r 3235 0 2 0 111 0 +r 3235 0 3 0 1829 0 +r 1187 0 2 0 94 0 +r 1187 0 3 0 3117 0 +r 1187 0 28 0 11 0 +r 1187 0 5 0 2541 0 +r 1187 0 7 0 1092 0 +r 1187 0 2911 0 1206 0 +r 3236 0 2 0 507 0 +r 3236 0 3 0 1835 0 +r 1188 0 129 0 1272 0 +r 1188 0 4 0 25 0 +r 1188 0 5 0 2596 0 +r 1188 0 7 0 1089 0 +r 3237 0 2 0 507 0 +r 3237 0 3 0 1839 0 +r 1189 0 4 0 25 0 +r 1189 0 5 0 2504 0 +r 1189 0 7 0 1089 0 +r 3238 0 2 0 507 0 +r 3238 0 3 0 1843 0 +r 1190 0 4 0 1122 0 +r 1190 0 4 0 1120 0 +r 1190 0 5 0 1191 0 +r 1190 0 7 0 1089 0 +r 3239 0 2 0 111 0 +r 3239 0 3 0 1851 0 +r 1191 0 2904 0 1190 0 +r 1191 0 1 0 10 0 s Trend2D View +r 3240 0 2 0 507 0 +r 3240 0 3 0 1857 0 +r 1192 0 4 0 1122 0 +r 1192 0 4 0 1121 0 +r 1192 0 5 0 1193 0 +r 1192 0 7 0 1089 0 +r 3241 0 2 0 507 0 +r 3241 0 3 0 1861 0 +r 1193 0 2904 0 1192 0 +r 1193 0 1 0 10 0 s Curve2D View +r 3242 0 2 0 111 0 +r 3242 0 3 0 1865 0 +r 1194 0 4 0 1123 0 +r 1194 0 4 0 1120 0 +r 1194 0 5 0 1195 0 +r 1194 0 7 0 1089 0 +r 3243 0 2 0 507 0 +r 3243 0 3 0 1871 0 +r 1195 0 2904 0 1194 0 +r 1195 0 1 0 10 0 s Trend3D View +r 3244 0 2 0 111 0 +r 3244 0 3 0 1879 0 +r 1196 0 4 0 1123 0 +r 1196 0 4 0 1121 0 +r 1196 0 5 0 1197 0 +r 1196 0 7 0 1089 0 +r 3245 0 2 0 507 0 +r 3245 0 3 0 1885 0 +r 1197 0 2904 0 1196 0 +r 1197 0 1 0 10 0 s Surface3D View +r 3246 0 2 0 507 0 +r 3246 0 3 0 1889 0 +r 1198 0 4 0 1123 0 +r 1198 0 4 0 1121 0 +r 1198 0 5 0 1199 0 +r 1198 0 7 0 1089 0 +r 3247 0 2 0 111 0 +r 3247 0 3 0 1895 0 +r 1199 0 2904 0 1198 0 +r 1199 0 1 0 10 0 s Surface4D View +r 3248 0 2 0 507 0 +r 3248 0 3 0 1901 0 +r 1200 0 104 0 1207 0 +r 1200 0 104 0 1206 0 +r 1200 0 104 0 1205 0 +r 1200 0 104 0 1204 0 +r 1200 0 104 0 1203 0 +r 1200 0 104 0 1202 0 +r 1200 0 137 0 1131 0 +r 1200 0 4 0 1124 0 +r 1200 0 5 0 1201 0 +r 1200 0 7 0 1089 0 +r 3249 0 2 0 507 0 +r 3249 0 3 0 1905 0 +r 1201 0 2904 0 1200 0 +r 1201 0 1 0 10 0 s Trend2D Plot +r 3250 0 2 0 507 0 +r 3250 0 3 0 1909 0 +r 1202 0 1 0 106 0 +r 1202 0 365 0 1200 0 +r 1202 0 38 0 1183 0 +r 1202 0 39 0 107 0 +r 3251 0 2 0 111 0 +r 3251 0 3 0 1914 0 +r 1203 0 1 0 106 0 +r 1203 0 365 0 1200 0 +r 1203 0 38 0 1184 0 +r 1203 0 39 0 107 0 +r 3252 0 2 0 507 0 +r 3252 0 3 0 1920 0 +r 1204 0 1 0 106 0 +r 1204 0 365 0 1200 0 +r 1204 0 38 0 1185 0 +r 1204 0 39 0 107 0 +r 3253 0 2 0 507 0 +r 3253 0 3 0 1924 0 +r 1205 0 1 0 106 0 +r 1205 0 365 0 1200 0 +r 1205 0 38 0 1186 0 +r 1205 0 39 0 107 0 +r 3254 0 2 0 111 0 +r 3254 0 3 0 1933 0 +r 1206 0 1 0 106 0 +r 1206 0 365 0 1200 0 +r 1206 0 38 0 1187 0 +r 1206 0 39 0 107 0 +r 3255 0 2 0 507 0 +r 3255 0 3 0 1939 0 +r 1207 0 1 0 106 0 +r 1207 0 365 0 1200 0 +r 1207 0 38 0 1170 0 +r 1207 0 39 0 107 0 +r 3256 0 2 0 507 0 +r 3256 0 3 0 1943 0 +r 1208 0 4 0 1124 0 +r 1208 0 5 0 1209 0 +r 1208 0 7 0 1089 0 +r 3257 0 2 0 507 0 +r 3257 0 3 0 1947 0 +r 1209 0 2904 0 1208 0 +r 1209 0 1 0 10 0 s Curve2D Plot +r 3258 0 2 0 111 0 +r 3258 0 3 0 1959 0 +r 1210 0 4 0 1126 0 +r 1210 0 5 0 1211 0 +r 1210 0 7 0 1089 0 +r 3259 0 2 0 507 0 +r 3259 0 3 0 1965 0 +r 1211 0 2904 0 1210 0 +r 1211 0 1 0 10 0 s Trend3D Plot +r 3260 0 2 0 507 0 +r 3260 0 3 0 1969 0 +r 1212 0 4 0 1126 0 +r 1212 0 5 0 1213 0 +r 1212 0 7 0 1089 0 +r 3261 0 2 0 507 0 +r 3261 0 3 0 1973 0 +r 1213 0 2904 0 1212 0 +r 1213 0 1 0 10 0 s Surface3D Plot +r 3262 0 2 0 111 0 +r 3262 0 3 0 1981 0 +r 1214 0 4 0 1126 0 +r 1214 0 5 0 1215 0 +r 1214 0 7 0 1089 0 +r 3263 0 2 0 507 0 +r 3263 0 3 0 1987 0 +r 1215 0 2904 0 1214 0 +r 1215 0 1 0 10 0 s Surface4D Plot +r 3264 0 2 0 507 0 +r 3264 0 3 0 1991 0 +r 1216 0 104 0 1220 0 +r 1216 0 104 0 1219 0 +r 1216 0 104 0 1218 0 +r 1216 0 104 0 1217 0 +r 1216 0 4 0 1150 0 +r 1216 0 5 0 2591 0 +r 1216 0 7 0 1089 0 +r 3265 0 2 0 111 0 +r 3265 0 3 0 1996 0 +r 1217 0 1 0 106 0 +r 1217 0 365 0 1216 0 +r 1217 0 38 0 1170 0 +r 1217 0 39 0 107 0 +r 3266 0 2 0 507 0 +r 3266 0 3 0 2002 0 +r 1218 0 1 0 106 0 +r 1218 0 365 0 1216 0 +r 1218 0 38 0 1173 0 +r 1218 0 39 0 107 0 +r 3267 0 2 0 507 0 +r 3267 0 3 0 2006 0 +r 1219 0 1 0 106 0 +r 1219 0 365 0 1216 0 +r 1219 0 38 0 1175 0 +r 1219 0 39 0 107 0 +r 3268 0 2 0 111 0 +r 3268 0 3 0 2014 0 +r 1220 0 1 0 106 0 +r 1220 0 365 0 1216 0 +r 1220 0 38 0 1185 0 +r 1220 0 39 0 107 0 +r 3269 0 2 0 507 0 +r 3269 0 3 0 2020 0 +r 1221 0 104 0 1225 0 +r 1221 0 104 0 1224 0 +r 1221 0 104 0 1223 0 +r 1221 0 104 0 1222 0 +r 1221 0 4 0 1145 0 +r 1221 0 5 0 2539 0 +r 1221 0 7 0 1089 0 +r 3270 0 2 0 507 0 +r 3270 0 3 0 2024 0 +r 1222 0 1 0 106 0 +r 1222 0 365 0 1221 0 +r 1222 0 38 0 1169 0 +r 1222 0 39 0 107 0 +r 3271 0 2 0 507 0 +r 3271 0 3 0 2025 0 +r 1223 0 1 0 106 0 +r 1223 0 365 0 1221 0 +r 1223 0 38 0 1170 0 +r 1223 0 39 0 107 0 +r 3272 0 2 0 507 0 +r 3272 0 3 0 2026 0 +r 1224 0 1 0 106 0 +r 1224 0 365 0 1221 0 +r 1224 0 38 0 1172 0 +r 1224 0 39 0 107 0 +r 3273 0 2 0 507 0 +r 3273 0 3 0 2027 0 +r 1225 0 1 0 106 0 +r 1225 0 365 0 1221 0 +r 1225 0 38 0 1173 0 +r 1225 0 39 0 107 0 +r 3274 0 2 0 111 0 +r 3274 0 3 0 2033 0 +r 1226 0 104 0 1230 0 +r 1226 0 104 0 1229 0 +r 1226 0 104 0 1228 0 +r 1226 0 104 0 1227 0 +r 1226 0 4 0 1150 0 +r 1226 0 5 0 2531 0 +r 1226 0 7 0 1089 0 +r 3275 0 2 0 507 0 +r 3275 0 3 0 2039 0 +r 1227 0 1 0 106 0 +r 1227 0 365 0 1226 0 +r 1227 0 38 0 1170 0 +r 1227 0 39 0 107 0 +r 3276 0 2 0 507 0 +r 3276 0 3 0 2043 0 +r 1228 0 1 0 106 0 +r 1228 0 365 0 1226 0 +r 1228 0 38 0 1171 0 +r 1228 0 39 0 107 0 +r 3277 0 2 0 507 0 +r 3277 0 3 0 2047 0 +r 1229 0 1 0 106 0 +r 1229 0 365 0 1226 0 +r 1229 0 38 0 1173 0 +r 1229 0 39 0 107 0 +r 3278 0 2 0 184 0 +r 3278 0 3 0 2062 0 +r 1230 0 1 0 106 0 +r 1230 0 365 0 1226 0 +r 1230 0 38 0 1174 0 +r 1230 0 39 0 107 0 +r 3279 0 2 0 184 0 +r 3279 0 3 0 2064 0 +r 1231 0 104 0 1237 0 +r 1231 0 104 0 1236 0 +r 1231 0 104 0 1235 0 +r 1231 0 104 0 1234 0 +r 1231 0 104 0 1233 0 +r 1231 0 104 0 1232 0 +r 1231 0 4 0 1145 0 +r 1231 0 5 0 2560 0 +r 1231 0 7 0 1089 0 +r 3280 0 2 0 184 0 +r 3280 0 3 0 2071 0 +r 1232 0 1 0 106 0 +r 1232 0 365 0 1231 0 +r 1232 0 38 0 1169 0 +r 1232 0 39 0 107 0 +r 1233 0 1 0 106 0 +r 1233 0 365 0 1231 0 +r 1233 0 38 0 1170 0 +r 1233 0 39 0 107 0 +r 1234 0 1 0 106 0 +r 1234 0 365 0 1231 0 +r 1234 0 38 0 1171 0 +r 1234 0 39 0 107 0 +r 1235 0 1 0 106 0 +r 1235 0 365 0 1231 0 +r 1235 0 38 0 1172 0 +r 1235 0 39 0 107 0 +r 1236 0 1 0 106 0 +r 1236 0 365 0 1231 0 +r 1236 0 38 0 1173 0 +r 1236 0 39 0 107 0 +r 1237 0 1 0 106 0 +r 1237 0 365 0 1231 0 +r 1237 0 38 0 1174 0 +r 1237 0 39 0 107 0 +r 1238 0 104 0 1244 0 +r 1238 0 104 0 1243 0 +r 1238 0 104 0 1242 0 +r 1238 0 104 0 1241 0 +r 1238 0 104 0 1240 0 +r 1238 0 104 0 1239 0 +r 1238 0 4 0 1145 0 +r 1238 0 5 0 2607 0 +r 1238 0 7 0 1089 0 +r 1239 0 1 0 106 0 +r 1239 0 365 0 1238 0 +r 1239 0 38 0 1169 0 +r 1239 0 39 0 107 0 +r 1240 0 1 0 106 0 +r 1240 0 365 0 1238 0 +r 1240 0 38 0 1170 0 +r 1240 0 39 0 107 0 +r 1241 0 1 0 106 0 +r 1241 0 365 0 1238 0 +r 1241 0 38 0 1171 0 +r 1241 0 39 0 107 0 +r 1242 0 1 0 106 0 +r 1242 0 365 0 1238 0 +r 1242 0 38 0 1172 0 +r 1242 0 39 0 107 0 +r 1243 0 1 0 106 0 +r 1243 0 365 0 1238 0 +r 1243 0 38 0 1173 0 +r 1243 0 39 0 107 0 +r 1244 0 1 0 106 0 +r 1244 0 365 0 1238 0 +r 1244 0 38 0 1174 0 +r 1244 0 39 0 107 0 +r 1245 0 104 0 1246 0 +r 1245 0 4 0 1142 0 +r 1245 0 5 0 2514 0 +r 1245 0 7 0 1089 0 +r 1246 0 1 0 106 0 +r 1246 0 365 0 1245 0 +r 1246 0 38 0 1170 0 +r 1246 0 39 0 107 0 +r 1247 0 104 0 1249 0 +r 1247 0 104 0 1248 0 +r 1247 0 4 0 1142 0 +r 1247 0 5 0 2571 0 +r 1247 0 7 0 1089 0 +r 1248 0 1 0 106 0 +r 1248 0 365 0 1247 0 +r 1248 0 38 0 1169 0 +r 1248 0 39 0 107 0 +r 1249 0 1 0 106 0 +r 1249 0 365 0 1247 0 +r 1249 0 38 0 1170 0 +r 1249 0 39 0 107 0 +r 1250 0 104 0 1252 0 +r 1250 0 104 0 1251 0 +r 1250 0 4 0 1142 0 +r 1250 0 5 0 2559 0 +r 1250 0 7 0 1089 0 +r 1251 0 1 0 106 0 +r 1251 0 365 0 1250 0 +r 1251 0 38 0 1170 0 +r 1251 0 39 0 107 0 +r 1252 0 1 0 106 0 +r 1252 0 365 0 1250 0 +r 1252 0 38 0 1171 0 +r 1252 0 39 0 107 0 +r 1253 0 104 0 1256 0 +r 1253 0 104 0 1255 0 +r 1253 0 104 0 1254 0 +r 1253 0 4 0 1142 0 +r 1253 0 5 0 2590 0 +r 1253 0 7 0 1089 0 +r 1254 0 1 0 106 0 +r 1254 0 365 0 1253 0 +r 1254 0 38 0 1169 0 +r 1254 0 39 0 107 0 +r 1255 0 1 0 106 0 +r 1255 0 365 0 1253 0 +r 1255 0 38 0 1170 0 +r 1255 0 39 0 107 0 +r 1256 0 1 0 106 0 +r 1256 0 365 0 1253 0 +r 1256 0 38 0 1171 0 +r 1256 0 39 0 107 0 +r 1257 0 104 0 1260 0 +r 1257 0 104 0 1259 0 +r 1257 0 104 0 1258 0 +r 1257 0 4 0 1142 0 +r 1257 0 5 0 2530 0 +r 1257 0 7 0 1089 0 +r 1258 0 1 0 106 0 +r 1258 0 365 0 1257 0 +r 1258 0 38 0 1169 0 +r 1258 0 39 0 107 0 +r 1259 0 1 0 106 0 +r 1259 0 365 0 1257 0 +r 1259 0 38 0 1170 0 +r 1259 0 39 0 107 0 +r 1260 0 1 0 106 0 +r 1260 0 365 0 1257 0 +r 1260 0 38 0 1171 0 +r 1260 0 39 0 107 0 +r 1261 0 4 0 1134 0 +r 1261 0 5 0 1262 0 +r 1261 0 7 0 1089 0 +r 1262 0 2904 0 1261 0 +r 1262 0 1 0 10 0 s Trend2D Point +r 1263 0 4 0 1127 0 +r 1263 0 5 0 1264 0 +r 1263 0 7 0 1089 0 +r 1264 0 2904 0 1263 0 +r 1264 0 1 0 10 0 s Curve2D Point +r 1265 0 4 0 1116 0 +r 1265 0 5 0 1266 0 +r 1265 0 7 0 1089 0 +r 1266 0 2904 0 1265 0 +r 1266 0 1 0 10 0 s Trend3D Point +r 1267 0 4 0 1134 0 +r 1267 0 5 0 1268 0 +r 1267 0 7 0 1089 0 +r 1268 0 2904 0 1267 0 +r 1268 0 1 0 10 0 s Surface3D Point +r 1269 0 104 0 1271 0 +r 1269 0 4 0 1134 0 +r 1269 0 5 0 1270 0 +r 1269 0 7 0 1089 0 +r 1270 0 2904 0 1269 0 +r 1270 0 1 0 10 0 s Surface4D Point +r 1271 0 1 0 106 0 +r 1271 0 365 0 1269 0 +r 1271 0 38 0 1158 0 +r 1271 0 39 0 225 0 +r 1272 0 104 0 1275 0 +r 1272 0 104 0 1273 0 +r 1272 0 249 0 1277 0 +r 1272 0 59 0 1277 0 +r 1272 0 4 0 1188 0 +r 1272 0 5 0 2578 0 +r 1272 0 7 0 1089 0 +r 1273 0 1 0 106 0 +r 1273 0 365 0 1272 0 +r 1273 0 38 0 1274 0 +r 1273 0 39 0 107 0 +r 1274 0 2 0 94 0 +r 1274 0 3 0 3118 0 +r 1274 0 28 0 14 0 +r 1274 0 5 0 2524 0 +r 1274 0 7 0 1092 0 +r 1274 0 2911 0 1273 0 +r 1275 0 1 0 106 0 +r 1275 0 365 0 1272 0 +r 1275 0 38 0 1276 0 +r 1275 0 39 0 107 0 +r 1276 0 2 0 94 0 +r 1276 0 3 0 3119 0 +r 1276 0 28 0 14 0 +r 1276 0 5 0 2510 0 +r 1276 0 7 0 1092 0 +r 1276 0 2911 0 1275 0 +r 1277 0 1 0 1272 0 +r 1277 0 1274 0 1278 0 +r 1277 0 2947 0 1272 0 +r 1277 0 1276 0 1279 0 +r 1278 0 1 0 14 0 b True +r 1278 0 3118 0 1277 0 +r 1279 0 1 0 14 0 b True +r 1279 0 3119 0 1277 0 +r 1280 0 2 0 94 0 +r 1280 0 3 0 3120 0 +r 1280 0 28 0 16 0 +r 1280 0 5 0 2595 0 +r 1280 0 7 0 1092 0 +r 1280 0 2911 0 1285 0 +r 1281 0 2 0 94 0 +r 1281 0 3 0 3121 0 +r 1281 0 28 0 12 0 +r 1281 0 5 0 2533 0 +r 1281 0 7 0 1092 0 +r 1281 0 2911 0 1286 0 +r 1282 0 2 0 94 0 +r 1282 0 3 0 3122 0 +r 1282 0 28 0 12 0 +r 1282 0 5 0 2540 0 +r 1282 0 7 0 1092 0 +r 1282 0 2911 0 1287 0 +r 1283 0 2 0 94 0 +r 1283 0 3 0 3123 0 +r 1283 0 28 0 12 0 +r 1283 0 5 0 2519 0 +r 1283 0 7 0 1092 0 +r 1283 0 2911 0 1294 0 +r 1284 0 104 0 1287 0 +r 1284 0 104 0 1286 0 +r 1284 0 104 0 1285 0 +r 1284 0 129 0 1293 0 +r 1284 0 129 0 1292 0 +r 1284 0 249 0 1288 0 +r 1284 0 59 0 1288 0 +r 1284 0 4 0 1119 0 +r 1284 0 5 0 2566 0 +r 1284 0 7 0 1089 0 +r 1285 0 1 0 106 0 +r 1285 0 365 0 1284 0 +r 1285 0 38 0 1280 0 +r 1285 0 39 0 107 0 +r 1286 0 1 0 106 0 +r 1286 0 365 0 1284 0 +r 1286 0 38 0 1281 0 +r 1286 0 39 0 107 0 +r 1287 0 1 0 106 0 +r 1287 0 365 0 1284 0 +r 1287 0 38 0 1282 0 +r 1287 0 39 0 107 0 +r 1288 0 1280 0 1289 0 +r 1288 0 1281 0 1290 0 +r 1288 0 1 0 1284 0 +r 1288 0 1282 0 1291 0 +r 1288 0 2947 0 1284 0 +r 1289 0 3120 0 1288 0 +r 1289 0 1 0 12 0 d 1.0 +r 1290 0 3121 0 1288 0 +r 1290 0 1 0 12 0 d 1.0 +r 1291 0 1 0 12 0 d 1.0 +r 1291 0 3122 0 1288 0 +r 1292 0 4 0 1284 0 +r 1292 0 5 0 2517 0 +r 1292 0 7 0 1089 0 +r 1293 0 104 0 1294 0 +r 1293 0 4 0 1284 0 +r 1293 0 5 0 2528 0 +r 1293 0 7 0 1089 0 +r 1294 0 1 0 106 0 +r 1294 0 365 0 1293 0 +r 1294 0 38 0 1283 0 +r 1294 0 39 0 107 0 +r 1295 0 129 0 1298 0 +r 1295 0 129 0 1296 0 +r 1295 0 145 0 1295 0 +r 1295 0 2907 0 1297 0 +r 1295 0 4 0 25 0 +r 1295 0 5 0 2600 0 +r 1295 0 7 0 1089 0 +r 1296 0 104 0 1297 0 +r 1296 0 4 0 1295 0 +r 1296 0 5 0 2558 0 +r 1296 0 7 0 1089 0 +r 1297 0 1 0 106 0 +r 1297 0 28 0 1295 0 +r 1297 0 365 0 1296 0 +r 1297 0 38 0 9 0 +r 1298 0 104 0 1303 0 +r 1298 0 104 0 1301 0 +r 1298 0 104 0 1300 0 +r 1298 0 104 0 1299 0 +r 1298 0 4 0 1295 0 +r 1298 0 5 0 2554 0 +r 1298 0 7 0 1089 0 +r 1299 0 1 0 106 0 +r 1299 0 365 0 1298 0 +r 1299 0 38 0 5 0 +r 1299 0 39 0 107 0 +r 1300 0 1 0 106 0 +r 1300 0 365 0 1298 0 +r 1300 0 38 0 9 0 +r 1301 0 1 0 106 0 +r 1301 0 365 0 1298 0 +r 1301 0 38 0 1302 0 +r 1301 0 39 0 107 0 +r 1302 0 2 0 94 0 +r 1302 0 3 0 3124 0 +r 1302 0 28 0 1318 0 +r 1302 0 5 0 2564 0 +r 1302 0 7 0 1092 0 +r 1302 0 2911 0 1301 0 +r 1303 0 1 0 106 0 +r 1303 0 365 0 1298 0 +r 1303 0 38 0 1304 0 +r 1303 0 39 0 107 0 +r 1304 0 2 0 94 0 +r 1304 0 3 0 3125 0 +r 1304 0 28 0 1322 0 +r 1304 0 5 0 2599 0 +r 1304 0 7 0 1092 0 +r 1304 0 2911 0 1303 0 +r 1305 0 1 0 106 0 +r 1305 0 365 0 1125 0 +r 1305 0 38 0 5 0 +r 1305 0 39 0 225 0 +r 1306 0 1 0 106 0 +r 1306 0 365 0 1125 0 +r 1306 0 38 0 1086 0 +r 1306 0 39 0 107 0 +r 1307 0 1 0 106 0 +r 1307 0 365 0 1125 0 +r 1307 0 38 0 1308 0 +r 1307 0 39 0 107 0 +r 1308 0 2 0 94 0 +r 1308 0 3 0 3126 0 +r 1308 0 28 0 1331 0 +r 1308 0 5 0 2594 0 +r 1308 0 7 0 1092 0 +r 1308 0 2911 0 1307 0 +r 1309 0 1 0 106 0 +r 1309 0 365 0 1125 0 +r 1309 0 38 0 1310 0 +r 1309 0 39 0 107 0 +r 1310 0 2 0 94 0 +r 1310 0 3 0 3127 0 +r 1310 0 28 0 1326 0 +r 1310 0 5 0 2522 0 +r 1310 0 7 0 1092 0 +r 1310 0 2911 0 1309 0 +r 1311 0 1 0 106 0 +r 1311 0 365 0 1125 0 +r 1311 0 38 0 1183 0 +r 1311 0 39 0 225 0 +r 1312 0 2 0 94 0 +r 1312 0 3 0 3128 0 +r 1312 0 28 0 1313 0 +r 1312 0 5 0 2611 0 +r 1312 0 7 0 1092 0 +r 1313 0 104 0 1316 0 +r 1313 0 104 0 1314 0 +r 1313 0 2907 0 1312 0 +r 1313 0 4 0 25 0 +r 1313 0 5 0 2588 0 +r 1313 0 7 0 1089 0 +r 1314 0 1 0 106 0 +r 1314 0 365 0 1313 0 +r 1314 0 38 0 1315 0 +r 1314 0 39 0 107 0 +r 1315 0 2 0 94 0 +r 1315 0 3 0 3129 0 +r 1315 0 28 0 12 0 +r 1315 0 5 0 2502 0 +r 1315 0 7 0 1092 0 +r 1315 0 2911 0 1314 0 +r 1316 0 1 0 106 0 +r 1316 0 365 0 1313 0 +r 1316 0 38 0 1317 0 +r 1316 0 39 0 107 0 +r 1317 0 2 0 94 0 +r 1317 0 3 0 3130 0 +r 1317 0 28 0 12 0 +r 1317 0 5 0 2579 0 +r 1317 0 7 0 1092 0 +r 1317 0 2911 0 1316 0 +r 1318 0 9 0 1321 0 +r 1318 0 9 0 1320 0 +r 1318 0 26 0 1318 0 +r 1318 0 2907 0 1302 0 +r 1318 0 59 0 1321 0 +r 1318 0 59 0 1320 0 +r 1318 0 4 0 24 0 +r 1318 0 5 0 2546 0 +r 1318 0 78 0 1319 0 +r 1318 0 7 0 1089 0 +r 1319 0 1 0 10 0 s Setting how time is shown on UI +r 1319 0 2923 0 1318 0 +r 1320 0 1 0 1318 0 +r 1320 0 5 0 2521 0 +r 1320 0 7 0 1318 0 +r 1321 0 1 0 1318 0 +r 1321 0 5 0 2576 0 +r 1321 0 7 0 1318 0 +r 1322 0 9 0 1325 0 +r 1322 0 9 0 1324 0 +r 1322 0 26 0 1322 0 +r 1322 0 2907 0 1304 0 +r 1322 0 59 0 1325 0 +r 1322 0 59 0 1324 0 +r 1322 0 4 0 24 0 +r 1322 0 5 0 2555 0 +r 1322 0 78 0 1323 0 +r 1322 0 7 0 1089 0 +r 1323 0 1 0 10 0 s Setting how Y-Axis is shown between plots +r 1323 0 2923 0 1322 0 +r 1324 0 1 0 1322 0 +r 1324 0 5 0 2592 0 +r 1324 0 7 0 1322 0 +r 1325 0 1 0 1322 0 +r 1325 0 5 0 2601 0 +r 1325 0 7 0 1322 0 +r 1326 0 9 0 1330 0 +r 1326 0 9 0 1329 0 +r 1326 0 9 0 1328 0 +r 1326 0 26 0 1326 0 +r 1326 0 2907 0 1310 0 +r 1326 0 59 0 1330 0 +r 1326 0 59 0 1329 0 +r 1326 0 59 0 1328 0 +r 1326 0 4 0 24 0 +r 1326 0 5 0 2583 0 +r 1326 0 78 0 1327 0 +r 1326 0 7 0 1089 0 +r 1327 0 1 0 10 0 s The mode how a plot is scaled to the viewport +r 1327 0 2923 0 1326 0 +r 1328 0 1 0 1326 0 +r 1328 0 5 0 2610 0 +r 1328 0 7 0 1326 0 +r 1329 0 1 0 1326 0 +r 1329 0 5 0 2508 0 +r 1329 0 7 0 1326 0 +r 1330 0 1 0 1331 0 +r 1330 0 1 0 1326 0 +r 1330 0 5 0 2567 0 +r 1330 0 7 0 1331 0 +r 1330 0 7 0 1326 0 +r 1331 0 9 0 1334 0 +r 1331 0 9 0 1333 0 +r 1331 0 9 0 1330 0 +r 1331 0 26 0 1331 0 +r 1331 0 2907 0 1308 0 +r 1331 0 59 0 1334 0 +r 1331 0 59 0 1333 0 +r 1331 0 59 0 1330 0 +r 1331 0 4 0 24 0 +r 1331 0 5 0 2575 0 +r 1331 0 78 0 1332 0 +r 1331 0 7 0 1089 0 +r 1332 0 1 0 10 0 s The mode how the line is drawn between the dots +r 1332 0 2923 0 1331 0 +r 1333 0 1 0 1331 0 +r 1333 0 5 0 2609 0 +r 1333 0 7 0 1331 0 +r 1334 0 1 0 1331 0 +r 1334 0 5 0 2520 0 +r 1334 0 7 0 1331 0 +r 1335 0 2 0 94 0 +r 1335 0 3 0 3131 0 +r 1335 0 28 0 1336 0 +r 1335 0 5 0 2542 0 +r 1335 0 7 0 1092 0 +r 1336 0 129 0 1342 0 +r 1336 0 129 0 1339 0 +r 1336 0 129 0 1338 0 +r 1336 0 145 0 1336 0 +r 1336 0 2907 0 1335 0 +r 1336 0 4 0 24 0 +r 1336 0 5 0 2518 0 +r 1336 0 78 0 1337 0 +r 1336 0 7 0 1089 0 +r 1337 0 1 0 10 0 s The mode how grid lines are drawn +r 1337 0 2923 0 1336 0 +r 1338 0 4 0 1336 0 +r 1338 0 5 0 2537 0 +r 1338 0 7 0 1089 0 +r 1339 0 104 0 1340 0 +r 1339 0 4 0 1336 0 +r 1339 0 5 0 2561 0 +r 1339 0 7 0 1089 0 +r 1340 0 1 0 106 0 +r 1340 0 365 0 1339 0 +r 1340 0 38 0 1341 0 +r 1340 0 39 0 107 0 +r 1341 0 2 0 94 0 +r 1341 0 3 0 3132 0 +r 1341 0 28 0 12 0 +r 1341 0 5 0 2603 0 +r 1341 0 7 0 1092 0 +r 1341 0 2911 0 1340 0 +r 1342 0 104 0 1345 0 +r 1342 0 104 0 1343 0 +r 1342 0 4 0 1336 0 +r 1342 0 5 0 2598 0 +r 1342 0 7 0 1089 0 +r 1343 0 1 0 106 0 +r 1343 0 365 0 1342 0 +r 1343 0 38 0 1344 0 +r 1343 0 39 0 107 0 +r 1344 0 2 0 94 0 +r 1344 0 3 0 3133 0 +r 1344 0 28 0 12 0 +r 1344 0 5 0 2562 0 +r 1344 0 7 0 1092 0 +r 1344 0 2911 0 1343 0 +r 1345 0 1 0 106 0 +r 1345 0 365 0 1342 0 +r 1345 0 38 0 1346 0 +r 1345 0 39 0 107 0 +r 1346 0 2 0 94 0 +r 1346 0 3 0 3134 0 +r 1346 0 28 0 12 0 +r 1346 0 5 0 2568 0 +r 1346 0 7 0 1092 0 +r 1346 0 2911 0 1345 0 +r 1347 0 9 0 2028 0 +r 1347 0 9 0 2027 0 +r 1347 0 9 0 2026 0 +r 1347 0 9 0 2025 0 +r 1347 0 9 0 2013 0 +r 1347 0 9 0 2007 0 +r 1347 0 9 0 1992 0 +r 1347 0 9 0 1974 0 +r 1347 0 9 0 1948 0 +r 1347 0 9 0 1925 0 +r 1347 0 9 0 1910 0 +r 1347 0 9 0 1890 0 +r 1347 0 9 0 1872 0 +r 1347 0 9 0 1862 0 +r 1347 0 9 0 1844 0 +r 1347 0 9 0 1821 0 +r 1347 0 9 0 1798 0 +r 1347 0 9 0 1778 0 +r 1347 0 9 0 1762 0 +r 1347 0 9 0 1749 0 +r 1347 0 9 0 1733 0 +r 1347 0 9 0 1725 0 +r 1347 0 9 0 1717 0 +r 1347 0 9 0 1699 0 +r 1347 0 9 0 1679 0 +r 1347 0 9 0 1659 0 +r 1347 0 9 0 1644 0 +r 1347 0 9 0 1626 0 +r 1347 0 9 0 1603 0 +r 1347 0 9 0 1580 0 +r 1347 0 9 0 1560 0 +r 1347 0 9 0 1540 0 +r 1347 0 9 0 1520 0 +r 1347 0 9 0 1500 0 +r 1347 0 9 0 1480 0 +r 1347 0 9 0 1460 0 +r 1347 0 9 0 1425 0 +r 1347 0 9 0 1400 0 +r 1347 0 9 0 1387 0 +r 1347 0 9 0 1386 0 +r 1347 0 9 0 1385 0 +r 1347 0 9 0 1384 0 +r 1347 0 9 0 1383 0 +r 1347 0 9 0 1382 0 +r 1347 0 9 0 1381 0 +r 1347 0 9 0 1380 0 +r 1347 0 9 0 1379 0 +r 1347 0 9 0 1378 0 +r 1347 0 9 0 1376 0 +r 1347 0 9 0 1375 0 +r 1347 0 9 0 1373 0 +r 1347 0 9 0 1372 0 +r 1347 0 9 0 1371 0 +r 1347 0 9 0 1370 0 +r 1347 0 9 0 1369 0 +r 1347 0 9 0 1368 0 +r 1347 0 9 0 1366 0 +r 1347 0 9 0 1365 0 +r 1347 0 9 0 1364 0 +r 1347 0 9 0 1363 0 +r 1347 0 9 0 1359 0 +r 1347 0 9 0 1358 0 +r 1347 0 9 0 1354 0 +r 1347 0 9 0 1353 0 +r 1347 0 97 0 1350 0 +r 1347 0 1 0 69 0 +r 1347 0 5 0 1348 0 +r 1347 0 6 0 1349 0 +r 1347 0 2919 0 1351 0 +r 1347 0 7 0 89 0 +r 1347 0 7 0 77 0 +r 1348 0 2904 0 1347 0 +r 1348 0 1 0 10 0 s Devs-1.0 +r 1349 0 2905 0 1347 0 +r 1349 0 1 0 88 0 s http://www.simantics.org/Devs +r 1350 0 1 0 99 0 s 1.0 +r 1350 0 2926 0 1347 0 +r 1351 0 65 0 1347 0 +r 1351 0 1 0 62 0 +r 1351 0 5 0 2711 0 +r 1351 0 6 0 1352 0 +r 1351 0 7 0 85 0 +r 1352 0 2905 0 1351 0 +r 1352 0 1 0 88 0 s http://www.simantics.org/Devs +r 1353 0 1 0 408 0 +r 1353 0 394 0 1355 0 +r 1353 0 388 0 1354 0 +r 1353 0 5 0 2753 0 +r 1353 0 7 0 1347 0 +r 1353 0 7 0 374 0 +r 1354 0 192 0 1356 0 +r 1354 0 1 0 381 0 +r 1354 0 388 0 1020 0 +r 1354 0 388 0 402 0 +r 1354 0 5 0 2750 0 +r 1354 0 389 0 1353 0 +r 1354 0 390 0 1020 0 +r 1354 0 78 0 1357 0 +r 1354 0 7 0 1347 0 +r 1355 0 1 0 88 0 s http://www.simantics.org/Devs +r 1355 0 2970 0 1353 0 +r 1356 0 1 0 10 0 s Devs Model Manager +r 1356 0 2935 0 1354 0 +r 1357 0 1 0 10 0 s Devs Model Manager. +r 1357 0 2923 0 1354 0 +r 1358 0 4 0 427 0 +r 1358 0 5 0 2698 0 +r 1358 0 7 0 1347 0 +r 1359 0 474 0 1360 0 +r 1359 0 59 0 2044 0 +r 1359 0 59 0 2040 0 +r 1359 0 59 0 2036 0 +r 1359 0 59 0 2021 0 +r 1359 0 59 0 2017 0 +r 1359 0 59 0 2003 0 +r 1359 0 59 0 1999 0 +r 1359 0 59 0 1988 0 +r 1359 0 59 0 1984 0 +r 1359 0 59 0 1970 0 +r 1359 0 59 0 1966 0 +r 1359 0 59 0 1962 0 +r 1359 0 59 0 1944 0 +r 1359 0 59 0 1940 0 +r 1359 0 59 0 1936 0 +r 1359 0 59 0 1921 0 +r 1359 0 59 0 1917 0 +r 1359 0 59 0 1906 0 +r 1359 0 59 0 1902 0 +r 1359 0 59 0 1898 0 +r 1359 0 59 0 1886 0 +r 1359 0 59 0 1882 0 +r 1359 0 59 0 1868 0 +r 1359 0 59 0 1858 0 +r 1359 0 59 0 1854 0 +r 1359 0 59 0 1840 0 +r 1359 0 59 0 1836 0 +r 1359 0 59 0 1832 0 +r 1359 0 59 0 1817 0 +r 1359 0 59 0 1813 0 +r 1359 0 59 0 1809 0 +r 1359 0 59 0 1794 0 +r 1359 0 59 0 1790 0 +r 1359 0 59 0 1786 0 +r 1359 0 59 0 1774 0 +r 1359 0 59 0 1758 0 +r 1359 0 59 0 1745 0 +r 1359 0 59 0 1729 0 +r 1359 0 59 0 1713 0 +r 1359 0 59 0 1709 0 +r 1359 0 59 0 1695 0 +r 1359 0 59 0 1691 0 +r 1359 0 59 0 1687 0 +r 1359 0 59 0 1675 0 +r 1359 0 59 0 1671 0 +r 1359 0 59 0 1667 0 +r 1359 0 59 0 1655 0 +r 1359 0 59 0 1651 0 +r 1359 0 59 0 1640 0 +r 1359 0 59 0 1636 0 +r 1359 0 59 0 1622 0 +r 1359 0 59 0 1618 0 +r 1359 0 59 0 1614 0 +r 1359 0 59 0 1599 0 +r 1359 0 59 0 1595 0 +r 1359 0 59 0 1591 0 +r 1359 0 59 0 1576 0 +r 1359 0 59 0 1572 0 +r 1359 0 59 0 1568 0 +r 1359 0 59 0 1556 0 +r 1359 0 59 0 1552 0 +r 1359 0 59 0 1548 0 +r 1359 0 59 0 1536 0 +r 1359 0 59 0 1532 0 +r 1359 0 59 0 1528 0 +r 1359 0 59 0 1516 0 +r 1359 0 59 0 1512 0 +r 1359 0 59 0 1508 0 +r 1359 0 59 0 1496 0 +r 1359 0 59 0 1492 0 +r 1359 0 59 0 1488 0 +r 1359 0 59 0 1476 0 +r 1359 0 59 0 1472 0 +r 1359 0 59 0 1468 0 +r 1359 0 59 0 1456 0 +r 1359 0 59 0 1452 0 +r 1359 0 59 0 1448 0 +r 1359 0 59 0 1444 0 +r 1359 0 59 0 1440 0 +r 1359 0 59 0 1436 0 +r 1359 0 59 0 1421 0 +r 1359 0 59 0 1417 0 +r 1359 0 59 0 1413 0 +r 1359 0 59 0 1409 0 +r 1359 0 59 0 1396 0 +r 1359 0 4 0 912 0 +r 1359 0 4 0 909 0 +r 1359 0 5 0 2705 0 +r 1359 0 7 0 1347 0 +r 1360 0 1360 0 1361 0 +r 1360 0 1 0 903 0 +r 1360 0 2 0 110 0 +r 1360 0 3 0 3135 0 +r 1360 0 476 0 1359 0 +r 1360 0 3135 0 1361 0 +r 1361 0 1360 0 1360 0 +r 1361 0 1 0 913 0 +r 1361 0 661 0 1362 0 +r 1361 0 3135 0 1360 0 +r 1362 0 1 0 10 0 s +r 1362 0 3019 0 1361 0 +r 1363 0 2 0 507 0 +r 1363 0 3 0 3136 0 +r 1363 0 5 0 2735 0 +r 1363 0 7 0 1347 0 +r 1364 0 1040 0 1420 0 +r 1364 0 488 0 1403 0 +r 1364 0 2 0 507 0 +r 1364 0 3 0 3137 0 +r 1364 0 5 0 2692 0 +r 1364 0 7 0 1347 0 +r 1365 0 1040 0 1598 0 +r 1365 0 488 0 1581 0 +r 1365 0 2 0 507 0 +r 1365 0 3 0 3138 0 +r 1365 0 5 0 2761 0 +r 1365 0 7 0 1347 0 +r 1366 0 1040 0 2020 0 +r 1366 0 1040 0 2002 0 +r 1366 0 1040 0 1987 0 +r 1366 0 1040 0 1920 0 +r 1366 0 1040 0 1885 0 +r 1366 0 1040 0 1857 0 +r 1366 0 1040 0 1777 0 +r 1366 0 1040 0 1761 0 +r 1366 0 1040 0 1748 0 +r 1366 0 1040 0 1732 0 +r 1366 0 1040 0 1712 0 +r 1366 0 1040 0 1690 0 +r 1366 0 1040 0 1654 0 +r 1366 0 1040 0 1639 0 +r 1366 0 1040 0 1594 0 +r 1366 0 488 0 2008 0 +r 1366 0 488 0 1993 0 +r 1366 0 488 0 1975 0 +r 1366 0 488 0 1911 0 +r 1366 0 488 0 1873 0 +r 1366 0 488 0 1845 0 +r 1366 0 488 0 1763 0 +r 1366 0 488 0 1750 0 +r 1366 0 488 0 1734 0 +r 1366 0 488 0 1718 0 +r 1366 0 488 0 1700 0 +r 1366 0 488 0 1680 0 +r 1366 0 488 0 1645 0 +r 1366 0 488 0 1627 0 +r 1366 0 488 0 1582 0 +r 1366 0 2 0 507 0 +r 1366 0 3 0 1367 0 +r 1366 0 5 0 2673 0 +r 1366 0 7 0 1347 0 +r 1367 0 2 0 507 0 +r 1367 0 3 0 1366 0 +r 1367 0 5 0 2767 0 +r 1368 0 1040 0 1965 0 +r 1368 0 1040 0 1939 0 +r 1368 0 1040 0 1901 0 +r 1368 0 1040 0 1835 0 +r 1368 0 1040 0 1812 0 +r 1368 0 1040 0 1789 0 +r 1368 0 1040 0 1670 0 +r 1368 0 1040 0 1617 0 +r 1368 0 1040 0 1571 0 +r 1368 0 1040 0 1551 0 +r 1368 0 1040 0 1531 0 +r 1368 0 1040 0 1511 0 +r 1368 0 1040 0 1491 0 +r 1368 0 1040 0 1471 0 +r 1368 0 1040 0 1439 0 +r 1368 0 1040 0 1412 0 +r 1368 0 488 0 1949 0 +r 1368 0 488 0 1926 0 +r 1368 0 488 0 1891 0 +r 1368 0 488 0 1822 0 +r 1368 0 488 0 1799 0 +r 1368 0 488 0 1779 0 +r 1368 0 488 0 1660 0 +r 1368 0 488 0 1604 0 +r 1368 0 488 0 1561 0 +r 1368 0 488 0 1541 0 +r 1368 0 488 0 1521 0 +r 1368 0 488 0 1501 0 +r 1368 0 488 0 1481 0 +r 1368 0 488 0 1461 0 +r 1368 0 488 0 1426 0 +r 1368 0 488 0 1401 0 +r 1368 0 2 0 507 0 +r 1368 0 3 0 3139 0 +r 1368 0 5 0 2743 0 +r 1368 0 7 0 1347 0 +r 1369 0 1040 0 1969 0 +r 1369 0 1040 0 1943 0 +r 1369 0 1040 0 1905 0 +r 1369 0 1040 0 1839 0 +r 1369 0 1040 0 1816 0 +r 1369 0 1040 0 1793 0 +r 1369 0 1040 0 1674 0 +r 1369 0 1040 0 1621 0 +r 1369 0 1040 0 1575 0 +r 1369 0 1040 0 1555 0 +r 1369 0 1040 0 1535 0 +r 1369 0 1040 0 1515 0 +r 1369 0 1040 0 1495 0 +r 1369 0 1040 0 1475 0 +r 1369 0 1040 0 1443 0 +r 1369 0 1040 0 1416 0 +r 1369 0 488 0 1950 0 +r 1369 0 488 0 1927 0 +r 1369 0 488 0 1892 0 +r 1369 0 488 0 1823 0 +r 1369 0 488 0 1800 0 +r 1369 0 488 0 1780 0 +r 1369 0 488 0 1661 0 +r 1369 0 488 0 1605 0 +r 1369 0 488 0 1562 0 +r 1369 0 488 0 1542 0 +r 1369 0 488 0 1522 0 +r 1369 0 488 0 1502 0 +r 1369 0 488 0 1482 0 +r 1369 0 488 0 1462 0 +r 1369 0 488 0 1427 0 +r 1369 0 488 0 1402 0 +r 1369 0 2 0 507 0 +r 1369 0 3 0 3140 0 +r 1369 0 5 0 2744 0 +r 1369 0 7 0 1347 0 +r 1370 0 1040 0 1447 0 +r 1370 0 488 0 1428 0 +r 1370 0 2 0 507 0 +r 1370 0 3 0 3141 0 +r 1370 0 5 0 2746 0 +r 1370 0 7 0 1347 0 +r 1371 0 1040 0 1451 0 +r 1371 0 488 0 1429 0 +r 1371 0 2 0 507 0 +r 1371 0 3 0 3142 0 +r 1371 0 5 0 2747 0 +r 1371 0 7 0 1347 0 +r 1372 0 1040 0 1455 0 +r 1372 0 488 0 1430 0 +r 1372 0 2 0 507 0 +r 1372 0 3 0 3143 0 +r 1372 0 5 0 2749 0 +r 1372 0 7 0 1347 0 +r 1373 0 1040 0 2024 0 +r 1373 0 1040 0 2006 0 +r 1373 0 1040 0 1991 0 +r 1373 0 1040 0 1973 0 +r 1373 0 1040 0 1947 0 +r 1373 0 1040 0 1924 0 +r 1373 0 1040 0 1909 0 +r 1373 0 1040 0 1889 0 +r 1373 0 1040 0 1871 0 +r 1373 0 1040 0 1861 0 +r 1373 0 1040 0 1843 0 +r 1373 0 1040 0 1820 0 +r 1373 0 1040 0 1797 0 +r 1373 0 1040 0 1716 0 +r 1373 0 1040 0 1678 0 +r 1373 0 1040 0 1658 0 +r 1373 0 1040 0 1643 0 +r 1373 0 1040 0 1625 0 +r 1373 0 1040 0 1602 0 +r 1373 0 1040 0 1579 0 +r 1373 0 1040 0 1559 0 +r 1373 0 1040 0 1539 0 +r 1373 0 1040 0 1519 0 +r 1373 0 1040 0 1499 0 +r 1373 0 1040 0 1479 0 +r 1373 0 1040 0 1459 0 +r 1373 0 1040 0 1424 0 +r 1373 0 1040 0 1399 0 +r 1373 0 488 0 2009 0 +r 1373 0 488 0 1994 0 +r 1373 0 488 0 1976 0 +r 1373 0 488 0 1951 0 +r 1373 0 488 0 1928 0 +r 1373 0 488 0 1912 0 +r 1373 0 488 0 1893 0 +r 1373 0 488 0 1874 0 +r 1373 0 488 0 1863 0 +r 1373 0 488 0 1846 0 +r 1373 0 488 0 1824 0 +r 1373 0 488 0 1801 0 +r 1373 0 488 0 1781 0 +r 1373 0 488 0 1701 0 +r 1373 0 488 0 1662 0 +r 1373 0 488 0 1646 0 +r 1373 0 488 0 1628 0 +r 1373 0 488 0 1606 0 +r 1373 0 488 0 1583 0 +r 1373 0 488 0 1563 0 +r 1373 0 488 0 1543 0 +r 1373 0 488 0 1523 0 +r 1373 0 488 0 1503 0 +r 1373 0 488 0 1483 0 +r 1373 0 488 0 1463 0 +r 1373 0 488 0 1431 0 +r 1373 0 488 0 1404 0 +r 1373 0 488 0 1388 0 +r 1373 0 2 0 507 0 +r 1373 0 3 0 1374 0 +r 1373 0 5 0 2682 0 +r 1373 0 7 0 1347 0 +r 1374 0 2 0 507 0 +r 1374 0 3 0 1373 0 +r 1374 0 5 0 2674 0 +r 1375 0 1040 0 1694 0 +r 1375 0 488 0 1681 0 +r 1375 0 2 0 507 0 +r 1375 0 3 0 3144 0 +r 1375 0 5 0 2708 0 +r 1375 0 7 0 1347 0 +r 1376 0 1040 0 1698 0 +r 1376 0 488 0 1682 0 +r 1376 0 2 0 507 0 +r 1376 0 3 0 3145 0 +r 1376 0 5 0 2709 0 +r 1376 0 7 0 1347 0 +r 1377 0 1 0 42 0 +r 1377 0 2 0 94 0 +r 1377 0 3 0 3146 0 +r 1377 0 60 0 1386 0 +r 1377 0 60 0 1385 0 +r 1377 0 60 0 1384 0 +r 1377 0 60 0 1383 0 +r 1377 0 60 0 1382 0 +r 1377 0 60 0 1381 0 +r 1377 0 60 0 1380 0 +r 1377 0 60 0 1379 0 +r 1377 0 60 0 1378 0 +r 1377 0 5 0 2676 0 +r 1378 0 2 0 1377 0 +r 1378 0 3 0 3147 0 +r 1378 0 28 0 11 0 +r 1378 0 5 0 2752 0 +r 1378 0 7 0 1347 0 +r 1379 0 488 0 1703 0 +r 1379 0 2921 0 1704 0 +r 1379 0 2 0 1377 0 +r 1379 0 3 0 3148 0 +r 1379 0 28 0 12 0 +r 1379 0 5 0 2696 0 +r 1379 0 7 0 1347 0 +r 1380 0 488 0 2011 0 +r 1380 0 488 0 1978 0 +r 1380 0 488 0 1768 0 +r 1380 0 488 0 1752 0 +r 1380 0 488 0 1739 0 +r 1380 0 488 0 1723 0 +r 1380 0 488 0 1608 0 +r 1380 0 488 0 1585 0 +r 1380 0 2921 0 2012 0 +r 1380 0 2921 0 1979 0 +r 1380 0 2921 0 1769 0 +r 1380 0 2921 0 1753 0 +r 1380 0 2921 0 1740 0 +r 1380 0 2921 0 1724 0 +r 1380 0 2921 0 1609 0 +r 1380 0 2921 0 1586 0 +r 1380 0 2 0 1377 0 +r 1380 0 3 0 3149 0 +r 1380 0 28 0 14 0 +r 1380 0 5 0 2670 0 +r 1380 0 7 0 1347 0 +r 1381 0 488 0 1630 0 +r 1381 0 2921 0 1631 0 +r 1381 0 2 0 1377 0 +r 1381 0 3 0 3150 0 +r 1381 0 28 0 12 0 +r 1381 0 5 0 2726 0 +r 1381 0 7 0 1347 0 +r 1382 0 488 0 1953 0 +r 1382 0 2921 0 1954 0 +r 1382 0 2 0 1377 0 +r 1382 0 3 0 3151 0 +r 1382 0 28 0 12 0 +r 1382 0 5 0 2723 0 +r 1382 0 7 0 1347 0 +r 1383 0 488 0 1956 0 +r 1383 0 2921 0 1957 0 +r 1383 0 2 0 1377 0 +r 1383 0 3 0 3152 0 +r 1383 0 28 0 12 0 +r 1383 0 5 0 2725 0 +r 1383 0 7 0 1347 0 +r 1384 0 488 0 1765 0 +r 1384 0 488 0 1736 0 +r 1384 0 488 0 1720 0 +r 1384 0 488 0 1390 0 +r 1384 0 2921 0 1766 0 +r 1384 0 2921 0 1737 0 +r 1384 0 2921 0 1721 0 +r 1384 0 2921 0 1391 0 +r 1384 0 2 0 1377 0 +r 1384 0 3 0 3153 0 +r 1384 0 28 0 12 0 +r 1384 0 5 0 2756 0 +r 1384 0 7 0 1347 0 +r 1385 0 488 0 1848 0 +r 1385 0 488 0 1826 0 +r 1385 0 488 0 1803 0 +r 1385 0 2921 0 1849 0 +r 1385 0 2921 0 1827 0 +r 1385 0 2921 0 1804 0 +r 1385 0 2 0 1377 0 +r 1385 0 3 0 3154 0 +r 1385 0 28 0 14 0 +r 1385 0 5 0 2707 0 +r 1385 0 7 0 1347 0 +r 1386 0 488 0 1930 0 +r 1386 0 488 0 1876 0 +r 1386 0 2921 0 1931 0 +r 1386 0 2921 0 1877 0 +r 1386 0 2 0 1377 0 +r 1386 0 3 0 3155 0 +r 1386 0 28 0 12 0 +r 1386 0 5 0 2678 0 +r 1386 0 7 0 1347 0 +r 1387 0 1032 0 1392 2 +r 1387 0 472 0 1390 0 +r 1387 0 472 0 1388 0 +r 1387 0 4 0 466 0 +r 1387 0 5 0 2740 0 +r 1387 0 70 0 1391 0 +r 1387 0 7 0 1347 0 +r 1388 0 1 0 504 0 +r 1388 0 479 0 1387 0 +r 1388 0 487 0 1373 0 +r 1389 0 1 0 12 0 d 1.0 +r 1389 0 2922 0 1391 0 +r 1390 0 1 0 489 0 +r 1390 0 479 0 1387 0 +r 1390 0 487 0 1384 0 +r 1391 0 2920 0 1387 0 +r 1391 0 72 0 1389 0 +r 1391 0 1 0 151 0 +r 1391 0 71 0 1384 0 +r 1392 2 472 0 1398 0 +r 1392 2 474 0 1393 0 +r 1392 2 4 0 912 0 +r 1392 2 5 0 2681 0 +r 1392 2 1031 0 1387 0 +r 1393 0 1 0 903 0 +r 1393 0 1393 0 1394 0 +r 1393 0 2 0 110 0 +r 1393 0 3 0 3156 0 +r 1393 0 3156 0 1396 0 +r 1393 0 476 0 1392 2 +r 1394 0 1393 0 1396 0 +r 1394 0 1 0 913 0 +r 1394 0 3156 0 1393 0 +r 1394 0 661 0 1395 0 +r 1395 0 1 0 10 0 s Random +r 1395 0 3019 0 1394 0 +r 1396 0 1393 0 1393 0 +r 1396 0 1 0 1359 0 +r 1396 0 3156 0 1394 0 +r 1396 0 548 0 1397 0 +r 1396 0 911 0 1398 0 +r 1397 0 2985 0 1396 0 +r 1397 0 1 0 545 0 [d 1 0 0 1 6 0 +r 1398 0 1 0 504 0 +r 1398 0 3059 0 1396 0 +r 1398 0 479 0 1392 2 +r 1398 0 487 0 1399 0 +r 1399 0 488 0 1398 0 +r 1399 0 2 0 507 0 +r 1399 0 3 0 3157 0 +r 1399 0 1039 0 1373 0 +r 1400 0 1032 0 1405 3 +r 1400 0 472 0 1404 0 +r 1400 0 472 0 1403 0 +r 1400 0 472 0 1402 0 +r 1400 0 472 0 1401 0 +r 1400 0 4 0 466 0 +r 1400 0 5 0 2699 0 +r 1400 0 7 0 1347 0 +r 1401 0 1 0 504 0 +r 1401 0 479 0 1400 0 +r 1401 0 487 0 1368 0 +r 1402 0 1 0 504 0 +r 1402 0 479 0 1400 0 +r 1402 0 487 0 1369 0 +r 1403 0 1 0 504 0 +r 1403 0 479 0 1400 0 +r 1403 0 487 0 1364 0 +r 1404 0 1 0 504 0 +r 1404 0 479 0 1400 0 +r 1404 0 487 0 1373 0 +r 1405 3 472 0 1423 0 +r 1405 3 472 0 1419 0 +r 1405 3 472 0 1415 0 +r 1405 3 472 0 1411 0 +r 1405 3 474 0 1406 0 +r 1405 3 4 0 912 0 +r 1405 3 5 0 2693 0 +r 1405 3 1031 0 1400 0 +r 1406 0 1 0 903 0 +r 1406 0 2 0 110 0 +r 1406 0 3 0 3158 0 +r 1406 0 476 0 1405 3 +r 1406 0 3158 0 1421 0 +r 1406 0 1406 0 1407 0 +r 1407 0 1 0 913 0 +r 1407 0 661 0 1408 0 +r 1407 0 3158 0 1406 0 +r 1407 0 1406 0 1409 0 +r 1408 0 1 0 10 0 s SEL +r 1408 0 3019 0 1407 0 +r 1409 0 1 0 1359 0 +r 1409 0 548 0 1410 0 +r 1409 0 3158 0 1407 0 +r 1409 0 1406 0 1413 0 +r 1409 0 911 0 1411 0 +r 1410 0 2985 0 1409 0 +r 1410 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1411 0 1 0 504 0 +r 1411 0 3059 0 1409 0 +r 1411 0 479 0 1405 3 +r 1411 0 487 0 1412 0 +r 1412 0 488 0 1411 0 +r 1412 0 2 0 507 0 +r 1412 0 3 0 3159 0 +r 1412 0 1039 0 1368 0 +r 1413 0 1 0 1359 0 +r 1413 0 548 0 1414 0 +r 1413 0 3158 0 1409 0 +r 1413 0 1406 0 1417 0 +r 1413 0 911 0 1415 0 +r 1414 0 2985 0 1413 0 +r 1414 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1415 0 1 0 504 0 +r 1415 0 3059 0 1413 0 +r 1415 0 479 0 1405 3 +r 1415 0 487 0 1416 0 +r 1416 0 488 0 1415 0 +r 1416 0 2 0 507 0 +r 1416 0 3 0 3160 0 +r 1416 0 1039 0 1369 0 +r 1417 0 1 0 1359 0 +r 1417 0 548 0 1418 0 +r 1417 0 3158 0 1413 0 +r 1417 0 1406 0 1421 0 +r 1417 0 911 0 1419 0 +r 1418 0 2985 0 1417 0 +r 1418 0 1 0 545 0 [d 1 0 0 1 0 -4 +r 1419 0 1 0 504 0 +r 1419 0 3059 0 1417 0 +r 1419 0 479 0 1405 3 +r 1419 0 487 0 1420 0 +r 1420 0 488 0 1419 0 +r 1420 0 2 0 507 0 +r 1420 0 3 0 3161 0 +r 1420 0 1039 0 1364 0 +r 1421 0 1 0 1359 0 +r 1421 0 548 0 1422 0 +r 1421 0 3158 0 1417 0 +r 1421 0 1406 0 1406 0 +r 1421 0 911 0 1423 0 +r 1422 0 2985 0 1421 0 +r 1422 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1423 0 1 0 504 0 +r 1423 0 3059 0 1421 0 +r 1423 0 479 0 1405 3 +r 1423 0 487 0 1424 0 +r 1424 0 488 0 1423 0 +r 1424 0 2 0 507 0 +r 1424 0 3 0 3162 0 +r 1424 0 1039 0 1373 0 +r 1425 0 1032 0 1432 4 +r 1425 0 472 0 1431 0 +r 1425 0 472 0 1430 0 +r 1425 0 472 0 1429 0 +r 1425 0 472 0 1428 0 +r 1425 0 472 0 1427 0 +r 1425 0 472 0 1426 0 +r 1425 0 4 0 466 0 +r 1425 0 5 0 2690 0 +r 1425 0 7 0 1347 0 +r 1426 0 1 0 504 0 +r 1426 0 479 0 1425 0 +r 1426 0 487 0 1368 0 +r 1427 0 1 0 504 0 +r 1427 0 479 0 1425 0 +r 1427 0 487 0 1369 0 +r 1428 0 1 0 504 0 +r 1428 0 479 0 1425 0 +r 1428 0 487 0 1370 0 +r 1429 0 1 0 504 0 +r 1429 0 479 0 1425 0 +r 1429 0 487 0 1371 0 +r 1430 0 1 0 504 0 +r 1430 0 479 0 1425 0 +r 1430 0 487 0 1372 0 +r 1431 0 1 0 504 0 +r 1431 0 479 0 1425 0 +r 1431 0 487 0 1373 0 +r 1432 4 472 0 1458 0 +r 1432 4 472 0 1454 0 +r 1432 4 472 0 1450 0 +r 1432 4 472 0 1446 0 +r 1432 4 472 0 1442 0 +r 1432 4 472 0 1438 0 +r 1432 4 474 0 1433 0 +r 1432 4 4 0 912 0 +r 1432 4 5 0 2718 0 +r 1432 4 1031 0 1425 0 +r 1433 0 1 0 903 0 +r 1433 0 1433 0 1434 0 +r 1433 0 2 0 110 0 +r 1433 0 3163 0 1456 0 +r 1433 0 3 0 3163 0 +r 1433 0 476 0 1432 4 +r 1434 0 1433 0 1436 0 +r 1434 0 1 0 913 0 +r 1434 0 3163 0 1433 0 +r 1434 0 661 0 1435 0 +r 1435 0 1 0 10 0 s rnd +r 1435 0 3019 0 1434 0 +r 1436 0 1433 0 1440 0 +r 1436 0 1 0 1359 0 +r 1436 0 3163 0 1434 0 +r 1436 0 548 0 1437 0 +r 1436 0 911 0 1438 0 +r 1437 0 2985 0 1436 0 +r 1437 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1438 0 1 0 504 0 +r 1438 0 3059 0 1436 0 +r 1438 0 479 0 1432 4 +r 1438 0 487 0 1439 0 +r 1439 0 488 0 1438 0 +r 1439 0 2 0 507 0 +r 1439 0 3 0 3164 0 +r 1439 0 1039 0 1368 0 +r 1440 0 1433 0 1444 0 +r 1440 0 1 0 1359 0 +r 1440 0 3163 0 1436 0 +r 1440 0 548 0 1441 0 +r 1440 0 911 0 1442 0 +r 1441 0 2985 0 1440 0 +r 1441 0 1 0 545 0 [d 1 0 0 1 -4 -1 +r 1442 0 1 0 504 0 +r 1442 0 3059 0 1440 0 +r 1442 0 479 0 1432 4 +r 1442 0 487 0 1443 0 +r 1443 0 488 0 1442 0 +r 1443 0 2 0 507 0 +r 1443 0 3 0 3165 0 +r 1443 0 1039 0 1369 0 +r 1444 0 1433 0 1448 0 +r 1444 0 1 0 1359 0 +r 1444 0 3163 0 1440 0 +r 1444 0 548 0 1445 0 +r 1444 0 911 0 1446 0 +r 1445 0 2985 0 1444 0 +r 1445 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1446 0 1 0 504 0 +r 1446 0 3059 0 1444 0 +r 1446 0 479 0 1432 4 +r 1446 0 487 0 1447 0 +r 1447 0 488 0 1446 0 +r 1447 0 2 0 507 0 +r 1447 0 3 0 3166 0 +r 1447 0 1039 0 1370 0 +r 1448 0 1433 0 1452 0 +r 1448 0 1 0 1359 0 +r 1448 0 3163 0 1444 0 +r 1448 0 548 0 1449 0 +r 1448 0 911 0 1450 0 +r 1449 0 2985 0 1448 0 +r 1449 0 1 0 545 0 [d 1 0 0 1 -4 1 +r 1450 0 1 0 504 0 +r 1450 0 3059 0 1448 0 +r 1450 0 479 0 1432 4 +r 1450 0 487 0 1451 0 +r 1451 0 488 0 1450 0 +r 1451 0 2 0 507 0 +r 1451 0 3 0 3167 0 +r 1451 0 1039 0 1371 0 +r 1452 0 1433 0 1456 0 +r 1452 0 1 0 1359 0 +r 1452 0 3163 0 1448 0 +r 1452 0 548 0 1453 0 +r 1452 0 911 0 1454 0 +r 1453 0 2985 0 1452 0 +r 1453 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1454 0 1 0 504 0 +r 1454 0 3059 0 1452 0 +r 1454 0 479 0 1432 4 +r 1454 0 487 0 1455 0 +r 1455 0 488 0 1454 0 +r 1455 0 2 0 507 0 +r 1455 0 3 0 3168 0 +r 1455 0 1039 0 1372 0 +r 1456 0 1433 0 1433 0 +r 1456 0 1 0 1359 0 +r 1456 0 3163 0 1452 0 +r 1456 0 548 0 1457 0 +r 1456 0 911 0 1458 0 +r 1457 0 2985 0 1456 0 +r 1457 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1458 0 1 0 504 0 +r 1458 0 3059 0 1456 0 +r 1458 0 479 0 1432 4 +r 1458 0 487 0 1459 0 +r 1459 0 488 0 1458 0 +r 1459 0 2 0 507 0 +r 1459 0 3 0 3169 0 +r 1459 0 1039 0 1373 0 +r 1460 0 1032 0 1464 5 +r 1460 0 472 0 1463 0 +r 1460 0 472 0 1462 0 +r 1460 0 472 0 1461 0 +r 1460 0 4 0 466 0 +r 1460 0 5 0 2689 0 +r 1460 0 7 0 1347 0 +r 1461 0 1 0 504 0 +r 1461 0 479 0 1460 0 +r 1461 0 487 0 1368 0 +r 1462 0 1 0 504 0 +r 1462 0 479 0 1460 0 +r 1462 0 487 0 1369 0 +r 1463 0 1 0 504 0 +r 1463 0 479 0 1460 0 +r 1463 0 487 0 1373 0 +r 1464 5 472 0 1478 0 +r 1464 5 472 0 1474 0 +r 1464 5 472 0 1470 0 +r 1464 5 474 0 1465 0 +r 1464 5 4 0 912 0 +r 1464 5 5 0 2731 0 +r 1464 5 1031 0 1460 0 +r 1465 0 1 0 903 0 +r 1465 0 1465 0 1466 0 +r 1465 0 3170 0 1476 0 +r 1465 0 2 0 110 0 +r 1465 0 3 0 3170 0 +r 1465 0 476 0 1464 5 +r 1466 0 1465 0 1468 0 +r 1466 0 1 0 913 0 +r 1466 0 3170 0 1465 0 +r 1466 0 661 0 1467 0 +r 1467 0 1 0 10 0 s MIN +r 1467 0 3019 0 1466 0 +r 1468 0 1465 0 1472 0 +r 1468 0 1 0 1359 0 +r 1468 0 3170 0 1466 0 +r 1468 0 548 0 1469 0 +r 1468 0 911 0 1470 0 +r 1469 0 2985 0 1468 0 +r 1469 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1470 0 1 0 504 0 +r 1470 0 3059 0 1468 0 +r 1470 0 479 0 1464 5 +r 1470 0 487 0 1471 0 +r 1471 0 488 0 1470 0 +r 1471 0 2 0 507 0 +r 1471 0 3 0 3171 0 +r 1471 0 1039 0 1368 0 +r 1472 0 1465 0 1476 0 +r 1472 0 1 0 1359 0 +r 1472 0 3170 0 1468 0 +r 1472 0 548 0 1473 0 +r 1472 0 911 0 1474 0 +r 1473 0 2985 0 1472 0 +r 1473 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1474 0 1 0 504 0 +r 1474 0 3059 0 1472 0 +r 1474 0 479 0 1464 5 +r 1474 0 487 0 1475 0 +r 1475 0 488 0 1474 0 +r 1475 0 2 0 507 0 +r 1475 0 3 0 3172 0 +r 1475 0 1039 0 1369 0 +r 1476 0 1465 0 1465 0 +r 1476 0 1 0 1359 0 +r 1476 0 3170 0 1472 0 +r 1476 0 548 0 1477 0 +r 1476 0 911 0 1478 0 +r 1477 0 2985 0 1476 0 +r 1477 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1478 0 1 0 504 0 +r 1478 0 3059 0 1476 0 +r 1478 0 479 0 1464 5 +r 1478 0 487 0 1479 0 +r 1479 0 488 0 1478 0 +r 1479 0 2 0 507 0 +r 1479 0 3 0 3173 0 +r 1479 0 1039 0 1373 0 +r 1480 0 1032 0 1484 6 +r 1480 0 472 0 1483 0 +r 1480 0 472 0 1482 0 +r 1480 0 472 0 1481 0 +r 1480 0 4 0 466 0 +r 1480 0 5 0 2677 0 +r 1480 0 7 0 1347 0 +r 1481 0 1 0 504 0 +r 1481 0 479 0 1480 0 +r 1481 0 487 0 1368 0 +r 1482 0 1 0 504 0 +r 1482 0 479 0 1480 0 +r 1482 0 487 0 1369 0 +r 1483 0 1 0 504 0 +r 1483 0 479 0 1480 0 +r 1483 0 487 0 1373 0 +r 1484 6 472 0 1498 0 +r 1484 6 472 0 1494 0 +r 1484 6 472 0 1490 0 +r 1484 6 474 0 1485 0 +r 1484 6 4 0 912 0 +r 1484 6 5 0 2679 0 +r 1484 6 1031 0 1480 0 +r 1485 0 1 0 903 0 +r 1485 0 2 0 110 0 +r 1485 0 3 0 3174 0 +r 1485 0 476 0 1484 6 +r 1485 0 1485 0 1486 0 +r 1485 0 3174 0 1496 0 +r 1486 0 1 0 913 0 +r 1486 0 1485 0 1488 0 +r 1486 0 661 0 1487 0 +r 1486 0 3174 0 1485 0 +r 1487 0 1 0 10 0 s MAX +r 1487 0 3019 0 1486 0 +r 1488 0 1 0 1359 0 +r 1488 0 548 0 1489 0 +r 1488 0 1485 0 1492 0 +r 1488 0 3174 0 1486 0 +r 1488 0 911 0 1490 0 +r 1489 0 2985 0 1488 0 +r 1489 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1490 0 1 0 504 0 +r 1490 0 3059 0 1488 0 +r 1490 0 479 0 1484 6 +r 1490 0 487 0 1491 0 +r 1491 0 488 0 1490 0 +r 1491 0 2 0 507 0 +r 1491 0 3 0 3175 0 +r 1491 0 1039 0 1368 0 +r 1492 0 1 0 1359 0 +r 1492 0 548 0 1493 0 +r 1492 0 1485 0 1496 0 +r 1492 0 3174 0 1488 0 +r 1492 0 911 0 1494 0 +r 1493 0 2985 0 1492 0 +r 1493 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1494 0 1 0 504 0 +r 1494 0 3059 0 1492 0 +r 1494 0 479 0 1484 6 +r 1494 0 487 0 1495 0 +r 1495 0 488 0 1494 0 +r 1495 0 2 0 507 0 +r 1495 0 3 0 3176 0 +r 1495 0 1039 0 1369 0 +r 1496 0 1 0 1359 0 +r 1496 0 548 0 1497 0 +r 1496 0 1485 0 1485 0 +r 1496 0 3174 0 1492 0 +r 1496 0 911 0 1498 0 +r 1497 0 2985 0 1496 0 +r 1497 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1498 0 1 0 504 0 +r 1498 0 3059 0 1496 0 +r 1498 0 479 0 1484 6 +r 1498 0 487 0 1499 0 +r 1499 0 488 0 1498 0 +r 1499 0 2 0 507 0 +r 1499 0 3 0 3177 0 +r 1499 0 1039 0 1373 0 +r 1500 0 1032 0 1504 7 +r 1500 0 472 0 1503 0 +r 1500 0 472 0 1502 0 +r 1500 0 472 0 1501 0 +r 1500 0 4 0 466 0 +r 1500 0 5 0 2721 0 +r 1500 0 7 0 1347 0 +r 1501 0 1 0 504 0 +r 1501 0 479 0 1500 0 +r 1501 0 487 0 1368 0 +r 1502 0 1 0 504 0 +r 1502 0 479 0 1500 0 +r 1502 0 487 0 1369 0 +r 1503 0 1 0 504 0 +r 1503 0 479 0 1500 0 +r 1503 0 487 0 1373 0 +r 1504 7 472 0 1518 0 +r 1504 7 472 0 1514 0 +r 1504 7 472 0 1510 0 +r 1504 7 474 0 1505 0 +r 1504 7 4 0 912 0 +r 1504 7 5 0 2717 0 +r 1504 7 1031 0 1500 0 +r 1505 0 1 0 903 0 +r 1505 0 1505 0 1506 0 +r 1505 0 3178 0 1516 0 +r 1505 0 2 0 110 0 +r 1505 0 3 0 3178 0 +r 1505 0 476 0 1504 7 +r 1506 0 1505 0 1508 0 +r 1506 0 1 0 913 0 +r 1506 0 3178 0 1505 0 +r 1506 0 661 0 1507 0 +r 1507 0 1 0 10 0 s + +r 1507 0 3019 0 1506 0 +r 1508 0 1505 0 1512 0 +r 1508 0 1 0 1359 0 +r 1508 0 3178 0 1506 0 +r 1508 0 548 0 1509 0 +r 1508 0 911 0 1510 0 +r 1509 0 2985 0 1508 0 +r 1509 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1510 0 1 0 504 0 +r 1510 0 3059 0 1508 0 +r 1510 0 479 0 1504 7 +r 1510 0 487 0 1511 0 +r 1511 0 488 0 1510 0 +r 1511 0 2 0 507 0 +r 1511 0 3 0 3179 0 +r 1511 0 1039 0 1368 0 +r 1512 0 1505 0 1516 0 +r 1512 0 1 0 1359 0 +r 1512 0 3178 0 1508 0 +r 1512 0 548 0 1513 0 +r 1512 0 911 0 1514 0 +r 1513 0 2985 0 1512 0 +r 1513 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1514 0 1 0 504 0 +r 1514 0 3059 0 1512 0 +r 1514 0 479 0 1504 7 +r 1514 0 487 0 1515 0 +r 1515 0 488 0 1514 0 +r 1515 0 2 0 507 0 +r 1515 0 3 0 3180 0 +r 1515 0 1039 0 1369 0 +r 1516 0 1505 0 1505 0 +r 1516 0 1 0 1359 0 +r 1516 0 3178 0 1512 0 +r 1516 0 548 0 1517 0 +r 1516 0 911 0 1518 0 +r 1517 0 2985 0 1516 0 +r 1517 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1518 0 1 0 504 0 +r 1518 0 3059 0 1516 0 +r 1518 0 479 0 1504 7 +r 1518 0 487 0 1519 0 +r 1519 0 488 0 1518 0 +r 1519 0 2 0 507 0 +r 1519 0 3 0 3181 0 +r 1519 0 1039 0 1373 0 +r 1520 0 1032 0 1524 8 +r 1520 0 472 0 1523 0 +r 1520 0 472 0 1522 0 +r 1520 0 472 0 1521 0 +r 1520 0 4 0 466 0 +r 1520 0 5 0 2759 0 +r 1520 0 7 0 1347 0 +r 1521 0 1 0 504 0 +r 1521 0 479 0 1520 0 +r 1521 0 487 0 1368 0 +r 1522 0 1 0 504 0 +r 1522 0 479 0 1520 0 +r 1522 0 487 0 1369 0 +r 1523 0 1 0 504 0 +r 1523 0 479 0 1520 0 +r 1523 0 487 0 1373 0 +r 1524 8 472 0 1538 0 +r 1524 8 472 0 1534 0 +r 1524 8 472 0 1530 0 +r 1524 8 474 0 1525 0 +r 1524 8 4 0 912 0 +r 1524 8 5 0 2716 0 +r 1524 8 1031 0 1520 0 +r 1525 0 1 0 903 0 +r 1525 0 2 0 110 0 +r 1525 0 3 0 3182 0 +r 1525 0 476 0 1524 8 +r 1525 0 1525 0 1526 0 +r 1525 0 3182 0 1536 0 +r 1526 0 1 0 913 0 +r 1526 0 1525 0 1528 0 +r 1526 0 661 0 1527 0 +r 1526 0 3182 0 1525 0 +r 1527 0 1 0 10 0 s / +r 1527 0 3019 0 1526 0 +r 1528 0 1 0 1359 0 +r 1528 0 548 0 1529 0 +r 1528 0 1525 0 1532 0 +r 1528 0 3182 0 1526 0 +r 1528 0 911 0 1530 0 +r 1529 0 2985 0 1528 0 +r 1529 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1530 0 1 0 504 0 +r 1530 0 3059 0 1528 0 +r 1530 0 479 0 1524 8 +r 1530 0 487 0 1531 0 +r 1531 0 488 0 1530 0 +r 1531 0 2 0 507 0 +r 1531 0 3 0 3183 0 +r 1531 0 1039 0 1368 0 +r 1532 0 1 0 1359 0 +r 1532 0 548 0 1533 0 +r 1532 0 1525 0 1536 0 +r 1532 0 3182 0 1528 0 +r 1532 0 911 0 1534 0 +r 1533 0 2985 0 1532 0 +r 1533 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1534 0 1 0 504 0 +r 1534 0 3059 0 1532 0 +r 1534 0 479 0 1524 8 +r 1534 0 487 0 1535 0 +r 1535 0 488 0 1534 0 +r 1535 0 2 0 507 0 +r 1535 0 3 0 3184 0 +r 1535 0 1039 0 1369 0 +r 1536 0 1 0 1359 0 +r 1536 0 548 0 1537 0 +r 1536 0 1525 0 1525 0 +r 1536 0 3182 0 1532 0 +r 1536 0 911 0 1538 0 +r 1537 0 2985 0 1536 0 +r 1537 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1538 0 1 0 504 0 +r 1538 0 3059 0 1536 0 +r 1538 0 479 0 1524 8 +r 1538 0 487 0 1539 0 +r 1539 0 488 0 1538 0 +r 1539 0 2 0 507 0 +r 1539 0 3 0 3185 0 +r 1539 0 1039 0 1373 0 +r 1540 0 1032 0 1544 9 +r 1540 0 472 0 1543 0 +r 1540 0 472 0 1542 0 +r 1540 0 472 0 1541 0 +r 1540 0 4 0 466 0 +r 1540 0 5 0 2768 0 +r 1540 0 7 0 1347 0 +r 1541 0 1 0 504 0 +r 1541 0 479 0 1540 0 +r 1541 0 487 0 1368 0 +r 1542 0 1 0 504 0 +r 1542 0 479 0 1540 0 +r 1542 0 487 0 1369 0 +r 1543 0 1 0 504 0 +r 1543 0 479 0 1540 0 +r 1543 0 487 0 1373 0 +r 1544 9 472 0 1558 0 +r 1544 9 472 0 1554 0 +r 1544 9 472 0 1550 0 +r 1544 9 474 0 1545 0 +r 1544 9 4 0 912 0 +r 1544 9 5 0 2737 0 +r 1544 9 1031 0 1540 0 +r 1545 0 1 0 903 0 +r 1545 0 1545 0 1546 0 +r 1545 0 3186 0 1556 0 +r 1545 0 2 0 110 0 +r 1545 0 3 0 3186 0 +r 1545 0 476 0 1544 9 +r 1546 0 1545 0 1548 0 +r 1546 0 1 0 913 0 +r 1546 0 3186 0 1545 0 +r 1546 0 661 0 1547 0 +r 1547 0 1 0 10 0 s - +r 1547 0 3019 0 1546 0 +r 1548 0 1545 0 1552 0 +r 1548 0 1 0 1359 0 +r 1548 0 3186 0 1546 0 +r 1548 0 548 0 1549 0 +r 1548 0 911 0 1550 0 +r 1549 0 2985 0 1548 0 +r 1549 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1550 0 1 0 504 0 +r 1550 0 3059 0 1548 0 +r 1550 0 479 0 1544 9 +r 1550 0 487 0 1551 0 +r 1551 0 488 0 1550 0 +r 1551 0 2 0 507 0 +r 1551 0 3 0 3187 0 +r 1551 0 1039 0 1368 0 +r 1552 0 1545 0 1556 0 +r 1552 0 1 0 1359 0 +r 1552 0 3186 0 1548 0 +r 1552 0 548 0 1553 0 +r 1552 0 911 0 1554 0 +r 1553 0 2985 0 1552 0 +r 1553 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1554 0 1 0 504 0 +r 1554 0 3059 0 1552 0 +r 1554 0 479 0 1544 9 +r 1554 0 487 0 1555 0 +r 1555 0 488 0 1554 0 +r 1555 0 2 0 507 0 +r 1555 0 3 0 3188 0 +r 1555 0 1039 0 1369 0 +r 1556 0 1545 0 1545 0 +r 1556 0 1 0 1359 0 +r 1556 0 3186 0 1552 0 +r 1556 0 548 0 1557 0 +r 1556 0 911 0 1558 0 +r 1557 0 2985 0 1556 0 +r 1557 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1558 0 1 0 504 0 +r 1558 0 3059 0 1556 0 +r 1558 0 479 0 1544 9 +r 1558 0 487 0 1559 0 +r 1559 0 488 0 1558 0 +r 1559 0 2 0 507 0 +r 1559 0 3 0 3189 0 +r 1559 0 1039 0 1373 0 +r 1560 0 1032 0 1564 10 +r 1560 0 472 0 1563 0 +r 1560 0 472 0 1562 0 +r 1560 0 472 0 1561 0 +r 1560 0 4 0 466 0 +r 1560 0 5 0 2719 0 +r 1560 0 7 0 1347 0 +r 1561 0 1 0 504 0 +r 1561 0 479 0 1560 0 +r 1561 0 487 0 1368 0 +r 1562 0 1 0 504 0 +r 1562 0 479 0 1560 0 +r 1562 0 487 0 1369 0 +r 1563 0 1 0 504 0 +r 1563 0 479 0 1560 0 +r 1563 0 487 0 1373 0 +r 1564 10 472 0 1578 0 +r 1564 10 472 0 1574 0 +r 1564 10 472 0 1570 0 +r 1564 10 474 0 1565 0 +r 1564 10 4 0 912 0 +r 1564 10 5 0 2729 0 +r 1564 10 1031 0 1560 0 +r 1565 0 1 0 903 0 +r 1565 0 2 0 110 0 +r 1565 0 3 0 3190 0 +r 1565 0 476 0 1564 10 +r 1565 0 1565 0 1566 0 +r 1565 0 3190 0 1576 0 +r 1566 0 1 0 913 0 +r 1566 0 1565 0 1568 0 +r 1566 0 661 0 1567 0 +r 1566 0 3190 0 1565 0 +r 1567 0 1 0 10 0 s X +r 1567 0 3019 0 1566 0 +r 1568 0 1 0 1359 0 +r 1568 0 548 0 1569 0 +r 1568 0 1565 0 1572 0 +r 1568 0 3190 0 1566 0 +r 1568 0 911 0 1570 0 +r 1569 0 2985 0 1568 0 +r 1569 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1570 0 1 0 504 0 +r 1570 0 3059 0 1568 0 +r 1570 0 479 0 1564 10 +r 1570 0 487 0 1571 0 +r 1571 0 488 0 1570 0 +r 1571 0 2 0 507 0 +r 1571 0 3 0 3191 0 +r 1571 0 1039 0 1368 0 +r 1572 0 1 0 1359 0 +r 1572 0 548 0 1573 0 +r 1572 0 1565 0 1576 0 +r 1572 0 3190 0 1568 0 +r 1572 0 911 0 1574 0 +r 1573 0 2985 0 1572 0 +r 1573 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1574 0 1 0 504 0 +r 1574 0 3059 0 1572 0 +r 1574 0 479 0 1564 10 +r 1574 0 487 0 1575 0 +r 1575 0 488 0 1574 0 +r 1575 0 2 0 507 0 +r 1575 0 3 0 3192 0 +r 1575 0 1039 0 1369 0 +r 1576 0 1 0 1359 0 +r 1576 0 548 0 1577 0 +r 1576 0 1565 0 1565 0 +r 1576 0 3190 0 1572 0 +r 1576 0 911 0 1578 0 +r 1577 0 2985 0 1576 0 +r 1577 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1578 0 1 0 504 0 +r 1578 0 3059 0 1576 0 +r 1578 0 479 0 1564 10 +r 1578 0 487 0 1579 0 +r 1579 0 488 0 1578 0 +r 1579 0 2 0 507 0 +r 1579 0 3 0 3193 0 +r 1579 0 1039 0 1373 0 +r 1580 0 1032 0 1587 11 +r 1580 0 472 0 1585 0 +r 1580 0 472 0 1583 0 +r 1580 0 472 0 1582 0 +r 1580 0 472 0 1581 0 +r 1580 0 4 0 466 0 +r 1580 0 5 0 2722 0 +r 1580 0 70 0 1586 0 +r 1580 0 7 0 1347 0 +r 1581 0 1 0 504 0 +r 1581 0 479 0 1580 0 +r 1581 0 487 0 1365 0 +r 1582 0 1 0 504 0 +r 1582 0 479 0 1580 0 +r 1582 0 487 0 1366 0 +r 1583 0 1 0 504 0 +r 1583 0 479 0 1580 0 +r 1583 0 487 0 1373 0 +r 1584 0 1 0 12 0 d 0 +r 1584 0 2922 0 1586 0 +r 1585 0 1 0 489 0 +r 1585 0 479 0 1580 0 +r 1585 0 487 0 1380 0 +r 1586 0 2920 0 1580 0 +r 1586 0 72 0 1584 0 +r 1586 0 1 0 151 0 +r 1586 0 71 0 1380 0 +r 1587 11 472 0 1601 0 +r 1587 11 472 0 1597 0 +r 1587 11 472 0 1593 0 +r 1587 11 474 0 1588 0 +r 1587 11 4 0 912 0 +r 1587 11 5 0 2738 0 +r 1587 11 1031 0 1580 0 +r 1588 0 1 0 903 0 +r 1588 0 3194 0 1599 0 +r 1588 0 2 0 110 0 +r 1588 0 3 0 3194 0 +r 1588 0 476 0 1587 11 +r 1588 0 1588 0 1589 0 +r 1589 0 1 0 913 0 +r 1589 0 3194 0 1588 0 +r 1589 0 1588 0 1591 0 +r 1589 0 661 0 1590 0 +r 1590 0 1 0 10 0 s I +r 1590 0 3019 0 1589 0 +r 1591 0 1 0 1359 0 +r 1591 0 3194 0 1589 0 +r 1591 0 1588 0 1595 0 +r 1591 0 548 0 1592 0 +r 1591 0 911 0 1593 0 +r 1592 0 2985 0 1591 0 +r 1592 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1593 0 1 0 504 0 +r 1593 0 3059 0 1591 0 +r 1593 0 479 0 1587 11 +r 1593 0 487 0 1594 0 +r 1594 0 488 0 1593 0 +r 1594 0 2 0 507 0 +r 1594 0 3 0 3195 0 +r 1594 0 1039 0 1366 0 +r 1595 0 1 0 1359 0 +r 1595 0 3194 0 1591 0 +r 1595 0 1588 0 1599 0 +r 1595 0 548 0 1596 0 +r 1595 0 911 0 1597 0 +r 1596 0 2985 0 1595 0 +r 1596 0 1 0 545 0 [d 1 0 0 1 0 -4 +r 1597 0 1 0 504 0 +r 1597 0 3059 0 1595 0 +r 1597 0 479 0 1587 11 +r 1597 0 487 0 1598 0 +r 1598 0 488 0 1597 0 +r 1598 0 2 0 507 0 +r 1598 0 3 0 3196 0 +r 1598 0 1039 0 1365 0 +r 1599 0 1 0 1359 0 +r 1599 0 3194 0 1595 0 +r 1599 0 1588 0 1588 0 +r 1599 0 548 0 1600 0 +r 1599 0 911 0 1601 0 +r 1600 0 2985 0 1599 0 +r 1600 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1601 0 1 0 504 0 +r 1601 0 3059 0 1599 0 +r 1601 0 479 0 1587 11 +r 1601 0 487 0 1602 0 +r 1602 0 488 0 1601 0 +r 1602 0 2 0 507 0 +r 1602 0 3 0 3197 0 +r 1602 0 1039 0 1373 0 +r 1603 0 1032 0 1610 12 +r 1603 0 472 0 1608 0 +r 1603 0 472 0 1606 0 +r 1603 0 472 0 1605 0 +r 1603 0 472 0 1604 0 +r 1603 0 4 0 466 0 +r 1603 0 5 0 2706 0 +r 1603 0 70 0 1609 0 +r 1603 0 7 0 1347 0 +r 1604 0 1 0 504 0 +r 1604 0 479 0 1603 0 +r 1604 0 487 0 1368 0 +r 1605 0 1 0 504 0 +r 1605 0 479 0 1603 0 +r 1605 0 487 0 1369 0 +r 1606 0 1 0 504 0 +r 1606 0 479 0 1603 0 +r 1606 0 487 0 1373 0 +r 1607 0 1 0 12 0 d 0 +r 1607 0 2922 0 1609 0 +r 1608 0 1 0 489 0 +r 1608 0 479 0 1603 0 +r 1608 0 487 0 1380 0 +r 1609 0 2920 0 1603 0 +r 1609 0 72 0 1607 0 +r 1609 0 1 0 151 0 +r 1609 0 71 0 1380 0 +r 1610 12 472 0 1624 0 +r 1610 12 472 0 1620 0 +r 1610 12 472 0 1616 0 +r 1610 12 474 0 1611 0 +r 1610 12 4 0 912 0 +r 1610 12 5 0 2765 0 +r 1610 12 1031 0 1603 0 +r 1611 0 1 0 903 0 +r 1611 0 2 0 110 0 +r 1611 0 3 0 3198 0 +r 1611 0 1611 0 1612 0 +r 1611 0 476 0 1610 12 +r 1611 0 3198 0 1622 0 +r 1612 0 1 0 913 0 +r 1612 0 1611 0 1614 0 +r 1612 0 661 0 1613 0 +r 1612 0 3198 0 1611 0 +r 1613 0 1 0 10 0 s I +r 1613 0 3019 0 1612 0 +r 1614 0 1 0 1359 0 +r 1614 0 1611 0 1618 0 +r 1614 0 548 0 1615 0 +r 1614 0 3198 0 1612 0 +r 1614 0 911 0 1616 0 +r 1615 0 2985 0 1614 0 +r 1615 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1616 0 1 0 504 0 +r 1616 0 3059 0 1614 0 +r 1616 0 479 0 1610 12 +r 1616 0 487 0 1617 0 +r 1617 0 488 0 1616 0 +r 1617 0 2 0 507 0 +r 1617 0 3 0 3199 0 +r 1617 0 1039 0 1368 0 +r 1618 0 1 0 1359 0 +r 1618 0 1611 0 1622 0 +r 1618 0 548 0 1619 0 +r 1618 0 3198 0 1614 0 +r 1618 0 911 0 1620 0 +r 1619 0 2985 0 1618 0 +r 1619 0 1 0 545 0 [d 1 0 0 1 0 4 +r 1620 0 1 0 504 0 +r 1620 0 3059 0 1618 0 +r 1620 0 479 0 1610 12 +r 1620 0 487 0 1621 0 +r 1621 0 488 0 1620 0 +r 1621 0 2 0 507 0 +r 1621 0 3 0 3200 0 +r 1621 0 1039 0 1369 0 +r 1622 0 1 0 1359 0 +r 1622 0 1611 0 1611 0 +r 1622 0 548 0 1623 0 +r 1622 0 3198 0 1618 0 +r 1622 0 911 0 1624 0 +r 1623 0 2985 0 1622 0 +r 1623 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1624 0 1 0 504 0 +r 1624 0 3059 0 1622 0 +r 1624 0 479 0 1610 12 +r 1624 0 487 0 1625 0 +r 1625 0 488 0 1624 0 +r 1625 0 2 0 507 0 +r 1625 0 3 0 3201 0 +r 1625 0 1039 0 1373 0 +r 1626 0 1032 0 1632 13 +r 1626 0 472 0 1630 0 +r 1626 0 472 0 1628 0 +r 1626 0 472 0 1627 0 +r 1626 0 4 0 466 0 +r 1626 0 5 0 2754 0 +r 1626 0 70 0 1631 0 +r 1626 0 7 0 1347 0 +r 1627 0 1 0 504 0 +r 1627 0 479 0 1626 0 +r 1627 0 487 0 1366 0 +r 1628 0 1 0 504 0 +r 1628 0 479 0 1626 0 +r 1628 0 487 0 1373 0 +r 1629 0 1 0 12 0 d 1 +r 1629 0 2922 0 1631 0 +r 1630 0 1 0 489 0 +r 1630 0 479 0 1626 0 +r 1630 0 487 0 1381 0 +r 1631 0 2920 0 1626 0 +r 1631 0 72 0 1629 0 +r 1631 0 1 0 151 0 +r 1631 0 71 0 1381 0 +r 1632 13 472 0 1642 0 +r 1632 13 472 0 1638 0 +r 1632 13 474 0 1633 0 +r 1632 13 4 0 912 0 +r 1632 13 5 0 2712 0 +r 1632 13 1031 0 1626 0 +r 1633 0 1 0 903 0 +r 1633 0 1633 0 1634 0 +r 1633 0 3202 0 1640 0 +r 1633 0 2 0 110 0 +r 1633 0 3 0 3202 0 +r 1633 0 476 0 1632 13 +r 1634 0 1633 0 1636 0 +r 1634 0 1 0 913 0 +r 1634 0 3202 0 1633 0 +r 1634 0 661 0 1635 0 +r 1635 0 1 0 10 0 s G +r 1635 0 3019 0 1634 0 +r 1636 0 1633 0 1640 0 +r 1636 0 1 0 1359 0 +r 1636 0 3202 0 1634 0 +r 1636 0 548 0 1637 0 +r 1636 0 911 0 1638 0 +r 1637 0 2985 0 1636 0 +r 1637 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1638 0 1 0 504 0 +r 1638 0 3059 0 1636 0 +r 1638 0 479 0 1632 13 +r 1638 0 487 0 1639 0 +r 1639 0 488 0 1638 0 +r 1639 0 2 0 507 0 +r 1639 0 3 0 3203 0 +r 1639 0 1039 0 1366 0 +r 1640 0 1633 0 1633 0 +r 1640 0 1 0 1359 0 +r 1640 0 3202 0 1636 0 +r 1640 0 548 0 1641 0 +r 1640 0 911 0 1642 0 +r 1641 0 2985 0 1640 0 +r 1641 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1642 0 1 0 504 0 +r 1642 0 3059 0 1640 0 +r 1642 0 479 0 1632 13 +r 1642 0 487 0 1643 0 +r 1643 0 488 0 1642 0 +r 1643 0 2 0 507 0 +r 1643 0 3 0 3204 0 +r 1643 0 1039 0 1373 0 +r 1644 0 1032 0 1647 14 +r 1644 0 472 0 1646 0 +r 1644 0 472 0 1645 0 +r 1644 0 4 0 466 0 +r 1644 0 5 0 2715 0 +r 1644 0 7 0 1347 0 +r 1645 0 1 0 504 0 +r 1645 0 479 0 1644 0 +r 1645 0 487 0 1366 0 +r 1646 0 1 0 504 0 +r 1646 0 479 0 1644 0 +r 1646 0 487 0 1373 0 +r 1647 14 472 0 1657 0 +r 1647 14 472 0 1653 0 +r 1647 14 474 0 1648 0 +r 1647 14 4 0 912 0 +r 1647 14 5 0 2702 0 +r 1647 14 1031 0 1644 0 +r 1648 0 1648 0 1649 0 +r 1648 0 1 0 903 0 +r 1648 0 2 0 110 0 +r 1648 0 3 0 3205 0 +r 1648 0 476 0 1647 14 +r 1648 0 3205 0 1655 0 +r 1649 0 1648 0 1651 0 +r 1649 0 1 0 913 0 +r 1649 0 3205 0 1648 0 +r 1649 0 661 0 1650 0 +r 1650 0 1 0 10 0 s B2F +r 1650 0 3019 0 1649 0 +r 1651 0 1648 0 1655 0 +r 1651 0 1 0 1359 0 +r 1651 0 548 0 1652 0 +r 1651 0 3205 0 1649 0 +r 1651 0 911 0 1653 0 +r 1652 0 2985 0 1651 0 +r 1652 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1653 0 1 0 504 0 +r 1653 0 3059 0 1651 0 +r 1653 0 479 0 1647 14 +r 1653 0 487 0 1654 0 +r 1654 0 488 0 1653 0 +r 1654 0 2 0 507 0 +r 1654 0 3 0 3206 0 +r 1654 0 1039 0 1366 0 +r 1655 0 1648 0 1648 0 +r 1655 0 1 0 1359 0 +r 1655 0 548 0 1656 0 +r 1655 0 3205 0 1651 0 +r 1655 0 911 0 1657 0 +r 1656 0 2985 0 1655 0 +r 1656 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1657 0 1 0 504 0 +r 1657 0 3059 0 1655 0 +r 1657 0 479 0 1647 14 +r 1657 0 487 0 1658 0 +r 1658 0 488 0 1657 0 +r 1658 0 2 0 507 0 +r 1658 0 3 0 3207 0 +r 1658 0 1039 0 1373 0 +r 1659 0 1032 0 1663 15 +r 1659 0 472 0 1662 0 +r 1659 0 472 0 1661 0 +r 1659 0 472 0 1660 0 +r 1659 0 4 0 466 0 +r 1659 0 5 0 2704 0 +r 1659 0 7 0 1347 0 +r 1660 0 1 0 504 0 +r 1660 0 479 0 1659 0 +r 1660 0 487 0 1368 0 +r 1661 0 1 0 504 0 +r 1661 0 479 0 1659 0 +r 1661 0 487 0 1369 0 +r 1662 0 1 0 504 0 +r 1662 0 479 0 1659 0 +r 1662 0 487 0 1373 0 +r 1663 15 472 0 1677 0 +r 1663 15 472 0 1673 0 +r 1663 15 472 0 1669 0 +r 1663 15 474 0 1664 0 +r 1663 15 4 0 912 0 +r 1663 15 5 0 2713 0 +r 1663 15 1031 0 1659 0 +r 1664 0 3208 0 1675 0 +r 1664 0 1664 0 1665 0 +r 1664 0 1 0 903 0 +r 1664 0 2 0 110 0 +r 1664 0 3 0 3208 0 +r 1664 0 476 0 1663 15 +r 1665 0 3208 0 1664 0 +r 1665 0 1664 0 1667 0 +r 1665 0 1 0 913 0 +r 1665 0 661 0 1666 0 +r 1666 0 1 0 10 0 s MUX +r 1666 0 3019 0 1665 0 +r 1667 0 3208 0 1665 0 +r 1667 0 1664 0 1671 0 +r 1667 0 1 0 1359 0 +r 1667 0 548 0 1668 0 +r 1667 0 911 0 1669 0 +r 1668 0 2985 0 1667 0 +r 1668 0 1 0 545 0 [d 1 0 0 1 -4 -1 +r 1669 0 1 0 504 0 +r 1669 0 3059 0 1667 0 +r 1669 0 479 0 1663 15 +r 1669 0 487 0 1670 0 +r 1670 0 488 0 1669 0 +r 1670 0 2 0 507 0 +r 1670 0 3 0 3209 0 +r 1670 0 1039 0 1368 0 +r 1671 0 3208 0 1667 0 +r 1671 0 1664 0 1675 0 +r 1671 0 1 0 1359 0 +r 1671 0 548 0 1672 0 +r 1671 0 911 0 1673 0 +r 1672 0 2985 0 1671 0 +r 1672 0 1 0 545 0 [d 1 0 0 1 -4 1 +r 1673 0 1 0 504 0 +r 1673 0 3059 0 1671 0 +r 1673 0 479 0 1663 15 +r 1673 0 487 0 1674 0 +r 1674 0 488 0 1673 0 +r 1674 0 2 0 507 0 +r 1674 0 3 0 3210 0 +r 1674 0 1039 0 1369 0 +r 1675 0 3208 0 1671 0 +r 1675 0 1664 0 1664 0 +r 1675 0 1 0 1359 0 +r 1675 0 548 0 1676 0 +r 1675 0 911 0 1677 0 +r 1676 0 2985 0 1675 0 +r 1676 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1677 0 1 0 504 0 +r 1677 0 3059 0 1675 0 +r 1677 0 479 0 1663 15 +r 1677 0 487 0 1678 0 +r 1678 0 488 0 1677 0 +r 1678 0 2 0 507 0 +r 1678 0 3 0 3211 0 +r 1678 0 1039 0 1373 0 +r 1679 0 1032 0 1683 16 +r 1679 0 472 0 1682 0 +r 1679 0 472 0 1681 0 +r 1679 0 472 0 1680 0 +r 1679 0 4 0 466 0 +r 1679 0 5 0 2703 0 +r 1679 0 7 0 1347 0 +r 1680 0 1 0 504 0 +r 1680 0 479 0 1679 0 +r 1680 0 487 0 1366 0 +r 1681 0 1 0 504 0 +r 1681 0 479 0 1679 0 +r 1681 0 487 0 1375 0 +r 1682 0 1 0 504 0 +r 1682 0 479 0 1679 0 +r 1682 0 487 0 1376 0 +r 1683 16 472 0 1697 0 +r 1683 16 472 0 1693 0 +r 1683 16 472 0 1689 0 +r 1683 16 474 0 1684 0 +r 1683 16 4 0 912 0 +r 1683 16 5 0 2739 0 +r 1683 16 1031 0 1679 0 +r 1684 0 1 0 903 0 +r 1684 0 2 0 110 0 +r 1684 0 3 0 3212 0 +r 1684 0 3212 0 1695 0 +r 1684 0 476 0 1683 16 +r 1684 0 1684 0 1685 0 +r 1685 0 1 0 913 0 +r 1685 0 3212 0 1684 0 +r 1685 0 1684 0 1687 0 +r 1685 0 661 0 1686 0 +r 1686 0 1 0 10 0 s DEMUX +r 1686 0 3019 0 1685 0 +r 1687 0 1 0 1359 0 +r 1687 0 3212 0 1685 0 +r 1687 0 1684 0 1691 0 +r 1687 0 548 0 1688 0 +r 1687 0 911 0 1689 0 +r 1688 0 2985 0 1687 0 +r 1688 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1689 0 1 0 504 0 +r 1689 0 3059 0 1687 0 +r 1689 0 479 0 1683 16 +r 1689 0 487 0 1690 0 +r 1690 0 488 0 1689 0 +r 1690 0 2 0 507 0 +r 1690 0 3 0 3213 0 +r 1690 0 1039 0 1366 0 +r 1691 0 1 0 1359 0 +r 1691 0 3212 0 1687 0 +r 1691 0 1684 0 1695 0 +r 1691 0 548 0 1692 0 +r 1691 0 911 0 1693 0 +r 1692 0 2985 0 1691 0 +r 1692 0 1 0 545 0 [d 1 0 0 1 4 -1 +r 1693 0 1 0 504 0 +r 1693 0 3059 0 1691 0 +r 1693 0 479 0 1683 16 +r 1693 0 487 0 1694 0 +r 1694 0 488 0 1693 0 +r 1694 0 2 0 507 0 +r 1694 0 3 0 3214 0 +r 1694 0 1039 0 1375 0 +r 1695 0 1 0 1359 0 +r 1695 0 3212 0 1691 0 +r 1695 0 1684 0 1684 0 +r 1695 0 548 0 1696 0 +r 1695 0 911 0 1697 0 +r 1696 0 2985 0 1695 0 +r 1696 0 1 0 545 0 [d 1 0 0 1 4 1 +r 1697 0 1 0 504 0 +r 1697 0 3059 0 1695 0 +r 1697 0 479 0 1683 16 +r 1697 0 487 0 1698 0 +r 1698 0 488 0 1697 0 +r 1698 0 2 0 507 0 +r 1698 0 3 0 3215 0 +r 1698 0 1039 0 1376 0 +r 1699 0 1032 0 1705 17 +r 1699 0 472 0 1703 0 +r 1699 0 472 0 1701 0 +r 1699 0 472 0 1700 0 +r 1699 0 4 0 466 0 +r 1699 0 5 0 2734 0 +r 1699 0 70 0 1704 0 +r 1699 0 7 0 1347 0 +r 1700 0 1 0 504 0 +r 1700 0 479 0 1699 0 +r 1700 0 487 0 1366 0 +r 1701 0 1 0 504 0 +r 1701 0 479 0 1699 0 +r 1701 0 487 0 1373 0 +r 1702 0 1 0 12 0 d 1.0 +r 1702 0 2922 0 1704 0 +r 1703 0 1 0 489 0 +r 1703 0 479 0 1699 0 +r 1703 0 487 0 1379 0 +r 1704 0 2920 0 1699 0 +r 1704 0 72 0 1702 0 +r 1704 0 1 0 151 0 +r 1704 0 71 0 1379 0 +r 1705 17 472 0 1715 0 +r 1705 17 472 0 1711 0 +r 1705 17 474 0 1706 0 +r 1705 17 4 0 912 0 +r 1705 17 5 0 2748 0 +r 1705 17 1031 0 1699 0 +r 1706 0 3216 0 1713 0 +r 1706 0 1 0 903 0 +r 1706 0 2 0 110 0 +r 1706 0 1706 0 1707 0 +r 1706 0 3 0 3216 0 +r 1706 0 476 0 1705 17 +r 1707 0 3216 0 1706 0 +r 1707 0 1 0 913 0 +r 1707 0 1706 0 1709 0 +r 1707 0 661 0 1708 0 +r 1708 0 1 0 10 0 s Delay +r 1708 0 3019 0 1707 0 +r 1709 0 3216 0 1707 0 +r 1709 0 1 0 1359 0 +r 1709 0 1706 0 1713 0 +r 1709 0 548 0 1710 0 +r 1709 0 911 0 1711 0 +r 1710 0 2985 0 1709 0 +r 1710 0 1 0 545 0 [d 1 0 0 1 -7 0 +r 1711 0 1 0 504 0 +r 1711 0 3059 0 1709 0 +r 1711 0 479 0 1705 17 +r 1711 0 487 0 1712 0 +r 1712 0 488 0 1711 0 +r 1712 0 2 0 507 0 +r 1712 0 3 0 3217 0 +r 1712 0 1039 0 1366 0 +r 1713 0 3216 0 1709 0 +r 1713 0 1 0 1359 0 +r 1713 0 1706 0 1706 0 +r 1713 0 548 0 1714 0 +r 1713 0 911 0 1715 0 +r 1714 0 2985 0 1713 0 +r 1714 0 1 0 545 0 [d 1 0 0 1 7 0 +r 1715 0 1 0 504 0 +r 1715 0 3059 0 1713 0 +r 1715 0 479 0 1705 17 +r 1715 0 487 0 1716 0 +r 1716 0 488 0 1715 0 +r 1716 0 2 0 507 0 +r 1716 0 3 0 3218 0 +r 1716 0 1039 0 1373 0 +r 1717 0 1032 0 1725 0 +r 1717 0 472 0 1723 0 +r 1717 0 472 0 1720 0 +r 1717 0 472 0 1718 0 +r 1717 0 4 0 466 0 +r 1717 0 5 0 2742 0 +r 1717 0 70 0 1724 0 +r 1717 0 70 0 1721 0 +r 1717 0 7 0 1347 0 +r 1718 0 1 0 504 0 +r 1718 0 479 0 1717 0 +r 1718 0 487 0 1366 0 +r 1719 0 1 0 12 0 d 0.1 +r 1719 0 2922 0 1721 0 +r 1720 0 1 0 489 0 +r 1720 0 479 0 1717 0 +r 1720 0 487 0 1384 0 +r 1721 0 2920 0 1717 0 +r 1721 0 72 0 1719 0 +r 1721 0 1 0 151 0 +r 1721 0 71 0 1384 0 +r 1722 0 1 0 12 0 d 0 +r 1722 0 2922 0 1724 0 +r 1723 0 1 0 489 0 +r 1723 0 479 0 1717 0 +r 1723 0 487 0 1380 0 +r 1724 0 2920 0 1717 0 +r 1724 0 72 0 1722 0 +r 1724 0 1 0 151 0 +r 1724 0 71 0 1380 0 +r 1725 0 472 0 1731 0 +r 1725 0 474 0 1726 0 +r 1725 0 4 0 912 0 +r 1725 0 5 0 2730 0 +r 1725 0 7 0 1347 0 +r 1725 0 1031 0 1717 0 +r 1726 0 1 0 903 0 +r 1726 0 2 0 110 0 +r 1726 0 3219 0 1729 0 +r 1726 0 3 0 3219 0 +r 1726 0 476 0 1725 0 +r 1726 0 1726 0 1727 0 +r 1727 0 1 0 913 0 +r 1727 0 3219 0 1726 0 +r 1727 0 661 0 1728 0 +r 1727 0 1726 0 1729 0 +r 1728 0 1 0 10 0 s +r 1728 0 3019 0 1727 0 +r 1729 0 1 0 1359 0 +r 1729 0 3219 0 1727 0 +r 1729 0 548 0 1730 0 +r 1729 0 1726 0 1726 0 +r 1729 0 911 0 1731 0 +r 1730 0 2985 0 1729 0 +r 1730 0 1 0 545 0 [d 1 0 0 1 -20 0 +r 1731 0 1 0 504 0 +r 1731 0 3059 0 1729 0 +r 1731 0 479 0 1725 0 +r 1731 0 487 0 1732 0 +r 1732 0 488 0 1731 0 +r 1732 0 2 0 507 0 +r 1732 0 3 0 3220 0 +r 1732 0 1039 0 1366 0 +r 1733 0 1032 0 1741 18 +r 1733 0 472 0 1739 0 +r 1733 0 472 0 1736 0 +r 1733 0 472 0 1734 0 +r 1733 0 4 0 466 0 +r 1733 0 5 0 2755 0 +r 1733 0 70 0 1740 0 +r 1733 0 70 0 1737 0 +r 1733 0 7 0 1347 0 +r 1734 0 1 0 504 0 +r 1734 0 479 0 1733 0 +r 1734 0 487 0 1366 0 +r 1735 0 1 0 12 0 d 0.1 +r 1735 0 2922 0 1737 0 +r 1736 0 1 0 489 0 +r 1736 0 479 0 1733 0 +r 1736 0 487 0 1384 0 +r 1737 0 2920 0 1733 0 +r 1737 0 72 0 1735 0 +r 1737 0 1 0 151 0 +r 1737 0 71 0 1384 0 +r 1738 0 1 0 12 0 d 0 +r 1738 0 2922 0 1740 0 +r 1739 0 1 0 489 0 +r 1739 0 479 0 1733 0 +r 1739 0 487 0 1380 0 +r 1740 0 2920 0 1733 0 +r 1740 0 72 0 1738 0 +r 1740 0 1 0 151 0 +r 1740 0 71 0 1380 0 +r 1741 18 472 0 1747 0 +r 1741 18 474 0 1742 0 +r 1741 18 4 0 912 0 +r 1741 18 5 0 2724 0 +r 1741 18 1031 0 1733 0 +r 1742 0 1 0 903 0 +r 1742 0 2 0 110 0 +r 1742 0 3 0 3221 0 +r 1742 0 476 0 1741 18 +r 1742 0 3221 0 1745 0 +r 1742 0 1742 0 1743 0 +r 1743 0 1 0 913 0 +r 1743 0 3221 0 1742 0 +r 1743 0 661 0 1744 0 +r 1743 0 1742 0 1745 0 +r 1744 0 1 0 10 0 s Sampler +r 1744 0 3019 0 1743 0 +r 1745 0 1 0 1359 0 +r 1745 0 548 0 1746 0 +r 1745 0 3221 0 1743 0 +r 1745 0 1742 0 1742 0 +r 1745 0 911 0 1747 0 +r 1746 0 2985 0 1745 0 +r 1746 0 1 0 545 0 [d 1 0 0 1 -7 0 +r 1747 0 1 0 504 0 +r 1747 0 3059 0 1745 0 +r 1747 0 479 0 1741 18 +r 1747 0 487 0 1748 0 +r 1748 0 488 0 1747 0 +r 1748 0 2 0 507 0 +r 1748 0 3 0 3222 0 +r 1748 0 1039 0 1366 0 +r 1749 0 1032 0 1754 19 +r 1749 0 472 0 1752 0 +r 1749 0 472 0 1750 0 +r 1749 0 4 0 466 0 +r 1749 0 5 0 2766 0 +r 1749 0 70 0 1753 0 +r 1749 0 7 0 1347 0 +r 1750 0 1 0 504 0 +r 1750 0 479 0 1749 0 +r 1750 0 487 0 1366 0 +r 1751 0 1 0 10 0 s +r 1751 0 2922 0 1753 0 +r 1752 0 1 0 489 0 +r 1752 0 479 0 1749 0 +r 1752 0 487 0 1380 0 +r 1753 0 2920 0 1749 0 +r 1753 0 72 0 1751 0 +r 1753 0 1 0 151 0 +r 1753 0 71 0 1380 0 +r 1754 19 472 0 1760 0 +r 1754 19 474 0 1755 0 +r 1754 19 4 0 912 0 +r 1754 19 5 0 2683 0 +r 1754 19 1031 0 1749 0 +r 1755 0 1 0 903 0 +r 1755 0 2 0 110 0 +r 1755 0 3 0 3223 0 +r 1755 0 1755 0 1756 0 +r 1755 0 476 0 1754 19 +r 1755 0 3223 0 1758 0 +r 1756 0 1 0 913 0 +r 1756 0 1755 0 1758 0 +r 1756 0 661 0 1757 0 +r 1756 0 3223 0 1755 0 +r 1757 0 1 0 10 0 s GSampler +r 1757 0 3019 0 1756 0 +r 1758 0 1 0 1359 0 +r 1758 0 1755 0 1755 0 +r 1758 0 548 0 1759 0 +r 1758 0 3223 0 1756 0 +r 1758 0 911 0 1760 0 +r 1759 0 2985 0 1758 0 +r 1759 0 1 0 545 0 [d 1 0 0 1 -7 0 +r 1760 0 1 0 504 0 +r 1760 0 3059 0 1758 0 +r 1760 0 479 0 1754 19 +r 1760 0 487 0 1761 0 +r 1761 0 488 0 1760 0 +r 1761 0 2 0 507 0 +r 1761 0 3 0 3224 0 +r 1761 0 1039 0 1366 0 +r 1762 0 1032 0 1770 20 +r 1762 0 472 0 1768 0 +r 1762 0 472 0 1765 0 +r 1762 0 472 0 1763 0 +r 1762 0 4 0 466 0 +r 1762 0 5 0 2741 0 +r 1762 0 70 0 1769 0 +r 1762 0 70 0 1766 0 +r 1762 0 7 0 1347 0 +r 1763 0 1 0 504 0 +r 1763 0 479 0 1762 0 +r 1763 0 487 0 1366 0 +r 1764 0 1 0 12 0 d 0.1 +r 1764 0 2922 0 1766 0 +r 1765 0 1 0 489 0 +r 1765 0 479 0 1762 0 +r 1765 0 487 0 1384 0 +r 1766 0 2920 0 1762 0 +r 1766 0 72 0 1764 0 +r 1766 0 1 0 151 0 +r 1766 0 71 0 1384 0 +r 1767 0 1 0 12 0 d 0 +r 1767 0 2922 0 1769 0 +r 1768 0 1 0 489 0 +r 1768 0 479 0 1762 0 +r 1768 0 487 0 1380 0 +r 1769 0 2920 0 1762 0 +r 1769 0 72 0 1767 0 +r 1769 0 1 0 151 0 +r 1769 0 71 0 1380 0 +r 1770 20 472 0 1776 0 +r 1770 20 474 0 1771 0 +r 1770 20 4 0 912 0 +r 1770 20 5 0 2720 0 +r 1770 20 1031 0 1762 0 +r 1771 0 3225 0 1774 0 +r 1771 0 1 0 903 0 +r 1771 0 2 0 110 0 +r 1771 0 3 0 3225 0 +r 1771 0 1771 0 1772 0 +r 1771 0 476 0 1770 20 +r 1772 0 3225 0 1771 0 +r 1772 0 1 0 913 0 +r 1772 0 1771 0 1774 0 +r 1772 0 661 0 1773 0 +r 1773 0 1 0 10 0 s B Sampler +r 1773 0 3019 0 1772 0 +r 1774 0 3225 0 1772 0 +r 1774 0 1 0 1359 0 +r 1774 0 1771 0 1771 0 +r 1774 0 548 0 1775 0 +r 1774 0 911 0 1776 0 +r 1775 0 2985 0 1774 0 +r 1775 0 1 0 545 0 [d 1 0 0 1 -7 0 +r 1776 0 1 0 504 0 +r 1776 0 3059 0 1774 0 +r 1776 0 479 0 1770 20 +r 1776 0 487 0 1777 0 +r 1777 0 488 0 1776 0 +r 1777 0 2 0 507 0 +r 1777 0 3 0 3226 0 +r 1777 0 1039 0 1366 0 +r 1778 0 1032 0 1782 21 +r 1778 0 472 0 1781 0 +r 1778 0 472 0 1780 0 +r 1778 0 472 0 1779 0 +r 1778 0 4 0 466 0 +r 1778 0 5 0 2675 0 +r 1778 0 7 0 1347 0 +r 1779 0 1 0 504 0 +r 1779 0 479 0 1778 0 +r 1779 0 487 0 1368 0 +r 1780 0 1 0 504 0 +r 1780 0 479 0 1778 0 +r 1780 0 487 0 1369 0 +r 1781 0 1 0 504 0 +r 1781 0 479 0 1778 0 +r 1781 0 487 0 1373 0 +r 1782 21 472 0 1796 0 +r 1782 21 472 0 1792 0 +r 1782 21 472 0 1788 0 +r 1782 21 474 0 1783 0 +r 1782 21 4 0 912 0 +r 1782 21 5 0 2758 0 +r 1782 21 1031 0 1778 0 +r 1783 0 1 0 903 0 +r 1783 0 2 0 110 0 +r 1783 0 3227 0 1794 0 +r 1783 0 3 0 3227 0 +r 1783 0 476 0 1782 21 +r 1783 0 1783 0 1784 0 +r 1784 0 1 0 913 0 +r 1784 0 3227 0 1783 0 +r 1784 0 661 0 1785 0 +r 1784 0 1783 0 1786 0 +r 1785 0 1 0 10 0 s +r 1785 0 3019 0 1784 0 +r 1786 0 1 0 1359 0 +r 1786 0 3227 0 1784 0 +r 1786 0 548 0 1787 0 +r 1786 0 1783 0 1790 0 +r 1786 0 911 0 1788 0 +r 1787 0 2985 0 1786 0 +r 1787 0 1 0 545 0 [d 1 0 0 1 -5.0 -10.0 +r 1788 0 1 0 504 0 +r 1788 0 3059 0 1786 0 +r 1788 0 479 0 1782 21 +r 1788 0 487 0 1789 0 +r 1789 0 488 0 1788 0 +r 1789 0 2 0 507 0 +r 1789 0 3 0 3228 0 +r 1789 0 1039 0 1368 0 +r 1790 0 1 0 1359 0 +r 1790 0 3227 0 1786 0 +r 1790 0 548 0 1791 0 +r 1790 0 1783 0 1794 0 +r 1790 0 911 0 1792 0 +r 1791 0 2985 0 1790 0 +r 1791 0 1 0 545 0 [d 1 0 0 1 -5.0 10.0 +r 1792 0 1 0 504 0 +r 1792 0 3059 0 1790 0 +r 1792 0 479 0 1782 21 +r 1792 0 487 0 1793 0 +r 1793 0 488 0 1792 0 +r 1793 0 2 0 507 0 +r 1793 0 3 0 3229 0 +r 1793 0 1039 0 1369 0 +r 1794 0 1 0 1359 0 +r 1794 0 3227 0 1790 0 +r 1794 0 548 0 1795 0 +r 1794 0 1783 0 1783 0 +r 1794 0 911 0 1796 0 +r 1795 0 2985 0 1794 0 +r 1795 0 1 0 545 0 [d 1 0 0 1 32.5 0.0 +r 1796 0 1 0 504 0 +r 1796 0 3059 0 1794 0 +r 1796 0 479 0 1782 21 +r 1796 0 487 0 1797 0 +r 1797 0 488 0 1796 0 +r 1797 0 2 0 507 0 +r 1797 0 3 0 3230 0 +r 1797 0 1039 0 1373 0 +r 1798 0 1032 0 1805 22 +r 1798 0 472 0 1803 0 +r 1798 0 472 0 1801 0 +r 1798 0 472 0 1800 0 +r 1798 0 472 0 1799 0 +r 1798 0 4 0 466 0 +r 1798 0 5 0 2728 0 +r 1798 0 70 0 1804 0 +r 1798 0 7 0 1347 0 +r 1799 0 1 0 504 0 +r 1799 0 479 0 1798 0 +r 1799 0 487 0 1368 0 +r 1800 0 1 0 504 0 +r 1800 0 479 0 1798 0 +r 1800 0 487 0 1369 0 +r 1801 0 1 0 504 0 +r 1801 0 479 0 1798 0 +r 1801 0 487 0 1373 0 +r 1802 0 1 0 14 0 b false +r 1802 0 2922 0 1804 0 +r 1803 0 1 0 489 0 +r 1803 0 479 0 1798 0 +r 1803 0 487 0 1385 0 +r 1804 0 2920 0 1798 0 +r 1804 0 72 0 1802 0 +r 1804 0 1 0 151 0 +r 1804 0 71 0 1385 0 +r 1805 22 472 0 1819 0 +r 1805 22 472 0 1815 0 +r 1805 22 472 0 1811 0 +r 1805 22 474 0 1806 0 +r 1805 22 4 0 912 0 +r 1805 22 5 0 2691 0 +r 1805 22 1031 0 1798 0 +r 1806 0 1 0 903 0 +r 1806 0 2 0 110 0 +r 1806 0 3 0 3231 0 +r 1806 0 476 0 1805 22 +r 1806 0 1806 0 1807 0 +r 1806 0 3231 0 1817 0 +r 1807 0 1 0 913 0 +r 1807 0 661 0 1808 0 +r 1807 0 1806 0 1809 0 +r 1807 0 3231 0 1806 0 +r 1808 0 1 0 10 0 s +r 1808 0 3019 0 1807 0 +r 1809 0 1 0 1359 0 +r 1809 0 548 0 1810 0 +r 1809 0 1806 0 1813 0 +r 1809 0 3231 0 1807 0 +r 1809 0 911 0 1811 0 +r 1810 0 2985 0 1809 0 +r 1810 0 1 0 545 0 [d 1 0 0 1 -5.0 -10.0 +r 1811 0 1 0 504 0 +r 1811 0 3059 0 1809 0 +r 1811 0 479 0 1805 22 +r 1811 0 487 0 1812 0 +r 1812 0 488 0 1811 0 +r 1812 0 2 0 507 0 +r 1812 0 3 0 3232 0 +r 1812 0 1039 0 1368 0 +r 1813 0 1 0 1359 0 +r 1813 0 548 0 1814 0 +r 1813 0 1806 0 1817 0 +r 1813 0 3231 0 1809 0 +r 1813 0 911 0 1815 0 +r 1814 0 2985 0 1813 0 +r 1814 0 1 0 545 0 [d 1 0 0 1 -5.0 10.0 +r 1815 0 1 0 504 0 +r 1815 0 3059 0 1813 0 +r 1815 0 479 0 1805 22 +r 1815 0 487 0 1816 0 +r 1816 0 488 0 1815 0 +r 1816 0 2 0 507 0 +r 1816 0 3 0 3233 0 +r 1816 0 1039 0 1369 0 +r 1817 0 1 0 1359 0 +r 1817 0 548 0 1818 0 +r 1817 0 1806 0 1806 0 +r 1817 0 3231 0 1813 0 +r 1817 0 911 0 1819 0 +r 1818 0 2985 0 1817 0 +r 1818 0 1 0 545 0 [d 1 0 0 1 35.0 0.0 +r 1819 0 1 0 504 0 +r 1819 0 3059 0 1817 0 +r 1819 0 479 0 1805 22 +r 1819 0 487 0 1820 0 +r 1820 0 488 0 1819 0 +r 1820 0 2 0 507 0 +r 1820 0 3 0 3234 0 +r 1820 0 1039 0 1373 0 +r 1821 0 1032 0 1828 23 +r 1821 0 472 0 1826 0 +r 1821 0 472 0 1824 0 +r 1821 0 472 0 1823 0 +r 1821 0 472 0 1822 0 +r 1821 0 4 0 466 0 +r 1821 0 5 0 2687 0 +r 1821 0 70 0 1827 0 +r 1821 0 7 0 1347 0 +r 1822 0 1 0 504 0 +r 1822 0 479 0 1821 0 +r 1822 0 487 0 1368 0 +r 1823 0 1 0 504 0 +r 1823 0 479 0 1821 0 +r 1823 0 487 0 1369 0 +r 1824 0 1 0 504 0 +r 1824 0 479 0 1821 0 +r 1824 0 487 0 1373 0 +r 1825 0 1 0 14 0 b false +r 1825 0 2922 0 1827 0 +r 1826 0 1 0 489 0 +r 1826 0 479 0 1821 0 +r 1826 0 487 0 1385 0 +r 1827 0 2920 0 1821 0 +r 1827 0 72 0 1825 0 +r 1827 0 1 0 151 0 +r 1827 0 71 0 1385 0 +r 1828 23 472 0 1842 0 +r 1828 23 472 0 1838 0 +r 1828 23 472 0 1834 0 +r 1828 23 474 0 1829 0 +r 1828 23 4 0 912 0 +r 1828 23 5 0 2760 0 +r 1828 23 1031 0 1821 0 +r 1829 0 1 0 903 0 +r 1829 0 2 0 110 0 +r 1829 0 3235 0 1840 0 +r 1829 0 3 0 3235 0 +r 1829 0 476 0 1828 23 +r 1829 0 1829 0 1830 0 +r 1830 0 1 0 913 0 +r 1830 0 3235 0 1829 0 +r 1830 0 1829 0 1832 0 +r 1830 0 661 0 1831 0 +r 1831 0 1 0 10 0 s +r 1831 0 3019 0 1830 0 +r 1832 0 1 0 1359 0 +r 1832 0 3235 0 1830 0 +r 1832 0 548 0 1833 0 +r 1832 0 1829 0 1836 0 +r 1832 0 911 0 1834 0 +r 1833 0 2985 0 1832 0 +r 1833 0 1 0 545 0 [d 1 0 0 1 -11.0 -10.0 +r 1834 0 1 0 504 0 +r 1834 0 3059 0 1832 0 +r 1834 0 479 0 1828 23 +r 1834 0 487 0 1835 0 +r 1835 0 488 0 1834 0 +r 1835 0 2 0 507 0 +r 1835 0 3 0 3236 0 +r 1835 0 1039 0 1368 0 +r 1836 0 1 0 1359 0 +r 1836 0 3235 0 1832 0 +r 1836 0 548 0 1837 0 +r 1836 0 1829 0 1840 0 +r 1836 0 911 0 1838 0 +r 1837 0 2985 0 1836 0 +r 1837 0 1 0 545 0 [d 1 0 0 1 -11.0 10.0 +r 1838 0 1 0 504 0 +r 1838 0 3059 0 1836 0 +r 1838 0 479 0 1828 23 +r 1838 0 487 0 1839 0 +r 1839 0 488 0 1838 0 +r 1839 0 2 0 507 0 +r 1839 0 3 0 3237 0 +r 1839 0 1039 0 1369 0 +r 1840 0 1 0 1359 0 +r 1840 0 3235 0 1836 0 +r 1840 0 548 0 1841 0 +r 1840 0 1829 0 1829 0 +r 1840 0 911 0 1842 0 +r 1841 0 2985 0 1840 0 +r 1841 0 1 0 545 0 [d 1 0 0 1 35.0 0.0 +r 1842 0 1 0 504 0 +r 1842 0 3059 0 1840 0 +r 1842 0 479 0 1828 23 +r 1842 0 487 0 1843 0 +r 1843 0 488 0 1842 0 +r 1843 0 2 0 507 0 +r 1843 0 3 0 3238 0 +r 1843 0 1039 0 1373 0 +r 1844 0 1032 0 1850 24 +r 1844 0 472 0 1848 0 +r 1844 0 472 0 1846 0 +r 1844 0 472 0 1845 0 +r 1844 0 4 0 466 0 +r 1844 0 5 0 2736 0 +r 1844 0 70 0 1849 0 +r 1844 0 7 0 1347 0 +r 1845 0 1 0 504 0 +r 1845 0 479 0 1844 0 +r 1845 0 487 0 1366 0 +r 1846 0 1 0 504 0 +r 1846 0 479 0 1844 0 +r 1846 0 487 0 1373 0 +r 1847 0 1 0 14 0 b false +r 1847 0 2922 0 1849 0 +r 1848 0 1 0 489 0 +r 1848 0 479 0 1844 0 +r 1848 0 487 0 1385 0 +r 1849 0 2920 0 1844 0 +r 1849 0 72 0 1847 0 +r 1849 0 1 0 151 0 +r 1849 0 71 0 1385 0 +r 1850 24 472 0 1860 0 +r 1850 24 472 0 1856 0 +r 1850 24 474 0 1851 0 +r 1850 24 4 0 912 0 +r 1850 24 5 0 2727 0 +r 1850 24 1031 0 1844 0 +r 1851 0 1 0 903 0 +r 1851 0 2 0 110 0 +r 1851 0 3 0 3239 0 +r 1851 0 1851 0 1852 0 +r 1851 0 476 0 1850 24 +r 1851 0 3239 0 1858 0 +r 1852 0 1 0 913 0 +r 1852 0 1851 0 1854 0 +r 1852 0 661 0 1853 0 +r 1852 0 3239 0 1851 0 +r 1853 0 1 0 10 0 s +r 1853 0 3019 0 1852 0 +r 1854 0 1 0 1359 0 +r 1854 0 1851 0 1858 0 +r 1854 0 548 0 1855 0 +r 1854 0 3239 0 1852 0 +r 1854 0 911 0 1856 0 +r 1855 0 2985 0 1854 0 +r 1855 0 1 0 545 0 [d 1 0 0 1 -1.0 0.0 +r 1856 0 1 0 504 0 +r 1856 0 3059 0 1854 0 +r 1856 0 479 0 1850 24 +r 1856 0 487 0 1857 0 +r 1857 0 488 0 1856 0 +r 1857 0 2 0 507 0 +r 1857 0 3 0 3240 0 +r 1857 0 1039 0 1366 0 +r 1858 0 1 0 1359 0 +r 1858 0 1851 0 1851 0 +r 1858 0 548 0 1859 0 +r 1858 0 3239 0 1854 0 +r 1858 0 911 0 1860 0 +r 1859 0 2985 0 1858 0 +r 1859 0 1 0 545 0 [d 1 0 0 1 8.3 0.0 +r 1860 0 1 0 504 0 +r 1860 0 3059 0 1858 0 +r 1860 0 479 0 1850 24 +r 1860 0 487 0 1861 0 +r 1861 0 488 0 1860 0 +r 1861 0 2 0 507 0 +r 1861 0 3 0 3241 0 +r 1861 0 1039 0 1373 0 +r 1862 0 1032 0 1864 25 +r 1862 0 472 0 1863 0 +r 1862 0 4 0 466 0 +r 1862 0 5 0 2763 0 +r 1862 0 7 0 1347 0 +r 1863 0 1 0 504 0 +r 1863 0 479 0 1862 0 +r 1863 0 487 0 1373 0 +r 1864 25 472 0 1870 0 +r 1864 25 474 0 1865 0 +r 1864 25 4 0 912 0 +r 1864 25 5 0 2751 0 +r 1864 25 1031 0 1862 0 +r 1865 0 1 0 903 0 +r 1865 0 1865 0 1866 0 +r 1865 0 3242 0 1868 0 +r 1865 0 2 0 110 0 +r 1865 0 3 0 3242 0 +r 1865 0 476 0 1864 25 +r 1866 0 1865 0 1868 0 +r 1866 0 1 0 913 0 +r 1866 0 3242 0 1865 0 +r 1866 0 661 0 1867 0 +r 1867 0 1 0 10 0 s F +r 1867 0 3019 0 1866 0 +r 1868 0 1865 0 1865 0 +r 1868 0 1 0 1359 0 +r 1868 0 3242 0 1866 0 +r 1868 0 548 0 1869 0 +r 1868 0 911 0 1870 0 +r 1869 0 2985 0 1868 0 +r 1869 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1870 0 1 0 504 0 +r 1870 0 3059 0 1868 0 +r 1870 0 479 0 1864 25 +r 1870 0 487 0 1871 0 +r 1871 0 488 0 1870 0 +r 1871 0 2 0 507 0 +r 1871 0 3 0 3243 0 +r 1871 0 1039 0 1373 0 +r 1872 0 1032 0 1878 26 +r 1872 0 472 0 1876 0 +r 1872 0 472 0 1874 0 +r 1872 0 472 0 1873 0 +r 1872 0 4 0 466 0 +r 1872 0 5 0 2686 0 +r 1872 0 70 0 1877 0 +r 1872 0 7 0 1347 0 +r 1873 0 1 0 504 0 +r 1873 0 479 0 1872 0 +r 1873 0 487 0 1366 0 +r 1874 0 1 0 504 0 +r 1874 0 479 0 1872 0 +r 1874 0 487 0 1373 0 +r 1875 0 1 0 12 0 d 0.0 +r 1875 0 2922 0 1877 0 +r 1876 0 1 0 489 0 +r 1876 0 479 0 1872 0 +r 1876 0 487 0 1386 0 +r 1877 0 2920 0 1872 0 +r 1877 0 72 0 1875 0 +r 1877 0 1 0 151 0 +r 1877 0 71 0 1386 0 +r 1878 26 472 0 1888 0 +r 1878 26 472 0 1884 0 +r 1878 26 474 0 1879 0 +r 1878 26 4 0 912 0 +r 1878 26 5 0 2710 0 +r 1878 26 1031 0 1872 0 +r 1879 0 1 0 903 0 +r 1879 0 2 0 110 0 +r 1879 0 3 0 3244 0 +r 1879 0 3244 0 1886 0 +r 1879 0 476 0 1878 26 +r 1879 0 1879 0 1880 0 +r 1880 0 1 0 913 0 +r 1880 0 3244 0 1879 0 +r 1880 0 661 0 1881 0 +r 1880 0 1879 0 1882 0 +r 1881 0 1 0 10 0 s >= +r 1881 0 3019 0 1880 0 +r 1882 0 1 0 1359 0 +r 1882 0 3244 0 1880 0 +r 1882 0 548 0 1883 0 +r 1882 0 1879 0 1886 0 +r 1882 0 911 0 1884 0 +r 1883 0 2985 0 1882 0 +r 1883 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1884 0 1 0 504 0 +r 1884 0 3059 0 1882 0 +r 1884 0 479 0 1878 26 +r 1884 0 487 0 1885 0 +r 1885 0 488 0 1884 0 +r 1885 0 2 0 507 0 +r 1885 0 3 0 3245 0 +r 1885 0 1039 0 1366 0 +r 1886 0 1 0 1359 0 +r 1886 0 3244 0 1882 0 +r 1886 0 548 0 1887 0 +r 1886 0 1879 0 1879 0 +r 1886 0 911 0 1888 0 +r 1887 0 2985 0 1886 0 +r 1887 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1888 0 1 0 504 0 +r 1888 0 3059 0 1886 0 +r 1888 0 479 0 1878 26 +r 1888 0 487 0 1889 0 +r 1889 0 488 0 1888 0 +r 1889 0 2 0 507 0 +r 1889 0 3 0 3246 0 +r 1889 0 1039 0 1373 0 +r 1890 0 1032 0 1894 27 +r 1890 0 472 0 1893 0 +r 1890 0 472 0 1892 0 +r 1890 0 472 0 1891 0 +r 1890 0 4 0 466 0 +r 1890 0 5 0 2684 0 +r 1890 0 7 0 1347 0 +r 1891 0 1 0 504 0 +r 1891 0 479 0 1890 0 +r 1891 0 487 0 1368 0 +r 1892 0 1 0 504 0 +r 1892 0 479 0 1890 0 +r 1892 0 487 0 1369 0 +r 1893 0 1 0 504 0 +r 1893 0 479 0 1890 0 +r 1893 0 487 0 1373 0 +r 1894 27 472 0 1908 0 +r 1894 27 472 0 1904 0 +r 1894 27 472 0 1900 0 +r 1894 27 474 0 1895 0 +r 1894 27 4 0 912 0 +r 1894 27 5 0 2697 0 +r 1894 27 1031 0 1890 0 +r 1895 0 1 0 903 0 +r 1895 0 2 0 110 0 +r 1895 0 3 0 3247 0 +r 1895 0 476 0 1894 27 +r 1895 0 3247 0 1906 0 +r 1895 0 1895 0 1896 0 +r 1896 0 1 0 913 0 +r 1896 0 661 0 1897 0 +r 1896 0 3247 0 1895 0 +r 1896 0 1895 0 1898 0 +r 1897 0 1 0 10 0 s > +r 1897 0 3019 0 1896 0 +r 1898 0 1 0 1359 0 +r 1898 0 548 0 1899 0 +r 1898 0 3247 0 1896 0 +r 1898 0 1895 0 1902 0 +r 1898 0 911 0 1900 0 +r 1899 0 2985 0 1898 0 +r 1899 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1900 0 1 0 504 0 +r 1900 0 3059 0 1898 0 +r 1900 0 479 0 1894 27 +r 1900 0 487 0 1901 0 +r 1901 0 488 0 1900 0 +r 1901 0 2 0 507 0 +r 1901 0 3 0 3248 0 +r 1901 0 1039 0 1368 0 +r 1902 0 1 0 1359 0 +r 1902 0 548 0 1903 0 +r 1902 0 3247 0 1898 0 +r 1902 0 1895 0 1906 0 +r 1902 0 911 0 1904 0 +r 1903 0 2985 0 1902 0 +r 1903 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1904 0 1 0 504 0 +r 1904 0 3059 0 1902 0 +r 1904 0 479 0 1894 27 +r 1904 0 487 0 1905 0 +r 1905 0 488 0 1904 0 +r 1905 0 2 0 507 0 +r 1905 0 3 0 3249 0 +r 1905 0 1039 0 1369 0 +r 1906 0 1 0 1359 0 +r 1906 0 548 0 1907 0 +r 1906 0 3247 0 1902 0 +r 1906 0 1895 0 1895 0 +r 1906 0 911 0 1908 0 +r 1907 0 2985 0 1906 0 +r 1907 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1908 0 1 0 504 0 +r 1908 0 3059 0 1906 0 +r 1908 0 479 0 1894 27 +r 1908 0 487 0 1909 0 +r 1909 0 488 0 1908 0 +r 1909 0 2 0 507 0 +r 1909 0 3 0 3250 0 +r 1909 0 1039 0 1373 0 +r 1910 0 1032 0 1913 28 +r 1910 0 472 0 1912 0 +r 1910 0 472 0 1911 0 +r 1910 0 4 0 466 0 +r 1910 0 5 0 2694 0 +r 1910 0 7 0 1347 0 +r 1911 0 1 0 504 0 +r 1911 0 479 0 1910 0 +r 1911 0 487 0 1366 0 +r 1912 0 1 0 504 0 +r 1912 0 479 0 1910 0 +r 1912 0 487 0 1373 0 +r 1913 28 472 0 1923 0 +r 1913 28 472 0 1919 0 +r 1913 28 474 0 1914 0 +r 1913 28 4 0 912 0 +r 1913 28 5 0 2672 0 +r 1913 28 1031 0 1910 0 +r 1914 0 1 0 903 0 +r 1914 0 2 0 110 0 +r 1914 0 1914 0 1915 0 +r 1914 0 3251 0 1921 0 +r 1914 0 3 0 3251 0 +r 1914 0 476 0 1913 28 +r 1915 0 1 0 913 0 +r 1915 0 1914 0 1917 0 +r 1915 0 3251 0 1914 0 +r 1915 0 661 0 1916 0 +r 1916 0 1 0 10 0 s <= +r 1916 0 3019 0 1915 0 +r 1917 0 1 0 1359 0 +r 1917 0 1914 0 1921 0 +r 1917 0 3251 0 1915 0 +r 1917 0 548 0 1918 0 +r 1917 0 911 0 1919 0 +r 1918 0 2985 0 1917 0 +r 1918 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1919 0 1 0 504 0 +r 1919 0 3059 0 1917 0 +r 1919 0 479 0 1913 28 +r 1919 0 487 0 1920 0 +r 1920 0 488 0 1919 0 +r 1920 0 2 0 507 0 +r 1920 0 3 0 3252 0 +r 1920 0 1039 0 1366 0 +r 1921 0 1 0 1359 0 +r 1921 0 1914 0 1914 0 +r 1921 0 3251 0 1917 0 +r 1921 0 548 0 1922 0 +r 1921 0 911 0 1923 0 +r 1922 0 2985 0 1921 0 +r 1922 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1923 0 1 0 504 0 +r 1923 0 3059 0 1921 0 +r 1923 0 479 0 1913 28 +r 1923 0 487 0 1924 0 +r 1924 0 488 0 1923 0 +r 1924 0 2 0 507 0 +r 1924 0 3 0 3253 0 +r 1924 0 1039 0 1373 0 +r 1925 0 1032 0 1932 29 +r 1925 0 472 0 1930 0 +r 1925 0 472 0 1928 0 +r 1925 0 472 0 1927 0 +r 1925 0 472 0 1926 0 +r 1925 0 4 0 466 0 +r 1925 0 5 0 2680 0 +r 1925 0 70 0 1931 0 +r 1925 0 7 0 1347 0 +r 1926 0 1 0 504 0 +r 1926 0 479 0 1925 0 +r 1926 0 487 0 1368 0 +r 1927 0 1 0 504 0 +r 1927 0 479 0 1925 0 +r 1927 0 487 0 1369 0 +r 1928 0 1 0 504 0 +r 1928 0 479 0 1925 0 +r 1928 0 487 0 1373 0 +r 1929 0 1 0 12 0 d 0.0 +r 1929 0 2922 0 1931 0 +r 1930 0 1 0 489 0 +r 1930 0 479 0 1925 0 +r 1930 0 487 0 1386 0 +r 1931 0 2920 0 1925 0 +r 1931 0 72 0 1929 0 +r 1931 0 1 0 151 0 +r 1931 0 71 0 1386 0 +r 1932 29 472 0 1946 0 +r 1932 29 472 0 1942 0 +r 1932 29 472 0 1938 0 +r 1932 29 474 0 1933 0 +r 1932 29 4 0 912 0 +r 1932 29 5 0 2700 0 +r 1932 29 1031 0 1925 0 +r 1933 0 1 0 903 0 +r 1933 0 2 0 110 0 +r 1933 0 3 0 3254 0 +r 1933 0 476 0 1932 29 +r 1933 0 1933 0 1934 0 +r 1933 0 3254 0 1944 0 +r 1934 0 1 0 913 0 +r 1934 0 1933 0 1936 0 +r 1934 0 661 0 1935 0 +r 1934 0 3254 0 1933 0 +r 1935 0 1 0 10 0 s < +r 1935 0 3019 0 1934 0 +r 1936 0 1 0 1359 0 +r 1936 0 548 0 1937 0 +r 1936 0 1933 0 1940 0 +r 1936 0 3254 0 1934 0 +r 1936 0 911 0 1938 0 +r 1937 0 2985 0 1936 0 +r 1937 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1938 0 1 0 504 0 +r 1938 0 3059 0 1936 0 +r 1938 0 479 0 1932 29 +r 1938 0 487 0 1939 0 +r 1939 0 488 0 1938 0 +r 1939 0 2 0 507 0 +r 1939 0 3 0 3255 0 +r 1939 0 1039 0 1368 0 +r 1940 0 1 0 1359 0 +r 1940 0 548 0 1941 0 +r 1940 0 1933 0 1944 0 +r 1940 0 3254 0 1936 0 +r 1940 0 911 0 1942 0 +r 1941 0 2985 0 1940 0 +r 1941 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1942 0 1 0 504 0 +r 1942 0 3059 0 1940 0 +r 1942 0 479 0 1932 29 +r 1942 0 487 0 1943 0 +r 1943 0 488 0 1942 0 +r 1943 0 2 0 507 0 +r 1943 0 3 0 3256 0 +r 1943 0 1039 0 1369 0 +r 1944 0 1 0 1359 0 +r 1944 0 548 0 1945 0 +r 1944 0 1933 0 1933 0 +r 1944 0 3254 0 1940 0 +r 1944 0 911 0 1946 0 +r 1945 0 2985 0 1944 0 +r 1945 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1946 0 1 0 504 0 +r 1946 0 3059 0 1944 0 +r 1946 0 479 0 1932 29 +r 1946 0 487 0 1947 0 +r 1947 0 488 0 1946 0 +r 1947 0 2 0 507 0 +r 1947 0 3 0 3257 0 +r 1947 0 1039 0 1373 0 +r 1948 0 1032 0 1958 30 +r 1948 0 472 0 1956 0 +r 1948 0 472 0 1953 0 +r 1948 0 472 0 1951 0 +r 1948 0 472 0 1950 0 +r 1948 0 472 0 1949 0 +r 1948 0 4 0 466 0 +r 1948 0 5 0 2688 0 +r 1948 0 70 0 1957 0 +r 1948 0 70 0 1954 0 +r 1948 0 7 0 1347 0 +r 1949 0 1 0 504 0 +r 1949 0 479 0 1948 0 +r 1949 0 487 0 1368 0 +r 1950 0 1 0 504 0 +r 1950 0 479 0 1948 0 +r 1950 0 487 0 1369 0 +r 1951 0 1 0 504 0 +r 1951 0 479 0 1948 0 +r 1951 0 487 0 1373 0 +r 1952 0 1 0 12 0 d 1.0 +r 1952 0 2922 0 1954 0 +r 1953 0 1 0 489 0 +r 1953 0 479 0 1948 0 +r 1953 0 487 0 1382 0 +r 1954 0 2920 0 1948 0 +r 1954 0 72 0 1952 0 +r 1954 0 1 0 151 0 +r 1954 0 71 0 1382 0 +r 1955 0 1 0 12 0 d 1.0 +r 1955 0 2922 0 1957 0 +r 1956 0 1 0 489 0 +r 1956 0 479 0 1948 0 +r 1956 0 487 0 1383 0 +r 1957 0 2920 0 1948 0 +r 1957 0 72 0 1955 0 +r 1957 0 1 0 151 0 +r 1957 0 71 0 1383 0 +r 1958 30 472 0 1972 0 +r 1958 30 472 0 1968 0 +r 1958 30 472 0 1964 0 +r 1958 30 474 0 1959 0 +r 1958 30 4 0 912 0 +r 1958 30 5 0 2685 0 +r 1958 30 1031 0 1948 0 +r 1959 0 1 0 903 0 +r 1959 0 3258 0 1970 0 +r 1959 0 2 0 110 0 +r 1959 0 3 0 3258 0 +r 1959 0 476 0 1958 30 +r 1959 0 1959 0 1960 0 +r 1960 0 1 0 913 0 +r 1960 0 3258 0 1959 0 +r 1960 0 661 0 1961 0 +r 1960 0 1959 0 1962 0 +r 1961 0 1 0 10 0 s + +r 1961 0 3019 0 1960 0 +r 1962 0 1 0 1359 0 +r 1962 0 3258 0 1960 0 +r 1962 0 548 0 1963 0 +r 1962 0 1959 0 1966 0 +r 1962 0 911 0 1964 0 +r 1963 0 2985 0 1962 0 +r 1963 0 1 0 545 0 [d 1 0 0 1 -4 -2 +r 1964 0 1 0 504 0 +r 1964 0 3059 0 1962 0 +r 1964 0 479 0 1958 30 +r 1964 0 487 0 1965 0 +r 1965 0 488 0 1964 0 +r 1965 0 2 0 507 0 +r 1965 0 3 0 3259 0 +r 1965 0 1039 0 1368 0 +r 1966 0 1 0 1359 0 +r 1966 0 3258 0 1962 0 +r 1966 0 548 0 1967 0 +r 1966 0 1959 0 1970 0 +r 1966 0 911 0 1968 0 +r 1967 0 2985 0 1966 0 +r 1967 0 1 0 545 0 [d 1 0 0 1 -4 2 +r 1968 0 1 0 504 0 +r 1968 0 3059 0 1966 0 +r 1968 0 479 0 1958 30 +r 1968 0 487 0 1969 0 +r 1969 0 488 0 1968 0 +r 1969 0 2 0 507 0 +r 1969 0 3 0 3260 0 +r 1969 0 1039 0 1369 0 +r 1970 0 1 0 1359 0 +r 1970 0 3258 0 1966 0 +r 1970 0 548 0 1971 0 +r 1970 0 1959 0 1959 0 +r 1970 0 911 0 1972 0 +r 1971 0 2985 0 1970 0 +r 1971 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1972 0 1 0 504 0 +r 1972 0 3059 0 1970 0 +r 1972 0 479 0 1958 30 +r 1972 0 487 0 1973 0 +r 1973 0 488 0 1972 0 +r 1973 0 2 0 507 0 +r 1973 0 3 0 3261 0 +r 1973 0 1039 0 1373 0 +r 1974 0 1032 0 1980 31 +r 1974 0 472 0 1978 0 +r 1974 0 472 0 1976 0 +r 1974 0 472 0 1975 0 +r 1974 0 4 0 466 0 +r 1974 0 5 0 2732 0 +r 1974 0 70 0 1979 0 +r 1974 0 7 0 1347 0 +r 1975 0 1 0 504 0 +r 1975 0 479 0 1974 0 +r 1975 0 487 0 1366 0 +r 1976 0 1 0 504 0 +r 1976 0 479 0 1974 0 +r 1976 0 487 0 1373 0 +r 1977 0 1 0 12 0 d 0.0 +r 1977 0 2922 0 1979 0 +r 1978 0 1 0 489 0 +r 1978 0 479 0 1974 0 +r 1978 0 487 0 1380 0 +r 1979 0 2920 0 1974 0 +r 1979 0 72 0 1977 0 +r 1979 0 1 0 151 0 +r 1979 0 71 0 1380 0 +r 1980 31 472 0 1990 0 +r 1980 31 472 0 1986 0 +r 1980 31 474 0 1981 0 +r 1980 31 4 0 912 0 +r 1980 31 5 0 2762 0 +r 1980 31 1031 0 1974 0 +r 1981 0 1 0 903 0 +r 1981 0 2 0 110 0 +r 1981 0 3 0 3262 0 +r 1981 0 476 0 1980 31 +r 1981 0 1981 0 1982 0 +r 1981 0 3262 0 1988 0 +r 1982 0 1 0 913 0 +r 1982 0 1981 0 1984 0 +r 1982 0 661 0 1983 0 +r 1982 0 3262 0 1981 0 +r 1983 0 1 0 10 0 s SET +r 1983 0 3019 0 1982 0 +r 1984 0 1 0 1359 0 +r 1984 0 548 0 1985 0 +r 1984 0 1981 0 1988 0 +r 1984 0 3262 0 1982 0 +r 1984 0 911 0 1986 0 +r 1985 0 2985 0 1984 0 +r 1985 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 1986 0 1 0 504 0 +r 1986 0 3059 0 1984 0 +r 1986 0 479 0 1980 31 +r 1986 0 487 0 1987 0 +r 1987 0 488 0 1986 0 +r 1987 0 2 0 507 0 +r 1987 0 3 0 3263 0 +r 1987 0 1039 0 1366 0 +r 1988 0 1 0 1359 0 +r 1988 0 548 0 1989 0 +r 1988 0 1981 0 1981 0 +r 1988 0 3262 0 1984 0 +r 1988 0 911 0 1990 0 +r 1989 0 2985 0 1988 0 +r 1989 0 1 0 545 0 [d 1 0 0 1 4 0 +r 1990 0 1 0 504 0 +r 1990 0 3059 0 1988 0 +r 1990 0 479 0 1980 31 +r 1990 0 487 0 1991 0 +r 1991 0 488 0 1990 0 +r 1991 0 2 0 507 0 +r 1991 0 3 0 3264 0 +r 1991 0 1039 0 1373 0 +r 1992 0 1032 0 1995 32 +r 1992 0 472 0 1994 0 +r 1992 0 472 0 1993 0 +r 1992 0 4 0 466 0 +r 1992 0 5 0 2669 0 +r 1992 0 7 0 1347 0 +r 1993 0 1 0 504 0 +r 1993 0 479 0 1992 0 +r 1993 0 487 0 1366 0 +r 1994 0 1 0 504 0 +r 1994 0 479 0 1992 0 +r 1994 0 487 0 1373 0 +r 1995 32 472 0 2005 0 +r 1995 32 472 0 2001 0 +r 1995 32 474 0 1996 0 +r 1995 32 4 0 912 0 +r 1995 32 5 0 2745 0 +r 1995 32 1031 0 1992 0 +r 1996 0 3265 0 2003 0 +r 1996 0 1 0 903 0 +r 1996 0 2 0 110 0 +r 1996 0 3 0 3265 0 +r 1996 0 476 0 1995 32 +r 1996 0 1996 0 1997 0 +r 1997 0 3265 0 1996 0 +r 1997 0 1 0 913 0 +r 1997 0 1996 0 1999 0 +r 1997 0 661 0 1998 0 +r 1998 0 1 0 10 0 s e^x +r 1998 0 3019 0 1997 0 +r 1999 0 3265 0 1997 0 +r 1999 0 1 0 1359 0 +r 1999 0 1996 0 2003 0 +r 1999 0 548 0 2000 0 +r 1999 0 911 0 2001 0 +r 2000 0 2985 0 1999 0 +r 2000 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 2001 0 1 0 504 0 +r 2001 0 3059 0 1999 0 +r 2001 0 479 0 1995 32 +r 2001 0 487 0 2002 0 +r 2002 0 488 0 2001 0 +r 2002 0 2 0 507 0 +r 2002 0 3 0 3266 0 +r 2002 0 1039 0 1366 0 +r 2003 0 3265 0 1999 0 +r 2003 0 1 0 1359 0 +r 2003 0 1996 0 1996 0 +r 2003 0 548 0 2004 0 +r 2003 0 911 0 2005 0 +r 2004 0 2985 0 2003 0 +r 2004 0 1 0 545 0 [d 1 0 0 1 4 0 +r 2005 0 1 0 504 0 +r 2005 0 3059 0 2003 0 +r 2005 0 479 0 1995 32 +r 2005 0 487 0 2006 0 +r 2006 0 488 0 2005 0 +r 2006 0 2 0 507 0 +r 2006 0 3 0 3267 0 +r 2006 0 1039 0 1373 0 +r 2007 0 1032 0 2013 0 +r 2007 0 472 0 2011 0 +r 2007 0 472 0 2009 0 +r 2007 0 472 0 2008 0 +r 2007 0 4 0 466 0 +r 2007 0 5 0 2757 0 +r 2007 0 70 0 2012 0 +r 2007 0 7 0 1347 0 +r 2008 0 1 0 504 0 +r 2008 0 479 0 2007 0 +r 2008 0 487 0 1366 0 +r 2009 0 1 0 504 0 +r 2009 0 479 0 2007 0 +r 2009 0 487 0 1373 0 +r 2010 0 1 0 14 0 b true +r 2010 0 2922 0 2012 0 +r 2011 0 1 0 489 0 +r 2011 0 479 0 2007 0 +r 2011 0 487 0 1380 0 +r 2012 0 2920 0 2007 0 +r 2012 0 72 0 2010 0 +r 2012 0 1 0 151 0 +r 2012 0 71 0 1380 0 +r 2013 0 472 0 2023 0 +r 2013 0 472 0 2019 0 +r 2013 0 474 0 2014 0 +r 2013 0 4 0 912 0 +r 2013 0 5 0 2733 0 +r 2013 0 7 0 1347 0 +r 2013 0 1031 0 2007 0 +r 2014 0 1 0 903 0 +r 2014 0 2 0 110 0 +r 2014 0 3 0 3268 0 +r 2014 0 3268 0 2021 0 +r 2014 0 476 0 2013 0 +r 2014 0 2014 0 2015 0 +r 2015 0 1 0 913 0 +r 2015 0 3268 0 2014 0 +r 2015 0 661 0 2016 0 +r 2015 0 2014 0 2017 0 +r 2016 0 1 0 10 0 s BTV +r 2016 0 3019 0 2015 0 +r 2017 0 1 0 1359 0 +r 2017 0 3268 0 2015 0 +r 2017 0 548 0 2018 0 +r 2017 0 2014 0 2021 0 +r 2017 0 911 0 2019 0 +r 2018 0 2985 0 2017 0 +r 2018 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 2019 0 1 0 504 0 +r 2019 0 3059 0 2017 0 +r 2019 0 479 0 2013 0 +r 2019 0 487 0 2020 0 +r 2020 0 488 0 2019 0 +r 2020 0 2 0 507 0 +r 2020 0 3 0 3269 0 +r 2020 0 1039 0 1366 0 +r 2021 0 1 0 1359 0 +r 2021 0 3268 0 2017 0 +r 2021 0 548 0 2022 0 +r 2021 0 2014 0 2014 0 +r 2021 0 911 0 2023 0 +r 2022 0 2985 0 2021 0 +r 2022 0 1 0 545 0 [d 1 0 0 1 4 0 +r 2023 0 1 0 504 0 +r 2023 0 3059 0 2021 0 +r 2023 0 479 0 2013 0 +r 2023 0 487 0 2024 0 +r 2024 0 488 0 2023 0 +r 2024 0 2 0 507 0 +r 2024 0 3 0 3270 0 +r 2024 0 1039 0 1373 0 +r 2025 0 1040 0 2039 0 +r 2025 0 488 0 2029 0 +r 2025 0 2 0 507 0 +r 2025 0 3 0 3271 0 +r 2025 0 5 0 2695 0 +r 2025 0 7 0 1347 0 +r 2026 0 1040 0 2043 0 +r 2026 0 488 0 2030 0 +r 2026 0 2 0 507 0 +r 2026 0 3 0 3272 0 +r 2026 0 5 0 2764 0 +r 2026 0 7 0 1347 0 +r 2027 0 1040 0 2047 0 +r 2027 0 488 0 2031 0 +r 2027 0 2 0 507 0 +r 2027 0 3 0 3273 0 +r 2027 0 5 0 2714 0 +r 2027 0 7 0 1347 0 +r 2028 0 1032 0 2032 33 +r 2028 0 472 0 2031 0 +r 2028 0 472 0 2030 0 +r 2028 0 472 0 2029 0 +r 2028 0 4 0 466 0 +r 2028 0 5 0 2671 0 +r 2028 0 7 0 1347 0 +r 2029 0 1 0 504 0 +r 2029 0 479 0 2028 0 +r 2029 0 487 0 2025 0 +r 2030 0 1 0 504 0 +r 2030 0 479 0 2028 0 +r 2030 0 487 0 2026 0 +r 2031 0 1 0 504 0 +r 2031 0 479 0 2028 0 +r 2031 0 487 0 2027 0 +r 2032 33 472 0 2046 0 +r 2032 33 472 0 2042 0 +r 2032 33 472 0 2038 0 +r 2032 33 474 0 2033 0 +r 2032 33 4 0 912 0 +r 2032 33 5 0 2701 0 +r 2032 33 1031 0 2028 0 +r 2033 0 1 0 903 0 +r 2033 0 2033 0 2034 0 +r 2033 0 3274 0 2044 0 +r 2033 0 2 0 110 0 +r 2033 0 3 0 3274 0 +r 2033 0 476 0 2032 33 +r 2034 0 2033 0 2036 0 +r 2034 0 1 0 913 0 +r 2034 0 3274 0 2033 0 +r 2034 0 661 0 2035 0 +r 2035 0 1 0 10 0 s B +r 2035 0 3019 0 2034 0 +r 2036 0 2033 0 2040 0 +r 2036 0 1 0 1359 0 +r 2036 0 3274 0 2034 0 +r 2036 0 548 0 2037 0 +r 2036 0 911 0 2038 0 +r 2037 0 2985 0 2036 0 +r 2037 0 1 0 545 0 [d 1 0 0 1 -4 0 +r 2038 0 1 0 504 0 +r 2038 0 3059 0 2036 0 +r 2038 0 479 0 2032 33 +r 2038 0 487 0 2039 0 +r 2039 0 488 0 2038 0 +r 2039 0 2 0 507 0 +r 2039 0 3 0 3275 0 +r 2039 0 1039 0 2025 0 +r 2040 0 2033 0 2044 0 +r 2040 0 1 0 1359 0 +r 2040 0 3274 0 2036 0 +r 2040 0 548 0 2041 0 +r 2040 0 911 0 2042 0 +r 2041 0 2985 0 2040 0 +r 2041 0 1 0 545 0 [d 1 0 0 1 4 -2 +r 2042 0 1 0 504 0 +r 2042 0 3059 0 2040 0 +r 2042 0 479 0 2032 33 +r 2042 0 487 0 2043 0 +r 2043 0 488 0 2042 0 +r 2043 0 2 0 507 0 +r 2043 0 3 0 3276 0 +r 2043 0 1039 0 2026 0 +r 2044 0 2033 0 2033 0 +r 2044 0 1 0 1359 0 +r 2044 0 3274 0 2040 0 +r 2044 0 548 0 2045 0 +r 2044 0 911 0 2046 0 +r 2045 0 2985 0 2044 0 +r 2045 0 1 0 545 0 [d 1 0 0 1 4 2 +r 2046 0 1 0 504 0 +r 2046 0 3059 0 2044 0 +r 2046 0 479 0 2032 33 +r 2046 0 487 0 2047 0 +r 2047 0 488 0 2046 0 +r 2047 0 2 0 507 0 +r 2047 0 3 0 3277 0 +r 2047 0 1039 0 2027 0 diff --git a/sysdyn_ontologies/sysdyn.graph b/sysdyn_ontologies/sysdyn.graph new file mode 100644 index 00000000..a4dddeb8 --- /dev/null +++ b/sysdyn_ontologies/sysdyn.graph @@ -0,0 +1,94 @@ +%import "layer0.graph" L0 +%import "structural2.graph" ST + +%deflib L0.Type Sysdyn +%deflib L0.Relation Sysdyn + +###################################################################### +# Defines ontology and attaches it to TypeSystemProject +###################################################################### + +Sysdyn @ "Sysdyn-1.0" : L0.Ontology + L0.PartOf L0.TypeSystemProject + L0.PartOf L0.SimanticsDomain + L0.HasNamespace "http://www.simantics.org/Sysdyn" : L0.URI + L0.HasVersion "1.0" : L0.Version + L0.HasResourceClass "org.simantics.sysdyn.SysdynResource" : L0.String + L0.HasPackageName "sysdyn" : L0.String +SysdynNamespace : L0.Namespace + L0.PartOf L0.TypeSystemNamespaces + L0.HasNamespace "http://www.simantics.org/Sysdyn" : L0.URI + L0.HasNamespaceRoot Sysdyn + +###################################################################### +# Configuration +###################################################################### + +Configuration