<?xml version="1.0" standalone="no"?>
<!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
    "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
<entity name="rijndael2" class="ptolemy.actor.TypedCompositeActor">
    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="2.1-devel">
    </property>
    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[600, 400]">
    </property>
    <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute" value="[104, 127]">
    </property>
    <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
        <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
        </property>
        <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="iterations" class="ptolemy.data.expr.Parameter" value="4">
        </property>
        <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="85.0, 75.0">
        </property>
    </property>
    <property name="annotation" class="ptolemy.kernel.util.Attribute">
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">A model of the rijndael encryption system, operating in ECB mode.
http://www.esat.kuleuven.ac.be/~rijmen/rijndael/index.html
http://home.ecn.ab.ca/~jsavard/crypto/co040801.htm</text></svg></configure>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
      </svg>
    </configure>
        </property>
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="5.0, 230.0">
        </property>
    </property>
    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={104, 127, 815, 509}}">
    </property>
    <entity name="rijndael" class="ptolemy.actor.TypedCompositeActor">
        <property name="_location" class="ptolemy.kernel.util.Location" value="200.0, 200.0">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[817, 667]">
        </property>
        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute" value="[104, 127]">
        </property>
        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
            </property>
            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="75.0, 55.0">
            </property>
        </property>
        <property name="key" class="ptolemy.data.expr.Parameter" value="{0x00ub,0x01ub,0x02ub,0x03ub,0x04ub,0x05ub,0x06ub,0x07ub,0x08ub,0x09ub,0x0aub,0x0bub,0x0cub,0x0dub,0x0eub,0x0fub}">
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
      </svg>
    </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="25.0, 355.0">
            </property>
        </property>
        <property name="roundCount" class="ptolemy.data.expr.Parameter" value="10">
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
      </svg>
    </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="25.0, 375.0">
            </property>
        </property>
        <property name="annotation" class="ptolemy.kernel.util.Attribute">
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">This Block implements the rijndael block encryption algorithm.
It consumes a block of 128 bits, encrypts it, and then outputs 128 encrypted bits.
The 128 bit key to be used is specified by the key parameter (an array of unsigned bytes)
The roundCount parameter gives the number of cipher rounds that should be performed,
and should be 10 for 128 bit data and 128 bit key.
</text></svg></configure>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
      </svg>
    </configure>
            </property>
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="5.0, -100.0">
            </property>
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={-4, -4, 1032, 776}}">
        </property>
        <port name="text" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="65.0, 190.0">
            </property>
            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
            </property>
        </port>
        <port name="cipher" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="725.0, 200.0">
            </property>
            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
            </property>
            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
            </property>
        </port>
        <entity name="round key generator" class="ptolemy.actor.TypedCompositeActor">
            <property name="_location" class="ptolemy.kernel.util.Location" value="145.0, 290.0">
            </property>
            <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
            </property>
            <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
            </property>
            <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                </property>
                <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                </property>
                <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="95.0, 175.0">
                </property>
            </property>
            <property name="annotation" class="ptolemy.kernel.util.Attribute">
                <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
                <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">This block implements the key expansion and key selection.
It basically implements a random number generator that uses
the 128 bit user key as a seed.</text></svg></configure>
                </property>
                <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
      </svg>
    </configure>
                </property>
                <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
                </property>
                <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="170.0, 100.0">
                </property>
            </property>
            <port name="round key" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="377.5, 375.0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="4">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <entity name="Expression" class="ptolemy.actor.lib.Expression">
                <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a#b">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="595.0, 325.0">
                </property>
                <port name="output" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                </port>
                <port name="a" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                </port>
                <port name="b" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                </port>
            </entity>
            <entity name="SequenceToArray" class="ptolemy.domains.sdf.lib.SequenceToArray">
                <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="4">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="192.5, 250.0">
                </property>
                <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="4">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="output"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
            </entity>
            <entity name="SampleDelay" class="ptolemy.domains.sdf.lib.SampleDelay">
                <property name="initialOutputs" class="ptolemy.data.expr.Parameter" value="{key(0),key(1),key(2),key(3),key(4),key(5),key(6),key(7),key(8),key(9),key(10),key(11)}">
                </property>
                <doc>The sdf delay actor, which behaves as an initial token on an arc.</doc>
                <property name="_location" class="ptolemy.kernel.util.Location" value="192.5, 335.0">
                </property>
                <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="output"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="12">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
            </entity>
            <entity name="SampleDelay2" class="ptolemy.domains.sdf.lib.SampleDelay">
                <property name="initialOutputs" class="ptolemy.data.expr.Parameter" value="{key(12),key(13),key(14),key(15)}">
                </property>
                <doc>The sdf delay actor, which behaves as an initial token on an arc.</doc>
                <property name="_location" class="ptolemy.kernel.util.Location" value="82.5, 250.0">
                </property>
                <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="output"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="4">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
            </entity>
            <entity name="ArrayToSequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="4">
                </property>
                <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="480.0, 250.0">
                </property>
                <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="output"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="4">
                    </property>
                </port>
            </entity>
            <entity name="Scale" class="ptolemy.actor.lib.Scale">
                <property name="factor" class="ptolemy.data.expr.Parameter" value="1ub">
                </property>
                <property name="scaleOnLeft" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.AttributeValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="factor">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="6">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="287.5, 335.0">
                </property>
                <port name="input" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                </port>
                <port name="output" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                </port>
            </entity>
            <entity name="modal model" class="ptolemy.vergil.fsm.modal.ModalModel">
                <property name="directorClass" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.fsm.kernel.HSDirector">
                    <property name="style" class="ptolemy.actor.gui.style.ChoiceStyle">
                        <property name="style0" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.fsm.kernel.HSDirector">
                        </property>
                        <property name="style1" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.fsm.kernel.FSMDirector">
                        </property>
                    </property>
                </property>
                <property name="_tableauFactory" class="ptolemy.vergil.fsm.modal.ModalModel$ModalTableauFactory">
                </property>
                <property name="_Director" class="ptolemy.domains.fsm.kernel.HSDirector">
                    <property name="controllerName" class="ptolemy.kernel.util.StringAttribute" value="_Controller">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="317.5, 250.0">
                </property>
                <port name="input" class="ptolemy.vergil.fsm.modal.ModalPort">
                    <property name="input"/>
                </port>
                <port name="output" class="ptolemy.vergil.fsm.modal.ModalPort">
                    <property name="output"/>
                </port>
                <entity name="_Controller" class="ptolemy.vergil.fsm.modal.ModalController">
                    <property name="initialStateName" class="ptolemy.kernel.util.StringAttribute" value="SubRotWord">
                    </property>
                    <property name="_nonStrictMarker" class="ptolemy.kernel.util.Attribute">
                    </property>
                    <property name="_library" class="ptolemy.moml.LibraryAttribute">
                    </property>
                    <property name="annotation" class="ptolemy.kernel.util.Attribute">
                        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                        </property>
                        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">Create a state machine here (and ports, if needed) and
