Schematic development This page describes the organizational forces that limit change.  It explains how to overcome them when necessary. • A business can gain focus from targeting key customers,
• Business planning activities performed by the whole organization can build awareness, empowerment and coherence.
• A program approach can ensure strategic alignment. This page uses the example of HP's printer organization freeing itself from its organizational constraints to sell a printer targeted at the IBM pc user.
The constraints are described.
The techniques to overcome them are implied. #### A developmental phase is initiated schematically

##### Summary
This page describes the Adaptive Web framework (AWF) test system and the agent programming framework (Smiley) that supports its operation.
Example test system statements are included.  To begin a test a test statement is loaded into Smiley while Smiley executes on the Perl interpreter.
Part of Smiley's Perl code focused on setting up the infrastructure is included bellow.
The setup includes:
• So that the Coderack can be called.
The Coderack, which is the focus of a separate page of the Perl frame then schedules and runs the codelets that are invoked by the test statement structures.
Smiley
can support the start of the development phase is a phase during the operation of a CAS agent.  It allows for schematic strategies to be iteratively blended with environmental signals to solve the logistical issues of migrating newly built and transformed sub-agents.  That is needed to achieve the adult configuration of the agent and optimize it for the proximate environment.  Smiley includes examples of the developmental phase agents required in an emergent CAS.  In situations where parents invest in the growth and memetic learning of their offspring the schematic grab bag can support optimizations to develop models, structures and actions to construct an adept adult.  In humans, adolescence leverages neural plasticity, elder sibling advice and adult coaching to help prepare the deploying neuronal network and body to successfully compete.
of an agent-based application.
Startup is an artificial operation not found in living systems.  But Smiley must do it and so we discuss an example of starting the development phase
With the Smiley infrastructure and the application integrated the application's development phase is reviewed.
The association of structural
The specialized use of the Workspace by the adaptive web framework's (AWF) Smiley is discussed.
How text and XML are imported into the Smiley Workspace is described.
Telomeric aging of schematic structures is introduced.
The internal data structure used to represent the state of each workspace object is included.
The Workspace infrastructure functions are included.
Workspace
s for state representation is discussed
The aggregation is when a number of actions become coordinated and operate together.  In the adaptive web framework's Smiley, codelets become coordinated by their relative position in the deployment cascade.  The cascade's dynamics are dependent on the situation, the operating codelets responses to that situation and the grouping of schematic strings they are associated with.  The aggregate effect is a phenotype the adaptive agent.
of schematic associations of codelets defines a development agent.  At the application level it processes the application's schematic strings.
The schematic nature of the data processed by the test application suggests the use of an indirect integration framework.  This supports the binding of codelets to the schematic data and detecting and responding to the control operons.
An application polymerase complex emerges.
The codelets and supporting functions are included
##### Introduction
This page introduces the complex adaptive system (CAS) theory frame.  The theory provides an organizing framework that is used by 'life.'  It can illuminate and clarify complex situations and be applied flexibly.  It can be used to evaluate and rank models that claim to describe our perceived reality.  It catalogs the laws and strategies which underpin the operation of systems that are based on the interaction of emergent agents.  It highlights the constraints that shape CAS and so predicts their form.  A proposal that does not conform is wrong.

John Holland's framework for representing complexity is outlined.  Links to other key aspects of CAS theory discussed at the site are presented.
CAS
) have to use a series of phases to reach full operational capability.  We are used to observing development in living things.  In a
This page describes the Adaptive Web framework (AWF) test system and the agent programming framework (Smiley) that supports its operation.
Example test system statements are included.  To begin a test a test statement is loaded into Smiley while Smiley executes on the Perl interpreter.
Part of Smiley's Perl code focused on setting up the infrastructure is included bellow.
The setup includes:
• So that the Coderack can be called.
The Coderack, which is the focus of a separate page of the Perl frame then schedules and runs the codelets that are invoked by the test statement structures.
Smiley
(
This presentation applies complex adaptive system (CAS) agents to computer programming.
agent programming framework
) based application an additional challenge is to integrate the initial application codelets with the operational cascades of Smiley infrastructure codelets.  The initial statement provided by the application to Smiley provides a development clause which allows the integration to occur.
##### Starting the development phase of testing the event processor
For example the development phase is a phase during the operation of a CAS agent.  It allows for schematic strategies to be iteratively blended with environmental signals to solve the logistical issues of migrating newly built and transformed sub-agents.  That is needed to achieve the adult configuration of the agent and optimize it for the proximate environment.  Smiley includes examples of the developmental phase agents required in an emergent CAS.  In situations where parents invest in the growth and memetic learning of their offspring the schematic grab bag can support optimizations to develop models, structures and actions to construct an adept adult.  In humans, adolescence leverages neural plasticity, elder sibling advice and adult coaching to help prepare the deploying neuronal network and body to successfully compete.
of testing the adaptive web framework (AWF) event processor awfpbs with a Smiley application is performed by an agent which
This page discusses the mechanisms and effects of emergence underpinning any complex adaptive system (CAS).  Physical forces and constraints follow the rules of complexity.  They generate phenomena and support the indirect emergence of epiphenomena.  Flows of epiphenomena interact in events which support the emergence of equilibrium and autonomous entities.  Autonomous entities enable evolution to operate broadening the adjacent possible.  Key research is reviewed.
emerges
from the schematic associations of a variety of codelets (list) due to the integration.
Each test statement contains a developmental clause.  A number of requirements must be met for development to initiate.
##### Once integrated the development phase of testing the event processor begins
devbuilder indirectly launches (via developmenti) the
This page discusses how Smiley provides deployment guarantees to its agent-based applications.
Smiley's transaction services are reviewed.
The complex interactions of codelets participating in a deployment cascade are discussed including:
• The implementation of schematic switches.
• The cooperative use of goal suppression.
• Evaluator codelets promotion of other siblings.
Challenges of initiation of a cascade are discussed.
Tools to associate transaction protection to an operon deployed codelet are described.
Special support for sub-program codelets is described.  Completion of transactional sub-programs presents special challenges.  Priority and synchronization support includes:
• Delaying the notgcompleting cascade participant.
• Waiting for completion of parallel operations with the wait and relay service.
The need to sustain resource pools is reviewed.
The use of signals to coordinate siblings is described.
The structural binding operon for the wait and relay service is included.
The codelets and supporting functions are included.
of development is a phase during the operation of a CAS agent.  It allows for schematic strategies to be iteratively blended with environmental signals to solve the logistical issues of migrating newly built and transformed sub-agents.  That is needed to achieve the adult configuration of the agent and optimize it for the proximate environment.  Smiley includes examples of the developmental phase agents required in an emergent CAS.  In situations where parents invest in the growth and memetic learning of their offspring the schematic grab bag can support optimizations to develop models, structures and actions to construct an adept adult.  In humans, adolescence leverages neural plasticity, elder sibling advice and adult coaching to help prepare the deploying neuronal network and body to successfully compete.
activities for the application.  devbuilder sends the
Agents use sensors to detect events in their environment.  This page reviews how these events become signals associated with beneficial responses in a complex adaptive system (CAS).  CAS signals emerge from the Darwinian information model.  Signals can indicate decision summaries and level of uncertainty.
probe sequence
'development, schema, lists' to the nucleus, a membrane bounded module in a eukaryotic cell where the DNA is encapsulated and operated on.
.
##### Structural codelets
The dev codelet is an example of a structural codelet.  It creates an associated structural Workspace which provides context (via the Workspace schematic sequence <development> <sequence> <integration>) for the cascade of codelets that instantiate the development is a phase during the operation of a CAS agent.  It allows for schematic strategies to be iteratively blended with environmental signals to solve the logistical issues of migrating newly built and transformed sub-agents.  That is needed to achieve the adult configuration of the agent and optimize it for the proximate environment.  Smiley includes examples of the developmental phase agents required in an emergent CAS.  In situations where parents invest in the growth and memetic learning of their offspring the schematic grab bag can support optimizations to develop models, structures and actions to construct an adept adult.  In humans, adolescence leverages neural plasticity, elder sibling advice and adult coaching to help prepare the deploying neuronal network and body to successfully compete.
process.  This context includes where the schematic application stream is that will be integrated during this development. The stream descriptor is deployed to the <development> WSO.
##### A development agent emerges from schematic associations of codelets
The application identifies its approach to development is a phase during the operation of a CAS agent.  It allows for schematic strategies to be iteratively blended with environmental signals to solve the logistical issues of migrating newly built and transformed sub-agents.  That is needed to achieve the adult configuration of the agent and optimize it for the proximate environment.  Smiley includes examples of the developmental phase agents required in an emergent CAS.  In situations where parents invest in the growth and memetic learning of their offspring the schematic grab bag can support optimizations to develop models, structures and actions to construct an adept adult.  In humans, adolescence leverages neural plasticity, elder sibling advice and adult coaching to help prepare the deploying neuronal network and body to successfully compete.
schematically.  By providing subgroup schemata within the <development> <schemata> <lists>
Plans emerge in complex adaptive systems (CAS) to provide the instructions that agents use to perform actions.  The component architecture and structure of the plans is reviewed.
schemata
with
Agents use sensors to detect events in their environment.  This page reviews how these events become signals associated with beneficial responses in a complex adaptive system (CAS).  CAS signals emerge from the Darwinian information model.  Signals can indicate decision summaries and level of uncertainty.
associations
to core codelets that support indirect operations, the application can integrate with the core test infrastructure and
The details of the codelet architecture are described.
The specialized use of the Coderack by the adaptive web framework's (AWF) Smiley is discussed.
The codelet scheduling mechanism is discussed.
A variety of Smiley extensions to the Coderack are reviewed.
The Coderack infrastructure functions are included.
Coderack

Development is an
This page discusses the mechanisms and effects of emergence underpinning any complex adaptive system (CAS).  Physical forces and constraints follow the rules of complexity.  They generate phenomena and support the indirect emergence of epiphenomena.  Flows of epiphenomena interact in events which support the emergence of equilibrium and autonomous entities.  Autonomous entities enable evolution to operate broadening the adjacent possible.  Key research is reviewed.
emergent
CAS
Plans are interpreted and implemented by agents.  This page discusses the properties of agents in a complex adaptive system (CAS).
It then presents examples of agents in different CAS.  The examples include a computer program where modeling and actions are performed by software agents.  These software agents are aggregates.
The participation of agents in flows is introduced and some implications of this are outlined.
agent
.  It is composed of a number of codelets which cooperate under the control of a
Plans emerge in complex adaptive systems (CAS) to provide the instructions that agents use to perform actions.  The component architecture and structure of the plans is reviewed.
schematic plan
to act via the Coderack &
The goal of the Slipnet is reviewed.
Smiley's specialized use of the Slipnet is introduced.
The initial Slipnet network used by the 'Merge Streams' and 'Virtual Robot' agent-based applications is setup in initchemistry and is included.
The Slipnet infrastructure and initialization functions are included.
Slipnet
on
Agents use sensors to detect events in their environment.  This page reviews how these events become signals associated with beneficial responses in a complex adaptive system (CAS).  CAS signals emerge from the Darwinian information model.  Signals can indicate decision summaries and level of uncertainty.
signals
from the
The complex adaptive system (CAS) nature of a value delivery system is first introduced.  It's a network of agents acting as relays.

The critical nature of hub agents and the difficulty of altering an aligned network is reviewed.

The nature of and exceptional opportunities created by platforms are discussed.

Finally an example of aligning a VDS is presented.
environment
and each other.
##### Indirect integration framework
A binder codelet supports the
This page describes the Smiley infrastructure that supports the associative binding of schematic strings to codelets defined in the Meta file and Slipnet.
The infrastructure supporting the associations is introduced.
The role of Jeff Hawkins neocortical attributes is discussed.
Relevant Slipnet configurations are included.
The codelets and supporting functions are included.
association
of application schematic operons is an addressable control structure which is used in biological cells to control access to other regions of the DNA.
with
The specialized use of the Workspace by the adaptive web framework's (AWF) Smiley is discussed.
How text and XML are imported into the Smiley Workspace is described.
Telomeric aging of schematic structures is introduced.
The internal data structure used to represent the state of each workspace object is included.
The Workspace infrastructure functions are included.
Workspace
structures which can
This page discusses the interdependence of perception and representation in a complex adaptive system (CAS).  Hofstadter and Mitchell's research with Copycat is reviewed.  The bridging of a node from a network of 'well known' percepts to a new representational instance is discussed as it occurs in biochemistry, in consciousness and abstractly.
support context and allow for localized representations
of goals and action states.  In the adaptive web framework test infrastructure (Smiley) a binder complex uses a descriptor within its main Workspace base associated Workspace object is a collection of: happenings, occurrences and processes; including emergent entities, as required by relativity, explains Rovelli.  But natural selection has improved our fitness by representing this perception, in our minds, as an unchanging thing, as explained by Pinker.  Dehaene explains the object modeling and construction process within the unconscious and conscious brain.  Mathematicians view anything that can be defined and used in deductive reasoning and mathematical proofs as an object.  These mathematical objects can be values of variables, allowing them to be used in formulas.
({wsposition}-({})->{index+{wsi}}) to define its locality within the bound schemata.
##### An application polymerase is an enzyme which generates a multi-component nucleic acid polymer chain by bonding the monomer molecules together using an existing DNA or RNA molecule as a template.  complex emerges
Various application codelets generate signals associated with the system binder complex.  The application's schematic context tailors the system binder to the current situation.  The application pseudo codelet 'case, in a high level computing language a case, or switch, statement allows the specification of a series of alternative labeled items.  Any of these labels can be assigned to the case selector.  On entry to the case statement the compiler will allocate a jump to the item that is associated with a label that has the same value as is currently assigned to the case selector.   deployment binder' has a schematic operon <development> <for> <case> <deploy> <list>.  However the associated codelet that is actually instantiated is the schematic binder evaluator and builder.  The binder evaluator only launches the builder after checks for the existence of the development is a phase during the operation of a CAS agent.  It allows for schematic strategies to be iteratively blended with environmental signals to solve the logistical issues of migrating newly built and transformed sub-agents.  That is needed to achieve the adult configuration of the agent and optimize it for the proximate environment.  Smiley includes examples of the developmental phase agents required in an emergent CAS.  In situations where parents invest in the growth and memetic learning of their offspring the schematic grab bag can support optimizations to develop models, structures and actions to construct an adept adult.  In humans, adolescence leverages neural plasticity, elder sibling advice and adult coaching to help prepare the deploying neuronal network and body to successfully compete.
structural Workspace (ifindb, the 'inverted find binding' uses an associative search to return the Workspaces and Workspace address of the start of any matching string.  A parameter referenced strategy routine generates the schematic string that is searched for.  Filters can apply to which Workspaces are searched and / or returned.
(binderp1: which sets context from sps schemata address 1 which should be <development> for all these schemata)) and non-existence of application structural Workspace (ifindb (binderc: which sets context from sps schemata 3 until operon end -2 which should be <case> for all these operon subgroup deployment schemata)).

The binder requires the support of a start locator codelet.  A 'case deployment start locator' codelet is really instantiated by an
Rather than oppose the direct thrust of some environmental flow agents can improve their effectiveness with indirect responses.  This page explains how agents are architected to do this and discusses some examples of how it can be done.
indirect
sloc codelet (evaluator & builder).  The sloc builder indirectly maintains the cascade's initialization (via casoppi).  It sends a context dependent probe sequence such as '<development>, <schema>, <initial>' to the nucleus, a membrane bounded module in a eukaryotic cell where the DNA is encapsulated and operated on.
.  In each case the application schemata provide specific context about the application which allows the indirect codelets to act appropriately.
Together the binder and sloc codelets and the follow-on cascade of codelets associate with the application schemata analogous to the binding of DNA (DNA), a polymer composed of a chain of deoxy ribose sugars with purine or pyrimidine side chains.  DNA naturally forms into helical pairs with the side chains stacked in the center of the helix.  It is a natural form of schematic string.  The purines and pyrimidines couple so that AT and GC pairs make up the stackable items.  A code of triplets of base pairs (enabling 64 separate items to be named) has evolved which now redundantly represents each of the 20 amino-acids that are deployed into proteins, along with triplets representing the termination sequence.  Chemical modifications and histone binding (chromatin) allow cells to represent state directly on the DNA schema.  To cope with inconsistencies in the cell wide state second messenger and evolved amplification strategies are used.   with a polymerase is an enzyme which generates a multi-component nucleic acid polymer chain by bonding the monomer molecules together using an existing DNA or RNA molecule as a template.
complex such as RNA polymerase 1 is the process where DNA is converted into messenger m-RNA.  A complex of enzymes cooperates to bind to the DNA and generate the m-RNA copy.  There are a number of such transcription complexes which are based on RNA polymerase I, II or III.

Case development utilizes a set of [pseudo] codelets:
The statement builder may decide that it needs to initiate the development activity multiple times.  It does this by removing the group start and end descriptors from the development area group sponsor WSO.  This is analogous to phosphatase is an enzyme which catalyzes the removal of a phosphate group from a side chain of a specific protein.  When paired with a kinase that targets the same protein it gives the cell a schematically controlled switching capability.   activity in kinase is an enzyme which catalyzes the addition of a phosphate group to a side chain of a specific protein.  When paired with a phosphatase that targets the same protein and side chain it gives the cell a schematically controlled switching capability.  /phosphatase enzyme, a protein with a structure which allows it to operate as a chemical catalyst and a control switch.
control.
##### The development operon
The sequence named dlibindtomsiggv has been associated in the
The goal of the Slipnet is reviewed.
Smiley's specialized use of the Slipnet is introduced.
The initial Slipnet network used by the 'Merge Streams' and 'Virtual Robot' agent-based applications is setup in initchemistry and is included.
The Slipnet infrastructure and initialization functions are included.
Slipnet
with a signal type (mpsignal).
The developmental schematic operon provides sub group schemata for the description of web frame definition file (istrings) schematic list structures within the Workspace.  Certain keywords and the length of the sub-group schemata are highly constrained.  For example a change to the number of keywords in a sub-group schemata will alter the binder context Workspace that the associated codelet requests.
The codelet builder schbindbuilder creates the core of a structural complex, bound to application schemata, with which other codelets operating within the development is a phase during the operation of a CAS agent.  It allows for schematic strategies to be iteratively blended with environmental signals to solve the logistical issues of migrating newly built and transformed sub-agents.  That is needed to achieve the adult configuration of the agent and optimize it for the proximate environment.  Smiley includes examples of the developmental phase agents required in an emergent CAS.  In situations where parents invest in the growth and memetic learning of their offspring the schematic grab bag can support optimizations to develop models, structures and actions to construct an adept adult.  In humans, adolescence leverages neural plasticity, elder sibling advice and adult coaching to help prepare the deploying neuronal network and body to successfully compete.
group associate.

The codelet builder slocbuilder supports the binder identifying the initial application keyword's position and describing it in the complex that other indirect codelets participate in.

