doc: Add a chapter on content updates
The behavior of content updates, specifically in combination with sync subsrufaces and constrains can become quite complicated. This introduces a chapter in the wayland book which explains the behavior of the core specification in this regard, and shows examples. Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
							
								
								
									
										323
									
								
								doc/publican/Content_Updates.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,323 @@
 | 
				
			||||||
 | 
					<?xml version='1.0' encoding='utf-8' ?>
 | 
				
			||||||
 | 
					<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 | 
				
			||||||
 | 
					<!ENTITY % BOOK_ENTITIES SYSTEM "Wayland.ent">
 | 
				
			||||||
 | 
					%BOOK_ENTITIES;
 | 
				
			||||||
 | 
					]>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<chapter id="chap-Content-Updates">
 | 
				
			||||||
 | 
					  <title>Content Updates</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <section id="sect-Content-Updates-preface">
 | 
				
			||||||
 | 
					    <title>Overview</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <para>
 | 
				
			||||||
 | 
					      In the Wayland protocol, requests are asynchronous but take effect
 | 
				
			||||||
 | 
					      immediately when the compositor receives them. However, some requests on
 | 
				
			||||||
 | 
					      surfaces are not applied immediately but are instead double-buffered to
 | 
				
			||||||
 | 
					      allow atomic changes. These double-buffered changes are committed through
 | 
				
			||||||
 | 
					      the wl_surface.commit request, which creates a Content Update.
 | 
				
			||||||
 | 
					    </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <para>
 | 
				
			||||||
 | 
					      Content Updates encapsulate all double-buffered state changes and can be
 | 
				
			||||||
 | 
					      applied by the compositor. The complexity arises when considering
 | 
				
			||||||
 | 
					      subsurfaces, which can operate in synchronized mode. When a subsurface is
 | 
				
			||||||
 | 
					      synchronized, its Content Updates must be applied atomically together with
 | 
				
			||||||
 | 
					      the parent surface's state. This synchronization can extend through an
 | 
				
			||||||
 | 
					      entire tree of subsurfaces, where child subsurfaces inherit the
 | 
				
			||||||
 | 
					      synchronized behavior from their parents.
 | 
				
			||||||
 | 
					    </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <para>
 | 
				
			||||||
 | 
					      Historically, Content Updates from synchronized subsurfaces were merged
 | 
				
			||||||
 | 
					      into the pending state of the parent surface on commit. However, the
 | 
				
			||||||
 | 
					      introduction of constraints—which can defer the application of Content
 | 
				
			||||||
 | 
					      Updates—necessitated a more sophisticated model. This led to the
 | 
				
			||||||
 | 
					      implementation of per-surface queues of Content Updates, with dependencies
 | 
				
			||||||
 | 
					      between Content Updates across different queues. This queuing model
 | 
				
			||||||
 | 
					      maintains backwards compatibility with the earlier approach of merging
 | 
				
			||||||
 | 
					      Content Updates into the parent's pending state on commit.
 | 
				
			||||||
 | 
					    </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <para>
 | 
				
			||||||
 | 
					      The core protocol defines the semantics of Content Updates using
 | 
				
			||||||
 | 
					      per-surface queues, but compositors that do not need to support constraints
 | 
				
			||||||
 | 
					      may implement the simpler legacy model where synchronized subsurface states
 | 
				
			||||||
 | 
					      are merged directly into the parent's pending state.
 | 
				
			||||||
 | 
					    </para>
 | 
				
			||||||
 | 
					  </section>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <section id="sect-Content-Updates-rules">
 | 
				
			||||||
 | 
					    <title>Rules</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <para>
 | 
				
			||||||
 | 
					      The core protocol specifies the behavior in wl_subsurface and
 | 
				
			||||||
 | 
					      wl_surface.commit. The behavior can be summarized by the following rules:
 | 
				
			||||||
 | 
					    </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <orderedlist numeration="arabic">
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          Content Updates contain all double-buffered state of the surface and
 | 
				
			||||||
 | 
					          selected state from their direct children.
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          Surfaces which are effectively synchronized create Synchronized
 | 
				
			||||||
 | 
					          Content Updates (SCU), otherwise they create Desync Content Updates
 | 
				
			||||||
 | 
					          (DCU).
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          Content Updates (CU) have a dependency on the previous CU of the same
 | 
				
			||||||
 | 
					          queues (if it exists).
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          CUs have dependencies on the last SCU of direct child surfaces that
 | 
				
			||||||
 | 
					          are not reachable (if they exists).
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          The CUs and their dependencies form a DAG, where CUs are nodes and
 | 
				
			||||||
 | 
					          dependencies are edges.
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          All DCUs starting from the front of the queues until the first SCU or
 | 
				
			||||||
 | 
					          the back of the queue is reached are candidates.
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          If the DAG that's reachable from a candidate (candidate DAG) does not
 | 
				
			||||||
 | 
					          have any constraints, then this DAG must be applied atomically.
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          A DAG is applied by recursively applying a content update without
 | 
				
			||||||
 | 
					          dependencies and removing it from the DAG.
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          Surfaces transition from effectively sync to effectively desync after
 | 
				
			||||||
 | 
					          their parents.
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					      <listitem>
 | 
				
			||||||
 | 
					        <para>
 | 
				
			||||||
 | 
					          When a surface transitions to effectively desync, all SCUs in its
 | 
				
			||||||
 | 
					          queue which are not reachable by a DCU become DCUs.
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					      </listitem>
 | 
				
			||||||
 | 
					    </orderedlist>
 | 
				
			||||||
 | 
					  </section>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <section id="sect-Content-Updates-examples">
 | 
				
			||||||
 | 
					    <title>Examples</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <para>
 | 
				
			||||||
 | 
					      These examples should help to build an intuition for how content updates
 | 
				
			||||||
 | 
					      actually behave. They cover the interesting edge cases, such as
 | 
				
			||||||
 | 
					      subsurfaces with constraints, and transitioning from a sync subsurface to
 | 
				
			||||||
 | 
					      a desync one.
 | 
				
			||||||
 | 
					    </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <figure>
 | 
				
			||||||
 | 
					      <title>Legend</title>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/content-update-legend.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					    </figure>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <figure>
 | 
				
			||||||
 | 
					      <title>Complex Synchronized Subsurface Case 1</title>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-subsurf-case1-1.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    Every DCU (<emphasis>1</emphasis> and <emphasis>6</emphasis>) contain
 | 
				
			||||||
 | 
						    CUs with constraints in their reachable DAG
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-subsurf-case1-2.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    Waiting until the <emphasis>buffer-sync</emphasis> constrain on CU
 | 
				
			||||||
 | 
						    <emphasis>1</emphasis> is cleared, the candidate DAG of CU
 | 
				
			||||||
 | 
						    <emphasis>1</emphasis> does not contain constraints and can be applied
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-subsurf-case1-3.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    That leaves the candidate DAG of CU <emphasis>6</emphasis> which still
 | 
				
			||||||
 | 
						    contains another CU with a <emphasis>buffer-sync</emphasis> constrain
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-subsurf-case1-4.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    Waiting until the <emphasis>buffer-sync</emphasis> constrain on CU
 | 
				
			||||||
 | 
						    <emphasis>6</emphasis> is cleared, the candidate DAG of
 | 
				
			||||||
 | 
						    <emphasis>6</emphasis> does not contain CUs with constraints and can
 | 
				
			||||||
 | 
						    be applied.
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-subsurf-case1-5.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    There is no DCU left and no constraint remaining. Nothing more can be
 | 
				
			||||||
 | 
						    applied without a new CU.
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					    </figure>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <figure>
 | 
				
			||||||
 | 
					      <title>Complex Synchronized Subsurface Case 2</title>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-subsurf-case2-1.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    Both DCUs (<emphasis>1</emphasis> and <emphasis>6</emphasis>) have a
 | 
				
			||||||
 | 
						    reachable DAG containing CU <emphasis>1</emphasis> with a constraint
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-subsurf-case2-2.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    Waiting until the <emphasis>buffer-sync</emphasis> constrain on
 | 
				
			||||||
 | 
						    <emphasis>1</emphasis> is cleared, both DAGs contain no CU with
 | 
				
			||||||
 | 
						    constraints and can be applied in any order
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-subsurf-case2-3.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    That leaves the same state as in the previous case
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					    </figure>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <figure>
 | 
				
			||||||
 | 
					      <title>Synchronized to Desynchronized Subsurface</title>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-to-desync-subsurf-1.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    There is one DCU (<emphasis>1</emphasis>) with its reachable DAG
 | 
				
			||||||
 | 
						    that cannot be applied because CU <emphasis>1</emphasis> contains a
 | 
				
			||||||
 | 
						    constraint
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-to-desync-subsurf-2.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    Surface <emphasis>SS1</emphasis> transitions from effectively
 | 
				
			||||||
 | 
						    synchronized to effectively desynchronized. SCU
 | 
				
			||||||
 | 
						    <emphasis>2</emphasis> is reachable by DCU <emphasis>4</emphasis> so
 | 
				
			||||||
 | 
						    nothing changes.
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-to-desync-subsurf-3.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    Surface <emphasis>SS1</emphasis> provides a new DCU
 | 
				
			||||||
 | 
						    (<emphasis>5</emphasis>) but because the CU before
 | 
				
			||||||
 | 
						    (<emphasis>2</emphasis>) is a Synchronized CU, it is not a candidate
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					    </figure>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <figure>
 | 
				
			||||||
 | 
					      <title>Synchronized to Desynchronized Transition</title>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-to-desync-transition-1.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    There are three SCUs and all surfaces are effectively synchronized.
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-to-desync-transition-2.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    Surface <emphasis>SS1</emphasis> transitions to effectively
 | 
				
			||||||
 | 
						    desynchronized and SCU <emphasis>2</emphasis> becomes a DCU because
 | 
				
			||||||
 | 
						    it is not reachable from a DCU
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					      <mediaobject>
 | 
				
			||||||
 | 
						<imageobject>
 | 
				
			||||||
 | 
						  <imagedata fileref="images/sync-to-desync-transition-3.png"/>
 | 
				
			||||||
 | 
						</imageobject>
 | 
				
			||||||
 | 
						<caption>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						    Surface <emphasis>SS2</emphasis> transitions to effectively
 | 
				
			||||||
 | 
						    desynchronized. SCUs <emphasis>3</emphasis> and
 | 
				
			||||||
 | 
						    <emphasis>4</emphasis> become DCUs because they are not reachable
 | 
				
			||||||
 | 
						    from a DCU. SCU <emphasis>1</emphasis> does not change because it is
 | 
				
			||||||
 | 
						    reachable by DCU <emphasis>2</emphasis>.
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						</caption>
 | 
				
			||||||
 | 
					      </mediaobject>
 | 
				
			||||||
 | 
					    </figure>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  </section>
 | 
				
			||||||
 | 
					</chapter>
 | 
				
			||||||