create refinements for the states. Each refinement needs a director.
For hybrid system models, use the CTEmbeddedDirector.</text></svg></configure>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="120.0, 5.0">
                        </property>
                        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
                        </property>
                        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
                        </property>
                    </property>
                    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                    </property>
                    <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                    </property>
                    <property name="wordsInKey" class="ptolemy.data.expr.Parameter" value="4">
                    </property>
                    <property name="cycle" class="ptolemy.data.expr.Parameter" value="3">
                    </property>
                    <port name="input" class="ptolemy.vergil.fsm.modal.RefinementPort">
                        <property name="input"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="55.0, 215.0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.vergil.fsm.modal.RefinementPort">
                        <property name="input"/>
                        <property name="output"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="490.0, 235.0">
                        </property>
                    </port>
                    <entity name="DoNothing" class="ptolemy.domains.fsm.kernel.State">
                        <property name="refinementName" class="ptolemy.kernel.util.StringAttribute" value="DoNothing">
                        </property>
                        <property name="_centerName" class="ptolemy.kernel.util.Attribute">
                        </property>
                        <property name="_controllerFactory" class="ptolemy.vergil.fsm.modal.HierarchicalStateControllerFactory">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="310.0, 225.0">
                        </property>
                        <port name="incomingPort" class="ptolemy.kernel.ComponentPort">
                        </port>
                        <port name="outgoingPort" class="ptolemy.kernel.ComponentPort">
                        </port>
                    </entity>
                    <entity name="SubRotWord" class="ptolemy.domains.fsm.kernel.State">
                        <property name="refinementName" class="ptolemy.kernel.util.StringAttribute" value="SubRotWord">
                        </property>
                        <property name="_centerName" class="ptolemy.kernel.util.Attribute">
                        </property>
                        <property name="_controllerFactory" class="ptolemy.vergil.fsm.modal.HierarchicalStateControllerFactory">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="180.0, 225.0">
                        </property>
                        <port name="incomingPort" class="ptolemy.kernel.ComponentPort">
                        </port>
                        <port name="outgoingPort" class="ptolemy.kernel.ComponentPort">
                        </port>
                    </entity>
                    <relation name="relation" class="ptolemy.domains.fsm.kernel.Transition">
                        <property name="guardExpression" class="ptolemy.kernel.util.StringAttribute" value="true">
                        </property>
                        <property name="outputActions" class="ptolemy.domains.fsm.kernel.OutputActionsAttribute">
                        </property>
                        <property name="setActions" class="ptolemy.domains.fsm.kernel.CommitActionsAttribute" value="cycle = 1">
                        </property>
                        <property name="exitAngle" class="ptolemy.data.expr.Parameter" value="0.6283185307179586">
                        </property>
                        <property name="gamma" class="ptolemy.data.expr.Parameter" value="0.11840474385028849">
                        </property>
                        <property name="reset" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="preemptive" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="triggerExpression" class="ptolemy.kernel.util.StringAttribute">
                        </property>
                        <property name="refinementName" class="ptolemy.kernel.util.StringAttribute">
                        </property>
                    </relation>
                    <relation name="relation2" class="ptolemy.domains.fsm.kernel.Transition">
                        <property name="guardExpression" class="ptolemy.kernel.util.StringAttribute" value="cycle &gt;= wordsInKey -1">
                        </property>
                        <property name="outputActions" class="ptolemy.domains.fsm.kernel.OutputActionsAttribute">
                        </property>
                        <property name="setActions" class="ptolemy.domains.fsm.kernel.CommitActionsAttribute">
                        </property>
                        <property name="exitAngle" class="ptolemy.data.expr.Parameter" value="0.6283185307179586">
                        </property>
                        <property name="gamma" class="ptolemy.data.expr.Parameter" value="-3.0231879097395042">
                        </property>
                        <property name="reset" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="preemptive" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="triggerExpression" class="ptolemy.kernel.util.StringAttribute">
                        </property>
                        <property name="refinementName" class="ptolemy.kernel.util.StringAttribute">
                        </property>
                    </relation>
                    <relation name="relation3" class="ptolemy.domains.fsm.kernel.Transition">
                        <property name="guardExpression" class="ptolemy.kernel.util.StringAttribute" value="cycle &lt; wordsInKey -1">
                        </property>
                        <property name="outputActions" class="ptolemy.domains.fsm.kernel.OutputActionsAttribute">
                        </property>
                        <property name="setActions" class="ptolemy.domains.fsm.kernel.CommitActionsAttribute" value="cycle = cycle + 1">
                        </property>
                        <property name="exitAngle" class="ptolemy.data.expr.Parameter" value="2.283034506707155">
                        </property>
                        <property name="gamma" class="ptolemy.data.expr.Parameter" value="-0.783911495102464">
                        </property>
                        <property name="reset" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="preemptive" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="triggerExpression" class="ptolemy.kernel.util.StringAttribute">
                        </property>
                        <property name="refinementName" class="ptolemy.kernel.util.StringAttribute">
                        </property>
                    </relation>
                    <link port="DoNothing.incomingPort" relation="relation"/>
                    <link port="DoNothing.incomingPort" relation="relation3"/>
                    <link port="DoNothing.outgoingPort" relation="relation2"/>
                    <link port="DoNothing.outgoingPort" relation="relation3"/>
                    <link port="SubRotWord.incomingPort" relation="relation2"/>
                    <link port="SubRotWord.outgoingPort" relation="relation"/>
                </entity>
                <entity name="SubRotWord" class="ptolemy.vergil.fsm.modal.Refinement">
                    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                    </property>
                    <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                    </property>
                    <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                        <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                        </property>
                        <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="80.0, 50.0">
                        </property>
                    </property>
                    <port name="input" class="ptolemy.vergil.fsm.modal.RefinementPort">
                        <property name="input"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="25.0, 195.0">
                        </property>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.vergil.fsm.modal.RefinementPort">
                        <property name="output"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="546.5, 229.5">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <entity name="Sbox" class="ptolemy.actor.lib.LookupTable">
                        <property name="table" class="ptolemy.data.expr.Parameter" value="eval(readResource(&quot;ptolemy/apps/rijndael/sbox.txt&quot;))">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="265.0, 220.0">
                        </property>
                        <port name="input" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                        </port>
                    </entity>
                    <entity name="SampleDelay" class="ptolemy.domains.sdf.lib.SampleDelay">
                        <property name="initialOutputs" class="ptolemy.data.expr.Parameter" value="{1ub}">
                        </property>
                        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="initialOutputs">
                            </property>
                            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="20">
                            </property>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="281.927734375, 57.3125">
                        </property>
                        <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="output"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                        </port>
                    </entity>
                    <entity name="Commutator" class="ptolemy.actor.lib.Commutator">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="370.0, 145.0">
                        </property>
                        <port name="input" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="multiport"/>
                        </port>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                        </port>
                    </entity>
                    <entity name="Const" class="ptolemy.actor.lib.Const">
                        <property name="value" class="ptolemy.data.expr.Parameter" value="0ub">
                        </property>
                        <doc>Create a constant sequence</doc>
                        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                            </property>
                            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="40">
                            </property>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="215.0, 145.0">
                        </property>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                        </port>
                        <port name="trigger" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="multiport"/>
                        </port>
                    </entity>
                    <entity name="MulTwo" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="206.927734375, 57.3125">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="125.0, 55.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="580.0, 200.0">
                            </property>
                        </port>
                        <entity name="Expression" class="ptolemy.actor.lib.Expression">
                            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a &gt; 127 ? (a &lt;&lt; 1) # 27ub : (a &lt;&lt; 1)">
                            </property>
                            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                                </property>
                                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                                </property>
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="270.0, 200.0">
                            </property>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                            </port>
                            <port name="a" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Expression.output" relation="relation2"/>
                        <link port="Expression.a" relation="relation"/>
                    </entity>
                    <entity name="SequenceToArray" class="ptolemy.domains.sdf.lib.SequenceToArray">
                        <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="4">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="483.5, 280.5">
                        </property>
                        <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="output"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                        </port>
                    </entity>
                    <entity name="ArrayToSequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                        <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="4">
                        </property>
                        <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="90.0, 195.0">
                        </property>
                        <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="output"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                        </port>
                    </entity>
                    <entity name="rotate bytes" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="175.0, 220.0">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="90.0, 65.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="440.0, 195.0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                        </port>
                        <entity name="Distributor" class="ptolemy.actor.lib.Distributor">
                            <property name="_location" class="ptolemy.kernel.util.Location" value="135.0, 200.0">
                            </property>
                            <port name="input" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="4">
                                </property>
                            </port>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                                <property name="multiport"/>
                            </port>
                        </entity>
                        <entity name="Commutator" class="ptolemy.actor.lib.Commutator">
                            <property name="_location" class="ptolemy.kernel.util.Location" value="340.0, 195.0">
                            </property>
                            <port name="input" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                                <property name="multiport"/>
                            </port>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="4">
                                </property>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                            <vertex name="vertex1" value="235.0, 160.0">
                            </vertex>
                        </relation>
                        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
                            <vertex name="vertex1" value="235.0, 190.0">
                            </vertex>
                        </relation>
                        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
                            <vertex name="vertex1" value="235.0, 220.0">
                            </vertex>
                        </relation>
                        <relation name="relation6" class="ptolemy.actor.TypedIORelation">
                            <vertex name="vertex1" value="235.0, 250.0">
                            </vertex>
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Distributor.input" relation="relation"/>
                        <link port="Distributor.output" relation="relation3"/>
                        <link port="Distributor.output" relation="relation4"/>
                        <link port="Distributor.output" relation="relation5"/>
                        <link port="Distributor.output" relation="relation6"/>
                        <link port="Commutator.input" relation="relation4"/>
                        <link port="Commutator.input" relation="relation5"/>
                        <link port="Commutator.input" relation="relation6"/>
                        <link port="Commutator.input" relation="relation3"/>
                        <link port="Commutator.output" relation="relation2"/>
                    </entity>
                    <entity name="Expression" class="ptolemy.actor.lib.Expression">
                        <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a#b">
                        </property>
                        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                            </property>
                            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                            </property>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="440.0, 180.0">
                        </property>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                        </port>
                        <port name="a" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="b" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                    </entity>
                    <relation name="relation" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                        <vertex name="vertex1" value="275.0, 145.0">
                        </vertex>
                    </relation>
                    <relation name="relation4" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation5" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation6" class="ptolemy.actor.TypedIORelation">
                        <vertex name="vertex1" value="321.927734375, 92.3125">
                        </vertex>
                    </relation>
                    <relation name="relation7" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation8" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation9" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation10" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <link port="input" relation="relation8"/>
                    <link port="output" relation="relation9"/>
                    <link port="Sbox.input" relation="relation5"/>
                    <link port="Sbox.output" relation="relation7"/>
                    <link port="SampleDelay.input" relation="relation10"/>
                    <link port="SampleDelay.output" relation="relation6"/>
                    <link port="Commutator.input" relation="relation6"/>
                    <link port="Commutator.input" relation="relation3"/>
                    <link port="Commutator.input" relation="relation3"/>
                    <link port="Commutator.input" relation="relation3"/>
                    <link port="Commutator.output" relation="relation2"/>
                    <link port="Const.output" relation="relation3"/>
                    <link port="MulTwo.port" relation="relation6"/>
                    <link port="MulTwo.port2" relation="relation10"/>
                    <link port="SequenceToArray.input" relation="relation"/>
                    <link port="SequenceToArray.output" relation="relation9"/>
                    <link port="ArrayToSequence.input" relation="relation8"/>
                    <link port="ArrayToSequence.output" relation="relation4"/>
                    <link port="rotate bytes.port" relation="relation4"/>
                    <link port="rotate bytes.port2" relation="relation5"/>
                    <link port="Expression.output" relation="relation"/>
                    <link port="Expression.a" relation="relation2"/>
                    <link port="Expression.b" relation="relation7"/>
                </entity>
                <entity name="DoNothing" class="ptolemy.vergil.fsm.modal.Refinement">
                    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                    </property>
                    <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                    </property>
                    <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                        <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                        </property>
                        <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="175.0, 85.0">
                        </property>
                    </property>
                    <port name="input" class="ptolemy.vergil.fsm.modal.RefinementPort">
                        <property name="input"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="120.0, 180.0">
                        </property>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.vergil.fsm.modal.RefinementPort">
                        <property name="output"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="370.0, 185.0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                    </port>
                    <entity name="Discard" class="ptolemy.actor.lib.Discard">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="250.0, 230.0">
                        </property>
                        <port name="input" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="multiport"/>
                        </port>
                    </entity>
                    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        <vertex name="vertex1" value="185.0, 180.0">
                        </vertex>
                    </relation>
                    <link port="input" relation="relation2"/>
                    <link port="output" relation="relation2"/>
                    <link port="Discard.input" relation="relation2"/>
                </entity>
                <relation name="inputRelation" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="outputRelation" class="ptolemy.actor.TypedIORelation">
                </relation>
                <link port="input" relation="inputRelation"/>
                <link port="output" relation="outputRelation"/>
                <link port="_Controller.input" relation="inputRelation"/>
                <link port="_Controller.output" relation="outputRelation"/>
                <link port="SubRotWord.input" relation="inputRelation"/>
                <link port="SubRotWord.output" relation="outputRelation"/>
                <link port="DoNothing.input" relation="inputRelation"/>
                <link port="DoNothing.output" relation="outputRelation"/>
            </entity>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
                <vertex name="vertex1" value="354.1471862792969, 335.2726745605469">
                </vertex>
            </relation>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                <vertex name="vertex1" value="132.5, 250.0">
                </vertex>
            </relation>
            <relation name="relation5" class="ptolemy.actor.TypedIORelation">
                <vertex name="vertex1" value="647.5, 390.0">
                </vertex>
            </relation>
            <relation name="relation17" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation16" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation6" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                <vertex name="vertex1" value="395.0, 250.0">
                </vertex>
            </relation>
            <link port="round key" relation="relation"/>
            <link port="Expression.output" relation="relation5"/>
            <link port="Expression.a" relation="relation17"/>
            <link port="Expression.b" relation="relation"/>
            <link port="SequenceToArray.input" relation="relation3"/>
            <link port="SequenceToArray.output" relation="relation6"/>
            <link port="SampleDelay.input" relation="relation3"/>
            <link port="SampleDelay.output" relation="relation16"/>
            <link port="SampleDelay2.input" relation="relation5"/>
            <link port="SampleDelay2.output" relation="relation3"/>
            <link port="ArrayToSequence.input" relation="relation2"/>
            <link port="ArrayToSequence.output" relation="relation17"/>
            <link port="Scale.input" relation="relation16"/>
            <link port="Scale.output" relation="relation"/>
            <link port="modal model.input" relation="relation6"/>
            <link port="modal model.output" relation="relation2"/>
        </entity>
        <entity name="round sequence" class="ptolemy.vergil.fsm.modal.ModalModel">
            <property name="directorClass" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.fsm.kernel.HSDirector">
                <property name="style" class="ptolemy.actor.gui.style.ChoiceStyle">
                    <property name="style0" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.fsm.kernel.HSDirector">
                    </property>
                    <property name="style1" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.fsm.kernel.FSMDirector">
                    </property>
                </property>
            </property>
            <property name="_tableauFactory" class="ptolemy.vergil.fsm.modal.ModalModel$ModalTableauFactory">
            </property>
            <property name="_Director" class="ptolemy.domains.fsm.kernel.HSDirector">
                <property name="controllerName" class="ptolemy.kernel.util.StringAttribute" value="_Controller">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="420.0, 200.0">
            </property>
            <port name="text" class="ptolemy.vergil.fsm.modal.ModalPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
            <port name="round key" class="ptolemy.vergil.fsm.modal.ModalPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
            </port>
            <port name="cipher" class="ptolemy.vergil.fsm.modal.ModalPort">
                <property name="output"/>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
            <port name="last cipher" class="ptolemy.vergil.fsm.modal.ModalPort">
                <property name="input"/>
            </port>
            <entity name="_Controller" class="ptolemy.vergil.fsm.modal.ModalController">
                <property name="initialStateName" class="ptolemy.kernel.util.StringAttribute" value="init">
                </property>
                <property name="_nonStrictMarker" class="ptolemy.kernel.util.Attribute">
                </property>
                <property name="_library" class="ptolemy.moml.LibraryAttribute">
                </property>
                <property name="annotation" class="ptolemy.kernel.util.Attribute">
                    <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                    </property>
                    <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                        <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">Create a state machine here (and ports, if needed) and
