diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000000000000000000000000000000000000..2b63946d5b31084bbb7dda418ceb3d75eb686373 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Palette2"> + <group name="Swing"> + <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" /> + </item> + <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true"> + <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" /> + <initial-values> + <property name="text" value="Button" /> + </initial-values> + </item> + <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="RadioButton" /> + </initial-values> + </item> + <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="CheckBox" /> + </initial-values> + </item> + <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="Label" /> + </initial-values> + </item> + <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1"> + <preferred-size width="-1" height="20" /> + </default-constraints> + </item> + <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" /> + </item> + </group> + </component> +</project> \ No newline at end of file diff --git a/Sequence_diagram.svg b/Sequence_diagram.svg new file mode 100644 index 0000000000000000000000000000000000000000..e52dec411f90115d424dc67ed009accc56099012 --- /dev/null +++ b/Sequence_diagram.svg @@ -0,0 +1 @@ +<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1819" height="3291"><desc>%23https%3A%2F%2Fsequencediagram.org%2F%0Atitle%20Internetworking%20WS%2023%2F24%0A%0Aparticipant%20CPClient%0Aparticipant%20CPProtocol%0Aparticipant%20PhyProtocol%0A%0Aparticipant%20DatagramSocket%0A%0Aparticipant%20DatagramPacket%0A%0Aparticipant%20PhyConfiguration%0A%0Aparticipant%20Configuration%0Aparticipant%20PhyMsg%0Aparticipant%20CPMsg%0A%0Aparticipant%20CPCookieRequestMsg%0A%0Aparticipant%20CPCookieResponseMsg%0Aparticipant%20Protocol%0A%0A%23To-Do%0A%23Sort%20into%20Blocks%0A%23Add%20Datagram%20Socket%0A%0Aparticipant%20%5B%0A%0A%5B-%3ECPClient%3Amain%0Aactivate%20CPClient%0A%0A%23Initializing%20PhyProtocol%20with%20everything%20in%20it%0ACPClient-%3EPhyProtocol%3A%3C%3Ccreate%3E%3E%0Aactivate%20PhyProtocol%0APhyProtocol-%3EDatagramSocket%3A%3C%3Ccreate%3E%3E%0Aactivate%20DatagramSocket%0ADatagramSocket--%3EPhyProtocol%3A%0Adeactivate%20DatagramSocket%0APhyProtocol--%3ECPClient%3A%0Adeactivate%20PhyProtocol%0ACPClient-%3ECPProtocol%3A%3C%3Ccreate%3E%3E%0Aactivate%20CPProtocol%0ACPProtocol-%3EPhyConfiguration%3A%3C%3Ccreate%3E%3E%0Aactivate%20PhyConfiguration%0APhyConfiguration-%3EConfiguration%3A%3C%3Ccreate%3E%3E%0Aactivate%20Configuration%0AConfiguration--%3EPhyConfiguration%3A%0Adeactivate%20Configuration%0APhyConfiguration--%3ECPProtocol%3A%0Adeactivate%20PhyConfiguration%0ACPProtocol--%3ECPClient%3A%0Adeactivate%20CPProtocol%0A%0A%23Sending%20message%20from%20User%20Input%0ACPClient-%3ECPProtocol%3Asend()%0Aactivate%20CPProtocol%0ACPProtocol-%3ECPProtocol%3ArequestCookie()%0Aactivate%20CPProtocol%0ACPProtocol-%3ECPCookieRequestMsg%3A%3C%3Ccreate%3E%3E%0Aactivate%20CPCookieRequestMsg%0ACPCookieRequestMsg-%3ECPMsg%3A%3C%3Ccreate%3E%3E%0Aactivate%20CPMsg%0ACPMsg--%3ECPCookieRequestMsg%3A%0Adeactivate%20CPMsg%0ACPCookieRequestMsg--%3ECPProtocol%3A%0Adeactivate%20CPCookieRequestMsg%0ACPProtocol-%3ECPCookieRequestMsg%3Acreate()%0Aactivate%20CPCookieRequestMsg%0ACPCookieRequestMsg-%3ECPMsg%3Acreate()%0Aactivate%20CPMsg%0ACPMsg--%3ECPCookieRequestMsg%3A%0Adeactivate%20CPMsg%0ACPCookieRequestMsg--%3ECPProtocol%3A%0Adeactivate%20CPCookieRequestMsg%0A%0A%23calling%20send()%20in%20requestCookie()%0ACPProtocol-%3EPhyProtocol%3Asend()%0Aactivate%20PhyProtocol%0APhyProtocol-%3EPhyMsg%3A%3C%3Ccreate%3E%3E%0Aactivate%20PhyMsg%0APhyMsg--%3EPhyProtocol%3A%0Adeactivate%20PhyMsg%0APhyProtocol--%3EPhyMsg%3Acreate()%0Aactivate%20PhyMsg%0APhyMsg--%3EPhyProtocol%3A%0Adeactivate%20PhyMsg%0APhyProtocol-%3EPhyProtocol%3Asend()%0Aactivate%20PhyProtocol%0APhyProtocol-%3EDatagramPacket%3A%3C%3Ccreate%3E%3E%0Aactivate%20DatagramPacket%0ADatagramPacket--%3EPhyProtocol%3A%0Adeactivate%20DatagramPacket%0APhyProtocol-%3EDatagramSocket%3Asend()%0Aactivate%20DatagramSocket%0ADatagramSocket--%3EPhyProtocol%3A%0Adeactivate%20DatagramSocket%0Aspace%0Adeactivate%20PhyProtocol%0APhyProtocol--%3ECPProtocol%3A%0Adeactivate%20PhyProtocol%0A%0A%23Receive%20with%20Timeout%0ACPProtocol-%3ECPMsg%3A%3C%3Ccreate%3E%3E%0Aactivate%20CPMsg%0ACPMsg--%3ECPProtocol%3A%0Adeactivate%20CPMsg%0ACPProtocol-%3EPhyProtocol%3Areceive%0Aactivate%20PhyProtocol%0APhyProtocol-%3EDatagramSocket%3AsetSoTimeout()%0Aactivate%20DatagramSocket%0ADatagramSocket--%3EPhyProtocol%3A%0Adeactivate%20DatagramSocket%0APhyProtocol-%3EPhyProtocol%3Areceive%0Aactivate%20PhyProtocol%0APhyProtocol-%3EDatagramPacket%3A%3C%3Ccreate%3E%3E%0Aactivate%20DatagramPacket%0ADatagramPacket--%3EPhyProtocol%3A%0Adeactivate%20DatagramPacket%0A%0APhyProtocol-%3EDatagramSocket%3Areceive()%0Aactivate%20DatagramSocket%0ADatagramSocket--%3EPhyProtocol%3A%0Adeactivate%20DatagramSocket%0APhyProtocol-%3EPhyMsg%3A%3C%3Ccreate%3E%3E%0Aactivate%20PhyMsg%0APhyMsg--%3EPhyProtocol%3A%0Adeactivate%20PhyMsg%0APhyProtocol-%3EPhyMsg%3Aparse()%0Aactivate%20PhyMsg%0APhyMsg--%3EPhyProtocol%3A%0Adeactivate%20PhyMsg%0APhyProtocol-%3EPhyConfiguration%3A%3C%3Ccreate%3E%3E%0Aactivate%20PhyConfiguration%0APhyConfiguration--%3EPhyProtocol%3A%0Adeactivate%20PhyConfiguration%0A%0APhyProtocol-%3EPhyMsg%3AsetConfiguration()%0Aactivate%20PhyMsg%0APhyMsg--%3EPhyProtocol%3A%0Adeactivate%20PhyMsg%0Aspace%0Adeactivate%20PhyProtocol%0APhyProtocol-%3EDatagramSocket%3AsetTimeout()%0Aactivate%20DatagramSocket%0ADatagramSocket--%3EPhyProtocol%3A%0Adeactivate%20DatagramSocket%0APhyProtocol--%3ECPProtocol%3A%0Adeactivate%20PhyProtocol%0A%0A%23Creates%20Cookie%20Response%20Msg%0ACPProtocol-%3ECPMsg%3Aparse()%0Aactivate%20CPMsg%0ACPCookieRequestMsg%3C-CPMsg%3A%3C%3Ccreate%3E%3E%0Aactivate%20CPCookieRequestMsg%0ACPCookieRequestMsg--%3ECPMsg%3A%0Adeactivate%20CPCookieRequestMsg%0ACPMsg-%3ECPCookieResponseMsg%3A%3C%3Ccreate%3E%3E%0Aactivate%20CPCookieResponseMsg%0ACPCookieResponseMsg--%3ECPMsg%3A%0Adeactivate%20CPCookieResponseMsg%0ACPMsg-%3ECPMsg%3Aparse()%0Aactivate%20CPMsg%0Aspace%0Adeactivate%20CPMsg%0ACPMsg--%3ECPProtocol%3A%0Adeactivate%20CPMsg%0Aspace%0Adeactivate%20CPProtocol%0ACPProtocol--%3ECPClient%3A%0A%0Adeactivate%20CPProtocol%0ACPClient-%3ECPProtocol%3Areceive%0Aactivate%20CPProtocol%0ACPProtocol--%3ECPClient%3A%0Adeactivate%20CPProtocol%0A%0A</desc><defs/><g><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g><rect fill="white" stroke="none" x="0" y="0" width="1819" height="3291"/></g><g><text fill="black" stroke="none" font-family="sans-serif" font-size="16.5pt" font-style="normal" font-weight="normal" text-decoration="normal" x="783.1447998925831" y="24.50280495" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Internetworking WS 23/24</text></g><g/><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 91.67096821165364 95.887643371 L 91.67096821165364 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 226.5559561986979 95.887643371 L 226.5559561986979 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 385.3014947052083 95.887643371 L 385.3014947052083 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 553.0283702309245 95.887643371 L 553.0283702309245 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 713.9948941352839 95.887643371 L 713.9948941352839 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 876.6006392310495 95.887643371 L 876.6006392310495 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1028.2149750250574 95.887643371 L 1028.2149750250574 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1150.0762819494362 95.887643371 L 1150.0762819494362 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1252.3670932683463 95.887643371 L 1252.3670932683463 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1402.3279027562016 95.887643371 L 1402.3279027562016 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1608.1118857670062 95.887643371 L 1608.1118857670062 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1766.6374611850374 95.887643371 L 1766.6374611850374 3291.053408850996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/></g><g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 45.024588915333325 51.782594461 L 138.31734750797398 51.782594461 L 138.31734750797398 95.887643371 L 45.024588915333325 95.887643371 L 45.024588915333325 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="62.74828449583333" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">CPClient</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 171.75997973440883 51.782594461 L 281.351932662987 51.782594461 L 281.351932662987 95.887643371 L 171.75997973440883 95.887643371 L 171.75997973440883 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="189.48367531490885" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">CPProtocol</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 328.0574210119153 51.782594461 L 442.54556839850125 51.782594461 L 442.54556839850125 95.887643371 L 328.0574210119153 95.887643371 L 328.0574210119153 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="345.78111659241534" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">PhyProtocol</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 480.71270992874474 51.782594461 L 625.3440305331042 51.782594461 L 625.3440305331042 95.887643371 L 480.71270992874474 95.887643371 L 480.71270992874474 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="498.43640550924476" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">DatagramSocket</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 641.6792338331041 51.782594461 L 786.3105544374636 51.782594461 L 786.3105544374636 95.887643371 L 641.6792338331041 95.887643371 L 641.6792338331041 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="659.4029294136042" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">DatagramPacket</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 802.6457577374636 51.782594461 L 950.5555207246355 51.782594461 L 950.5555207246355 95.887643371 L 802.6457577374636 95.887643371 L 802.6457577374636 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="820.3694533179636" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">PhyConfiguration</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 966.8907240246355 51.782594461 L 1089.5392260254791 51.782594461 L 1089.5392260254791 95.887643371 L 966.8907240246355 95.887643371 L 966.8907240246355 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="984.6144196051355" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Configuration</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1105.8744293254792 51.782594461 L 1194.2781345733933 51.782594461 L 1194.2781345733933 95.887643371 L 1105.8744293254792 95.887643371 L 1105.8744293254792 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1123.5981249059791" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">PhyMsg</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1210.6133378733932 51.782594461 L 1294.1208486632995 51.782594461 L 1294.1208486632995 95.887643371 L 1210.6133378733932 95.887643371 L 1210.6133378733932 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1228.3370334538931" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">CPMsg</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1310.4560519632994 51.782594461 L 1494.1997535491041 51.782594461 L 1494.1997535491041 95.887643371 L 1310.4560519632994 95.887643371 L 1310.4560519632994 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1328.1797475437993" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">CPCookieRequestMsg</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1510.534956849104 51.782594461 L 1705.6888146849087 51.782594461 L 1705.6888146849087 95.887643371 L 1510.534956849104 95.887643371 L 1510.534956849104 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1528.258652429604" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">CPCookieResponseMsg</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1722.0240179849086 51.782594461 L 1811.2509043851665 51.782594461 L 1811.2509043851665 95.887643371 L 1722.0240179849086 95.887643371 L 1722.0240179849086 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1739.7477135654085" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Protocol</text></g></g><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 83.50336656165365 149.793814261 L 99.83856986165364 149.793814261 L 99.83856986165364 3274.718205550996 L 83.50336656165365 3274.718205550996 L 83.50336656165365 149.793814261" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 377.1338930552083 195.532383501 L 393.4690963552083 195.532383501 L 393.4690963552083 332.748091221 L 377.1338930552083 332.748091221 L 377.1338930552083 195.532383501" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 241.270952741 L 561.1959718809245 241.270952741 L 561.1959718809245 287.009521981 L 544.8607685809244 287.009521981 L 544.8607685809244 241.270952741" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 218.38835454869792 378.486660461 L 234.7235578486979 378.486660461 L 234.7235578486979 607.1795066609999 L 218.38835454869792 607.1795066609999 L 218.38835454869792 378.486660461" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 868.4330375810495 424.225229701 L 884.7682408810496 424.225229701 L 884.7682408810496 561.440937421 L 868.4330375810495 561.440937421 L 868.4330375810495 424.225229701" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1020.0473733750573 469.963798941 L 1036.3825766750574 469.963798941 L 1036.3825766750574 515.702368181 L 1020.0473733750573 515.702368181 L 1020.0473733750573 469.963798941" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 218.38835454869792 652.9180759009998 L 234.7235578486979 652.9180759009998 L 234.7235578486979 3142.4030588209966 L 218.38835454869792 3142.4030588209966 L 218.38835454869792 652.9180759009998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 226.5559561986979 719.8924094309998 L 242.8911594986979 719.8924094309998 L 242.8911594986979 3096.664489580997 L 226.5559561986979 3096.664489580997 L 226.5559561986979 719.8924094309998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1394.1603011062016 765.6309786709998 L 1410.4955044062017 765.6309786709998 L 1410.4955044062017 902.8466863909996 L 1394.1603011062016 902.8466863909996 L 1394.1603011062016 765.6309786709998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1244.1994916183462 811.3695479109997 L 1260.5346949183463 811.3695479109997 L 1260.5346949183463 857.1081171509996 L 1244.1994916183462 857.1081171509996 L 1244.1994916183462 811.3695479109997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1394.1603011062016 948.5852556309995 L 1410.4955044062017 948.5852556309995 L 1410.4955044062017 1085.8009633509996 L 1394.1603011062016 1085.8009633509996 L 1394.1603011062016 948.5852556309995" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1244.1994916183462 994.3238248709995 L 1260.5346949183463 994.3238248709995 L 1260.5346949183463 1040.0623941109995 L 1244.1994916183462 1040.0623941109995 L 1244.1994916183462 994.3238248709995" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 377.1338930552083 1131.5395325909997 L 393.4690963552083 1131.5395325909997 L 393.4690963552083 1650.9989975310002 L 377.1338930552083 1650.9989975310002 L 377.1338930552083 1131.5395325909997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 1177.2781018309997 L 1158.2438835994362 1177.2781018309997 L 1158.2438835994362 1223.0166710709998 L 1141.9086802994361 1223.0166710709998 L 1141.9086802994361 1177.2781018309997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 1268.7552403109999 L 1158.2438835994362 1268.7552403109999 L 1158.2438835994362 1314.493809551 L 1141.9086802994361 1314.493809551 L 1141.9086802994361 1268.7552403109999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 385.3014947052083 1381.4681430809999 L 401.6366980052083 1381.4681430809999 L 401.6366980052083 1605.2604282910002 L 385.3014947052083 1605.2604282910002 L 385.3014947052083 1381.4681430809999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 705.8272924852838 1427.206712321 L 722.1624957852839 1427.206712321 L 722.1624957852839 1472.945281561 L 705.8272924852838 1472.945281561 L 705.8272924852838 1427.206712321" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 1518.683850801 L 561.1959718809245 1518.683850801 L 561.1959718809245 1564.4224200410001 L 544.8607685809244 1564.4224200410001 L 544.8607685809244 1518.683850801" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1244.1994916183462 1696.7375667710003 L 1260.5346949183463 1696.7375667710003 L 1260.5346949183463 1742.4761360110003 L 1244.1994916183462 1742.4761360110003 L 1244.1994916183462 1696.7375667710003" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 377.1338930552083 1788.2147052510004 L 393.4690963552083 1788.2147052510004 L 393.4690963552083 2673.5827241109982 L 377.1338930552083 2673.5827241109982 L 377.1338930552083 1788.2147052510004" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 1833.9532744910005 L 561.1959718809245 1833.9532744910005 L 561.1959718809245 1879.6918437310005 L 544.8607685809244 1879.6918437310005 L 544.8607685809244 1833.9532744910005" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 385.3014947052083 1946.6661772610005 L 401.6366980052083 1946.6661772610005 L 401.6366980052083 2536.3670163909987 L 385.3014947052083 2536.3670163909987 L 385.3014947052083 1946.6661772610005" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 705.8272924852838 1992.4047465010005 L 722.1624957852839 1992.4047465010005 L 722.1624957852839 2038.1433157410006 L 705.8272924852838 2038.1433157410006 L 705.8272924852838 1992.4047465010005" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 2083.8818849810004 L 561.1959718809245 2083.8818849810004 L 561.1959718809245 2129.6204542210003 L 544.8607685809244 2129.6204542210003 L 544.8607685809244 2083.8818849810004" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 2175.359023461 L 1158.2438835994362 2175.359023461 L 1158.2438835994362 2221.097592701 L 1141.9086802994361 2221.097592701 L 1141.9086802994361 2175.359023461" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 2266.836161941 L 1158.2438835994362 2266.836161941 L 1158.2438835994362 2312.5747311809996 L 1141.9086802994361 2312.5747311809996 L 1141.9086802994361 2266.836161941" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 868.4330375810495 2358.3133004209994 L 884.7682408810496 2358.3133004209994 L 884.7682408810496 2404.0518696609993 L 868.4330375810495 2404.0518696609993 L 868.4330375810495 2358.3133004209994" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 2449.790438900999 L 1158.2438835994362 2449.790438900999 L 1158.2438835994362 2495.529008140999 L 1141.9086802994361 2495.529008140999 L 1141.9086802994361 2449.790438900999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 2582.1055856309986 L 561.1959718809245 2582.1055856309986 L 561.1959718809245 2627.8441548709984 L 544.8607685809244 2627.8441548709984 L 544.8607685809244 2582.1055856309986" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1244.1994916183462 2719.321293350998 L 1260.5346949183463 2719.321293350998 L 1260.5346949183463 3055.826481330997 L 1244.1994916183462 3055.826481330997 L 1244.1994916183462 2719.321293350998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1394.1603011062016 2765.059862590998 L 1410.4955044062017 2765.059862590998 L 1410.4955044062017 2810.7984318309977 L 1394.1603011062016 2810.7984318309977 L 1394.1603011062016 2765.059862590998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1599.9442841170062 2856.5370010709976 L 1616.2794874170063 2856.5370010709976 L 1616.2794874170063 2902.2755703109974 L 1599.9442841170062 2902.2755703109974 L 1599.9442841170062 2856.5370010709976" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1252.3670932683463 2969.2499038409974 L 1268.7022965683464 2969.2499038409974 L 1268.7022965683464 3010.087912090997 L 1252.3670932683463 3010.087912090997 L 1252.3670932683463 2969.2499038409974" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 218.38835454869792 3188.1416280609965 L 234.7235578486979 3188.1416280609965 L 234.7235578486979 3233.8801973009963 L 218.38835454869792 3233.8801973009963 L 218.38835454869792 3188.1416280609965" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g><g><rect fill="white" stroke="none" x="27.49759222166667" y="128.558049971" width="36.675783768320315" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="29.947872716666673" y="143.259732941" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">main</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 8.16760165 149.793814261 L 70.05404917798698 149.793814261" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(83.50336656165365,149.793814261) translate(-83.50336656165365,-149.793814261)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 69.89069714498699 142.98747955266666 L 83.50336656165365 149.793814261 L 69.89069714498699 156.60014896933333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="198.54132968657552" y="174.296619211" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="200.9916101815755" y="188.99830218099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 99.83856986165364 195.532383501 L 363.68457567154167 195.532383501" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(377.1338930552083,195.532383501) translate(-377.1338930552083,-195.532383501)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 363.52122363854164 188.72604879266666 L 377.1338930552083 195.532383501 L 363.52122363854164 202.33871820933334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="429.22003069621087" y="220.035188451" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="431.6703111912109" y="234.736871421" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 393.4690963552083 241.270952741 L 531.4114511972577 241.270952741" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(544.8607685809244,241.270952741) translate(-544.8607685809244,-241.270952741)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 531.2480991642577 234.46461803266666 L 544.8607685809244 241.270952741 L 531.2480991642577 248.07728744933334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="466.71465197306634" y="265.77375769099996" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="469.16493246806635" y="280.47544066099994" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 287.009521981 L 406.91841373887496 287.009521981" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(393.4690963552083,287.009521981) translate(-393.4690963552083,-287.009521981)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 407.081765771875 280.20318727266664 L 393.4690963552083 287.009521981 L 407.081765771875 293.8158566893333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="236.035950963431" y="311.51232693099996" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="238.48623145843098" y="326.21400990099994" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 377.1338930552083 332.748091221 L 113.2878872453203 332.748091221" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(99.83856986165364,332.748091221) translate(-99.83856986165364,-332.748091221)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 113.4512392783203 325.94175651266664 L 99.83856986165364 332.748091221 L 113.4512392783203 339.5544259293333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="119.16856043332031" y="357.25089617099997" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="121.61884092832031" y="371.95257914099994" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 99.83856986165364 378.486660461 L 204.93903716503127 378.486660461" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(218.38835454869792,378.486660461) translate(-218.38835454869792,-378.486660461)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 204.77568513203124 371.68032575266665 L 218.38835454869792 378.486660461 L 204.77568513203124 385.2929951693333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="511.6333959430183" y="402.98946541099997" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="514.0836764380183" y="417.69114838099995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 234.7235578486979 424.225229701 L 854.9837201973828 424.225229701" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(868.4330375810495,424.225229701) translate(-868.4330375810495,-424.225229701)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 854.8203681643828 417.41889499266665 L 868.4330375810495 424.225229701 L 854.8203681643828 431.0315644093333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="912.462905356198" y="448.728034651" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="914.913185851198" y="463.42971762099995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 884.7682408810496 469.963798941 L 1006.5980559913907 469.963798941" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1020.0473733750573,469.963798941) translate(-1020.0473733750573,-469.963798941)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1006.4347039583906 463.15746423266665 L 1020.0473733750573 469.963798941 L 1006.4347039583906 476.77013364933333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="949.9575266330535" y="494.466603891" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="952.4078071280535" y="509.16828686099996" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1020.0473733750573 515.702368181 L 898.2175582647162 515.702368181" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(884.7682408810496,515.702368181) translate(-884.7682408810496,-515.702368181)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 898.3809102977162 508.89603347266666 L 884.7682408810496 515.702368181 L 898.3809102977162 522.5087028893333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="549.1280172198738" y="540.2051731309999" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="551.5782977148738" y="554.9068561009999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 868.4330375810495 561.440937421 L 248.17287523236456 561.440937421" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(234.7235578486979,561.440937421) translate(-234.7235578486979,-561.440937421)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 248.33622726536458 554.6346027126666 L 234.7235578486979 561.440937421 L 248.33622726536458 568.2472721293333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="156.6631817101758" y="585.9437423709999" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="159.11346220517578" y="600.6454253409999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 218.38835454869792 607.1795066609999 L 113.2878872453203 607.1795066609999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(99.83856986165364,607.1795066609999) translate(-99.83856986165364,-607.1795066609999)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 113.4512392783203 600.3731719526666 L 99.83856986165364 607.1795066609999 L 113.4512392783203 613.9858413693332 Z"/></g></g><g><g><rect fill="white" stroke="none" x="135.88653223507814" y="631.6823116109998" width="46.453859940195315" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="138.33681273007812" y="646.3839945809998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">send()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 99.83856986165364 652.9180759009998 L 204.93903716503127 652.9180759009998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(218.38835454869792,652.9180759009998) translate(-218.38835454869792,-652.9180759009998)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 204.77568513203124 646.1117411926665 L 218.38835454869792 652.9180759009998 L 204.77568513203124 659.7244106093332 Z"/></g></g><g><g><rect fill="white" stroke="none" x="262.22115007036456" y="677.4208808509998" width="109.19542182984375" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="264.6714305653646" y="692.1225638209997" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">requestCookie()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 234.7235578486979 698.6566451409998 L 308.2319726986979 698.6566451409998 L 308.2319726986979 719.8924094309998 L 256.34047688236456 719.8924094309998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(242.8911594986979,719.8924094309998) translate(-242.8911594986979,-719.8924094309998)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 256.5038289153646 713.0860747226665 L 242.8911594986979 719.8924094309998 L 256.5038289153646 726.6987441393331 Z"/></g></g><g><g><rect fill="white" stroke="none" x="778.5808285305942" y="744.3952143809997" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="781.0311090255942" y="759.0968973509997" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 242.8911594986979 765.6309786709998 L 1380.7109837225348 765.6309786709998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1394.1603011062016,765.6309786709998) translate(-1394.1603011062016,-765.6309786709998)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1380.547631689535 758.8246439626664 L 1394.1603011062016 765.6309786709998 L 1380.547631689535 772.4373133793331 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1287.4025962404185" y="790.1337836209997" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1289.8528767354185" y="804.8354665909997" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1394.1603011062016 811.3695479109997 L 1273.984012302013 811.3695479109997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1260.5346949183463,811.3695479109997) translate(-1260.5346949183463,-811.3695479109997)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1274.147364335013 804.5632132026664 L 1260.5346949183463 811.3695479109997 L 1274.147364335013 818.175882619333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1324.897217517274" y="835.8723528609996" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1327.347498012274" y="850.5740358309996" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1260.5346949183463 857.1081171509996 L 1380.7109837225348 857.1081171509996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(1394.1603011062016,857.1081171509996) translate(-1394.1603011062016,-857.1081171509996)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1380.547631689535 850.3017824426663 L 1394.1603011062016 857.1081171509996 L 1380.547631689535 863.914451859333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="816.0754498074497" y="881.6109221009996" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="818.5257303024497" y="896.3126050709996" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1394.1603011062016 902.8466863909996 L 256.34047688236456 902.8466863909996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(242.8911594986979,902.8466863909996) translate(-242.8911594986979,-902.8466863909996)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 256.5038289153646 896.0403516826663 L 242.8911594986979 902.8466863909996 L 256.5038289153646 909.6530210993329 Z"/></g></g><g><g><rect fill="white" stroke="none" x="790.8213528225864" y="927.3494913409995" width="55.408754959726565" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="793.2716333175864" y="942.0511743109995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">create()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 242.8911594986979 948.5852556309995 L 1380.7109837225348 948.5852556309995" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1394.1603011062016,948.5852556309995) translate(-1394.1603011062016,-948.5852556309995)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1380.547631689535 941.7789209226662 L 1394.1603011062016 948.5852556309995 L 1380.547631689535 955.3915903393329 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1299.6431205324106" y="973.0880605809995" width="55.408754959726565" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1302.0934010274107" y="987.7897435509994" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">create()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1394.1603011062016 994.3238248709995 L 1273.984012302013 994.3238248709995" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1260.5346949183463,994.3238248709995) translate(-1260.5346949183463,-994.3238248709995)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1274.147364335013 987.5174901626661 L 1260.5346949183463 994.3238248709995 L 1274.147364335013 1001.1301595793328 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1324.897217517274" y="1018.8266298209995" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1327.347498012274" y="1033.5283127909995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1260.5346949183463 1040.0623941109995 L 1380.7109837225348 1040.0623941109995" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(1394.1603011062016,1040.0623941109995) translate(-1394.1603011062016,-1040.0623941109995)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1380.547631689535 1033.2560594026663 L 1394.1603011062016 1040.0623941109995 L 1380.547631689535 1046.8687288193328 Z"/></g></g><g><g><rect fill="white" stroke="none" x="816.0754498074497" y="1064.5651990609997" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="818.5257303024497" y="1079.2668820309998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1394.1603011062016 1085.8009633509996 L 256.34047688236456 1085.8009633509996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(242.8911594986979,1085.8009633509996) translate(-242.8911594986979,-1085.8009633509996)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 256.5038289153646 1078.9946286426664 L 242.8911594986979 1085.8009633509996 L 256.5038289153646 1092.6072980593328 Z"/></g></g><g><g><rect fill="white" stroke="none" x="286.78559630685544" y="1110.3037683009998" width="46.453859940195315" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="289.23587680185545" y="1125.0054512709999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">send()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 242.8911594986979 1131.5395325909997 L 363.68457567154167 1131.5395325909997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(377.1338930552083,1131.5395325909997) translate(-377.1338930552083,-1131.5395325909997)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 363.52122363854164 1124.7331978826664 L 377.1338930552083 1131.5395325909997 L 363.52122363854164 1138.345867299333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="727.7439865554668" y="1156.0423375409998" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="730.1942670504668" y="1170.744020511" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 393.4690963552083 1177.2781018309997 L 1128.4593629157694 1177.2781018309997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1141.9086802994361,1177.2781018309997) translate(-1141.9086802994361,-1177.2781018309997)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1128.2960108827695 1170.4717671226665 L 1141.9086802994361 1177.2781018309997 L 1128.2960108827695 1184.084436539333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="765.2386078323223" y="1201.7809067809999" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="767.6888883273223" y="1216.482589751" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 1223.0166710709998 L 406.91841373887496 1223.0166710709998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(393.4690963552083,1223.0166710709998) translate(-393.4690963552083,-1223.0166710709998)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 407.081765771875 1216.2103363626666 L 393.4690963552083 1223.0166710709998 L 407.081765771875 1229.823005779333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="739.984510847459" y="1247.519476021" width="55.408754959726565" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="742.434791342459" y="1262.221158991" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">create()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 393.4690963552083 1268.7552403109999 L 1128.4593629157694 1268.7552403109999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(1141.9086802994361,1268.7552403109999) translate(-1141.9086802994361,-1268.7552403109999)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1128.2960108827695 1261.9489056026666 L 1141.9086802994361 1268.7552403109999 L 1128.2960108827695 1275.561575019333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="765.2386078323223" y="1293.258045261" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="767.6888883273223" y="1307.959728231" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 1314.493809551 L 406.91841373887496 1314.493809551" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(393.4690963552083,1314.493809551) translate(-393.4690963552083,-1314.493809551)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 407.081765771875 1307.6874748426667 L 393.4690963552083 1314.493809551 L 407.081765771875 1321.3001442593331 Z"/></g></g><g><g><rect fill="white" stroke="none" x="420.96668857687496" y="1338.9966145009998" width="46.453859940195315" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="423.416969071875" y="1353.698297471" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">send()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 393.4690963552083 1360.232378791 L 466.9775112052083 1360.232378791 L 466.9775112052083 1381.4681430809999 L 415.08601538887496 1381.4681430809999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(401.6366980052083,1381.4681430809999) translate(-401.6366980052083,-1381.4681430809999)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 1374.6618083726667 L 401.6366980052083 1381.4681430809999 L 415.249367421875 1388.274477789333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="513.7870934733905" y="1405.970948031" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="516.2373739683906" y="1420.6726310010001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 401.6366980052083 1427.206712321 L 692.3779751016172 1427.206712321" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(705.8272924852838,1427.206712321) translate(-705.8272924852838,-1427.206712321)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 692.2146230686171 1420.4003776126667 L 705.8272924852838 1427.206712321 L 692.2146230686171 1434.0130470293332 Z"/></g></g><g><g><rect fill="white" stroke="none" x="551.281714750246" y="1451.709517271" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="553.731995245246" y="1466.4112002410002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 705.8272924852838 1472.945281561 L 415.08601538887496 1472.945281561" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(401.6366980052083,1472.945281561) translate(-401.6366980052083,-1472.945281561)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 1466.1389468526668 L 401.6366980052083 1472.945281561 L 415.249367421875 1479.7516162693332 Z"/></g></g><g><g><rect fill="white" stroke="none" x="450.0218033229687" y="1497.4480865110002" width="46.453859940195315" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="452.4720838179687" y="1512.1497694810002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">send()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 401.6366980052083 1518.683850801 L 531.4114511972577 1518.683850801" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(544.8607685809244,1518.683850801) translate(-544.8607685809244,-1518.683850801)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 531.2480991642577 1511.8775160926668 L 544.8607685809244 1518.683850801 L 531.2480991642577 1525.4901855093333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="470.79845279806636" y="1543.1866557510002" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="473.2487332930664" y="1557.8883387210003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 1564.4224200410001 L 415.08601538887496 1564.4224200410001" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(401.6366980052083,1564.4224200410001) translate(-401.6366980052083,-1564.4224200410001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 1557.616085332667 L 401.6366980052083 1564.4224200410001 L 415.249367421875 1571.2287547493333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="307.5622457819531" y="1629.7632332410003" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="310.0125262769531" y="1644.4649162110004" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 377.1338930552083 1650.9989975310002 L 256.34047688236456 1650.9989975310002" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(242.8911594986979,1650.9989975310002) translate(-242.8911594986979,-1650.9989975310002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 256.5038289153646 1644.192662822667 L 242.8911594986979 1650.9989975310002 L 256.5038289153646 1657.8053322393334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="703.6004237866666" y="1675.5018024810004" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="706.0507042816666" y="1690.2034854510005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 242.8911594986979 1696.7375667710003 L 1230.7501742346794 1696.7375667710003" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1244.1994916183462,1696.7375667710003) translate(-1244.1994916183462,-1696.7375667710003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1230.5868222016795 1689.931232062667 L 1244.1994916183462 1696.7375667710003 L 1230.5868222016795 1703.5439014793335 Z"/></g></g><g><g><rect fill="white" stroke="none" x="741.0950450635221" y="1721.2403717210004" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="743.5453255585221" y="1735.9420546910005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1244.1994916183462 1742.4761360110003 L 256.34047688236456 1742.4761360110003" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(242.8911594986979,1742.4761360110003) translate(-242.8911594986979,-1742.4761360110003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 256.5038289153646 1735.669801302667 L 242.8911594986979 1742.4761360110003 L 256.5038289153646 1749.2824707193336 Z"/></g></g><g><g><rect fill="white" stroke="none" x="283.93305724435544" y="1766.9789409610005" width="52.158938065195315" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="286.38333773935545" y="1781.6806239310006" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">receive</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 242.8911594986979 1788.2147052510004 L 363.68457567154167 1788.2147052510004" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(377.1338930552083,1788.2147052510004) translate(-377.1338930552083,-1788.2147052510004)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 363.52122363854164 1781.4083705426672 L 377.1338930552083 1788.2147052510004 L 363.52122363854164 1795.0210399593336 Z"/></g></g><g><g><rect fill="white" stroke="none" x="416.88288775187493" y="1812.7175102010006" width="104.56408943238281" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="419.33316824687495" y="1827.4191931710006" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">setSoTimeout()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 393.4690963552083 1833.9532744910005 L 531.4114511972577 1833.9532744910005" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(544.8607685809244,1833.9532744910005) translate(-544.8607685809244,-1833.9532744910005)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 531.2480991642577 1827.1469397826672 L 544.8607685809244 1833.9532744910005 L 531.2480991642577 1840.7596091993337 Z"/></g></g><g><g><rect fill="white" stroke="none" x="466.71465197306634" y="1858.4560794410006" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="469.16493246806635" y="1873.1577624110007" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 1879.6918437310005 L 406.91841373887496 1879.6918437310005" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(393.4690963552083,1879.6918437310005) translate(-393.4690963552083,-1879.6918437310005)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 407.081765771875 1872.8855090226673 L 393.4690963552083 1879.6918437310005 L 407.081765771875 1886.4981784393337 Z"/></g></g><g><g><rect fill="white" stroke="none" x="420.96668857687496" y="1904.1946486810004" width="52.158938065195315" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="423.416969071875" y="1918.8963316510005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">receive</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 393.4690963552083 1925.4304129710006 L 466.9775112052083 1925.4304129710006 L 466.9775112052083 1946.6661772610005 L 415.08601538887496 1946.6661772610005" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(401.6366980052083,1946.6661772610005) translate(-401.6366980052083,-1946.6661772610005)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 1939.8598425526673 L 401.6366980052083 1946.6661772610005 L 415.249367421875 1953.4725119693337 Z"/></g></g><g><g><rect fill="white" stroke="none" x="513.7870934733905" y="1971.1689822110006" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="516.2373739683906" y="1985.8706651810007" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 401.6366980052083 1992.4047465010005 L 692.3779751016172 1992.4047465010005" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(705.8272924852838,1992.4047465010005) translate(-705.8272924852838,-1992.4047465010005)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 692.2146230686171 1985.5984117926673 L 705.8272924852838 1992.4047465010005 L 692.2146230686171 1999.2110812093338 Z"/></g></g><g><g><rect fill="white" stroke="none" x="551.281714750246" y="2016.9075514510007" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="553.731995245246" y="2031.6092344210008" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 705.8272924852838 2038.1433157410006 L 415.08601538887496 2038.1433157410006" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(401.6366980052083,2038.1433157410006) translate(-401.6366980052083,-2038.1433157410006)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 2031.3369810326674 L 401.6366980052083 2038.1433157410006 L 415.249367421875 2044.9496504493338 Z"/></g></g><g><g><rect fill="white" stroke="none" x="442.2873825466015" y="2062.6461206910003" width="61.92270149292969" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="444.73766304160154" y="2077.3478036610004" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">receive()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 401.6366980052083 2083.8818849810004 L 531.4114511972577 2083.8818849810004" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(544.8607685809244,2083.8818849810004) translate(-544.8607685809244,-2083.8818849810004)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 531.2480991642577 2077.075550272667 L 544.8607685809244 2083.8818849810004 L 531.2480991642577 2090.688219689334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="470.79845279806636" y="2108.384689931" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="473.2487332930664" y="2123.0863729010002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 2129.6204542210003 L 415.08601538887496 2129.6204542210003" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(401.6366980052083,2129.6204542210003) translate(-401.6366980052083,-2129.6204542210003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 2122.814119512667 L 401.6366980052083 2129.6204542210003 L 415.249367421875 2136.4267889293337 Z"/></g></g><g><g><rect fill="white" stroke="none" x="731.8277873804668" y="2154.123259171" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="734.2780678754668" y="2168.824942141" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 401.6366980052083 2175.359023461 L 1128.4593629157694 2175.359023461" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1141.9086802994361,2175.359023461) translate(-1141.9086802994361,-2175.359023461)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1128.2960108827695 2168.5526887526667 L 1141.9086802994361 2175.359023461 L 1128.2960108827695 2182.1653581693336 Z"/></g></g><g><g><rect fill="white" stroke="none" x="769.3224086573223" y="2199.861828411" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="771.7726891523223" y="2214.563511381" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 2221.097592701 L 415.08601538887496 2221.097592701" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(401.6366980052083,2221.097592701) translate(-401.6366980052083,-2221.097592701)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 2214.2912579926665 L 401.6366980052083 2221.097592701 L 415.249367421875 2227.9039274093334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="746.104818325291" y="2245.6003976509996" width="51.3357416540625" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="748.555098820291" y="2260.3020806209997" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">parse()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 401.6366980052083 2266.836161941 L 1128.4593629157694 2266.836161941" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1141.9086802994361,2266.836161941) translate(-1141.9086802994361,-2266.836161941)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1128.2960108827695 2260.0298272326663 L 1141.9086802994361 2266.836161941 L 1128.2960108827695 2273.642496649333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="769.3224086573223" y="2291.3389668909995" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="771.7726891523223" y="2306.0406498609996" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 2312.5747311809996 L 415.08601538887496 2312.5747311809996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(401.6366980052083,2312.5747311809996) translate(-401.6366980052083,-2312.5747311809996)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 2305.768396472666 L 401.6366980052083 2312.5747311809996 L 415.249367421875 2319.381065889333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="595.0899660212734" y="2337.0775361309993" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="597.5402465162734" y="2351.7792191009994" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 401.6366980052083 2358.3133004209994 L 854.9837201973828 2358.3133004209994" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(868.4330375810495,2358.3133004209994) translate(-868.4330375810495,-2358.3133004209994)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 854.8203681643828 2351.506965712666 L 868.4330375810495 2358.3133004209994 L 854.8203681643828 2365.119635129333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="632.5845872981289" y="2382.816105370999" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="635.0348677931289" y="2397.5177883409992" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 868.4330375810495 2404.0518696609993 L 415.08601538887496 2404.0518696609993" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(401.6366980052083,2404.0518696609993) translate(-401.6366980052083,-2404.0518696609993)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 2397.245534952666 L 401.6366980052083 2404.0518696609993 L 415.249367421875 2410.8582043693327 Z"/></g></g><g><g><rect fill="white" stroke="none" x="711.0618800928692" y="2428.554674610999" width="121.42161811890625" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="713.5121605878692" y="2443.256357580999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">setConfiguration()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 401.6366980052083 2449.790438900999 L 1128.4593629157694 2449.790438900999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1141.9086802994361,2449.790438900999) translate(-1141.9086802994361,-2449.790438900999)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1128.2960108827695 2442.9841041926657 L 1141.9086802994361 2449.790438900999 L 1128.2960108827695 2456.5967736093326 Z"/></g></g><g><g><rect fill="white" stroke="none" x="769.3224086573223" y="2474.293243850999" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="771.7726891523223" y="2488.994926820999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1141.9086802994361 2495.529008140999 L 415.08601538887496 2495.529008140999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(401.6366980052083,2495.529008140999) translate(-401.6366980052083,-2495.529008140999)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 415.249367421875 2488.7226734326655 L 401.6366980052083 2495.529008140999 L 415.249367421875 2502.3353428493324 Z"/></g></g><g><g><rect fill="white" stroke="none" x="425.8485249589062" y="2560.8698213409984" width="86.63281501832031" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="428.2988054539062" y="2575.5715043109985" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">setTimeout()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 393.4690963552083 2582.1055856309986 L 531.4114511972577 2582.1055856309986" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(544.8607685809244,2582.1055856309986) translate(-544.8607685809244,-2582.1055856309986)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 531.2480991642577 2575.299250922665 L 544.8607685809244 2582.1055856309986 L 531.2480991642577 2588.911920339332 Z"/></g></g><g><g><rect fill="white" stroke="none" x="466.71465197306634" y="2606.6083905809983" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="469.16493246806635" y="2621.3100735509984" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 544.8607685809244 2627.8441548709984 L 406.91841373887496 2627.8441548709984" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(393.4690963552083,2627.8441548709984) translate(-393.4690963552083,-2627.8441548709984)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 407.081765771875 2621.037820162665 L 393.4690963552083 2627.8441548709984 L 407.081765771875 2634.650489579332 Z"/></g></g><g><g><rect fill="white" stroke="none" x="307.5622457819531" y="2652.346959820998" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="310.0125262769531" y="2667.048642790998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 377.1338930552083 2673.5827241109982 L 256.34047688236456 2673.5827241109982" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(242.8911594986979,2673.5827241109982) translate(-242.8911594986979,-2673.5827241109982)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 256.5038289153646 2666.776389402665 L 242.8911594986979 2673.5827241109982 L 256.5038289153646 2680.3890588193317 Z"/></g></g><g><g><rect fill="white" stroke="none" x="717.8774547314908" y="2698.085529060998" width="51.3357416540625" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="720.3277352264909" y="2712.787212030998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">parse()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 242.8911594986979 2719.321293350998 L 1230.7501742346794 2719.321293350998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1244.1994916183462,2719.321293350998) translate(-1244.1994916183462,-2719.321293350998)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1230.5868222016795 2712.5149586426646 L 1244.1994916183462 2719.321293350998 L 1230.5868222016795 2726.1276280593315 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1287.4025962404185" y="2743.824098300998" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1289.8528767354185" y="2758.525781270998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1260.5346949183463 2765.059862590998 L 1380.7109837225348 2765.059862590998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1394.1603011062016,2765.059862590998) translate(-1394.1603011062016,-2765.059862590998)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1380.547631689535 2758.2535278826645 L 1394.1603011062016 2765.059862590998 L 1380.547631689535 2771.8661972993314 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1324.897217517274" y="2789.5626675409976" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1327.347498012274" y="2804.2643505109977" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1394.1603011062016 2810.7984318309977 L 1273.984012302013 2810.7984318309977" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(1260.5346949183463,2810.7984318309977) translate(-1260.5346949183463,-2810.7984318309977)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1274.147364335013 2803.9920971226643 L 1260.5346949183463 2810.7984318309977 L 1274.147364335013 2817.604766539331 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1390.2945877458208" y="2835.3012367809974" width="79.88980354371094" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1392.7448682408208" y="2850.0029197509975" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"><<create>></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1260.5346949183463 2856.5370010709976 L 1586.4949667333394 2856.5370010709976" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1599.9442841170062,2856.5370010709976) translate(-1599.9442841170062,-2856.5370010709976)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1586.3316147003395 2849.730666362664 L 1599.9442841170062 2856.5370010709976 L 1586.3316147003395 2863.343335779331 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1427.7892090226762" y="2881.0398060209973" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1430.2394895176762" y="2895.7414889909974" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1599.9442841170062 2902.2755703109974 L 1273.984012302013 2902.2755703109974" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(1260.5346949183463,2902.2755703109974) translate(-1260.5346949183463,-2902.2755703109974)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1274.147364335013 2895.469235602664 L 1260.5346949183463 2902.2755703109974 L 1274.147364335013 2909.081905019331 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1288.032287140013" y="2926.7783752609976" width="51.3357416540625" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1290.482567635013" y="2941.4800582309977" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">parse()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1260.5346949183463 2948.0141395509972 L 1334.0431097683463 2948.0141395509972 L 1334.0431097683463 2969.2499038409974 L 1282.1516139520131 2969.2499038409974" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1268.7022965683464,2969.2499038409974) translate(-1268.7022965683464,-2969.2499038409974)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1282.314965985013 2962.443569132664 L 1268.7022965683464 2969.2499038409974 L 1282.314965985013 2976.056238549331 Z"/></g></g><g><g><rect fill="white" stroke="none" x="741.0950450635221" y="3034.590717040997" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="743.5453255585221" y="3049.292400010997" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1244.1994916183462 3055.826481330997 L 256.34047688236456 3055.826481330997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(242.8911594986979,3055.826481330997) translate(-242.8911594986979,-3055.826481330997)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 256.5038289153646 3049.0201466226636 L 242.8911594986979 3055.826481330997 L 256.5038289153646 3062.6328160393305 Z"/></g></g><g><g><rect fill="white" stroke="none" x="156.6631817101758" y="3121.1672945309965" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="159.11346220517578" y="3135.8689775009966" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 218.38835454869792 3142.4030588209966 L 113.2878872453203 3142.4030588209966" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(99.83856986165364,3142.4030588209966) translate(-99.83856986165364,-3142.4030588209966)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 113.4512392783203 3135.596724112663 L 99.83856986165364 3142.4030588209966 L 113.4512392783203 3149.20939352933 Z"/></g></g><g><g><rect fill="white" stroke="none" x="133.03399317257814" y="3166.9058637709963" width="52.158938065195315" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="135.48427366757812" y="3181.6075467409964" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">receive</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 99.83856986165364 3188.1416280609965 L 204.93903716503127 3188.1416280609965" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(218.38835454869792,3188.1416280609965) translate(-218.38835454869792,-3188.1416280609965)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 204.77568513203124 3181.335293352663 L 218.38835454869792 3188.1416280609965 L 204.77568513203124 3194.94796276933 Z"/></g></g><g><g><rect fill="white" stroke="none" x="156.6631817101758" y="3212.644433010996" width="4.90056099" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="159.11346220517578" y="3227.3461159809963" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"></text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 218.38835454869792 3233.8801973009963 L 113.2878872453203 3233.8801973009963" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(99.83856986165364,3233.8801973009963) translate(-99.83856986165364,-3233.8801973009963)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 113.4512392783203 3227.073862592663 L 99.83856986165364 3233.8801973009963 L 113.4512392783203 3240.6865320093298 Z"/></g></g></g><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/></g></svg> \ No newline at end of file diff --git a/src/main/java/cp/CPCommandMsg.java b/src/main/java/cp/CPCommandMsg.java deleted file mode 100644 index 20a4fb72901fe0d54da24583e96cbd0ca5be5724..0000000000000000000000000000000000000000 --- a/src/main/java/cp/CPCommandMsg.java +++ /dev/null @@ -1,25 +0,0 @@ -package cp; - -import java.util.zip.CRC32; - -public class CPCommandMsg extends CPMsg{ - - private String cmd; - private long crc; - protected static final String HEADER = "command"; - - public CPCommandMsg(String cookie, String cmd){ - this.cmd = cmd; - this.crc = calcCRC(cookie, cmd); - } - - public long getCRC(){ - return this.crc; - } - - private long calcCRC(String cookie, String cmd) { - CRC32 crc = new CRC32(); - //crc.update(); - return 0; - } -} diff --git a/src/main/java/cp/CPProtocol.java b/src/main/java/cp/CPProtocol.java index 3a075e2a0dd98ea74f0728403dffa44191f8f16b..efa18e97adf33a569d72d62bde9c5d3c0f021c60 100644 --- a/src/main/java/cp/CPProtocol.java +++ b/src/main/java/cp/CPProtocol.java @@ -48,10 +48,11 @@ public class CPProtocol extends Protocol { if(cookie != null) { //1.2: 1 b - CPCommandMsg cmdMsg = new CPCommandMsg(cookie, s); + StatusCommandMessage cmdMsg = new StatusCommandMessage(); + cmdMsg.create(cookie, s, ""); //1.2: 1 c - PhyProto.send(s, this.PhyConfig); + PhyProto.send(cmdMsg.getData(), this.PhyConfig); } } @@ -59,18 +60,28 @@ public class CPProtocol extends Protocol { public Msg receive() throws IOException { //1.2: 2 a - Msg in = this.PhyProto.receive(CP_TIMEOUT); + Msg in = new CPMsg(); + boolean receving = true; - //1.2: 2 b - CPMsg cpmsg = new CPMsg(); - cpmsg.create(in.getData()); + while(receving){ + in = this.PhyProto.receive(CP_TIMEOUT); - try { //1.2: 2 b - in = cpmsg.parse(in.getData()); - } catch (Exception e) { - //Discard Message - return null; + CPMsg cpmsg = new StatusCommandMessage(); + cpmsg.create(in.getData()); + + //todo: comparing ids (2. c) + + try { + //1.2: 2 b + in = cpmsg.parse(in.getData()); + } catch (Exception e) { + continue; + //Discard Message + } + + + receving = false; } return in; diff --git a/src/main/java/cp/StatusCommandMessage.java b/src/main/java/cp/StatusCommandMessage.java new file mode 100644 index 0000000000000000000000000000000000000000..f5bf87ff14681cfcb94d3a5880142e5a32470124 --- /dev/null +++ b/src/main/java/cp/StatusCommandMessage.java @@ -0,0 +1,66 @@ +package cp; + +import core.Msg; + +import java.util.zip.CRC32; +import java.util.zip.Checksum; + +public class StatusCommandMessage extends CPMsg{ + + private String cookie; + private String command; + private String message; + private String data; + + private static int messageIdCount = 0; //tracks the IDS + private int currentMessageId; + private static final int MAX_ID = 65535; //maximum message id according to the protocol specification. + protected static final String HEADER = "command"; + + public StatusCommandMessage() {} + + public StatusCommandMessage create(String cookie, String command, String message){ + + if(messageIdCount < MAX_ID){ + + currentMessageId = messageIdCount; + messageIdCount++; + } + + this.cookie = cookie; + this.command = command; + this.message = message; + + StringBuilder str = new StringBuilder(); + str.append("cp").append(' '); + str.append(HEADER).append(' '); + str.append(currentMessageId).append(' '); + str.append(cookie).append(' '); + str.append(command).append(' '); + if(message != null && !message.isEmpty())str.append(message).append(' '); //message is optional by protocol specification + + this.data = str.toString(); //builds the Frame + str.append(calcCRC(this.data)); //calculates the crc and adds it to the Frame + this.data = str.toString(); + + return this; + } + + public String getData(){ + return this.data; + } + + @Override + protected Msg parse(String sentence){ + + String[] split = sentence.split(" "); + + return null; + } + + private long calcCRC(String data) { + Checksum tmp = new CRC32(); + tmp.update(data.getBytes()); + return tmp.getValue(); + } +} diff --git a/src/main/java/cp/StatusCommandResponseMessage.java b/src/main/java/cp/StatusCommandResponseMessage.java new file mode 100644 index 0000000000000000000000000000000000000000..f70dfdf238b6e74f24decab2e1bf272a6dc7438d --- /dev/null +++ b/src/main/java/cp/StatusCommandResponseMessage.java @@ -0,0 +1,4 @@ +package cp; + +public class StatusCommandResponseMessage extends CPMsg{ +}