``` ```
``` ```
``` awfpbs testing development schemata The following schematic strings are loaded by convbws.  They are group schemata which are associated with nuclear agents (nuclabm evaluator & builder) which respond to codelet signals by deploying the included sub-group schemata to the active This page describes the Copycat Workspace.  The specialized use of the Workspace by the adaptive web framework's (AWF) Smiley is discussed.  How text and XML are imported into the Smiley Workspace is described.  Telomeric aging of schematic structures is introduced.  The internal data structure used to represent the state of each workspace object is included.  The Workspace infrastructure functions are included.  Workspace.  The Meta-keyword <comment> toggles convbws loading between comment mode and processing active <keywords>.  In the following the initial <comment> switches convbws into active mode.  The active keywords include meta-keyword instructions for convbws, such as <rhlmspg> and <memgroup> and schematic keywords that will be processed during nuclear operations.  The first keyword of a schematic string also identifies the start of the group and the start of the deployed subgroup.  The schematic groups listed include sub-group deployment schemata for codelets that are typically useful during development is a phase during the operation of a CAS agent.  It allows for schematic strategies to be iteratively blended with environmental signals to solve the logistical issues of migrating newly built and transformed sub-agents.  That is needed to achieve the adult configuration of the agent and optimize it for the proximate environment.  Smiley includes examples of the developmental phase agents required in an emergent CAS.  In situations where parents invest in the growth and memetic learning of their offspring the schematic grab bag can support optimizations to develop models, structures and actions to construct an adept adult.  In humans, adolescence leverages neural plasticity, elder sibling advice and adult coaching to help prepare the deploying neuronal network and body to successfully compete.  : schbind, sloc, slistkw, skipwso, namest, srcdkw, endrcdkw, endlistkw, and unbind. ```
``` ```
``` ```
```#<!-- start tag swp --> ```
```<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <development> <groupcomplete> <model> <partscategory> <development> <salience> <threshold> </memgroup> </rhlmspg> )(<rhlmspg> <memgroup> <model> <schema> <partscategory> <development> <groupcomplete> <model> <partscategory> <development> <jhlabel> <groupcomplete> </memgroup> </rhlmspg> )<comment> <br> ```
``` ```
```<comment> (<rhlmspg> <memgroup> <model> <schema> <devcategory> <development> <statementcomplete> <model> <schema> <development> <devcategory> <statementwhole> </memgroup> </rhlmspg> )<comment> ```
``` ```
``` ```
``` dlidev signalled meme The dev builder's This page discusses how Smiley provides signalling to its agent-based applications.  Alternative strategies for initiating the signalling are reviewed.  The codelets and supporting functions are included. signal (<development> <schema> [<lists> in awfart04 development statement substitution]) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment.  The signal's awfart04 cascade based Slipnet description associates codelet forces (nuclabmevaluator) with the signal.    ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <lists> <development> <for> <case> <deploy> <list> </memgroup> </rhlmspg> )<comment> schbind ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <lists> <development> <for> <case> <list> <initial> </memgroup> </rhlmspg> )<comment> sloc ```
``` ```
``` ```
``` dlisloc signalled meme The sloc builder's This page discusses how Smiley provides signalling to its agent-based applications.  Alternative strategies for initiating the signalling are reviewed.  The codelets and supporting functions are included. signal (<development> <schema> <initial>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment.  The signal's awfart04 cascade based Slipnet description associates codelet forces (nuclabmevaluator) with the signal.    ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <initial> <development> <for> <case> <list> <startlistkw> </memgroup> </rhlmspg> )<comment> slistkw ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <initial> <development> <for> <case> <list> <skipwso> </memgroup> </rhlmspg> )<comment> skipwso ```
``` ```
``` ```
``` dlislistkw signalled meme The slistkw builder's This page discusses how Smiley provides signalling to its agent-based applications.  Alternative strategies for initiating the signalling are reviewed.  The codelets and supporting functions are included. signal (<development> <schema> <startlistkw>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment.  The signal's awfart04 cascade based Slipnet description associates codelet forces (nuclabmevaluator) with the signal.    ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <startlistkw> <development> <for> <case> <list> <namest> </memgroup> </rhlmspg> )<comment> namest ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <startlistkw> <development> <for> <case> <list> <startrcdkw> </memgroup> </rhlmspg> )<comment> srcdkw ```
``` ```
``` ```
``` dlisrcdkw signalled meme The srcdkw builder's This page discusses how Smiley provides signalling to its agent-based applications.  Alternative strategies for initiating the signalling are reviewed.  The codelets and supporting functions are included. signal (<development> <schema> <startrcdkw>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment.  The signal's awfart04 cascade based Slipnet description associates codelet forces (nuclabmevaluator) with the signal.    ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <startrcdkw> <development> <for> <case> <list> <endrcdkw> </memgroup> </rhlmspg> )<comment> endrcdkw ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <startrcdkw> <development> <for> <case> <list> <seltst> </memgroup> </rhlmspg> )<comment> seltst ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <startrcdkw> <development> <for> <case> <list> <endrcdkw> </memgroup> </rhlmspg> )<comment> endrcdkw ```
``` ```
``` ```
``` dliendrcdkw signalled meme The endrcdkw builder's This page discusses how Smiley provides signalling to its agent-based applications.  Alternative strategies for initiating the signalling are reviewed.  The codelets and supporting functions are included. signal (<development> <schema> <endrcdkw>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment.  The signal's awfart04 cascade based Slipnet description associates codelet forces (nuclabmevaluator) with the signal.    ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <endrcdkw> <development> <for> <case> <list> <startrcdkw> </memgroup> </rhlmspg> )<comment> srcdkw ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <endrcdkw> <development> <for> <case> <list> <endlistkw> </memgroup> </rhlmspg> )<comment> endlistkw ```
``` ```
``` ```
``` dliendlistkw signalled meme The endlistkw builder's This page discusses how Smiley provides signalling to its agent-based applications.  Alternative strategies for initiating the signalling are reviewed.  The codelets and supporting functions are included. signal (<development> <schema> <endlistkw>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment.  The signal's awfart04 cascade based Slipnet description associates codelet forces (nuclabmevaluator) with the signal.    ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <endlistkw> <development> <for> <case> <list> <unbind> </memgroup> </rhlmspg> )<comment> unbind ```
``` ```
```<comment> (<rhlmspg> <memgroup> <development> <schema> <endlistkw> <development> <for> <case> <list> <startlistkw> </memgroup> </rhlmspg> )<comment> slistkw ```
``` ```
``` ```
``` ```
``` ```
``` ```
``` ```
```#<!-- start tag swp --> ```
``` comment (<rhlmspg> <memgroup> <model> <schema> <partscategory> <development> <groupcomplete> <model> <partscategory> <development> <salience> <threshold> </memgroup> </rhlmspg> )(<rhlmspg> <memgroup> <model> <schema> <partscategory> <development> <groupcomplete> <model> <partscategory> <development> <jhlabel> <groupcomplete> </memgroup> </rhlmspg> ) comment <br> ```
``` ```
``` comment (<rhlmspg> <memgroup> <model> <schema> <devcategory> <development> <statementcomplete> <model> <schema> <development> <devcategory> <statementwhole> </memgroup> </rhlmspg> ) comment ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <lists> <development> <for> <case> <deploy> <list> </memgroup> </rhlmspg> ) comment schbind ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <lists> <development> <for> <case> <list> <initial> </memgroup> </rhlmspg> ) comment sloc ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <initial> <development> <for> <case> <list> <startlistkw> </memgroup> </rhlmspg> ) comment slistkw ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <initial> <development> <for> <case> <list> <skipwso> </memgroup> </rhlmspg> ) comment skipwso ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <startlistkw> <development> <for> <case> <list> <namest> </memgroup> </rhlmspg> ) comment namest ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <startlistkw> <development> <for> <case> <list> <startrcdkw> </memgroup> </rhlmspg> ) comment srcdkw ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <startrcdkw> <development> <for> <case> <list> <endrcdkw> </memgroup> </rhlmspg> ) comment endrcdkw ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <startrcdkw> <development> <for> <case> <list> <seltst> </memgroup> </rhlmspg> ) comment seltst ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <startrcdkw> <development> <for> <case> <list> <endrcdkw> </memgroup> </rhlmspg> ) comment endrcdkw ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <endrcdkw> <development> <for> <case> <list> <startrcdkw> </memgroup> </rhlmspg> ) comment srcdkw ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <endrcdkw> <development> <for> <case> <list> <endlistkw> </memgroup> </rhlmspg> ) comment endlistkw ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <endlistkw> <development> <for> <case> <list> <unbind> </memgroup> </rhlmspg> ) comment unbind ```
``` ```
``` comment (<rhlmspg> <memgroup> <development> <schema> <endlistkw> <development> <for> <case> <list> <startlistkw> </memgroup> </rhlmspg> ) comment slistkw ```
``` ```
``` ```
#
``` my (\$pconc, \$jhlsid); ```
```# cdbbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {deploy}, \$Awfif::memes-> {snnh} {list}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {schbindevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cvbtdbbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {vbot}, \$Awfif::memes-> {snnh} {do}, \$Awfif::memes-> {snnh} {deploy}, \$Awfif::memes-> {snnh} {square}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {devbtwldevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cvbtdcbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {vbot}, \$Awfif::memes-> {snnh} {do}, \$Awfif::memes-> {snnh} {deploy}, \$Awfif::memes-> {snnh} {cans}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {devbtcnsevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cdslocbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {list}, \$Awfif::memes-> {snnh} {initial}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {slocevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cdslistkwbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {list}, \$Awfif::memes-> {snnh} {startlistkw}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {slistkwevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cdendrcdkwbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {list}, \$Awfif::memes-> {snnh} {endrcdkw}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {endrcdkwevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cdendlistkwbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {list}, \$Awfif::memes-> {snnh} {endlistkw}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {endlistkwevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cdnamestbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {list}, \$Awfif::memes-> {snnh} {namest}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {namestevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cdskipwsobindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {list}, \$Awfif::memes-> {snnh} {skipwso}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {skipwsoevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cdsrcdkwbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {list}, \$Awfif::memes-> {snnh} {startrcdkw}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {srcdkwevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cdseltstbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {list}, \$Awfif::memes-> {snnh} {seltst}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {seltstevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {bind}]); ```
```# cdunbindbindtomsig ```
```# & a label for a sps indirectly from model via \$pconc ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {bind}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 18, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} [\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {for}, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {list}, \$Awfif::memes-> {snnh} {unbind}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {unbindevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance}, \$pconc,\$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} [\$Awfif::memes-> {snnh} {bind}]); ```
```# case ```
``` ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnd} ```
``` [\$Awfif::memes-> {snnh} {case}] = 8; ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} ```
``` [\$Awfif::memes-> {snnh} {case}] = 30;#13 ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} ```
``` [\$Awfif::memes-> {snnh} {case}] = 31;#12 ```
```# casebindtobis ```
```# setup the binding string for the binder ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {case}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {case}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 1, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {sequence}, \$Awfif::memes-> {snnh} {integration}, \$Awfif::memes-> {snnh} {attribr}); ```
```# caseresolvedbindtobis ```
```# setup the binding string for the binder ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {case}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {case}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 1, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {resolved}, \$Awfif::memes-> {snnh} {sequence}, \$Awfif::memes-> {snnh} {integration}, \$Awfif::memes-> {snnh} {attribr}); ```
```# caseresolvedspbindtobis ```
```# setup the binding string for the binder ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {case}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {case}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 1, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {case}, \$Awfif::memes-> {snnh} {resolved}, \$Awfif::memes-> {snnh} {subprogram}, \$Awfif::memes-> {snnh} {sequence}, \$Awfif::memes-> {snnh} {integration}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {case}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {successor},\$Awfif::memes-> {snnh} {selector},\$Awfif::memes-> {snnh} {case}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {case}]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {case}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {successor},\$Awfif::memes-> {snnh} {type},\$Awfif::memes-> {snnh} {case}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {case}]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {case}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$Awfif::memes-> {snnh} {devcategory},\$Awfif::memes-> {snnh} {case}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {case}]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {case}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$Awfif::memes-> {snnh} {indirectroot},\$Awfif::memes-> {snnh} {case}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {case}]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {case}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$Awfif::memes-> {snnh} {namedcategory},\$Awfif::memes-> {snnh} {case}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {case}]); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {case}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$Awfif::memes-> {snnh} {testcategory},\$Awfif::memes-> {snnh} {case}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {case}]); ```
```#<!-- start tag inh --> ```
```# dlibindtomsiggv ```
``` ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {lists}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```#<!-- start tag vbt --> ```
```# dvbtlibindtomsiggv ```
``` ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, (\$jhlsid = Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc)), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {square}, \$Awfif::memes-> {snnh} {cans}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlstm (\$jhlsid, 'devbtwldbuilder'); ```
```# dvbtwlibindtomsiggv ```
``` ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, (\$jhlsid = Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc)), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {deploy}, \$Awfif::memes-> {snnh} {square}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlstm (\$jhlsid, 'devbtcnsbuilder'); ```
```#<!-- end tag vbt --> ```
```#<!-- start tag scl --> ```
```# dscllibindtomsiggv ```
``` ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, (\$jhlsid = Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc)), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {square}, \$Awfif::memes-> {snnh} {cans}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlstm (\$jhlsid, 'devscwldbuilder'); ```
```# dsclwlibindtomsiggv ```
``` ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, (\$jhlsid = Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc)), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {deploy}, \$Awfif::memes-> {snnh} {two}, \$Awfif::memes-> {snnh} {square}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlstm (\$jhlsid, 'devsccnsbuilder'); ```
```# dsclscibindtomsiggv ```
``` ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, (\$jhlsid = Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc)), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {deploy}, \$Awfif::memes-> {snnh} {two}, \$Awfif::memes-> {snnh} {cans}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlstm (\$jhlsid, 'devpcellbuilder'); ```
```# dsclpcibindtomsiggv ```
``` ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, (\$jhlsid = Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc)), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {deploy}, \$Awfif::memes-> {snnh} {two}, \$Awfif::memes-> {snnh} {pcell}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlstm (\$jhlsid, 'devscellbuilder'); ```
```#<!-- end tag scl --> ```
```# dlicasbindtosig ```
``` ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {initial}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```# hdoslocbindtosig ```
``` ```
```# setup the binding string for the multi path signal to control development processing - histone codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {hdo}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {hdo}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {hdo}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {initial}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```# dlicasslbindtosig ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {startlistkw}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```# dlicassl2bindtosig ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {startrcdkw}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```# dlicassl3bindtosig ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {endrcdkw}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```# dlicassl4bindtosig ```
```# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator ```
``` ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
```# next want to setup the operon ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {mpsignal}, \$pconc, 2, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {endlistkw}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {nuclabmevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```# devbindtosig ```
```# setup the binding string for the single path signal to initiate a devevaluator/builder ```
``` ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 1, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {develop}, \$Awfif::memes-> {snnh} {lists}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {evaluator}, \$Awfif::memes-> {snnh} {devevaluator}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```# devibindtosig ```
``` ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {inspector}, \$Awfif::memes-> {snnh} {devinspector}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```# devbindtoinhib ```
``` ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` &Awfif::addjhlinhib (\$pconc, \$Awfif::memes-> {snnh} {develop}, \$Awfif::memes-> {snnh} {lists}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {inhibitor}, \$Awfif::memes-> {snnh} {devinhibitor}, \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
```# devbindtobis ```
```# setup the binding string for the binder ```
``` ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {spsignal}, \$pconc, 1, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc, undef(), undef(), undef(), 't'), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {sequence}, \$Awfif::memes-> {snnh} {integration}, \$Awfif::memes-> {snnh} {attribr}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$Awfif::memes-> {snnh} {development}] = Awfif::newnlink ( \$Awfif::memes-> {snnh} {cinstance},\$Awfif::memes-> {snnh} {namescategory},\$Awfif::memes-> {snnh} {development}, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$Awfif::memes-> {snnh} {development}]); ```
```#<!-- end tag inh --> ```
```# devgsbindtobis ```
```# setup the binding string for the goal suppressor ```
``` ```
``` \$Awfif::memes-> {maxoper}++; \$jhlsid = 0; ```
``` \$pconc = Awfif::pconc (\$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnc} [\$Awfif::memes-> {snnh} {development}] , 8, \$Awfif::memes-> {currentwsbi}); ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl} ```
``` [\$pconc] = Awfif::newnlink (\$Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst (\$Awfif::memes-> {snnh} {development}, \$pconc, 1, \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc], \$pconc), \$pconc, ```
``` \$Awfif::memes-> {snw} [\$Awfif::memes-> {currentwsbi}]-> {snnl}[\$pconc]); ```
``` &Awfif::addjhlattribs (\$pconc, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {selector}, \$Awfif::memes-> {snnh} {schema}, \$Awfif::memes-> {snnh} {attribr}); ```

#### Functions

```# ```
```sub bindhistone { ```
``` my (\$myli, \$cws, \$cbwso)=@_; ```
``` my (\$cwsbi, \$result, \$asponsor, \$telhdr, \$atelhdr, \$histdesc, \$teltdesc, \$i); ```
```# bind this mylis telomomeric schema to the binder complex histone if its described ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("bindhistone myli \$myli cws(\$cws) cbwso(\$cbwso) "); ```
``` } ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$asponsor = awsoadr (\$Awfif::codelet-> {l} [\$myli] ); ```
``` \$telhdr = trwsoadr (\$Awfif::codelet-> {l} [\$myli] , -1); ```
``` \$atelhdr = awsoadr (\$telhdr); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` if ( ((\$histdesc = findtdesc (\$Awfif::wsol-> {l} [awsoadr (\$cbwso)], \$Awfif::memes-> {snnh} {histone})) != 0) ```
``` && ((findtdesc (\$Awfif::wsol-> {l} [\$atelhdr], \$Awfif::memes-> {snnh} {telomere}, \$Awfif::memes-> {snnh} {lhead})) != 0)#this descriptor must exist ```
``` && ((\$teltdesc = findtdesc (\$Awfif::wsol-> {l} [\$atelhdr], \$Awfif::memes-> {snnh} {telomere}, \$Awfif::memes-> {snnh} {ltail})) != 0)#get the tail wso from this descriptor ```
``` ){#iterate over the telomere if it is present and bind histone if not already done ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` for (\$i = \$telhdr; \$i != (\$Awfif::workspace-> {l} [\$teltdesc]  - \$Awfif::memes-> {snnh} {wsi}); \$i = trwsoadr (\$i, 1) ){ ```
``` ```
``` if (!defined (\$Awfif::wsol-> {l}[awsoadr (\$i) ][ \$Awfif::memes-> {wsohistbp}]) ){ ```
``` ```
``` \$Awfif::wsol-> {l}[awsoadr (\$i) ][ \$Awfif::memes-> {wsohistbp}] = (\$Awfif::workspace-> {l} [\$histdesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` };#if ```
``` }; #for ```
``` if (!defined (\$Awfif::wsol-> {l}[awsoadr ((\$Awfif::workspace-> {l} [\$teltdesc]  - \$Awfif::memes-> {snnh} {wsi})) ][ \$Awfif::memes-> {wsohistbp}]) ){ ```
``` ```
``` \$Awfif::wsol-> {l}[awsoadr ((\$Awfif::workspace-> {l} [\$teltdesc]  - \$Awfif::memes-> {snnh} {wsi})) ][ \$Awfif::memes-> {wsohistbp}] = (\$Awfif::workspace-> {l} [\$histdesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` };#if ```
``` };#if ```
``` if (\$histdesc != 0){ ```
``` ```
``` \$result = \$histdesc; ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("bindhistonex ret \$result\n"); ```
``` };# trace ```
``` return \$result ```
``` }; #bindhistone ```
```# ```
```sub controlhistone { ```
``` my (\$myli, \$cws, \$cbwso, \$activation)=@_; ```
``` my (\$cwsbi, \$result, \$histdesc); ```
```# [in]activate the binder complex histone ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("controlhistone myli \$myli cws(\$cws) cbwso(\$cbwso) activation(\$activation) "); ```
``` } ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` if ( ((\$histdesc = findtdesc (\$Awfif::wsol-> {l} [awsoadr (\$cbwso)], \$Awfif::memes-> {snnh} {histone})) != 0) ```
``` ){#make the binder complex histone inactive ```
``` ```
``` \$Awfif::histonel-> {l}[(\$Awfif::workspace-> {l} [\$histdesc]  - \$Awfif::memes-> {snnh} {wsi})]  = \$activation; ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("controlhistonex ret \$result\n"); ```
``` };# trace ```
``` return \$result ```
``` }; #controlhistone ```
```# ```
```#<!-- start tag sca --> ```
```# ```
```sub matchitokwkw { ```
``` my(\$myli, \$ws, \$wsoid)=@_; ```
``` my (\$i2, \$tkws, \$cwsi, \$awsoid, \$i3, \$found, \$pws, \$pwsoid, \$apwsoid, \$cws, \$ckwb, \$ckwe, \$match, \$nomatch, \$conforms); ```
```# match the wsoid tokens with the indirectly described tokens (actually schematic keyword equivalents) ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("matchitokwkw myli \$myli ws \$ws wsoid \$wsoid "); ```
``` }; ```
``` \$cwsi = \$Awfif::memes-> {currentwsbi};# to later restore current state ```
``` \$Awfif::memes-> {currentwsbi} = \$ws; ```
``` \$awsoid = awsoadr (\$wsoid); ```
``` \$pws = \$Awfif::wsol-> {l}[\$awsoid][ \$Awfif::memes-> {wsopkwsi}];#*** submacrok ***# ```
``` \$pwsoid = \$Awfif::wsol-> {l}[\$awsoid][ \$Awfif::memes-> {wsopkpos}];#*** submacrok ***# ```
```# now get the context info for this codelet ```
``` ```
``` \$cws = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$ckwb = trwsoadr (\$Awfif::codelet-> {l} [\$myli] , 2); ```
``` \$ckwe = \$Awfif::codelet-> {l} [\$myli] ; ```
```# check there is a match for every token defined in the context ```
``` \$nomatch = ''; ```
``` for (\$i2 = \$ckwb; ((\$i2 != \$ckwe) && (!\$nomatch) && (!chmdefis (\$myli, \$i2, \$Awfif::memes-> {snnh}{sloc}, \\$conforms))); \$i2 = trwsoadr (\$i2,1)) { ```
``` ```
``` \$tkws = getwsost4 (\$i2); ```
```# move into the primary keywords workspace ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$pws; ```
``` \$apwsoid = awsoadr (\$pwsoid); ```
``` \$match = ''; ```
``` for (\$i3 = \$Awfif::wsol->{l}[\$apwsoid]; ((\$i3 < (\$Awfif::wsol->{l}[\$apwsoid] + \$Awfif::wsol->{l}[\$apwsoid])) && (!\$match)); \$i3++) { ```
``` if (\$Awfif::memes->{keywordl}[\$i3] eq \$Awfif::symbolsets-> {meta} {\$tkws}) { ```
``` ```
``` \$match = 't'; ```
``` }#if ```
```# matchitokwkhisu1 ```
``` elsif ( (\$Awfif::symbolsets-> {meta} {\$tkws} eq 'tthistonet') ```
``` && (checkwsmd (\$awsoid, \$Awfif::memes-> {wsohistbp}) != 0) ```
``` ) {#special case to match the start of a histone ```
``` ```
``` \$match = 't'; ```
``` };#elsif ```
``` }; #for ```
```# only proceed if there was a match ```
``` if (!\$match) { ```
``` ```
``` \$nomatch = 't'; ```
``` }; ```
```# switch back to the codelets context workspace to get the next item ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` }; #for ```
``` \$found = !\$nomatch; ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsi; ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("matchitokwkwx ret (\$found)\n"); ```
``` }; ```
``` return \$found ```
``` }# matchitokwkw ```
```# ```
```#<!-- end tag sca --> ```
```# ```
```sub relcodelets { ```
``` my(\$myli, \$wspdsc, \$stws, \$awspwso)=@_; ```
``` my (\$nwsoid, \$aws, \$cwsi, \$catdesc, \$catref); ```
```# given a structural workspace and the wsposition descriptor associate the codelet with wso type ```
```# The catalysis descriptor indicates catalysis in operation and is the head of the codelet list ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("relcodelets myli \$myli wspdsc \$wspdsc awspwso \$awspwso "); ```
``` }; ```
``` \$cwsi = \$Awfif::memes-> {currentwsbi};# to later restore current state ```
``` ```
``` \$nwsoid = (\$Awfif::workspace-> {l} [\$wspdsc]  - \$Awfif::memes->{snnh}{wsi}); ```
``` \$aws = (\$Awfif::workspace-> {l} [\$wspdsc]  - \$Awfif::memes->{snnh}{wsi}); ```
``` \$Awfif::memes-> {currentwsbi} = \$stws; ```
```# relcatru1 ```
``` \$catref = findtdesc (\$Awfif::wsol-> {l} [\$awspwso] , \$Awfif::memes-> {snnh} {catref}); ```
``` if ((\$catref != 0)) { ```
``` ```
``` \$catdesc = (\$Awfif::workspace-> {l} [\$catref]  - \$Awfif::memes-> {snnh}{wsi}); ```
``` }#if ```
``` else { ```
``` ```
``` \$catdesc = findtdesc (\$Awfif::wsol-> {l} [\$awspwso] , \$Awfif::memes-> {snnh} {catalysis}); ```
``` }; ```
```# if catalysis enabled release & free any grabbed codelets ```
``` ```
``` if ((\$catdesc != 0)) {#terminate the catalysis ```
``` ```
``` while ((\$Awfif::workspace-> {l} [\$catdesc]  != 0)) {#associate the binder complex current ws string with the builder codelet ```
``` ```
``` my (\$hcodelet); ```
``` \$hcodelet = \$Awfif::workspace-> {l} [\$catdesc] ; ```
``` \$Awfif::codelet-> {l} [\$Awfif::workspace-> {l} [\$catdesc] ]  = 0;#this codelet can now be freed by freecodelet ```
``` \$Awfif::harray-> {tce} [\$Awfif::codelet-> {l} [\$myli] ]-> {typecodeleta} {\$Awfif::harray-> {tce} [\$Awfif::codelet-> {l} [\$myli] ]-> {codelettypea} {\$Awfif::workspace-> {l} [\$catdesc] }} = undef ();#dis-associate the binder complex current ws string with the builder codelet ```
``` \$Awfif::harray-> {tce} [\$Awfif::codelet-> {l} [\$myli] ]-> {codelettypea} {\$Awfif::workspace-> {l} [\$catdesc] } = undef ();#dis-associate the binder complex current ws string with the builder codelet ```
``` \$Awfif::workspace-> {l} [\$catdesc]  = mhcodelettoactltail (\$Awfif::workspace-> {l} [\$catdesc] );#move the codelet to the head of the catalysis list ```
``` &freecodelet (\$hcodelet, 1); ```
``` };#while ```
``` \$Awfif::workspace-> {l} [\$catdesc]  = \$Awfif::workspace-> {l} [\$catdesc] +1; ```
``` };#if catalysis setup ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsi; ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("relcodeletsx\n"); ```
``` }; ```
``` }# relcodelets ```
```# ```
```#<!-- start tag aso --> ```
```# ```
```sub inewlist { ```
``` my (\$myli, \$cws, \$bcwso, \$sponsor, \$sldesc, \$grkwp, \$grkwpr, \$binding, \$amkrwso) = @_; ```
```# ```
```# setup a list description - listhead, listlink, recordhead ```
``` my (\$abcwso, \$cwsbi, \$slhdesc, \$slldesc, \$cwsbi); ```
```# ```
```# inverted from slistkwbuilder ```
```# checked for merged workspaces ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("inewlist sponsor \$sponsor grkwp \$\$grkwp grkwpr \$grkwpr binding \$binding "); ```
``` }; ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abcwso = awsoadr (\$bcwso); ```
```# checks the list start list for a head reference. If none exists initialise one in the context wso ```
``` if ( ( (\$slhdesc = findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {listhead})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` ){#have identified there is a list head get the associated list link ```
``` ```
``` \$slldesc = findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {listlink}); ```
``` }# if head exists ```
``` else {# create the head & list link descriptors ```
``` ```
``` \$Awfif::wsol-> {l} [\$abcwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$cws), #should probably be the app kw mf ref as a type differentiator ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$bcwso), #point this to where the list link has been initialised ```
``` \$Awfif::memes-> {snnh} {listhead}, ```
``` \$Awfif::wsol-> {l} [\$abcwso] , ```
``` \$abcwso); ```
``` ```
``` \$slhdesc = \$Awfif::wsol-> {l} [\$abcwso] ; ```
``` \$Awfif::wsol-> {l} [\$abcwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$cws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + 0), ```
``` \$Awfif::memes-> {snnh} {listlink}, ```
``` \$Awfif::wsol-> {l} [\$abcwso] , ```
``` \$abcwso); ```
``` \$slldesc = \$Awfif::wsol-> {l} [\$abcwso] ; ```
``` };#else ```
```# slistkwbuildercstb ```
```# deploy <mkwordref> the listref wso for this list structure ```
``` my (\$buffer, \$insymbol, @inmsymbol, @started, \$end, \$depstag, \$depttag, \$dephtag, \$setwsclinv); ```
``` ```
``` \$buffer = '<mkwordref>'; ```
``` \$depstag = ''; ```
``` \$depttag = 0; ```
``` \$dephtag = 0; ```
``` \$insymbol = ''; ```
``` @inmsymbol = (); ```
``` \$started = 0; ```
``` \$started = 't'; ```
``` \$setwsclinv = ''; ```
``` &convbws (\$myli, \\$buffer, \\$\$grkwp, \$grkwpr, \$Awfif::memes-> {kwmi}, \$Awfif::memes-> {kwmir}, \$sponsor, \\$insymbol, \@inmsymbol, \@started, \\$end, \\$depstag, \\$depttag, \\$dephtag, \$cws, \$binding, ```
``` \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {budesc}], ```
``` '', #dont energize the base type ```
``` \\$setwsclinv ```
``` ); ```
```# deploy an initialised record head descriptor in the <mkwordref> wso ```
``` my (\$mkrwso, \$chead); ```
``` ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$cws]; ```
``` \$\$amkrwso = awsoadr (\$mkrwso); ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$cws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + 0), ```
``` \$Awfif::memes-> {snnh} {recordhead}, ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] , ```
``` \$\$amkrwso); ```
```# deploy an initialised record link descriptor in the <mkwordref> wso ```
``` ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$cws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + 0), ```
``` \$Awfif::memes-> {snnh} {recordlink}, ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] , ```
``` \$\$amkrwso); ```
```# deploy an initialised list next descriptor to the <mkwordref> wso ```
```# have to get the listlink in the current head ```
``` ```
``` \$chead = (\$Awfif::workspace-> {l} [\$slhdesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$slldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr(\$chead)] , \$Awfif::memes-> {snnh} {listlink}); ```
```# update this which should be initialised with the address of the <mkwordref> where the next listlink is being deployed ```
``` \$Awfif::workspace-> {l} [\$slldesc]  = \$Awfif::workspace-> {l} [\$slldesc]  + \$mkrwso; ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$cws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + 0), ```
``` \$Awfif::memes-> {snnh} {listlink}, ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] , ```
``` \$\$amkrwso); ```
```# update the list head ```
``` \$Awfif::workspace-> {l} [\$slhdesc]  = \$mkrwso + \$Awfif::memes-> {snnh} {wsi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("inewlistx\n"); ```
``` }; ```
``` }#inewlist ```
```# ```
```sub inewrcd { ```
``` my (\$myli, \$cws, \$bcwso, \$sponsor, \$sldesc, \$slhdesc, \$grkwp, \$grkwpr, \$binding, \$amkrwso) = @_; ```
```# ```
```# setup a list description - listhead, listlink, recordhead ```
``` my (\$abcwso, \$cwsbi, \$cwsbi); ```
```# ```
```# inverted from slistkwbuilder ```
```# checked for merged workspaces ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("inewrcd sponsor \$sponsor grkwp \$\$grkwp grkwpr \$grkwpr binding \$binding "); ```
``` }; ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abcwso = awsoadr (\$bcwso); ```
```# if its ok then deploy <recordref> really an mkwordref to the record wso ```
``` my (\$buffer, \$insymbol, @inmsymbol, @started, \$end, \$depstag, \$depttag, \$dephtag, \$setwsclinv); ```
``` ```
``` \$buffer = '<mkwordref>'; ```
``` \$depstag = ''; ```
``` \$depttag = 0; ```
``` \$dephtag = 0; ```
``` \$insymbol = ''; ```
``` @inmsymbol = (); ```
``` \$started = 0; ```
``` \$started = 't'; ```
``` \$setwsclinv = ''; ```
``` &convbws (\$myli, \\$buffer, \\$grkwp, \$grkwpr, \$Awfif::memes-> {kwmi}, \$Awfif::memes-> {kwmir}, \$sponsor, \\$insymbol, \@inmsymbol, \@started, \\$end, \\$depstag, \\$depttag, \\$dephtag, \$cws, \$binding, ```
``` \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {budesc}], ```
``` '',#dont energize the base concepts ```
``` \\$setwsclinv ```
``` ); ```
```# dirrdcwso1 ```
```# deploy an initialised record ref descriptor in the <mkwordref> wso ```
``` my (\$mkrwso); ```
``` ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$cws]; ```
``` \$\$amkrwso = awsoadr (\$mkrwso); ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})), ```
``` (\$Awfif::memes-> {snnh} {wsi} + (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})), ```
``` \$Awfif::memes-> {snnh} {record}, ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] , ```
``` \$\$amkrwso); ```
```# deploy an initialised record link descriptor in the <mkwordref> wso ```
``` ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$cws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + 0), ```
``` \$Awfif::memes-> {snnh} {recordlink}, ```
``` \$Awfif::wsol-> {l} [\$\$amkrwso] , ```
``` \$\$amkrwso); ```
```# lrhlltwso1 ```
```# link the record head's link to the record mkwordref and move the record head wso address ```
``` ```
``` my (\$rcdhwso, \$rcdlwso, \$rcdhdesc); ```
``` \$rcdhwso = \$Awfif::workspace->{l} [\$slhdesc] - \$Awfif::memes-> {snnh} {wsi}; ```
``` \$rcdhdesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr(\$rcdhwso)] , \$Awfif::memes-> {snnh} {recordhead}); ```
``` \$rcdlwso = \$Awfif::workspace->{l} [\$rcdhdesc] - \$Awfif::memes-> {snnh} {wsi}; ```
``` \$Awfif::workspace-> {l} [\$rcdhdesc]  = \$mkrwso + \$Awfif::memes-> {snnh} {wsi}; ```
```# link the previous record head's record link to the record mkwordref ```
```# if the record head is 0 its initialised and we should use the listhead for the record link wso address ```
``` ```
``` my (\$rcdldesc); ```
``` if (\$rcdlwso != 0) { ```
``` \$rcdldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr(\$rcdlwso)] , \$Awfif::memes-> {snnh} {recordlink}); ```
``` }#if ```
``` else {#initial link is co-resident in the wso with the head descriptor ```
``` \$rcdldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr(\$rcdhwso)] , \$Awfif::memes-> {snnh} {recordlink}); ```
``` };#else ```
``` \$Awfif::workspace-> {l} [\$rcdldesc]  = \$mkrwso + \$Awfif::memes-> {snnh} {wsi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("inewrcdx\n"); ```
``` }; ```
``` }#inewrcd ```
```# ```
```sub depcmodel { ```
``` my (\$myli, \$iws, \$recordi, \$arecordi, \$token, \$casefor, \$target) = @_; ```
```# ```
```# deploy a case model - ```
``` my (\$seldsc, \$cwsbi, \$ws); ```
```# ```
```# inverted from icrsmoxbuilder ```
```# checked for merged workspaces ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("depcmodel myli \$myli token \$token casefor \$casefor target \$target "); ```
``` if ( (defined (\$recordi)) ){ ```
``` ```
``` print ("recordi(\$recordi) "); ```
``` };#if ```
``` if ( (defined (\$iws)) ){ ```
``` ```
``` print ("iws(\$iws) "); ```
``` }#if ```
``` else { ```
``` print ("currentwsbi(\$Awfif::memes->{currentwsbi}) "); ```
``` };#else ```
``` if ( (defined (\$arecordi)) ){ ```
``` ```
``` print ("arecordi(\$arecordi) "); ```
``` };#if ```
``` }; ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if (defined (\$iws)) { ```
``` ```
``` \$ws = \$iws; ```
``` }#if ```
``` else { ```
``` ```
``` \$ws = \$Awfif::memes-> {currentwsbi}; ```
``` };#else ```
``` if (defined (\$recordi)) { ```
``` ```
``` if ((!defined (\$arecordi)) ){ ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$ws; ```
``` \$arecordi = awsoadr (\$recordi); ```
``` };#if ```
``` if (((\$seldsc = findtdesc (\$Awfif::wsol-> {l} [ \$arecordi] , \$Awfif::memes-> {snnh} {casemodel})) == 0) ```
``` or (\$Awfif::workspace-> {l} [\$seldsc]  != \$token) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$arecordi] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$casefor), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$target), ```
``` \$Awfif::memes-> {snnh} {casemodel}, ```
``` \$Awfif::wsol-> {l} [\$arecordi], ```
``` \$arecordi); ```
``` \$Awfif::workspace-> {l} [ \$Awfif::wsol-> {l} [\$arecordi]]  = \$Awfif::memes-> {snnh} {casedeploys}; ```
``` \$Awfif::workspace-> {l} [ \$Awfif::wsol-> {l} [\$arecordi]]  = \$token; ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("depcmodelx\n"); ```
``` }; ```
``` }#depcmodel ```
```# ```
```sub findcot { ```
``` my (\$myli, \$token, \$targsel, \$ival, \$i, \$caseop, \$target) = @_; ```
```# ```
```# find caseop & target - ```
``` my (\$aws, \$cwsbi, \$conforms, \$descfits, \$count, \$caseopupd, \$targetupd ); ```
```# ```
```# inverted from icrsmoxbuilder ```
```# checked for merged workspaces ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` my (\$pr, \$pr2); ```
``` \$pr = \$Awfif::memes-> {snnih} {\$token}; ```
``` \$pr2 = \$Awfif::memes-> {snnih} {\$targsel}; ```
``` print ("findcot myli \$myli token \$pr(\$token) targsel \$pr2(\$targsel) "); ```
``` }; ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$targetupd = ''; ```
``` \$caseopupd = ''; ```
``` if ( ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [ \$\$ival [\$i] ]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = findgm (\$myli, (\$Awfif::workspace-> {l} [ \$\$ival [\$i] ] ), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {case}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$targsel, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {instance}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$token )>0))# <rhlcasertspo> ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){ ```
``` ```
``` \$targetupd = 't'; ```
``` \$\$target = \$\$ival [\$i];#target of for is selector in an if ```
``` }#if ```
``` elsif ( ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [ \$\$ival [\$i] ]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = findgm (\$myli, (\$Awfif::workspace-> {l} [ \$\$ival [\$i] ] ), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {instance}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {value}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$token, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {small}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {case} )>0))# <rhlcaseisspo> ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){ ```
``` ```
``` \$caseopupd = 't';if (\$token == \$Awfif::memes-> {snnh} {\$Awfif::memes-> {findcotd}}) {&break ()}; ```
``` \$\$caseop = \$\$ival [\$i]; ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("findcotx count(\$count) "); ```
``` if (\$targetupd) { ```
``` print ("target(\$\$target) "); ```
``` };#if ```
``` if (\$caseopupd) { ```
``` print ("caseop(\$\$caseop) "); ```
``` };#if ```
``` print ("\n"); ```
``` }; ```
``` }#findcot ```
```# ```
```sub listival { ```
``` my (\$myli, \$iws, \$recordi, \$arecordi, \$ival, \$token, \$modeled) = @_; ```
```# ```
```# find caseop & target - ```
``` my (\$linki, \$ws, \$cwsbi, \$ivalc ); ```
```# ```
```# inverted from icrsmoxbuilder ```
```# checked for merged workspaces ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` my (\$pr); ```
``` print ("listival myli \$myli "); ```
``` if ( (defined (\$recordi)) ){ ```
``` ```
``` print ("recordi(\$recordi) "); ```
``` };#if ```
``` if ( (defined (\$iws)) ){ ```
``` ```
``` print ("iws(\$iws) "); ```
``` }#if ```
``` else { ```
``` print ("currentwsbi(\$Awfif::memes->{currentwsbi}) "); ```
``` };#else ```
``` if ( (defined (\$arecordi)) ){ ```
``` ```
``` print ("arecordi(\$arecordi) "); ```
``` };#if ```
``` if ( (defined (\$token)) ){ ```
``` ```
``` \$pr = \$Awfif::memes-> {snnih} {\$token}; ```
``` print ("token \$pr(\$token) "); ```
``` };#if ```
``` }; ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if (defined (\$iws)) { ```
``` ```
``` \$ws = \$iws; ```
``` }#if ```
``` else { ```
``` ```
``` \$ws = \$Awfif::memes-> {currentwsbi}; ```
``` };#else ```
``` if (defined (\$recordi)) { ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` &itwsoutput (\$recordi); ```
``` }; ```
``` if ((!defined (\$arecordi)) ){ ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$ws; ```
``` \$arecordi = awsoadr (\$recordi); ```
``` };#if ```
``` \$linki = \$Awfif::wsol-> {l} [ \$arecordi] ; ```
``` }#if ```
``` else { ```
``` ```
``` \$linki = 0; ```
``` };#else ```
``` \$ivalc = 0; ```
``` @\$modeled = (); ```
``` while ( (\$linki != 0) ```
``` ){ ```
``` ```
``` if (\$Awfif::workspace-> {l} [\$linki]  == \$Awfif::memes-> {snnh} {ivalue}) { ```
``` ```
``` \$\$ival [\$ivalc++] = \$linki; ```
``` };#if ```
```# if find a matching model it means already processed the rest of this workspace ```
``` if ((\$Awfif::workspace-> {l} [\$linki]  == \$Awfif::memes-> {snnh} {casemodel}) ```
``` && (\$Awfif::workspace-> {l} [\$linki]  == \$token) ```
``` ){ ```
``` ```
``` \$\$modeled [\$ivalc] = 't';#should end up signalling during the pair ```
``` };#if ```
``` \$linki = \$Awfif::workspace-> {l} [ \$linki] ; ```
``` };#while ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("listivalx ret(\$ivalc)\n"); ```
``` }; ```
``` return \$ivalc ```
``` }#listival ```
```# ```
```sub ibawswalk { ```
``` my (\$myli, \$sponsor, \$stwso, \$mstrategy, \$sstrategy, \$sactset, \$bcount, \$msws, \$msb, \$bws, \$bbwso) = @_; ```
```# ```
```# setup base addressing for workspace walk ```
```# mstrategy might be binderp1 ```
```# sstrategy might be bindercs or equivalent ```
``` my (\$cwsbi, \$kwp, \$kwpr); ```
``` my (\$proceed, \$bwsdesc, \$amsb, \$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge); ```
```# ```
```# inverted from icrsmoxbuilder ```
```# checked for merged workspaces ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("ibawswalk myli \$myli stwso \$stwso mstrategy(\$mstrategy) sstrategy(\$sstrategy) "); ```
``` }; ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$proceed = ''; ```
``` if (\$Awfif::codelet-> {l} [\$myli]  == 0) {#setup the base addressing for walking the case workspace ```
``` ```
``` \$\$bcount = ifindb (\$myli, \$stwso, \$mstrategy, \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset); ```
``` \$\$msb = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$\$msws); ```
```# now need to find the ws and base wso the slistkwbuilder described and switch to it ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$\$msws; ```
``` \$amsb = awsoadr (\$\$msb); ```
``` if ((\$bwsdesc = findtdesc (\$Awfif::wsol-> {l} [ \$amsb] , \$Awfif::memes-> {snnh} {slistkwevaluator})) != 0 ```
``` ){# if undefined foundgap then no records to process; if foundgap == false then records exist but not a gap; if foundgap == t then should model the gap ```
``` ```
``` \$\$bbwso = (\$Awfif::workspace-> {l} [\$bwsdesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$\$bws = \$Awfif::workspace-> {l} [\$bwsdesc] ; ```
``` \$proceed = 't'; ```
``` };#if ```
``` }#if ```
``` else {#subprogram ```
``` ```
``` \$\$bcount = ifindb (\$myli, \$sponsor, \$sstrategy, \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset); ```
``` if (\$\$bcount == 1) { ```
``` ```
``` \$proceed = 't'; ```
``` \$\$bbwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$\$bws); ```
``` };#if ```
``` };#else subprogram ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("ibawswalkx bcount(\$\$bcount) msws(\$\$msws) msb(\$\$msb) bws(\$\$bws) bbwso(\$\$bbwso) ret(\$proceed)\n"); ```
``` }; ```
``` return \$proceed ```
``` }#ibawswalk ```
```# ```
```sub findgap { ```
``` my (\$myli, \$arecordi, \$kwdi, \$req2, \$req3, \$req4, \$term4, \$term10, \$term11, \$ivalue) = @_; ```
```# ```
```# find any gap to be filled - ```
``` my (\$linki, \$cwsbi, \$gap, \$found, \$completed ); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` my (\$pr, \$pr1, \$pr2, \$pr3, \$pr4, \$pr10, \$pr11); ```
``` \$pr2 = \$Awfif::memes-> {snnih}{\$req2}; ```
``` \$pr3 = \$Awfif::memes-> {snnih}{\$req3}; ```
``` \$pr4 = \$Awfif::memes-> {snnih}{\$req4}; ```
``` \$pr = \$Awfif::memes-> {snnih}{\$term4}; ```
``` \$pr10 = \$Awfif::memes-> {snnih}{\$term10}; ```
``` \$pr11 = \$Awfif::memes-> {snnih}{\$term11}; ```
``` \$pr1 = \$Awfif::memes-> {snnih}{\$ivalue}; ```
``` print ("findgap myli \$myli kwdi(\$kwdi) req2(\$req2:\$pr2) req3(\$req3:\$pr3) req4(\$req4:\$pr4) term4(\$term4:\$pr) term10(\$term10:\$pr10) term11(\$term11:\$pr11) ivalue(\$ivalue:\$pr1) "); ```
``` &itwsoloutput (\$arecordi); ```
``` }; ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$gap = ''; ```
``` \$found = ''; ```
``` \$linki = \$kwdi; ```
``` while ( (\$linki != 0) && (!\$found) ```
``` ){ ```
``` ```
``` if ((\$Awfif::workspace-> {l} [\$linki]  == \$req4) ```
``` && (\$Awfif::workspace-> {l} [\$linki]  == \$req3) ```
``` && (\$Awfif::workspace-> {l} [\$linki]  == (\$req2 + \$Awfif::memes-> {snnh} {wsi})) ```
``` ){ ```
``` ```
``` \$found = 't'; ```
``` \$completed = ''; ```
``` \$linki = \$kwdi;#have found the required descriptor ```
``` while ( (\$linki != 0) && (!\$completed) ```
``` ){ ```
```# if find a matching model it means already processed the rest of this workspace ```
``` ```
``` if ((\$Awfif::workspace-> {l} [\$linki]  == \$term4) ```
``` && (\$Awfif::workspace-> {l} [\$linki]  == \$term10) ```
``` && (\$Awfif::workspace-> {l} [\$linki]  == \$term11) ```
``` ){ ```
``` ```
``` \$completed = 't';#should end up signalling during the pair ```
``` }#if ```
``` elsif ((\$Awfif::workspace-> {l} [\$linki]  == \$ivalue) ```
``` ){ ```
``` \$gap = 't'; ```
``` \$completed = 't'; ```
``` };#elsif ```
``` \$linki = \$Awfif::workspace-> {l} [ \$linki] ; ```
``` };#while ```
``` };#if ```
``` if (!\$found) { ```
``` \$linki = \$Awfif::workspace-> {l} [ \$linki] ; ```
``` };#if ```
``` };#while ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("findgapx ret(\$gap)\n"); ```
``` }; ```
``` return \$gap ```
``` }#findgap ```
```# ```
```#<!-- start tag al --> ```
```# ```
```sub ifindb {# see if there is a bound workspace with the schematic string ```
``` my(\$myli, \$sti, \$strategy, \$sigcount, \$lomatchs, \$lola, \$loconcs, \$lostrts, \$loends, \$logb, \$loge, \$kwp, \$kwpr, \$sactset, \$stws, \$issubp, \$subp, \$dontcallbreak, \$dontusebice)=@_; ```
``` my (\$i, \$bcount, \$linki, \$cwsbi, \$static, \$labcount, \$hchain, \$srws, \$erws); ```
``` my (@lab ); ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` my (\$pr); ```
``` \$pr = \$Awfif::memes-> {currentwsbi}; ```
``` print ("ifindb myli \$myli currentwsbi \$pr "); ```
``` }; ```
```# updated for merged workspaces ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$bcount = 0; ```
``` ```
``` \$static = ''; ```
``` \$labcount = \$Awfif::memes-> {binds}-> {\$strategy}-> ```
``` (\$myli, \$sti, \@lab, \$kwp, \$kwpr, \@\$sactset, \\$static); ```
```# ifindbcrelu1 ```
``` ```
``` \$srws = 0; #must be defined for relifindb ```
``` \$erws = 0; #must be defined for relifindb ```
``` &relifindb (\$myli, \\$Awfif::ifbhcl, \\$srws, \\$erws); ```
``` ```
``` if (((!defined (\$dontusebice)) or (!\$dontusebice)) ```
``` && ((\$linki = getifb (\$myli, \$strategy, \$labcount, \@lab, \\$hchain, \$subp, \$stws, \$srws, \$erws)) != 0) ```
``` && (\$hchain != 0) ```
``` ) {#usebice cache setup ```
``` ```
``` \$\$sigcount = usebice (\$Awfif::ifbhcl-> {l} [\$linki], \@\$lomatchs, \@\$lola, \@\$loconcs, \@\$lostrts, \@\$loends, \@\$logb, \@\$loge); ```
``` \$bcount = \$Awfif::bicl-> {l} [\$Awfif::ifbhcl-> {l} [\$linki]]; ```
``` }#if ```
``` else { ```
``` ```
``` if ((defined (\$stws)) && (defined (\$srws)) && (defined (\$erws)) ){#use structural ws sequence for search ```
``` ```
``` \$\$sigcount = labinv2 (\$myli, \@lab, \$labcount, \@\$lomatchs, \@\$lola, \@\$loconcs, \@\$lostrts, \@\$loends, \@\$logb, \@\$loge, 'wsseqstbinding', undef (), \$srws, \$erws); ```
``` }#if ```
``` elsif ((!defined (\$stws)) && (defined (\$srws)) && (defined (\$erws)) ){#use specific stws only for search ```
``` ```
``` \$\$sigcount = labinv2 (\$myli, \@lab, \$labcount, \@\$lomatchs, \@\$lola, \@\$loconcs, \@\$lostrts, \@\$loends, \@\$logb, \@\$loge, 'wsseqoporstbinding', undef (), \$srws, \$erws); ```
``` }#elsif ```
``` elsif ((defined (\$stws)) && (defined (\$issubp)) ){#use specific stws only for search ```
``` ```
``` \$\$sigcount = labinv2 (\$myli, \@lab, \$labcount, \@\$lomatchs, \@\$lola, \@\$loconcs, \@\$lostrts, \@\$loends, \@\$logb, \@\$loge, 'specsubpstonly', \$stws); ```
``` }#elsif ```
``` elsif ((defined (\$stws)) ){#use specific stws only for search ```
``` ```
``` \$\$sigcount = labinv2 (\$myli, \@lab, \$labcount, \@\$lomatchs, \@\$lola, \@\$loconcs, \@\$lostrts, \@\$loends, \@\$logb, \@\$loge, 'specstonly', \$stws); ```
``` }#elsif ```
``` else { ```
``` ```
``` \$\$sigcount = labinv2 (\$myli, \@lab, \$labcount, \@\$lomatchs, \@\$lola, \@\$loconcs, \@\$lostrts, \@\$loends, \@\$logb, \@\$loge, 'onlyoporstbinding'); ```
``` };#else ```
``` if (\$\$sigcount > 0) { ```
``` ```
``` for (\$i = 0; \$i < \$\$sigcount; \$i++) { ```
``` if (\$\$lomatchs[\$i]) { ```
``` ```
``` if ( (defined (\$issubp)) ```
``` && (\$Awfif::jhls-> {l} [\$\$lola[\$i]] == \$issubp) ```
``` ){ ```
``` \$bcount++; ```
``` }#if ```
``` elsif ((\$Awfif::jhls-> {l} [\$\$lola[\$i]] == \$Awfif::memes-> {snnh}{subpstbinding}) && ( (\$\$lola[\$i] == \$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] ) or (\$\$lola[\$i] == \$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] ) or (\$\$lola[\$i] == \$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] )) ) { ```
``` ```
``` \$bcount++; ```
``` }#elsif ```
``` elsif (\$Awfif::jhls-> {l} [\$\$lola[\$i]] == \$Awfif::memes-> {snnh}{stbinding}) { ```
``` ```
``` \$bcount++; ```
``` }#elsif ```
``` else { ```
``` \$\$lomatchs [\$i] = ''; ```
``` };#else ignore this one ```
``` };#if ```
``` };#for ```
``` };#if ```
``` if ( (\$bcount > 0) ```
``` && ((!defined (\$dontusebice)) or (!\$dontusebice)) ) { ```
```# ifindbcrelu2 ```
``` ```
``` &addifb (\$myli, \$strategy, \$labcount, \@lab, addbice (\$Awfif::memes-> {currentwsbi}, \$bcount, 5, \$\$sigcount, \@\$lomatchs, \@\$lola, \@\$loconcs, \@\$lostrts, \@\$loends, \@\$logb, \@\$loge), \$subp, \$stws, \$srws, \$erws); ```
``` };#stable answer can be cached ```
``` };#else ```
``` if ((\$bcount == 0) ```
``` && !(\$dontcallbreak) ```
``` ){ ```
``` ```
``` &break (); ```
``` };#if ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("ifindbx ret (\$bcount)\n"); ```
``` }; ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` return \$bcount ```
``` }# ifindb ```
```# ```
```# ```
```sub icompletesc { ```
``` my (\$myli, \$strategy, \$sponsor, \$cws, \$kwp, \$kwpr, \$sactset, \$rbdwso) = @_; ```
``` my (\$launch); ```
```# complete schematic structure when detect end sequence ```
```# ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("icompletesc myli \$myli strategy(\$strategy) sponsor(\$sponsor) "); ```
``` }; ```
``` \$launch = ''; ```
``` my (@typel, \$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$bdwso, \$cwsbi, \$aws); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$typel = wsbasetype (trwsoadr (\$twso, -3)); ```
``` \$typel = wsbasetype (trwsoadr (\$twso, -2)); ```
``` \$typel = wsbasetype (trwsoadr (\$twso, -1)); ```
``` if (\$strategy ne 'unbindbuilder'){ ```
``` ```
``` \$typel = \$Awfif::memes-> {snnh} {unbind}; ```
``` };#if ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$\$cws); ```
``` if (defined(\$rbdwso)){ ```
``` ```
``` \$\$rbdwso = \$bdwso; ```
``` };#if ```
``` my (\$count, \$descfits, \$conforms); ```
``` \$Awfif::memes-> {currentwsbi} = \$\$cws; ```
``` ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 3), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$typel , ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$typel , ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$typel )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){#launch builder ```
``` ```
``` \$launch = 't'; ```
``` };#if ```
``` };#if binderc ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("icompletescx cws(\$\$cws) ret(\$launch)\n"); ```
``` }; ```
``` return \$launch ```
``` }# icompletesc ```
```# ```
```#<!-- end tag aso --> ```
```#<!-- end tag scc --> ```
```# ```
```sub iskipw {# inversion of part of skipwso ```
``` my(\$myli, \$sldesc, \$cws, \$aws, \$abcwso, \$ischemaforoff)=@_; ```
``` my (\$cwsbi, \$schemafor, \$descfits, \$conforms, \$count, \$nwsoid, \$schemaforoff ); ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` my (\$pr, \$pr2); ```
``` \$pr = \$Awfif::workspace-> {l}[\$sldesc]  - \$Awfif::memes-> {snnh}{wsi}; ```
``` \$pr2 = \$Awfif::workspace-> {l}[\$sldesc]  - \$Awfif::memes-> {snnh}{wsi}; ```
``` print ("iskipw myli \$myli sldesc \$sldesc(\$pr:\$pr2) cws \$cws aws \$aws abcwso \$abcwso "); ```
``` if (defined (\$ischemaforoff) ){ ```
``` print ("ischemaforoff(\$ischemaforoff) "); ```
``` };#if ```
``` }; ```
```# updated for merged workspaces ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$schemaforoff = 0; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` if (defined (\$ischemaforoff) ){ ```
``` \$schemaforoff = \$ischemaforoff; ```
``` };#if ```
``` \$schemafor = wsbasetype (trwsoadr (\$Awfif::codelet-> {l} [\$myli] , (2 + \$schemaforoff))); ```
```# now go past any ignore chars ```
``` \$Awfif::memes-> {currentwsbi} = \$aws; ```
``` ```
``` while ( ((!defined (\$nwsoid)) or (\$nwsoid != 0) ) ```
``` && (( (wsbasetype(\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) == \$Awfif::memes-> {snnh} {ichar} ) ```
``` or ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$schemafor )==0)) ) ```
``` ){#have identified this is an ignore char so move past it ```
```# move the workspace position ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$nwsoid = movecomplex (\$myli, \$sldesc, 1, \$abcwso); ```
``` \$Awfif::memes-> {currentwsbi} = \$aws; ```
``` };#while ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("iskipwx\n"); ```
``` }; ```
``` }# iskipw ```
```# ```
```# ```
```sub developmenti1 {# setup the labels for development initiator signaling ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (iinitiators1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 'development')); ```
``` }# developmenti1 ```
```# ```
```sub binderp11 {# setup the labels for binder base context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` my (\$labcount); ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("binderp11 myli \$myli sti \$sti "); ```
``` if (defined (\$kwp)) { ```
``` print ("kwp(\$kwp) kwpr(\$kwpr) sactset(\$\$sactset) "); ```
``` };#if ```
``` }; ```
```# updated for merged workspaces ```
``` ```
``` \$labcount = 0; ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$Awfif::codelet-> {l} [\$myli])); ```
``` if ((defined (\$Awfif::codelet-> {l} [\$myli] )) && (\$Awfif::codelet-> {l} [\$myli]  > 0) ){ ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {subprogram}); ```
``` };#if ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {sequence}); ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {integration}); ```
``` ```
``` if (defined (\$\$static)) { ```
``` \$\$static = '';#can't depend on this being the same every return - don't cache ```
``` };#if ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("binderp11x ret (\$labcount)\n"); ```
``` }; ```
``` return \$labcount ```
``` }# binderp11 ```
```# ```
```sub binderc1 {# setup the labels for binder indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` my (\$labcount, \$i, \$cwsbi, \$conforms, \$ssloc, \$shistone, \$ri); ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("binderc1 myli \$myli sti \$sti "); ```
``` if (defined (\$kwp)) { ```
``` print ("kwp(\$kwp) kwpr(\$kwpr) sactset(\$\$sactset) "); ```
``` };#if ```
``` }; ```
```# updated for merged workspaces ```
``` ```
``` \$labcount = 0; ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` for (\$i = trwsoadr(\$Awfif::codelet-> {l} [\$myli],2); ```
``` ( (!(\$shistone = chmdefis (\$myli, trwsoadr (\$i,-1), \$Awfif::memes-> {snnh}{histone}, \\$conforms))) ```
``` && (\$i != trwsoadr (\$Awfif::codelet-> {l} [\$myli],-2) ) ```
``` && (\$ri = \$i) ```
``` && (!(\$ssloc = chmdefis (\$myli, trwsoadr (\$i,2), \$Awfif::memes-> {snnh}{sloc}, \\$conforms)))); ```
``` \$i = trwsoadr (\$i,1)) { ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$i)); ```
``` };#for ```
``` if (\$shistone) {#already done it ```
``` ```
``` if (\$Awfif::memes-> {binderchis}) {&break()}; ```
``` }#if ```
``` elsif (\$ssloc) { ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$ri)); ```
``` }#elsif ```
``` else { ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (trwsoadr (\$Awfif::codelet-> {l} [\$myli],-2))); ```
``` };#else ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {sequence}); ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {integration}); ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (defined (\$\$static)) { ```
``` \$\$static = '';#can't depend on this being the same every return - don't cache ```
``` };#if ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("binderc1x ret (\$labcount)\n"); ```
``` }; ```
``` return \$labcount ```
``` }# binderc1 ```
```# ```
```#<!-- start tag aso --> ```
```# ```
```sub ibindervc1 {# setup the labels for app complex indirect context (with variable end) ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static, \$tback, \$ihforward)=@_; ```
``` my (\$labcount, \$i, \$initi, \$hforward, \$cwsbi); ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("bindercs1 myli \$myli sti \$sti "); ```
``` if (defined (\$ihforward)) { ```
``` print ("ihforward(\$ihforward) "); ```
``` };#if ```
``` if (defined (\$kwp)) { ```
``` print ("kwp(\$kwp) kwpr(\$kwpr) sactset(\$\$sactset) "); ```
``` };#if ```
``` }; ```
```# updated for merged workspaces ```
``` ```
``` \$labcount = 0; ```
``` if (defined (\$ihforward)) { ```
``` ```
``` \$hforward = \$ihforward; ```
``` }#if ```
``` else { ```
``` ```
``` \$hforward = 2; ```
``` };#else ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` for (\$i = (\$initi = trwsoadr(\$Awfif::codelet-> {l} [\$myli], \$hforward)); ```
``` \$i != trwsoadr (\$Awfif::codelet-> {l} [\$myli], - \$tback, \$initi); ```
``` \$i = trwsoadr (\$i,1)) { ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$i)); ```
``` };#for ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (trwsoadr (\$Awfif::codelet-> {l} [\$myli], - \$tback))); ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {sequence}); ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {integration}); ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (defined (\$\$static)) { ```
``` \$\$static = '';#can't depend on this being the same every return - don't cache ```
``` };#if ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("bindervc1x ret (\$labcount)\n"); ```
``` }; ```
``` return \$labcount ```
``` }# ibindervc1 ```
```# ```
```#<!-- end tag aso --> ```
```#<!-- end tag vbt --> ```
```# ```
```sub bindercs1 {# setup the labels for semantic binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 3)); ```
``` }# bindercs1 ```
```# ```
```#<!-- start tag vbt --> ```
```# ```
```sub binderc41 {# setup the labels for vbttom00nc binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 4)); ```
``` }# binderc41 ```
```# ```
```sub binderc71 {# setup the labels for vbttom00c10 binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 7)); ```
``` }# binderc71 ```
```# ```
```sub binderc91 {# setup the labels for vbttom00c10c01 binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 9)); ```
``` }# binderc91 ```
```# ```
```sub binderc101 {# setup the labels for vbttom00c10c00 binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 10)); ```
``` }# binderc111 ```
```# ```
```sub binderc111 {# setup the labels for vbttom00c10c01c00 binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 11)); ```
``` }# binderc111 ```
```# ```
```sub binderc131 {# setup the labels for vbttom01c00c11c02 binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 13)); ```
``` }# binderc131 ```
```# ```
```sub binderc161 {# setup the labels for vbttom01c00c01c11c02 binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 16)); ```
``` }# binderc161 ```
```# ```
```sub binderc191 {# setup the labels for vbttom11c21c11c12c01c10 binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 19)); ```
``` }# binderc191 ```
```#<!-- end tag vbt --> ```
```# ```
```# ```
```sub bindercs21 {# setup the labels for semantic binder complex indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` ```
``` return (ibindervc1 (\$myli, \$sti, \@\$lab, \$kwp, \$kwpr, \@\$sactset, \\$\$static, 4)); ```
``` }# bindercs21 ```
```# ```
```#<!-- start tag aso --> ```
```#<!-- start tag sir --> ```
```# ```
```sub bindercst1 {# setup the labels for binder indirect context ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` my (\$labcount, \$i, \$cwsbi, \$conforms, \$ssloc, \$shistone, \$ri); ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("bindercst1 myli \$myli sti \$sti "); ```
``` if (defined (\$kwp)) { ```
``` print ("kwp(\$kwp) kwpr(\$kwpr) sactset(\$\$sactset) "); ```
``` };#if ```
``` }; ```
```# updated for merged workspaces ```
``` ```
``` \$labcount = 0; ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` for (\$i = trwsoadr(\$Awfif::codelet-> {l} [\$myli],2); ```
``` ( (!(\$shistone = chmdefis (\$myli, trwsoadr (\$i,-1), \$Awfif::memes-> {snnh}{histone}, \\$conforms))) ```
``` && (\$i != trwsoadr (\$Awfif::codelet-> {l} [\$myli],-2) ) ```
``` && (\$ri = \$i) ```
``` && (!(\$ssloc = chmdefis (\$myli, trwsoadr (\$i,2), \$Awfif::memes-> {snnh}{sloc}, \\$conforms)))); ```
``` \$i = trwsoadr (\$i,1)) { ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$i)); ```
``` };#for ```
``` if (\$shistone) {#already done it ```
``` ```
``` if (\$Awfif::memes-> {binderchis}) {&break()}; ```
``` }#if ```
``` elsif (\$ssloc) { ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$ri)); ```
``` }#elsif ```
``` else { ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (trwsoadr (\$Awfif::codelet-> {l} [\$myli],-2))); ```
``` };#else ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {sequence}); ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {integration}); ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (defined (\$\$static)) { ```
``` \$\$static = '';#can't depend on this being the same every return - don't cache ```
``` };#if ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("bindercst1x ret (\$labcount)\n"); ```
``` }; ```
``` return \$labcount ```
``` }# bindercst1 ```
```# ```
```#<!-- end tag sir --> ```
```#<!-- end tag aso --> ```
```#<!-- start tag vbt --> ```
```# ```
```sub casoppi1 {# setup the labels for development integration ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static)=@_; ```
``` my (\$labcount, \$i, \$cwsbi); ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("casoppi1 myli \$myli sti \$sti "); ```
``` if (defined (\$kwp)) { ```
``` print ("kwp(\$kwp) kwpr(\$kwpr) sactset(\$\$sactset) "); ```
``` };#if ```
``` }; ```
```# updated for merged workspaces ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` ```
``` \$labcount = 0; ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$Awfif::codelet-> {l} [\$myli])); ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {schema}); ```
``` for (\$i = trwsoadr (\$Awfif::codelet-> {l} [\$myli], 4); ```
``` \$i != \$Awfif::codelet-> {l} [\$myli]; ```
``` \$i = trwsoadr (\$i,1)) { ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$i)); ```
``` };#for ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$Awfif::codelet-> {l} [\$myli])); ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (defined (\$\$static)) { ```
``` \$\$static = '';#can't depend on this being the same every return - don't cache ```
``` };#if ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("casoppi1x ret (\$labcount)\n"); ```
``` }; ```
``` return \$labcount ```
``` }# casoppi1 ```
```# ```
```#<!-- end tag vbt --> ```
```#<!-- start tag aso --> ```
```# ```
```sub iinitiators1 {# setup the labels for complex initiator signaling ```
``` my(\$myli, \$sti, \$lab, \$kwp, \$kwpr, \$sactset, \$static, \$strategy)=@_; ```
``` my (\$labcount, \$i); ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("iinitiators1 myli \$myli sti \$sti kwp(\$kwp) kwpr(\$kwpr) sactset(\$\$sactset) "); ```
``` }; ```
```# updated for merged workspaces ```
``` ```
``` \$labcount = 0; ```
``` ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {\$strategy}); ```
``` \$labcount = labload (\@\$lab, \$labcount, \$Awfif::memes-> {snnh} {schema}); ```
``` for (\$i = \$Awfif::codelet-> {l} [\$myli]; \$i != \$Awfif::codelet-> {l} [\$myli];\$i = trwsoadr (\$i,1)) { ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$i)); ```
``` };#for ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$Awfif::codelet-> {l} [\$myli])); ```
``` \$labcount = labload (\@\$lab, \$labcount, wsbasetype (\$sti)); ```
``` ```
``` if (defined (\$\$static)) { ```
``` \$\$static = '';#can't depend on this being the same every return - don't cache ```
``` };#if ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("iinitiators1x ret (\$labcount)\n"); ```
``` }; ```
``` return \$labcount ```
``` }# iinitiators1 ```
```# ```
```#<!-- end tag sca --> ```
```#<!-- start tag vbt --> ```
```# ```
```sub mgpartevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
```# ```
```# checked for merged workspaces ```
``` ```
``` no strict 'refs'; ```
``` &imsalthrevaluator1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, 'mgpartbuilder'); ```
``` ```
``` &clogstatx (); ```
``` }# mgpartevaluator1 ```
```# ```
```sub mgpartbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$found, \$file, \$swstype, \$nextinstance, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# models must use the full workspace ```
``` ```
``` \$found = ''; ```
``` ```
```# now check the workspace for salient workspace type with model status descriptor ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, undef(), \\$cdn, \\$cdnx, 3)) { ```
``` my (\$stfound, \$twso); ```
``` \$stfound = selsaltypedwso (\$myli, \$swstype, \\$nextinstance, \\$twso, trwsoadr (\$Awfif::codelet-> {l} [\$myli],-1), \$grkwpr, \@\$sactset); ```
``` if (\$stfound > 0) {#lets check the following schemata's completeness ```
``` my (\$thrmet, \$undecided, \$wholetype); ```
``` if (wsbasetype (\$nextinstance) == \$Awfif::memes-> {snnh}{development}) { ```
``` \$wholetype = \$Awfif::memes-> {snnh} {devpwhole}; ```
``` }#if ```
``` else { ```
``` \$wholetype = \$Awfif::memes-> {snnh} {whole}; ```
``` };#else ```
``` if (((findbond (\$Awfif::wsol-> {l} [ awsoadr (\$nextinstance)] , \$wholetype, wsbasetype (\$nextinstance), \$Awfif::memes-> {snnh} {model})))) { ```
``` \$thrmet = 't'; ```
``` \$undecided = ''; ```
``` } #if ```
``` else { ```
``` ```
``` &updatelog (\$myli,'ae', 5, \$file); ```
``` \$thrmet = mgparts (\$myli, \$nextinstance, \$twso, \\$undecided, trwsoadr (\$Awfif::codelet-> {l} [\$myli],-1), \$grkwpr, \@\$sactset); ```
```# if threshold met then allow checking to proceed ```
``` if ((!(findbond (\$Awfif::wsol-> {l} [ awsoadr (\$nextinstance)] , \$wholetype, wsbasetype (\$nextinstance), \$Awfif::memes-> {snnh} {model}))) && (!\$undecided) && (\$thrmet)) { ```
``` my (\$afrom); ```
```# didn't find any unresolved objects or fail the thresholding so ```
``` ```
``` \$afrom = awsoadr (\$nextinstance); ```
``` \$Awfif::wsol-> {l} [\$afrom] ```
``` = setupdesc ( (\$swstype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$wholetype), #to match findbond ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$afrom], ```
``` \$afrom); ```
```# if only one for thresholding reduce its activity ```
``` } ```
``` elsif ((!(findbond (\$Awfif::wsol-> {l} [ awsoadr (\$nextinstance)] , \$Awfif::memes-> {snnh} {dropopcheck}, wsbasetype (\$nextinstance), \$Awfif::memes-> {snnh} {model}))) && (!\$thrmet)) { ```
``` my (\$afrom); ```
```# otherwise switch to some other test add model descriptor saying no thresholding ```
``` ```
``` \$afrom = awsoadr (\$nextinstance); ```
``` \$Awfif::wsol-> {l} [\$afrom] ```
``` = setupdesc ( (\$swstype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {dropopcheck}), #to match findbond ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$afrom], ```
``` \$afrom); ```
```# if only one for thresholding reduce its activity ```
``` }; ```
``` }; ```
``` }; ```
``` };#got target wso ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` if (defined (\$kwp)) { ```
``` print ("kwp(\$kwp) kwpr(\$kwpr) sactset(\$\$sactset) "); ```
``` };#if ```
``` }; ```
``` &clogstatx (); ```
``` }# mgpartbuilder1 ```
```# ```
```#<!-- end tag ssc --> ```
```#<!-- end tag swp --> ```
```#<!-- start tag vbt --> ```
```#<!-- start tag scl --> ```
```# ```
```sub idevevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$sscon, \$sgetab, \$sbuilder) = @_; ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$abdwso, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# development codelet responds to group complete that includes its operon ```
``` \$noswstype = 't'; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 4)) { ```
``` my (\$stwso, \$astwso, \$twso, \$asponsor); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` ```
```# Find the statement wso and obtain any stream descriptions - These should include important streams for development ```
``` \$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr); ```
``` \$astwso = awsoadr (\$stwso); ```
```# if the statement does not have stream descriptions for the builder to work on give up ```
``` if ((findtdesc (\$Awfif::wsol-> {l} [ \$astwso] , \$Awfif::memes-> {snnh} {stream}) != 0) ```
``` or (\$sbuilder =~ /vbt/i) ```
```# the builder will need to deal with istream structures too but no point if there is no direct stream they would be described in ```
```# Otherwise need to setup the builder so that it sees the key context wso immediately after the operon starts ```
``` ){#launch builder ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
```# devevalubo1 ```
``` if (ifindupri (\$myli, \$sponsor, \$sscon, undef(), undef(), undef(), undef(), undef(),'t') ```
```# devevalubo2 ```
``` && (getabdwso (\$myli, \$sponsor, \$sgetab, \\$abdwso)) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ \$abdwso], \$Awfif::memes-> {snnh} {casbound}, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {model})) ```
``` ){# ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] / \$Awfif::memes-> {pappbu}); ```
```# devevalubo3 ```
``` &dropsalience (\$myli, \$sponsor, \$sscon); ```
``` }#if ```
``` else { ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` };#else ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = \$sbuilder; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor+1; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]+1; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wsoname} = 0; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(),undef(), \$sbuilder, \$kwp, \$kwpr, \@\$sactset); ```
``` } ```
``` else {#report error no direct stream found ```
``` ```
``` my (\$awss); ```
``` \$awss = awsoadr (\$Awfif::codelet-> {l} [\$myli]); ```
``` \$Awfif::wsol-> {l} [\$awss] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {devcsp}, ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {devevaluator}, ```
``` \$Awfif::wsol-> {l} [\$awss] , ```
``` \$awss); ```
``` }; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# idevevaluator1 ```
```#<!-- end tag vbt --> ```
```#<!-- end tag scl --> ```
```# ```
```sub devevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` ```
``` &idevevaluator1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, 'devscon', 'developmentb', 'devbuilder'); ```
``` }# devevaluator1 ```
```# ```
```#<!-- start tag scl --> ```
```# ```
```sub idevbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$sscon, \$sgetab, \$sgetai) = @_; ```
``` my (\$sponsor, \$sponsortype, \$dwso, \$adwso, \$signal, \$schema, \$found, \$bcount, \$swstype, \$noswstype, \$cwsbi, \$bdwso, \$abdwso, \$bcexists, \$tws, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# look for development binder's workspace ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$found = ''; ```
``` \$bcount = 0; ```
``` \$noswstype = 't'; ```
``` \$bcexists = ''; ```
``` ```
```# now check the workspace for salient workspace type with model status descriptor ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 4)) { ```
``` my (\$stwso, \$astwso, \$streamdscid, \$giveup); ```
``` ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` \$dwso = igetmynowner (\$myli, \$sponsor, 'budevelopment', \$grkwp, \$grkwpr); ```
```# Find the statement wso and obtain any stream descriptions - These should include important streams for development ```
``` \$stwso = igetmynowner (\$myli, \$sponsor, 'bustatement', \$grkwp, \$grkwpr); ```
``` \$astwso = awsoadr (\$stwso); ```
``` if (\$sscon !~ /vbt/i){ ```
```# The statement does have stream descriptions or the evaluator would not have called me ```
``` ```
``` \$streamdscid = findtdesc (\$Awfif::wsol-> {l} [ \$astwso] , \$Awfif::memes-> {snnh} {stream}); ```
``` \$adwso = awsoadr (\$dwso); ```
``` }; ```
```# get the stream name ```
``` ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge); ```
``` \$bcount = ifindb (\$myli, \$sponsor, \$sgetab, \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset, undef(), undef(), undef(), 't'); ```
``` if (\$bcount <= 0) {#create the binder structure ```
``` my (\$buffer); ```
```# devbinitregu1 ```
```# can initialise the development regulatory structure ```
``` ```
``` \$buffer = '<development>'; ```
``` &initschcon (\$myli, \\$buffer, \\$\$kwp, \$kwpr, \$sponsor); ```
```# devbuildercstb ```
``` ```
``` \$buffer = '<development><sequence><integration>'; ```
``` \$tws = inewstws (\$myli, \\$buffer, \\$grkwp, \$grkwpr, \$sponsor); ```
```# idevbreward ```
``` ```
``` \$Awfif::memes-> {fatp} = \$Awfif::memes-> {fatp} + \$Awfif::memes-> {batp}; ```
``` };#if ```
```# now know there is a development integration binder ws locate the developmentb schemata ```
``` if ( ifindb (\$myli, \$sponsor, \$sgetab, \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) { ```
``` \$bcexists = 't'; ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$tws); ```
```# The statement codelets stream descriptors are deployed to the <development> wso ```
``` \$Awfif::memes-> {currentwsbi} = \$tws; ```
``` \$abdwso = awsoadr (\$bdwso); ```
``` if ( (findtdesc (\$Awfif::wsol-> {l} [ \$abdwso] , \$Awfif::memes-> {snnh} {stream}) == 0) ```
``` && (\$sscon !~ /vbt/i) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$abdwso] ```
``` = setupdesc ( \$Awfif::workspace-> {l} [\$streamdscid], ```
``` \$Awfif::workspace-> {l} [\$streamdscid], ```
``` \$Awfif::workspace-> {l} [\$streamdscid], ```
``` \$Awfif::wsol-> {l} [\$abdwso] , ```
``` \$abdwso); ```
``` };#if ```
``` };# if find then update binder ws ```
``` if ( ```
``` (\$bcexists) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ \$abdwso], \$Awfif::memes-> {snnh} {casbound}, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {model})) ```
``` ){ ```
```# devbuilderswdevi ```
```# The builder [mps] signals the nucleus <development> <schema> [<wso 'string' provided by evaluator>] ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` &ilaunchnc (\$myli, \$dwso, \$sgetai, \$Awfif::memes-> {snnh} {deviwhole}, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` '32,37', #mask out codelet-> {l}  i.e. {tfree} ```
``` undef (), #usetrans ```
``` undef (), #transid ```
``` undef (), #transtatus ```
``` undef (), #subprogram ```
``` undef (), #jhlabeli ```
``` undef (), #jhlabeloi ```
``` undef (), #newli ```
``` undef (), #hiurg ```
``` undef (), #usepooling ```
``` ( (ifindupri (\$myli, \$sponsor, \$sscon, undef(), undef(), undef(), undef(), undef(),'t')) ```
``` && (getabdwso (\$myli, \$sponsor, \$sgetab, \\$abdwso)) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ \$abdwso], \$Awfif::memes-> {snnh} {casbound}, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {model})) ```
``` )#buildoffurg ```
``` ); ```
``` };#if ```
```# report that have initiated development integration activity ```
``` ```
``` if ((!findbond (\$Awfif::wsol-> {l} [ \$adwso], \$Awfif::memes-> {snnh} {integration}, \$Awfif::memes-> {snnh} {devcsp}, \$Awfif::memes-> {snnh} {devbuilder})) ){ ```
``` \$Awfif::wsol-> {l} [\$adwso]  ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {devcsp}, ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {integration}), ```
``` \$Awfif::memes-> {snnh} {devbuilder}, ```
``` \$Awfif::wsol-> {l} [\$adwso] , ```
``` \$adwso); ```
``` };#if ```
```# need to continue stimulating the dev activity until binder's next cascade sponsor describes taking control ```
```# It will be deployed into the binder's context structural workspace ```
``` ```
``` if ( ```
``` (\$bcexists) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ \$abdwso], \$Awfif::memes-> {snnh} {casbound}, \$Awfif::memes-> {snnh} {development}, \$Awfif::memes-> {snnh} {model})) ){ ```
``` ```
``` my (\$sgdi, \$gsponsor); ```
```# devbuildertfu ```
```# can't free until loose sponsorship ```
``` ```
```# see 62.2.2.1 \$Awfif::memes-> {temp} [\$Awfif::memes-> {currentwsbi}] = \$Awfif::memes-> {statementbtemp}; ```
``` if (!\$Awfif::memes-> {tdgscramp}) { ```
``` \$Awfif::memes-> {tdgscramp} = 't'; ```
``` \$Awfif::memes-> {tdgsurg} *= \$Awfif::memes-> {tdgsramp}; ```
``` };#if ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{cassponsor}, \$sscon); ```
``` &fgrpd (\$myli, \$sponsor, \\$sgdi, \$Awfif::memes->{snnh}{groupcategory}); ```
``` \$gsponsor = fgrpsponsor (\$sponsor, \$Awfif::workspace-> {l} [\$sgdi] , \$Awfif::memes-> {snnh} {groupcategory}); ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$gsponsor, undef(), 't', \$sscon); ```
``` }#re stimulate dev activity ```
``` else { ```
```# must free once loose sponsorship ```
``` ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{wascassponsor}, \$sscon); ```
``` };#else ```
``` };#got target wso ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# idevbuilder1 ```
```# ```
```#<!-- end tag scl --> ```
```#<!-- end tag vbt --> ```
```# ```
```sub devbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` ```
``` &idevbuilder1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, 'devscon', 'developmentb', 'developmenti'); ```
``` }# devbuilder1 ```
```# ```
```# ```
```sub devinspector1 { ```
``` my (\$myli, \$sws, \$wss, \$wse) = @_; ```
``` ```
``` &idevinspector1 (\$myli, \$sws, \$wss, \$wse, 'devscon'); ```
``` }# devinspector1 ```
```# ```
```#<!-- start tag vbt --> ```
```# ```
```sub idevinspector1 { ```
``` my (\$myli, \$sws, \$wss, \$wse, \$scon) = @_; ```
``` my (\$result, \$awss, \$cwsbi, ```
``` \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$cdn = clogstat (\\$cdnx); ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdn myli \$myli sws \$sws wss \$wss wse \$wse "); ```
``` &itcpoutput (\$myli); ```
``` }; ```
```# check if the development structure descriptors have been deployed ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$result = iinspector1 (\$myli, \$sws, \$wss, \$wse, \$Awfif::memes-> {snnh} {devcsp}); ```
```# now if result is false and find evaluator failure report perform active dev inspection role ```
``` \$awss = awsoadr (\$wss); ```
``` if ((findbond (\$Awfif::wsol-> {l} [ \$awss] , \$Awfif::memes-> {snnh} {error}, \$Awfif::memes-> {snnh} {devcsp}, \$Awfif::memes-> {snnh} {devevaluator})) ```
``` ) { ```
``` my (\$arcounter, \$doretry); ```
```# obscure the error report ```
``` ```
``` ¬deverror (\$awss); ```
```# check & deploy or increment retry count ```
``` \$doretry = ''; ```
``` if ((!findcounter (\$Awfif::wsol-> {l} [ \$awss] , \$Awfif::memes-> {snnh} {inspector}, \\$arcounter)) ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$awss] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {iterator}, ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {zero} + 1), ```
``` \$Awfif::memes-> {snnh} {inspector}, ```
``` \$Awfif::wsol-> {l} [\$awss] , ```
``` \$awss); ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$awss]]  = \$Awfif::memes-> {snnh} {iterator}; ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$awss]]  = (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {zero} + 1); ```
``` \$doretry = 't'; ```
``` } ```
``` else {#update retry counter ```
``` ```
``` if ((\$Awfif::workspace-> {l} [\$arcounter]  - \$Awfif::memes-> {snnh} {wsi}) < \$Awfif::memes-> {mrework}) { ```
``` ```
``` my (\$ampcount); ```
``` \$doretry = 't'; ```
``` \$Awfif::workspace-> {l} [\$arcounter] ++; ```
```# amp descriptor caches ```
``` &setusalcwsocache (\$awss, undef(), ((\$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {bugroup}] | \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {tdgroup}] | \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {delta}])), undef()); ```
``` \$Awfif::wsol-> {l} [\$awss] ```
``` = inccounter ( ```
``` undef (), ```
``` undef (), ```
``` \$Awfif::memes-> {snnh} {amplify}, ```
``` \$Awfif::wsol-> {l} [\$awss] , ```
``` \$awss); ```
``` if ((\$ampcount = ampdesc (\$myli, \$wss)) >= 10) {#give some one else a chance to group complete ```
``` &maskamp (\$myli, \$wss, \$ampcount); ```
``` };# ```
``` }# if ```
``` else { ```
``` ```
``` \$doretry = 't';#see no reason to get stuck in a dead loop ```
``` };#else ```
``` };#record have accessed this operon ```
```# if not reached retry limit obscure failure report, find group sponsor, obscure all group start/end ```
``` if (\$doretry) { ```
``` my (\$sgdi, \$gsponsor); ```
``` ```
``` &fgrpd (\$myli, \$wss, \\$sgdi, \$Awfif::memes->{snnh}{groupcategory}); ```
``` \$gsponsor = fgrpsponsor (\$wss, \$Awfif::workspace-> {l} [\$sgdi] , \$Awfif::memes-> {snnh} {groupcategory}); ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$gsponsor, undef(), undef(), \$scon); ```
``` };#if ```
``` }#if ```
``` elsif (!\$result) {#stimulate the group complete ```
``` ```
``` my (\$ampcount); ```
```# amp descriptor caches ```
``` &setusalcwsocache (\$awss, undef(), ((\$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {bugroup}] | \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {tdgroup}] | \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {delta}])), undef()); ```
``` \$Awfif::wsol-> {l} [\$awss] ```
``` = inccounter ( ```
``` undef (), ```
``` undef (), ```
``` \$Awfif::memes-> {snnh} {amplify}, ```
``` \$Awfif::wsol-> {l} [\$awss] , ```
``` \$awss); ```
``` if ((\$ampcount = ampdesc (\$myli, \$wss)) >= 10) {#give some one else a chance to group complete ```
``` ```
``` &maskamp (\$myli, \$wss, \$ampcount); ```
``` };# ```
``` };#elsif ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx ret (\$result)\n"); ```
``` }; ```
``` &clogstatx (); ```
``` return \$result ```
``` }# idevinspector1 ```
```# ```
```#<!-- end tag vbt --> ```
```# ```
```sub schbindevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# schematic binding codelet responds to group complete that includes a tailoring operon ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderp1', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` && (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset, undef(), undef(), undef(), 't') <= 0) ```
``` ){#launch builder ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "schbindbuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(),undef(), "schbindbuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` }; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# schbindevaluator1 ```
```# ```
```sub schbindbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` if ((defined (\$kwp)) ```
``` && (\$kwp == 1) ```
``` ) { ```
``` print ("myli \$myli kwp(\$kwp) kwpr(\$kwpr) sactset(\$\$sactset) \n"); ```
``` };#if ```
``` ```
``` \$salience = \$Awfif::memes-> {bnotsalient}; ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# schbindbsmodeler1 ```
```# ```
```sub schbindbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
```# ```
``` &ischbindbuilder1 (\$myli, 'binderc', \\$\$kwp, \$kwpr, \@\$sactset, undef (), 0); ```
``` }# schbindbuilder1 ```
```#<!-- start tag aso --> ```
```# ```
```sub ischbindbuilder1 { ```
``` my (\$myli, \$strategy, \$kwp, \$kwpr, \$sactset, \$persist, \$ihistone) = @_; ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$cwsbi, \$histdesc, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# models must use the full workspace ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
```# schematic binding codelet responds to group complete that includes a tailoring operon ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 4)) { ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` ```
``` if( (ifindb (\$myli, \$sponsor, \$strategy, \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset, undef(), undef(), undef(), 't') <= 0) ```
``` && (ifindb (\$myli, \$sponsor, 'binderp1', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){#setup context for rest of complex ```
``` ```
``` my (\$tws, \$buffer, \$i, \$binding); ```
``` for (\$i = trwsoadr ( \$Awfif::codelet-> {l} [\$myli] ,2); ```
``` \$i <= trwsoadr (\$Awfif::codelet-> {l} [\$myli] , -2); ```
``` \$i = trwsoadr (\$i,1)) { ```
``` ```
``` \$buffer = \$buffer . '<' . getwsost4 (\$i) . '>'; ```
``` };#for ```
``` ```
``` \$buffer = \$buffer . '<sequence><integration>'; ```
``` if ((defined (\$Awfif::codelet-> {l} [\$myli] )) && (\$Awfif::codelet-> {l} [\$myli]  != 0)) { ```
``` ```
``` \$binding = \$Awfif::memes-> {snnh} {subpstbinding}; ```
``` }; ```
``` \$tws = inewstws (\$myli, \\$buffer, \\$grkwp, \$grkwpr, \$sponsor, \$binding); ```
```# ```
```# now setup the moved position to the start of the source stream ```
```# get the context structural ws linkage ```
``` my (\$bdwso, \$abdwso, \$i, \$cws, \$bdcwso, \$abdcwso, \$foundc, \$streamdscid, \$streama, \$stream); ```
``` \$foundc = ''; ```
``` ```
``` for (\$i = 0; \$i < \$sigcount; \$i++) { ```
``` if (\$lomatchs[\$i]) {# ```
```# unless this is an operon ```
``` ```
``` if ( (\$Awfif::jhls-> {l} [\$lola[\$i]] == \$Awfif::memes-> {snnh}{stbinding}) ```
``` or ( subpst (\$myli, \$lola[\$i], \$tws, \$Awfif::codelet-> {l} [\$myli] ) ) ```
``` ){ ```
``` ```
``` \$cws = \$Awfif::jhls-> {l} [\$lola[\$i]] ; ```
``` \$bdwso = \$Awfif::jhls-> {l} [\$lola[\$i]] ; ```
``` \$foundc = 't'; ```
``` };#if ```
``` };#if ```
``` };#for ```
```# then get the index into \$Awfif::attribs which describes the streams workspace id. ```
``` ```
``` if (\$foundc) { ```
```# switch to context workspace ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abdwso = awsoadr (\$bdwso); ```
```# The statement does have stream descriptions or the evaluator would not have called me ```
``` \$streamdscid = findtdesc (\$Awfif::wsol-> {l} [ \$abdwso] , \$Awfif::memes-> {snnh} {stream}); ```
``` \$streama = (\$Awfif::workspace-> {l} [\$streamdscid] - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$stream = \$Awfif::attribs-> {l} [\$streama+2]; ```
```# switch to binder complex workspace ```
``` \$Awfif::memes-> {currentwsbi} = \$tws; ```
``` if ( ifindb (\$myli, \$sponsor, \$strategy, \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) { ```
``` ```
``` my (\$i); ```
``` for (\$i = 0; \$i < \$sigcount; \$i++) { ```
``` if (\$lomatchs[\$i]) {# ```
```# unless this is an operon ```
``` ```
``` if ( (\$Awfif::jhls-> {l} [\$lola[\$i]] == \$Awfif::memes-> {snnh}{stbinding}) ```
``` or ( subpst (\$myli, \$lola[\$i], \$tws, \$Awfif::codelet-> {l} [\$myli] ) ) ```
``` ){ ```
``` ```
``` \$bdcwso = \$Awfif::jhls-> {l} [\$lola[\$i]] ; ```
``` };# ```
``` };#if ```
``` };#for ```
``` ```
```# deploy the descriptor pointing to the workspace start ```
``` ```
``` \$abdcwso = awsoadr (\$bdcwso); ```
``` \$Awfif::wsol-> {l} [\$abdcwso] ```
``` = setupdesc ( (\$stream + \$Awfif::memes-> {snnh} {wsi}), ```
``` (0 + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {wsposition}, ```
``` \$Awfif::wsol-> {l} [\$abdcwso] , ```
``` \$abdcwso); ```
```# and switch back to current context ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
```# stbindbpers1 ```
``` ```
``` if ((defined (\$persist) && (\$persist)) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  != 0) ```
``` ){#tidy up transaction state if going to persist state ```
``` ```
``` my (\$transtatus); ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$Awfif::codelet-> {l} [\$myli] , \\$\$transtatus); ```
``` };#if ```
``` if ((defined (\$persist) && (\$persist)) ```
``` ){ ```
``` ```
``` \$Awfif::memes-> {storetheds} = 't';#persist current state - will be performed by the coderack ```
``` \$Awfif::memes-> {storestop} = '';#don't stop after persist - dont write these two in the storetofiles ```
``` };#if ```
```# stbindbahu1 ```
``` ```
``` if ((defined (\$ihistone)) ```
``` && (findtdesc (\$Awfif::wsol-> {l} [\$abdcwso], \$Awfif::memes-> {snnh} {histone}) == 0) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$abdcwso] ```
``` = (\$histdesc = setupdesc ( (0 + \$Awfif::memes-> {snnh} {wsi}), ```
``` (0 + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {histone}, ```
``` \$Awfif::wsol-> {l} [\$abdcwso] , ```
``` \$abdcwso)); ```
``` \$Awfif::workspace-> {l} [\$histdesc]  += addhistone (\$myli, \$ihistone);#create a histone that the binder complex codelets can associate with ```
``` \$Awfif::histonel-> {l} [ (\$Awfif::workspace-> {l} [\$histdesc]  - \$Awfif::memes-> {snnh} {wsi})]  = 0; ```
``` &bindhistone (\$myli, \$tws, \$bdcwso); ```
``` };#if ```
``` ```
``` };#if ```
``` };#if ```
``` } ```
``` else {#report error 'impossible context situation' to statement codelet ```
``` my (\$stwso, \$astwso); ```
``` ```
``` if (\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr) != 0) { ```
``` ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( wsbasetype ( trwsoadr (\$Awfif::codelet-> {l} [\$myli],2)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::wsol-> {l} [\$astwso] , ```
``` \$astwso); ```
``` };#if ```
``` }; ```
``` if (\$Awfif::codelet-> {l} [\$myli]  != 0) { ```
``` ```
``` my (\$transtatus); ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$Awfif::codelet-> {l} [\$myli] , \\$\$transtatus); ```
``` };#if ```
``` };#got buffer ```
``` ```
```# and switch back to current context ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# ischbindbuilder1 ```
```# ```
```#<!-- end tag aso --> ```
```# ```
```sub slocevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$abcwso, \$sponsortype, \$cwsbi, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
```# start locator codelet responds to group complete providing application specific location support to the binder ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$lhdesc, \$lhwso); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset, undef(), undef(), undef(), 't') == 1) ```
``` ){#look for structural workspace position descriptor ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && ( (\$Awfif::workspace-> {l} [\$sldesc]  == (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
```# and check have not reached end of stream ```
``` ```
``` && (!findbond (\$Awfif::wsol-> {l} [ \$abcwso], 0, \$Awfif::memes-> {snnh} {stream}, \$Awfif::memes-> {snnh} {eos})) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` && (findtdesc (\$Awfif::wsol-> {l} [ \$abcwso ] , \$Awfif::memes-> {snnh} {appkwid}) == 0 ) #sloc builder writes this when it sets up the wsposition ```
```# or the application structural context head does not have a casinit ```
```# context is cws: bcwso ```
```# head is listhead-> lhdesc ```
``` ```
``` or ( (\$lhdesc = findtdesc (\$Awfif::wsol-> {l} [\$abcwso] , \$Awfif::memes-> {snnh} {listhead})) == 0 ) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
```# findtdesc on lhdesc fails to find casinit ```
``` or (\$lhdesc != 0 ) ```
``` && ((\$lhwso = (\$Awfif::workspace-> {l} [\$lhdesc] - \$Awfif::memes-> {snnh} {wsi})) != 0) ```
``` && ((\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$lhdesc] - \$Awfif::memes-> {snnh} {wsi})) != 0) ```
``` &&(!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$lhwso)] , \$Awfif::memes-> {snnh} {casinit}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {icompdevaluator})) ```
``` ) ```
``` ){#launch builder ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
```# slovevalubo4 ```
``` if ((ifindupri (\$myli, \$sponsor)) ```
```# slovevalubo2 ```
``` && (!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinit}, \$sponsortype))) ```
``` ){# ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] / \$Awfif::memes-> {pappbu}); ```
```# slovevalubo3 ```
``` &dropsalience (\$myli, \$sponsor); ```
``` }#if ```
``` else { ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` };#else ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "slocbuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(),undef(), "slocbuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
``` }#if ```
``` else { ```
```# slocevalubo1 ```
```# see if can recover or mask suppressor ```
``` ```
``` if (!promotesib (\$myli)) { ```
``` ```
``` &imasksupp (\$myli); ```
``` };#if ```
``` };#else ```
``` };#got buffer ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# slocevaluator1 ```
```# ```
```sub slocbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` if ((defined (\$kwp)) ```
``` && (\$kwp == 1) ```
``` ) { ```
``` print ("myli \$myli kwp(\$kwp) kwpr(\$kwpr) sactset(\$\$sactset) \n"); ```
``` };#if ```
``` ```
``` \$salience = \$Awfif::memes-> {bnotsalient}; ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# slocbsmodeler1 ```
```# ```
```sub slocbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$abcwso, \$abdwso, \$sponsortype, \$cwsbi, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
```# start locator codelet responds to group complete providing application specific location support to the binder ```
```# it is a cascade supporting codelet so it will re-enter until the phase it is sponsoring has completed ```
```# however, it should only set the location once ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` my (\$lhwso, \$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$dws, \$bcwso, \$bdwso, \$lhdesc); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ (\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && ( (\$Awfif::workspace-> {l} [\$sldesc]  == (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
```# and check have not reached end of stream ```
``` && (!findbond (\$Awfif::wsol-> {l} [ \$abcwso], 0, \$Awfif::memes-> {snnh} {stream}, \$Awfif::memes-> {snnh} {eos})) ```
```# and check have not had an unbind ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
```# or the application structural context head does not have a casinit ```
```# context is cws: bcwso ```
```# head is listhead-> lhdesc ```
``` ```
``` or ( (\$lhdesc = findtdesc (\$Awfif::wsol-> {l} [\$abcwso] , \$Awfif::memes-> {snnh} {listhead})) == 0 ) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
```# findtdesc on lhdesc fails to find casinit ```
``` or (\$lhdesc != 0 ) ```
``` && ((\$lhwso = (\$Awfif::workspace-> {l} [\$lhdesc] - \$Awfif::memes-> {snnh} {wsi})) != 0) ```
``` && ((\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$lhdesc] - \$Awfif::memes-> {snnh} {wsi})) != 0) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$lhwso)] , \$Awfif::memes-> {snnh} {casinit}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` ) ```
``` ){#identify start position ```
``` my (\$aws, \$awso, \$found, \$i); ```
``` ```
``` if (\$Awfif::workspace-> {l} [\$sldesc]  == (\$Awfif::memes-> {snnh} {wsi} + 0)) { ```
``` \$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$Awfif::memes-> {currentwsbi} = \$aws; ```
```# serially traverse the workspace looking for the start structure ```
``` ```
``` \$awso = \$Awfif::wsbl-> {wsft} [\$aws]; ```
``` \$found = ''; ```
``` for (\$i = \$awso; ((\$i != 0) && (!\$found)); \$i = trwsoadr (\$i,1)) { ```
```# now compare the wso's string if its a mkeywords with required types ```
``` ```
``` if (wsbasetype (\$i) == \$Awfif::memes-> {snnh} {mkeywords}) { ```
``` ```
``` \$found = matchitokwkw (\$myli, \$aws, \$i); ```
``` \$awso = \$i; ```
``` };#if ```
``` };#for ```
```# setup the wsposition descriptor ```
``` ```
``` if (\$found) { ```
``` ```
``` &bindhistone (\$myli, \$cws, \$bcwso); ```
``` \$Awfif::workspace-> {l} [\$sldesc]  = \$awso + \$Awfif::memes-> {snnh} {wsi}; ```
```# record the keyword so that other codelets can use it for context ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abcwso = awsoadr (\$bcwso); ```
``` \$Awfif::wsol-> {l} [\$abcwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$cws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$awso), ```
``` \$Awfif::memes-> {snnh} {appkwid}, ```
``` \$Awfif::wsol-> {l} [\$abcwso] , ```
``` \$abcwso); ```
``` my (\$sponsortype); ```
```# so should terminate the codelet sponsorship of the cascade ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ifindb (\$myli, \$sponsor, 'binderp1', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset); ```
```# obtain the binder structural ws ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$dws); ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` \$Awfif::memes-> {currentwsbi} = \$dws; ```
``` \$abdwso = awsoadr (\$bdwso); ```
``` ```
``` if ((!findbond (\$Awfif::wsol-> {l} [ \$abdwso], \$Awfif::memes-> {snnh} {casbound}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ){ ```
``` \$Awfif::wsol-> {l} [\$abdwso] ```
``` = setupdesc ( (\$sponsortype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {casbound}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$abdwso] , ```
``` \$abdwso); ```
```# slocbuildercatal ```
```# allow catalysis requests for the bound complex ```
``` \$Awfif::wsol-> {l} [\$abcwso] ```
``` = setupdesc ( (0), ```
``` (0), ```
``` \$Awfif::memes-> {snnh} {catalysis}, ```
``` \$Awfif::wsol-> {l} [\$abcwso] , ```
``` \$abcwso); ```
``` };#if ```
``` };#if ```
``` };#if start is still at zero ```
```# become the sponsor of the cascade opp's start ```
```# slocbuilderswcaso ```
```# The builder [mps] signals the nucleus <codelet 21 wso> <schema> [<wso 'string' from schema>] ```
``` my (\$giveup); ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` &ilaunchnc (\$myli, \$bcwso, 'casoppi', \$Awfif::memes-> {snnh} {casinopp}, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` '32,37', #mask out codelet-> {l}  i.e. {tfree} ```
``` undef (), #usetrans ```
``` undef (), #transid ```
``` undef (), #transtatus ```
``` undef (), #subprogram ```
``` undef (), #jhlabeli ```
``` undef (), #jhlabeloi ```
``` undef (), #newli ```
``` undef (), #hiurg ```
``` undef (), #usepooling ```
``` ( (ifindupri (\$myli, \$sponsor)) && (!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinit}, \$sponsortype))) )#buildoffurg ```
``` ); ```
```# now want to ungroup if don't find cascade in list in app str workspace list head ```
```# get the app str ws ```
``` ```
``` &initiateself (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinit}, \$sponsor); ```
``` if (\$Awfif::codelet-> {l} [\$myli]  != 0) { ```
``` ```
``` my (\$transtatus); ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$Awfif::codelet-> {l} [\$myli] , \\$\$transtatus); ```
``` };#if ```
``` }#if ```
``` else {#can't operate currently release the suppressor ```
```# slocbldubo1 ```
``` &imasksupp (\$myli); ```
``` };#else ```
``` } ```
``` else {#report error 'impossible context situation' to statement codelet ```
``` my (\$stwso, \$astwso); ```
``` ```
``` if (\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr) != 0) { ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( wsbasetype ( trwsoadr (\$Awfif::codelet-> {l} [\$myli],2)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::wsol-> {l} [\$astwso] , ```
``` \$astwso); ```
``` };#if ```
``` }; ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
```# and switch back to current context ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# slocbuilder1 ```
```# ```
```#<!-- end tag aso --> ```
```#<!-- end tag sca --> ```
```# ```
```sub slistkwevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$sponsortype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
``` my (\$cws, \$bcwso, \$cwsbi, \$launchev, \$fbinderc); ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$launchev = islistkwevaluator1 (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc); ```
``` if ((\$fbinderc > 0) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
```# slistkwetmstu1 ```
```# slistkwetfu ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
```# slistkwevalubo4 ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if ((ifindupri (\$myli, \$sponsor)) ```
```# slistkwevalubo2 ```
``` && ( !( (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype) ) ```
``` or ```
``` (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype) ) ) ) ```
``` ){# ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] / \$Awfif::memes-> {pappbu}); ```
```# sllistkwevalubo3 ```
``` &dropsalience (\$myli, \$sponsor); ```
``` }#if ```
``` else { ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` };#else ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "slistkwbuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), "slistkwbuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
``` }#if ```
```# slistkwevalubo1 ```
``` else { ```
``` ```
``` my (\$sponsortype, \$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` &ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset); ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` if ( ```
``` (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` && (!promotesib (\$myli)) ```
``` ){ ```
``` ```
``` &imasksupp (\$myli); ```
``` };#if ```
``` };#else ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (\$myli); ```
``` }# slistkwevaluator1 ```
```# ```
```sub islistkwevaluator1 { ```
``` my (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$kwp, \$kwpr, \$sactset, \$noswstype, \$fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface ```
``` my (\$sponsortype, \$usetrans, \$subpid, \$dolaunch); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$dolaunch = ''; ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$abcwso, \$cwsbi); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# start list codelet responds to group complete providing context for support of list processing ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (\$\$fbinderc = ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` my (\$count, \$descfits, \$conforms); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
```# slistkwetmstu1 ```
``` \$usetrans = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` &gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$usetrans, \\$subpid); ```
```# slistkwetfu ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$Awfif::memes-> {currentwsbi}], \$Awfif::wsbl-> {wsft} [\$Awfif::memes-> {currentwsbi}], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {list}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {begin} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
```# or the application structural context head does not have a casinopp ```
```# context is cws: bcwso ```
```# head is listhead-> lhdesc ```
```# findtdesc on lhdesc fails to find casinopp ```
``` ```
``` or (!( ```
``` (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype)) ```
``` or ```
``` (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype)) )) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` ){#launch builder ```
``` \$dolaunch = 't'; ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("islistkwevaluatorx ret (\$dolaunch)\n"); ```
``` }; ```
``` return \$dolaunch ```
``` }# islistkwevaluator1 ```
```# ```
```sub slistkwbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` ```
``` \$salience = ievalbsmodeler1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \\$\$and, 'islistkwevaluator'); ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# slistkwbsmodeler1 ```
```# ```
```sub slistkwbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$casinopp, \$schemafor, \$aws, \$catalysis, \$binderror, \$usetrans, \$transid, \$transtatus, \$stransmgrid, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# start list codelet responds to group complete providing context for support of list processing ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$dcws, \$bcwso, \$abcwso, \$pws, \$bpwso, \$abpwso, \$cwsbi, \$sponsortype); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$schemafor = wsbasetype (trwsoadr (\$Awfif::codelet-> {l} [\$myli] , 2)); ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` &bindhistone (\$myli, \$cws, \$bcwso); ```
``` my (\$i, \$count, \$descfits, \$conforms, \$subpid); ```
```# slistkwrlu1 ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderp1', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) >= 1) ```
``` ){# ```
``` ```
``` \$bpwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$pws); ```
``` \$Awfif::memes-> {currentwsbi} = \$pws; ```
``` \$abpwso = awsoadr (\$bpwso); ```
``` }; ```
```# now have the context workspace ```
```# slistkwbtmstu1 ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
```# slistkwbtfu ```
``` \$transid = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$stransmgrid = gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$transid, \\$subpid); ```
``` \$usetrans = \$transid; ```
``` if (\$transid == 0 ) { ```
``` ```
``` \$transid = undef(); ```
``` \$transtatus = \$Awfif::memes-> {snnh} {transid}; ```
``` }#if ```
``` else { ```
``` ```
``` \$transtatus = \$Awfif::memes-> {snnh} {cassponsor};#unless shift to wascassponsor ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {cassponsor}, undef(), \$transid, \\$transtatus); ```
``` };#else ```
``` ```
```# The start list is expecting the workspace position to be pointing at a list start wso ```
``` if ( (( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ (\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$Awfif::memes-> {currentwsbi}], \$Awfif::wsbl-> {wsft} [\$Awfif::memes-> {currentwsbi}], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {list}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {begin} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ) ```
``` or (!(\$casinopp = ```
``` ((hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype)) ```
``` or ```
``` ((hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype))) ```
``` ) ```
``` ) ```
``` ) #or ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` ){#have identified this is a start list so tailor it to the application's particular meta requirements ```
``` ```
```# slistkwbtrsal1 ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((!defined(\$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] )) or (\$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  == \$Awfif::memes-> {snnh} {start}) ) ```
``` ) { ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {incomplete}; ```
``` };#if ```
``` if (\$count > 0) { ```
```# slistkwbspu1 ```
``` ```
``` my (\$amkrwso, \$binding); ```
``` if ((defined (\$Awfif::codelet-> {l} [\$myli] )) && (\$Awfif::codelet-> {l} [\$myli]  != 0) ){ ```
``` \$binding = \$Awfif::memes-> {snnh} {subpstbinding}; ```
``` }#if ```
``` else { ```
``` \$binding = \$Awfif::memes-> {snnh} {stbinding}; ```
``` };#else ```
``` &inewlist (\$myli, \$cws, \$bcwso, \$sponsor, \$sldesc, \\$grkwp, \$grkwpr, \$binding, \\$amkrwso); ```
```# ```
```# check what the list can contain and describe the can contain info ```
``` my (\$ws, \$wsoid, @contained, \$ccount, \$dcatalysis); ```
``` ```
``` \$ws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$wsoid = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` @contained = getcontainedkwi (\$myli, \$ws, \$wsoid, \\$ccount); ```
```# describe each item contained in the <mkeywordref> wso ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` for (\$i = 0; \$i < \$ccount; \$i++) { ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$ws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$contained [\$i]), ```
``` \$Awfif::memes-> {snnh} {cancontain}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
``` };#for ```
```# terminate the sponsorship of casinit ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$sponsortype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {casinit}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
```# slistkwrlu2 ```
```# report the presence of the list development to program sponsor ```
``` ```
``` \$Awfif::wsol-> {l} [\$abpwso] ```
``` = setupdesc ( (\$cws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$bcwso), ```
``` \$Awfif::memes-> {snnh} {slistkwevaluator}, ```
``` \$Awfif::wsol-> {l} [\$abpwso] , ```
``` \$abpwso); ```
``` \$catalysis = grabcodelet (\$myli, \$sldesc, \$cws, \$abcwso); ```
```# slistkwncu1 ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if (!inamecapture (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \$sponsor, '', \\$dcatalysis, \\$binderror, \\$dcws)) { ```
```# move the workspace position ```
``` ```
``` &movecomplex (\$myli, \$sldesc, 1, \$abcwso); ```
``` };#if ```
```# slistkwtceu1 ```
```# now go past any ignore chars ```
``` &iskipw (\$myli, \$sldesc, \$cws, \$aws, \$abcwso); ```
``` };#if count > 0 ```
```# become the sponsor of the cascade opp's start ```
```# slistkwbuilderswcaso ```
```# The builder [mps] signals the nucleus <codelet 21 wso> <schema> [<wso 'string' from schema>] ```
``` my (\$giveup); ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
```# slistkwbuunb ```
``` ```
``` if( ((defined (\$transid)) && (\$transtatus != \$Awfif::memes-> {snnh} {completed})) #must continue the transaction ```
``` or ( (!\$casinopp) ```
``` && (!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype))) ) ```
``` ){#sponsor more of self ```
```# slistkwbtfu2 ```
``` ```
``` &ilaunchnc (\$myli, \$bcwso, 'casoppi', \$Awfif::memes-> {snnh} {casinsopp}, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` 32, #mask out codelet-> {l}  i.e. {tfree} ```
``` \$usetrans, ```
``` \\$transid, ```
``` \\$transtatus, ```
``` undef (), #subprogram ```
``` undef (), #jhlabeli ```
``` undef (), #jhlabeloi ```
``` undef (), #newli ```
``` undef (), #hiurg ```
``` undef (), #usepooling ```
``` ( (ifindupri (\$myli, \$sponsor)) && (!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinit}, \$sponsortype))) )#buildoffurg ```
``` ); ```
``` if ((\$usetrans == 0) && (defined (\$transid) && ( (\$transtatus == \$Awfif::memes-> {snnh} {completed}) or (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}))) ){#record the transid ```
```# slistkwbtmstu2 ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \$transid, 0, \$stransmgrid); ```
``` };#if ```
```# can't free until loose sponsorship ```
``` ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{cassponsor}, undef (), \\$transid, \\$transtatus); ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),'t');# sponsor should be one after telomeric header ```
``` }#if ```
``` else { ```
```# must free once loose sponsorship ```
``` ```
``` if ( (defined (\$usetrans)) ){ ```
``` ```
``` \$transtatus = \$Awfif::memes-> {snnh}{wascassponsor}; ```
``` };#if ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{wascassponsor}, undef (), \\$transid, \\$transtatus); ```
``` if( (defined (\$transid)) && (\$transtatus == \$Awfif::memes-> {snnh} {deleted}) #must mask the transaction id ```
``` ){ ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, 0, 0, \$stransmgrid); ```
``` };#if ```
```# slistkwbtrsal2 ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ) { ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {completed}; ```
``` };#if ```
``` };#else ```
``` }#if ```
```# slistkwbldubo1 ```
``` else { ```
``` &imasksupp (\$myli); ```
``` };#else ```
``` } ```
``` else {#report error 'impossible context situation' to statement codelet ```
``` my (\$stwso, \$astwso); ```
``` ```
``` if (\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr) != 0) { ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( wsbasetype ( trwsoadr (\$Awfif::codelet-> {l} [\$myli],2)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::wsol-> {l} [\$astwso] , ```
``` \$astwso); ```
``` };#if ```
``` }; ```
``` if (\$catalysis) { ```
``` ```
``` &applycodelet (\$myli, \$sldesc, \$cws, \$abcwso, \\$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
```# slistkwbtmstu3 ```
``` &clogstatx (\$myli); ```
``` }# slistkwbuilder1 ```
```# ```
```sub namestevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
``` my (\$cwsbi, \$launchev, \$fbinderc); ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$launchev = inamestevaluator1 (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc); ```
``` if ((\$fbinderc > 0) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "namestbuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), "namestbuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` }#if ```
```# namestevalubo1 ```
``` else { ```
``` if (!promotesib (\$myli)) { ```
``` ```
``` &imasksupp (\$myli); ```
``` };#if ```
``` };#else ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# namestevaluator1 ```
```# ```
```sub inamestevaluator1 { ```
``` my (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$kwp, \$kwpr, \$sactset, \$noswstype, \$fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface ```
``` my (\$dolaunch); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$dolaunch = ''; ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bdwso, \$cwsbi, \$aws); ```
```# iname structure codelet responds to group complete providing processing of name structures ```
``` ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (\$\$fbinderc = ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` my (\$count, \$descfits, \$conforms); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {name}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {start} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){#launch builder ```
``` \$dolaunch = 't'; ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("inamestevaluatorx ret (\$dolaunch)\n"); ```
``` }; ```
``` return \$dolaunch ```
``` }# inamestevaluator1 ```
```# ```
```sub namestbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` ```
``` \$salience = ievalbsmodeler1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \\$\$and, 'inamestevaluator'); ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# namestbsmodeler1 ```
```# ```
```sub namestbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$catalysis, \$cwsbi, \$binderror, \$sldesc, \$cws, \$abdwso, \$bcwso, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# name structure codelet responds to group complete providing processing of name structures ```
```# checked for merged workspaces ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` \$bcwso = 0;#define so that it will be setup in inamecapture ```
``` if ((inamecapture (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \$sponsor, 't', \\$catalysis, \\$binderror, \\$cws, \\$bcwso)) ```
``` && (!\$binderror) ```
``` ){ ```
``` ```
``` &bindhistone (\$myli, \$cws, \$bcwso); ```
``` }#if ```
```# namestbldubo1 ```
``` elsif (!\$binderror) { ```
``` &imasksupp (\$myli); ```
``` }#elsif ```
``` else {#report error 'impossible context situation' to statement codelet ```
``` my (\$stwso, \$astwso); ```
``` ```
``` if (\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr) != 0) { ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( wsbasetype ( trwsoadr (\$Awfif::codelet-> {l} [\$myli],2)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::wsol-> {l} [\$astwso] , ```
``` \$astwso); ```
``` };#if ```
``` };#else ```
``` if (\$catalysis) { ```
``` ```
``` &applycodelet (\$myli, \$sldesc, \$cws, \$abdwso, \\$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
``` };#got buffer ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# namestbuilder1 ```
```# ```
```#<!-- start tag ds -resweb --> ```
```# ```
```sub inamecapture { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$sponsor, \$usecatalysis, \$catalysis, \$binderror, \$cws, \$bcwso) = @_; ```
``` my (\$schemafor, \$nameprocessed); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$bdwso, \$abdwso, \$cwsbi, \$handlestop); ```
``` \$nameprocessed = ''; ```
``` \$handlestop = 't'; ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$schemafor = wsbasetype (trwsoadr (\$Awfif::codelet-> {l} [\$myli] , 2)); ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
```# &updatelog (\$myli,'ae', 5, \$file); ```
``` ```
``` \$\$binderror = ''; ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$\$cws); ```
``` my (\$count, \$descfits, \$conforms, \$aws); ```
```# now have the context workspace ```
``` \$Awfif::memes-> {currentwsbi} = \$\$cws; ```
``` ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) != 0 ) ```
``` && ((\$aws = \$Awfif::memes-> {currentwsbi}) != 0) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {name}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {start} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
```# check that the current wso is allowed in this context according to the record head can contains ```
``` && (kwmccon (\$\$cws, \$Awfif::wsbl-> {wsoh}[\$\$cws], \$aws, (\$Awfif::workspace-> {l} [\$sldesc] - \$Awfif::memes-> {snnh}{wsi}))) ```
``` ){#have identified this is a name structure so find the name and record it ```
``` \$nameprocessed = 't'; ```
``` if ( ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {record} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){#this is a record so it has a completion procedure ```
``` \$handlestop = ''; ```
``` }; #check if must handle the stop structure ```
``` ```
``` my (\$stnws, \$stnwsoid, \$stname, \$mkrwso, \$amkrwso); ```
``` if (\$usecatalysis) { ```
``` \$Awfif::memes-> {currentwsbi} = \$\$cws; ```
``` \$abdwso = awsoadr (\$bdwso); ```
``` \$\$catalysis = grabcodelet (\$myli, \$sldesc, \$\$cws, \$abdwso); ```
``` };#if ```
```# get data from quote pair ```
``` \$stname = getnamefqpair (\$myli, \$sldesc, \\$stnws, \\$stnwsoid); ```
```# deploy the name descriptor in the <mkwordref> wso ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$\$cws; ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$\$cws]; ```
``` \$amkrwso = awsoadr (\$mkrwso); ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$stnws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$stnwsoid), ```
``` \$Awfif::memes-> {snnh} {stname}, #name refers to the wso name used to support wso life cycle ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$amkrwso] ]  = \$stname;- 7 are used in strength ```
```# check if handle stop structure ```
``` if (\$handlestop) { ```
``` ```
``` my (\$finished); ```
``` \$finished = ''; ```
``` while (!\$finished) { ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$\$cws; ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$\$cws], \$Awfif::wsbl-> {wsft} [\$\$cws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {name}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {stop} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){#have identified this is a name structure so find the name and record it ```
``` ```
``` \$finished = 't'; ```
``` &movecomplex (\$myli, \$sldesc, 1, \$abdwso); ```
``` }# if ```
``` else { ```
``` ```
``` if (movecomplex (\$myli, \$sldesc, 1, \$abdwso) == 0 ) { ```
``` ```
``` \$finished = 't'; ```
``` };#if ```
``` };#else ```
``` };#while ```
``` }# if ```
``` else { ```
```# move the workspace position ```
``` ```
``` &movecomplex (\$myli, \$sldesc, 1, \$abdwso); ```
``` };# else ```
```# namesttceu1 ```
```# now go past any ignore chars ```
``` ```
``` &iskipw (\$myli, \$sldesc, \$\$cws, \$aws, \$abdwso); ```
``` }#if ```
``` else { ```
``` ```
``` \$nameprocessed = ''; ```
``` };#else ```
``` }#if ```
``` else { ```
``` ```
``` \$\$binderror = 't'; ```
``` }; ```
``` if (defined (\$\$bcwso) ){ ```
``` ```
``` \$\$bcwso = \$bdwso; ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` return \$nameprocessed ```
``` }# inamecapture ```
```# ```
```#<!-- end tag ds --> ```
```# ```
```sub skipwsoevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$noswstype = ''; ```
``` my (\$cwsbi, \$launchev, \$fbinderc); ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$launchev = iskipwsoevaluator1 (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc); ```
``` if ((\$fbinderc > 0) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "skipwsobuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), "skipwsobuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` }#if ```
```# skipwsoevalubo1 ```
``` else { ```
``` &imasksupp (\$myli); ```
``` };#else ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# skipwsoevaluator1 ```
```# ```
```sub iskipwsoevaluator1 { ```
``` my (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$kwp, \$kwpr, \$sactset, \$noswstype, \$fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface ```
``` my (\$sponsortype, \$dolaunch); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$dolaunch = ''; ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bdwso, \$cwsbi, \$schemafor, \$aws); ```
```# skip wso codelet responds to group complete providing advancement along the adjacent wsos ```
``` ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$schemafor = wsbasetype (trwsoadr (\$Awfif::codelet-> {l} [\$myli] , 2)); ```
``` if ( (\$\$fbinderc = ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` my (\$count, \$descfits, \$conforms); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && (( (wsbasetype(\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) == \$Awfif::memes-> {snnh} {ichar} ) ```
``` or ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$schemafor )==0)) ) ```
``` ){#launch builder ```
``` \$dolaunch = 't'; ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("iskipwsoevaluatorx ret (\$dolaunch)\n"); ```
``` }; ```
``` return \$dolaunch ```
``` }# iskipwsoevaluator1 ```
```# ```
```sub skipwsobsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` ```
``` \$salience = ievalbsmodeler1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \\$\$and, 'iskipwsoevaluator'); ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# skipwsobsmodeler1 ```
```# ```
```sub skipwsobuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# skipwso codelet responds to group complete providing advancement along the application wso chain ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3, 't')) { ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bdwso, \$abdwso, \$cwsbi, \$schemafor, \$aws); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$schemafor = wsbasetype (trwsoadr (\$Awfif::codelet-> {l} [\$myli] , 2)); ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` my (\$count, \$descfits, \$conforms); ```
```# now have the context workspace ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` ```
```# The skipwso is expecting the workspace position to be pointing at an ignore char wso ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && (( (wsbasetype(\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) == \$Awfif::memes-> {snnh} {ichar} ) ```
``` or ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$schemafor )==0)) ) ```
``` ){#have identified this is an ignore char so move past it ```
``` ```
```# move the workspace position ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` &movecomplex (\$myli, \$sldesc, 1, awsoadr (\$bdwso)); ```
``` &iskipw (\$myli, \$sldesc, \$cws, \$aws, \$abdwso); ```
```# skipwsotrsal1 ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ) { ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {completed}; ```
``` };#if ```
``` };#if ```
``` } ```
``` else {#report error 'impossible context situation' to statement codelet ```
``` my (\$stwso, \$astwso); ```
``` ```
``` if (\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr) != 0) { ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( wsbasetype ( trwsoadr (\$Awfif::codelet-> {l} [\$myli],2)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::wsol-> {l} [\$astwso] , ```
``` \$astwso); ```
``` };#if ```
```# skipwsobldubo1 ```
``` &imasksupp (\$myli); ```
``` }; ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# skipwsobuilder1 ```
```# ```
```sub srcdkwevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$sponsortype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
``` my (\$cws, \$bcwso, \$cwsbi, \$launchev, \$fbinderc); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# start record codelet responds to group complete providing entry to a record structured wso ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$launchev = isrcdkwevaluator1 (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc); ```
``` if ((\$fbinderc > 0) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
```# srcdkwevalubo4 ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if ((ifindupri (\$myli, \$sponsor)) ```
```# srcdkwevalubo2 ```
``` && ( (!hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype)) ```
``` && ( (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {cascompsopp}, \$sponsortype)) ```
``` )) ```
``` or ((hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype)) ```
``` && ( (!hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype)) ```
``` ))#or ```
``` ){# ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] / \$Awfif::memes-> {pappbu}); ```
```# srcdkwevalubo3 ```
``` &dropsalience (\$myli, \$sponsor); ```
``` }#if ```
``` else { ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` };#else ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "srcdkwbuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), "srcdkwbuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` }#if ```
```# srcdkwevalubo1 ```
``` else { ```
``` ```
``` my (\$sponsortype, \$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` &ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset); ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` ```
``` if ( ```
``` (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {icompdevaluator})) ```
``` && (!promotesib (\$myli)) ```
``` ){ ```
``` ```
``` &imasksupp (\$myli); ```
``` };#if ```
``` };#else ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# srcdkwevaluator1 ```
```# ```
```sub isrcdkwevaluator1 { ```
``` my (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$kwp, \$kwpr, \$sactset, \$noswstype, \$fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface ```
``` my (\$sponsortype, \$usetrans, \$subpid, \$dolaunch); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$dolaunch = ''; ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$abcwso, \$cwsbi, \$aws); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# start record codelet responds to group complete providing entry to a record structured wso ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (\$\$fbinderc = ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` my (\$count, \$descfits, \$conforms); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
```# srcdwetmstu1 ```
``` \$usetrans = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` &gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$usetrans, \\$subpid); ```
```# srcdkwetfu ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {record}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {start} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` or ( (!hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype)) ```
``` && ( (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {cascompsopp}, \$sponsortype)) ```
``` )) ```
``` or ((hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype)) ```
``` && ( (!hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype)) ```
``` ))#or ```
```# srcdkwetfu2 ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` ){#launch builder ```
``` \$dolaunch = 't'; ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("isrcdkwevaluatorx ret (\$dolaunch)\n"); ```
``` }; ```
``` return \$dolaunch ```
``` }# isrcdkwevaluator1 ```
```# ```
```sub srcdkwbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` ```
``` \$salience = ievalbsmodeler1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \\$\$and, 'isrcdkwevaluator'); ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# srcdkwbsmodeler1 ```
```# ```
```sub srcdkwbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$sponsortype, \$casinsopp, \$casinopp, \$cascompsopp, \$schemafor, \$catalysis, \$usetrans, \$transid, \$transtatus, \$stransmgrid, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# start record codelet is part of list cascade providing record access for support of list processing ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$abcwso, \$cwsbi, \$slhdesc, \$slldesc); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$schemafor = wsbasetype (trwsoadr (\$Awfif::codelet-> {l} [\$myli] , 2)); ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` &bindhistone (\$myli, \$cws, \$bcwso); ```
``` my (\$i, \$count, \$descfits, \$conforms, \$aws, \$subpid); ```
```# srcdkwbtmstu1 ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$transid = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$stransmgrid = gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$transid, \\$subpid); ```
``` \$usetrans = \$transid; ```
``` if (\$transid == 0 ) { ```
``` ```
``` \$transid = undef(); ```
``` \$transtatus = \$Awfif::memes-> {snnh} {transid}; ```
``` }#if ```
``` else { ```
``` ```
``` \$transtatus = \$Awfif::memes-> {snnh} {cassponsor};#unless shift to wascassponsor ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {cassponsor}, undef(), \$transid, \\$transtatus); ```
``` };#else ```
```# srcdkwbtfu ```
```# now have the context workspace ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$casinopp = ''; ```
``` \$casinsopp = ''; ```
``` \$cascompsopp = ''; ```
```# srcdbipwsifsar1 ```
``` ```
```# The start record is expecting the workspace position to be pointing at a record start wso ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ (\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) != 0 ) ```
``` && ((\$aws = \$Awfif::memes-> {currentwsbi}) != 0) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {record}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {start} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
```# srcdbswcassou1 ```
``` or ( ```
``` ( ```
``` (!(\$casinopp = hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype))) ```
``` && (\$cascompsopp = hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {cascompsopp}, \$sponsortype)) ```
``` ) ```
``` ) ```
``` or ( ```
``` (\$casinopp = hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype)) ```
``` && (!(\$casinsopp = hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype))) ```
``` ) ```
```# srcdkwbtfu2 ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` ){#have identified this is a start record so tailor it to the application's particular meta requirements ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abcwso = awsoadr (\$bcwso); ```
```# checks the list start list for a head reference. ```
``` if ( ( (\$slhdesc = findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {listhead})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` ){#have identified there is a list head get the associated list link ```
``` ```
``` \$slldesc = findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {listlink}); ```
``` }# if head exists ```
``` else {# error ```
``` ```
``` };#else ```
```# srcdbcwsoau1 ```
```# check that the current wso is allowed in this context according to the record head can contains ```
``` ```
``` if ( (\$count > 0) ```
``` && (kwmccon (\$cws, \$Awfif::wsbl-> {wsoh}[\$cws], \$aws, (\$Awfif::workspace-> {l} [\$sldesc] - \$Awfif::memes-> {snnh}{wsi})) ) ```
``` ) { ```
```# ```
```# srcdkwbspu1 ```
``` my (\$amkrwso, \$binding); ```
``` if ((defined (\$Awfif::codelet-> {l} [\$myli] )) && (\$Awfif::codelet-> {l} [\$myli]  != 0) ){ ```
``` \$binding = \$Awfif::memes-> {snnh} {subpstbinding}; ```
``` }#if ```
``` else { ```
``` \$binding = \$Awfif::memes-> {snnh} {stbinding}; ```
``` };#else ```
``` &inewrcd (\$myli, \$cws, \$bcwso, \$sponsor, \$sldesc, \$slhdesc, \\$grkwp, \$grkwpr, \$binding, \\$amkrwso); ```
```# cancdcwso1 ```
```# check what the record can contain and describe the can contain info ```
``` my (\$ws, \$wsoid, @contained, \$ccount); ```
``` ```
``` \$ws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$wsoid = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` @contained = getcontainedkwi (\$myli, \$ws, \$wsoid, \\$ccount); ```
```# describe each item contained in the <mkeywordref> wso ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` for (\$i = 0; \$i < \$ccount; \$i++) { ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$ws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$contained [\$i]), ```
``` \$Awfif::memes-> {snnh} {cancontain}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
``` };#for ```
```# srcdbinoppu ```
```# deploys a model-(sponsortype)-> casinopp descriptor to take over schematic sponsorship from startlist kw ```
```# terminate the sponsorship of casinopp ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$sponsortype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {casinopp}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
``` \$casinopp = 't'; ```
```# signals sponsorship of the sub operation cascade ```
``` \$catalysis = grabcodelet (\$myli, \$sldesc, \$cws, \$abcwso); ```
```# move the workspace position ```
``` ```
``` &movecomplex (\$myli, \$sldesc, 1, \$abcwso); ```
```# srcdkwtceu1 ```
```# now go past any ignore chars ```
``` &iskipw (\$myli, \$sldesc, \$cws, \$aws, \$abcwso); ```
``` };#if count > 0 and relationship ok ```
``` };# if ```
```# become the sponsor of the cascade subopp's start ```
```# srcdbswcassou2 ```
```# The builder [mps] signals the nucleus <codelet 21 wso> <schema> [<wso 'string' from schema>] ```
``` my (\$giveup); ```
```# srcdkwbtfu3 ```
``` ```
``` if( ((defined (\$transid)) && (\$transtatus != \$Awfif::memes-> {snnh} {completed})) #must continue the transaction ```
``` or ((!\$casinopp) && (\$cascompsopp)) ```
``` or ((\$casinopp) && (!\$casinsopp)) ```
``` ) {#sponsor more of self ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` &ilaunchnc (\$myli, \$bcwso, 'casoppi', \$Awfif::memes-> {snnh} {cascompsopp}, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` 32, #mask out codelet-> {l}  i.e. {tfree} ```
``` \$usetrans, ```
``` \\$transid, ```
``` \\$transtatus, ```
``` undef (), #subprogram ```
``` undef (), #jhlabeli ```
``` undef (), #jhlabeloi ```
``` undef (), #newli ```
``` undef (), #hiurg ```
``` undef (), #usepooling ```
``` ( (ifindupri (\$myli, \$sponsor)) && (!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinit}, \$sponsortype))) )#buildoffurg ```
``` ); ```
``` if ((\$usetrans == 0) && (defined (\$transid) && ( (\$transtatus == \$Awfif::memes-> {snnh} {completed}) or (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}))) ){#record the transid ```
```# srcdkwbtmstu2 ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \$transid, 0, \$stransmgrid); ```
``` };#if ```
```# srcdbtfu ```
```# srcdkwbtfu4 ```
```# can't free until loose sponsorship ```
``` ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{cassponsor}, undef (), \\$transid, \\$transtatus); ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),'t');# sponsor should be one after telomeric header ```
``` &icskick (\$Awfif::codelet-> {l} [\$myli] ); ```
``` }#if ```
``` else { ```
```# must free once loose sponsorship ```
```# srcdkwbtfu5 ```
``` ```
``` if ( (defined (\$usetrans)) ){ ```
``` ```
``` \$transtatus = \$Awfif::memes-> {snnh}{wascassponsor}; ```
``` };#if ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{wascassponsor}, undef (), \\$transid, \\$transtatus); ```
``` if( (defined (\$transid)) && (\$transtatus == \$Awfif::memes-> {snnh} {deleted}) #must mask the transaction id ```
``` ){ ```
``` ```
``` &maskcounter (\$Awfif::memes-> {snnh} {transid}, \$asponsor, \$transid, 0); ```
``` };#if ```
``` };#else ```
``` }# if is start record ```
``` else {#report error 'impossible context situation' to statement codelet ```
``` my (\$stwso, \$astwso); ```
``` ```
``` if (\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr) != 0) { ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( wsbasetype ( trwsoadr (\$Awfif::codelet-> {l} [\$myli],2)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::wsol-> {l} [\$astwso] , ```
``` \$astwso); ```
``` };#if ```
```# srcdkwbldubo1 ```
``` &imasksupp (\$myli); ```
``` }; ```
``` if (\$catalysis) { ```
``` ```
``` &applycodelet (\$myli, \$sldesc, \$cws, \$abcwso, \\$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (\$myli); ```
``` }# srcdkwbuilder1 ```
```# ```
```sub seltstevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
```# ```
```# checked for merged workspaces ```
``` ```
``` &ivalevaluator1 (\$myli, \$kwp, \$kwpr, \@\$sactset, 'seltstbuilder', \$Awfif::memes-> {snnh} {value}); ```
``` ```
``` &clogstatx (); ```
``` }# seltstevaluator1 ```
```# ```
```sub seltstbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` ```
``` \$salience = ievalbsmodeler1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \\$\$and, 'iivalevaluator', \$Awfif::memes-> {snnh} {value}); ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# seltstbsmodeler1 ```
```# ```
```#sub seltstbuilder1 {#The ignored parameters are required by the codelet calling architecture ```
```#<!-- start tag aso --> ```
```#<!-- start tag ds -resweb --> ```
```#<!-- start tag sia --> ```
```#<!-- start tag scc --> ```
```sub ivalbuilder1 { ```
``` my (\$myli, \$valid, \$token, \$kwp, \$kwpr, \$sactset) = @_; ```
``` my (\$sponsor, \$sponsortype, \$signal, \$schema, \$swstype, ```
``` \$noswstype, \$catalysis, \$usetrans, \$transid, \$transtatus, \$mtranstatus, ```
``` \$cwsposition, \$acwsposition, \$dontrep35, \$subpid, \$stransmgrid, \$tmatchedwso, ```
``` \$atelhwso, \$usedngc, \$depsubs, \$dospigrabamp, \$spigtransid, \$jhlabeli, ```
``` \$jhlabeliav, \$jhlabeloi, \$mytransid, \$reportcaspart, \$termdesc, \$histdesc, \$clearedcomps, \$dongc, ```
``` \$in221, \$in2220, \$in2301, \$in2310, \$in2311, \$in232, \$in2330, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
``` my (\$count, \$wcompdesc, \$didgrab, \$grabdesc, \$csubpid, \$descfits, \$conforms, \$reportdesc, \$arunningwso, \$aws); ```
``` my (@subpl, @csubpl); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# value structure codelet responds to group complete providing processing of selector and value structures ```
```# this requires frame shifting, and initiation of sub-codelets to enter the frame shifted wso structure ```
``` \$noswstype = ''; ```
``` \$dontrep35 = ''; ```
``` \$dospigrabamp = ''; ```
``` \$usedngc = ''; ```
``` \$depsubs = ''; ```
``` \$reportcaspart = ''; ```
``` \$clearedcomps = '';#will be set to t if entered the complete transaction clearup ```
``` \$mytransid = \$Awfif::codelet-> {l}[\$myli]; ```
``` \$jhlabeliav = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 4) ```
``` ){ ```
``` ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bdwso, \$abdwso, \$cwsbi, \$slhdesc, \$slldesc, \$handlestop, \$signalsubp, \$noget); ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (\$Awfif::memes-> {checktransidnz}) ```
``` && (\$Awfif::codelet-> {l} [\$myli] > 0) ```
``` && (\$mytransid == 0) ```
``` && (!mysubtrancomp (\$myli, findsubpicnm (\$myli, \$Awfif::codelet-> {l}[\$myli], \$Awfif::codelet-> {l}[\$myli]), \$Awfif::codelet-> {l}[\$myli])) ```
``` ){ ```
``` ```
``` &break (); ```
``` };#if ```
``` if ((\$Awfif::memes-> {valbsubpbreak}) && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` ```
``` if ( (defined (\$Awfif::memes-> {valbsubpspbreak})) ```
``` && (\$Awfif::memes-> {valbsubpspbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ((\$Awfif::memes-> {valbmainpbreak}) && (\$Awfif::codelet-> {l} [\$myli]  == 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` ```
``` \$handlestop = 't'; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` \$atelhwso = awsoadr (trwsoadr (\$sponsor, -1)); ```
``` ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` \$histdesc = bindhistone (\$myli, \$cws, \$bdwso); ```
``` my (\$i); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abdwso = awsoadr (\$bdwso); ```
```# record the current wsposition ```
``` \$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition}); ```
``` \$cwsposition = &movecomplex (\$myli, \$sldesc, 0, \$abdwso); ```
``` \$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes->{snnh}{wsi}); ```
``` \$acwsposition = awsoadr (\$cwsposition); ```
```# now have the context workspace ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
```# ivalwwcf1u1 ```
```# handle wascompletingf1 descriptor ```
``` ```
``` @subpl = listunmsubp (\$myli, \$abdwso); ```
``` if ( (\$Awfif::memes-> {usewcf1d}) ```
``` && (\$subpl  == 0) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((\$wcompdesc = findtdesc (\$Awfif::wsol-> {l} [ \$abdwso] , \$Awfif::memes-> {snnh} {wascompletingf1}, \$Awfif::codelet-> {l} [\$myli]  )) != 0) ```
``` ){ ```
``` ```
``` if ( (\$Awfif::memes-> {valbsubpnspwcbreak}) ```
``` ){ ```
``` ```
``` &break ()}; ```
``` ```
``` \$Awfif::workspace-> {l} [\$wcompdesc]--;#make it a completingf1 ```
``` \$Awfif::wsol-> {l} [\$abdwso] #now force the waitondesc to complete ```
``` = inccounter ( \$Awfif::codelet-> {l} [\$myli] , #pltype ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::codelet-> {l} [\$myli] ), #pto ```
``` \$Awfif::memes-> {snnh} {completingf1}, #from ```
``` \$Awfif::wsol-> {l} [\$abdwso] ,#dlinkh ```
``` \$abdwso,#awso ```
``` 't',#synccod ```
``` \$Awfif::codelet-> {l} [\$myli] ,#sltype ```
``` \$Awfif::codelet-> {l} [\$myli] );#spto ```
``` };#if ```
``` ```
``` if ( (\$Awfif::memes-> {usewcf1d}) ```
``` && (\$subpl  == 1) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((\$wcompdesc = findtdesc (\$Awfif::wsol-> {l} [ \$abdwso] , \$Awfif::memes-> {snnh} {wascompletingf1}, \$subpl [ \$subpl  ] )) != 0) ```
``` ){ ```
``` ```
``` if ( (\$Awfif::memes-> {valbsubpnspwcbreak}) ```
``` ){ ```
``` ```
``` &break ()}; ```
``` ```
``` \$Awfif::workspace-> {l} [\$wcompdesc]--;#make it a completingf1 ```
``` \$Awfif::wsol-> {l} [\$abdwso] #now force the waitondesc to complete ```
``` = inccounter ( \$subpl [ \$subpl  ], #pltype ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$subpl [ \$subpl  ]), #pto ```
``` \$Awfif::memes-> {snnh} {completingf1}, #from ```
``` \$Awfif::wsol-> {l} [\$abdwso] ,#dlinkh ```
``` \$abdwso,#awso ```
``` 't',#synccod ```
``` \$subpl [ \$subpl  ],#sltype ```
``` \$subpl [ \$subpl  ]);#spto ```
``` };#if ```
```# ivalwwcf1u3 ```
```# handle initgw descriptor at end of subprogram workspace ```
``` ```
``` if ( (\$Awfif::memes-> {usewcf1d}) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((findtdesc (\$Awfif::wsol-> {l} [ \$abdwso] , \$Awfif::memes-> {snnh} {initgw}, \$Awfif::codelet-> {l} [\$myli]  )) != 0) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ((\$termdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abdwso)] , \$Awfif::memes-> {snnh} {subprogram}, (\$Awfif::memes-> {snnh} {stop}))) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$termdesc]  == \$Awfif::workspace-> {l} [\$sldesc] ) ```
``` && ((findtdesc (\$Awfif::wsol-> {l} [ \$abdwso] , \$Awfif::memes-> {snnh} {wascompletingf1}, \$Awfif::codelet-> {l} [\$myli]  )) == 0) ```
``` && ((findtdesc (\$Awfif::wsol-> {l} [ \$abdwso] , \$Awfif::memes-> {snnh} {completingf1}, \$Awfif::codelet-> {l} [\$myli]  )) == 0) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$abdwso] ```
``` = setupdesc ( \$Awfif::codelet-> {l}[\$myli], ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::codelet-> {l}[\$myli]), # ```
``` \$Awfif::memes-> {snnh} {wascompletingf1}, ```
``` \$Awfif::wsol-> {l} [\$abdwso] , ```
``` \$abdwso); ```
```# make it an iterator ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$abdwso]]  = \$Awfif::memes-> {snnh} {iterator}; ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$abdwso]]  = (\$Awfif::memes-> {snnh} {wsi} + 1); ```
``` };#if ```
```# process grab if ivalw have noted they have run ```
```# ivalwgrabu2 ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$jhlabeliav = ''; ```
``` if ( ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abdwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 )#report that codelet has run allowing it to be grabbed ```
``` && ((\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) > 0 ) ```
``` && ((\$arunningwso = awsoadr ((\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) ) > 0 ) ```
``` && ((\$csubpid = spifgrabcandidate (\$myli, \$arunningwso, undef(), \\$jhlabeliav, \\$jhlabeli)) > 0) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$asponsor] ```
``` = inccounter ( 0, ```
``` (0 ), #will become a reference to codelet shell ```
``` \$Awfif::memes-> {snnh} {grab}, ```
``` \$Awfif::wsol-> {l} [\$asponsor] , ```
``` \$asponsor); ```
``` ```
``` if ( ( (\$grabdesc = findtdesc (\$Awfif::wsol-> {l} [ \$asponsor ] , \$Awfif::memes-> {snnh} {grab})) != 0 ) ```
``` ){ ```
``` ```
``` \$Awfif::workspace-> {l} [\$grabdesc]  = \$csubpid; ```
``` };#if ```
``` };#if ```
```# check transaction state for all outstanding f1 and clear out any completed ```
```# ivalwbtmgru1 ```
``` ```
``` @csubpl = listcsubp (\$myli, \$abdwso); ```
``` \$transid = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = getf1tmgr (\$myli, \$atelhwso, \$asponsor, \$Awfif::codelet-> {l} [\$myli] , \\$transid, \\$stransmgrid, \@csubpl);#will return an associated completed sub by preference ```
``` \$usetrans = \$transid; ```
``` ```
``` if (\$subpid == 0 ```
``` ){ ```
``` ```
``` \$subpid = undef (); ```
``` }; ```
``` ```
``` if (\$transid == 0 ```
``` ){ ```
``` ```
``` \$in221 = 't'; ```
``` \$transid = undef(); ```
``` \$transtatus = \$Awfif::memes-> {snnh} {transid}; ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{wascasrelay}); ```
``` \$subpid = undef (); ```
``` }#if ```
``` else { ```
``` ```
``` \$in2220 = 't'; ```
``` \$transtatus = \$Awfif::memes-> {snnh} {casrelay};#unless shift to wascassponsor ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casrelay}, undef(), \$transid, \\$transtatus); ```
``` if ( (\$transtatus == \$Awfif::memes-> {snnh} {completed}) ```
``` ){#remove the deployment descriptor ```
```# ivalbspgau1 ```
``` ```
``` if (\$Awfif::memes-> {applyactive} ```
``` ){ ```
``` ```
``` \$didgrab = spigrabamp (\$myli, \\$\$kwp, \$kwpr, undef(), \\$jhlabeliav, \\$jhlabeli, \\$transid); ```
``` if ((\$Awfif::memes-> {valccompspibreak}) && (!\$didgrab) && (\$transid != 0) && (\$transtatus == \$Awfif::memes-> {snnh} {completed})) {&break ()}; ```
``` }#if ```
``` else { ```
``` ```
``` \$didgrab = ''; ```
``` }; ```
``` ```
``` while ((\$didgrab) && (\$transid != 0) && (\$transtatus == \$Awfif::memes-> {snnh} {completed}) ```
``` ){ ```
``` ```
``` \$clearedcomps = 't'; ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, 0, 0, \$stransmgrid); ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {remove}, \$Awfif::memes-> {snnh} {assocf1}, \$atelhwso, \$Awfif::memes-> {snnh} {rtran}, undef(), \$subpid, \$stransmgrid); ```
``` if (\$stransmgrid != \$Awfif::codelet-> {l} [\$myli] ) {#try to maintain the active source transmgr id submitted ```
``` ```
``` \$Awfif::tmassl-> {submitted} [ \$stransmgrid ] = undef(); ```
``` }#if ```
``` elsif (\$Awfif::memes-> {valclearsubmbreak}) {&break ()}; ```
``` \$usetrans = 0;#just deleted this transaction ```
``` \$transid = 0; ```
``` \$subpid = getf1tmgr (\$myli, \$atelhwso, \$asponsor, \$Awfif::codelet-> {l} [\$myli] , \\$transid, \\$stransmgrid, \@csubpl);#will return an associated completed sub by preference ```
``` \$transtatus = \$Awfif::memes-> {snnh} {casrelay};#unless shift to wascassponsor ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casrelay}, undef(), \$transid, \\$transtatus); ```
``` };#while ```
``` ```
``` if (!\$clearedcomps) {#get an incompete transaction to work on ```
``` ```
``` \$in2301 = 't'; ```
``` \$usetrans = 0;#just deleted this transaction ```
``` \$transid = 0; ```
``` \$subpid = getf1tmgr (\$myli, \$atelhwso, \$asponsor, \$Awfif::codelet-> {l} [\$myli] , \\$transid, \\$stransmgrid, undef(), 't'); ```
``` \$transtatus = \$Awfif::memes-> {snnh} {casrelay};#unless shift to wascassponsor ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casrelay}, undef(), \$transid, \\$transtatus); ```
``` };#if ```
``` if ((\$transid == 0 ) && (\$clearedcomps) ```
``` ){#then completed all of list ```
``` ```
``` \$in2310 = 't'; ```
``` \$transid = undef(); ```
``` \$transtatus = \$Awfif::memes-> {snnh} {transid}; ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{wascasrelay}); ```
``` \$subpid = undef (); ```
``` }#if ```
``` elsif ((\$transid == 0 ) ```
``` ){#then didn't get to clear list - but this is because cant grab so could be outstanding completed associations to clear ```
``` ```
``` \$in2311 = 't'; ```
``` \$transid = undef(); ```
``` \$transtatus = \$Awfif::memes-> {snnh} {transid}; ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{wascasrelay}); ```
``` \$subpid = undef (); ```
``` if (\$subpl  != 0) { ```
``` ```
``` \$dontrep35 = 't'; ```
``` \$dongc = 't'; ```
``` };# ```
``` }#if ```
``` else { ```
``` ```
``` \$in232 = 't'; ```
``` \$usetrans = \$transid;#record that there are outstanding transactions ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{casrelay}); ```
``` \$dontrep35 = 't'; ```
``` };#else ```
``` }#if ```
``` else { ```
``` ```
``` \$in2330 = 't'; ```
``` \$usetrans = \$transid;#record that there are outstanding transactions ```
``` ```
``` if (\$Awfif::subpl-> {l} [\$subpid]  == \$acwsposition ```
``` ){ ```
``` ```
``` \$tmatchedwso = 't'; ```
``` };#if ```
``` ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{casrelay}); ```
``` };#else ```
``` };#else ```
```# model the ival codelets situation in the bound complex ```
```# ```
```# first the earlier spigrabamp may have moved the current wsposition ```
``` ```
``` \$cwsposition = &movecomplex (\$myli, \$sldesc, 0, \$abdwso); ```
``` \$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes->{snnh}{wsi}); ```
``` \$acwsposition = awsoadr (\$cwsposition); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
```# ivalbtfu1 ```
``` ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) != 0 ) ```
``` && ((\$aws = \$Awfif::memes-> {currentwsbi}) != 0) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$token, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {start}, ```
``` \$Awfif::memes-> {snnh} {orcategory}, \$Awfif::memes-> {snnh} {alternate} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` && (kwmccon (\$cws, \$Awfif::wsbl-> {wsoh}[\$cws], \$aws, (\$Awfif::workspace-> {l} [\$sldesc] - \$Awfif::memes-> {snnh}{wsi}))) #check that the current wso is allowed in this context according to the record head can contains ```
``` or ( (\$usetrans != 0) && (\$noget = 't')) #must continue the transaction ```
``` ){#have identified this is a value structure so find the value and record it ```
``` ```
``` my (\$kwwsoid, \$kw); ```
```# ivalbtrsal1 ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((!defined(\$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] )) ```
``` or (\$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  == \$Awfif::memes-> {snnh} {start}) ) ```
``` ){ ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {incomplete}; ```
``` };#if ```
``` \$kwwsoid = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$kw = getwsost4 (\$kwwsoid); ```
```# ivalbgowu1 ```
``` ```
``` if ( ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {gowithin} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){#this may contain structures so need to go within ```
``` ```
``` \$signalsubp = 't'; ```
``` \$depsubs = 't'; ```
``` }; #check if may have to gowithin the string ```
``` ```
``` if ( ((!defined (\$noget)) or (!\$noget)) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {record} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){#this is a record so it has a completion procedure ```
``` ```
``` \$handlestop = ''; ```
``` }; #check if must handle the stop structure ```
``` ```
``` my (\$stnws, \$stnwsoid, \$stnwsoidp1, \$stvalue, \$mkrwso, \$amkrwso, \$subpdesc, \$foundtid, \$mfoundtid, \$nmatchtid, \$mnmatchtid); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` if ((!defined (\$noget)) ```
``` or (!\$noget) ```
``` ){ ```
``` ```
``` \$catalysis = grabcodelet (\$myli, \$sldesc, \$cws, \$abdwso); ```
```# get data from quote pair ```
``` \$stvalue = getnamefqpair (\$myli, \$sldesc, \\$stnws, \\$stnwsoid); ```
``` };#if ```
```# ivalbuitrau3 ```
```# may be looking after a current gowithin process it ```
``` ```
``` \$foundtid = ''; ```
``` \$nmatchtid = ''; ```
```# if don't get a match for the current wsposition and it is gowithin then sponsor new subprogram ```
```# ```
```# if there is a subprogram deployed by this specific transaction ```
``` if ( (\$subpid != 0) ```
``` && (\$nmatchtid = 't') ```
``` && (\$Awfif::subpl-> {l} [\$subpid]  != \$acwsposition)# added when setup subpid ```
``` && (\$foundtid = 't')#remember that found a transid ```
``` && (&transalloc (\$myli, \$Awfif::memes-> {snnh} {casrelay}, undef(), \$transid , \\$transtatus) == \$transid ) ```
``` && (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}) #bcsubps transaction is not completed ```
``` && (( (\$subpdesc = findtdesc (\$Awfif::wsol-> {l} [ \$abdwso] , \$Awfif::memes-> {snnh} {subprogram}, \$Awfif::memes-> {snnh} {initiate}, \$subpid)) == 0 ) #and the subprogram has not depolyed its report descriptor ```
``` or ((\$Awfif::workspace-> {l} [\$subpdesc]  - \$Awfif::memes-> {snnh} {wsi}) != \$subpid)) ```
``` ){ ```
```# mp signal the sub-program ```
``` ```
``` my (\$dummy, \$giveup, \$p, \$hiurg); ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` \$depsubs = 't'; ```
``` \$hiurg = '';#must be defined to be used in subpinitiated ```
```# ivalbuidsonbu1 ```
``` ```
``` if ( ( ( (\$Awfif::memes-> {valignifu} && (int (rand (10)) > 8)) or (!ifindupri (\$myli, \$sponsor, undef (), undef(), \$Awfif::subpl-> {l} [\$subpid] , \$Awfif::memes-> {snnh} {subpstbinding} , \$subpid, 't')) ) ```
``` or (!subpinitiated (\$myli, \$abdwso, \$subpid, \\$hiurg)) ) ```
``` && ( (\$Awfif::codelet-> {l} [\$myli] == 0) ```
``` or (!defined (\$Awfif::subpl-> {w} [ \$subpid ])) or (\$Awfif::subpl-> {w} [ \$subpid ] == 0))#don't signal waited codelet - note should first check its an f1 of this codelet ```
``` ){ ```
``` ```
``` if ((defined (\$subpid)) && (\$subpid > 0)){ ```
``` ```
``` if (!defined (\$Awfif::subpl-> {q}  [\$Awfif::memes-> {ivalwindex}] [\$subpid ])) { ```
``` ```
``` \$Awfif::subpl-> {q}  [\$Awfif::memes-> {ivalwindex}] [\$subpid ] = 0; ```
``` };#if ```
``` ```
``` \$p = \\$Awfif::subpl-> {q}  [\$Awfif::memes-> {ivalwindex}] [\$subpid ]; ```
``` }; #if ```
``` ```
``` \$hiurg = \$hiurg | \$Awfif::memes-> {tdfsampdo}; ```
``` ```
``` &ilaunchnc (\$myli, \$dummy, 'cassuboppi', undef (), \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` 32, #mask out codelet-> {l}  i.e. {tfree} ```
``` \$usetrans, ```
``` \\$transid , ```
``` \\$transtatus, ```
``` \$subpid, #signal sub-program ```
``` undef (), #jhlabeli ```
``` undef (), #jhlabeloi ```
``` undef (), #newli ```
``` \$hiurg, ```
``` \\$\$p #use pooling ```
``` ); ```
``` ```
``` if (matchaelement (\@{\$Awfif::subpl-> {l} [\$subpid] }, \$transid) == 0 ```
``` ){#no match its a new transaction ```
``` ```
``` \$Awfif::subpl-> {l} [\$subpid] [++\$Awfif::subpl-> {l} [\$subpid] ] = \$transid; ```
``` \$Awfif::subpl-> {l} [\$subpid] [++\$Awfif::subpl-> {l} [\$subpid] ] = \$Awfif::tral-> {l} [\$transid] ; ```
``` };#if ```
``` ```
``` if ((\$usetrans == 0) ```
``` && (defined (\$transid) && ( (\$transtatus == \$Awfif::memes-> {snnh} {completed}) or (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}) ) ) ```
``` ){#record the transid ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \$transid, \$subpid, \$stransmgrid); ```
``` \$spigtransid = \$transid; ```
``` \$dospigrabamp = 't';#can't see why shouldnt check for amp options at this point ```
``` };#if ```
``` };#if ```
```# ivalbuif1tu3 ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),'t', undef (), undef(), \$Awfif::subpl-> {l} [\$subpid] , \$Awfif::memes-> {snnh} {subpstbinding}, ```
``` \$subpid, ```
``` undef (), #nodebug ```
``` undef (), #nodelayselect ```
``` \$Awfif::memes-> {tdfsampdo} #amplify delay select ```
``` );# sponsor should be one after telomeric header ```
``` \$usedngc = 't'; ```
``` };#if still need to signal subprogram ```
``` ```
``` if (\$foundtid ```
``` ){ ```
``` ```
``` \$mfoundtid = 't'; ```
``` \$mtranstatus = \$transtatus; ```
``` ```
``` if ( (\$transtatus == \$Awfif::memes-> {snnh} {completed}) ```
``` ){#remove the deployment descriptor ```
```# may still not want to reply because other subpids are still outstanding but that should have already been checked ```
``` ```
``` &maskcounter (\$Awfif::memes-> {snnh}{subpdeployed}, \$abdwso, undef(), \$transid); ```
``` }#if ```
``` elsif (\$transtatus == \$Awfif::memes-> {snnh} {incomplete} ```
``` ){ ```
``` ```
``` \$dontrep35 = 't'; ```
``` };#elsif ```
``` }#if ```
``` else { ```
``` ```
``` if (\$nmatchtid ```
``` ){ ```
``` ```
``` \$nmatchtid = ''; ```
``` };#if ```
``` };#else ```
``` ```
``` if (\$nmatchtid ```
``` ){ ```
``` ```
``` \$mnmatchtid = 't';#this wso has no matching pid ```
``` };#if ```
```# ```
```# now handle new gowithin ```
``` ```
``` if ((((\$mnmatchtid)) or (!defined(\$subpid))) ```
``` && (!\$tmatchedwso) ```
``` && (defined (\$signalsubp)) ```
``` && (\$signalsubp) ```
``` ){ ```
```# ivalbgowu2 ```
``` ```
``` my (\$subpstws, \$subpstcws, \$subpbwso, \$asubpbwso, \$subptwso, \$buffer, \$dummy, \$giveup); ```
```# setup the subprogram terminal wsoid - sldesc should be referencing the workspace descriptor ```
``` ```
``` &iskipw (\$myli, \$sldesc, \$cws, \$aws, \$abdwso);#have to get to the terminal keyword ```
``` \$subptwso = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes->{snnh}{wsi}); ```
```# setup the subprogram start wsoid ```
``` \$Awfif::memes-> {currentwsbi} = \$stnws; ```
``` \$stnwsoidp1 = trwsoadr (\$stnwsoid,1); ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$buffer = ''; ```
``` for (\$i = trwsoadr ( \$Awfif::codelet-> {l} [\$myli] ,2); ```
``` \$i <= trwsoadr (\$Awfif::codelet-> {l} [\$myli] , -2); ```
``` \$i = trwsoadr (\$i,1) ```
``` ){ ```
```# ivalbgowu3 ```
``` ```
``` \$buffer = \$buffer . '<' . getwsost4 (\$i) . '>'; ```
``` };#for ```
``` ```
``` if (\$Awfif::codelet-> {l} [\$myli]  == 0 ```
``` ){ ```
``` ```
``` \$buffer = \$buffer . '<subprogram><sequence><integration>'; ```
``` }#if ```
``` else { ```
``` ```
``` \$buffer = \$buffer . '<sequence><integration>'; ```
``` if ( ((findtdesc (\$Awfif::wsol-> {l} [ \$abdwso] , \$Awfif::memes-> {snnh} {initgw}, \$Awfif::codelet-> {l} [\$myli]  )) == 0) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$abdwso] ```
``` = setupdesc ( \$Awfif::codelet-> {l}[\$myli], ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::codelet-> {l}[\$myli]), # ```
``` \$Awfif::memes-> {snnh} {initgw}, ```
``` \$Awfif::wsol-> {l} [\$abdwso] , ```
``` \$abdwso); ```
``` };#if ```
``` };#else ```
``` ```
``` \$subpstws = inewstws (\$myli, \\$buffer, \\$grkwp, \$grkwpr, \$sponsor, \$Awfif::memes-> {snnh} {subpstbinding} ); ```
``` \$subpid = addsubp (\$subpstws, \$subpbwso, \$acwsposition); ```
```# ivalbreccu1 ```
``` if (\$Awfif::codelet-> {l} [\$myli]  > 0 ```
``` ){ ```
``` ```
``` \$Awfif::memes-> {spiglevel} [\$Awfif::codelet-> {l} [\$myli] ]++; ```
``` \$Awfif::memes-> {spiglevel} [\$subpid] = 0; ```
``` }#if ```
``` else { ```
``` ```
``` \$Awfif::memes-> {spiglevel} [\$subpid] = 0; ```
``` };#else ```
```# ivalbsupru1 ```
```# deploy the descriptor reference for the subprogram ```
``` ```
``` \$Awfif::wsol-> {l} [\$abdwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {initiation}), ```
``` (\$subpid + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {subpref}, ```
``` \$Awfif::wsol-> {l} [\$abdwso] , ```
``` \$abdwso); ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$abdwso]]  = \$Awfif::memes-> {subprefctr}; ```
```# ivalbgowu10 ```
```# setup a control workspace for the subprogram - in this instance will only setup the case and control workspaces since its as if we are already bound! ```
``` ```
``` \$buffer = '<schema><partconstrained>'; ```
``` \$subpstcws = inewstws (\$myli, \\$buffer, \\$\$kwp, \$kwpr, \$sponsor, \$Awfif::memes-> {snnh} {subpstbinding}); ```
``` \$Awfif::subpl-> {l} [\$subpid] = \$subpstcws; ```
``` \$buffer = '<' . getwsost4 (\$Awfif::codelet-> {l} [\$myli] ) . '>'; ```
``` &initschcon (\$myli, \\$buffer, \\$\$kwp, \$kwpr, \$sponsor, \$subpstcws, \$Awfif::memes-> {snnh} {subpstbinding}, \$subpid); ```
``` ```
``` if ( ifindb (\$myli, \$sponsor, 'goalscon', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset, \$subpstcws, \$Awfif::memes-> {snnh} {subpstbinding}, \$subpid) == 1 ```
``` ){ ```
``` ```
``` my (\$i, \$found); ```
``` \$found = ''; ```
``` for (\$i = 0; ((!\$found) && (\$i < \$sigcount)); \$i++ ```
``` ){ ```
``` ```
``` if (\$lomatchs[\$i] ```
``` ){# ```
```# unless this is an operon or stbinding ```
``` ```
``` if ( (\$Awfif::jhls-> {l} [\$lola[\$i]] == \$Awfif::memes-> {snnh}{subpstbinding}) ```
``` ){ ```
``` ```
``` \$Awfif::subpl-> {l} [\$subpid]  = \$lola [\$i]; ```
``` \$found = 't'; ```
``` };#if ```
``` };#if ```
``` };#for ```
``` };#if ```
```# ivalbgowu6 ```
```# switch to subprogram's case complex workspace ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$subpstws; ```
``` if ( ifindb (\$myli, \$sponsor, 'subpc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset, \$subpstws, \$Awfif::memes-> {snnh} {subpstbinding}, \$subpid) == 1 ```
``` ){ ```
``` ```
``` my (\$i, \$found); ```
``` \$found = ''; ```
``` for (\$i = 0; ((!\$found) && (\$i < \$sigcount)); \$i++ ```
``` ){ ```
``` ```
``` if (\$lomatchs[\$i] ```
``` ){# ```
```# unless this is an operon or stbinding ```
``` ```
``` if ( (\$Awfif::jhls-> {l} [\$lola[\$i]] == \$Awfif::memes-> {snnh}{subpstbinding}) ```
``` ){ ```
``` ```
``` \$subpbwso = \$Awfif::jhls-> {l} [\$lola[\$i]] ; ```
``` \$Awfif::subpl-> {l} [\$subpid]  = \$lola [\$i]; ```
``` \$Awfif::subpl-> {l} [\$subpid]  = \$subpbwso; ```
``` \$found = 't'; ```
``` };#if ```
``` };#if ```
``` };#for ```
```# deploy the descriptor pointing to the workspace start ```
``` ```
``` \$asubpbwso = awsoadr (\$subpbwso); ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] ```
``` = setupdesc ( (\$aws + \$Awfif::memes-> {snnh} {wsi}), ```
``` (\$stnwsoidp1 + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {wsposition}, ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] , ```
``` \$asubpbwso); ```
```# ivalbthbu1 ```
```# deploy the descriptor supporting histone binding in the subprograms ```
``` ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] ```
``` = setupdesc ( (\$Awfif::workspace-> {l} [\$histdesc] ), ```
``` (\$Awfif::workspace-> {l} [\$histdesc] ), ```
``` \$Awfif::workspace-> {l} [\$histdesc] , ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] , ```
``` \$asubpbwso); ```
```# ivalbgowu4 ```
``` ```
``` &inewlist (\$myli, \$subpstws, \$subpbwso, \$sponsor, \$sldesc, \\$grkwp, \$grkwpr, \$Awfif::memes-> {snnh} {subpstbinding}, \\$amkrwso); ```
```# ivalbgowu5 ```
``` ```
``` if ( ( (\$slhdesc = findtdesc (\$Awfif::wsol-> {l} [ \$asubpbwso] , \$Awfif::memes-> {snnh} {listhead})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` ){#have identified there is a list head get the associated list link ```
``` ```
``` my (\$newtransid, \$catref, \$catdesc); ```
``` \$slldesc = findtdesc (\$Awfif::wsol-> {l} [ \$asubpbwso] , \$Awfif::memes-> {snnh} {listlink}); ```
``` &inewrcd (\$myli, \$subpstws, \$subpbwso, \$sponsor, \$sldesc, \$slhdesc, \\$grkwp, \$grkwpr, \$Awfif::memes-> {snnh} {subpstbinding}, \\$amkrwso); ```
```# deploy the srcd builders casinopp descriptor ```
``` ```
``` \$Awfif::wsol-> {l} [awsoadr(\$Awfif::wsbl-> {wsoh} [\$subpstws])] ```
``` = setupdesc ( (\$sponsortype), ```
``` (\$Awfif::memes-> {snnh} {casinopp} + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [awsoadr(\$Awfif::wsbl-> {wsoh} [\$subpstws])] , ```
``` awsoadr(\$Awfif::wsbl-> {wsoh} [\$subpstws])); ```
```# ivalbgowu9 ```
```# deploy the descriptor initiating the sub-program ```
``` ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {start}), ```
``` (\$subptwso + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {subprogram}, ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] , ```
``` \$asubpbwso); ```
```# deploy the descriptor detailing how to take over the cascade ```
``` ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] ```
``` = setupdesc ( (\$cws + \$Awfif::memes-> {snnh} {wsi}), ```
``` (\$bdwso + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {initiate}, ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] , ```
``` \$asubpbwso); ```
```# ivalbgowu7 ```
```# deploy the descriptor terminating the sub-program ```
``` ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {stop}), ```
``` (\$subptwso + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {subprogram}, ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] , ```
``` \$asubpbwso); ```
```# deploy the descriptor detailing how to report completion ```
``` ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] ```
``` = setupdesc ( (\$cws + \$Awfif::memes-> {snnh} {wsi}), ```
``` (\$bdwso + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {completed}, ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] , ```
``` \$asubpbwso); ```
```# ivalbcatu1 ```
``` ```
``` \$catdesc = findtdesc (\$Awfif::wsol-> {l} [\$abdwso] , \$Awfif::memes-> {snnh} {catalysis}); ```
``` if ((\$catdesc != 0) ```
``` ){ ```
```# deploy the sub-program cat ref descriptor ```
``` ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] ```
``` = setupdesc ( (0), ```
``` (\$catdesc + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {catref}, ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] , ```
``` \$asubpbwso); ```
``` }#if ```
``` elsif ( ((\$catref = findtdesc (\$Awfif::wsol-> {l} [\$abdwso] , \$Awfif::memes-> {snnh} {catref})) != 0) ```
``` ){ ```
```# deploy the sub-program cat ref descriptor ```
``` ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] ```
``` = setupdesc ( (0), ```
``` (\$Awfif::workspace-> {l} [\$catref] ), ```
``` \$Awfif::memes-> {snnh} {catref}, ```
``` \$Awfif::wsol-> {l} [\$asubpbwso] , ```
``` \$asubpbwso); ```
``` };#elsif ```
```# ivalbgowu8 ```
```# mp signal the sub-program ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if (!defined (\$jhlabeli) ```
``` ){ ```
``` ```
``` \$jhlabeli = 0; ```
``` \$jhlabeloi = 0; ```
``` };#if ```
``` if (!defined (\$Awfif::subpl-> {q}  [\$Awfif::memes-> {ivalwindex}] [\$subpid ])) { ```
``` ```
``` \$Awfif::subpl-> {q}  [\$Awfif::memes-> {ivalwindex}] [\$subpid ] = 0; ```
``` };#if ```
``` ```
``` &ilaunchnc (\$myli, \$dummy, 'cassuboppi', undef(), \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` 32, #mask out codelet-> {l}  i.e. {tfree} ```
```# ivalbuitrau2 ```
``` 0, ```
``` \\$newtransid, ```
``` \\$transtatus, ```
``` \$subpid, #signal sub-program ```
``` \\$jhlabeli, ```
``` \\$jhlabeloi, ```
``` undef (), #newli ```
``` \$Awfif::memes-> {tdfsampdo}, ```
``` \\$Awfif::subpl-> {q}  [\$Awfif::memes-> {ivalwindex}] [\$subpid ] #use pooling ```
``` ); ```
``` ```
``` \$jhlabeliav = 't'; ```
``` \$spigtransid = \$newtransid; ```
``` \$Awfif::subpl-> {l} [\$subpid] [++\$Awfif::subpl-> {l} [\$subpid] ] = \$newtransid; ```
``` \$Awfif::subpl-> {l} [\$subpid] [++\$Awfif::subpl-> {l} [\$subpid] ] = \$Awfif::tral-> {l} [\$newtransid] ; ```
``` \$Awfif::subpl-> {l} [\$subpid]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::subpl-> {l} [\$subpid]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{casrelay}); ```
```# ivalbuigrau1 ```
``` ```
```# ivalbuif1tu2 ```
``` if (!\$usedngc ```
``` ){ ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),'t', undef (), undef(), \$Awfif::subpl-> {l} [\$subpid] , \$Awfif::memes-> {snnh} {subpstbinding}, \$subpid, ```
``` undef (), #nodebug ```
``` undef (), #nodelayselect ```
``` \$Awfif::memes-> {tdfsampdo} #amplify delay select ```
``` );# sponsor should be one after telomeric header ```
``` \$usedngc = 't'; ```
``` };#if ```
```# ivalbuif1tu1 ```
```# deploy the record of the sub-program initiation ```
``` ```
``` \$Awfif::wsol-> {l} [\$abdwso] ```
``` = inccounter ( (\$newtransid), ```
``` (\$subpid + \$Awfif::memes-> {snnh} {wsi}), ```
``` \$Awfif::memes-> {snnh} {subpdeployed}, ```
``` \$Awfif::wsol-> {l} [\$abdwso] , ```
``` \$abdwso,#awso ```
``` undef(),#synccod ```
``` \$newtransid,#sltype ```
``` (\$subpid)#spto ```
``` ); ```
``` ```
``` if ((defined (\$newtransid) && ( (\$transtatus == \$Awfif::memes-> {snnh} {completed}) or (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}))) ```
``` ){ ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \$newtransid, \$subpid);#transmgrid should be undefined ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {add}, \$Awfif::memes-> {snnh} {assocf1}, \$atelhwso, \$Awfif::memes-> {snnh} {stran}, undef(), \$Awfif::codelet-> {l} [\$myli] , \$Awfif::codelet-> {l} [\$myli] , \$subpid); ```
``` };#elsif ```
``` ```
``` if (\$Awfif::memes-> {applyactive} ```
``` ){#now have added the assoc f1 can use spi grab amp ```
``` ```
``` \$dospigrabamp = 't';#must wait until after finish processing the record before we let another codelet in ```
``` };#if ```
```# ivalbsubptrau1 ```
```# deploy the gowithin trail descriptor in the <mkwordref> wso ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$cws]; ```
``` \$amkrwso = awsoadr (\$mkrwso); ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$subpstws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$subpbwso), ```
``` \$Awfif::memes-> {snnh} {gowithin}, #name refers to the wso name used to support wso life cycle ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
``` ```
``` &itcpdist (\$Awfif::memes-> {codeleth}); ```
``` };# if head exists ```
``` }#if find the subpws ```
``` else { ```
``` ```
``` &break (); ```
``` };#else ```
``` }#if ```
``` elsif ( (\$mfoundtid) ```
``` && (!\$dontrep35) ```
``` && ((\$mtranstatus == \$Awfif::memes-> {snnh} {completed})) ```
``` && (defined (\$Awfif::codelet-> {l} [\$myli] )) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  != 0) ```
``` ){ ```
``` ```
``` if ( (defined (\$Awfif::memes-> {valbsubpnspcbreak})) ```
``` && (\$Awfif::memes-> {valbsubpnspcbreak}) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {valbsubpspcbreak})) ```
``` && (\$Awfif::memes-> {valbsubpspcbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$Awfif::codelet-> {l} [\$myli] , \\$mtranstatus); ```
```# ivalbtrsal2 ```
``` ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {completed}; ```
``` };#if ```
``` }#elsif ```
``` else { ```
```# complete the sponsors transaction ```
```# ivalbuitrau1 ```
``` ```
``` \$transtatus = 0;#report that have participated successfully ```
``` if ( (defined (\$Awfif::codelet-> {l} [\$myli] )) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  != 0) ```
``` && (!\$dontrep35) ```
``` ){ ```
``` ```
``` if ( (defined (\$Awfif::memes-> {valbsubpnspcbreak})) ```
``` && (\$Awfif::memes-> {valbsubpnspcbreak}) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$Awfif::codelet-> {l} [\$myli] , \\$transtatus); ```
``` };#if ```
```# ivalbtrsal3 ```
``` ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {completed}; ```
``` };#if ```
``` };#else ```
```# Action the value descriptor deployment, respond to stop token, do cloneing ```
```# ivalbdepv1 ```
``` ```
``` if ((!defined (\$noget)) ```
``` or (!\$noget) ```
``` ){ ```
```# deploy the value descriptor in the <mkwordref> wso ```
```# ivalbrendu1 ```
``` ```
``` my (\$end); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$cws]; ```
``` \$amkrwso = awsoadr (\$mkrwso); ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$stnws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$stnwsoid), ```
``` \$valid, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$amkrwso] ]  = \$stvalue;ot 7 are used for strength ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$amkrwso] ]  = \$kw; ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$amkrwso] ]  = \$kwwsoid; ```
```# check if handle stop structure ```
``` ```
``` if (\$handlestop ```
``` ){ ```
``` ```
``` my (\$finished); ```
``` \$finished = ''; ```
``` while (!\$finished ```
``` ){ ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$token, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {stop} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){#have found the stop for the value ```
``` ```
``` \$finished = 't'; ```
``` \$end = movecomplex (\$myli, \$sldesc, 1, \$abdwso); ```
``` }# if ```
``` else { ```
``` ```
``` if ((\$end = movecomplex (\$myli, \$sldesc, 1, \$abdwso)) == 0 ```
``` ){ ```
``` ```
``` \$finished = 't'; ```
``` };#if ```
``` };#else ```
``` };#while ```
``` }# if handle stop ```
``` else { ```
```# move the workspace position ```
``` ```
``` \$end = movecomplex (\$myli, \$sldesc, 1, \$abdwso); ```
``` };# else don't handle stop ```
```# record the end of the item ```
``` ```
``` \$Awfif::workspace-> {l} [\$Awfif::wsol-> {l} [\$amkrwso] ]  = \$end; ```
```# ivalwbcompsubu2 ```
``` if (spicompsub (\$myli, 'binderc') ```
``` ){ ```
``` ```
``` &compclone (\$myli); ```
``` };#if reply to cascade sponsor/relay ```
```# seltsttceu1 ```
``` ```
``` &iskipw (\$myli, \$sldesc, \$cws, \$aws, \$abdwso); ```
``` };#if not no get ```
``` }#if at value wsposition or supporting transaction ```
```# conditionally do notgcompleted, do grab for catalysis etc ```
```# seltstbldubo1 ```
``` else {# not any direct processing but may need to notgroupcomplete for relaying of other subpids ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` &imasksupp (\$myli); ```
``` if ( (subpcsponsor (\$myli, \$sponsor)) ```
``` ){ ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),undef(), undef (), 't', ```
``` undef (), #stws ```
``` undef (), #issubp ```
``` undef (), #subp ```
``` undef (), #nodebug ```
``` undef (), #nodelayselect ```
``` \$Awfif::memes-> {tdfsampdo} #amplify delay select ```
``` );# sponsor should be one after telomeric header ```
``` \$usedngc = 't'; ```
``` };#if ```
```# ivalwbcompsubu1 ```
``` ```
``` if (spicompsub (\$myli, 'binderc') ```
``` ){ ```
``` ```
``` if ((!\$dontrep35) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` \$reportcaspart = 't'; ```
``` };#if there are other sponsored subpids that need support then must keep relaying ```
``` ```
``` \$catalysis = grabcodelet (\$myli, \$sldesc, \$cws, \$abdwso); ```
``` &compclone (\$myli); ```
``` };#if reply to this subpid cascade sponsor/relay ```
``` };#else not any direct processing ```
```# report have run so that can be grab candidate ```
```# ivalwbrrunu1 ```
``` ```
``` if ( ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abdwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 )#report that codelet has run allowing it to be grabbed ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) > 0 ) ```
``` && ((\$arunningwso = awsoadr ((\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) ) > 0 ) ```
``` && ((findtdesc (\$Awfif::wsol-> {l} [(\$arunningwso)] , \$Awfif::memes-> {snnh} {running}, \$Awfif::memes-> {snnh} {\$Awfif::codelet-> {l} [\$myli] }, (\$Awfif::codelet-> {l} [\$myli]  + \$Awfif::memes-> {snnh} {wsi}) )) == 0 ) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$arunningwso] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {\$Awfif::codelet-> {l} [\$myli] }, # ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::codelet-> {l} [\$myli] ), #to match findbond ```
``` \$Awfif::memes-> {snnh} {running}, ```
``` \$Awfif::wsol-> {l} [\$arunningwso], ```
``` \$arunningwso); ```
``` };#if ```
``` ```
``` }# if findb binderc ```
``` else {#report error 'impossible context situation' to statement codelet ```
``` ```
``` my (\$stwso, \$astwso); ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if ( ( (\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr)) != 0) ```
``` ){ ```
``` ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( wsbasetype ( trwsoadr (\$Awfif::codelet-> {l} [\$myli],2)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::wsol-> {l} [\$astwso] , ```
``` \$astwso); ```
``` };#if ```
``` };#else ifindb binderc ```
```# conditionally complete the transaction, perform spi grab amplification and apply catalysis ```
``` ```
``` if (\$reportcaspart) { ```
``` ```
``` if ( (defined (\$Awfif::memes-> {valbsubpspcbreak})) ```
``` && (\$Awfif::memes-> {valbsubpspcbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {valbsubpnspcbreak})) ```
``` && (\$Awfif::memes-> {valbsubpnspcbreak}) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$mytransid, \\$mtranstatus); ```
``` };#if ```
```# ivalbspgau2 ```
``` ```
``` if (\$dospigrabamp ```
``` ){#the record finishing procedure has been done so do the spigrabamp ```
``` ```
``` &spigrabamp (\$myli, \\$\$kwp, \$kwpr, undef(), \\$jhlabeliav, \\$jhlabeli, \\$spigtransid); ```
``` \$usedngc = '';#may have been reset within spigrabamp processing ```
``` };#if ```
``` ```
``` if ((\$catalysis) ```
``` && (\$Awfif::memes-> {spiglvl} == 0) ```
``` ){ ```
``` ```
``` &applycodelet (\$myli, \$sldesc, \$cws, \$abdwso, \\$\$kwp, \$kwpr, \@\$sactset); ```
``` \$usedngc = '';#may have been reset within applycodelet processing ```
``` };#if ```
``` ```
``` if ( ( ( (\$depsubs) or (\$subpl  > 1) )#added subpl check to force completed transaction scenario to sustain ngc for other subprograms. Hope its still selective enough? ```
``` && (!\$usedngc) ```
``` && ((subpcsponsor (\$myli, \$sponsor)) or (\$dongc)) ) ```
``` or ( ((\$subpl  <= 1) && ((\$Awfif::memes-> {allowspigrabamp} > 0) or (\$dongc)) ) #If spigrabamp is not allowed then completed transactions will not be cleared ```
``` && (!\$usedngc) ) ```
``` ){ ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),undef(), undef (), 't', ```
``` undef (), #stws ```
``` undef (), #issubp ```
``` undef (), #subp ```
``` undef (), #nodebug ```
``` undef (), #nodelayselect ```
``` \$Awfif::memes-> {tdfsampdo} #amplify delay select ```
``` );# sponsor should be one after telomeric header ```
``` }#if ```
``` elsif ((\$Awfif::memes-> {valskngcbreak}) && (\$valid == \$Awfif::memes-> {snnh} {ivalue}) && (\$token == \$Awfif::memes-> {snnh} {value}) && (!\$usedngc) && (\$dontrep35)){#idea here is to see when the ivalw is failing to notgcomplete - but dontrep35 was included to avoid breaks on pre sub sponsor paths ```
``` ```
``` &break (); ```
``` };#elsif ```
```# exiting so release the spi stack ```
```# ivalbreccu2 ```
``` ```
``` if ( (\$signalsubp) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` \$Awfif::memes-> {spiglevel} [\$Awfif::codelet-> {l} [\$myli] ]--; ```
``` };#if ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
```# &clogstatx (); ```
``` }# ivalbuilder1 ```
```#<!-- end tag scc --> ```
```#<!-- end tag sia --> ```
```#<!-- end tag ds --> ```
```#<!-- end tag aso --> ```
```# ```
```sub seltstbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
```# ```
```# checked for merged workspaces ```
``` ```
``` &ivalbuilder1 (\$myli, \$Awfif::memes-> {snnh} {selvalue}, \$Awfif::memes-> {snnh} {value}, \\$\$kwp, \$kwpr, \@\$sactset); ```
``` ```
``` &clogstatx (); ```
``` }# seltstbuilder1 ```
```# ```
```sub endrcdkwevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$sponsortype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# end record codelet responds to group complete providing context for support of list processing ```
``` \$noswstype = ''; ```
``` my (\$cws, \$bcwso, \$cwsbi, \$launchev, \$fbinderc); ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$launchev = iendrcdkwevaluator1 (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc); ```
``` if ((\$fbinderc > 0) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
```# endrcdkwevalubo4 ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if ((ifindupri (\$myli, \$sponsor)) ```
```# endrcdkwevalubo2 ```
``` && ((hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype))) ```
``` ){# ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] / \$Awfif::memes-> {pappbu}); ```
```# endrcdkwevalubo3 ```
``` &dropsalience (\$myli, \$sponsor); ```
``` }#if ```
``` else { ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` };#else ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "endrcdkwbuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), "endrcdkwbuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` }#if ```
```# endrcdkwevalubo1 ```
``` else { ```
``` ```
``` my (\$sponsortype, \$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` &ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset); ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` ```
``` if ( ```
``` (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` && (!promotesib (\$myli)) ```
``` ){ ```
``` ```
``` &imasksupp (\$myli); ```
``` };#if ```
``` };#else ```
``` };#if ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# endrcdkwevaluator1 ```
```# ```
```sub iendrcdkwevaluator1 { ```
``` my (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$kwp, \$kwpr, \$sactset, \$noswstype, \$fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface ```
``` my (\$sponsortype, \$usetrans, \$subpid, \$dolaunch); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$dolaunch = ''; ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$abcwso, \$cwsbi, \$aws); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# end record codelet responds to group complete providing exit from a record structure ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (\$\$fbinderc = ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` my (\$count, \$descfits, \$conforms); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
```# endrcdkwetmstu1 ```
``` \$usetrans = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` &gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$usetrans, \\$subpid); ```
```# endrcdkwetfu ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ (\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {record}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {stop} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` or (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype)) ```
``` or ((hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype))) ```
```# endrcdkwetfu2 ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` ){#launch builder ```
``` \$dolaunch = 't'; ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("iendrcdkwevaluatorx ret (\$dolaunch)\n"); ```
``` }; ```
``` return \$dolaunch ```
``` }# iendrcdkwevaluator1 ```
```# ```
```sub endrcdkwbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` ```
``` \$salience = ievalbsmodeler1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \\$\$and, 'iendrcdkwevaluator'); ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# endrcdkwbsmodeler1 ```
```# ```
```sub endrcdkwbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$sponsortype, \$casinsopp, \$setwsclinv, \$catalysis, \$usetrans, \$transid, \$transtatus, \$stransmgrid, \$subpid, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# end record codelet is part of list cascade providing record completion for support of list processing ```
```# checked for merged workspaces ```
``` ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$abcwso, \$cwsbi, \$slhdesc, \$slldesc); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` &bindhistone (\$myli, \$cws, \$bcwso); ```
``` my (\$count, \$descfits, \$conforms, \$aws, \$mkrwso, \$amkrwso); ```
```# endrcdkwbtmstu1 ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$transid = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$stransmgrid = gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$transid, \\$subpid); ```
``` \$usetrans = \$transid; ```
``` if (\$transid == 0 ) { ```
``` ```
``` \$transid = undef(); ```
``` \$transtatus = \$Awfif::memes-> {snnh} {transid}; ```
``` }#if ```
``` else { ```
``` ```
``` \$transtatus = \$Awfif::memes-> {snnh} {cassponsor};#unless shift to wascassponsor ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {cassponsor}, undef(), \$transid, \\$transtatus); ```
``` };#else ```
```# endrcdkwbtfu ```
```# now have the context workspace ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$cws]; ```
``` \$amkrwso = awsoadr (\$mkrwso); ```
``` ```
```# The end record is expecting the workspace position to be pointing at a record end wso ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ (\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) != 0 ) ```
``` && ((\$aws = \$Awfif::memes-> {currentwsbi}) != 0) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {record}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {stop} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` or ( ```
``` (\$casinsopp = ```
``` (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype)) ```
``` ) #brackets assignment ```
``` ) #outside or ```
```# endrcdkwbtfu2 ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` ){#have identified this is a stop record so tailor it to the application's particular meta requirements ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abcwso = awsoadr (\$bcwso); ```
```# checks the list start list for a head reference. ```
``` if ( ( (\$slhdesc = findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {listhead})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` ){#have identified there is a list head get the associated list link ```
``` ```
``` \$slldesc = findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {listlink}); ```
``` }# if head exists ```
``` else {# error ```
``` };#else ```
```# check that the current wso is allowed in this context according to the list head can contains ```
``` ```
``` if ((\$count > 0) ```
``` && (kwmccon (\$cws, \$Awfif::wsbl-> {wsoh}[\$cws], \$aws, (\$Awfif::workspace-> {l} [\$sldesc] - \$Awfif::memes-> {snnh}{wsi}))) ```
``` ) { ```
```# ```
```# if its ok then deploy <recordref> really an mkwordref to the record wso ```
``` ```
``` my (\$buffer, \$insymbol, @inmsymbol, @started, \$end, \$depstag, \$depttag, \$dephtag, \$binding); ```
``` ```
``` \$buffer = '<mkwordref>'; ```
``` \$depstag = ''; ```
``` \$depttag = 0; ```
``` \$dephtag = 0; ```
``` \$insymbol = ''; ```
``` @inmsymbol = (); ```
``` \$started = 0; ```
``` \$started = 't'; ```
``` \$setwsclinv = ''; ```
```# endrcdkwbspu1 ```
``` if ((defined (\$Awfif::codelet-> {l} [\$myli] )) && (\$Awfif::codelet-> {l} [\$myli]  != 0) ){ ```
``` \$binding = \$Awfif::memes-> {snnh} {subpstbinding}; ```
``` }#if ```
``` else { ```
``` \$binding = \$Awfif::memes-> {snnh} {stbinding}; ```
``` };#else ```
``` &convbws (\$myli, \\$buffer, \\$grkwp, \$grkwpr, \$Awfif::memes-> {kwmi}, \$Awfif::memes-> {kwmir}, \$sponsor, \\$insymbol, \@inmsymbol, \@started, \\$end, \\$depstag, \\$depttag, \\$dephtag, \$cws, \$binding, ```
``` \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {budesc}], ```
``` '',#dont energize the base concepts ```
``` \\$setwsclinv ```
``` ); ```
```# deploy an initialised record ref descriptor in the <mkwordref> wso ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$cws]; ```
``` \$amkrwso = awsoadr (\$mkrwso); ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})), ```
``` (\$Awfif::memes-> {snnh} {wsi} + (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})), ```
``` \$Awfif::memes-> {snnh} {record}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
```# deploy an initialised record link descriptor in the <mkwordref> wso ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$cws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + 0), ```
``` \$Awfif::memes-> {snnh} {recordlink}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
```# link the record head's link to the record mkwordref and move the record head wso address ```
``` ```
``` my (\$rcdhwso, \$rcdlwso, \$rcdhdesc); ```
``` \$rcdhwso = \$Awfif::workspace->{l} [\$slhdesc] - \$Awfif::memes-> {snnh} {wsi}; ```
``` \$rcdhdesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr(\$rcdhwso)] , \$Awfif::memes-> {snnh} {recordhead}); ```
``` \$rcdlwso = \$Awfif::workspace->{l} [\$rcdhdesc] - \$Awfif::memes-> {snnh} {wsi}; ```
``` \$Awfif::workspace-> {l} [\$rcdhdesc]  = \$mkrwso + \$Awfif::memes-> {snnh} {wsi}; ```
```# link the previous record head's record link to the record mkwordref ```
```# if the record head is 0 its initialised and we should use the listhead for the record link wso address ```
``` ```
``` my (\$rcdldesc); ```
``` if (\$rcdlwso != 0) { ```
``` \$rcdldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr(\$rcdlwso)] , \$Awfif::memes-> {snnh} {recordlink}); ```
``` }#if ```
``` else {#initial link is co-resident in the wso with the head descriptor ```
``` \$rcdldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr(\$rcdhwso)] , \$Awfif::memes-> {snnh} {recordlink}); ```
``` };#else ```
``` \$Awfif::workspace-> {l} [\$rcdldesc]  = \$mkrwso + \$Awfif::memes-> {snnh} {wsi}; ```
``` \$casinsopp = 't';#keep sponsoring ```
```# deploys a model-(sponsortype)-> cascompsopp descriptor to take over schematic sponsorship from startlist kw ```
```# to terminate end rcd kw transaction codelet ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$sponsortype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {cascompsopp}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
``` \$catalysis = grabcodelet (\$myli, \$sldesc, \$cws, \$abcwso); ```
```# move the workspace position ```
``` ```
``` &movecomplex (\$myli, \$sldesc, 1, \$abcwso); ```
```# endrcdkwtceu1 ```
``` &iskipw (\$myli, \$sldesc, \$cws, \$aws, \$abcwso); ```
``` }#if ```
``` else { ```
``` ```
``` if (!\$casinsopp) {#sponsor more of self ```
``` my (\$giveup); ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` &ilaunchnc (\$myli, \$bcwso, 'casoppi', \$Awfif::memes-> {snnh} {casinsopp}, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` '32,37' #mask out codelet-> {l}  i.e. {tfree} ```
``` ); ```
``` };#if ```
``` };#else ```
``` };# if ```
```# become the sponsor of the cascade opp's start ```
```# The builder [mps] signals the nucleus <codelet 21 wso> <schema> [<wso 'string' from schema>] ```
``` my (\$giveup); ```
``` if (\$casinsopp) {#sponsor more of self ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` &ilaunchnc (\$myli, \$bcwso, 'casoppi', \$Awfif::memes-> {snnh} {casinsopp}, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` '32,37', #mask out codelet-> {l}  i.e. {tfree} ```
``` undef (), #usetrans ```
``` undef (), #transid ```
``` undef (), #transtatus ```
``` undef (), #subprogram ```
``` undef (), #jhlabeli ```
``` undef (), #jhlabeloi ```
``` undef (), #newli ```
``` undef (), #hiurg ```
``` undef (), #usepooling ```
``` ( (ifindupri (\$myli, \$sponsor)) && (!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinit}, \$sponsortype))) )#buildoffurg ```
``` ); ```
``` if ((!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype))) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$sponsortype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {casinsopp}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
```# endrcdkwbtfu4 ```
```# can't free until loose sponsorship ```
``` ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{cassponsor}); ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),'t');# sponsor should be one after telomeric header ```
``` }#if ```
``` else { ```
```# must free once loose sponsorship ```
```# endrcdkwbtfu5 ```
``` ```
``` if ( (defined (\$usetrans)) ){ ```
``` ```
``` \$transtatus = \$Awfif::memes-> {snnh}{wascassponsor}; ```
``` };#if ```
``` if (\$Awfif::codelet-> {l}[\$myli]  == 1) { ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{wascassponsor}); ```
``` };#if ```
``` if( (defined (\$transid)) && (\$transtatus == \$Awfif::memes-> {snnh} {deleted}) #must mask the transaction id ```
``` ){ ```
```# endrcdkwbtmstu2 ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, 0, 0, \$stransmgrid); ```
``` };#if ```
``` &imasksupp (\$myli); ```
``` };#else ```
``` }# if is start record ```
``` else {#report error 'impossible context situation' to statement codelet ```
``` my (\$stwso, \$astwso); ```
``` ```
``` if (\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr) != 0) { ```
``` ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( wsbasetype ( trwsoadr (\$Awfif::codelet-> {l} [\$myli],2)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::wsol-> {l} [\$astwso] , ```
``` \$astwso); ```
``` };#if ```
```# endrcdkwbldubo1 ```
``` ```
``` &imasksupp (\$myli); ```
``` }; ```
``` if (\$catalysis) { ```
``` ```
``` &applycodelet (\$myli, \$sldesc, \$cws, \$abcwso, \\$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (\$myli); ```
``` }# endrcdkwbuilder1 ```
```# ```
```sub endlistkwevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$sponsortype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# end list codelet responds to group complete providing list completion for support of list processing ```
``` \$noswstype = ''; ```
``` my (\$cws, \$bcwso, \$cwsbi, \$launchev, \$fbinderc); ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$launchev = iendlistkwevaluator1 (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc); ```
``` if ((\$fbinderc > 0) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
```# endlistkwetmstu1 ```
```# endlistkwetfu ```
```# endlistkwetfu2 ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
```# endlistkwevalubo4 ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if ((ifindupri (\$myli, \$sponsor)) ```
```# endlistkwevalubo2 ```
``` && ((hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {cascompopp}, \$sponsortype))) ```
``` ){# ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] / \$Awfif::memes-> {pappbu}); ```
```# endlistkwevalubo3 ```
``` &dropsalience (\$myli, \$sponsor); ```
``` }#if ```
``` else { ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` };#else ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "endlistkwbuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), "endlistkwbuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
```# endlistkwevalubo1 ```
``` ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# endlistkwevaluator1 ```
```# ```
```sub iendlistkwevaluator1 { ```
``` my (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$kwp, \$kwpr, \$sactset, \$noswstype, \$fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface ```
``` my (\$sponsortype, \$usetrans, \$subpid, \$dolaunch); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$dolaunch = ''; ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$abcwso, \$cwsbi, \$aws); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# end list codelet responds to group complete providing end of list actions for support of list processing ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (\$\$fbinderc = ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` my (\$count, \$descfits, \$conforms); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
```# endlistkwetmstu1 ```
``` ```
``` \$usetrans = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ```
``` if (\$subpid == 0) { ```
``` ```
``` &mapnonsubtotmgrid (\$asponsor, \$Awfif::memes-> {snnh} {stran}, 0, \\$usetrans); ```
``` }#if ```
``` else { ```
``` ```
``` &gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$usetrans, \\$subpid); ```
``` };#else ```
```# endlistkwetfu ```
``` ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ (\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {list}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {end} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` or ( (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {cascompopp}, \$sponsortype)) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` ) ```
```# endlistkwetfu2 ```
``` or ( newunmsubp (\$myli, \$abcwso)) ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` ){#launch builder ```
``` ```
``` \$dolaunch = 't'; ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("iendlistkwevaluatorx ret (\$dolaunch)\n"); ```
``` }; ```
``` return \$dolaunch ```
``` }# iendlistkwevaluator1 ```
```# ```
```sub endlistkwbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` ```
``` \$salience = ievalbsmodeler1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \\$\$and, 'iendlistkwevaluator'); ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# endlistkwbsmodeler1 ```
```# ```
```#<!-- start tag ds -resweb --> ```
```# ```
```sub endlistkwbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$sponsortype, \$cascompopp, \$setwsclinv, \$catalysis, \$usetrans, \$transid, \$transtatus, \$stransmgrid, \$subpid, \$usedngc, \$stcomp, \$endlkwbndsel, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# end list codelet is part of list cascade providing end of list actions for support of list processing ```
``` \$noswstype = ''; ```
``` \$stcomp = '';#stcomp will be true if a signaled subtransaction has been found and is completed ```
``` \$endlkwbndsel = \$Awfif::memes-> {endlkwbndsel};#may alter memetic setting of endlistkws no delay select locally ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$abcwso, \$cwsbi, \$slhdesc, \$slldesc, \$waitingondesc); ```
``` \$waitingondesc = ''; ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` &bindhistone (\$myli, \$cws, \$bcwso); ```
``` my (\$i, @subpl, \$nsubs, \$count, \$descfits, \$conforms, \$aws, \$mkrwso, \$amkrwso); ```
```# endlistkwbtmstu1 ```
``` \$count = 0; ```
``` \$transid = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` if (\$subpid == 0) { ```
``` ```
``` \$stransmgrid = mapnonsubtotmgrid (\$asponsor, \$Awfif::memes-> {snnh} {stran}, 0, \\$transid); ```
``` }#if ```
``` else { ```
``` ```
``` \$stransmgrid = gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$transid, \\$subpid); ```
``` };#else ```
``` \$usetrans = \$transid; ```
``` if (\$transid == 0 ) { ```
``` ```
``` \$transid = undef(); ```
``` \$transtatus = \$Awfif::memes-> {snnh} {transid}; ```
``` }#if ```
``` else { ```
``` ```
``` \$transtatus = 0;#must be defined to be updated in transalloc ```
``` if ( (&transalloc (\$myli, \$Awfif::memes-> {snnh} {cassponsor}, undef(), \$transid, \\$transtatus) == \$transid) ```
``` && (\$transtatus == \$Awfif::memes-> {snnh} {completed}) # ```
``` ){ ```
``` ```
``` if ( (defined (\$Awfif::memes-> {endlkwbstcompbreak})) ```
``` && (\$Awfif::memes-> {endlkwbstcompbreak}) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, 0, 0, \$stransmgrid); ```
``` \$usetrans = 0;#just deleted this transaction ```
``` \$transid = 0; ```
``` \$stcomp = 't'; ```
``` };#if ```
``` \$transtatus = \$Awfif::memes-> {snnh} {cassponsor};#unless shift to wascassponsor ```
``` };#else ```
```# endlistkwbtfu ```
```# now have the context workspace ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$cws]; ```
``` \$amkrwso = awsoadr (\$mkrwso); ```
``` ```
```# The end list will only act if the workspace position is pointing at a list end wso, or just sustaining a previous action ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ (\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})) != 0 ) ```
``` && ((\$aws = \$Awfif::memes-> {currentwsbi}) != 0) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$Awfif::memes-> {snnh} {list}, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {end} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` or ( ```
``` (\$cascompopp = ```
``` (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {cascompopp}, \$sponsortype)) ```
``` ) #brackets assignment ```
``` && ((\$Awfif::memes-> {currentwsbi} = \$cws) != 0) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` ) #outside or ```
```# endlistkwbtfu2 ```
``` or ( newunmsubp (\$myli, \$abcwso)) ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` ){#have identified this is a end list so tailor it to the application's particular meta requirements ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abcwso = awsoadr (\$bcwso); ```
```# endlistkwdeolu1 ```
``` if ((\$count > 0) ```
``` && ((findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {model}, \$Awfif::memes-> {snnh} {found}, (\$Awfif::memes-> {snnh} {endlistkwevaluator} + \$Awfif::memes-> {snnh} {wsi}) )) == 0) ```
``` ){#report that have reached end of list ```
``` ```
``` if ( (defined (\$Awfif::memes-> {endlkwbesdbreak})) ```
``` && (\$Awfif::memes-> {endlkwbesdbreak}) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` ```
``` \$Awfif::wsol-> {l} [\$abcwso] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {found}, ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {endlistkwevaluator}), # ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$abcwso] , ```
``` \$abcwso, ```
``` 't'); ```
``` };#if describe finding end of list ```
```# checks the list start list for a head reference. ```
``` if ( ( (\$slhdesc = findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {listhead})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` ){#have identified there is a list head get the associated list link ```
``` ```
``` \$slldesc = findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {listlink}); ```
``` }# if head exists ```
``` else {# error ```
``` };#else ```
```# check that the current wso is allowed in this context according to the list head can contains ```
``` ```
``` \$nsubs = 0;#must be defined to be set ```
``` @subpl = listunmsubp (\$myli, \$abcwso, \\$nsubs); ```
``` ```
``` if ((\$count > 0) ```
``` && (\$subpl  == 0) ```
``` && (kwmccon (\$cws, \$Awfif::wsbl-> {wsoh}[\$cws], \$aws, (\$Awfif::workspace-> {l} [\$sldesc] - \$Awfif::memes-> {snnh}{wsi}))) ```
``` ) { ```
```# ```
```# if its ok then deploy <recordref> really an mkwordref to the record wso ```
``` ```
``` my (\$buffer, \$insymbol, @inmsymbol, @started, \$end, \$depstag, \$depttag, \$dephtag, \$binding); ```
``` ```
``` \$buffer = '<mkwordref>'; ```
``` \$depstag = ''; ```
``` \$depttag = 0; ```
``` \$dephtag = 0; ```
``` \$insymbol = ''; ```
``` @inmsymbol = (); ```
``` \$started = 0; ```
``` \$started = 't'; ```
``` \$setwsclinv = ''; ```
```# endlistkwbspu1 ```
``` ```
``` if ((defined (\$Awfif::codelet-> {l} [\$myli] )) && (\$Awfif::codelet-> {l} [\$myli]  != 0) ){ ```
``` ```
``` \$binding = \$Awfif::memes-> {snnh} {subpstbinding}; ```
``` }#if ```
``` else { ```
``` ```
``` \$binding = \$Awfif::memes-> {snnh} {stbinding}; ```
``` };#else ```
``` ```
``` &convbws (\$myli, \\$buffer, \\$grkwp, \$grkwpr, \$Awfif::memes-> {kwmi}, \$Awfif::memes-> {kwmir}, \$sponsor, \\$insymbol, \@inmsymbol, \@started, \\$end, \\$depstag, \\$depttag, \\$dephtag, \$cws, \$Awfif::memes-> {snnh} {stbinding}, ```
``` \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {budesc}], ```
``` '',#dont energize the base concepts ```
``` \\$setwsclinv ```
``` ); ```
```# deploy an initialised list ref descriptor in the <mkwordref> wso ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$cws]; ```
``` \$amkrwso = awsoadr (\$mkrwso); ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})), ```
``` (\$Awfif::memes-> {snnh} {wsi} + (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi})), ```
``` \$Awfif::memes-> {snnh} {listend}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
```# deploy an initialised list link descriptor in the <mkwordref> wso ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {wsi} + \$cws), ```
``` (\$Awfif::memes-> {snnh} {wsi} + 0), ```
``` \$Awfif::memes-> {snnh} {listlink}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
```# link the list head's link to the list mkwordref and move the list head wso address ```
``` ```
``` my (\$chead, \$slldesc); ```
``` \$chead = \$Awfif::workspace->{l} [\$slhdesc] - \$Awfif::memes-> {snnh} {wsi}; ```
``` \$slldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr(\$chead)] , \$Awfif::memes-> {snnh} {listlink}); ```
``` \$Awfif::workspace-> {l} [\$slldesc]  = \$mkrwso + \$Awfif::workspace-> {l} [\$slldesc] ; ```
```# update the list head ```
``` ```
``` \$Awfif::workspace-> {l} [\$slhdesc]  = \$mkrwso + \$Awfif::memes-> {snnh} {wsi}; ```
``` \$cascompopp = 't';#keep sponsoring ```
```# deploys a model-(sponsortype)-> cascompopp descriptor to take over schematic sponsorship from startlist kw ```
```# to terminate end list kw transaction codelet ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$sponsortype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {cascompopp}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
```# describe the list to the statement ```
``` my (\$stwso, \$astwso, \$attribs, \$cname); ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` if ((\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr)) != 0) { ```
``` \$astwso = awsoadr (\$stwso); ```
``` ```
``` \$attribs = addattrib (\$Awfif::memes-> {snnh} {attribs},''); ```
``` &addattrib (\$Awfif::memes-> {snnh} {attrib}, \$Awfif::memes->{snnh} {icselector}, ''); ```
``` &addattrib (\$Awfif::memes-> {snnh} {attrib}, \$cws, ''); ```
``` \$cname = getstlistname (\$myli, \$cws, \$bcwso); ```
``` &addattrib (\$Awfif::memes-> {snnh} {attrib}, \$bcwso, ''); ```
``` &addattrib (\$Awfif::memes-> {snnh} {attrib}, \$cname, ''); ```
``` &addattrib (\$Awfif::memes-> {snnh} {attribe},''); ```
``` ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {attrib}, ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$attribs), ```
``` \$Awfif::memes-> {snnh} {icselector}, ```
``` \$Awfif::wsol-> {l} [\$astwso], ```
``` \$astwso); ```
``` };#found statement ```
``` ```
``` \$catalysis = grabcodelet (\$myli, \$sldesc, \$cws, \$abcwso); ```
```# move the workspace position ```
``` ```
``` &movecomplex (\$myli, \$sldesc, 1, \$abcwso); ```
```# endlistkwtceu1 ```
``` &iskipw (\$myli, \$sldesc, \$cws, \$aws, \$abcwso); ```
``` }#if ```
``` elsif (\$subpl  > 0) { ```
``` ```
``` for (\$i = 1; \$i <= \$subpl; \$i++) { ```
``` if ((defined (\$subpl [\$i])) ```
``` && (\$subpl [\$i] > 0) ```
``` && ((! defined (\$Awfif::subpl-> {l} [\$subpl [\$i]])) or (\$Awfif::subpl-> {l} [\$subpl [\$i]] == 0)) ```
``` ) { ```
``` ```
``` my (\$codeletdef); ```
``` \$waitingondesc = 't'; ```
``` &waitondesc (\$myli, \$abcwso, (\$subpl [\$i] + \$Awfif::memes-> {snnh} {wsi}), \$Awfif::memes-> {snnh} {completed}, \$Awfif::memes-> {snnh} {subpref}, undef(), undef(), undef(), undef(), \\$codeletdef); ```
``` \$Awfif::subpl-> {l} [\$subpl [\$i]] = \$codeletdef;#syncing with descriptor ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` };#if ```
``` };#for ```
``` if (!\$waitingondesc) { ```
``` ```
``` \$endlkwbndsel = ''; ```
``` };#if ```
``` };#elsif ```
``` };# if ```
```# become the sponsor of the cascade opp's start ```
```# The builder [mps] signals the nucleus <codelet 21 wso> <schema> [<wso 'string' from schema>] ```
``` ```
``` my (\$giveup); ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
```# endlistkwbuunb ```
``` ```
``` if ( ( ( (\$cascompopp) ```
``` && (!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype))) ) ```
``` or (\$usetrans != 0) ```
``` or (!defined (\$Awfif::tmassl-> {first} {\$asponsor}))# there is no evidence of any signal to cascade so unbind could otherwise get in and cause lockout ```
``` or (\$count > 0) ```
``` ) ```
``` && (!\$stcomp) ```
``` ) {#sponsor more of self ```
```# endlistkwbhiurgu1 ```
``` ```
``` my (\$hiurg); ```
``` if ((\$subpl == 0) ```
``` && (\$nsubs > 0) ```
``` && ((\$count != 0) or (\$usetrans != 0)) ```
``` ){#aim to filter onto all subprograms completed ```
``` ```
``` \$hiurg = 't';#raise signal priority ```
``` if ( (defined (\$Awfif::memes-> {endlkwacompbreak})) ```
``` && (\$Awfif::memes-> {endlkwacompbreak}) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` };#if ```
``` ```
``` &ilaunchnc (\$myli, \$bcwso, 'casoppi', \$Awfif::memes-> {snnh} {casinsopp}, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` '32,37', #mask out codelet-> {l}  i.e. {tfree} ```
``` \$usetrans, ```
``` \\$transid, ```
``` \\$transtatus ```
``` ,\$Awfif::codelet-> {l} [\$myli] , ```
``` undef (), #jhlabeli ```
``` undef (), #jhlabeloi ```
``` undef (), #newli ```
``` \$hiurg, ```
``` undef (), #usepooling ```
``` ( (ifindupri (\$myli, \$sponsor)) && (!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinit}, \$sponsortype))) )#buildoffurg ```
``` ); ```
``` ```
``` if ((\$usetrans == 0) ```
``` && (defined (\$transid) && ( (\$transtatus == \$Awfif::memes-> {snnh} {completed}) or (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}) ) ) ```
``` ){#record the transid ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \$transid, \$subpid, \$stransmgrid); ```
``` };#if ```
``` ```
``` if ((!(hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {cascompopp}, \$sponsortype))) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$sponsortype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {cascompopp}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
``` };#if ```
```# endlistkwbtfu4 ```
```# can't free until loose sponsorship ```
``` ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{cassponsor}); ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, ```
``` \$sponsor, #gsoid ```
``` teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ), ```
``` 't',# sponsor should be one after telomeric header ```
``` undef (),#strategy ```
``` undef (),#dontamp ```
``` undef (),#stws ```
``` undef (),#issubp ```
``` undef (),#subp ```
``` undef (),#nodebug ```
``` \$endlkwbndsel #nodelayselect ```
``` ); ```
``` \$usedngc = 't'; ```
``` }#if ```
``` elsif (!\$waitingondesc) { ```
```# must free once loose sponsorship ```
```# endlistkwbtfu5 ```
```# endlistkwbhiurgu2 ```
``` ```
``` if ( (defined (\$Awfif::memes-> {endlkwbstcompbreak})) ```
``` && (\$Awfif::memes-> {endlkwbstcompbreak}) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if (\$Awfif::memes-> {tdfsampdo}) { ```
``` ```
``` if ((defined (\$Awfif::memes-> {endlkwhiu2break})) && (\$Awfif::memes-> {endlkwhiu2break}) ){&break()}; ```
``` \$Awfif::memes-> {tdfsampdo} = ''; ```
``` };#if ```
``` ```
``` if ( (defined (\$usetrans)) ){ ```
``` ```
``` \$transtatus = \$Awfif::memes-> {snnh}{wascassponsor}; ```
``` };#if ```
``` ```
``` if (\$Awfif::codelet-> {l}[\$myli]  == 1) { ```
``` ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{wascassponsor}); ```
``` };#if ```
``` ```
``` if( (defined (\$transid)) && (\$transtatus == \$Awfif::memes-> {snnh} {deleted}) #must mask the transaction id ```
``` ){ ```
```# endlistkwbtmstu2 ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, 0, 0, \$stransmgrid); ```
``` };#if ```
``` ```
``` &imasksupp (\$myli); ```
``` };#else ```
``` }# if is start record ```
``` else {#report error 'impossible context situation' to statement codelet ```
``` ```
``` my (\$stwso, \$astwso); ```
``` if (\$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr) != 0) { ```
``` ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( wsbasetype ( trwsoadr (\$Awfif::codelet-> {l} [\$myli],2)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {error}), ```
``` \$Awfif::memes-> {snnh} {bind}, ```
``` \$Awfif::wsol-> {l} [\$astwso] , ```
``` \$astwso); ```
``` };#if ```
```# endlistkwbldubo1 ```
``` ```
``` &imasksupp (\$myli); ```
``` }; ```
``` if (\$catalysis) { ```
``` ```
``` &applycodelet (\$myli, \$sldesc, \$cws, \$abcwso, \\$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
``` ```
``` if ( (defined (\$Awfif::memes-> {endlistngcbreak})) ```
``` && (\$Awfif::memes-> {endlistngcbreak} ) ```
``` && (\$Awfif::memes-> {!\$usedngc} ) ```
``` && (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype) ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (\$myli); ```
``` }# endlistkwbuilder1 ```
``` ```
```# ```
```#<!-- end tag ds --> ```
```# ```
```sub unbindevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` &iunbindevaluator1 (\$myli, 'unbindbuilder', \\$\$kwp, \$kwpr, \@\$sactset); ```
``` }# unbindevaluator1 ```
```# ```
```#<!-- start tag aso --> ```
```# ```
```sub iunbindevaluator1 { ```
``` my (\$myli, \$strategy, \$kwp, \$kwpr, \$sactset) = @_; ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$cwsbi, \$cws, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
```# unbind codelet responds to group complete disocciating the binder complex ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 4)) { ```
``` ```
``` if ( icompletesc (\$myli, \$strategy, \$sponsor, \\$cws, \\$\$kwp, \$kwpr, \@\$sactset) ```
``` ){ ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = \$strategy; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), \$strategy, \$\$kwp, \$kwpr, \@\$sactset); ```
``` }#if ```
```# unbindevalubo1 ```
``` else { ```
``` ```
``` my (\$sponsortype); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` if ( ```
``` (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` && (!promotesib (\$myli)) ```
``` ){ ```
``` ```
``` &imasksupp (\$myli); ```
``` };#if ```
``` };#else ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# iunbindevaluator1 ```
```# ```
```#<!-- end tag aso --> ```
```# ```
```sub unbindbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$sponsortype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# checked for merged workspaces ```
``` ```
```# unbind codelet responds to group complete disocciating the binder complex ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` my (@typel, \$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bdwso, \$abdwso, \$cwsbi, \$aws); ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` \$typel = wsbasetype (trwsoadr (\$twso, -3)); ```
``` \$typel = wsbasetype (trwsoadr (\$twso, -2)); ```
``` \$typel = wsbasetype (trwsoadr (\$twso, -1)); ```
``` ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` &bindhistone (\$myli, \$cws, \$bdwso); ```
``` my (\$count, \$descfits, \$conforms, \$mkrwso, \$amkrwso); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$mkrwso = \$Awfif::wsbl-> {wsoh} [\$cws]; ```
``` \$amkrwso = awsoadr (\$mkrwso); ```
``` ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abdwso = awsoadr (\$bdwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 3), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$typel , ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$typel , ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$typel )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` ){#request holds ```
```# reset the wsposition to zero ```
``` ```
``` my (\$stwso, \$astwso); ```
``` &relcodelets (\$myli, \$sldesc, \$cws, \$abdwso); ```
``` \$Awfif::workspace-> {l} [\$sldesc]  = \$Awfif::memes-> {snnh} {wsi} + 0; ```
```# inform the controlling statement of unbinding ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$stwso = getmystatement (\$myli, \$sponsor, \$grkwp, \$grkwpr); ```
``` \$astwso = awsoadr (\$stwso); ```
``` \$Awfif::wsol-> {l} [\$astwso] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {unbind}, ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$sponsortype), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$astwso], ```
``` \$astwso, ```
``` 't'); ```
```# unbindbuildubo1 ```
```# terminate the cascade ```
``` ```
``` \$Awfif::wsol-> {l} [\$amkrwso] ```
``` = setupdesc ( (\$sponsortype), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {casunbind}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$amkrwso] , ```
``` \$amkrwso); ```
```# unbindbuildutp1 ```
```# if transaction protected reply completed ```
``` ```
``` if (\$Awfif::codelet-> {l} [\$myli]  != 0) { ```
``` ```
``` my (\$transtatus); ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$Awfif::codelet-> {l} [\$myli] , \\$transtatus); ```
``` };#if ```
``` if (\$Awfif::memes-> {tdfsampdo}) { ```
``` ```
``` if ((defined (\$Awfif::memes-> {unbindhiu2break})) && (\$Awfif::memes-> {unbindhiu2break}) ){&break()}; ```
``` \$Awfif::memes-> {tdfsampdo} = ''; ```
``` };#if ```
```# unbindbuildihu1 ```
```# inactivate the histone ```
``` ```
``` &controlhistone (\$myli, \$cws, \$bdwso, 1); ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` ```
``` &clogstatx (); ```
``` }# unbindbuilder1 ```
```#<!-- start tag sia --> ```
```# ```
```sub ivalevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$strategy, \$token) = @_; ```
``` my (\$sponsor, \$atelhwso, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$launchedbuilder, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
``` my (\$cws, \$bcwso, \$cwsbi, \$launchev, \$fbinderc); ```
``` my (\$asponsor); ```
```# checked for merged workspaces ```
``` ```
```# value structure codelet responds to group complete providing processing of selector and value structures with gowithin properties ```
```# this requires frame shifting, and initiation of sub-codelets to enter the frame shifted wso structure ```
``` \$noswstype = ''; ```
``` \$launchedbuilder = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3) ```
``` ){ ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$atelhwso = awsoadr (trwsoadr (\$sponsor, -1)); ```
``` \$launchev = iivalevaluator1 (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc, \$token); ```
``` if ((\$fbinderc > 0) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
``` ```
``` my (\$ifstws, \$ifisstws); ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
```# ivaleurgu1 ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if (\$Awfif::codelet-> {l} [\$myli]  > 0 ```
``` ){ ```
``` ```
``` \$ifstws = \$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] ; ```
``` \$ifisstws = \$Awfif::memes-> {snnh} {subpstbinding}; ```
``` };#if ```
``` if ((ifindupri (\$myli, \$sponsor, undef (), 't', \$ifstws, \$ifisstws, \$Awfif::codelet-> {l} [\$myli] )) ```
``` ){# ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] / \$Awfif::memes-> {pappbu}); ```
``` }#if ```
``` else { ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` };#else ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli]) ```
``` ){ ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` };#else ```
``` \$Awfif::clp-> {strategy} = \$strategy; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {tfree} = 1;#ivalw should not be freed without running ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), \$strategy, \$\$kwp, \$kwpr, \@\$sactset); ```
``` \$launchedbuilder = 't'; ```
``` }#if ```
```# seltstevalubo1 ```
``` else { ```
``` ```
``` my (\$sponsortype, \$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` &ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset); ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` if (subpstate (\$Awfif::codelet-> {l} [\$myli]) == \$Awfif::memes-> {snnh} {completed} ```
``` ){ ```
``` ```
``` }#if ```
``` elsif ( ((\$Awfif::memes-> {currentwsbi} = \$cws)!= 0) ```
``` && (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$Awfif::wsbl-> {wsoh} [\$cws])] , \$Awfif::memes-> {snnh} {casunbind}, \$sponsortype, \$Awfif::memes-> {snnh} {model})) ```
``` && (!promotesib (\$myli)) ```
``` ){ ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` &imasksupp (\$myli); ```
```# complete the sponsors transaction ```
``` ```
``` my (\$transtatus); ```
``` \$transtatus = 0;#find out the status of the transaction ```
``` if ( (defined (\$Awfif::codelet-> {l} [\$myli] )) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  != 0) ```
``` ){ ```
``` ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$cws, \$bdwso, \$abdwso, @csubpl); ```
``` my (\$reportdesc, \$areportwso, \$transtatus); ```
``` &ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset); ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abdwso = awsoadr (\$bdwso); ```
``` ```
``` @csubpl = listcsubp (\$myli, \$abdwso); ```
```# if dont get any f1s AND my own bcsubpc has written its completion descriptor ```
``` if( (getf1tmgr (\$myli, \$atelhwso, \$asponsor, \$Awfif::codelet-> {l} [\$myli] , undef(), undef(), \@csubpl) == 0) ```
``` && ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abdwso)] , \$Awfif::memes-> {snnh} {completed})) != 0 ) ```
``` && (\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi}) > 0) ```
``` && ((\$areportwso = awsoadr ((\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi}))) > 0) ```
``` &&((findbond (\$Awfif::wsol-> {l} [ \$areportwso] , \$Awfif::codelet-> {l} [\$myli] , \$Awfif::memes-> {snnh} {completed}, \$Awfif::memes-> {snnh} {subprogram}))) ```
``` ){ ```
``` ```
``` if ( (defined (\$Awfif::memes-> {valbsubpnspcbreak})) ```
``` && (\$Awfif::memes-> {valbsubpnspcbreak}) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$Awfif::codelet-> {l} [\$myli] , \\$transtatus); ```
``` };#if ```
``` };#if ```
``` };#elsif ```
``` };#else ```
``` };#if ```
``` if ((!\$launchedbuilder) ```
``` && (subpcsponsor (\$myli, \$sponsor)) ```
``` ){ ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),undef(), undef (), 't');# sponsor should be one after telomeric header ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` }# ivalevaluator1 ```
```# ```
```sub iivalevaluator1 { ```
``` my (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$kwp, \$kwpr, \$sactset, \$noswstype, \$fbinderc, \$token) = @_;#bsmodeler requires the ignored parameters for its general interface ```
``` my (\$usetrans, \$subpid, \$dolaunch, @csubpl, \$cwsbi); ```
``` my (\$atelhwso); ```
``` my (\$abdwso, \$asponsor); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (\$Awfif::memes-> {checktransidnz}) ```
``` && (\$Awfif::codelet-> {l} [\$myli] > 0) ```
``` && (\$Awfif::codelet-> {l} [\$myli] == 0) ```
``` && (findsubpicnm (\$myli, \$Awfif::codelet-> {l}[\$myli], setupbuildername (setupprocname (\$myli))) > 0) ```
``` && (!mysubtrancomp (\$myli, findsubpicnm (\$myli, \$Awfif::codelet-> {l}[\$myli], setupbuildername (setupprocname (\$myli)) ```
``` ), setupbuildername (setupprocname (\$myli)))) ```
``` ){ ```
``` ```
``` &break (); ```
``` };#if ```
``` if ((\$Awfif::memes-> {valesubpbreak}) && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` ```
``` if ( (defined (\$Awfif::memes-> {valesubpspbreak})) ```
``` && (\$Awfif::memes-> {valesubpspbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ((\$Awfif::memes-> {valemainpbreak}) && (\$Awfif::codelet-> {l} [\$myli]  == 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` ```
``` \$dolaunch = ''; ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$sldesc, \$cws, \$bdwso, \$aws); ```
```# checked for merged workspaces ```
``` ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$atelhwso = awsoadr (trwsoadr (\$sponsor, -1)); ```
``` ```
``` if ( (\$\$fbinderc = ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bdwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` my (\$count, \$descfits, \$conforms, \$stransmgrid); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abdwso = awsoadr (\$bdwso); ```
```# ivaletmstu1 ```
``` ```
``` @csubpl = listcsubp (\$myli, \$abdwso); ```
``` \$usetrans = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = getf1tmgr (\$myli, \$atelhwso, \$asponsor, \$Awfif::codelet-> {l} [\$myli] , \\$usetrans, \\$stransmgrid, \@csubpl); ```
```# ivaletfu ```
```# removed ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [ awsoadr (\$bdwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ( (\$Awfif::memes-> {currentwsbi} = (\$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}))) != 0 ) ```
``` && ((\$count = ipartseqcount ('onematch', \$myli, (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), trwsoadr((\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}), 1), \\$descfits, \\$conforms, \$Awfif::wsbl-> {wsoh} [\$aws], \$Awfif::wsbl-> {wsft} [\$aws], ```
``` \$Awfif::memes-> {snnh} {tokencategory}, \$token, ```
``` \$Awfif::memes-> {snnh} {andcategory}, \$Awfif::memes-> {snnh} {start}, ```
``` \$Awfif::memes-> {snnh} {orcategory}, \$Awfif::memes-> {snnh} {alternate} )>0)) ```
``` && (\$conforms) ```
``` && (\$descfits) ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
```# ivalwecompsubu1 ```
``` or (spicompsub (\$myli, 'binderc')) ```
``` ){#launch builder ```
``` ```
``` \$dolaunch = 't'; ```
``` };#if ```
``` }#if ```
``` else {#unexpected failure of ifindb ```
``` ```
``` &break (); ##### ```
``` };#else ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("iivalevaluatorx ret (\$dolaunch)\n"); ```
``` };#if ```
``` return \$dolaunch ```
``` }# iivalevaluator1 ```
```#<!-- end tag sia --> ```
```#<!-- start tag scc --> ```
```# ```
```sub bcsubpcevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$sponsortype, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# subprogram completion codelet is active when the end of a subprogram workspace is detected ```
```# checked for merged workspaces ```
``` ```
``` \$noswstype = ''; ```
``` my (\$cws, \$bcwso, \$cwsbi, \$launchev, \$fbinderc); ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` ```
``` \$launchev = ibcsubpcevaluator1 (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc); ```
``` if ((\$fbinderc > 0) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
```# bcsubpcevalubo4 ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if ((ifindupri (\$myli, \$sponsor)) ```
```# bcsubpcevalubo2 ```
``` && ( !( (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype) ) ```
``` or ```
``` (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype) ) ) ) ```
``` ){# ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] / \$Awfif::memes-> {pappbu}); ```
```# bcsubpcevalubo3 ```
``` &dropsalience (\$myli, \$sponsor); ```
``` }#if ```
``` else { ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` };#else ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "bcsubpcbuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), "bcsubpcbuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` }#if ```
```# bcsubpcevalubo1 ```
``` else { ```
``` ```
``` if (subpstate (\$Awfif::codelet-> {l} [\$myli]) == \$Awfif::memes-> {snnh} {completed}) { ```
``` ```
``` }#if ```
``` elsif (!promotesib (\$myli)) { ```
``` ```
``` &imasksupp (\$myli); ```
``` };#elsif ```
``` };#else ```
``` };#if ```
``` };#got buffer ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (\$myli); ```
``` }# bcsubpcevaluator1 ```
```# ```
```sub ibcsubpcevaluator1 { ```
``` my (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$kwp, \$kwpr, \$sactset, \$noswstype, \$fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface ```
``` my (\$sponsortype, \$usetrans, \$subpid, \$dolaunch); ```
```# ```
```# subprogram completion codelet is active when the end of a subprogram workspace is detected ```
```# checked for merged workspaces ```
``` ```
``` \$noswstype = ''; ```
``` \$dolaunch = ''; ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$termdesc, \$reportdesc, \$cws, \$bcwso, \$abcwso, \$cwsbi); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (\$\$fbinderc = ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
```# ibcsubpcetmstu1 ```
``` \$usetrans = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` &gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$usetrans, \\$subpid); ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ((\$termdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {subprogram}, (\$Awfif::memes-> {snnh} {stop}))) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$termdesc]  == \$Awfif::workspace-> {l} [\$sldesc] ) ```
``` && ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {completed})) != 0 ) ```
``` or ( newunmsubp (\$myli, \$abcwso)) ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` ){#launch builder ```
``` \$dolaunch = 't'; ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("ibcsubpcevaluatorx ret (\$dolaunch)\n"); ```
``` }; ```
``` return \$dolaunch ```
``` }# ibcsubpcevaluator1 ```
```# ```
```sub bcsubpcbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
```# subprogram completion codelet is active when the end of a subprogram workspace is detected ```
``` ```
``` \$salience = ievalbsmodeler1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \\$\$and, 'ibcsubpcevaluator'); ```
``` \$\$and = 't'; ```
``` return \$salience ```
``` }# bcsubpcbsmodeler1 ```
```# ```
```#<!-- end tag scc --> ```
```# ```
```sub ievalbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and, \$strategy, \$itoken) = @_;#itoken should only be defined for ival based codelets ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$salience, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# inversion modeling codelet calls the strategy routine allowing evaluation of situation to be a modeling input ```
```# checked for merged workspaces ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("ievalbsmodeler myli \$myli strategy \$strategy itoken (\$itoken) kwp(\$\$kwp) kwpr(\$kwpr) "); ```
``` }; ```
``` ```
```# inverted evaluator component for modeling ```
``` \$noswstype = ''; ```
``` my (\$cwsbi, \$launchev, \$fbinderc); ```
``` if (!defined (\$Awfif::memes-> {currentwsbi})) {&break()}; ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$\$and = ''; ```
``` \$salience = \$Awfif::memes-> {bnotsalient}; ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::codelet-> {l} [\$myli]  = mapsubtotmgrid ( awsoadr (trwsoadr (\$Awfif::codelet-> {l} [\$myli] , -1)), \$Awfif::memes-> {snnh} {rtran}, \$Awfif::codelet-> {l} [\$myli] ); ```
``` ```
``` if ( ( (\$Awfif::codelet-> {l} [\$myli]  == 0) ```
``` or ( (\$Awfif::codelet-> {l} [\$myli]  > 0) && (\$Awfif::codelet-> {l} [\$myli]  > 0) )#or ```
``` )#ifclause ```
``` && (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3, '')) ```
``` ){#must role in ```
``` ```
``` no strict 'refs'; ```
``` \$launchev = \$Awfif::memes-> {binds}-> {\$strategy}-> (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc, \$itoken); ```
``` if ((\$fbinderc) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
``` ```
``` \$salience = \$Awfif::memes-> {bsalient}; ```
``` };#if ```
``` };#if ```
``` &clogstatx (\$myli); ```
``` };#got buffer ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if (!defined (\$Awfif::memes-> {currentwsbi})) {&break()}; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("ievalbsmodelerx and \$\$and ret (\$salience)\n"); ```
``` }; ```
``` return \$salience ```
``` }# ievalbsmodeler1 ```
```# ```
```#<!-- start tag sia --> ```
```#<!-- start tag ds -resweb --> ```
```#<!-- start tag scc --> ```
```# ```
```sub bcsubpcbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$swstype, \$noswstype, \$sponsortype, \$usetrans, \$stransmgrid, \$catalysis, \$reportcaspart, \$transtatus, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# binder complex sub-program completion codelet monitors for the termination condition of a sub-program ```
```# checked for merged workspaces ```
``` ```
``` \$reportcaspart = ''; ```
``` \$noswstype = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$abcwso, \$cwsbi); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (defined (\$Awfif::memes-> {bcsubpcbsubpspbreak})) ```
``` && (\$Awfif::memes-> {bcsubpcbsubpspbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {bcsubpcbsubpnspbreak})) ```
``` && (\$Awfif::memes-> {bcsubpcbsubpnspbreak}) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
```# bcsubpcbbhu1 ```
``` ```
``` &bindhistone (\$myli, \$cws, \$bcwso); ```
``` my (\$termdesc, \$reportdesc, \$arunningwso, \$transid, \$subpid); ```
```# bcsubpcbtmstu1 ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$transid = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$stransmgrid = gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$transid, \\$subpid); ```
``` \$usetrans = \$transid; ```
``` if (\$transid == 0 ) { ```
``` ```
``` \$transid = undef(); ```
``` \$transtatus = \$Awfif::memes-> {snnh} {transid}; ```
``` }#if ```
``` else { ```
``` ```
``` \$transtatus = \$Awfif::memes-> {snnh} {cassponsor};#unless shift to wascassponsor ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {cassponsor}, undef(), \$transid, \\$transtatus); ```
``` };#else ```
```# bcsubpcbtfu ```
```# removed ```
``` ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ((\$termdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {subprogram}, (\$Awfif::memes-> {snnh} {stop}))) != 0 )#ival deploys this for the bcsubpc when setting up the subprogram ```
``` && (\$Awfif::workspace-> {l} [\$termdesc]  == \$Awfif::workspace-> {l} [\$sldesc] ) ```
``` && ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {completed})) != 0 )#ival deploys to describe how to report completion ```
``` or ( newunmsubp (\$myli, \$abcwso)) ```
``` or ( (\$usetrans != 0)) # ```
``` ){#report completion ```
``` ```
``` my (\$i, @subpl); ```
``` if ((defined (\$reportdesc)) && (\$reportdesc != 0)) {#try to initiate catalysis ```
```# bcsubpcbgrabu1 ```
``` ```
``` \$catalysis = grabcodelet (\$myli, \$sldesc, \$cws, \$abcwso, 't'); ```
``` };#if ```
```# bcsubpcbtrsal1 ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((!defined(\$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] )) or (\$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  == \$Awfif::memes-> {snnh} {start}) ) ```
``` ) { ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {incomplete}; ```
``` };#if ```
``` @subpl = listunmsubp (\$myli, \$abcwso); ```
``` if (\$subpl > 0) { ```
```# bcsubpcbses1 ```
``` ```
``` for (\$i = 1; \$i <= \$subpl; \$i++) { ```
``` if ((defined (\$subpl [\$i])) ```
``` && (\$subpl [\$i] > 0) ```
``` && ((! defined (\$Awfif::subpl-> {l} [\$subpl [\$i]])) or (\$Awfif::subpl-> {l} [\$subpl [\$i]] == 0)) ```
``` ) { ```
``` ```
``` my (\$codeletdef); ```
``` &waitondesc (\$myli, \$abcwso, (\$subpl [\$i] + \$Awfif::memes-> {snnh} {wsi}), \$Awfif::memes-> {snnh} {completed}, \$Awfif::memes-> {snnh} {subpref}, undef(), undef(), undef(), undef(), \\$codeletdef); ```
``` \$Awfif::subpl-> {l} [\$subpl [\$i]] = \$codeletdef;#syncing with descriptor ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` };#if ```
``` };#for ```
```# bcsubpcdeolu1 ```
```# cwsposition has reached end of subprogram ws - write end of stream descriptor to emulate endlistkwbuilder so q deferred bcsubps, ivalw launched on gowithin from this ws, will start ```
``` ```
``` if ((defined (\$termdesc)) ```
``` && (\$termdesc > 0) ```
``` && (defined (\$sldesc)) ```
``` && (\$sldesc > 0) ```
``` && (\$Awfif::workspace-> {l} [\$termdesc]  == \$Awfif::workspace-> {l} [\$sldesc] ) ```
``` &&((findtdesc (\$Awfif::wsol-> {l} [ \$abcwso] , \$Awfif::memes-> {snnh} {model}, \$Awfif::memes-> {snnh} {found}, (\$Awfif::memes-> {snnh} {endlistkwevaluator} + \$Awfif::memes-> {snnh} {wsi}) )) == 0) ```
``` ){#simulate endkwlist report that have reached end of list ```
``` ```
``` if ( (defined (\$Awfif::memes-> {endlkwbesdbreak})) ```
``` && (\$Awfif::memes-> {endlkwbesdbreak}) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` ```
``` \$Awfif::wsol-> {l} [\$abcwso] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {found}, ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {endlistkwevaluator}), # ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$abcwso] , ```
``` \$abcwso, ```
``` 't'); ```
``` };#if describe finding end of list ```
``` }#if ```
``` else { ```
``` ```
``` my (\$areportwso, \$subp11i); ```
``` \$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$areportwso = awsoadr ((\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})); ```
``` if ((!(findbond (\$Awfif::wsol-> {l} [ \$areportwso] , \$Awfif::codelet-> {l} [\$myli] , \$Awfif::memes-> {snnh} {completed}, \$Awfif::memes-> {snnh} {subprogram})))) { ```
``` ```
``` \$Awfif::wsol-> {l} [\$areportwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {completed}), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::codelet-> {l} [\$myli] ), #to match findbond ```
``` \$Awfif::memes-> {snnh} {subprogram}, ```
``` \$Awfif::wsol-> {l} [\$areportwso], ```
``` \$areportwso); ```
```# complete the sponsors transaction ```
``` ```
```# bcsubpcbuitrau1 ```
``` \$transtatus = 0;#find out the status of the transaction ```
``` };#if ```
``` if ( (defined (\$Awfif::codelet-> {l} [\$myli] )) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  != 0) ```
``` ){ ```
``` ```
``` \$reportcaspart = 't'; ```
``` };#if ```
```# bcsubpcbuitcompu1 ```
``` \$subp11i = findsubpicnm (\$myli, \$Awfif::codelet-> {l} [\$myli] , \$Awfif::codelet-> {l} [\$myli] ); ```
``` if ((!(findbond (\$Awfif::wsol-> {l} [ \$areportwso] , \$Awfif::codelet-> {l} [\$myli] , \$Awfif::memes-> {snnh} {completed}, \$Awfif::memes-> {snnh} {subpref}))) ```
``` && (subtrancomp (\$myli, \$subp11i) ) ```
``` ){ ```
``` ```
``` if ( (defined (\$Awfif::memes-> {bcsubpcbsubpspabreak})) ```
``` && (\$Awfif::memes-> {bcsubpcbsubpspabreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {bcsubpcbsubpnspabreak})) ```
``` && (\$Awfif::memes-> {bcsubpcbsubpnspabreak} ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` \$Awfif::wsol-> {l} [\$areportwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {completed}), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::codelet-> {l} [\$myli] ), #to match findbond ```
``` \$Awfif::memes-> {snnh} {subpref}, ```
``` \$Awfif::wsol-> {l} [\$areportwso], ```
``` \$areportwso, ```
``` 't');#sync with deferred codelet ```
```# bcsubpcbmdfu1 ```
``` ```
``` my (\$is); ```
``` for (\$is = 1; \$is < \$Awfif::subpl-> {p}; \$is++) { ```
``` \$Awfif::subpl-> {q}  [ \$is ] = (); ```
``` \$Awfif::subpl-> {q}  [ \$is ] = 0; ```
``` };#for ```
``` \$Awfif::memes-> {tdfsampdo} = ''; ```
``` }#if ```
```# bcsubpcbwonstcu1 ```
``` elsif ( (!(findbond (\$Awfif::wsol-> {l} [ \$areportwso] , \$Awfif::codelet-> {l} [\$myli] , \$Awfif::memes-> {snnh} {completed}, \$Awfif::memes-> {snnh} {subpref}))) ```
``` && ( (!defined(\$Awfif::tral-> {w} [\$Awfif::subpl-> {l}[\$Awfif::codelet-> {l} [\$myli] ]  [\$subp11i] ]))#should check for no presence in list of this codelet name ```
``` or (\$Awfif::tral-> {w} [\$Awfif::subpl-> {l}[\$Awfif::codelet-> {l} [\$myli] ]  [\$subp11i] ] == 0) )#should check for no presence in list of this codelet name ```
``` ){#issue wait ```
``` ```
``` if ( (defined (\$Awfif::memes-> {bcsubpcbsubpspwbreak})) ```
``` && (\$Awfif::memes-> {bcsubpcbsubpspwbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {bcsubpcbsubpnspwbreak})) ```
``` && (\$Awfif::memes-> {bcsubpcbsubpnspwbreak} ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` &waitonstrancomp (\$myli, \$kwp, \$kwpr, \@\$sactset); ```
``` };#elsif ```
```# bcsubpcbtrsal2 ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ) { ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {completed}; ```
``` };#if ```
``` };#else ```
``` };#if ready to complete ```
```# bcsubpcbrrunu1 ```
``` ```
``` if ( ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {completed})) != 0 )#report that codelet has run allowing it to be grabbed ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) > 0 ) ```
``` && ((\$arunningwso = awsoadr ((\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) ) > 0 ) ```
``` && ((findtdesc (\$Awfif::wsol-> {l} [(\$arunningwso)] , \$Awfif::memes-> {snnh} {running}, \$Awfif::memes-> {snnh} {\$Awfif::codelet-> {l} [\$myli] }, (\$Awfif::codelet-> {l} [\$myli]  + \$Awfif::memes-> {snnh} {wsi}) )) == 0 ) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$arunningwso] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {\$Awfif::codelet-> {l} [\$myli] }, # ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::codelet-> {l} [\$myli] ), #to match findbond ```
``` \$Awfif::memes-> {snnh} {running}, ```
``` \$Awfif::wsol-> {l} [\$arunningwso], ```
``` \$arunningwso); ```
``` ```
``` &compclone (\$myli); ```
``` };#if ```
``` };#if ifindb ```
``` if (\$reportcaspart) { ```
``` ```
``` if ( (defined (\$Awfif::memes-> {bcsubpcbsubpspcbreak})) ```
``` && (\$Awfif::memes-> {bcsubpcbsubpspcbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {bcsubpcbsubpnspcbreak})) ```
``` && (\$Awfif::memes-> {bcsubpcbsubpnspcbreak} ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$Awfif::codelet-> {l} [\$myli] , \\$transtatus); ```
``` &itcpdist (\$Awfif::memes-> {codeleth}); ```
``` };#if ```
``` if (\$catalysis) { ```
``` ```
``` &applycodelet (\$myli, \$sldesc, \$cws, \$abcwso, \\$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (\$myli); ```
``` }# bcsubpcbuilder1 ```
```# ```
```#<!-- end tag scc --> ```
```#<!-- end tag ds --> ```
```#<!-- end tag sia --> ```
```# ```
```sub bcsubpsevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$signal, \$schema, \$spi, \$swstype, \$noswstype, \$sponsortype, \$launchedbuilder, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# binder complex sub-program initiation codelet sponsors the sub-program while the termination condition does not hold ```
```# checked for merged workspaces ```
``` ```
``` \$noswstype = ''; ```
``` \$launchedbuilder = ''; ```
``` my (\$cws, \$bcwso, \$cwsbi, \$launchev, \$fbinderc); ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$launchev = ibcsubpsevaluator1 (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, \@\$sactset, \$noswstype, \\$fbinderc); ```
``` if ((\$fbinderc) ```
``` ){# ```
``` ```
``` if ((\$launchev) ```
``` ){ ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
```# bcsubpsevalubo4 ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if ((ifindupri (\$myli, \$sponsor)) ```
```# bcsubpsevalubo2 ```
``` && ( !( (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype) ) ```
``` or ```
``` (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype) ) ) ) ```
``` ){# ```
``` ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] / \$Awfif::memes-> {pappbu}); ```
```# bcsubpsevalubo3 ```
``` &dropsalience (\$myli, \$sponsor); ```
``` }#if ```
``` else { ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` };#else ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "bcsubpsbuilder"; ```
``` \$Awfif::clp-> {action}-> {sponsor} = \$sponsor; ```
``` \$Awfif::clp-> {action}-> {signal} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {schema} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {ref} = \$spi; ```
``` \$Awfif::clp-> {action}-> {sws} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::clp-> {action}-> {wss} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {action}-> {wse} = \$Awfif::codelet-> {l} [\$myli]; ```
``` &groupsinv1 (\$myli, undef(), undef(), undef(), undef(), undef(), "bcsubpsbuilder", \$\$kwp, \$kwpr, \@\$sactset); ```
``` \$launchedbuilder = 't'; ```
``` };#if ```
``` }#if ```
```# bcsubpsevalubo1 ```
``` else { ```
``` if (subpstate (\$Awfif::codelet-> {l} [\$myli]) == \$Awfif::memes-> {snnh} {completed}) { ```
``` ```
``` }#if ```
``` elsif (!promotesib (\$myli)) { ```
``` ```
``` &imasksupp (\$myli); ```
``` };#elsif ```
``` };#else ```
``` if ((!\$launchedbuilder) && (subpcsponsor (\$myli, \$sponsor))) { ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),undef(), undef (), 't');# sponsor should be one after telomeric header ```
``` };# ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (\$myli); ```
``` }# bcsubpsevaluator1 ```
```# ```
```sub ibcsubpsevaluator1 { ```
``` my (\$myli, \$sponsor, \$signal, \$schema, \$swstype, \$kwp, \$kwpr, \$sactset, \$noswstype, \$fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface ```
``` my (\$sponsortype, \$usetrans, \$subpid, \$dolaunch, \$atelhwso); ```
```# ```
```# binder complex sub-program initiation codelet sponsors the sub-program while the termination condition does not hold ```
```# checked for merged workspaces ```
``` ```
``` \$noswstype = ''; ```
``` \$dolaunch = ''; ```
``` if ( (defined (\$Awfif::memes-> {bcsubpsesubpnspbreak})) ```
``` && (\$Awfif::memes-> {bcsubpsesubpnspbreak}) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {bcsubpsesubpspbreak})) ```
``` && (\$Awfif::memes-> {bcsubpsesubpspbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` my (\$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$reportdesc, \$cws, \$bcwso, \$abcwso, \$cwsbi); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` \$atelhwso = awsoadr (trwsoadr (\$sponsor, -1)); ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if ( (\$\$fbinderc = ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
``` my (\$initdesc); ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
```# bcsubpsetmstu1 ```
``` \$usetrans = 0;#must be defined to be setup in gettmgr ```
``` \$subpid = \$Awfif::codelet-> {l} [\$myli] ; ```
``` &gettmgr (\$myli, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \\$usetrans, \\$subpid); ```
```# bcsubpsetfu ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso = awsoadr (\$bcwso))] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ((\$initdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {subprogram}, (\$Awfif::memes-> {snnh} {start}))) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$initdesc]  != \$Awfif::workspace-> {l} [\$sldesc] ) ```
``` && ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 ) ```
``` && ((subpstate (\$subpid) != \$Awfif::memes-> {snnh} {completed})) ```
``` or ( (\$usetrans != 0)) #must continue the transaction ```
``` ){#launch builder ```
```# bcsubpsedselu1 ```
```# if called in spigrabamp and the codelet has a positive delay specified before it is selected for running then decrement the select and return false ```
``` ```
``` my (\$counteri); ```
``` if ((\$Awfif::memes-> {spiglvl} == 0) ```
``` or (!findcounter (\$Awfif::wsol-> {l} [\$asponsor], \$Awfif::memes-> {snnh} {delayselect}, \\$counteri))#, undef(), undef (), \$Awfif::codelet-> {l} [\$myli] , \$atelhwso, 1)) ```
``` or (\$Awfif::workspace-> {l} [\$counteri]  != \$Awfif::codelet-> {l} [\$myli] )#this is a special use of findcounter for rolein/out only so these tests are a bit odd ```
``` or (\$Awfif::workspace-> {l} [\$counteri]  <= (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` ){ ```
``` ```
``` \$dolaunch = 't'; ```
``` }#if ```
``` elsif (\$counteri > 0){ ```
``` ```
``` \$Awfif::workspace-> {l} [\$counteri] --; ```
``` };#if ```
``` };#if ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("ibcsubpsevaluatorx ret (\$dolaunch)\n"); ```
``` }; ```
``` return \$dolaunch ```
``` }# ibcsubpsevaluator1 ```
```# ```
```sub bcsubpsbsmodeler1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset, \$and) = @_; ```
``` my (\$salience); ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("bcsubpsbsmodeler myli \$myli"); ```
``` }; ```
``` ```
``` \$salience = ievalbsmodeler1 (\$myli, \\$\$kwp, \$kwpr, \@\$sactset, \\$\$and, 'ibcsubpsevaluator'); ```
``` \$\$and = 't'; ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("bcsubpsbsmodelerx and (\$\$and) ret (\$salience)\n"); ```
``` }; ```
``` return \$salience ```
``` }# bcsubpsbsmodeler1 ```
```# ```
```#<!-- start tag sia --> ```
```#<!-- start tag scc --> ```
```#<!-- start tag ds -resweb --> ```
```# ```
```sub bcsubpsbuilder1 {#The ignored parameters are required by the codelet calling architecture ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$sponsor, \$atelhwso, \$signal, \$schema, \$swstype, \$noswstype, \$sponsortype, \$usetrans, \$transid, \$transtatus, \$stransmgrid, \$catalysis, \$signalled, \$usedngc, \$depsubs, \$jhlabeli, \$jhlabeliav, \$reportcaspart, \$dospigrabamp, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx); ```
```# ```
```# binder complex sub-program initiation codelet sponsors the sub-program while the termination condition does not hold ```
```# checked for merged workspaces ```
``` ```
``` \$dospigrabamp = ''; ```
``` if ( (defined (\$Awfif::memes-> {bcsubpsbsubpnspbreak})) ```
``` && (\$Awfif::memes-> {bcsubpsbsubpnspbreak}) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {bcsubpsbsubpspbreak})) ```
``` && (\$Awfif::memes-> {bcsubpsbsubpspbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` \$noswstype = ''; ```
``` \$usedngc = ''; ```
``` \$depsubs = ''; ```
``` \$reportcaspart = ''; ```
``` if (getcontext (\$myli, \\$sponsor, \\$signal, \\$schema, \\$swstype, \\$grkwp, \\$grkwpr, \$noswstype, \\$cdn, \\$cdnx, 3)) { ```
``` my (\$reportdesc, \$arunningwso, \$sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, \$twso, \$asponsor, \$sldesc, \$cws, \$bcwso, \$abcwso, \$cwsbi); ```
``` \$twso = trwsoadr (fgrpend (\$sponsor), 1); ```
``` \$asponsor = awsoadr (\$sponsor); ```
``` \$atelhwso = awsoadr (trwsoadr (\$sponsor,-1)); ```
``` \$sponsortype = wsbasetype (\$sponsor); ```
``` \$jhlabeliav = ''; ```
```# bcsubpsbwonelkd1 ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` if (notwaitonelkd (\$myli, \$sponsor, \$grkwp, \$grkwpr, \@\$sactset) ){#endlistkwbuilder must find end of list before bcsubpsbuilder starts to act ```
``` ```
``` if ( (ifindb (\$myli, \$sponsor, 'binderc', \\$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, \$\$kwp, \$kwpr, \@\$sactset) == 1) ```
``` ){# ```
``` ```
``` \$bcwso = getfbws (\$myli, \$sigcount, \@lomatchs, \@lola, \\$cws); ```
```# bcsubpsbbhu1 ```
``` ```
``` &bindhistone (\$myli, \$cws, \$bcwso); ```
``` my (\$grabdesc, \$counteri, \$initdesc, \$csubpid, \$sgdi, \$gsponsor, \$nrdescp); ```
```# bcsubpsbtmstu1 ```
``` \$Awfif::memes-> {currentwsbi} = \$cws; ```
``` \$abcwso = awsoadr (\$bcwso); ```
``` \$usetrans = gettransstate (\$myli, \$sponsor, \$asponsor, 'binderc', \\$stransmgrid, \\$transid, \\$transtatus, \$\$kwp, \$kwpr, \@\$sactset); ```
``` if (((defined (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ])) && (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ] != 0) ) ```
``` && ((findcounter (\$Awfif::wsol-> {l} [\$abcwso], (\$Awfif::memes-> {snnh} {completingf1}), \\$counteri, \$Awfif::codelet-> {l} [\$myli]  ))) ```
``` ){#wait completed ```
```# bcsubpswaitcu1 ```
``` ```
``` \$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ] = undef (); ```
``` \$Awfif::memes-> {bcsubpscdef} = freesubpscdef (\$myli, \$Awfif::codelet-> {l} [\$myli] , \$Awfif::memes-> {bcsubpscdef}, \$abcwso); ```
```# bcsubpswschu1 ```
``` &setusalcwsocache (\$asponsor, undef(), ((\$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {bugroup}] | \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {tdgroup}])), undef()); ```
``` }#if ```
``` elsif ( ((!defined (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ])) or (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ] == 0)) ```
``` && ((findtdesc (\$Awfif::wsol-> {l} [\$abcwso], (\$Awfif::memes-> {snnh} {wascompletingf1}), \$Awfif::codelet-> {l} [\$myli]  ) > 0)) ```
``` ){#wait should be initiated ```
```# bcsubpsiwaitu1 ```
``` ```
``` my (\$codeletdef); ```
``` if (!defined(\$Awfif::memes-> {bcsubpscdef})) {\$Awfif::memes-> {bcsubpscdef} = 0};#setup a queue head for the deferred codelets ```
``` &waitondesc (\$myli, \$abcwso, (\$Awfif::codelet-> {l} [\$myli]  + \$Awfif::memes-> {snnh} {wsi}), \$Awfif::codelet-> {l} [\$myli] , \$Awfif::memes-> {snnh} {completingf1}, undef(), undef(), undef(), undef(), \\$codeletdef); ```
``` \$Awfif::memes-> {bcsubpscdef} = addsubpscdef (\$myli, \$codeletdef, \$Awfif::memes-> {bcsubpscdef}); ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ] = \$asponsor; ```
```# bcsubpswschu2 ```
``` &setusalcwsocache (\$asponsor, undef(), ((\$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {bugroup}] | \$Awfif::memes-> {strbool}[\$Awfif::memes-> {streh} {tdgroup}])), undef()); ```
``` };#elsif ```
```# bcsubpsgrabu1 ```
``` ```
``` \$jhlabeliav = ''; ```
``` if ( ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 )#report that codelet has run allowing it to be grabbed ```
``` && ((\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) > 0 ) ```
``` && ((\$arunningwso = awsoadr ((\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) ) > 0 ) ```
``` && ((\$csubpid = spifgrabcandidate (\$myli, \$arunningwso, 't', \\$jhlabeliav, \\$jhlabeli)) > 0) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$asponsor] ```
``` = inccounter ( 0, ```
``` (0 ), #will become a reference to codelet shell ```
``` \$Awfif::memes-> {snnh} {grab}, ```
``` \$Awfif::wsol-> {l} [\$asponsor] , ```
``` \$asponsor); ```
``` ```
``` if ( ( (\$grabdesc = findtdesc (\$Awfif::wsol-> {l} [ \$asponsor ] , \$Awfif::memes-> {snnh} {grab})) != 0 ) ```
``` ){ ```
``` ```
``` \$Awfif::workspace-> {l} [\$grabdesc]  = \$csubpid; ```
``` };#if ```
``` };#if ```
```# bcsubpsspigu ```
```# this can't work since the assoc f1 has not been setup yet ```
``` ```
```# bcsubpsbtfu ```
```# descriptor based strategy removed ```
``` ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ((\$initdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {subprogram}, (\$Awfif::memes-> {snnh} {start}))) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$initdesc]  != \$Awfif::workspace-> {l} [\$sldesc] ) ```
``` && ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 ) ```
``` && ((!defined (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ])) or (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ] == 0)) ```
``` or ( (\$usetrans != 0) ```
``` && (\$nrdescp = 't') ```
``` && ((!defined (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ])) or (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ] == 0)) ) #must continue the transaction ```
``` ){#report started to take over cascade ```
``` ```
``` my (\$areportwso, \$dummy, \$giveup); ```
``` if ((defined (\$reportdesc)) && (\$reportdesc != 0)) {#try to initiate catalysis ```
```# bcsubpsbgrabu1 ```
``` ```
``` \$catalysis = grabcodelet (\$myli, \$sldesc, \$cws, \$abcwso, 't'); ```
``` };#if ```
``` ```
```# bcsubpsbtrsal1 ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((!defined(\$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] )) or (\$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  == \$Awfif::memes-> {snnh} {start}) ) ```
``` ) { ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {incomplete}; ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{cassponsor}); ```
``` };#if ```
```# bcsubpsbsig1 ```
``` if ((!defined (\$nrdescp))) {#wsposition is not at terminus ```
``` \$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$areportwso = awsoadr ((\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})); ```
``` if ((!(findbond (\$Awfif::wsol-> {l} [ \$areportwso] , \$Awfif::codelet-> {l} [\$myli] , \$Awfif::memes-> {snnh} {initiate}, \$Awfif::memes-> {snnh} {subprogram})))) { ```
``` ```
``` my (\$aws); ```
``` &compclone (\$myli); ```
``` \$Awfif::wsol-> {l} [\$areportwso] ```
``` = setupdesc ( (\$Awfif::memes-> {snnh} {initiate}), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::codelet-> {l} [\$myli] ), #to match findbond ```
``` \$Awfif::memes-> {snnh} {subprogram}, ```
``` \$Awfif::wsol-> {l} [\$areportwso], ```
``` \$areportwso); ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` if (!defined (\$Awfif::subpl-> {q}  [\$Awfif::memes-> {bcsubpsindex}] [\$Awfif::codelet-> {l} [\$myli]  ])) { ```
``` \$Awfif::subpl-> {q}  [\$Awfif::memes-> {bcsubpsindex}] [\$Awfif::codelet-> {l} [\$myli]  ] = 0; ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {bcsubpsbsubpspsigbreak})) ```
``` && (\$Awfif::memes-> {bcsubpsbsubpspsigbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` &ilaunchnc (\$myli, \$dummy, 'cassuboppi', \$Awfif::memes-> {snnh} {cascompsopp}, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` 32, #mask out codelet-> {l}  i.e. {tfree} ```
```# bcsubpsbuitrau2 ```
``` \$usetrans, ```
``` \\$transid, ```
``` \\$transtatus ```
``` ,\$Awfif::codelet-> {l} [\$myli] , #signal sub-program ```
``` undef (), #jhlabeli ```
``` undef (), #jhlabeloi ```
``` undef (), #newli ```
``` \$Awfif::memes-> {tdfsampdo}, ```
``` \\$Awfif::subpl-> {q}  [\$Awfif::memes-> {bcsubpsindex}] [\$Awfif::codelet-> {l} [\$myli]  ], #use pooling ```
``` ( (ifindupri (\$myli, \$sponsor)) ```
``` && ( !( (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype) ) ```
``` or ```
``` (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype) ) ) ) ```
``` )#buildoffurg ```
``` ); ```
``` \$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ][++\$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] ] = \$transid; ```
``` \$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] [++\$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] ] = \$Awfif::tral-> {l} [\$transid] ; ```
``` \$depsubs = 't'; ```
```# bcsubpsbuigrau1 ```
``` ```
``` \$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` if ((\$usetrans == 0) && (defined (\$transid) && ( (\$transtatus == \$Awfif::memes-> {snnh} {completed}) or (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}))) ){#record the transid ```
```# bcsubpsbtmstu2 ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \$transid, \$Awfif::codelet-> {l} [\$myli] , \$stransmgrid); ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {add}, \$Awfif::memes-> {snnh} {assocf1}, \$atelhwso, \$Awfif::memes-> {snnh} {stran}, undef(), \$Awfif::codelet-> {l} [\$myli] , \$Awfif::codelet-> {l} [\$myli] , \$Awfif::codelet-> {l} [\$myli] ); ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` &fgrpd (\$myli, \$sponsor, \\$sgdi, \$Awfif::memes->{snnh}{groupcategory}); ```
``` \$gsponsor = fgrpsponsor (\$sponsor, \$Awfif::workspace-> {l} [\$sgdi] , \$Awfif::memes-> {snnh} {groupcategory}); ```
``` ```
``` ¬gcompleted (\$myli, \$gsponsor, undef(), 't', undef (), undef(), ```
``` \$Awfif::sublp-> {l}[\$Awfif::codelet-> {l} [\$myli] ] , #should be the stws ```
``` \$Awfif::memes-> {snnh}{subpstbinding}, #issubp ```
``` \$Awfif::codelet-> {l} [\$myli] ,#subp ```
``` undef (), #nodebug ```
``` undef (), #nodelayselect ```
``` \$Awfif::memes-> {tdfsampdo} #amplify delay select ```
``` ); ```
``` \$usedngc = 't'; ```
```# bcsubpsbwaitprefcu1 ```
``` if ( ((! defined (\$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ])) or (\$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] == 0)) ```
``` ) { ```
``` ```
``` my (\$codeletdef, \$reportdesc, \$areportwso); ```
``` \$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {completed}); ```
``` \$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` \$areportwso = awsoadr ((\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})); ```
``` &waitondesc (\$myli, \$areportwso, (\$Awfif::codelet-> {l} [\$myli]  + \$Awfif::memes-> {snnh} {wsi}), \$Awfif::memes-> {snnh} {completed}, \$Awfif::memes-> {snnh} {subpref}, undef(), undef(), undef(), undef(), \\$codeletdef); ```
``` \$Awfif::subpl-> {l} [\$Awfif::codelet-> {l} [\$myli] ] = \$codeletdef;#syncing with descriptor ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` \$Awfif::codelet-> {l} [\$codeletdef]  = \$Awfif::codelet-> {l} [\$myli] ; ```
``` };#if ```
``` \$aws = (\$Awfif::workspace-> {l} [\$sldesc]  - \$Awfif::memes-> {snnh} {wsi}); ```
``` &iskipw (\$myli, \$sldesc, \$cws, \$aws, \$abcwso); ```
```# now have written the assoc f1 the spi grab amp should work ```
```# bcsubpsspigu1 ```
``` ```
``` if ( (\$Awfif::memes-> {applyactive}) ```
``` && ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 ) ```
``` && (findtdesc (\$Awfif::wsol-> {l} [ \$asponsor] , \$Awfif::memes-> {snnh} {grab}) != 0 ) ```
``` ){#use clone to launch cascade codelets ```
``` ```
``` \$dospigrabamp = 't'; ```
``` };#if ```
``` }#if ```
``` else { ```
```# bcsubpsbuitrau3 ```
```# may be having to maintain the transaction participants ```
``` ```
``` if ( (&transalloc (\$myli, \$Awfif::memes-> {snnh} {cassponsor}, undef(), \$transid, \\$transtatus) == \$transid) ```
``` && (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}) #bcsubps transaction is not completed ```
``` ){ ```
```# mp signal the sub-program ```
```# bcsubpsbusnu1 ```
``` ```
``` \$depsubs = signaltrans (\$myli, \$asponsor, \$atelhwso, \$usetrans, \$stransmgrid, \\$transid, \\$transtatus, \$grkwp, \$grkwpr, \@\$sactset, \$cwsbi, \$Awfif::memes-> {tdfsampdo}); ```
```# bcsubpsspigu2 ```
``` ```
``` if ( (\$Awfif::memes-> {applyactive}) ```
``` && ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 ) ```
``` && (findtdesc (\$Awfif::wsol-> {l} [ \$asponsor] , \$Awfif::memes-> {snnh} {grab}) != 0 ) ```
``` ){#use clone to launch cascade codelets ```
``` ```
``` \$dospigrabamp = 't'; ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` &fgrpd (\$myli, \$sponsor, \\$sgdi, \$Awfif::memes-> {snnh} {groupcategory} ); ```
``` \$gsponsor = fgrpsponsor (\$sponsor, \$Awfif::workspace-> {l} [\$sgdi] , \$Awfif::memes-> {snnh} {groupcategory}); ```
``` ¬gcompleted (\$myli, \$gsponsor, undef(), 't', undef (), undef(), ```
``` \$Awfif::sublp-> {l}[\$Awfif::codelet-> {l} [\$myli] ] , #should be the stws ```
``` \$Awfif::memes-> {snnh} {subpstbinding}, #issubp ```
``` \$Awfif::codelet-> {l} [\$myli] , ```
``` undef (), #nodebug ```
``` undef (), #nodelayselect ```
``` \$Awfif::memes-> {tdfsampdo} #amplify delay select ```
``` ); ```
``` \$usedngc = 't'; ```
``` }#if still need to signal subprogram ```
``` else {#completed so can use as template ```
```# bcsubpsspigu3 ```
``` ```
``` if ( (\$Awfif::memes-> {applyactive}) ```
``` && ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 ) ```
``` && (findtdesc (\$Awfif::wsol-> {l} [ \$asponsor] , \$Awfif::memes-> {snnh} {grab}) != 0 ) ```
``` ){#use clone to launch cascade codelets ```
``` ```
``` \$dospigrabamp = 't'; ```
``` };#if ```
``` };#else ```
``` };#else ```
``` }#if wsposition descriptor present ```
``` else {#wsposition is at terminus and have an outstanding transaction to support ```
```# bcsubpsbtrsal2 ```
``` ```
``` if ((\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ) { ```
``` ```
``` \$Awfif::tmassl-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  = \$Awfif::memes-> {snnh} {completed}; ```
``` };#if ```
``` if ( (&transalloc (\$myli, \$Awfif::memes-> {snnh} {cassponsor}, undef(), \$transid, \\$transtatus) == \$transid) ```
``` && (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}) #bcsubps transaction is not completed ```
``` ){ ```
```# mp signal the sub-program ```
```# bcsubpsbpoolu2 ```
``` ```
``` if (!defined (\$Awfif::subpl-> {q}  [\$Awfif::memes-> {bcsubpsindex}] [\$Awfif::codelet-> {l} [\$myli]  ])) { ```
``` \$Awfif::subpl-> {q}  [\$Awfif::memes-> {bcsubpsindex}] [\$Awfif::codelet-> {l} [\$myli]  ] = 0; ```
``` };#if ```
``` my (\$dummy, \$giveup); ```
``` if ( (defined (\$Awfif::memes-> {bcsubpsbsubpspsigbreak})) ```
``` && (\$Awfif::memes-> {bcsubpsbsubpspsigbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` &ilaunchnc (\$myli, \$dummy, 'cassuboppi', \$Awfif::memes-> {snnh} {cascompsopp}, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset, ```
``` 32, #mask out codelet-> {l}  i.e. {tfree} ```
``` \$usetrans, ```
``` \\$transid, ```
``` \\$transtatus ```
``` ,\$Awfif::codelet-> {l} [\$myli] , ```
``` undef (), #jhlabeli ```
``` undef (), #jhlabeloi ```
``` undef (), #newli ```
``` \$Awfif::memes-> {tdfsampdo}, ```
``` \\$Awfif::subpl-> {q}  [\$Awfif::memes-> {bcsubpsindex}] [\$Awfif::codelet-> {l} [\$myli]  ], #use pooling ```
``` ( (ifindupri (\$myli, \$sponsor)) ```
``` && ( !( (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinopp}, \$sponsortype) ) ```
``` or ```
``` (hdescexists (\$myli, \$cws, \$bcwso, \$Awfif::memes-> {snnh} {casinsopp}, \$sponsortype) ) ) ) ```
``` )#buildoffurg ```
``` ); ```
``` if ((\$usetrans == 0) && (defined (\$transid) && ( (\$transtatus == \$Awfif::memes-> {snnh} {completed}) or (\$transtatus == \$Awfif::memes-> {snnh} {incomplete}))) ){#record the transid ```
``` ```
``` &transmgr (\$myli, \$myli, \$Awfif::memes-> {snnh} {update}, \$Awfif::memes-> {snnh} {assoctran}, \$asponsor, \$Awfif::memes-> {snnh} {stran}, \$transid, 0, \$stransmgrid); ```
``` };#if ```
```# bcsubpsspigu4 ```
``` ```
``` if ( ( (\$sldesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {wsposition})) != 0 ) ```
``` && (\$Awfif::workspace-> {l} [\$sldesc]  != (\$Awfif::memes-> {snnh} {wsi} + 0)) ```
``` && ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 ) ```
``` && (findtdesc (\$Awfif::wsol-> {l} [ \$asponsor] , \$Awfif::memes-> {snnh} {grab}) != 0 ) ```
``` ){#use clone to launch cascade codelets ```
``` ```
``` \$dospigrabamp = 't'; ```
``` };#if ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` &fgrpd (\$myli, \$sponsor, \\$sgdi, \$Awfif::memes->{snnh}{groupcategory}); ```
``` \$gsponsor = fgrpsponsor (\$sponsor, \$Awfif::workspace-> {l} [\$sgdi] , \$Awfif::memes-> {snnh} {groupcategory}); ```
``` \$usedngc = 't'; ```
``` ¬gcompleted (\$myli, \$gsponsor, undef(), 't', undef (), undef(), ```
``` \$Awfif::sublp-> {l}[\$Awfif::codelet-> {l} [\$myli] ] , #should be the stws ```
``` \$Awfif::memes-> {snnh}{subpstbinding}, #issubp ```
``` \$Awfif::codelet-> {l} [\$myli] , ```
``` undef (), #nodebug ```
``` undef (), #nodelayselect ```
``` \$Awfif::memes-> {tdfsampdo} #amplify delay select ```
``` ); ```
``` \$signalled = 't'; ```
``` }#if still need to signal subprogram ```
``` else { ```
``` ```
``` &cascadesponsor (\$myli, \$sponsor, \$Awfif::memes-> {snnh}{wascassponsor}); ```
``` \$signalled = ''; ```
``` };# ```
``` };#else ```
``` };#if ```
```# complete the sponsors transaction ```
``` ```
```# bcsubpsbuitrau1 ```
``` \$transtatus = 0;#find out the status of the transaction ```
``` if ( (defined (\$Awfif::codelet-> {l} [\$myli] )) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  != 0) ```
``` && ((!defined (\$transid)) or (tralcomp (\$myli, \$transid))) ```
``` && ((!defined (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ])) or (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ] == 0)) ```
``` ){ ```
``` ```
``` \$reportcaspart = 't'; ```
``` };#if ```
``` };#if ```
```# bcsubpsbmdfu1 ```
``` if ( (defined (\$Awfif::memes-> {usetdfmod})) ```
``` && (\$Awfif::memes-> {usetdfmod}) ```
``` && (\$Awfif::subpl-> {q}   == 0) ```
``` ){#update transactional deployment failures ```
``` ```
``` if ( (\$Awfif::subpl-> {q}  [ \$Awfif::codelet-> {l} [\$myli] ] > \$Awfif::memes-> {tdfsampth}) ```
``` ){#update transactional deployment failures ```
``` ```
``` \$Awfif::memes-> {tdfsampdo} = 't'; ```
``` }#if ```
```# bcsubpsbmdfu2 ```
``` elsif ((\$Awfif::memes-> {mainco} > \$Awfif::memes-> {tdfsampth}) ```
``` ) { ```
``` ```
``` \$Awfif::memes-> {tdfsampdo} = 't';#main program codelets being crowded out ```
``` };#else ```
``` };#if ```
```# bcsubpsbrrunu1 ```
``` ```
``` if ( ((\$reportdesc = findtdesc (\$Awfif::wsol-> {l} [(\$abcwso)] , \$Awfif::memes-> {snnh} {initiate})) != 0 )#report that codelet has run allowing it to be grabbed ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` && ((\$Awfif::memes-> {currentwsbi} = (\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) > 0 ) ```
``` && ((\$arunningwso = awsoadr ((\$Awfif::workspace-> {l} [\$reportdesc]  - \$Awfif::memes-> {snnh} {wsi})) ) > 0 ) ```
``` && ((findtdesc (\$Awfif::wsol-> {l} [(\$arunningwso)] , \$Awfif::memes-> {snnh} {running}, \$Awfif::memes-> {snnh} {\$Awfif::codelet-> {l} [\$myli] }, (\$Awfif::codelet-> {l} [\$myli]  + \$Awfif::memes-> {snnh} {wsi}) )) == 0 ) ```
``` ){ ```
``` ```
``` \$Awfif::wsol-> {l} [\$arunningwso] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {\$Awfif::codelet-> {l} [\$myli] }, # ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::codelet-> {l} [\$myli] ), #to match findbond ```
``` \$Awfif::memes-> {snnh} {running}, ```
``` \$Awfif::wsol-> {l} [\$arunningwso], ```
``` \$arunningwso); ```
``` };#if ```
``` if ((\$depsubs && !\$usedngc) && (subpcsponsor (\$myli, \$sponsor))) { ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l} [\$myli] ; ```
``` ¬gcompleted (\$myli, \$sponsor, teltail (\$Awfif::jhls-> {l} [\$Awfif::codelet-> {l} [\$myli] ]  ),undef(), undef (), 't', ```
``` undef (), #stws ```
``` undef (), #issubp ```
``` undef (), #subp ```
``` undef (), #nodebug ```
``` undef (), #nodelayselect ```
``` \$Awfif::memes-> {tdfsampdo} #amplify delay select ```
``` );# sponsor should be one after telomeric header ```
``` \$usedngc = 't'; ```
``` };# ```
``` if ( (\$Awfif::memes-> {applyactive}) ```
``` && (\$dospigrabamp) ```
``` ){#use clone to launch cascade codelets ```
``` ```
``` \$Awfif::memes-> {currentwsbi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` &spigrabamp (\$myli, \\$\$kwp, \$kwpr, 't', \\$jhlabeliav, \\$jhlabeli, \\$transid);#which may change the descriptor situation ```
``` };#if ```
``` ```
``` if ( (!\$usedngc) ```
``` && (defined (\$Awfif::memes-> {bcsubpsbsubpspclbreak})) ```
``` && (\$Awfif::memes-> {bcsubpsbsubpspclbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` && ((!defined (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ])) or (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ] == 0)) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ((\$catalysis) ```
``` && (!\$signalled) ```
``` && (\$Awfif::memes-> {spiglvl} == 0) ```
``` && ((!defined (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ])) or (\$Awfif::subpl-> {w} [\$Awfif::codelet-> {l} [\$myli] ] == 0)) ```
``` ) { ```
``` ```
``` &applycodelet (\$myli, \$sldesc, \$cws, \$abcwso, \\$\$kwp, \$kwpr, \@\$sactset); ```
``` };#if ```
``` if (\$reportcaspart) { ```
``` ```
``` if ( (defined (\$Awfif::memes-> {bcsubpsbsubpspcbreak})) ```
``` && (\$Awfif::memes-> {bcsubpsbsubpspcbreak} == \$Awfif::codelet-> {l} [\$myli] ) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` if ( (defined (\$Awfif::memes-> {bcsubpsbsubpnspcbreak})) ```
``` && (\$Awfif::memes-> {bcsubpsbsubpnspcbreak}) ```
``` && (\$Awfif::codelet-> {l} [\$myli]  > 0) ```
``` ){ ```
``` ```
``` &break(); ```
``` };#if ```
``` &transalloc (\$myli, \$Awfif::memes-> {snnh} {casparticipant}, undef(), \$Awfif::codelet-> {l} [\$myli] , \\$transtatus); ```
``` &itcpdist (\$Awfif::memes-> {codeleth}); ```
``` };#if ```
``` };#if proceed with processing ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` };#got buffer ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (\$myli); ```
``` }# bcsubpsbuilder1 ```
```# ```
```#<!-- end tag ds --> ```
```#<!-- end tag scc --> ```
```#<!-- end tag sia --> ```
```#<!-- start tag stm --> ```
```#<!-- start tag ssc --> ```
```# ```
```sub statementscout1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$ni, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx, \$giveup, \$tinstances, \$found, \$cwsbi); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$cdn = clogstat (\\$cdnx); ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdn myli \$myli "); ```
``` &itcpoutput (\$myli); ```
``` }; ```
```# statements must use the full workspace ```
``` ```
``` \$grkwp = \$Awfif::wsbl->{wsoh}[\$Awfif::memes->{currentwsbi}]; ```
``` \$grkwpr = \$Awfif::wsbl->{wsft}[\$Awfif::memes->{currentwsbi}]; ```
```# Ensure all parts exist if to go forward ```
``` ```
``` if ((allpartsconstrained (\$myli, \\$giveup, \$grkwp, \$grkwpr, \@\$sactset)) ```
``` && (!\$giveup) ```
``` && (\$found = selsalwsitem (\$myli, \\$ni, \\$tinstances, \$grkwp, \$grkwpr, \@\$sactset, 'bustatement')) ```
``` && (\$ni > 0) ) { ```
``` \$Awfif::codelet-> {l}[\$myli] = \$ni;# updatelog needs this setup ```
```# if the statement is not complete call in an evaluator ```
``` if (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)] , \$ni, \$Awfif::memes->{snnh}{complete}, \$Awfif::memes-> {snnh} {statementcategory})) { ```
``` ```
``` &updatelog (\$myli,'ps',4, \$ni); ```
```# & call in a statement evaluator ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {urgency} = \$Awfif::memes-> {parteu}; ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "statementevaluator"; ```
``` \$Awfif::clp-> {bond}-> {ni} = \$ni; ```
``` &cdsubmitcodelet (\$myli, \\$Awfif::clp); ```
``` };#got part ```
``` }# got a statement to work on ```
``` elsif (\$giveup) {# terminate statement processing ```
``` ```
``` print ("badly formed statement - moving to next file\n"); ```
``` &actnodes (\$Awfif::memes-> {snnh} {terminate}, \$Awfif::memes-> {actmax}); ```
``` &invcaches (\$Awfif::memes-> {snnh} {terminate}); ```
``` }; ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# statementscout1 ```
```# ```
```sub statementevaluator1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#The ignored parameters are required by the codelet calling architecture ```
``` my (\$ni, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx, \$cwsbi); ```
```# ```
```# checked for merged workspaces ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$cdn = clogstat (\\$cdnx); ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdn myli \$myli "); ```
``` &itcpoutput (\$myli); ```
``` }; ```
```# statement must use the full workspace ```
``` ```
``` \$grkwp = \$Awfif::wsbl->{wsoh}[\$Awfif::memes->{currentwsbi}]; ```
``` \$grkwpr = \$Awfif::wsbl->{wsft}[\$Awfif::memes->{currentwsbi}]; ```
```# get a salient statement from the workspace ```
``` ```
``` if (\$Awfif::codelet->{l}[\$myli] > 0) { ```
``` \$ni = \$Awfif::codelet->{l}[\$myli]; ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` &itwsoutput ( trwsoadr (\$ni,1), \$ni); ```
``` }; ```
```# if not completed statement processing ```
``` if (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)] , \$ni, \$Awfif::memes->{snnh}{complete}, \$Awfif::memes-> {snnh} {statementcategory})) { ```
``` ```
``` if ( ```
``` ((!(findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)] , \$Awfif::memes-> {snnh} {stop}, wsbasetype (\$ni), \$Awfif::memes-> {snnh} {model}))) ) ```
``` && (findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)] , \$Awfif::memes-> {snnh} {dropthreshold}, wsbasetype (\$ni), \$Awfif::memes-> {snnh} {model})) ```
``` && (findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)] , \$Awfif::memes-> {snnh} {reqmissing}, wsbasetype (\$ni), \$Awfif::memes-> {snnh} {model})) ```
``` ){ ```
```# atppenalty3 ```
``` ```
``` \$Awfif::memes-> {fatp} = \$Awfif::memes-> {fatp} - \$Awfif::memes-> {failatpr}; ```
``` };#if ```
```# if the statement part is structurally sound & development is whole call in a builder ```
``` if (statementwhole (\$myli, \$ni, \$grkwp, \$grkwpr, \@\$sactset) ```
``` && (developmentwhole (\$myli, finddevni(\$myli, \$grkwp, \$grkwpr), \$grkwp, \$grkwpr, \@\$sactset))) { ```
``` ```
``` \$Awfif::clp = (); ```
``` \$Awfif::clp-> {log} = \$Awfif::codelet-> {l} [\$myli]; ```
``` \$Awfif::clp-> {urgency} = (\$Awfif::codelet-> {l} [\$myli] * \$Awfif::memes-> {blaunchm}); ```
``` if (defined (\$Awfif::codelet-> {l}[\$myli])) { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::codelet-> {l}[\$myli]; ```
``` }#wsi set ```
``` else { ```
``` \$Awfif::clp-> {wsi} = \$Awfif::memes-> {currentwsbi}; ```
``` }; ```
``` \$Awfif::clp-> {strategy} = "statementbuilder"; ```
``` \$Awfif::clp-> {bond}-> {ni} = \$ni; ```
``` &cdsubmitcodelet (\$myli, \\$Awfif::clp); ```
``` }#got whole statement ```
``` else { ```
``` ```
``` \$Awfif::memes-> {fatp} = \$Awfif::memes-> {fatp} - \$Awfif::memes-> {failatpr}; ```
``` if (\$Awfif::memes-> {fatp} <= 0) { ```
``` ```
``` &break (); ```
``` };#if ```
``` };#else ```
``` };#statement is not whole yet ```
``` }# statement present to work on ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# statementevaluator1 ```
```# ```
```#<!-- start tag inh --> ```
```#<!-- start tag sca --> ```
```# ```
```sub statementbuilder1 { ```
``` my (\$myli, \$kwp, \$kwpr, \$sactset) = @_;#codelet launch architecture requires the ignored parameters for its general interface ```
``` my (\$ni, \$ani, \$statementcomplete, \$compcount, @completed, \$delayplan, ```
``` , \$sec, \$min, \$hour, \$mday, \$mon, \$year, \$wday, \$yday, \$isdat, \$stbst, \$stbet, ```
``` \$grkwp, \$grkwpr, \$cdn, \$cdnx, \$cwsbi); ```
```# ```
```# operationalize the statement ```
``` ```
``` \$cwsbi = \$Awfif::memes-> {currentwsbi}; ```
``` \$cdn = clogstat (\\$cdnx); ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdn myli \$myli "); ```
``` &itcpoutput (\$myli); ```
``` }; ```
``` if (\$Awfif::memes-> {trace} == \$Awfif::memes-> {tracehrtime}) { ```
``` use Time::HiRes 'time'; ```
``` (\$sec, \$min, \$hour, \$mday, \$mon, \$year, \$wday, \$yday, \$isdat) = localtime(time); ```
``` }; ```
```# statements must use the full workspace ```
``` ```
``` \$grkwp = \$Awfif::wsbl->{wsoh}[\$Awfif::memes->{currentwsbi}]; ```
``` \$grkwpr = \$Awfif::wsbl->{wsft}[\$Awfif::memes->{currentwsbi}]; ```
```# choose a salient part from the workspace ```
``` ```
``` if (\$Awfif::codelet->{l}[\$myli] > 0) { ```
``` \$ni = \$Awfif::codelet->{l}[\$myli]; ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` &itwsoutput ( trwsoadr (\$ni,1), \$ni); ```
``` }; ```
```# if not completed statement processing ```
``` if (!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)] , \$ni, wsbasetype (\$ni), \$Awfif::memes-> {snnh} {statementcategory}) ```
``` ){ ```
```# if group contained operons are statement inhibited release them ```
```# relstinhibitors ```
``` ```
``` if ((!findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)], \$Awfif::memes-> {snnh} {valid}, \$Awfif::memes-> {snnh} {statementcategory}, \$Awfif::memes-> {snnh} {model})) ){ ```
``` ```
``` \$Awfif::wsol-> {l} [awsoadr (\$ni)] ```
``` = setupdesc ( \$Awfif::memes-> {snnh} {statementcategory}, ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {valid}), ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [awsoadr (\$ni)], ```
``` awsoadr (\$ni), ```
``` 't'); ```
``` };#release statement competitive inhibition ```
```# sbinsgcu1 ```
```# inspect group contained operons to see if they have completed ```
``` \$stbst = time (); ```
``` ```
``` ```
``` @completed = bindoptoinsp1 (\$myli, \$Awfif::memes->{currentwsbi}, \$ni, isterminated (\$ni, \$grkwp, \$grkwpr), \\$compcount, \@\$sactset); ```
``` ```
``` \$stbet = time (); ```
``` \$Awfif::memes-> {time} [\$Awfif::memes-> {spctime}] [\$Awfif::memes-> {ch}{\$Awfif::codelet-> {l} [\$myli] }] [\$Awfif::memes-> {stbbsum}] = \$Awfif::memes-> {time} [\$Awfif::memes-> {spctime}] [\$Awfif::memes-> {ch}{\$Awfif::codelet-> {l} [\$myli] }] [\$Awfif::memes-> {stbbsum}] + \$stbet - \$stbst; ```
```# sbextrau1 ```
```# external resources must be associated with the actual workspace stream they are deployed in and the agents that are interested in the resources ```
``` \$stbst = time (); ```
``` ```
``` &conagtoxr (\$myli, \$ni, \$grkwp, \$grkwpr, \@\$sactset); ```
```# if not bored with waiting for completion ```
``` \$delayplan = ''; ```
``` if (\$compcount > 0) { ```
``` my (\$i); ```
``` for (\$i = 0; ((\$i < \$compcount) && (!\$delayplan));\$i++) { ```
``` if (!\$completed [\$i] ) { ```
``` ```
``` \$delayplan = 't'; ```
``` };#if ```
``` };#for ```
``` };#if ```
``` ```
``` \$stbet = time (); ```
``` \$Awfif::memes-> {time} [\$Awfif::memes-> {spctime}] [\$Awfif::memes-> {ch}{\$Awfif::codelet-> {l} [\$myli] }] [\$Awfif::memes-> {stbcsum}] = \$Awfif::memes-> {time} [\$Awfif::memes-> {spctime}] [\$Awfif::memes-> {ch}{\$Awfif::codelet-> {l} [\$myli] }] [\$Awfif::memes-> {stbcsum}] + \$stbet - \$stbst; ```
``` ```
``` if ( ```
``` ((!(findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)] , \$Awfif::memes-> {snnh} {stop}, wsbasetype (\$ni), \$Awfif::memes-> {snnh} {model}))) ) ```
``` && (findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)] , \$Awfif::memes-> {snnh} {dropthreshold}, wsbasetype (\$ni), \$Awfif::memes-> {snnh} {model})) ```
``` && (findbond (\$Awfif::wsol-> {l} [ awsoadr (\$ni)] , \$Awfif::memes-> {snnh} {dropopcheck}, wsbasetype (\$ni), \$Awfif::memes-> {snnh} {model})) ```
``` ){ ```
```# atppenalty4 ```
``` ```
``` \$Awfif::memes-> {fatp} = \$Awfif::memes-> {fatp} - \$Awfif::memes-> {failatpr}; ```
``` };#if ```
``` \$stbst = time (); ```
``` ```
```# sbpdcau1 ```
```# manage PDCA of statement processing ```
``` if ((!\$delayplan) ```
``` && (statementpdca (\$myli, \$ni, \$grkwp, \$grkwpr, \@\$sactset)) ){ ```
``` ```
``` \$statementcomplete = 't'; ```
``` \$ani = awsoadr (\$ni); ```
``` \$Awfif::wsol-> {l} [\$ani] ```
``` = setupdesc ( (wsbasetype (\$ni)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$Awfif::memes-> {snnh} {valid}), #to match findbond ```
``` \$Awfif::memes-> {snnh} {model}, ```
``` \$Awfif::wsol-> {l} [\$ani], ```
``` \$ani); ```
``` &invcaches (wsbasetype (\$ni)); ```
```# sbwscup ```
``` };#if manage PDCA ```
``` ```
``` \$stbet = time (); ```
``` \$Awfif::memes-> {time} [\$Awfif::memes-> {spctime}] [\$Awfif::memes-> {ch}{\$Awfif::codelet-> {l} [\$myli] }] [\$Awfif::memes-> {stbpdcasum}] = \$Awfif::memes-> {time} [\$Awfif::memes-> {spctime}] [\$Awfif::memes-> {ch}{\$Awfif::codelet-> {l} [\$myli] }] [\$Awfif::memes-> {stbpdcasum}] + \$stbet - \$stbst; ```
``` ```
``` if (\$statementcomplete) {#deploy the statement descriptor ```
``` ```
``` \$Awfif::wsol-> {l} [\$ani] ```
``` = setupdesc ( (wsbasetype (\$ni)), ```
``` (\$Awfif::memes-> {snnh} {wsi} + \$ni), ```
``` \$Awfif::memes-> {snnh}{partscategory}, ```
``` \$Awfif::wsol-> {l} [\$ani], ```
``` \$ani); ```
``` \$Awfif::memes-> {fatp} = \$Awfif::memes-> {fatp} + \$Awfif::memes-> {batp}; ```
```# send activation to the involved Slipnet nodes ```
``` &actnodes ( \$Awfif::memes-> {snnh}{partscategory}, \$Awfif::memes-> {openatype}); ```
``` &actnodes ( \$Awfif::memes-> {snnh} {wsi}, \$Awfif::memes-> {openato}); ```
``` &invcaches (wsbasetype (\$ni)); ```
``` };#statement complete ```
``` };#part is not whole yet ```
``` }# got a pair to work on ```
``` \$Awfif::memes-> {currentwsbi} = \$cwsbi; ```
``` ```
``` if (\$Awfif::memes-> {trace} > \$Awfif::memes-> {traceentry}) { ```
``` print ("\$cdnx\n"); ```
``` }; ```
``` &clogstatx (); ```
``` }# statementbuilder1 ```
```# ```
```#<!-- end tag ssc --> ```
```#<!-- end tag stm --> ```
```#<!-- end tag sca --> ```
```#<!-- end tag inh --> ``` Politics, Economics & Evolutionary Psychology Business PhysicsNature and nurture drive the business eco-systemHuman natureEmerging structure and dynamic forces of adaptation integrating quality appropriate for each market
{"ft_lang_label":"__label__en","ft_lang_prob":0.5239287,"math_prob":0.8444601,"size":370461,"snap":"2021-21-2021-25","text_gpt3_token_len":145587,"char_repetition_ratio":0.33027583,"word_repetition_ratio":0.6244812,"special_character_ratio":0.3579378,"punctuation_ratio":0.2978809,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9896195,"pos_list":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"im_url_duplicate_count":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2021-05-18T01:25:30Z\",\"WARC-Record-ID\":\"<urn:uuid:aab2bd79-b098-4d4f-ae7f-8760c6f60ddc>\",\"Content-Length\":\"703703\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:9397bd23-bbfa-4f7d-9717-8c877ebc5469>\",\"WARC-Concurrent-To\":\"<urn:uuid:98fad586-7f39-4ab0-94e4-44a1e4f7beb6>\",\"WARC-IP-Address\":\"207.38.86.218\",\"WARC-Target-URI\":\"http://robsstrategystudio.org/awfcpidli.htm\",\"WARC-Payload-Digest\":\"sha1:LHWOUHWC5U6JO2FV6Y7HCVMKHGY3GYB3\",\"WARC-Block-Digest\":\"sha1:MHAPN4PW6QXASSRQOAVULC6EVZHMVFCC\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2021/CC-MAIN-2021-21/CC-MAIN-2021-21_segments_1620243991650.73_warc_CC-MAIN-20210518002309-20210518032309-00471.warc.gz\"}"}