create refinements for the states. Each refinement needs a director.
For hybrid system models, use the CTEmbeddedDirector.</text></svg></configure>
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="120.0, 5.0">
                    </property>
                    <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
                    </property>
                    <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
                    </property>
                </property>
                <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                </property>
                <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                </property>
                <property name="round" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <port name="text" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="65.0, 210.0">
                    </property>
                </port>
                <port name="round key" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="65.0, 300.0">
                    </property>
                </port>
                <port name="cipher" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="output"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="530.0, 245.0">
                    </property>
                </port>
                <port name="last cipher" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="60.0, 145.0">
                    </property>
                </port>
                <entity name="regular" class="ptolemy.domains.fsm.kernel.State">
                    <property name="refinementName" class="ptolemy.kernel.util.StringAttribute" value="regular">
                    </property>
                    <property name="_centerName" class="ptolemy.kernel.util.Attribute">
                    </property>
                    <property name="_controllerFactory" class="ptolemy.vergil.fsm.modal.HierarchicalStateControllerFactory">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="284.49999999999994, 234.78725609151581">
                    </property>
                    <port name="incomingPort" class="ptolemy.kernel.ComponentPort">
                    </port>
                    <port name="outgoingPort" class="ptolemy.kernel.ComponentPort">
                    </port>
                </entity>
                <entity name="final" class="ptolemy.domains.fsm.kernel.State">
                    <property name="refinementName" class="ptolemy.kernel.util.StringAttribute" value="final">
                    </property>
                    <property name="_centerName" class="ptolemy.kernel.util.Attribute">
                    </property>
                    <property name="_controllerFactory" class="ptolemy.vergil.fsm.modal.HierarchicalStateControllerFactory">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="455.0, 225.0">
                    </property>
                    <port name="incomingPort" class="ptolemy.kernel.ComponentPort">
                    </port>
                    <port name="outgoingPort" class="ptolemy.kernel.ComponentPort">
                    </port>
                </entity>
                <entity name="init" class="ptolemy.domains.fsm.kernel.State">
                    <property name="refinementName" class="ptolemy.kernel.util.StringAttribute" value="init">
                    </property>
                    <property name="_centerName" class="ptolemy.kernel.util.Attribute">
                    </property>
                    <property name="_controllerFactory" class="ptolemy.vergil.fsm.modal.HierarchicalStateControllerFactory">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="249.49999999999994, 149.78725609151581">
                    </property>
                    <port name="incomingPort" class="ptolemy.kernel.ComponentPort">
                    </port>
                    <port name="outgoingPort" class="ptolemy.kernel.ComponentPort">
                    </port>
                </entity>
                <relation name="relation" class="ptolemy.domains.fsm.kernel.Transition">
                    <property name="guardExpression" class="ptolemy.kernel.util.StringAttribute" value="round &gt;= roundCount -1">
                    </property>
                    <property name="outputActions" class="ptolemy.domains.fsm.kernel.OutputActionsAttribute">
                    </property>
                    <property name="setActions" class="ptolemy.domains.fsm.kernel.CommitActionsAttribute" value="round = round + 1">
                    </property>
                    <property name="exitAngle" class="ptolemy.data.expr.Parameter" value="0.6283185307179586">
                    </property>
                    <property name="gamma" class="ptolemy.data.expr.Parameter" value="0.07882926725254799">
                    </property>
                    <property name="reset" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="preemptive" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="triggerExpression" class="ptolemy.kernel.util.StringAttribute">
                    </property>
                    <property name="refinementName" class="ptolemy.kernel.util.StringAttribute">
                    </property>
                </relation>
                <relation name="relation2" class="ptolemy.domains.fsm.kernel.Transition">
                    <property name="guardExpression" class="ptolemy.kernel.util.StringAttribute" value="true">
                    </property>
                    <property name="outputActions" class="ptolemy.domains.fsm.kernel.OutputActionsAttribute">
                    </property>
                    <property name="setActions" class="ptolemy.domains.fsm.kernel.CommitActionsAttribute" value="round = 0">
                    </property>
                    <property name="exitAngle" class="ptolemy.data.expr.Parameter" value="0.6283185307179586">
                    </property>
                    <property name="gamma" class="ptolemy.data.expr.Parameter" value="-2.7619274809085654">
                    </property>
                    <property name="reset" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="preemptive" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="triggerExpression" class="ptolemy.kernel.util.StringAttribute">
                    </property>
                    <property name="refinementName" class="ptolemy.kernel.util.StringAttribute">
                    </property>
                </relation>
                <relation name="relation3" class="ptolemy.domains.fsm.kernel.Transition">
                    <property name="guardExpression" class="ptolemy.kernel.util.StringAttribute" value="true">
                    </property>
                    <property name="outputActions" class="ptolemy.domains.fsm.kernel.OutputActionsAttribute">
                    </property>
                    <property name="setActions" class="ptolemy.domains.fsm.kernel.CommitActionsAttribute" value="round = 1">
                    </property>
                    <property name="exitAngle" class="ptolemy.data.expr.Parameter" value="0.6283185307179586">
                    </property>
                    <property name="gamma" class="ptolemy.data.expr.Parameter" value="1.3263063851542727">
                    </property>
                    <property name="reset" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="preemptive" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="triggerExpression" class="ptolemy.kernel.util.StringAttribute">
                    </property>
                    <property name="refinementName" class="ptolemy.kernel.util.StringAttribute">
                    </property>
                </relation>
                <relation name="relation4" class="ptolemy.domains.fsm.kernel.Transition">
                    <property name="guardExpression" class="ptolemy.kernel.util.StringAttribute" value="round &lt; roundCount -1">
                    </property>
                    <property name="outputActions" class="ptolemy.domains.fsm.kernel.OutputActionsAttribute">
                    </property>
                    <property name="setActions" class="ptolemy.domains.fsm.kernel.CommitActionsAttribute" value="round = round +1">
                    </property>
                    <property name="exitAngle" class="ptolemy.data.expr.Parameter" value="2.377408250702737">
                    </property>
                    <property name="gamma" class="ptolemy.data.expr.Parameter" value="0.6516593965849368">
                    </property>
                    <property name="reset" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="preemptive" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="triggerExpression" class="ptolemy.kernel.util.StringAttribute">
                    </property>
                    <property name="refinementName" class="ptolemy.kernel.util.StringAttribute">
                    </property>
                </relation>
                <link port="regular.incomingPort" relation="relation3"/>
                <link port="regular.incomingPort" relation="relation4"/>
                <link port="regular.outgoingPort" relation="relation"/>
                <link port="regular.outgoingPort" relation="relation4"/>
                <link port="final.incomingPort" relation="relation"/>
                <link port="final.outgoingPort" relation="relation2"/>
                <link port="init.incomingPort" relation="relation2"/>
                <link port="init.outgoingPort" relation="relation3"/>
            </entity>
            <entity name="regular" class="ptolemy.vergil.fsm.modal.Refinement">
                <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                </property>
                <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                </property>
                <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                    <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                    </property>
                    <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 65.0">
                    </property>
                </property>
                <property name="annotation" class="ptolemy.kernel.util.Attribute">
                    <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                    </property>
                    <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                        <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">A normal encryption round.</text></svg></configure>
                    </property>
                    <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                        <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
      </svg>
    </configure>
                    </property>
                    <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
                    </property>
                    <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="-5.0, 305.0">
                    </property>
                </property>
                <port name="text" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="50.0, 225.0">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="round key" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="50.0, 275.0">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="cipher" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="output"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="640.0, 265.0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="last cipher" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="50.0, 160.0">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <entity name="Expression" class="ptolemy.actor.lib.Expression">
                    <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="input # roundKey">
                    </property>
                    <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                        <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                        </property>
                        <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                        </property>
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="430.0, 265.0">
                    </property>
                    <port name="output" class="ptolemy.actor.TypedIOPort">
                        <property name="output"/>
                    </port>
                    <port name="input" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                    </port>
                    <port name="roundKey" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                    </port>
                </entity>
                <entity name="Sbox" class="ptolemy.actor.lib.LookupTable">
                    <property name="table" class="ptolemy.data.expr.Parameter" value="eval(readResource(&quot;ptolemy/apps/rijndael/sbox.txt&quot;))">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="220.0, 185.0">
                    </property>
                    <port name="input" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                    </port>
                    <port name="output" class="ptolemy.actor.TypedIOPort">
                        <property name="output"/>
                    </port>
                </entity>
                <entity name="Mix Column" class="ptolemy.actor.TypedCompositeActor">
                    <property name="_location" class="ptolemy.kernel.util.Location" value="400.0, 160.0">
                    </property>
                    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                    </property>
                    <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                    </property>
                    <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                        <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                        </property>
                        <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="95.0, 55.0">
                        </property>
                    </property>
                    <port name="port" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="15.0, 305.0">
                        </property>
                    </port>
                    <port name="port2" class="ptolemy.actor.TypedIOPort">
                        <property name="output"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="740.0, 310.0">
                        </property>
                    </port>
                    <entity name="Distributor" class="ptolemy.actor.lib.Distributor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="95.0, 305.0">
                        </property>
                        <port name="input" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="multiport"/>
                        </port>
                    </entity>
                    <entity name="MulTwo" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="295.0, 120.0">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 55.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="580.0, 200.0">
                            </property>
                        </port>
                        <entity name="Expression" class="ptolemy.actor.lib.Expression">
                            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a &gt; 127 ? (a &lt;&lt; 1) # 27ub : (a &lt;&lt; 1)">
                            </property>
                            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                                </property>
                                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                                </property>
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="180.0, 200.0">
                            </property>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                            </port>
                            <port name="a" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Expression.output" relation="relation2"/>
                        <link port="Expression.a" relation="relation"/>
                    </entity>
                    <entity name="MulThree" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="295.0, 175.0">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 55.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="580.0, 200.0">
                            </property>
                        </port>
                        <entity name="Expression" class="ptolemy.actor.lib.Expression">
                            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="(a &gt; 127 ? (a &lt;&lt; 1) # 27ub : (a &lt;&lt; 1)) # a">
                            </property>
                            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                                </property>
                                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                                </property>
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="180.0, 200.0">
                            </property>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                            </port>
                            <port name="a" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Expression.output" relation="relation2"/>
                        <link port="Expression.a" relation="relation"/>
                    </entity>
                    <entity name="Expression" class="ptolemy.actor.lib.Expression">
                        <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a#b#c#d">
                        </property>
                        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                            </property>
                            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                            </property>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="595.0, 165.0">
                        </property>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                        </port>
                        <port name="a" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="b" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="c" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="d" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                    </entity>
                    <entity name="MulThree2" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="295.0, 290.0">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 55.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="580.0, 200.0">
                            </property>
                        </port>
                        <entity name="Expression" class="ptolemy.actor.lib.Expression">
                            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="(a &gt; 127 ? (a &lt;&lt; 1) # 27ub : (a &lt;&lt; 1)) # a">
                            </property>
                            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                                </property>
                                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                                </property>
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="180.0, 200.0">
                            </property>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                            </port>
                            <port name="a" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Expression.output" relation="relation2"/>
                        <link port="Expression.a" relation="relation"/>
                    </entity>
                    <entity name="MulTwo2" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="295.0, 235.0">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 55.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="580.0, 200.0">
                            </property>
                        </port>
                        <entity name="Expression" class="ptolemy.actor.lib.Expression">
                            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a &gt; 127 ? (a &lt;&lt; 1) # 27ub : (a &lt;&lt; 1)">
                            </property>
                            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                                </property>
                                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                                </property>
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="180.0, 200.0">
                            </property>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                            </port>
                            <port name="a" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Expression.output" relation="relation2"/>
                        <link port="Expression.a" relation="relation"/>
                    </entity>
                    <entity name="MulThree3" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="295.0, 410.0">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 55.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="580.0, 200.0">
                            </property>
                        </port>
                        <entity name="Expression" class="ptolemy.actor.lib.Expression">
                            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="(a &gt; 127 ? (a &lt;&lt; 1) # 27ub : (a &lt;&lt; 1)) # a">
                            </property>
                            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                                </property>
                                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                                </property>
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="180.0, 200.0">
                            </property>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                            </port>
                            <port name="a" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Expression.output" relation="relation2"/>
                        <link port="Expression.a" relation="relation"/>
                    </entity>
                    <entity name="MulTwo3" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="295.0, 355.0">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 55.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="580.0, 200.0">
                            </property>
                        </port>
                        <entity name="Expression" class="ptolemy.actor.lib.Expression">
                            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a &gt; 127 ? (a &lt;&lt; 1) # 27ub : (a &lt;&lt; 1)">
                            </property>
                            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                                </property>
                                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                                </property>
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="180.0, 200.0">
                            </property>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                            </port>
                            <port name="a" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Expression.output" relation="relation2"/>
                        <link port="Expression.a" relation="relation"/>
                    </entity>
                    <entity name="MulThree4" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="295.0, 530.0">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 55.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="580.0, 200.0">
                            </property>
                        </port>
                        <entity name="Expression" class="ptolemy.actor.lib.Expression">
                            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="(a &gt; 127 ? (a &lt;&lt; 1) # 27ub : (a &lt;&lt; 1)) # a">
                            </property>
                            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                                </property>
                                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                                </property>
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="180.0, 200.0">
                            </property>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                            </port>
                            <port name="a" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Expression.output" relation="relation2"/>
                        <link port="Expression.a" relation="relation"/>
                    </entity>
                    <entity name="MulTwo4" class="ptolemy.actor.TypedCompositeActor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="295.0, 475.0">
                        </property>
                        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                        </property>
                        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                        </property>
                        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                            </property>
                            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                            </property>
                            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 55.0">
                            </property>
                        </property>
                        <port name="port" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                            </property>
                        </port>
                        <port name="port2" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="580.0, 200.0">
                            </property>
                        </port>
                        <entity name="Expression" class="ptolemy.actor.lib.Expression">
                            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a &gt; 127 ? (a &lt;&lt; 1) # 27ub : (a &lt;&lt; 1)">
                            </property>
                            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                                </property>
                                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                                </property>
                            </property>
                            <property name="_location" class="ptolemy.kernel.util.Location" value="180.0, 200.0">
                            </property>
                            <port name="output" class="ptolemy.actor.TypedIOPort">
                                <property name="output"/>
                            </port>
                            <port name="a" class="ptolemy.actor.TypedIOPort">
                                <property name="input"/>
                            </port>
                        </entity>
                        <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        </relation>
                        <link port="port" relation="relation"/>
                        <link port="port2" relation="relation2"/>
                        <link port="Expression.output" relation="relation2"/>
                        <link port="Expression.a" relation="relation"/>
                    </entity>
                    <entity name="Expression2" class="ptolemy.actor.lib.Expression">
                        <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a#b#c#d">
                        </property>
                        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                            </property>
                            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                            </property>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="595.0, 275.0">
                        </property>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                        </port>
                        <port name="a" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="b" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="c" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="d" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                    </entity>
                    <entity name="Expression3" class="ptolemy.actor.lib.Expression">
                        <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a#b#c#d">
                        </property>
                        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                            </property>
                            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                            </property>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="595.0, 370.0">
                        </property>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                        </port>
                        <port name="a" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="b" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="c" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="d" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                    </entity>
                    <entity name="Expression4" class="ptolemy.actor.lib.Expression">
                        <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="a#b#c#d">
                        </property>
                        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                            </property>
                            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                            </property>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="595.0, 475.0">
                        </property>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                        </port>
                        <port name="a" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="b" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="c" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="d" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                    </entity>
                    <entity name="Commutator" class="ptolemy.actor.lib.Commutator">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="680.0, 310.0">
                        </property>
                        <port name="input" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="multiport"/>
                        </port>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                        </port>
                    </entity>
                    <relation name="relation4" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation" class="ptolemy.actor.TypedIORelation">
                        <vertex name="vertex1" value="165.0, 145.0">
                        </vertex>
                    </relation>
                    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                        <vertex name="vertex1" value="205.0, 260.0">
                        </vertex>
                    </relation>
                    <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                        <vertex name="vertex1" value="205.0, 380.0">
                        </vertex>
                    </relation>
                    <relation name="relation5" class="ptolemy.actor.TypedIORelation">
                        <vertex name="vertex1" value="165.0, 500.0">
                        </vertex>
                    </relation>
                    <relation name="relation6" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation8" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation7" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation9" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation10" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation11" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation12" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation13" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation14" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation15" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation16" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation17" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation18" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <link port="port" relation="relation4"/>
                    <link port="port2" relation="relation14"/>
                    <link port="Distributor.input" relation="relation4"/>
                    <link port="Distributor.output" relation="relation"/>
                    <link port="Distributor.output" relation="relation2"/>
                    <link port="Distributor.output" relation="relation3"/>
                    <link port="Distributor.output" relation="relation5"/>
                    <link port="MulTwo.port" relation="relation"/>
                    <link port="MulTwo.port2" relation="relation6"/>
                    <link port="MulThree.port" relation="relation"/>
                    <link port="MulThree.port2" relation="relation12"/>
                    <link port="Expression.output" relation="relation15"/>
                    <link port="Expression.a" relation="relation6"/>
                    <link port="Expression.b" relation="relation8"/>
                    <link port="Expression.c" relation="relation3"/>
                    <link port="Expression.d" relation="relation5"/>
                    <link port="MulThree2.port" relation="relation2"/>
                    <link port="MulThree2.port2" relation="relation8"/>
                    <link port="MulTwo2.port" relation="relation2"/>
                    <link port="MulTwo2.port2" relation="relation7"/>
                    <link port="MulThree3.port" relation="relation3"/>
                    <link port="MulThree3.port2" relation="relation9"/>
                    <link port="MulTwo3.port" relation="relation3"/>
                    <link port="MulTwo3.port2" relation="relation10"/>
                    <link port="MulThree4.port" relation="relation5"/>
                    <link port="MulThree4.port2" relation="relation11"/>
                    <link port="MulTwo4.port" relation="relation5"/>
                    <link port="MulTwo4.port2" relation="relation13"/>
                    <link port="Expression2.output" relation="relation16"/>
                    <link port="Expression2.a" relation="relation"/>
                    <link port="Expression2.b" relation="relation7"/>
                    <link port="Expression2.c" relation="relation9"/>
                    <link port="Expression2.d" relation="relation5"/>
                    <link port="Expression3.output" relation="relation17"/>
                    <link port="Expression3.a" relation="relation"/>
                    <link port="Expression3.b" relation="relation2"/>
                    <link port="Expression3.c" relation="relation10"/>
                    <link port="Expression3.d" relation="relation11"/>
                    <link port="Expression4.output" relation="relation18"/>
                    <link port="Expression4.a" relation="relation12"/>
                    <link port="Expression4.b" relation="relation2"/>
                    <link port="Expression4.c" relation="relation3"/>
                    <link port="Expression4.d" relation="relation13"/>
                    <link port="Commutator.input" relation="relation15"/>
                    <link port="Commutator.input" relation="relation16"/>
                    <link port="Commutator.input" relation="relation17"/>
                    <link port="Commutator.input" relation="relation18"/>
                    <link port="Commutator.output" relation="relation14"/>
                </entity>
                <entity name="ArrayToSequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                    <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="165.0, 275.0">
                    </property>
                    <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="input"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="output"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                    </port>
                </entity>
                <entity name="ArrayToSequence2" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                    <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="130.0, 160.0">
                    </property>
                    <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="input"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="output"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                    </port>
                </entity>
                <entity name="SequenceToArray" class="ptolemy.domains.sdf.lib.SequenceToArray">
                    <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="565.0, 265.0">
                    </property>
                    <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="input"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="output"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                    </port>
                </entity>
                <entity name="Shift Row" class="ptolemy.actor.TypedCompositeActor">
                    <property name="_location" class="ptolemy.kernel.util.Location" value="310.0, 160.0">
                    </property>
                    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                    </property>
                    <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                    </property>
                    <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                        <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                        </property>
                        <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="110.0, 95.0">
                        </property>
                    </property>
                    <port name="port" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="15.0, 305.0">
                        </property>
                    </port>
                    <port name="port2" class="ptolemy.actor.TypedIOPort">
                        <property name="output"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="740.0, 310.0">
                        </property>
                    </port>
                    <entity name="SequenceToArray" class="ptolemy.domains.sdf.lib.SequenceToArray">
                        <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="4">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="85.0, 305.0">
                        </property>
                        <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="output"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                        </port>
                    </entity>
                    <entity name="Expression" class="ptolemy.actor.lib.Expression">
                        <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="{a1(0),a2(1),a3(2),a4(3),a2(0),a3(1),a4(2),a1(3),a3(0),a4(1),a1(2),a2(3),a4(0),a1(1),a2(2),a3(3)}">
                        </property>
                        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                            </property>
                            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                            </property>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="430.0, 305.0">
                        </property>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                        </port>
                        <port name="a1" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="a2" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="a3" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="a4" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                    </entity>
                    <entity name="Distributor" class="ptolemy.actor.lib.Distributor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="190.0, 305.0">
                        </property>
                        <port name="input" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="multiport"/>
                        </port>
                    </entity>
                    <entity name="ArrayToSequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                        <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                        <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="665.0, 305.0">
                        </property>
                        <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="output"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                            </property>
                        </port>
                    </entity>
                    <relation name="relation" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation4" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation5" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation6" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation7" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation8" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <link port="port" relation="relation7"/>
                    <link port="port2" relation="relation8"/>
                    <link port="SequenceToArray.input" relation="relation7"/>
                    <link port="SequenceToArray.output" relation="relation4"/>
                    <link port="Expression.output" relation="relation5"/>
                    <link port="Expression.a1" relation="relation"/>
                    <link port="Expression.a2" relation="relation3"/>
                    <link port="Expression.a3" relation="relation6"/>
                    <link port="Expression.a4" relation="relation2"/>
                    <link port="Distributor.input" relation="relation4"/>
                    <link port="Distributor.output" relation="relation"/>
                    <link port="Distributor.output" relation="relation3"/>
                    <link port="Distributor.output" relation="relation6"/>
                    <link port="Distributor.output" relation="relation2"/>
                    <link port="ArrayToSequence.input" relation="relation5"/>
                    <link port="ArrayToSequence.output" relation="relation8"/>
                </entity>
                <relation name="relation4" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                    <vertex name="vertex1" value="505.0, 265.0">
                    </vertex>
                </relation>
                <relation name="relation6" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation8" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation7" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation9" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation10" class="ptolemy.actor.TypedIORelation">
                    <vertex name="vertex1" value="285.0, 275.0">
                    </vertex>
                </relation>
                <link port="round key" relation="relation6"/>
                <link port="cipher" relation="relation9"/>
                <link port="last cipher" relation="relation7"/>
                <link port="Expression.output" relation="relation2"/>
                <link port="Expression.input" relation="relation4"/>
                <link port="Expression.roundKey" relation="relation10"/>
                <link port="Sbox.input" relation="relation8"/>
                <link port="Sbox.output" relation="relation"/>
                <link port="Mix Column.port" relation="relation3"/>
                <link port="Mix Column.port2" relation="relation4"/>
                <link port="ArrayToSequence.input" relation="relation6"/>
                <link port="ArrayToSequence.output" relation="relation10"/>
                <link port="ArrayToSequence2.input" relation="relation7"/>
                <link port="ArrayToSequence2.output" relation="relation8"/>
                <link port="SequenceToArray.input" relation="relation2"/>
                <link port="SequenceToArray.output" relation="relation9"/>
                <link port="Shift Row.port" relation="relation"/>
                <link port="Shift Row.port2" relation="relation3"/>
            </entity>
            <entity name="final" class="ptolemy.vergil.fsm.modal.Refinement">
                <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                </property>
                <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                </property>
                <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                    <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                    </property>
                    <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="100.0, 55.0">
                    </property>
                </property>
                <property name="annotation" class="ptolemy.kernel.util.Attribute">
                    <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                    </property>
                    <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                        <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">The final encryption round, which is similar to a normal encrpytion round, 