| 
						 | 
					@ -12,6 +12,7 @@
 | 
				
			||||||
  <xi:include href="Architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
					  <xi:include href="Architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
				
			||||||
  <xi:include href="Protocol.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
					  <xi:include href="Protocol.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
				
			||||||
  <xi:include href="Xwayland.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
					  <xi:include href="Xwayland.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
				
			||||||
 | 
					  <xi:include href="Content_Updates.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
				
			||||||
  <xi:include href="Color.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
					  <xi:include href="Color.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
				
			||||||
  <xi:include href="ProtocolSpec.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
					  <xi:include href="ProtocolSpec.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 | 
				
			||||||
  <xi:include href="Client.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 | 
					  <xi:include href="Client.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/content-update-legend.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 25 KiB  | 
							
								
								
									
										1176
									
								
								doc/publican/html/images/content-updates.drawio
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -1,6 +1,21 @@
 | 
				
			||||||
foreach src : files([
 | 
					foreach src : files([
 | 
				
			||||||
	'icon.svg',
 | 
						'icon.svg',
 | 
				
			||||||
	'wayland.png',
 | 
						'wayland.png',
 | 
				
			||||||
 | 
						'sync-subsurf-case1-1.png',
 | 
				
			||||||
 | 
						'sync-subsurf-case1-2.png',
 | 
				
			||||||
 | 
						'sync-subsurf-case1-3.png',
 | 
				
			||||||
 | 
						'sync-subsurf-case1-4.png',
 | 
				
			||||||
 | 
						'sync-subsurf-case1-5.png',
 | 
				
			||||||
 | 
						'sync-subsurf-case2-1.png',
 | 
				
			||||||
 | 
						'sync-subsurf-case2-2.png',
 | 
				
			||||||
 | 
						'sync-subsurf-case2-3.png',
 | 
				
			||||||
 | 
						'sync-to-desync-subsurf-1.png',
 | 
				
			||||||
 | 
						'sync-to-desync-subsurf-2.png',
 | 
				
			||||||
 | 
						'sync-to-desync-subsurf-3.png',
 | 
				
			||||||
 | 
						'sync-to-desync-transition-1.png',
 | 
				
			||||||
 | 
						'sync-to-desync-transition-2.png',
 | 
				
			||||||
 | 
						'sync-to-desync-transition-3.png',
 | 
				
			||||||
 | 
						'content-update-legend.png',
 | 
				
			||||||
])
 | 
					])
 | 
				
			||||||
	name = fs.name(src)
 | 
						name = fs.name(src)
 | 
				
			||||||
	publican_inputs += fs.copyfile(
 | 
						publican_inputs += fs.copyfile(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-subsurf-case1-1.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 107 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-subsurf-case1-2.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 107 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-subsurf-case1-3.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 102 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-subsurf-case1-4.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 101 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-subsurf-case1-5.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 87 KiB  | 
							
								
								
									
										500
									
								
								doc/publican/html/images/sync-subsurf-case1.drawio
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,500 @@
 | 
				
			||||||
 | 
					<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.1.1 Chrome/132.0.6834.210 Electron/34.3.3 Safari/537.36" version="26.1.1" pages="5">
 | 
				
			||||||
 | 
					  <diagram name="state 1" id="piv4MB1wSOUai22uoHMj">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1149" dy="774" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-27" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="10" width="390" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0,0],[0.75,0],[1,0],[1,1],[0.21,1],[0,1],[0,1],[0,0.73],[0.64,0.73],[0.64,0.27],[0,0.27]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="100" width="140" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-2" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.45,0],[0.75,0],[1,0],[1,1],[0.62,1],[0,1],[0,1],[0,1],[0,0.2],[0,0],[0.24,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="110" y="170" width="50" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-3" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry y="10" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-4" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-5" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-6" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-7" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="BNEKj4FSaMJSDyX3_cBq-27" source="BNEKj4FSaMJSDyX3_cBq-6" target="BNEKj4FSaMJSDyX3_cBq-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="70" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="140" y="70" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-8" value="5" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-9" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="BNEKj4FSaMJSDyX3_cBq-27" source="BNEKj4FSaMJSDyX3_cBq-8" target="BNEKj4FSaMJSDyX3_cBq-6">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="40" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-10" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-11" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-12" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry y="90" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-13" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-14" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry y="170" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-15" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="BNEKj4FSaMJSDyX3_cBq-27" source="BNEKj4FSaMJSDyX3_cBq-11" target="BNEKj4FSaMJSDyX3_cBq-6">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="290" y="40" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="40" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-16" value="7" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-17" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="BNEKj4FSaMJSDyX3_cBq-27" source="BNEKj4FSaMJSDyX3_cBq-16">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="110" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="230" y="110" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-18" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="BNEKj4FSaMJSDyX3_cBq-27" source="BNEKj4FSaMJSDyX3_cBq-16" target="BNEKj4FSaMJSDyX3_cBq-8">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="55" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-19" value="8" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="360" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-20" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="BNEKj4FSaMJSDyX3_cBq-27" source="BNEKj4FSaMJSDyX3_cBq-19">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="350" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="310" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-21" value="6" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-22" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="BNEKj4FSaMJSDyX3_cBq-27" source="BNEKj4FSaMJSDyX3_cBq-21">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="215" y="125" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-23" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-24" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="BNEKj4FSaMJSDyX3_cBq-27" source="BNEKj4FSaMJSDyX3_cBq-21" target="BNEKj4FSaMJSDyX3_cBq-23">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="145" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="135" y="125" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-25" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="170" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="BNEKj4FSaMJSDyX3_cBq-26" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="BNEKj4FSaMJSDyX3_cBq-27">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="90" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram id="AmVTVAnnSdh7PAwgHQ-J" name="state 2">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1149" dy="774" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-26" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="10" width="390" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.45,0],[0.75,0],[1,0],[1,1],[0.62,1],[0,1],[0,1],[0,1],[0,0.2],[0,0],[0.24,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="111" y="170" width="50" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-2" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0,0],[0.75,0],[1,0],[1,1],[0.21,1],[0,1],[0,1],[0,0.73],[0.64,0.73],[0.64,0.27],[0,0.27]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="101" width="140" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-3" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry y="10" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-4" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-5" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-6" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-7" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="-tglhTkY9j0lAeJh4ESk-26" source="-tglhTkY9j0lAeJh4ESk-6" target="-tglhTkY9j0lAeJh4ESk-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="70" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="140" y="70" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-8" value="5" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-9" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="-tglhTkY9j0lAeJh4ESk-26" source="-tglhTkY9j0lAeJh4ESk-8" target="-tglhTkY9j0lAeJh4ESk-6">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="40" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-10" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-11" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-12" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry y="90" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-13" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-14" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry y="170" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-15" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="-tglhTkY9j0lAeJh4ESk-26" source="-tglhTkY9j0lAeJh4ESk-11" target="-tglhTkY9j0lAeJh4ESk-6">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="290" y="40" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="40" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-16" value="7" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-17" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="-tglhTkY9j0lAeJh4ESk-26" source="-tglhTkY9j0lAeJh4ESk-16">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="110" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="230" y="110" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-18" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="-tglhTkY9j0lAeJh4ESk-26" source="-tglhTkY9j0lAeJh4ESk-16" target="-tglhTkY9j0lAeJh4ESk-8">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="55" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-19" value="8" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="360" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-20" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="-tglhTkY9j0lAeJh4ESk-26" source="-tglhTkY9j0lAeJh4ESk-19">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="350" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="310" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-21" value="6" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-22" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="-tglhTkY9j0lAeJh4ESk-26" source="-tglhTkY9j0lAeJh4ESk-21">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="215" y="125" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-23" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-24" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="-tglhTkY9j0lAeJh4ESk-26" source="-tglhTkY9j0lAeJh4ESk-21" target="-tglhTkY9j0lAeJh4ESk-23">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="145" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="135" y="125" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="-tglhTkY9j0lAeJh4ESk-25" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="-tglhTkY9j0lAeJh4ESk-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="90" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram id="TJGIR_aT1lfBzh5hI3th" name="state 3">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1149" dy="774" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-23" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="20" width="390" height="200" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.45,0],[0.75,0],[1,0],[1,1],[0.62,1],[0.62,0.2],[0.62,0.2],[0.62,0.2],[0,0.2],[0,0],[0.24,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="110" width="130" height="200" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-2" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-3" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-4" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-5" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-6" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="kDi60eDrDWeN_IZO_Oer-23" source="kDi60eDrDWeN_IZO_Oer-5" target="kDi60eDrDWeN_IZO_Oer-4">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="60" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="140" y="60" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-7" value="5" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-8" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="kDi60eDrDWeN_IZO_Oer-23" source="kDi60eDrDWeN_IZO_Oer-7" target="kDi60eDrDWeN_IZO_Oer-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="20" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-9" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-10" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-11" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry y="80" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-12" value="<b>1</b>" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="165" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-13" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry y="160" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-14" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="kDi60eDrDWeN_IZO_Oer-23" source="kDi60eDrDWeN_IZO_Oer-10" target="kDi60eDrDWeN_IZO_Oer-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="290" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-15" value="7" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-16" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="kDi60eDrDWeN_IZO_Oer-23" source="kDi60eDrDWeN_IZO_Oer-15">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="100" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="230" y="100" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-17" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="kDi60eDrDWeN_IZO_Oer-23" source="kDi60eDrDWeN_IZO_Oer-15" target="kDi60eDrDWeN_IZO_Oer-7">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="95" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="45" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-18" value="8" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="360" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-19" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="kDi60eDrDWeN_IZO_Oer-23" source="kDi60eDrDWeN_IZO_Oer-18">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="350" y="20" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="310" y="20" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-20" value="6" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="165" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-21" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="kDi60eDrDWeN_IZO_Oer-23" source="kDi60eDrDWeN_IZO_Oer-20">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="95" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="215" y="115" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="kDi60eDrDWeN_IZO_Oer-22" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="kDi60eDrDWeN_IZO_Oer-23">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="80" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram id="8tl_i4AG-ByblRdbeoAc" name="state 4">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1149" dy="774" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-22" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="20" width="390" height="200" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.45,0],[0.75,0],[1,0],[1,1],[0.62,1],[0.62,0.2],[0.62,0.2],[0.62,0.2],[0,0.2],[0,0],[0.24,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="110" width="130" height="200" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-2" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-3" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-4" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-5" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-6" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="KFU6xLtBjxV3UyIQiZ9u-22" source="KFU6xLtBjxV3UyIQiZ9u-5" target="KFU6xLtBjxV3UyIQiZ9u-4">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="60" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="140" y="60" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-7" value="5" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-8" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="KFU6xLtBjxV3UyIQiZ9u-22" source="KFU6xLtBjxV3UyIQiZ9u-7" target="KFU6xLtBjxV3UyIQiZ9u-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="20" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-9" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-10" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-11" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry y="80" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-12" value="<b>1</b>" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="165" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-13" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry y="160" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-14" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="KFU6xLtBjxV3UyIQiZ9u-22" source="KFU6xLtBjxV3UyIQiZ9u-10" target="KFU6xLtBjxV3UyIQiZ9u-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="290" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-15" value="7" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-16" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="KFU6xLtBjxV3UyIQiZ9u-22" source="KFU6xLtBjxV3UyIQiZ9u-15">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="100" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="230" y="100" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-17" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="KFU6xLtBjxV3UyIQiZ9u-22" source="KFU6xLtBjxV3UyIQiZ9u-15" target="KFU6xLtBjxV3UyIQiZ9u-7">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="95" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="45" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-18" value="8" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="360" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-19" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="KFU6xLtBjxV3UyIQiZ9u-22" source="KFU6xLtBjxV3UyIQiZ9u-18">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="350" y="20" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="310" y="20" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-20" value="6" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="KFU6xLtBjxV3UyIQiZ9u-22">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="165" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="KFU6xLtBjxV3UyIQiZ9u-21" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="KFU6xLtBjxV3UyIQiZ9u-22" source="KFU6xLtBjxV3UyIQiZ9u-20">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="95" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="215" y="115" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram id="I_Id2mCzoGFMSwHJqH5q" name="state 5">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1149" dy="774" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-12" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="20" width="231" height="200" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-1" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="YIpS9g6xBEaVuflAf0iO-12">
 | 
				
			||||||
 | 
					          <mxGeometry width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-2" value="<b>2, 3<br></b>" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="YIpS9g6xBEaVuflAf0iO-12">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-3" value="5" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="YIpS9g6xBEaVuflAf0iO-12">
 | 
				
			||||||
 | 
					          <mxGeometry x="121" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-4" value="<b>4</b>" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="YIpS9g6xBEaVuflAf0iO-12">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-5" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="YIpS9g6xBEaVuflAf0iO-12">
 | 
				
			||||||
 | 
					          <mxGeometry y="80" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-6" value="<b>1, 6<br></b>" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="YIpS9g6xBEaVuflAf0iO-12">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="165" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-7" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="YIpS9g6xBEaVuflAf0iO-12">
 | 
				
			||||||
 | 
					          <mxGeometry y="160" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-8" value="7" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="YIpS9g6xBEaVuflAf0iO-12">
 | 
				
			||||||
 | 
					          <mxGeometry x="121" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-9" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="YIpS9g6xBEaVuflAf0iO-12" source="YIpS9g6xBEaVuflAf0iO-8" target="YIpS9g6xBEaVuflAf0iO-3">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="66" y="95" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="66" y="45" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-10" value="8" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="YIpS9g6xBEaVuflAf0iO-12">
 | 
				
			||||||
 | 
					          <mxGeometry x="201" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="YIpS9g6xBEaVuflAf0iO-11" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="YIpS9g6xBEaVuflAf0iO-12" source="YIpS9g6xBEaVuflAf0iO-10">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="191" y="20" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="151" y="20" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					</mxfile>
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-subsurf-case2-1.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 74 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-subsurf-case2-2.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 73 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-subsurf-case2-3.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 54 KiB  | 
							
								
								
									
										287
									
								
								doc/publican/html/images/sync-subsurf-case2.drawio
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,287 @@
 | 
				
			||||||
 | 
					<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.1.1 Chrome/132.0.6834.210 Electron/34.3.3 Safari/537.36" version="26.1.1" pages="3">
 | 
				
			||||||
 | 
					  <diagram id="8Eo1AGRWHWefgpNjroBf" name="state 1">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1070" dy="732" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-26" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="10" width="390" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0,0],[0.75,0],[1,0],[1,1],[0.21,1],[0,1],[0,1],[0,0.73],[0.64,0.73],[0.64,0.27],[0,0.27]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="100" width="140" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-2" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.45,0],[0.75,0],[1,0],[1,1],[0.62,1],[0,1],[0,1],[0,1],[0,0.2],[0,0],[0.24,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="110" y="170" width="50" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-3" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry y="10" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-4" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-5" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-6" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-7" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="lMObtAj2JowYBNsHivty-26" source="lMObtAj2JowYBNsHivty-6" target="lMObtAj2JowYBNsHivty-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="70" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="140" y="70" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-8" value="5" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-9" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="lMObtAj2JowYBNsHivty-26" source="lMObtAj2JowYBNsHivty-8" target="lMObtAj2JowYBNsHivty-6">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="40" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-10" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-11" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-12" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry y="90" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-13" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-14" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry y="170" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-15" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="lMObtAj2JowYBNsHivty-26" source="lMObtAj2JowYBNsHivty-11" target="lMObtAj2JowYBNsHivty-6">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="290" y="40" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="40" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-16" value="7" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-17" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="lMObtAj2JowYBNsHivty-26" source="lMObtAj2JowYBNsHivty-16">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="110" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="230" y="110" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-18" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="lMObtAj2JowYBNsHivty-26" source="lMObtAj2JowYBNsHivty-16" target="lMObtAj2JowYBNsHivty-8">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="55" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-19" value="8" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="360" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-20" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="lMObtAj2JowYBNsHivty-26" source="lMObtAj2JowYBNsHivty-19">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="350" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="310" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-21" value="6" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-22" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="lMObtAj2JowYBNsHivty-26" source="lMObtAj2JowYBNsHivty-21">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="215" y="125" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-23" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-24" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="lMObtAj2JowYBNsHivty-26" source="lMObtAj2JowYBNsHivty-21" target="lMObtAj2JowYBNsHivty-23">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="145" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="135" y="125" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="lMObtAj2JowYBNsHivty-25" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="lMObtAj2JowYBNsHivty-26">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="170" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram id="ZB54035AOYvPo9_0UTcb" name="state 2">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1070" dy="732" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-25" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="10" width="390" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0,0],[0.75,0],[1,0],[1,1],[0.21,1],[0,1],[0,1],[0,0.73],[0.64,0.73],[0.64,0.27],[0,0.27]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="101" width="140" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-2" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry y="10" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-3" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-4" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-5" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-6" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="mpJY2JbuI38zzk8to14d-25" source="mpJY2JbuI38zzk8to14d-5" target="mpJY2JbuI38zzk8to14d-4">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="70" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="140" y="70" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-7" value="5" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-8" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="mpJY2JbuI38zzk8to14d-25" source="mpJY2JbuI38zzk8to14d-7" target="mpJY2JbuI38zzk8to14d-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="40" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-9" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-10" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-11" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry y="90" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-12" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-13" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry y="170" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-14" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="mpJY2JbuI38zzk8to14d-25" source="mpJY2JbuI38zzk8to14d-10" target="mpJY2JbuI38zzk8to14d-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="290" y="40" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="40" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-15" value="7" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-16" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="mpJY2JbuI38zzk8to14d-25" source="mpJY2JbuI38zzk8to14d-15">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="110" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="230" y="110" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-17" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="mpJY2JbuI38zzk8to14d-25" source="mpJY2JbuI38zzk8to14d-15" target="mpJY2JbuI38zzk8to14d-7">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="55" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-18" value="8" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="360" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-19" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="mpJY2JbuI38zzk8to14d-25" source="mpJY2JbuI38zzk8to14d-18">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="350" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="310" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-20" value="6" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-21" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="mpJY2JbuI38zzk8to14d-25" source="mpJY2JbuI38zzk8to14d-20">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="225" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="215" y="125" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-22" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-23" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="mpJY2JbuI38zzk8to14d-25" source="mpJY2JbuI38zzk8to14d-20" target="mpJY2JbuI38zzk8to14d-22">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="145" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="135" y="125" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="mpJY2JbuI38zzk8to14d-24" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.45,0],[0.75,0],[1,0],[1,1],[0.62,1],[0,1],[0,1],[0,1],[0,0.2],[0,0],[0.24,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="mpJY2JbuI38zzk8to14d-25">
 | 
				
			||||||
 | 
					          <mxGeometry x="111" y="170" width="50" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram name="state 3" id="pfYS2UsdWF6MnEGA_9M5">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1070" dy="732" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-147" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="20" width="230" height="200" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-136" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="G2f_uyPNZEB1i5etgh__-147">
 | 
				
			||||||
 | 
					          <mxGeometry width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-137" value="<b>2, 3<br></b>" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="G2f_uyPNZEB1i5etgh__-147">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-138" value="5" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="G2f_uyPNZEB1i5etgh__-147">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-139" value="<b>4</b>" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="G2f_uyPNZEB1i5etgh__-147">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-140" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="G2f_uyPNZEB1i5etgh__-147">
 | 
				
			||||||
 | 
					          <mxGeometry y="80" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-141" value="<b>1, 6<br></b>" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="G2f_uyPNZEB1i5etgh__-147">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="165" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-142" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="G2f_uyPNZEB1i5etgh__-147">
 | 
				
			||||||
 | 
					          <mxGeometry y="160" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-143" value="7" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="G2f_uyPNZEB1i5etgh__-147">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-144" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="G2f_uyPNZEB1i5etgh__-147" source="G2f_uyPNZEB1i5etgh__-143" target="G2f_uyPNZEB1i5etgh__-138">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="95" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="45" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-145" value="8" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="G2f_uyPNZEB1i5etgh__-147">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="G2f_uyPNZEB1i5etgh__-146" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="G2f_uyPNZEB1i5etgh__-147" source="G2f_uyPNZEB1i5etgh__-145">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="20" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="150" y="20" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					</mxfile>
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-to-desync-subsurf-1.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 56 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-to-desync-subsurf-2.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 55 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-to-desync-subsurf-3.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 56 KiB  | 
							
								
								
									
										223
									
								
								doc/publican/html/images/sync-to-desync-subsurf.drawio
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,223 @@
 | 
				
			||||||
 | 
					<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.1.1 Chrome/132.0.6834.210 Electron/34.3.3 Safari/537.36" version="26.1.1" pages="3">
 | 
				
			||||||
 | 
					  <diagram name="state 1" id="VrdkUToxpVwyLyul_Cfd">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1070" dy="732" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-16" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="10" width="230" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.24,0],[1,0],[1,0.4],[1,1],[0.48,1],[0,1],[0,0.75],[0,0.73],[0.02,0.5],[0,0.25],[0,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="101" width="70" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-2" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="10" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-3" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-4" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-5" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-6" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="90" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-7" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-8" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="170" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-9" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-10" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="oHeAk4B_Z_e2L7biMZUw-16" source="oHeAk4B_Z_e2L7biMZUw-9" target="oHeAk4B_Z_e2L7biMZUw-4">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="55" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-11" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-12" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="oHeAk4B_Z_e2L7biMZUw-16" source="oHeAk4B_Z_e2L7biMZUw-11">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="150" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-13" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-14" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="oHeAk4B_Z_e2L7biMZUw-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="170" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="oHeAk4B_Z_e2L7biMZUw-15" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="oHeAk4B_Z_e2L7biMZUw-16" source="oHeAk4B_Z_e2L7biMZUw-13" target="oHeAk4B_Z_e2L7biMZUw-9">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="199.43" y="182" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="199.43" y="132" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram id="dumz7MtjuSRbbVgNawrV" name="state 2">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1070" dy="732" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-16" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="10" width="230" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.24,0],[1,0],[1,0.4],[1,1],[0.48,1],[0,1],[0,0.75],[0,0.73],[0.02,0.5],[0,0.25],[0,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="101" width="70" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-2" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="10" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-3" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-4" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-5" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-6" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="90" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-7" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-8" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="170" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-9" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-10" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="n_ChFhbu9l9toi0L3hxX-16" source="n_ChFhbu9l9toi0L3hxX-9" target="n_ChFhbu9l9toi0L3hxX-4">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="55" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-11" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-12" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="n_ChFhbu9l9toi0L3hxX-16" source="n_ChFhbu9l9toi0L3hxX-11">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="150" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-13" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-14" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="n_ChFhbu9l9toi0L3hxX-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="170" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="n_ChFhbu9l9toi0L3hxX-15" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="n_ChFhbu9l9toi0L3hxX-16" source="n_ChFhbu9l9toi0L3hxX-13" target="n_ChFhbu9l9toi0L3hxX-9">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="199.43000000000006" y="182" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="199.43000000000006" y="132" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram id="UgwmXKjNo72Kti5tnIX_" name="state 3">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1070" dy="732" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-20" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="10" width="230" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-2" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.24,0],[1,0],[1,0.4],[1,1],[0.48,1],[0,1],[0,0.75],[0,0.73],[0.02,0.5],[0,0.25],[0,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="100" width="70" height="220" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-3" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry y="10" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-4" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-5" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-6" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-7" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry y="90" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-8" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-9" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry y="170" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-10" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-11" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="PkcBEfq_iBlsM-m9fPOb-20" source="PkcBEfq_iBlsM-m9fPOb-10" target="PkcBEfq_iBlsM-m9fPOb-5">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="55" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-12" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-13" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="PkcBEfq_iBlsM-m9fPOb-20" source="PkcBEfq_iBlsM-m9fPOb-12">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="150" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-14" value="5" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-15" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="PkcBEfq_iBlsM-m9fPOb-20" source="PkcBEfq_iBlsM-m9fPOb-14">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="146" y="25" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="151" y="110" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-16" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;plain-blue;gradientColor=none;fillColor=#B5E3Fe;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-17" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="PkcBEfq_iBlsM-m9fPOb-20">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="170" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-18" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="PkcBEfq_iBlsM-m9fPOb-20" source="PkcBEfq_iBlsM-m9fPOb-16">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="199.43000000000006" y="182" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="135" y="125" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="PkcBEfq_iBlsM-m9fPOb-19" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="PkcBEfq_iBlsM-m9fPOb-20" source="PkcBEfq_iBlsM-m9fPOb-14" target="PkcBEfq_iBlsM-m9fPOb-12">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="440" y="230" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="311" y="230" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					</mxfile>
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-to-desync-transition-1.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 40 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-to-desync-transition-2.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 48 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/publican/html/images/sync-to-desync-transition-3.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 49 KiB  | 
							
								
								
									
										203
									
								
								doc/publican/html/images/sync-to-desync-transition.drawio
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,203 @@
 | 
				
			||||||
 | 
					<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.1.1 Chrome/132.0.6834.210 Electron/34.3.3 Safari/537.36" version="26.1.1" pages="3">
 | 
				
			||||||
 | 
					  <diagram name="state 1" id="w7PF-E3A9k5X4TpleA9C">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1070" dy="774" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-15" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="20" width="310" height="200" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-1" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-2" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-3" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-4" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-5" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry y="80" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-6" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="165" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-7" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry y="160" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-8" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="85" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-9" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="sifWEnGrpBqlT8R1-RFs-15" source="sifWEnGrpBqlT8R1-RFs-8" target="sifWEnGrpBqlT8R1-RFs-3">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="95" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="45" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-10" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-11" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="sifWEnGrpBqlT8R1-RFs-15" source="sifWEnGrpBqlT8R1-RFs-10">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="20" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="150" y="20" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-12" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="80" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-13" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="sifWEnGrpBqlT8R1-RFs-15">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="5" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="sifWEnGrpBqlT8R1-RFs-14" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="sifWEnGrpBqlT8R1-RFs-15" source="sifWEnGrpBqlT8R1-RFs-13" target="sifWEnGrpBqlT8R1-RFs-10">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="290" y="59.659999999999854" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="240" y="59.659999999999854" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram id="8cHA4ecnVEcz090J-liN" name="state 2">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1070" dy="774" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-16" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="10" width="311" height="210" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-1" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="10" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-2" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-3" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-4" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-5" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="90" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-6" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-7" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="170" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-8" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#B5E3FE;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-9" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="OwjlZwffn-Y4nYBfrumN-16" source="OwjlZwffn-Y4nYBfrumN-8" target="OwjlZwffn-Y4nYBfrumN-3">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="55" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-10" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-11" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="OwjlZwffn-Y4nYBfrumN-16" source="OwjlZwffn-Y4nYBfrumN-10">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="150" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-12" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.24,0],[1,0],[1,0.4],[1,1],[0.48,1],[0,1],[0,0.75],[0,0.73],[0.02,0.5],[0,0.25],[0,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="101" width="70" height="140" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-13" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="121" y="90" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-14" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="OwjlZwffn-Y4nYBfrumN-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="281" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="OwjlZwffn-Y4nYBfrumN-15" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="OwjlZwffn-Y4nYBfrumN-16" source="OwjlZwffn-Y4nYBfrumN-14" target="OwjlZwffn-Y4nYBfrumN-10">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="291" y="69.65999999999985" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="231" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					  <diagram id="9Yl-pgUNl23KlRTR3j43" name="state 3">
 | 
				
			||||||
 | 
					    <mxGraphModel dx="1070" dy="774" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="450" pageHeight="250" math="0" shadow="0">
 | 
				
			||||||
 | 
					      <root>
 | 
				
			||||||
 | 
					        <mxCell id="0" />
 | 
				
			||||||
 | 
					        <mxCell id="1" parent="0" />
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-16" value="" style="group" vertex="1" connectable="0" parent="1">
 | 
				
			||||||
 | 
					          <mxGeometry x="10" y="10" width="310" height="210" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.polygon;polyCoords=[[0.24,0],[1,0],[1,0.4],[1,1],[0.48,1],[0,1],[0,0.75],[0,0.73],[0.02,0.5],[0,0.25],[0,0]];polyline=0;fillColor=none;dashed=1;strokeColor=#CC00CC;strokeWidth=2;perimeterSpacing=0;shadow=1;sketch=1;curveFitting=1;jiggle=2;fixDash=0;container=0;dropTarget=0;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="101" width="70" height="140" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-2" value="SS2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="10" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-3" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-4" value="1" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#d5e8d4;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-5" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-6" value="SS1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="90" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-7" value="" style="whiteSpace=wrap;html=1;aspect=fixed;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="45" y="175" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-8" value="T1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;fontSize=14;fontStyle=1;fontFamily=Courier New;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry y="170" width="40" height="40" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-9" value="2" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#B5E3FE;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="95" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-10" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;" edge="1" parent="3Z5IVvEdUQoImQymVIXm-16" source="3Z5IVvEdUQoImQymVIXm-9" target="3Z5IVvEdUQoImQymVIXm-4">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="105" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="65" y="55" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-11" value="3" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#B5E3FE;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="200" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-12" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="3Z5IVvEdUQoImQymVIXm-16" source="3Z5IVvEdUQoImQymVIXm-11">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="190" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="150" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-13" value="B" style="verticalLabelPosition=middle;verticalAlign=middle;html=1;strokeWidth=1;shape=mxgraph.flowchart.on-page_reference;strokeColor=#b85450;fillColor=#f8cecc;labelPosition=center;align=center;dashed=1;fontStyle=1;spacing=0;spacingBottom=2;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="120" y="90" width="14" height="14" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-14" value="4" style="verticalLabelPosition=middle;verticalAlign=middle;strokeWidth=4;shape=mxgraph.flowchart.on-page_reference;fillColor=#B5E3FE;strokeColor=#000000;labelPosition=center;align=center;html=1;fontSize=18;fontStyle=1;spacingBottom=3;" vertex="1" parent="3Z5IVvEdUQoImQymVIXm-16">
 | 
				
			||||||
 | 
					          <mxGeometry x="280" y="15" width="30" height="30" as="geometry" />
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					        <mxCell id="3Z5IVvEdUQoImQymVIXm-15" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=3;curved=0;endFill=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="3Z5IVvEdUQoImQymVIXm-16" source="3Z5IVvEdUQoImQymVIXm-14" target="3Z5IVvEdUQoImQymVIXm-11">
 | 
				
			||||||
 | 
					          <mxGeometry width="50" height="50" relative="1" as="geometry">
 | 
				
			||||||
 | 
					            <mxPoint x="270" y="30" as="sourcePoint" />
 | 
				
			||||||
 | 
					            <mxPoint x="230" y="30" as="targetPoint" />
 | 
				
			||||||
 | 
					            <Array as="points" />
 | 
				
			||||||
 | 
					          </mxGeometry>
 | 
				
			||||||
 | 
					        </mxCell>
 | 
				
			||||||
 | 
					      </root>
 | 
				
			||||||
 | 
					    </mxGraphModel>
 | 
				
			||||||
 | 
					  </diagram>
 | 
				
			||||||
 | 
					</mxfile>
 | 
				
			||||||
| 
						 | 
					@ -16,6 +16,7 @@ foreach src : files([
 | 
				
			||||||
	'Protocol.xml',
 | 
						'Protocol.xml',
 | 
				
			||||||
	'Xwayland.xml',
 | 
						'Xwayland.xml',
 | 
				
			||||||
	'Compositors.xml',
 | 
						'Compositors.xml',
 | 
				
			||||||
 | 
						'Content_Updates.xml',
 | 
				
			||||||
	'Color.xml',
 | 
						'Color.xml',
 | 
				
			||||||
	'Client.xml',
 | 
						'Client.xml',
 | 
				
			||||||
	'Server.xml',
 | 
						'Server.xml',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||