except that it lacks the MixColumn operation.
This makes encrpytion and decryption more symmetric.</text></svg></configure>
                    </property>
                    <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                        <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
      </svg>
    </configure>
                    </property>
                    <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
                    </property>
                    <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="5.0, 320.0">
                    </property>
                </property>
                <port name="text" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="40.0, 195.0">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="round key" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="45.0, 275.0">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="cipher" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="output"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="655.0, 265.0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="last cipher" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="35.0, 145.0">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <entity name="ArrayToSequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                    <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="165.0, 275.0">
                    </property>
                    <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="input"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="output"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                    </port>
                </entity>
                <entity name="Sbox" class="ptolemy.actor.lib.LookupTable">
                    <property name="table" class="ptolemy.data.expr.Parameter" value="eval(readResource(&quot;ptolemy/apps/rijndael/sbox.txt&quot;))">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="205.0, 160.0">
                    </property>
                    <port name="input" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                    </port>
                    <port name="output" class="ptolemy.actor.TypedIOPort">
                        <property name="output"/>
                    </port>
                </entity>
                <entity name="Expression" class="ptolemy.actor.lib.Expression">
                    <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="input # roundKey">
                    </property>
                    <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                        <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                        </property>
                        <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                        </property>
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="430.0, 265.0">
                    </property>
                    <port name="output" class="ptolemy.actor.TypedIOPort">
                        <property name="output"/>
                    </port>
                    <port name="input" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                    </port>
                    <port name="roundKey" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                    </port>
                </entity>
                <entity name="ArrayToSequence2" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                    <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="115.0, 145.0">
                    </property>
                    <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="input"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="output"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                    </port>
                </entity>
                <entity name="SequenceToArray" class="ptolemy.domains.sdf.lib.SequenceToArray">
                    <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="565.0, 265.0">
                    </property>
                    <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="input"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="output"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                    </port>
                </entity>
                <entity name="Shift Row" class="ptolemy.actor.TypedCompositeActor">
                    <property name="_location" class="ptolemy.kernel.util.Location" value="310.0, 160.0">
                    </property>
                    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                    </property>
                    <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                    </property>
                    <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                        <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                        </property>
                        <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                        </property>
                        <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="105.0, 55.0">
                        </property>
                    </property>
                    <port name="port" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="15.0, 305.0">
                        </property>
                    </port>
                    <port name="port2" class="ptolemy.actor.TypedIOPort">
                        <property name="output"/>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="740.0, 310.0">
                        </property>
                    </port>
                    <entity name="SequenceToArray" class="ptolemy.domains.sdf.lib.SequenceToArray">
                        <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="4">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="85.0, 305.0">
                        </property>
                        <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="output"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                        </port>
                    </entity>
                    <entity name="Expression" class="ptolemy.actor.lib.Expression">
                        <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="{a1(0),a2(1),a3(2),a4(3),a2(0),a3(1),a4(2),a1(3),a3(0),a4(1),a1(2),a2(3),a4(0),a1(1),a2(2),a3(3)}">
                        </property>
                        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                            </property>
                            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                            </property>
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="430.0, 305.0">
                        </property>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                        </port>
                        <port name="a1" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="a2" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="a3" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                        <port name="a4" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                        </port>
                    </entity>
                    <entity name="Distributor" class="ptolemy.actor.lib.Distributor">
                        <property name="_location" class="ptolemy.kernel.util.Location" value="190.0, 305.0">
                        </property>
                        <port name="input" class="ptolemy.actor.TypedIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="4">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.actor.TypedIOPort">
                            <property name="output"/>
                            <property name="multiport"/>
                        </port>
                    </entity>
                    <entity name="ArrayToSequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                        <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                        <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                        </property>
                        <property name="_location" class="ptolemy.kernel.util.Location" value="665.0, 305.0">
                        </property>
                        <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="input"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                        </port>
                        <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                            <property name="output"/>
                            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                            </property>
                            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                            </property>
                        </port>
                    </entity>
                    <relation name="relation" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation4" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation5" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation6" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation7" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <relation name="relation8" class="ptolemy.actor.TypedIORelation">
                    </relation>
                    <link port="port" relation="relation7"/>
                    <link port="port2" relation="relation8"/>
                    <link port="SequenceToArray.input" relation="relation7"/>
                    <link port="SequenceToArray.output" relation="relation4"/>
                    <link port="Expression.output" relation="relation5"/>
                    <link port="Expression.a1" relation="relation"/>
                    <link port="Expression.a2" relation="relation3"/>
                    <link port="Expression.a3" relation="relation6"/>
                    <link port="Expression.a4" relation="relation2"/>
                    <link port="Distributor.input" relation="relation4"/>
                    <link port="Distributor.output" relation="relation"/>
                    <link port="Distributor.output" relation="relation3"/>
                    <link port="Distributor.output" relation="relation6"/>
                    <link port="Distributor.output" relation="relation2"/>
                    <link port="ArrayToSequence.input" relation="relation5"/>
                    <link port="ArrayToSequence.output" relation="relation8"/>
                </entity>
                <relation name="relation" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation4" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation6" class="ptolemy.actor.TypedIORelation">
                    <vertex name="vertex1" value="505.0, 265.0">
                    </vertex>
                </relation>
                <relation name="relation7" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation8" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation5" class="ptolemy.actor.TypedIORelation">
                </relation>
                <link port="round key" relation="relation3"/>
                <link port="cipher" relation="relation7"/>
                <link port="last cipher" relation="relation8"/>
                <link port="ArrayToSequence.input" relation="relation3"/>
                <link port="ArrayToSequence.output" relation="relation"/>
                <link port="Sbox.input" relation="relation4"/>
                <link port="Sbox.output" relation="relation2"/>
                <link port="Expression.output" relation="relation6"/>
                <link port="Expression.input" relation="relation5"/>
                <link port="Expression.roundKey" relation="relation"/>
                <link port="ArrayToSequence2.input" relation="relation8"/>
                <link port="ArrayToSequence2.output" relation="relation4"/>
                <link port="SequenceToArray.input" relation="relation6"/>
                <link port="SequenceToArray.output" relation="relation7"/>
                <link port="Shift Row.port" relation="relation2"/>
                <link port="Shift Row.port2" relation="relation5"/>
            </entity>
            <entity name="init" class="ptolemy.vergil.fsm.modal.Refinement">
                <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
                </property>
                <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
                </property>
                <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                    <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                    </property>
                    <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                    </property>
                    <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="340.0, 60.0">
                    </property>
                </property>
                <property name="annotation" class="ptolemy.kernel.util.Attribute">
                    <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                    </property>
                    <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                        <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">The 'first' encrpytion round, which just XORs the key</text></svg></configure>
                    </property>
                    <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                        <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
      </svg>
    </configure>
                    </property>
                    <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
                    </property>
                    <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="45.0, 305.0">
                    </property>
                </property>
                <port name="text" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="65.0, 150.0">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="round key" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="65.0, 250.0">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="cipher" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="output"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="505.0, 195.0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="last cipher" class="ptolemy.vergil.fsm.modal.RefinementPort">
                    <property name="input"/>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="65.0, 85.0">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <entity name="ArrayToSequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                    <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="155.0, 150.0">
                    </property>
                    <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="input"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="output"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                    </port>
                </entity>
                <entity name="Expression" class="ptolemy.actor.lib.Expression">
                    <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="input # roundKey">
                    </property>
                    <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                        <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                        </property>
                        <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                        </property>
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="295.0, 195.0">
                    </property>
                    <port name="output" class="ptolemy.actor.TypedIOPort">
                        <property name="output"/>
                    </port>
                    <port name="input" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                    </port>
                    <port name="roundKey" class="ptolemy.actor.TypedIOPort">
                        <property name="input"/>
                    </port>
                </entity>
                <entity name="ArrayToSequence2" class="ptolemy.domains.sdf.lib.ArrayToSequence">
                    <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="155.0, 250.0">
                    </property>
                    <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="input"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="output"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                    </port>
                </entity>
                <entity name="SequenceToArray" class="ptolemy.domains.sdf.lib.SequenceToArray">
                    <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="_location" class="ptolemy.kernel.util.Location" value="420.0, 195.0">
                    </property>
                    <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="input"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                    </port>
                    <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                        <property name="output"/>
                        <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                        </property>
                        <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                        </property>
                    </port>
                </entity>
                <relation name="relation" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation4" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation5" class="ptolemy.actor.TypedIORelation">
                </relation>
                <relation name="relation6" class="ptolemy.actor.TypedIORelation">
                </relation>
                <link port="text" relation="relation"/>
                <link port="round key" relation="relation3"/>
                <link port="cipher" relation="relation6"/>
                <link port="ArrayToSequence.input" relation="relation"/>
                <link port="ArrayToSequence.output" relation="relation2"/>
                <link port="Expression.output" relation="relation5"/>
                <link port="Expression.input" relation="relation2"/>
                <link port="Expression.roundKey" relation="relation4"/>
                <link port="ArrayToSequence2.input" relation="relation3"/>
                <link port="ArrayToSequence2.output" relation="relation4"/>
                <link port="SequenceToArray.input" relation="relation5"/>
                <link port="SequenceToArray.output" relation="relation6"/>
            </entity>
            <relation name="textRelation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="round keyRelation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="cipherRelation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="last cipherRelation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="text" relation="textRelation"/>
            <link port="round key" relation="round keyRelation"/>
            <link port="cipher" relation="cipherRelation"/>
            <link port="last cipher" relation="last cipherRelation"/>
            <link port="_Controller.text" relation="textRelation"/>
            <link port="_Controller.round key" relation="round keyRelation"/>
            <link port="_Controller.cipher" relation="cipherRelation"/>
            <link port="_Controller.last cipher" relation="last cipherRelation"/>
            <link port="regular.text" relation="textRelation"/>
            <link port="regular.round key" relation="round keyRelation"/>
            <link port="regular.cipher" relation="cipherRelation"/>
            <link port="regular.last cipher" relation="last cipherRelation"/>
            <link port="final.text" relation="textRelation"/>
            <link port="final.round key" relation="round keyRelation"/>
            <link port="final.cipher" relation="cipherRelation"/>
            <link port="final.last cipher" relation="last cipherRelation"/>
            <link port="init.text" relation="textRelation"/>
            <link port="init.round key" relation="round keyRelation"/>
            <link port="init.cipher" relation="cipherRelation"/>
            <link port="init.last cipher" relation="last cipherRelation"/>
        </entity>
        <entity name="SequenceToArray" class="ptolemy.domains.sdf.lib.SequenceToArray">
            <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="145.0, 190.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="ArrayToSequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
            <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
            </property>
            <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="625.0, 200.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
            </port>
        </entity>
        <entity name="SequenceToArray2" class="ptolemy.domains.sdf.lib.SequenceToArray">
            <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="260.0, 290.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="UpSample" class="ptolemy.domains.sdf.lib.UpSample">
            <property name="factor" class="ptolemy.data.expr.Parameter" value="roundCount +1">
            </property>
            <property name="phase" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="260.0, 190.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="11">
                </property>
            </port>
        </entity>
        <entity name="SampleDelay" class="ptolemy.domains.sdf.lib.SampleDelay">
            <property name="initialOutputs" class="ptolemy.data.expr.Parameter" value="repeat(16,0ub)">
            </property>
            <doc>The sdf delay actor, which behaves as an initial token on an arc.</doc>
            <property name="_location" class="ptolemy.kernel.util.Location" value="605.0, 270.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="16">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="DownSample" class="ptolemy.domains.sdf.lib.DownSample">
            <property name="factor" class="ptolemy.data.expr.Parameter" value="roundCount +1">
            </property>
            <property name="phase" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="530.0, 200.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="11">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="convertToString" class="ptolemy.actor.TypedCompositeActor">
            <property name="_location" class="ptolemy.kernel.util.Location" value="555.0, 120.0">
            </property>
            <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
            </property>
            <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
            </property>
            <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
                <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
                </property>
                <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
                </property>
                <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="75.0, 140.0">
                </property>
            </property>
            <property name="annotation" class="ptolemy.kernel.util.Attribute">
                <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
                <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">Convert a sequence of 16 unsigned bytes into a hex form that makes it
easy to compare with the test data.</text></svg></configure>
                </property>
                <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
      </svg>
    </configure>
                </property>
                <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
                </property>
                <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="15.0, 15.0">
                </property>
            </property>
            <port name="port" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
            </port>
            <port name="port2" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="535.0, 305.0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <entity name="Expression" class="ptolemy.actor.lib.Expression">
                <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="toHexString(input)">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="160.0, 200.0">
                </property>
                <port name="output" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_type" class="ptolemy.actor.TypeAttribute" value="string">
                    </property>
                </port>
                <port name="input" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_type" class="ptolemy.actor.TypeAttribute" value="int">
                    </property>
                </port>
            </entity>
            <entity name="Accumulator" class="ptolemy.actor.lib.Accumulator">
                <property name="init" class="ptolemy.data.expr.Parameter" value="&quot;&quot;">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="330.0, 210.0">
                </property>
                <port name="input" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                </port>
                <port name="output" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                </port>
                <port name="reset" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                </port>
            </entity>
            <entity name="DownSample" class="ptolemy.domains.sdf.lib.DownSample">
                <property name="factor" class="ptolemy.data.expr.Parameter" value="16">
                </property>
                <property name="phase" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="435.0, 210.0">
                </property>
                <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="output"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
            </entity>
            <entity name="SampleDelay" class="ptolemy.domains.sdf.lib.SampleDelay">
                <property name="initialOutputs" class="ptolemy.data.expr.Parameter" value="{true}">
                </property>
                <doc>The sdf delay actor, which behaves as an initial token on an arc.</doc>
                <property name="_location" class="ptolemy.kernel.util.Location" value="130.0, 265.0">
                </property>
                <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="output"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
            </entity>
            <entity name="Const" class="ptolemy.actor.lib.Const">
                <property name="value" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <doc>Create a constant sequence</doc>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="40">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="45.0, 265.0">
                </property>
                <port name="output" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                </port>
                <port name="trigger" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                </port>
            </entity>
            <entity name="UpSample" class="ptolemy.domains.sdf.lib.UpSample">
                <property name="factor" class="ptolemy.data.expr.Parameter" value="16">
                </property>
                <property name="phase" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="225.0, 265.0">
                </property>
                <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                    <property name="output"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                    <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                    </property>
                </port>
            </entity>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation5" class="ptolemy.actor.TypedIORelation">
                <vertex name="vertex1" value="500.0, 305.0">
                </vertex>
            </relation>
            <relation name="relation6" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation7" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="port" relation="relation2"/>
            <link port="port2" relation="relation5"/>
            <link port="Expression.output" relation="relation"/>
            <link port="Expression.input" relation="relation2"/>
            <link port="Accumulator.input" relation="relation"/>
            <link port="Accumulator.output" relation="relation3"/>
            <link port="Accumulator.reset" relation="relation4"/>
            <link port="DownSample.input" relation="relation3"/>
            <link port="DownSample.output" relation="relation5"/>
            <link port="SampleDelay.input" relation="relation6"/>
            <link port="SampleDelay.output" relation="relation7"/>
            <link port="Const.output" relation="relation6"/>
            <link port="UpSample.input" relation="relation7"/>
            <link port="UpSample.output" relation="relation4"/>
        </entity>
        <entity name="ArrayToSequence2" class="ptolemy.domains.sdf.lib.ArrayToSequence">
            <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
            </property>
            <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="440.0, 120.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
            </port>
        </entity>
        <entity name="FileWriter" class="ptolemy.actor.lib.FileWriter">
            <property name="filename" class="ptolemy.data.expr.Parameter" value="&quot;&quot;">
            </property>
            <doc>Write out tokens to a file or stdout</doc>
            <property name="_location" class="ptolemy.kernel.util.Location" value="660.0, 120.0">
            </property>
            <port name="input" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
            </port>
        </entity>
        <entity name="SequenceToArray3" class="ptolemy.domains.sdf.lib.SequenceToArray">
            <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="690.0, 270.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="ArrayToSequence3" class="ptolemy.domains.sdf.lib.ArrayToSequence">
            <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="16">
            </property>
            <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="520.0, 260.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
            </port>
        </entity>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            <vertex name="vertex1" value="205.0, 290.0">
            </vertex>
        </relation>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <vertex name="vertex1" value="685.0, 200.0">
            </vertex>
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation6" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation7" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation8" class="ptolemy.actor.TypedIORelation">
            <vertex name="vertex1" value="470.0, 200.0">
            </vertex>
        </relation>
        <relation name="relation9" class="ptolemy.actor.TypedIORelation">
            <vertex name="vertex1" value="355.0, 310.0">
            </vertex>
        </relation>
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation10" class="ptolemy.actor.TypedIORelation">
            <vertex name="vertex1" value="330.0, 190.0">
            </vertex>
        </relation>
        <relation name="relation11" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation13" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation12" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="text" relation="relation2"/>
        <link port="cipher" relation="relation"/>
        <link port="round key generator.round key" relation="relation4"/>
        <link port="round sequence.text" relation="relation10"/>
        <link port="round sequence.round key" relation="relation7"/>
        <link port="round sequence.cipher" relation="relation8"/>
        <link port="round sequence.last cipher" relation="relation9"/>
        <link port="SequenceToArray.input" relation="relation2"/>
        <link port="SequenceToArray.output" relation="relation6"/>
        <link port="ArrayToSequence.input" relation="relation5"/>
        <link port="ArrayToSequence.output" relation="relation"/>
        <link port="SequenceToArray2.input" relation="relation4"/>
        <link port="SequenceToArray2.output" relation="relation7"/>
        <link port="UpSample.input" relation="relation6"/>
        <link port="UpSample.output" relation="relation10"/>
        <link port="SampleDelay.input" relation="relation13"/>
        <link port="SampleDelay.output" relation="relation12"/>
        <link port="DownSample.input" relation="relation8"/>
        <link port="DownSample.output" relation="relation5"/>
        <link port="convertToString.port" relation="relation11"/>
        <link port="convertToString.port2" relation="relation3"/>
        <link port="ArrayToSequence2.input" relation="relation8"/>
        <link port="ArrayToSequence2.output" relation="relation11"/>
        <link port="FileWriter.input" relation="relation3"/>
        <link port="SequenceToArray3.input" relation="relation12"/>
        <link port="SequenceToArray3.output" relation="relation9"/>
        <link port="ArrayToSequence3.input" relation="relation8"/>
        <link port="ArrayToSequence3.output" relation="relation13"/>
    </entity>
    <entity name="convertToString" class="ptolemy.actor.TypedCompositeActor">
        <property name="_location" class="ptolemy.kernel.util.Location" value="310.0, 200.0">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute">
        </property>
        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute">
        </property>
        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
            <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFScheduler">
            </property>
            <property name="allowDisconnectedGraphs" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="165.0, 110.0">
            </property>
        </property>
        <port name="port" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
            </property>
            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
            </property>
        </port>
        <port name="port2" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="535.0, 305.0">
            </property>
            <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
            </property>
        </port>
        <entity name="Expression" class="ptolemy.actor.lib.Expression">
            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="toHexString(input)">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="160.0, 200.0">
            </property>
            <port name="output" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_type" class="ptolemy.actor.TypeAttribute" value="string">
                </property>
            </port>
            <port name="input" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_type" class="ptolemy.actor.TypeAttribute" value="int">
                </property>
            </port>
        </entity>
        <entity name="Accumulator" class="ptolemy.actor.lib.Accumulator">
            <property name="init" class="ptolemy.data.expr.Parameter" value="&quot;&quot;">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="330.0, 210.0">
            </property>
            <port name="input" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
            </port>
            <port name="output" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
            </port>
            <port name="reset" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
            </port>
        </entity>
        <entity name="DownSample" class="ptolemy.domains.sdf.lib.DownSample">
            <property name="factor" class="ptolemy.data.expr.Parameter" value="16">
            </property>
            <property name="phase" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="435.0, 210.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="SampleDelay" class="ptolemy.domains.sdf.lib.SampleDelay">
            <property name="initialOutputs" class="ptolemy.data.expr.Parameter" value="{true}">
            </property>
            <doc>The sdf delay actor, which behaves as an initial token on an arc.</doc>
            <property name="_location" class="ptolemy.kernel.util.Location" value="130.0, 265.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="Const" class="ptolemy.actor.lib.Const">
            <property name="value" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <doc>Create a constant sequence</doc>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="40">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="45.0, 265.0">
            </property>
            <port name="output" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
            </port>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
            </port>
        </entity>
        <entity name="UpSample" class="ptolemy.domains.sdf.lib.UpSample">
            <property name="factor" class="ptolemy.data.expr.Parameter" value="16">
            </property>
            <property name="phase" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="225.0, 265.0">
            </property>
            <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort">
                <property name="output"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="16">
                </property>
            </port>
        </entity>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
            <vertex name="vertex1" value="500.0, 305.0">
            </vertex>
        </relation>
        <relation name="relation6" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation7" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="port" relation="relation2"/>
        <link port="port2" relation="relation5"/>
        <link port="Expression.output" relation="relation"/>
        <link port="Expression.input" relation="relation2"/>
        <link port="Accumulator.input" relation="relation"/>
        <link port="Accumulator.output" relation="relation3"/>
        <link port="Accumulator.reset" relation="relation4"/>
        <link port="DownSample.input" relation="relation3"/>
        <link port="DownSample.output" relation="relation5"/>
        <link port="SampleDelay.input" relation="relation6"/>
        <link port="SampleDelay.output" relation="relation7"/>
        <link port="Const.output" relation="relation6"/>
        <link port="UpSample.input" relation="relation7"/>
        <link port="UpSample.output" relation="relation4"/>
    </entity>
    <entity name="Ramp" class="ptolemy.actor.lib.Ramp">
        <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="0">
        </property>
        <property name="init" class="ptolemy.data.expr.Parameter" value="0x0ub">
        </property>
        <property name="step" class="ptolemy.data.expr.Parameter" value="0x1ub">
        </property>
        <doc>Create a sequence of tokens with increasing value</doc>
        <property name="_location" class="ptolemy.kernel.util.Location" value="75.0, 200.0">
        </property>
        <port name="output" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
        </port>
        <port name="trigger" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
        </port>
    </entity>
    <entity name="FileWriter" class="ptolemy.actor.lib.FileWriter">
        <property name="filename" class="ptolemy.data.expr.Parameter" value="&quot;&quot;">
        </property>
        <doc>Write out tokens to a file or stdout</doc>
        <property name="_location" class="ptolemy.kernel.util.Location" value="415.0, 200.0">
        </property>
        <port name="input" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
        </port>
    </entity>
    <relation name="relation" class="ptolemy.actor.TypedIORelation">
        <vertex name="vertex1" value="140.0, 200.0">
        </vertex>
    </relation>
    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
    </relation>
    <relation name="relation3" class="ptolemy.actor.TypedIORelation">
    </relation>
    <link port="rijndael.text" relation="relation"/>
    <link port="rijndael.cipher" relation="relation2"/>
    <link port="convertToString.port" relation="relation2"/>
    <link port="convertToString.port2" relation="relation3"/>
    <link port="Ramp.output" relation="relation"/>
    <link port="FileWriter.input" relation="relation3"/>
</entity>

