[jboss-svn-commits] JBL Code SVN: r5088 - in labs/jbossrules/trunk: drools-compiler/src/test/java/org/drools/compiler drools-compiler/src/test/java/org/drools/integrationtests drools-compiler/src/test/java/org/drools/integrationtests/waltz drools-compiler/src/test/resources/org/drools/reteoo drools-core/src/main/java/org/drools drools-core/src/main/java/org/drools/common drools-core/src/main/java/org/drools/leaps drools-core/src/main/java/org/drools/reteoo drools-core/src/main/java/org/drools/rule drools-core/src/main/java/org/drools/spi drools-core/src/main/java/org/drools/util drools-core/src/main/java/org/drools/util/concurrent/locks drools-core/src/test/java/org/drools drools-core/src/test/java/org/drools/examples/manners drools-core/src/test/java/org/drools/examples/waltz drools-core/src/test/java/org/drools/leaps drools-core/src/test/java/org/drools/reteoo drools-core/src/test/java/org/drools/reteoo/beta drools-core/src/test/java/org/drools/rule drools-ide/src/main/java/org/droo! ls/ide/editors

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 13 20:22:41 EDT 2006


Author: mark.proctor at jboss.com
Date: 2006-07-13 20:21:56 -0400 (Thu, 13 Jul 2006)
New Revision: 5088

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LeapsTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ReteTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/LeapsWaltzTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/ReteOOWaltzTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrs
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrsPerson
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBase.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractFactHandleFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryActions.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsRuleBase.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PackageCompilationData.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/CompiledInvoker.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/UUIDGenerator.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/concurrent/locks/Lock.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/RuleBaseFactoryTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/LeapsMannersTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/waltz/LeapsWaltzTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/waltz/ReteooWaltzTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/ColumnConstraintsTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/FactHandleImplTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/HandleFactoryTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsRuleBaseTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsWorkingMemoryTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LogicalAssertionTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/QueryResultsTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/QueryTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/SchedulerTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AddRemoveTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeSwitchTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/DefaultFactHandleFactoryTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/EvalConditionNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FactHandleTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/HashedObjectSinkListTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LeftInputAdapterNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectSourceTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooRuleBaseTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/SchedulerTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/TupleSourceTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/beta/BaseBetaLeftMemoryTestClass.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/beta/BaseBetaRightMemoryTestClass.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/OrTest.java
   labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/ReteViewer.java
Log:
JBRULES-371 Refactor any class that implements Externalizable to have empty default constructors

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -37,6 +37,8 @@
 import org.drools.DroolsTestCase;
 import org.drools.FactHandle;
 import org.drools.Primitives;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.common.ActivationGroupNode;
 import org.drools.common.InternalFactHandle;
@@ -144,7 +146,7 @@
         assertLength( 0,
                       builder.getErrors() );
 
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = ( ReteooRuleBase )RuleBaseFactory.newRuleBase();
         ruleBase.getGlobals().put( "map",
                                    Map.class );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
@@ -220,7 +222,7 @@
 
         final Rule newRule = newPkg.getRule( "rule-1" );
 
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = ( ReteooRuleBase )RuleBaseFactory.newRuleBase();
         ruleBase.getGlobals().put( "map",
                                    Map.class );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LeapsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LeapsTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LeapsTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -28,11 +28,13 @@
 import org.drools.PersonInterface;
 import org.drools.QueryResults;
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.PackageBuilder;
 import org.drools.lang.DrlDumper;
 import org.drools.lang.descr.PackageDescr;
+import org.drools.leaps.LeapsRuleBase;
 import org.drools.rule.Package;
 import org.drools.rule.Rule;
 import org.drools.xml.XmlDumper;
@@ -47,7 +49,7 @@
 public class LeapsTest extends IntegrationCases {
 
     protected RuleBase getRuleBase() throws Exception {
-        return new org.drools.leaps.LeapsRuleBase();
+        return RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ReteTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ReteTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ReteTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -17,6 +17,8 @@
  */
 
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.leaps.LeapsRuleBase;
 import org.drools.reteoo.ReteooRuleBase;
 
 /** Run all the tests with the ReteOO engine implementation */
@@ -24,7 +26,7 @@
 
     protected RuleBase getRuleBase() throws Exception {
 
-        return new ReteooRuleBase();
+        return RuleBaseFactory.newRuleBase( RuleBase.RETEOO );
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/LeapsWaltzTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/LeapsWaltzTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/LeapsWaltzTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -17,10 +17,12 @@
  */
 
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.leaps.LeapsRuleBase;
 
 public class LeapsWaltzTest extends Waltz {
     protected RuleBase getRuleBase() throws Exception {
-        return new org.drools.leaps.LeapsRuleBase();
+        return RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/ReteOOWaltzTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/ReteOOWaltzTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/ReteOOWaltzTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -17,12 +17,14 @@
  */
 
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.leaps.LeapsRuleBase;
 import org.drools.reteoo.ReteooRuleBase;
 
 public class ReteOOWaltzTest extends Waltz {
     protected RuleBase getRuleBase() throws Exception {
 
-        return new ReteooRuleBase();
+        return RuleBaseFactory.newRuleBase( RuleBase.RETEOO );
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrs
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrs	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrs	2006-07-14 00:21:56 UTC (rev 5088)
@@ -192,29 +192,26 @@
 cQB+AC94cAAAANJxAH4AMnNxAH4AIQAAAAEAAAAAc3EAfgAdAAAAAXcEAAAAAXNxAH4AJnEAfgAt
 c3EAfgAucQB+ADJ0AAhtZXNzYWdlMnNxAH4ANHQAA1R3b3hwc3EAfgA4AAAA0nEAfgAyeHNyABJv
 cmcuZHJvb2xzLnJ1bGUuT3IVF4eAAV23IwIAAHhxAH4AGnNxAH4AHQAAAAJ3BAAAAApzcQB+ACEA
-AAACAAAAAHNxAH4AHQAAAAF3BAAAAAFzcQB+ACZxAH4ALXNxAH4ALnEAfgAydAAIbWVzc2FnZTJz
-cQB+ADRxAH4AN3hwc3EAfgA4AAAA0nEAfgAyc3EAfgAhAAAAA/////9zcQB+AB0AAAABdwQAAAAB
-c3EAfgAmcQB+AC1zcQB+AC5xAH4AMnQACG1lc3NhZ2Uyc3EAfgA0cQB+AEB4cHNxAH4AOAAAANJx
-AH4AMnhzcQB+AEJzcQB+AB0AAAACdwQAAAAKc3EAfgAhAAAABP////9zcQB+AB0AAAABdwQAAAAB
-c3EAfgAmcQB+AC1zcQB+AC5xAH4AMnQACG1lc3NhZ2Uzc3EAfgA0cQB+ADd4cHNxAH4AOAAAANJx
-AH4AMnNxAH4AIQAAAAX////+c3EAfgAdAAAAAXcEAAAAAXNxAH4AJnEAfgAtc3EAfgAucQB+ADJ0
-AAhtZXNzYWdlM3NxAH4ANHQABVRocmVleHBzcQB+ADgAAADScQB+ADJ4eHQADUhlbGxvIFdvcmxk
-IDFwdAA4b3JnLmRyb29scy5yZXRlb28uUnVsZV9IZWxsb19Xb3JsZF8yXzBDb25zZXF1ZW5jZUlu
-dm9rZXJzcQB+AA0AAAAAAAAAAAIAAAAAAAFwcQB+ABRzcgA4b3JnLmRyb29scy5yZXRlb28uUnVs
-ZV9IZWxsb19Xb3JsZF8yXzBDb25zZXF1ZW5jZUludm9rZXJuXqy++rNzagIAAHhwdXEAfgAKAAAA
-AHNxAH4AAD9AAAAAAAAMdwgAAAAQAAAAAHhwc3EAfgAZc3EAfgAdAAAABHcEAAAACnNxAH4AGXNx
-AH4AHQAAAAJ3BAAAAApzcQB+ACEAAAAAAAAAAHNxAH4AHQAAAAF3BAAAAAFzcQB+ACZxAH4ALXNx
-AH4ALnEAfgAydAAIbWVzc2FnZTFzcQB+ADRxAH4AN3hwc3EAfgA4AAAA0nEAfgAyc3EAfgAhAAAA
-AQAAAABzcQB+AB0AAAABdwQAAAABc3EAfgAmcQB+AC1zcQB+AC5xAH4AMnQACG1lc3NhZ2Uyc3EA
-fgA0cQB+AEB4cHNxAH4AOAAAANJxAH4AMnhzcQB+AEJzcQB+AB0AAAACdwQAAAAKc3EAfgAhAAAA
-AgAAAABzcQB+AB0AAAABdwQAAAABc3EAfgAmcQB+AC1zcQB+AC5xAH4AMnQACG1lc3NhZ2Uyc3EA
-fgA0cQB+ADd4cHNxAH4AOAAAANJxAH4AMnNxAH4AIQAAAAP/////c3EAfgAdAAAAAXcEAAAAAXNx
-AH4AJnEAfgAtc3EAfgAucQB+ADJ0AAhtZXNzYWdlMnNxAH4ANHEAfgBAeHBzcQB+ADgAAADScQB+
-ADJ4c3EAfgBCc3EAfgAdAAAAAncEAAAACnNxAH4AIQAAAAT/////c3EAfgAdAAAAAXcEAAAAAXNx
-AH4AJnEAfgAtc3EAfgAucQB+ADJ0AAhtZXNzYWdlM3NxAH4ANHEAfgA3eHBzcQB+ADgAAADScQB+
-ADJzcQB+ACEAAAAF/////nNxAH4AHQAAAAF3BAAAAAFzcQB+ACZxAH4ALXNxAH4ALnEAfgAydAAI
-bWVzc2FnZTNzcQB+ADRxAH4AYnhwc3EAfgA4AAAA0nEAfgAyeHEAfgAHeHQADUhlbGxvIFdvcmxk
-IDJweA==</byte-array>
+AAACAAAAAHNxAH4AHQAAAAF3BAAAAAFzcQB+ACZxAH4ALXEAfgA9c3EAfgA0cQB+ADd4cHNxAH4A
+OAAAANJxAH4AMnNxAH4AIQAAAAP/////c3EAfgAdAAAAAXcEAAAAAXNxAH4AJnEAfgAtcQB+AD1z
+cQB+ADRxAH4AQHhwc3EAfgA4AAAA0nEAfgAyeHNxAH4AQnNxAH4AHQAAAAJ3BAAAAApzcQB+ACEA
+AAAE/////3NxAH4AHQAAAAF3BAAAAAFzcQB+ACZxAH4ALXNxAH4ALnEAfgAydAAIbWVzc2FnZTNz
+cQB+ADRxAH4AN3hwc3EAfgA4AAAA0nEAfgAyc3EAfgAhAAAABf////5zcQB+AB0AAAABdwQAAAAB
+c3EAfgAmcQB+AC1xAH4AVHNxAH4ANHQABVRocmVleHBzcQB+ADgAAADScQB+ADJ4eHQADUhlbGxv
+IFdvcmxkIDFwdAA4b3JnLmRyb29scy5yZXRlb28uUnVsZV9IZWxsb19Xb3JsZF8yXzBDb25zZXF1
+ZW5jZUludm9rZXJzcQB+AA0AAAAAAAAAAAIAAAAAAAFwcQB+ABRzcgA4b3JnLmRyb29scy5yZXRl
+b28uUnVsZV9IZWxsb19Xb3JsZF8yXzBDb25zZXF1ZW5jZUludm9rZXJuXqy++rNzagIAAHhwdXEA
+fgAKAAAAAHNxAH4AAD9AAAAAAAAMdwgAAAAQAAAAAHhwc3EAfgAZc3EAfgAdAAAABHcEAAAACnNx
+AH4AGXNxAH4AHQAAAAJ3BAAAAApzcQB+ACEAAAAAAAAAAHNxAH4AHQAAAAF3BAAAAAFzcQB+ACZx
+AH4ALXEAfgAwc3EAfgA0cQB+ADd4cHNxAH4AOAAAANJxAH4AMnNxAH4AIQAAAAEAAAAAc3EAfgAd
+AAAAAXcEAAAAAXNxAH4AJnEAfgAtcQB+AD1zcQB+ADRxAH4AQHhwc3EAfgA4AAAA0nEAfgAyeHNx
+AH4AQnNxAH4AHQAAAAJ3BAAAAApzcQB+ACEAAAACAAAAAHNxAH4AHQAAAAF3BAAAAAFzcQB+ACZx
+AH4ALXEAfgA9c3EAfgA0cQB+ADd4cHNxAH4AOAAAANJxAH4AMnNxAH4AIQAAAAP/////c3EAfgAd
+AAAAAXcEAAAAAXNxAH4AJnEAfgAtcQB+AD1zcQB+ADRxAH4AQHhwc3EAfgA4AAAA0nEAfgAyeHNx
+AH4AQnNxAH4AHQAAAAJ3BAAAAApzcQB+ACEAAAAE/////3NxAH4AHQAAAAF3BAAAAAFzcQB+ACZx
+AH4ALXEAfgBUc3EAfgA0cQB+ADd4cHNxAH4AOAAAANJxAH4AMnNxAH4AIQAAAAX////+c3EAfgAd
+AAAAAXcEAAAAAXNxAH4AJnEAfgAtcQB+AFRzcQB+ADRxAH4AXHhwc3EAfgA4AAAA0nEAfgAyeHEA
+fgAHeHQADUhlbGxvIFdvcmxkIDJweA==</byte-array>
         </org.drools.rule.PackageCompilationData>
         <string>org.drools.reteoo</string>
         <list>
@@ -257,44 +254,41 @@
 AH4AGwAAAAEAAAAAc3EAfgAXAAAAAXcEAAAAAXNxAH4AIHEAfgAnc3EAfgAocQB+ACx0AAhtZXNz
 YWdlMnNxAH4ALnQAA1R3b3hwc3EAfgAyAAAA0nEAfgAseHNyABJvcmcuZHJvb2xzLnJ1bGUuT3IV
 F4eAAV23IwIAAHhxAH4AE3NxAH4AFwAAAAJ3BAAAAApzcQB+ABsAAAACAAAAAHNxAH4AFwAAAAF3
-BAAAAAFzcQB+ACBxAH4AJ3NxAH4AKHEAfgAsdAAIbWVzc2FnZTJzcQB+AC5xAH4AMXhwc3EAfgAy
-AAAA0nEAfgAsc3EAfgAbAAAAA/////9zcQB+ABcAAAABdwQAAAABc3EAfgAgcQB+ACdzcQB+AChx
-AH4ALHQACG1lc3NhZ2Uyc3EAfgAucQB+ADp4cHNxAH4AMgAAANJxAH4ALHhzcQB+ADxzcQB+ABcA
-AAACdwQAAAAKc3EAfgAbAAAABP////9zcQB+ABcAAAABdwQAAAABc3EAfgAgcQB+ACdzcQB+AChx
-AH4ALHQACG1lc3NhZ2Uzc3EAfgAucQB+ADF4cHNxAH4AMgAAANJxAH4ALHNxAH4AGwAAAAX////+
-c3EAfgAXAAAAAXcEAAAAAXNxAH4AIHEAfgAnc3EAfgAocQB+ACx0AAhtZXNzYWdlM3NxAH4ALnQA
-BVRocmVleHBzcQB+ADIAAADScQB+ACx4eHEAfgADcHQADUhlbGxvIFdvcmxkIDJzcQB+AAQAAAAA
-AAAAAAIAAAAAAAFwcQB+AAxzcgA4b3JnLmRyb29scy5yZXRlb28uUnVsZV9IZWxsb19Xb3JsZF8y
-XzBDb25zZXF1ZW5jZUludm9rZXJuXqy++rNzagIAAHhwdXEAfgAPAAAAAHNxAH4AAT9AAAAAAAAM
-dwgAAAAQAAAAAHhwc3EAfgASc3EAfgAXAAAABHcEAAAACnNxAH4AEnNxAH4AFwAAAAJ3BAAAAApz
-cQB+ABsAAAAAAAAAAHNxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4AJ3NxAH4AKHEAfgAsdAAIbWVz
-c2FnZTFzcQB+AC5xAH4AMXhwc3EAfgAyAAAA0nEAfgAsc3EAfgAbAAAAAQAAAABzcQB+ABcAAAAB
-dwQAAAABc3EAfgAgcQB+ACdzcQB+AChxAH4ALHQACG1lc3NhZ2Uyc3EAfgAucQB+ADp4cHNxAH4A
-MgAAANJxAH4ALHhzcQB+ADxzcQB+ABcAAAACdwQAAAAKc3EAfgAbAAAAAgAAAABzcQB+ABcAAAAB
-dwQAAAABc3EAfgAgcQB+ACdzcQB+AChxAH4ALHQACG1lc3NhZ2Uyc3EAfgAucQB+ADF4cHNxAH4A
-MgAAANJxAH4ALHNxAH4AGwAAAAP/////c3EAfgAXAAAAAXcEAAAAAXNxAH4AIHEAfgAnc3EAfgAo
-cQB+ACx0AAhtZXNzYWdlMnNxAH4ALnEAfgA6eHBzcQB+ADIAAADScQB+ACx4c3EAfgA8c3EAfgAX
-AAAAAncEAAAACnNxAH4AGwAAAAT/////c3EAfgAXAAAAAXcEAAAAAXNxAH4AIHEAfgAnc3EAfgAo
-cQB+ACx0AAhtZXNzYWdlM3NxAH4ALnEAfgAxeHBzcQB+ADIAAADScQB+ACxzcQB+ABsAAAAF////
-/nNxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4AJ3NxAH4AKHEAfgAsdAAIbWVzc2FnZTNzcQB+AC5x
-AH4AXHhwc3EAfgAyAAAA0nEAfgAseHNyAB1vcmcuZHJvb2xzLnJ1bGUuRXZhbENvbmRpdGlvbj4q
-3Axyg48WAgACTAAKZXhwcmVzc2lvbnQAH0xvcmcvZHJvb2xzL3NwaS9FdmFsRXhwcmVzc2lvbjtb
-ABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgAHeHEAfgAVc3IAMm9yZy5kcm9vbHMucmV0ZW9vLlJ1
-bGVfSGVsbG9fV29ybGRfMl8wRXZhbDBJbnZva2Vybl6svvqzc2oCAAB4cHVxAH4ADwAAAAB4cQB+
-AF5weAA=</byte-array>
+BAAAAAFzcQB+ACBxAH4AJ3EAfgA3c3EAfgAucQB+ADF4cHNxAH4AMgAAANJxAH4ALHNxAH4AGwAA
+AAP/////c3EAfgAXAAAAAXcEAAAAAXNxAH4AIHEAfgAncQB+ADdzcQB+AC5xAH4AOnhwc3EAfgAy
+AAAA0nEAfgAseHNxAH4APHNxAH4AFwAAAAJ3BAAAAApzcQB+ABsAAAAE/////3NxAH4AFwAAAAF3
+BAAAAAFzcQB+ACBxAH4AJ3NxAH4AKHEAfgAsdAAIbWVzc2FnZTNzcQB+AC5xAH4AMXhwc3EAfgAy
+AAAA0nEAfgAsc3EAfgAbAAAABf////5zcQB+ABcAAAABdwQAAAABc3EAfgAgcQB+ACdxAH4ATnNx
+AH4ALnQABVRocmVleHBzcQB+ADIAAADScQB+ACx4eHEAfgADcHQADUhlbGxvIFdvcmxkIDJzcQB+
+AAQAAAAAAAAAAAIAAAAAAAFwcQB+AAxzcgA4b3JnLmRyb29scy5yZXRlb28uUnVsZV9IZWxsb19X
+b3JsZF8yXzBDb25zZXF1ZW5jZUludm9rZXJuXqy++rNzagIAAHhwdXEAfgAPAAAAAHNxAH4AAT9A
+AAAAAAAMdwgAAAAQAAAAAHhwc3EAfgASc3EAfgAXAAAABHcEAAAACnNxAH4AEnNxAH4AFwAAAAJ3
+BAAAAApzcQB+ABsAAAAAAAAAAHNxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4AJ3EAfgAqc3EAfgAu
+cQB+ADF4cHNxAH4AMgAAANJxAH4ALHNxAH4AGwAAAAEAAAAAc3EAfgAXAAAAAXcEAAAAAXNxAH4A
+IHEAfgAncQB+ADdzcQB+AC5xAH4AOnhwc3EAfgAyAAAA0nEAfgAseHNxAH4APHNxAH4AFwAAAAJ3
+BAAAAApzcQB+ABsAAAACAAAAAHNxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4AJ3EAfgA3c3EAfgAu
+cQB+ADF4cHNxAH4AMgAAANJxAH4ALHNxAH4AGwAAAAP/////c3EAfgAXAAAAAXcEAAAAAXNxAH4A
+IHEAfgAncQB+ADdzcQB+AC5xAH4AOnhwc3EAfgAyAAAA0nEAfgAseHNxAH4APHNxAH4AFwAAAAJ3
+BAAAAApzcQB+ABsAAAAE/////3NxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4AJ3EAfgBOc3EAfgAu
+cQB+ADF4cHNxAH4AMgAAANJxAH4ALHNxAH4AGwAAAAX////+c3EAfgAXAAAAAXcEAAAAAXNxAH4A
+IHEAfgAncQB+AE5zcQB+AC5xAH4AVnhwc3EAfgAyAAAA0nEAfgAseHNyAB1vcmcuZHJvb2xzLnJ1
+bGUuRXZhbENvbmRpdGlvbj4q3Axyg48WAgACTAAKZXhwcmVzc2lvbnQAH0xvcmcvZHJvb2xzL3Nw
+aS9FdmFsRXhwcmVzc2lvbjtbABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgAHeHEAfgAVc3IAMm9y
+Zy5kcm9vbHMucmV0ZW9vLlJ1bGVfSGVsbG9fV29ybGRfMl8wRXZhbDBJbnZva2Vybl6svvqzc2oC
+AAB4cHVxAH4ADwAAAAB4cQB+AFhweAA=</byte-array>
       </org.drools.rule.Package>
     </entry>
   </map>
-  <byte-array>rO0ABXNyAClvcmcuZHJvb2xzLnJldGVvby5SZXRlb29GYWN0SGFuZGxlRmFjdG9yeQAAAAAAAAEs
-AgAAeHIAK29yZy5kcm9vbHMuY29tbW9uLkFic3RyYWN0RmFjdEhhbmRsZUZhY3RvcnlrwcaUre4S
-dAIAA0oAB2NvdW50ZXJKAAJpZEwADmZhY3RIYW5kbGVQb29sdAAkTG9yZy9kcm9vbHMvdXRpbC9Q
-cmltaXRpdmVMb25nU3RhY2s7eHAAAAAAAAAAAAAAAAAAAAAAc3IAIm9yZy5kcm9vbHMudXRpbC5Q
-cmltaXRpdmVMb25nU3RhY2sPj6ttreBeeQIAA0kADWN1cnJlbnRQYWdlSWRJAAl0YWJsZVNpemVM
-AAtjdXJyZW50UGFnZXQAKUxvcmcvZHJvb2xzL3V0aWwvUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2U7
-eHAAAAAAAAABAHNyACdvcmcuZHJvb2xzLnV0aWwuUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2Utnhd8
-IgiDlAIABUkAB2xhc3RLZXlJAAZwYWdlSWRMAAtuZXh0U2libGluZ3EAfgAFTAAPcHJldmlvdXNT
-aWJsaW5ncQB+AAVbAAV0YWJsZXQAAltKeHD/////AAAAAHBwdXIAAltKeCAEtRKxdZMCAAB4cAAA
-AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+  <byte-array>rO0ABXQAJDAzNGZmNDA3LTM3M2UtNGE0My1iYjUxLWVhNjhjYTc3N2ExNXNyAClvcmcuZHJvb2xz
+LnJldGVvby5SZXRlb29GYWN0SGFuZGxlRmFjdG9yeQAAAAAAAAEsAgAAeHIAK29yZy5kcm9vbHMu
+Y29tbW9uLkFic3RyYWN0RmFjdEhhbmRsZUZhY3RvcnlrwcaUre4SdAIAA0oAB2NvdW50ZXJKAAJp
+ZEwADmZhY3RIYW5kbGVQb29sdAAkTG9yZy9kcm9vbHMvdXRpbC9QcmltaXRpdmVMb25nU3RhY2s7
+eHAAAAAAAAAAAAAAAAAAAAAAc3IAIm9yZy5kcm9vbHMudXRpbC5QcmltaXRpdmVMb25nU3RhY2sP
+j6ttreBeeQIAA0kADWN1cnJlbnRQYWdlSWRJAAl0YWJsZVNpemVMAAtjdXJyZW50UGFnZXQAKUxv
+cmcvZHJvb2xzL3V0aWwvUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2U7eHAAAAAAAAABAHNyACdvcmcu
+ZHJvb2xzLnV0aWwuUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2Utnhd8IgiDlAIABUkAB2xhc3RLZXlJ
+AAZwYWdlSWRMAAtuZXh0U2libGluZ3EAfgAGTAAPcHJldmlvdXNTaWJsaW5ncQB+AAZbAAV0YWJs
+ZXQAAltKeHD/////AAAAAHBwdXIAAltKeCAEtRKxdZMCAAB4cAAAAQAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -329,144 +323,142 @@
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNy
-ABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhw
-P0AAAAAAAAx3CAAAABAAAAAAeHNyACBvcmcuZHJvb2xzLlJ1bGVCYXNlQ29uZmlndXJhdGlvbil7
-XKvVTubNAgACWgAJaW1tdXRhYmxlTAAKcHJvcGVydGllc3QAD0xqYXZhL3V0aWwvTWFwO3hwAXNx
-AH4ADD9AAAAAAAAMdwgAAAAQAAAABnQAHW9yZy5kcm9vbHMud20uYXNzZXJ0LWJlaGF2aW9ydAAI
-aWRlbnRpdHl0ACdvcmcuZHJvb2xzLndtLmxvZ2ljYWwtb3ZlcnJpZGUtYmVoYXZpb3J0AAdkaXNj
-YXJkdAAnb3JnLmRyb29scy5yZXRlb28uYWxwaGEuaGFzaC1hbHBoYS1ub2RldAAFZmFsc2V0ACZv
-cmcuZHJvb2xzLnJldGVvby5hbHBoYS5oYXNoLXR5cGUtbm9kZXQABHRydWV0ACFvcmcuZHJvb2xz
-LnJldGVvby5iZXRhLmluZGV4LWxlZnRxAH4AF3QAIm9yZy5kcm9vbHMucmV0ZW9vLmJldGEuaW5k
-ZXgtcmlnaHRxAH4AGXhzcgAWb3JnLmRyb29scy5yZXRlb28uUmV0ZZyLwdKo4+hfAgADTAANbGFz
-dEFkZGVkTm9kZXQAIkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RUeXBlTm9kZTtMAA9vYmplY3RU
-eXBlTm9kZXNxAH4AD0wACHJlc29sdmVydAAjTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGVSZXNv
-bHZlcjt4cgAeb3JnLmRyb29scy5yZXRlb28uT2JqZWN0U291cmNlndnDP8dFe58CAAFMAAtvYmpl
-Y3RTaW5rc3QAIkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RTaW5rTGlzdDt4cgAab3JnLmRyb29s
-cy5yZXRlb28uQmFzZU5vZGWslo5z5iuC3QIABFoAEGF0dGFjaGluZ05ld05vZGVaAAloYXNNZW1v
-cnlJAAJpZEkAC3NoYXJlZENvdW50eHAAAAAAAAAAAAAAc3IAJ29yZy5kcm9vbHMucmV0ZW9vLkRl
-ZmF1bHRPYmplY3RTaW5rTGlzdPo+R7tpyPGBAgAAeHIAE2phdmEudXRpbC5BcnJheUxpc3R4gdId
-mcdhnQMAAUkABHNpemV4cAAAAAB3BAAAAAF4c3IAIG9yZy5kcm9vbHMucmV0ZW9vLk9iamVjdFR5
-cGVOb2RlE2WjT2PEIJICAAJMAApvYmplY3RUeXBldAAbTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5
-cGU7TAAEcmV0ZXQAGExvcmcvZHJvb2xzL3JldGVvby9SZXRlO3hxAH4AHwABAAAAAQAAAABzcgAm
-b3JnLmRyb29scy5yZXRlb28uSGFzaGVkT2JqZWN0U2lua0xpc3TV7ms9KQ8rtgIABEwAC2FscGhh
-U3dpdGNocQB+AA9MAAtoYXNoZWRTaW5rc3QAEExqYXZhL3V0aWwvTGlzdDtMAA5sYXN0T2JqZWN0
-U2lua3QAHkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RTaW5rO0wACm90aGVyU2lua3NxAH4AK3hw
-c3EAfgAMP0AAAAAAAAx3CAAAABAAAAADc3IAIW9yZy5kcm9vbHMucmV0ZW9vLkFscGhhTm9kZVN3
-aXRjaDGboVVzvIvyAgACTAALYWxwaGFTd2l0Y2hxAH4AD0wACmNvbnN0cmFpbnR0ACNMb3JnL2Ry
-b29scy9ydWxlL0xpdGVyYWxDb25zdHJhaW50O3hwc3EAfgAMP0AAAAAAAAx3CAAAABAAAAABdAAD
-T25lc3IAG29yZy5kcm9vbHMucmV0ZW9vLkFscGhhTm9kZXwE3dE9zFrmAgACTAAKY29uc3RyYWlu
-dHQAIExvcmcvZHJvb2xzL3NwaS9GaWVsZENvbnN0cmFpbnQ7TAAMb2JqZWN0U291cmNldAAgTG9y
-Zy9kcm9vbHMvcmV0ZW9vL09iamVjdFNvdXJjZTt4cQB+AB8AAQAAAAIAAAAAc3EAfgAjAAAAAXcE
-AAAAAXNyACZvcmcuZHJvb2xzLnJldGVvby5MZWZ0SW5wdXRBZGFwdGVyTm9kZWZhub8KOlI0AgAC
-TAAGYmluZGVydAAiTG9yZy9kcm9vbHMvY29tbW9uL0JldGFOb2RlQmluZGVyO0wADG9iamVjdFNv
-dXJjZXEAfgA2eHIAHW9yZy5kcm9vbHMucmV0ZW9vLlR1cGxlU291cmNlnyEX66pio5ACAAFMAAp0
-dXBsZVNpbmtzcQB+ACt4cQB+ACEAAQAAAAMAAAAHc3EAfgAkAAAAAXcEAAAAAXNyABpvcmcuZHJv
-b2xzLnJldGVvby5Kb2luTm9kZTiQLy6/d83aAgAAeHIAGm9yZy5kcm9vbHMucmV0ZW9vLkJldGFO
-b2RlOwpKjoeyYlsCAANMAA5qb2luTm9kZUJpbmRlcnEAfgA6TAAJbGVmdElucHV0dAAfTG9yZy9k
-cm9vbHMvcmV0ZW9vL1R1cGxlU291cmNlO0wACnJpZ2h0SW5wdXRxAH4ANnhxAH4AOwAAAAAABQAA
-AAdzcQB+ACQAAAACdwQAAAACc3EAfgA+AAAAAAAHAAAAA3NxAH4AJAAAAAJ3BAAAAAJzcQB+AD4A
-AAAAAAkAAAABc3EAfgAkAAAAAncEAAAAAnNyAB5vcmcuZHJvb2xzLnJldGVvby5UZXJtaW5hbE5v
-ZGXGF84vXxbq1wIAAkwABHJ1bGV0ABZMb3JnL2Ryb29scy9ydWxlL1J1bGU7TAALdHVwbGVTb3Vy
-Y2VxAH4AQHhxAH4AIQAAAAAACgAAAABzcgAUb3JnLmRyb29scy5ydWxlLlJ1bGVuXqy++rNzagIA
-DloACWF1dG9Gb2N1c0oACWxvYWRPcmRlcloABm5vTG9vcEkACHNhbGllbmNlWgARc2VtYW50aWNh
-bGx5VmFsaWRMAA9BY3RpdmF0aW9uR3JvdXB0ABJMamF2YS9sYW5nL1N0cmluZztMAAthZ2VuZGFH
-cm91cHEAfgBLTAALY29uc2VxdWVuY2V0ABxMb3JnL2Ryb29scy9zcGkvQ29uc2VxdWVuY2U7WwAQ
-ZGVjbGFyYXRpb25BcnJheXQAHltMb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uO0wADGRlY2xh
-cmF0aW9uc3EAfgAPTAAIZHVyYXRpb250ABlMb3JnL2Ryb29scy9zcGkvRHVyYXRpb247TAAHbGhz
-Um9vdHQAFUxvcmcvZHJvb2xzL3J1bGUvQW5kO0wABG5hbWVxAH4AS0wAA3BrZ3EAfgBLeHAAAAAA
-AAAAAAEAAAAAAAFwdAAETUFJTnNyADhvcmcuZHJvb2xzLnJldGVvby5SdWxlX0hlbGxvX1dvcmxk
-XzFfMENvbnNlcXVlbmNlSW52b2tlcm5erL76s3NqAgAAeHB1cgAeW0xvcmcuZHJvb2xzLnJ1bGUu
-RGVjbGFyYXRpb2479afPCzRoKeMCAAB4cAAAAABzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAB4cHNy
-ABNvcmcuZHJvb2xzLnJ1bGUuQW5k/PjnIvCmw3YCAAB4cgAcb3JnLmRyb29scy5ydWxlLkdyb3Vw
-RWxlbWVudMbck79vtelYAgABTAAIY2hpbGRyZW5xAH4AK3hyACJvcmcuZHJvb2xzLnJ1bGUuQ29u
-ZGl0aW9uYWxFbGVtZW50xgxz6WbzojYCAAB4cHNxAH4AJAAAAAN3BAAAAApzcQB+AFdzcQB+ACQA
-AAACdwQAAAAKc3IAFm9yZy5kcm9vbHMucnVsZS5Db2x1bW5/ObACQK9R5gIABUkABWluZGV4SQAG
-b2Zmc2V0TAALY29uc3RyYWludHNxAH4AK0wAC2RlY2xhcmF0aW9udAAdTG9yZy9kcm9vbHMvcnVs
-ZS9EZWNsYXJhdGlvbjtMAApvYmplY3RUeXBlcQB+ACd4cAAAAAAAAAAAc3EAfgAkAAAAAXcEAAAA
-AXNyACFvcmcuZHJvb2xzLnJ1bGUuTGl0ZXJhbENvbnN0cmFpbnQDkvrW5PmSswIAA0wACWV2YWx1
-YXRvcnQAGkxvcmcvZHJvb2xzL3NwaS9FdmFsdWF0b3I7TAAJZXh0cmFjdG9ydAAfTG9yZy9kcm9v
-bHMvc3BpL0ZpZWxkRXh0cmFjdG9yO0wABWZpZWxkdAAbTG9yZy9kcm9vbHMvc3BpL0ZpZWxkVmFs
-dWU7eHBzcgA9b3JnLmRyb29scy5iYXNlLmV2YWx1YXRvcnMuU3RyaW5nRmFjdG9yeSRTdHJpbmdF
-cXVhbEV2YWx1YXRvcklP5b3Q5UiWAgAAeHIAHW9yZy5kcm9vbHMuYmFzZS5CYXNlRXZhbHVhdG9y
-rkFxrDThjWsCAAJJAAhvcGVyYXRvckkABHR5cGV4cAAAAAEAAAC0c3IAI29yZy5kcm9vbHMuYmFz
-ZS5DbGFzc0ZpZWxkRXh0cmFjdG9yGeJAAYkQ8aMCAAJMAAVjbGF6enQAEUxqYXZhL2xhbmcvQ2xh
-c3M7TAAJZmllbGROYW1lcQB+AEt4cHZyABJvcmcuZHJvb2xzLk1lc3NhZ2UAAAAAAAAAAAAAAHhw
-dAAIbWVzc2FnZTFzcgAZb3JnLmRyb29scy5iYXNlLkZpZWxkSW1wbK6ZTfSs3XZEAgABTAAFdmFs
-dWV0ABJMamF2YS9sYW5nL09iamVjdDt4cHEAfgAzeHBzcgAfb3JnLmRyb29scy5iYXNlLkNsYXNz
-T2JqZWN0VHlwZdzs2BfUlPv9AgACSQAJdmFsdWVUeXBlTAAPb2JqZWN0VHlwZUNsYXNzcQB+AGt4
-cAAAANJxAH4AbnNxAH4AXgAAAAEAAAAAc3EAfgAkAAAAAXcEAAAAAXNxAH4AYnEAfgBpc3EAfgBq
-cQB+AG50AAhtZXNzYWdlMnNxAH4AcHQAA1R3b3hwc3EAfgBzAAAA0nEAfgBueHNyABJvcmcuZHJv
-b2xzLnJ1bGUuT3IVF4eAAV23IwIAAHhxAH4AWHNxAH4AJAAAAAJ3BAAAAApzcQB+AF4AAAACAAAA
-AHNxAH4AJAAAAAF3BAAAAAFzcQB+AGJxAH4AaXNxAH4AanEAfgBudAAIbWVzc2FnZTJzcQB+AHBx
-AH4AM3hwc3EAfgBzAAAA0nEAfgBuc3EAfgBeAAAAA/////9zcQB+ACQAAAABdwQAAAABc3EAfgBi
-cQB+AGlzcQB+AGpxAH4AbnQACG1lc3NhZ2Uyc3EAfgBwcQB+AHt4cHNxAH4AcwAAANJxAH4Abnhz
-cQB+AH1zcQB+ACQAAAACdwQAAAAKc3EAfgBeAAAABP////9zcQB+ACQAAAABdwQAAAABc3EAfgBi
-cQB+AGlzcQB+AGpxAH4AbnQACG1lc3NhZ2Uzc3EAfgBwcQB+ADN4cHNxAH4AcwAAANJxAH4AbnNx
-AH4AXgAAAAX////+c3EAfgAkAAAAAXcEAAAAAXNxAH4AYnEAfgBpc3EAfgBqcQB+AG50AAhtZXNz
-YWdlM3NxAH4AcHQABVRocmVleHBzcQB+AHMAAADScQB+AG54eHQADUhlbGxvIFdvcmxkIDFwcQB+
-AEVzcgAjb3JnLmRyb29scy5yZXRlb28uRXZhbENvbmRpdGlvbk5vZGUbkCfPlIvj4AIAAkwACWNv
-bmRpdGlvbnQAH0xvcmcvZHJvb2xzL3J1bGUvRXZhbENvbmRpdGlvbjtMAAt0dXBsZVNvdXJjZXEA
-fgBAeHEAfgA7AAEAAAATAAAAAHNxAH4AJAAAAAF3BAAAAAFzcQB+AEcAAAAAABQAAAAAc3EAfgBK
-AAAAAAAAAAACAAAAAAABcHEAfgBRc3IAOG9yZy5kcm9vbHMucmV0ZW9vLlJ1bGVfSGVsbG9fV29y
-bGRfMl8wQ29uc2VxdWVuY2VJbnZva2Vybl6svvqzc2oCAAB4cHVxAH4AVAAAAABzcQB+AAw/QAAA
-AAAADHcIAAAAEAAAAAB4cHNxAH4AV3NxAH4AJAAAAAR3BAAAAApzcQB+AFdzcQB+ACQAAAACdwQA
-AAAKc3EAfgBeAAAAAAAAAABzcQB+ACQAAAABdwQAAAABc3EAfgBicQB+AGlzcQB+AGpxAH4AbnQA
-CG1lc3NhZ2Uxc3EAfgBwcQB+ADN4cHNxAH4AcwAAANJxAH4AbnNxAH4AXgAAAAEAAAAAc3EAfgAk
-AAAAAXcEAAAAAXNxAH4AYnEAfgBpc3EAfgBqcQB+AG50AAhtZXNzYWdlMnNxAH4AcHEAfgB7eHBz
-cQB+AHMAAADScQB+AG54c3EAfgB9c3EAfgAkAAAAAncEAAAACnNxAH4AXgAAAAIAAAAAc3EAfgAk
-AAAAAXcEAAAAAXNxAH4AYnEAfgBpc3EAfgBqcQB+AG50AAhtZXNzYWdlMnNxAH4AcHEAfgAzeHBz
-cQB+AHMAAADScQB+AG5zcQB+AF4AAAAD/////3NxAH4AJAAAAAF3BAAAAAFzcQB+AGJxAH4AaXNx
-AH4AanEAfgBudAAIbWVzc2FnZTJzcQB+AHBxAH4Ae3hwc3EAfgBzAAAA0nEAfgBueHNxAH4AfXNx
-AH4AJAAAAAJ3BAAAAApzcQB+AF4AAAAE/////3NxAH4AJAAAAAF3BAAAAAFzcQB+AGJxAH4AaXNx
-AH4AanEAfgBudAAIbWVzc2FnZTNzcQB+AHBxAH4AM3hwc3EAfgBzAAAA0nEAfgBuc3EAfgBeAAAA
-Bf////5zcQB+ACQAAAABdwQAAAABc3EAfgBicQB+AGlzcQB+AGpxAH4AbnQACG1lc3NhZ2Uzc3EA
-fgBwcQB+AJ14cHNxAH4AcwAAANJxAH4AbnhzcgAdb3JnLmRyb29scy5ydWxlLkV2YWxDb25kaXRp
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNyABFqYXZhLnV0aWwuSGFzaE1h
+cAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAAA
+eHNyACBvcmcuZHJvb2xzLlJ1bGVCYXNlQ29uZmlndXJhdGlvbil7XKvVTubNAgACWgAJaW1tdXRh
+YmxlTAAKcHJvcGVydGllc3QAD0xqYXZhL3V0aWwvTWFwO3hwAXNxAH4ADT9AAAAAAAAMdwgAAAAQ
+AAAABnQAHW9yZy5kcm9vbHMud20uYXNzZXJ0LWJlaGF2aW9ydAAIaWRlbnRpdHl0ACdvcmcuZHJv
+b2xzLndtLmxvZ2ljYWwtb3ZlcnJpZGUtYmVoYXZpb3J0AAdkaXNjYXJkdAAnb3JnLmRyb29scy5y
+ZXRlb28uYWxwaGEuaGFzaC1hbHBoYS1ub2RldAAFZmFsc2V0ACZvcmcuZHJvb2xzLnJldGVvby5h
+bHBoYS5oYXNoLXR5cGUtbm9kZXQABHRydWV0ACFvcmcuZHJvb2xzLnJldGVvby5iZXRhLmluZGV4
+LWxlZnRxAH4AGHQAIm9yZy5kcm9vbHMucmV0ZW9vLmJldGEuaW5kZXgtcmlnaHRxAH4AGnhzcgAW
+b3JnLmRyb29scy5yZXRlb28uUmV0ZZyLwdKo4+hfAgADTAANbGFzdEFkZGVkTm9kZXQAIkxvcmcv
+ZHJvb2xzL3JldGVvby9PYmplY3RUeXBlTm9kZTtMAA9vYmplY3RUeXBlTm9kZXNxAH4AEEwACHJl
+c29sdmVydAAjTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGVSZXNvbHZlcjt4cgAeb3JnLmRyb29s
+cy5yZXRlb28uT2JqZWN0U291cmNlndnDP8dFe58CAAFMAAtvYmplY3RTaW5rc3QAIkxvcmcvZHJv
+b2xzL3JldGVvby9PYmplY3RTaW5rTGlzdDt4cgAab3JnLmRyb29scy5yZXRlb28uQmFzZU5vZGWs
+lo5z5iuC3QIABFoAEGF0dGFjaGluZ05ld05vZGVaAAloYXNNZW1vcnlJAAJpZEkAC3NoYXJlZENv
+dW50eHAAAAAAAAAAAAAAc3IAJ29yZy5kcm9vbHMucmV0ZW9vLkRlZmF1bHRPYmplY3RTaW5rTGlz
+dPo+R7tpyPGBAgAAeHIAE2phdmEudXRpbC5BcnJheUxpc3R4gdIdmcdhnQMAAUkABHNpemV4cAAA
+AAB3BAAAAAF4c3IAIG9yZy5kcm9vbHMucmV0ZW9vLk9iamVjdFR5cGVOb2RlE2WjT2PEIJICAAJM
+AApvYmplY3RUeXBldAAbTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGU7TAAEcmV0ZXQAGExvcmcv
+ZHJvb2xzL3JldGVvby9SZXRlO3hxAH4AIAABAAAAAQAAAB9zcgAmb3JnLmRyb29scy5yZXRlb28u
+SGFzaGVkT2JqZWN0U2lua0xpc3TV7ms9KQ8rtgIABEwAC2FscGhhU3dpdGNocQB+ABBMAAtoYXNo
+ZWRTaW5rc3QAEExqYXZhL3V0aWwvTGlzdDtMAA5sYXN0T2JqZWN0U2lua3QAHkxvcmcvZHJvb2xz
+L3JldGVvby9PYmplY3RTaW5rO0wACm90aGVyU2lua3NxAH4ALHhwc3EAfgANP0AAAAAAAAx3CAAA
+ABAAAAADc3IAIW9yZy5kcm9vbHMucmV0ZW9vLkFscGhhTm9kZVN3aXRjaDGboVVzvIvyAgACTAAL
+YWxwaGFTd2l0Y2hxAH4AEEwACmNvbnN0cmFpbnR0ACNMb3JnL2Ryb29scy9ydWxlL0xpdGVyYWxD
+b25zdHJhaW50O3hwc3EAfgANP0AAAAAAAAx3CAAAABAAAAABdAADT25lc3IAG29yZy5kcm9vbHMu
+cmV0ZW9vLkFscGhhTm9kZXwE3dE9zFrmAgACTAAKY29uc3RyYWludHQAIExvcmcvZHJvb2xzL3Nw
+aS9GaWVsZENvbnN0cmFpbnQ7TAAMb2JqZWN0U291cmNldAAgTG9yZy9kcm9vbHMvcmV0ZW9vL09i
+amVjdFNvdXJjZTt4cQB+ACAAAQAAAAIAAAAHc3EAfgAkAAAAAXcEAAAAAXNyACZvcmcuZHJvb2xz
+LnJldGVvby5MZWZ0SW5wdXRBZGFwdGVyTm9kZWZhub8KOlI0AgACTAAGYmluZGVydAAiTG9yZy9k
+cm9vbHMvY29tbW9uL0JldGFOb2RlQmluZGVyO0wADG9iamVjdFNvdXJjZXEAfgA3eHIAHW9yZy5k
+cm9vbHMucmV0ZW9vLlR1cGxlU291cmNlnyEX66pio5ACAAFMAAp0dXBsZVNpbmtzcQB+ACx4cQB+
+ACIAAQAAAAMAAAAHc3EAfgAlAAAAAXcEAAAAAXNyABpvcmcuZHJvb2xzLnJldGVvby5Kb2luTm9k
+ZTiQLy6/d83aAgAAeHIAGm9yZy5kcm9vbHMucmV0ZW9vLkJldGFOb2RlOwpKjoeyYlsCAANMAA5q
+b2luTm9kZUJpbmRlcnEAfgA7TAAJbGVmdElucHV0dAAfTG9yZy9kcm9vbHMvcmV0ZW9vL1R1cGxl
+U291cmNlO0wACnJpZ2h0SW5wdXRxAH4AN3hxAH4APAAAAAAABQAAAAdzcQB+ACUAAAACdwQAAAAC
+c3EAfgA/AAAAAAAHAAAAA3NxAH4AJQAAAAJ3BAAAAAJzcQB+AD8AAAAAAAkAAAABc3EAfgAlAAAA
+AncEAAAAAnNyAB5vcmcuZHJvb2xzLnJldGVvby5UZXJtaW5hbE5vZGXGF84vXxbq1wIAAkwABHJ1
+bGV0ABZMb3JnL2Ryb29scy9ydWxlL1J1bGU7TAALdHVwbGVTb3VyY2VxAH4AQXhxAH4AIgAAAAAA
+CgAAAABzcgAUb3JnLmRyb29scy5ydWxlLlJ1bGVuXqy++rNzagIADloACWF1dG9Gb2N1c0oACWxv
+YWRPcmRlcloABm5vTG9vcEkACHNhbGllbmNlWgARc2VtYW50aWNhbGx5VmFsaWRMAA9BY3RpdmF0
+aW9uR3JvdXB0ABJMamF2YS9sYW5nL1N0cmluZztMAAthZ2VuZGFHcm91cHEAfgBMTAALY29uc2Vx
+dWVuY2V0ABxMb3JnL2Ryb29scy9zcGkvQ29uc2VxdWVuY2U7WwAQZGVjbGFyYXRpb25BcnJheXQA
+HltMb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uO0wADGRlY2xhcmF0aW9uc3EAfgAQTAAIZHVy
+YXRpb250ABlMb3JnL2Ryb29scy9zcGkvRHVyYXRpb247TAAHbGhzUm9vdHQAFUxvcmcvZHJvb2xz
+L3J1bGUvQW5kO0wABG5hbWVxAH4ATEwAA3BrZ3EAfgBMeHAAAAAAAAAAAAEAAAAAAAFwdAAETUFJ
+TnNyADhvcmcuZHJvb2xzLnJldGVvby5SdWxlX0hlbGxvX1dvcmxkXzFfMENvbnNlcXVlbmNlSW52
+b2tlcm5erL76s3NqAgAAeHB1cgAeW0xvcmcuZHJvb2xzLnJ1bGUuRGVjbGFyYXRpb2479afPCzRo
+KeMCAAB4cAAAAABzcQB+AA0/QAAAAAAADHcIAAAAEAAAAAB4cHNyABNvcmcuZHJvb2xzLnJ1bGUu
+QW5k/PjnIvCmw3YCAAB4cgAcb3JnLmRyb29scy5ydWxlLkdyb3VwRWxlbWVudMbck79vtelYAgAB
+TAAIY2hpbGRyZW5xAH4ALHhyACJvcmcuZHJvb2xzLnJ1bGUuQ29uZGl0aW9uYWxFbGVtZW50xgxz
+6WbzojYCAAB4cHNxAH4AJQAAAAN3BAAAAApzcQB+AFhzcQB+ACUAAAACdwQAAAAKc3IAFm9yZy5k
+cm9vbHMucnVsZS5Db2x1bW5/ObACQK9R5gIABUkABWluZGV4SQAGb2Zmc2V0TAALY29uc3RyYWlu
+dHNxAH4ALEwAC2RlY2xhcmF0aW9udAAdTG9yZy9kcm9vbHMvcnVsZS9EZWNsYXJhdGlvbjtMAApv
+YmplY3RUeXBlcQB+ACh4cAAAAAAAAAAAc3EAfgAlAAAAAXcEAAAAAXNyACFvcmcuZHJvb2xzLnJ1
+bGUuTGl0ZXJhbENvbnN0cmFpbnQDkvrW5PmSswIAA0wACWV2YWx1YXRvcnQAGkxvcmcvZHJvb2xz
+L3NwaS9FdmFsdWF0b3I7TAAJZXh0cmFjdG9ydAAfTG9yZy9kcm9vbHMvc3BpL0ZpZWxkRXh0cmFj
+dG9yO0wABWZpZWxkdAAbTG9yZy9kcm9vbHMvc3BpL0ZpZWxkVmFsdWU7eHBzcgA9b3JnLmRyb29s
+cy5iYXNlLmV2YWx1YXRvcnMuU3RyaW5nRmFjdG9yeSRTdHJpbmdFcXVhbEV2YWx1YXRvcklP5b3Q
+5UiWAgAAeHIAHW9yZy5kcm9vbHMuYmFzZS5CYXNlRXZhbHVhdG9yrkFxrDThjWsCAAJJAAhvcGVy
+YXRvckkABHR5cGV4cAAAAAEAAAC0c3IAI29yZy5kcm9vbHMuYmFzZS5DbGFzc0ZpZWxkRXh0cmFj
+dG9yGeJAAYkQ8aMCAAJMAAVjbGF6enQAEUxqYXZhL2xhbmcvQ2xhc3M7TAAJZmllbGROYW1lcQB+
+AEx4cHZyABJvcmcuZHJvb2xzLk1lc3NhZ2UAAAAAAAAAAAAAAHhwdAAIbWVzc2FnZTFzcgAZb3Jn
+LmRyb29scy5iYXNlLkZpZWxkSW1wbK6ZTfSs3XZEAgABTAAFdmFsdWV0ABJMamF2YS9sYW5nL09i
+amVjdDt4cHEAfgA0eHBzcgAfb3JnLmRyb29scy5iYXNlLkNsYXNzT2JqZWN0VHlwZdzs2BfUlPv9
+AgACSQAJdmFsdWVUeXBlTAAPb2JqZWN0VHlwZUNsYXNzcQB+AGx4cAAAANJxAH4Ab3NxAH4AXwAA
+AAEAAAAAc3EAfgAlAAAAAXcEAAAAAXNxAH4AY3EAfgBqc3EAfgBrcQB+AG90AAhtZXNzYWdlMnNx
+AH4AcXQAA1R3b3hwc3EAfgB0AAAA0nEAfgBveHNyABJvcmcuZHJvb2xzLnJ1bGUuT3IVF4eAAV23
+IwIAAHhxAH4AWXNxAH4AJQAAAAJ3BAAAAApzcQB+AF8AAAACAAAAAHNxAH4AJQAAAAF3BAAAAAFz
+cQB+AGNxAH4AanEAfgB5c3EAfgBxcQB+ADR4cHNxAH4AdAAAANJxAH4Ab3NxAH4AXwAAAAP/////
+c3EAfgAlAAAAAXcEAAAAAXNxAH4AY3EAfgBqcQB+AHlzcQB+AHFxAH4AfHhwc3EAfgB0AAAA0nEA
+fgBveHNxAH4AfnNxAH4AJQAAAAJ3BAAAAApzcQB+AF8AAAAE/////3NxAH4AJQAAAAF3BAAAAAFz
+cQB+AGNxAH4AanNxAH4Aa3EAfgBvdAAIbWVzc2FnZTNzcQB+AHFxAH4ANHhwc3EAfgB0AAAA0nEA
+fgBvc3EAfgBfAAAABf////5zcQB+ACUAAAABdwQAAAABc3EAfgBjcQB+AGpxAH4AkHNxAH4AcXQA
+BVRocmVleHBzcQB+AHQAAADScQB+AG94eHQADUhlbGxvIFdvcmxkIDFwcQB+AEZzcgAjb3JnLmRy
+b29scy5yZXRlb28uRXZhbENvbmRpdGlvbk5vZGUbkCfPlIvj4AIAAkwACWNvbmRpdGlvbnQAH0xv
+cmcvZHJvb2xzL3J1bGUvRXZhbENvbmRpdGlvbjtMAAt0dXBsZVNvdXJjZXEAfgBBeHEAfgA8AAEA
+AAATAAAAAHNxAH4AJQAAAAF3BAAAAAFzcQB+AEgAAAAAABQAAAAAc3EAfgBLAAAAAAAAAAACAAAA
+AAABcHEAfgBSc3IAOG9yZy5kcm9vbHMucmV0ZW9vLlJ1bGVfSGVsbG9fV29ybGRfMl8wQ29uc2Vx
+dWVuY2VJbnZva2Vybl6svvqzc2oCAAB4cHVxAH4AVQAAAABzcQB+AA0/QAAAAAAADHcIAAAAEAAA
+AAB4cHNxAH4AWHNxAH4AJQAAAAR3BAAAAApzcQB+AFhzcQB+ACUAAAACdwQAAAAKc3EAfgBfAAAA
+AAAAAABzcQB+ACUAAAABdwQAAAABc3EAfgBjcQB+AGpxAH4AbXNxAH4AcXEAfgA0eHBzcQB+AHQA
+AADScQB+AG9zcQB+AF8AAAABAAAAAHNxAH4AJQAAAAF3BAAAAAFzcQB+AGNxAH4AanEAfgB5c3EA
+fgBxcQB+AHx4cHNxAH4AdAAAANJxAH4Ab3hzcQB+AH5zcQB+ACUAAAACdwQAAAAKc3EAfgBfAAAA
+AgAAAABzcQB+ACUAAAABdwQAAAABc3EAfgBjcQB+AGpxAH4AeXNxAH4AcXEAfgA0eHBzcQB+AHQA
+AADScQB+AG9zcQB+AF8AAAAD/////3NxAH4AJQAAAAF3BAAAAAFzcQB+AGNxAH4AanEAfgB5c3EA
+fgBxcQB+AHx4cHNxAH4AdAAAANJxAH4Ab3hzcQB+AH5zcQB+ACUAAAACdwQAAAAKc3EAfgBfAAAA
+BP////9zcQB+ACUAAAABdwQAAAABc3EAfgBjcQB+AGpxAH4AkHNxAH4AcXEAfgA0eHBzcQB+AHQA
+AADScQB+AG9zcQB+AF8AAAAF/////nNxAH4AJQAAAAF3BAAAAAFzcQB+AGNxAH4AanEAfgCQc3EA
+fgBxcQB+AJh4cHNxAH4AdAAAANJxAH4Ab3hzcgAdb3JnLmRyb29scy5ydWxlLkV2YWxDb25kaXRp
 b24+KtwMcoOPFgIAAkwACmV4cHJlc3Npb250AB9Mb3JnL2Ryb29scy9zcGkvRXZhbEV4cHJlc3Np
-b247WwAUcmVxdWlyZWREZWNsYXJhdGlvbnNxAH4ATXhxAH4AWXNyADJvcmcuZHJvb2xzLnJldGVv
-by5SdWxlX0hlbGxvX1dvcmxkXzJfMEV2YWwwSW52b2tlcm5erL76s3NqAgAAeHB1cQB+AFQAAAAA
-eHQADUhlbGxvIFdvcmxkIDJwcQB+AKJ4cQB+AN5xAH4ARXhzcgAgb3JnLmRyb29scy5jb21tb24u
+b247WwAUcmVxdWlyZWREZWNsYXJhdGlvbnNxAH4ATnhxAH4AWnNyADJvcmcuZHJvb2xzLnJldGVv
+by5SdWxlX0hlbGxvX1dvcmxkXzJfMEV2YWwwSW52b2tlcm5erL76s3NqAgAAeHB1cQB+AFUAAAAA
+eHQADUhlbGxvIFdvcmxkIDJwcQB+AJ14cQB+AM1xAH4ARnhzcgAgb3JnLmRyb29scy5jb21tb24u
 QmV0YU5vZGVCaW5kZXLZOk2QQfBaswIAAVsAC2NvbnN0cmFpbnRzdAAhW0xvcmcvZHJvb2xzL3Nw
 aS9GaWVsZENvbnN0cmFpbnQ7eHB1cgAhW0xvcmcuZHJvb2xzLnNwaS5GaWVsZENvbnN0cmFpbnQ7
 mvaX9rRKD8YCAAB4cAAAAAFzcgAtb3JnLmRyb29scy5jb21tb24uSW5zdGFuY2VOb3RFcXVhbHND
-b25zdHJhaW50u86LzZRlbJsCAAJJAAtvdGhlckNvbHVtblsADGRlY2xhcmF0aW9uc3EAfgBNeHAA
-AAACdXEAfgBUAAAAAHEAfgBDc3EAfgA0AAEAAAAIAAAAAHNxAH4AIwAAAAJ3BAAAAAJxAH4ARXNx
-AH4APgAAAAAADwAAAAFzcQB+ACQAAAACdwQAAAACc3EAfgBHAAAAAAAQAAAAAHEAfgBQcQB+AO1z
-cQB+AKAAAQAAABcAAAAAc3EAfgAkAAAAAXcEAAAAAXNxAH4ARwAAAAAAGAAAAABxAH4ApXEAfgDw
-eHEAfgDecQB+AO14c3EAfgDjdXEAfgDmAAAAAXNxAH4A6AAAAAJ1cQB+AFQAAAAAc3EAfgA+AAAA
-AAAOAAAAA3NxAH4AJAAAAAJ3BAAAAAJxAH4A7XNxAH4APgAAAAAAEQAAAAFzcQB+ACQAAAACdwQA
-AAACc3EAfgBHAAAAAAASAAAAAHEAfgBQcQB+APlzcQB+AKAAAQAAABkAAAAAc3EAfgAkAAAAAXcE
-AAAAAXNxAH4ARwAAAAAAGgAAAABxAH4ApXEAfgD8eHEAfgDecQB+APl4c3EAfgDjdXEAfgDmAAAA
-AXNxAH4A6AAAAAJ1cQB+AFQAAAAAcQB+APdzcQB+ADQAAQAAAAsAAAAAc3EAfgAjAAAAAncEAAAA
-AnNxAH4APgAAAAAADAAAAAFzcQB+ACQAAAACdwQAAAACc3EAfgBHAAAAAAANAAAAAHEAfgBQcQB+
-AQVzcQB+AKAAAQAAABUAAAAAc3EAfgAkAAAAAXcEAAAAAXNxAH4ARwAAAAAAFgAAAABxAH4ApXEA
-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
+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
+dXEAfgAjc3EAfgANP0AAAAAAAAx3CAAAABAAAAABcQB+AHVxAH4AKnhzcgAmb3JnLmRyb29scy5z
 cGkuQ2xhc3NPYmplY3RUeXBlUmVzb2x2ZXIChNj8cLGw6wIAAUwACm9iamVjdFR5cGV0AENMb3Jn
 L2Ryb29scy9zcGkvQ2xhc3NPYmplY3RUeXBlUmVzb2x2ZXIkTW9kaWZpZWFibGVDbGFzc09iamVj
 dFR5cGU7eHBzcgBBb3JnLmRyb29scy5zcGkuQ2xhc3NPYmplY3RUeXBlUmVzb2x2ZXIkTW9kaWZp
-ZWFibGVDbGFzc09iamVjdFR5cGVEpauUAjf7NQIAAHhxAH4AcwAAASxwc3IAH29yZy5kcm9vbHMu
+ZWFibGVDbGFzc09iamVjdFR5cGVEpauUAjf7NQIAAHhxAH4AdAAAASxwc3IAH29yZy5kcm9vbHMu
 cmV0ZW9vLlJldGVvb0J1aWxkZXIYHVn7j8gD8AIACUkAF2N1cnJlbnRPZmZzZXRBZGp1c3RtZW50
-SQACaWRMAA1hdHRhY2hlZE5vZGVzcQB+AA9MAAxkZWNsYXJhdGlvbnNxAH4AD0wADG9iamVjdFNv
-dXJjZXEAfgA2TAAKb2JqZWN0VHlwZXEAfgAPTAAIcmVzb2x2ZXJxAH4AHkwABXJ1bGVzcQB+AA9M
-AAt0dXBsZVNvdXJjZXEAfgBAeHAAAAAAAAAAG3NxAH4ADD9AAAAAAAAYdwgAAAAgAAAAEnEAfgD8
-cQB+APxxAH4A8HEAfgDwcQB+APlxAH4A+XEAfgDtcQB+AO1xAH4AQ3EAfgBDcQB+AQNxAH4BA3EA
-fgEZcQB+ARlxAH4AKXEAfgApcQB+AQhxAH4BCHEAfgBBcQB+AEFxAH4BE3EAfgETcQB+AOtxAH4A
-63EAfgA3cQB+ADdxAH4APHEAfgA8cQB+AEVxAH4ARXEAfgEFcQB+AQVxAH4A93EAfgD3cQB+AKJx
-AH4AonhzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAB4cQB+AQNzcgAXamF2YS51dGlsLkxpbmtlZEhh
-c2hNYXA0wE5cEGzA+wIAAVoAC2FjY2Vzc09yZGVyeHEAfgAMP0AAAAAAAAx3CAAAABAAAAABcQB+
-ALRzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5O
-dW1iZXKGrJUdC5TgiwIAAHhwAAAAA3gAcQB+ASpzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAJxAH4A
-UHVyAB1bTG9yZy5kcm9vbHMucmV0ZW9vLkJhc2VOb2RlOwvnyZNDnLPqAgAAeHAAAAAEcQB+AElx
-AH4BB3EAfgDvcQB+APtxAH4ApXVxAH4BNwAAAARxAH4ApHEAfgEKcQB+APJxAH4A/nhxAH4A/A==
+SQACaWRMAA1hdHRhY2hlZE5vZGVzcQB+ABBMAAxkZWNsYXJhdGlvbnNxAH4AEEwADG9iamVjdFNv
+dXJjZXEAfgA3TAAKb2JqZWN0VHlwZXEAfgAQTAAIcmVzb2x2ZXJxAH4AH0wABXJ1bGVzcQB+ABBM
+AAt0dXBsZVNvdXJjZXEAfgBBeHAAAAAAAAAAG3NxAH4ADT9AAAAAAAAYdwgAAAAgAAAAEnEAfgD0
+cQB+APRxAH4AKnEAfgAqcQB+ADhxAH4AOHEAfgA9cQB+AD1xAH4A8nEAfgDycQB+AOZxAH4A5nEA
+fgCdcQB+AJ1xAH4BCHEAfgEIcQB+ANpxAH4A2nEAfgDocQB+AOhxAH4BAnEAfgECcQB+APdxAH4A
+93EAfgBCcQB+AEJxAH4A33EAfgDfcQB+ANxxAH4A3HEAfgBEcQB+AERxAH4A63EAfgDrcQB+AEZx
+AH4ARnhzcQB+AA0/QAAAAAAADHcIAAAAEAAAAAB4cQB+APJzcgAXamF2YS51dGlsLkxpbmtlZEhh
+c2hNYXA0wE5cEGzA+wIAAVoAC2FjY2Vzc09yZGVyeHEAfgANP0AAAAAAAAx3CAAAABAAAAABcQB+
+AK1zcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5O
+dW1iZXKGrJUdC5TgiwIAAHhwAAAAA3gAcQB+ARlzcQB+AA0/QAAAAAAADHcIAAAAEAAAAAJxAH4A
+UXVyAB1bTG9yZy5kcm9vbHMucmV0ZW9vLkJhc2VOb2RlOwvnyZNDnLPqAgAAeHAAAAAEcQB+AEpx
+AH4A9nEAfgDecQB+AOpxAH4AoHVxAH4BJgAAAARxAH4An3EAfgD5cQB+AOFxAH4A7XhxAH4A6w==
 </byte-array>
 </org.drools.reteoo.ReteooRuleBase>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrsPerson
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrsPerson	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrsPerson	2006-07-14 00:21:56 UTC (rev 5088)
@@ -123,45 +123,41 @@
 AAAAc3EAfgAWAAAAAXcEAAAAAXNxAH4AH3EAfgAmc3EAfgAncQB+ACt0AAhtZXNzYWdlMnNxAH4A
 LXQAA1R3b3hwc3EAfgAxAAAA0nEAfgAreHNyABJvcmcuZHJvb2xzLnJ1bGUuT3IVF4eAAV23IwIA
 AHhxAH4AEnNxAH4AFgAAAAJ3BAAAAApzcQB+ABoAAAACAAAAAHNxAH4AFgAAAAF3BAAAAAFzcQB+
-AB9xAH4AJnNxAH4AJ3EAfgArdAAIbWVzc2FnZTJzcQB+AC1xAH4AMHhwc3EAfgAxAAAA0nEAfgAr
-c3EAfgARc3EAfgAWAAAAAncEAAAACnNxAH4AGgAAAAMAAAAAc3EAfgAWAAAAAXcEAAAAAXNxAH4A
-H3EAfgAmc3EAfgAndnIAEW9yZy5kcm9vbHMuQ2hlZXNl74UCETtF/fUCAAJJAAVwcmljZUwABHR5
-cGVxAH4ABHhwdAAEdHlwZXNxAH4ALXQAB3N0aWx0b254cHNxAH4AMQAAANJxAH4ATHNxAH4AGgAA
-AAQAAAAAc3EAfgAWAAAAAXcEAAAAAXNxAH4AH3EAfgAmc3EAfgAncQB+AEx0AAR0eXBlc3EAfgAt
-dAAEYnJpZXhwc3EAfgAxAAAA0nEAfgBMeHhzcQB+ADtzcQB+ABYAAAACdwQAAAAKc3EAfgAaAAAA
-BQAAAABzcQB+ABYAAAABdwQAAAABc3EAfgAfcQB+ACZzcQB+ACdxAH4AK3QACG1lc3NhZ2Uzc3EA
-fgAtcQB+ADB4cHNxAH4AMQAAANJxAH4AK3NxAH4AGgAAAAb/////c3EAfgAWAAAAAXcEAAAAAXNx
-AH4AH3EAfgAmc3EAfgAncQB+ACt0AAhtZXNzYWdlM3NxAH4ALXQABVRocmVleHBzcQB+ADEAAADS
-cQB+ACt4eHQADUhlbGxvIFdvcmxkIDFwdAA4b3JnLmRyb29scy5yZXRlb28uUnVsZV9IZWxsb19X
-b3JsZF8yXzBDb25zZXF1ZW5jZUludm9rZXJzcQB+AAMAAAAAAAAAAAIAAAAAAAFwcQB+AAtzcgA4
-b3JnLmRyb29scy5yZXRlb28uUnVsZV9IZWxsb19Xb3JsZF8yXzBDb25zZXF1ZW5jZUludm9rZXJu
-Xqy++rNzagIAAHhwdXEAfgAOAAAAAXNyABtvcmcuZHJvb2xzLnJ1bGUuRGVjbGFyYXRpb24DczwB
-8iDr1gIAA0kABmNvbHVtbkwACWV4dHJhY3RvcnQAGkxvcmcvZHJvb2xzL3NwaS9FeHRyYWN0b3I7
-TAAKaWRlbnRpZmllcnEAfgAEeHAAAAAAc3EAfgAncQB+ACt0AAhtZXNzYWdlMXQACSRtZXNzYWdl
-MXNxAH4AAD9AAAAAAAAMdwgAAAAQAAAAAXEAfgB1cQB+AHJ4cHNxAH4AEXNxAH4AFgAAAAR3BAAA
-AApzcQB+ABFzcQB+ABYAAAACdwQAAAAKc3EAfgAaAAAAAAAAAABzcQB+ABYAAAACdwQAAAACcQB+
-AHJzcQB+AB9xAH4AJnNxAH4AJ3EAfgArdAAIbWVzc2FnZTFzcQB+AC1xAH4AMHhwc3EAfgAxAAAA
-0nEAfgArc3EAfgAaAAAAAQAAAABzcQB+ABYAAAABdwQAAAABc3EAfgAfcQB+ACZzcQB+ACdxAH4A
-K3QACG1lc3NhZ2Uyc3EAfgAtcQB+ADl4cHNxAH4AMQAAANJxAH4AK3hzcQB+ADtzcQB+ABYAAAAC
-dwQAAAAKc3EAfgAaAAAAAgAAAABzcQB+ABYAAAABdwQAAAABc3EAfgAfcQB+ACZzcQB+ACdxAH4A
-K3QACG1lc3NhZ2Uyc3EAfgAtcQB+ADB4cHNxAH4AMQAAANJxAH4AK3NxAH4AEXNxAH4AFgAAAAJ3
-BAAAAApzcQB+ABoAAAADAAAAAHNxAH4AFgAAAAF3BAAAAAFzcQB+AB9xAH4AJnNxAH4AJ3EAfgBM
-dAAEdHlwZXNxAH4ALXEAfgBPeHBzcQB+ADEAAADScQB+AExzcQB+ABoAAAAEAAAAAHNxAH4AFgAA
-AAF3BAAAAAFzcQB+AB9xAH4AJnNxAH4AJ3EAfgBMdAAEdHlwZXNxAH4ALXEAfgBXeHBzcQB+ADEA
-AADScQB+AEx4eHNxAH4AO3NxAH4AFgAAAAJ3BAAAAApzcQB+ABoAAAAFAAAAAHNxAH4AFgAAAAF3
-BAAAAAFzcQB+AB9xAH4AJnNxAH4AJ3EAfgArdAAIbWVzc2FnZTNzcQB+AC1xAH4AMHhwc3EAfgAx
-AAAA0nEAfgArc3EAfgAaAAAABv////9zcQB+ABYAAAABdwQAAAABc3EAfgAfcQB+ACZzcQB+ACdx
-AH4AK3QACG1lc3NhZ2Uzc3EAfgAtcQB+AGh4cHNxAH4AMQAAANJxAH4AK3hzcQB+ADtzcQB+ABYA
-AAACdwQAAAAKc3EAfgAaAAAAB/////9zcQB+ABYAAAABdwQAAAABc3EAfgAfcQB+ACZzcQB+ACd2
-cgARb3JnLmRyb29scy5QZXJzb24kpC8CF5+4ZgIACEkAA2FnZVoABWFsaXZlQwADc2V4TAAKYmln
-RGVjaW1hbHQAFkxqYXZhL21hdGgvQmlnRGVjaW1hbDtMAApiaWdJbnRlZ2VydAAWTGphdmEvbWF0
-aC9CaWdJbnRlZ2VyO0wABWxpa2VzcQB+AARMAARuYW1lcQB+AARMAAZzdGF0dXNxAH4ABHhwdAAE
-bmFtZXNxAH4ALXQABG1hcmt4cHNxAH4AMQAAANJxAH4Au3NxAH4AGgAAAAj////+c3EAfgAWAAAA
-AXcEAAAAAXNyACdvcmcuZHJvb2xzLnJ1bGUuQm91bmRWYXJpYWJsZUNvbnN0cmFpbnRw+tSAX/7W
-VwIABUkABmNvbHVtbkwAC2RlY2xhcmF0aW9ucQB+ABtMAAlldmFsdWF0b3JxAH4AIEwADmZpZWxk
-RXh0cmFjdG9ycQB+ACFbABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgAGeHAAAAAAcQB+AHJxAH4A
-JnNxAH4AJ3EAfgC7dAAEbmFtZXVxAH4ADgAAAAFxAH4Acnhwc3EAfgAxAAAA0nEAfgC7eHh0AA1I
-ZWxsbyBXb3JsZCAycHg=</byte-array>
+AB9xAH4AJnEAfgA2c3EAfgAtcQB+ADB4cHNxAH4AMQAAANJxAH4AK3NxAH4AEXNxAH4AFgAAAAJ3
+BAAAAApzcQB+ABoAAAADAAAAAHNxAH4AFgAAAAF3BAAAAAFzcQB+AB9xAH4AJnNxAH4AJ3ZyABFv
+cmcuZHJvb2xzLkNoZWVzZe+FAhE7Rf31AgACSQAFcHJpY2VMAAR0eXBlcQB+AAR4cHQABHR5cGVz
+cQB+AC10AAdzdGlsdG9ueHBzcQB+ADEAAADScQB+AEpzcQB+ABoAAAAEAAAAAHNxAH4AFgAAAAF3
+BAAAAAFzcQB+AB9xAH4AJnEAfgBIc3EAfgAtdAAEYnJpZXhwc3EAfgAxAAAA0nEAfgBKeHhzcQB+
+ADtzcQB+ABYAAAACdwQAAAAKc3EAfgAaAAAABQAAAABzcQB+ABYAAAABdwQAAAABc3EAfgAfcQB+
+ACZzcQB+ACdxAH4AK3QACG1lc3NhZ2Uzc3EAfgAtcQB+ADB4cHNxAH4AMQAAANJxAH4AK3NxAH4A
+GgAAAAb/////c3EAfgAWAAAAAXcEAAAAAXNxAH4AH3EAfgAmcQB+AFpzcQB+AC10AAVUaHJlZXhw
+c3EAfgAxAAAA0nEAfgAreHh0AA1IZWxsbyBXb3JsZCAxcHQAOG9yZy5kcm9vbHMucmV0ZW9vLlJ1
+bGVfSGVsbG9fV29ybGRfMl8wQ29uc2VxdWVuY2VJbnZva2Vyc3EAfgADAAAAAAAAAAACAAAAAAAB
+cHEAfgALc3IAOG9yZy5kcm9vbHMucmV0ZW9vLlJ1bGVfSGVsbG9fV29ybGRfMl8wQ29uc2VxdWVu
+Y2VJbnZva2Vybl6svvqzc2oCAAB4cHVxAH4ADgAAAAFzcgAbb3JnLmRyb29scy5ydWxlLkRlY2xh
+cmF0aW9uA3M8AfIg69YCAANJAAZjb2x1bW5MAAlleHRyYWN0b3J0ABpMb3JnL2Ryb29scy9zcGkv
+RXh0cmFjdG9yO0wACmlkZW50aWZpZXJxAH4ABHhwAAAAAHEAfgApdAAJJG1lc3NhZ2Uxc3EAfgAA
+P0AAAAAAAAx3CAAAABAAAAABcQB+AG1xAH4AbHhwc3EAfgARc3EAfgAWAAAABHcEAAAACnNxAH4A
+EXNxAH4AFgAAAAJ3BAAAAApzcQB+ABoAAAAAAAAAAHNxAH4AFgAAAAJ3BAAAAAJxAH4AbHNxAH4A
+H3EAfgAmcQB+AClzcQB+AC1xAH4AMHhwc3EAfgAxAAAA0nEAfgArc3EAfgAaAAAAAQAAAABzcQB+
+ABYAAAABdwQAAAABc3EAfgAfcQB+ACZxAH4ANnNxAH4ALXEAfgA5eHBzcQB+ADEAAADScQB+ACt4
+c3EAfgA7c3EAfgAWAAAAAncEAAAACnNxAH4AGgAAAAIAAAAAc3EAfgAWAAAAAXcEAAAAAXNxAH4A
+H3EAfgAmcQB+ADZzcQB+AC1xAH4AMHhwc3EAfgAxAAAA0nEAfgArc3EAfgARc3EAfgAWAAAAAncE
+AAAACnNxAH4AGgAAAAMAAAAAc3EAfgAWAAAAAXcEAAAAAXNxAH4AH3EAfgAmcQB+AEhzcQB+AC1x
+AH4ATXhwc3EAfgAxAAAA0nEAfgBKc3EAfgAaAAAABAAAAABzcQB+ABYAAAABdwQAAAABc3EAfgAf
+cQB+ACZxAH4ASHNxAH4ALXEAfgBTeHBzcQB+ADEAAADScQB+AEp4eHNxAH4AO3NxAH4AFgAAAAJ3
+BAAAAApzcQB+ABoAAAAFAAAAAHNxAH4AFgAAAAF3BAAAAAFzcQB+AB9xAH4AJnEAfgBac3EAfgAt
+cQB+ADB4cHNxAH4AMQAAANJxAH4AK3NxAH4AGgAAAAb/////c3EAfgAWAAAAAXcEAAAAAXNxAH4A
+H3EAfgAmcQB+AFpzcQB+AC1xAH4AYnhwc3EAfgAxAAAA0nEAfgAreHNxAH4AO3NxAH4AFgAAAAJ3
+BAAAAApzcQB+ABoAAAAH/////3NxAH4AFgAAAAF3BAAAAAFzcQB+AB9xAH4AJnNxAH4AJ3ZyABFv
+cmcuZHJvb2xzLlBlcnNvbiSkLwIXn7hmAgAISQADYWdlWgAFYWxpdmVDAANzZXhMAApiaWdEZWNp
+bWFsdAAWTGphdmEvbWF0aC9CaWdEZWNpbWFsO0wACmJpZ0ludGVnZXJ0ABZMamF2YS9tYXRoL0Jp
+Z0ludGVnZXI7TAAFbGlrZXNxAH4ABEwABG5hbWVxAH4ABEwABnN0YXR1c3EAfgAEeHB0AARuYW1l
+c3EAfgAtdAAEbWFya3hwc3EAfgAxAAAA0nEAfgClc3EAfgAaAAAACP////5zcQB+ABYAAAABdwQA
+AAABc3IAJ29yZy5kcm9vbHMucnVsZS5Cb3VuZFZhcmlhYmxlQ29uc3RyYWludHD61IBf/tZXAgAF
+SQAGY29sdW1uTAALZGVjbGFyYXRpb25xAH4AG0wACWV2YWx1YXRvcnEAfgAgTAAOZmllbGRFeHRy
+YWN0b3JxAH4AIVsAFHJlcXVpcmVkRGVjbGFyYXRpb25zcQB+AAZ4cAAAAABxAH4AbHEAfgAmcQB+
+AKF1cQB+AA4AAAABcQB+AGx4cHNxAH4AMQAAANJxAH4ApXh4dAANSGVsbG8gV29ybGQgMnB4</byte-array>
         </org.drools.rule.PackageCompilationData>
         <string>org.drools.reteoo</string>
         <list>
@@ -206,57 +202,54 @@
 AH4AGwAAAAEAAAAAc3EAfgAXAAAAAXcEAAAAAXNxAH4AIHEAfgAnc3EAfgAocQB+ACx0AAhtZXNz
 YWdlMnNxAH4ALnQAA1R3b3hwc3EAfgAyAAAA0nEAfgAseHNyABJvcmcuZHJvb2xzLnJ1bGUuT3IV
 F4eAAV23IwIAAHhxAH4AE3NxAH4AFwAAAAJ3BAAAAApzcQB+ABsAAAACAAAAAHNxAH4AFwAAAAF3
-BAAAAAFzcQB+ACBxAH4AJ3NxAH4AKHEAfgAsdAAIbWVzc2FnZTJzcQB+AC5xAH4AMXhwc3EAfgAy
-AAAA0nEAfgAsc3EAfgASc3EAfgAXAAAAAncEAAAACnNxAH4AGwAAAAMAAAAAc3EAfgAXAAAAAXcE
-AAAAAXNxAH4AIHEAfgAnc3EAfgAodnIAEW9yZy5kcm9vbHMuQ2hlZXNl74UCETtF/fUCAAJJAAVw
-cmljZUwABHR5cGVxAH4ABXhwdAAEdHlwZXNxAH4ALnQAB3N0aWx0b254cHNxAH4AMgAAANJxAH4A
-TXNxAH4AGwAAAAQAAAAAc3EAfgAXAAAAAXcEAAAAAXNxAH4AIHEAfgAnc3EAfgAocQB+AE10AAR0
-eXBlc3EAfgAudAAEYnJpZXhwc3EAfgAyAAAA0nEAfgBNeHhzcQB+ADxzcQB+ABcAAAACdwQAAAAK
-c3EAfgAbAAAABQAAAABzcQB+ABcAAAABdwQAAAABc3EAfgAgcQB+ACdzcQB+AChxAH4ALHQACG1l
-c3NhZ2Uzc3EAfgAucQB+ADF4cHNxAH4AMgAAANJxAH4ALHNxAH4AGwAAAAb/////c3EAfgAXAAAA
-AXcEAAAAAXNxAH4AIHEAfgAnc3EAfgAocQB+ACx0AAhtZXNzYWdlM3NxAH4ALnQABVRocmVleHBz
-cQB+ADIAAADScQB+ACx4eHEAfgADcHQADUhlbGxvIFdvcmxkIDJzcQB+AAQAAAAAAAAAAAIAAAAA
-AAFwcQB+AAxzcgA4b3JnLmRyb29scy5yZXRlb28uUnVsZV9IZWxsb19Xb3JsZF8yXzBDb25zZXF1
-ZW5jZUludm9rZXJuXqy++rNzagIAAHhwdXEAfgAPAAAAAXNyABtvcmcuZHJvb2xzLnJ1bGUuRGVj
-bGFyYXRpb24DczwB8iDr1gIAA0kABmNvbHVtbkwACWV4dHJhY3RvcnQAGkxvcmcvZHJvb2xzL3Nw
-aS9FeHRyYWN0b3I7TAAKaWRlbnRpZmllcnEAfgAFeHAAAAAAc3EAfgAocQB+ACx0AAhtZXNzYWdl
-MXQACSRtZXNzYWdlMXNxAH4AAT9AAAAAAAAMdwgAAAAQAAAAAXEAfgB1cQB+AHJ4cHNxAH4AEnNx
-AH4AFwAAAAR3BAAAAApzcQB+ABJzcQB+ABcAAAACdwQAAAAKc3EAfgAbAAAAAAAAAABzcQB+ABcA
-AAACdwQAAAACcQB+AHJzcQB+ACBxAH4AJ3NxAH4AKHEAfgAsdAAIbWVzc2FnZTFzcQB+AC5xAH4A
-MXhwc3EAfgAyAAAA0nEAfgAsc3EAfgAbAAAAAQAAAABzcQB+ABcAAAABdwQAAAABc3EAfgAgcQB+
-ACdzcQB+AChxAH4ALHQACG1lc3NhZ2Uyc3EAfgAucQB+ADp4cHNxAH4AMgAAANJxAH4ALHhzcQB+
-ADxzcQB+ABcAAAACdwQAAAAKc3EAfgAbAAAAAgAAAABzcQB+ABcAAAABdwQAAAABc3EAfgAgcQB+
-ACdzcQB+AChxAH4ALHQACG1lc3NhZ2Uyc3EAfgAucQB+ADF4cHNxAH4AMgAAANJxAH4ALHNxAH4A
-EnNxAH4AFwAAAAJ3BAAAAApzcQB+ABsAAAADAAAAAHNxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4A
-J3NxAH4AKHEAfgBNdAAEdHlwZXNxAH4ALnEAfgBQeHBzcQB+ADIAAADScQB+AE1zcQB+ABsAAAAE
-AAAAAHNxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4AJ3NxAH4AKHEAfgBNdAAEdHlwZXNxAH4ALnEA
-fgBYeHBzcQB+ADIAAADScQB+AE14eHNxAH4APHNxAH4AFwAAAAJ3BAAAAApzcQB+ABsAAAAFAAAA
-AHNxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4AJ3NxAH4AKHEAfgAsdAAIbWVzc2FnZTNzcQB+AC5x
-AH4AMXhwc3EAfgAyAAAA0nEAfgAsc3EAfgAbAAAABv////9zcQB+ABcAAAABdwQAAAABc3EAfgAg
-cQB+ACdzcQB+AChxAH4ALHQACG1lc3NhZ2Uzc3EAfgAucQB+AGl4cHNxAH4AMgAAANJxAH4ALHhz
-cQB+ADxzcQB+ABcAAAACdwQAAAAKc3EAfgAbAAAAB/////9zcQB+ABcAAAABdwQAAAABc3EAfgAg
-cQB+ACdzcQB+ACh2cgARb3JnLmRyb29scy5QZXJzb24kpC8CF5+4ZgIACEkAA2FnZVoABWFsaXZl
-QwADc2V4TAAKYmlnRGVjaW1hbHQAFkxqYXZhL21hdGgvQmlnRGVjaW1hbDtMAApiaWdJbnRlZ2Vy
-dAAWTGphdmEvbWF0aC9CaWdJbnRlZ2VyO0wABWxpa2VzcQB+AAVMAARuYW1lcQB+AAVMAAZzdGF0
-dXNxAH4ABXhwdAAEbmFtZXNxAH4ALnQABG1hcmt4cHNxAH4AMgAAANJxAH4Au3NxAH4AGwAAAAj/
-///+c3EAfgAXAAAAAXcEAAAAAXNyACdvcmcuZHJvb2xzLnJ1bGUuQm91bmRWYXJpYWJsZUNvbnN0
-cmFpbnRw+tSAX/7WVwIABUkABmNvbHVtbkwAC2RlY2xhcmF0aW9ucQB+ABxMAAlldmFsdWF0b3Jx
-AH4AIUwADmZpZWxkRXh0cmFjdG9ycQB+ACJbABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgAHeHAA
-AAAAcQB+AHJxAH4AJ3NxAH4AKHEAfgC7dAAEbmFtZXVxAH4ADwAAAAFxAH4Acnhwc3EAfgAyAAAA
-0nEAfgC7eHhxAH4Aa3B4AA==</byte-array>
+BAAAAAFzcQB+ACBxAH4AJ3EAfgA3c3EAfgAucQB+ADF4cHNxAH4AMgAAANJxAH4ALHNxAH4AEnNx
+AH4AFwAAAAJ3BAAAAApzcQB+ABsAAAADAAAAAHNxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4AJ3Nx
+AH4AKHZyABFvcmcuZHJvb2xzLkNoZWVzZe+FAhE7Rf31AgACSQAFcHJpY2VMAAR0eXBlcQB+AAV4
+cHQABHR5cGVzcQB+AC50AAdzdGlsdG9ueHBzcQB+ADIAAADScQB+AEtzcQB+ABsAAAAEAAAAAHNx
+AH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4AJ3EAfgBJc3EAfgAudAAEYnJpZXhwc3EAfgAyAAAA0nEA
+fgBLeHhzcQB+ADxzcQB+ABcAAAACdwQAAAAKc3EAfgAbAAAABQAAAABzcQB+ABcAAAABdwQAAAAB
+c3EAfgAgcQB+ACdzcQB+AChxAH4ALHQACG1lc3NhZ2Uzc3EAfgAucQB+ADF4cHNxAH4AMgAAANJx
+AH4ALHNxAH4AGwAAAAb/////c3EAfgAXAAAAAXcEAAAAAXNxAH4AIHEAfgAncQB+AFtzcQB+AC50
+AAVUaHJlZXhwc3EAfgAyAAAA0nEAfgAseHhxAH4AA3B0AA1IZWxsbyBXb3JsZCAyc3EAfgAEAAAA
+AAAAAAACAAAAAAABcHEAfgAMc3IAOG9yZy5kcm9vbHMucmV0ZW9vLlJ1bGVfSGVsbG9fV29ybGRf
+Ml8wQ29uc2VxdWVuY2VJbnZva2Vybl6svvqzc2oCAAB4cHVxAH4ADwAAAAFzcgAbb3JnLmRyb29s
+cy5ydWxlLkRlY2xhcmF0aW9uA3M8AfIg69YCAANJAAZjb2x1bW5MAAlleHRyYWN0b3J0ABpMb3Jn
+L2Ryb29scy9zcGkvRXh0cmFjdG9yO0wACmlkZW50aWZpZXJxAH4ABXhwAAAAAHEAfgAqdAAJJG1l
+c3NhZ2Uxc3EAfgABP0AAAAAAAAx3CAAAABAAAAABcQB+AG1xAH4AbHhwc3EAfgASc3EAfgAXAAAA
+BHcEAAAACnNxAH4AEnNxAH4AFwAAAAJ3BAAAAApzcQB+ABsAAAAAAAAAAHNxAH4AFwAAAAJ3BAAA
+AAJxAH4AbHNxAH4AIHEAfgAncQB+ACpzcQB+AC5xAH4AMXhwc3EAfgAyAAAA0nEAfgAsc3EAfgAb
+AAAAAQAAAABzcQB+ABcAAAABdwQAAAABc3EAfgAgcQB+ACdxAH4AN3NxAH4ALnEAfgA6eHBzcQB+
+ADIAAADScQB+ACx4c3EAfgA8c3EAfgAXAAAAAncEAAAACnNxAH4AGwAAAAIAAAAAc3EAfgAXAAAA
+AXcEAAAAAXNxAH4AIHEAfgAncQB+ADdzcQB+AC5xAH4AMXhwc3EAfgAyAAAA0nEAfgAsc3EAfgAS
+c3EAfgAXAAAAAncEAAAACnNxAH4AGwAAAAMAAAAAc3EAfgAXAAAAAXcEAAAAAXNxAH4AIHEAfgAn
+cQB+AElzcQB+AC5xAH4ATnhwc3EAfgAyAAAA0nEAfgBLc3EAfgAbAAAABAAAAABzcQB+ABcAAAAB
+dwQAAAABc3EAfgAgcQB+ACdxAH4ASXNxAH4ALnEAfgBUeHBzcQB+ADIAAADScQB+AEt4eHNxAH4A
+PHNxAH4AFwAAAAJ3BAAAAApzcQB+ABsAAAAFAAAAAHNxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4A
+J3EAfgBbc3EAfgAucQB+ADF4cHNxAH4AMgAAANJxAH4ALHNxAH4AGwAAAAb/////c3EAfgAXAAAA
+AXcEAAAAAXNxAH4AIHEAfgAncQB+AFtzcQB+AC5xAH4AY3hwc3EAfgAyAAAA0nEAfgAseHNxAH4A
+PHNxAH4AFwAAAAJ3BAAAAApzcQB+ABsAAAAH/////3NxAH4AFwAAAAF3BAAAAAFzcQB+ACBxAH4A
+J3NxAH4AKHZyABFvcmcuZHJvb2xzLlBlcnNvbiSkLwIXn7hmAgAISQADYWdlWgAFYWxpdmVDAANz
+ZXhMAApiaWdEZWNpbWFsdAAWTGphdmEvbWF0aC9CaWdEZWNpbWFsO0wACmJpZ0ludGVnZXJ0ABZM
+amF2YS9tYXRoL0JpZ0ludGVnZXI7TAAFbGlrZXNxAH4ABUwABG5hbWVxAH4ABUwABnN0YXR1c3EA
+fgAFeHB0AARuYW1lc3EAfgAudAAEbWFya3hwc3EAfgAyAAAA0nEAfgClc3EAfgAbAAAACP////5z
+cQB+ABcAAAABdwQAAAABc3IAJ29yZy5kcm9vbHMucnVsZS5Cb3VuZFZhcmlhYmxlQ29uc3RyYWlu
+dHD61IBf/tZXAgAFSQAGY29sdW1uTAALZGVjbGFyYXRpb25xAH4AHEwACWV2YWx1YXRvcnEAfgAh
+TAAOZmllbGRFeHRyYWN0b3JxAH4AIlsAFHJlcXVpcmVkRGVjbGFyYXRpb25zcQB+AAd4cAAAAABx
+AH4AbHEAfgAncQB+AKF1cQB+AA8AAAABcQB+AGx4cHNxAH4AMgAAANJxAH4ApXh4cQB+AGVweAA=
+</byte-array>
       </org.drools.rule.Package>
     </entry>
   </map>
-  <byte-array>rO0ABXNyAClvcmcuZHJvb2xzLnJldGVvby5SZXRlb29GYWN0SGFuZGxlRmFjdG9yeQAAAAAAAAEs
-AgAAeHIAK29yZy5kcm9vbHMuY29tbW9uLkFic3RyYWN0RmFjdEhhbmRsZUZhY3RvcnlrwcaUre4S
-dAIAA0oAB2NvdW50ZXJKAAJpZEwADmZhY3RIYW5kbGVQb29sdAAkTG9yZy9kcm9vbHMvdXRpbC9Q
-cmltaXRpdmVMb25nU3RhY2s7eHAAAAAAAAAAAAAAAAAAAAAAc3IAIm9yZy5kcm9vbHMudXRpbC5Q
-cmltaXRpdmVMb25nU3RhY2sPj6ttreBeeQIAA0kADWN1cnJlbnRQYWdlSWRJAAl0YWJsZVNpemVM
-AAtjdXJyZW50UGFnZXQAKUxvcmcvZHJvb2xzL3V0aWwvUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2U7
-eHAAAAAAAAABAHNyACdvcmcuZHJvb2xzLnV0aWwuUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2Utnhd8
-IgiDlAIABUkAB2xhc3RLZXlJAAZwYWdlSWRMAAtuZXh0U2libGluZ3EAfgAFTAAPcHJldmlvdXNT
-aWJsaW5ncQB+AAVbAAV0YWJsZXQAAltKeHD/////AAAAAHBwdXIAAltKeCAEtRKxdZMCAAB4cAAA
-AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+  <byte-array>rO0ABXQAJDI3N2FiNDViLTlhNWItNDlhYi04MTQxLWE0YTliNThiMTcwMHNyAClvcmcuZHJvb2xz
+LnJldGVvby5SZXRlb29GYWN0SGFuZGxlRmFjdG9yeQAAAAAAAAEsAgAAeHIAK29yZy5kcm9vbHMu
+Y29tbW9uLkFic3RyYWN0RmFjdEhhbmRsZUZhY3RvcnlrwcaUre4SdAIAA0oAB2NvdW50ZXJKAAJp
+ZEwADmZhY3RIYW5kbGVQb29sdAAkTG9yZy9kcm9vbHMvdXRpbC9QcmltaXRpdmVMb25nU3RhY2s7
+eHAAAAAAAAAAAAAAAAAAAAAAc3IAIm9yZy5kcm9vbHMudXRpbC5QcmltaXRpdmVMb25nU3RhY2sP
+j6ttreBeeQIAA0kADWN1cnJlbnRQYWdlSWRJAAl0YWJsZVNpemVMAAtjdXJyZW50UGFnZXQAKUxv
+cmcvZHJvb2xzL3V0aWwvUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2U7eHAAAAAAAAABAHNyACdvcmcu
+ZHJvb2xzLnV0aWwuUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2Utnhd8IgiDlAIABUkAB2xhc3RLZXlJ
+AAZwYWdlSWRMAAtuZXh0U2libGluZ3EAfgAGTAAPcHJldmlvdXNTaWJsaW5ncQB+AAZbAAV0YWJs
+ZXQAAltKeHD/////AAAAAHBwdXIAAltKeCAEtRKxdZMCAAB4cAAAAQAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -291,174 +284,171 @@
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNy
-ABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhw
-P0AAAAAAAAx3CAAAABAAAAAAeHNyACBvcmcuZHJvb2xzLlJ1bGVCYXNlQ29uZmlndXJhdGlvbil7
-XKvVTubNAgACWgAJaW1tdXRhYmxlTAAKcHJvcGVydGllc3QAD0xqYXZhL3V0aWwvTWFwO3hwAXNx
-AH4ADD9AAAAAAAAMdwgAAAAQAAAABnQAHW9yZy5kcm9vbHMud20uYXNzZXJ0LWJlaGF2aW9ydAAI
-aWRlbnRpdHl0ACdvcmcuZHJvb2xzLndtLmxvZ2ljYWwtb3ZlcnJpZGUtYmVoYXZpb3J0AAdkaXNj
-YXJkdAAnb3JnLmRyb29scy5yZXRlb28uYWxwaGEuaGFzaC1hbHBoYS1ub2RldAAFZmFsc2V0ACZv
-cmcuZHJvb2xzLnJldGVvby5hbHBoYS5oYXNoLXR5cGUtbm9kZXQABHRydWV0ACFvcmcuZHJvb2xz
-LnJldGVvby5iZXRhLmluZGV4LWxlZnRxAH4AF3QAIm9yZy5kcm9vbHMucmV0ZW9vLmJldGEuaW5k
-ZXgtcmlnaHRxAH4AGXhzcgAWb3JnLmRyb29scy5yZXRlb28uUmV0ZZyLwdKo4+hfAgADTAANbGFz
-dEFkZGVkTm9kZXQAIkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RUeXBlTm9kZTtMAA9vYmplY3RU
-eXBlTm9kZXNxAH4AD0wACHJlc29sdmVydAAjTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGVSZXNv
-bHZlcjt4cgAeb3JnLmRyb29scy5yZXRlb28uT2JqZWN0U291cmNlndnDP8dFe58CAAFMAAtvYmpl
-Y3RTaW5rc3QAIkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RTaW5rTGlzdDt4cgAab3JnLmRyb29s
-cy5yZXRlb28uQmFzZU5vZGWslo5z5iuC3QIABFoAEGF0dGFjaGluZ05ld05vZGVaAAloYXNNZW1v
-cnlJAAJpZEkAC3NoYXJlZENvdW50eHAAAAAAAAAAAAAAc3IAJ29yZy5kcm9vbHMucmV0ZW9vLkRl
-ZmF1bHRPYmplY3RTaW5rTGlzdPo+R7tpyPGBAgAAeHIAE2phdmEudXRpbC5BcnJheUxpc3R4gdId
-mcdhnQMAAUkABHNpemV4cAAAAAB3BAAAAAF4c3IAIG9yZy5kcm9vbHMucmV0ZW9vLk9iamVjdFR5
-cGVOb2RlE2WjT2PEIJICAAJMAApvYmplY3RUeXBldAAbTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5
-cGU7TAAEcmV0ZXQAGExvcmcvZHJvb2xzL3JldGVvby9SZXRlO3hxAH4AHwABAAAAFwAAAABzcgAm
-b3JnLmRyb29scy5yZXRlb28uSGFzaGVkT2JqZWN0U2lua0xpc3TV7ms9KQ8rtgIABEwAC2FscGhh
-U3dpdGNocQB+AA9MAAtoYXNoZWRTaW5rc3QAEExqYXZhL3V0aWwvTGlzdDtMAA5sYXN0T2JqZWN0
-U2lua3QAHkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RTaW5rO0wACm90aGVyU2lua3NxAH4AK3hw
-c3EAfgAMP0AAAAAAAAx3CAAAABAAAAABc3IAIW9yZy5kcm9vbHMucmV0ZW9vLkFscGhhTm9kZVN3
-aXRjaDGboVVzvIvyAgACTAALYWxwaGFTd2l0Y2hxAH4AD0wACmNvbnN0cmFpbnR0ACNMb3JnL2Ry
-b29scy9ydWxlL0xpdGVyYWxDb25zdHJhaW50O3hwc3EAfgAMP0AAAAAAAAx3CAAAABAAAAABdAAE
-bWFya3NyABtvcmcuZHJvb2xzLnJldGVvby5BbHBoYU5vZGV8BN3RPcxa5gIAAkwACmNvbnN0cmFp
-bnR0ACBMb3JnL2Ryb29scy9zcGkvRmllbGRDb25zdHJhaW50O0wADG9iamVjdFNvdXJjZXQAIExv
-cmcvZHJvb2xzL3JldGVvby9PYmplY3RTb3VyY2U7eHEAfgAfAAEAAAAYAAAAAHNxAH4AIwAAAAR3
-BAAAAARzcgAab3JnLmRyb29scy5yZXRlb28uSm9pbk5vZGU4kC8uv3fN2gIAAHhyABpvcmcuZHJv
-b2xzLnJldGVvby5CZXRhTm9kZTsKSo6HsmJbAgADTAAOam9pbk5vZGVCaW5kZXJ0ACJMb3JnL2Ry
-b29scy9jb21tb24vQmV0YU5vZGVCaW5kZXI7TAAJbGVmdElucHV0dAAfTG9yZy9kcm9vbHMvcmV0
-ZW9vL1R1cGxlU291cmNlO0wACnJpZ2h0SW5wdXRxAH4ANnhyAB1vcmcuZHJvb2xzLnJldGVvby5U
-dXBsZVNvdXJjZZ8hF+uqYqOQAgABTAAKdHVwbGVTaW5rc3EAfgAreHEAfgAhAAAAAAAZAAAAAHNx
-AH4AJAAAAAF3BAAAAAFzcgAeb3JnLmRyb29scy5yZXRlb28uVGVybWluYWxOb2RlxhfOL18W6tcC
-AAJMAARydWxldAAWTG9yZy9kcm9vbHMvcnVsZS9SdWxlO0wAC3R1cGxlU291cmNlcQB+ADx4cQB+
-ACEAAAAAABoAAAAAc3IAFG9yZy5kcm9vbHMucnVsZS5SdWxlbl6svvqzc2oCAA5aAAlhdXRvRm9j
-dXNKAAlsb2FkT3JkZXJaAAZub0xvb3BJAAhzYWxpZW5jZVoAEXNlbWFudGljYWxseVZhbGlkTAAP
-QWN0aXZhdGlvbkdyb3VwdAASTGphdmEvbGFuZy9TdHJpbmc7TAALYWdlbmRhR3JvdXBxAH4AREwA
-C2NvbnNlcXVlbmNldAAcTG9yZy9kcm9vbHMvc3BpL0NvbnNlcXVlbmNlO1sAEGRlY2xhcmF0aW9u
-QXJyYXl0AB5bTG9yZy9kcm9vbHMvcnVsZS9EZWNsYXJhdGlvbjtMAAxkZWNsYXJhdGlvbnNxAH4A
-D0wACGR1cmF0aW9udAAZTG9yZy9kcm9vbHMvc3BpL0R1cmF0aW9uO0wAB2xoc1Jvb3R0ABVMb3Jn
-L2Ryb29scy9ydWxlL0FuZDtMAARuYW1lcQB+AERMAANwa2dxAH4ARHhwAAAAAAAAAAACAAAAAAAB
-cHQABE1BSU5zcgA4b3JnLmRyb29scy5yZXRlb28uUnVsZV9IZWxsb19Xb3JsZF8yXzBDb25zZXF1
-ZW5jZUludm9rZXJuXqy++rNzagIAAHhwdXIAHltMb3JnLmRyb29scy5ydWxlLkRlY2xhcmF0aW9u
-O/Wnzws0aCnjAgAAeHAAAAABc3IAG29yZy5kcm9vbHMucnVsZS5EZWNsYXJhdGlvbgNzPAHyIOvW
-AgADSQAGY29sdW1uTAAJZXh0cmFjdG9ydAAaTG9yZy9kcm9vbHMvc3BpL0V4dHJhY3RvcjtMAApp
-ZGVudGlmaWVycQB+AER4cAAAAABzcgAjb3JnLmRyb29scy5iYXNlLkNsYXNzRmllbGRFeHRyYWN0
-b3IZ4kABiRDxowIAAkwABWNsYXp6dAARTGphdmEvbGFuZy9DbGFzcztMAAlmaWVsZE5hbWVxAH4A
-RHhwdnIAEm9yZy5kcm9vbHMuTWVzc2FnZQAAAAAAAAAAAAAAeHB0AAhtZXNzYWdlMXQACSRtZXNz
-YWdlMXNxAH4ADD9AAAAAAAAMdwgAAAAQAAAAAXEAfgBYcQB+AFF4cHNyABNvcmcuZHJvb2xzLnJ1
-bGUuQW5k/PjnIvCmw3YCAAB4cgAcb3JnLmRyb29scy5ydWxlLkdyb3VwRWxlbWVudMbck79vtelY
-AgABTAAIY2hpbGRyZW5xAH4AK3hyACJvcmcuZHJvb2xzLnJ1bGUuQ29uZGl0aW9uYWxFbGVtZW50
-xgxz6WbzojYCAAB4cHNxAH4AJAAAAAR3BAAAAApzcQB+AFpzcQB+ACQAAAACdwQAAAAKc3IAFm9y
-Zy5kcm9vbHMucnVsZS5Db2x1bW5/ObACQK9R5gIABUkABWluZGV4SQAGb2Zmc2V0TAALY29uc3Ry
-YWludHNxAH4AK0wAC2RlY2xhcmF0aW9udAAdTG9yZy9kcm9vbHMvcnVsZS9EZWNsYXJhdGlvbjtM
-AApvYmplY3RUeXBlcQB+ACd4cAAAAAAAAAAAc3EAfgAkAAAAAncEAAAAAnEAfgBRc3IAIW9yZy5k
-cm9vbHMucnVsZS5MaXRlcmFsQ29uc3RyYWludAOS+tbk+ZKzAgADTAAJZXZhbHVhdG9ydAAaTG9y
-Zy9kcm9vbHMvc3BpL0V2YWx1YXRvcjtMAAlleHRyYWN0b3J0AB9Mb3JnL2Ryb29scy9zcGkvRmll
-bGRFeHRyYWN0b3I7TAAFZmllbGR0ABtMb3JnL2Ryb29scy9zcGkvRmllbGRWYWx1ZTt4cHNyAD1v
-cmcuZHJvb2xzLmJhc2UuZXZhbHVhdG9ycy5TdHJpbmdGYWN0b3J5JFN0cmluZ0VxdWFsRXZhbHVh
-dG9ySU/lvdDlSJYCAAB4cgAdb3JnLmRyb29scy5iYXNlLkJhc2VFdmFsdWF0b3KuQXGsNOGNawIA
-AkkACG9wZXJhdG9ySQAEdHlwZXhwAAAAAQAAALRzcQB+AFJxAH4AVnQACG1lc3NhZ2Uxc3IAGW9y
-Zy5kcm9vbHMuYmFzZS5GaWVsZEltcGyumU30rN12RAIAAUwABXZhbHVldAASTGphdmEvbGFuZy9P
-YmplY3Q7eHB0AANPbmV4cHNyAB9vcmcuZHJvb2xzLmJhc2UuQ2xhc3NPYmplY3RUeXBl3OzYF9SU
-+/0CAAJJAAl2YWx1ZVR5cGVMAA9vYmplY3RUeXBlQ2xhc3NxAH4AU3hwAAAA0nEAfgBWc3EAfgBh
-AAAAAQAAAABzcQB+ACQAAAABdwQAAAABc3EAfgBlcQB+AGxzcQB+AFJxAH4AVnQACG1lc3NhZ2Uy
-c3EAfgBvdAADVHdveHBzcQB+AHMAAADScQB+AFZ4c3IAEm9yZy5kcm9vbHMucnVsZS5PchUXh4AB
-XbcjAgAAeHEAfgBbc3EAfgAkAAAAAncEAAAACnNxAH4AYQAAAAIAAAAAc3EAfgAkAAAAAXcEAAAA
-AXNxAH4AZXEAfgBsc3EAfgBScQB+AFZ0AAhtZXNzYWdlMnNxAH4Ab3EAfgByeHBzcQB+AHMAAADS
-cQB+AFZzcQB+AFpzcQB+ACQAAAACdwQAAAAKc3EAfgBhAAAAAwAAAABzcQB+ACQAAAABdwQAAAAB
-c3EAfgBlcQB+AGxzcQB+AFJ2cgARb3JnLmRyb29scy5DaGVlc2XvhQIRO0X99QIAAkkABXByaWNl
-TAAEdHlwZXEAfgBEeHB0AAR0eXBlc3EAfgBvdAAHc3RpbHRvbnhwc3EAfgBzAAAA0nEAfgCOc3EA
-fgBhAAAABAAAAABzcQB+ACQAAAABdwQAAAABc3EAfgBlcQB+AGxzcQB+AFJxAH4AjnQABHR5cGVz
-cQB+AG90AARicmlleHBzcQB+AHMAAADScQB+AI54eHNxAH4AfXNxAH4AJAAAAAJ3BAAAAApzcQB+
-AGEAAAAFAAAAAHNxAH4AJAAAAAF3BAAAAAFzcQB+AGVxAH4AbHNxAH4AUnEAfgBWdAAIbWVzc2Fn
-ZTNzcQB+AG9xAH4Acnhwc3EAfgBzAAAA0nEAfgBWc3EAfgBhAAAABv////9zcQB+ACQAAAABdwQA
-AAABc3EAfgBlcQB+AGxzcQB+AFJxAH4AVnQACG1lc3NhZ2Uzc3EAfgBvdAAFVGhyZWV4cHNxAH4A
-cwAAANJxAH4AVnhzcQB+AH1zcQB+ACQAAAACdwQAAAAKc3EAfgBhAAAAB/////9zcQB+ACQAAAAB
-dwQAAAABc3EAfgBlcQB+AGxzcQB+AFJ2cgARb3JnLmRyb29scy5QZXJzb24kpC8CF5+4ZgIACEkA
-A2FnZVoABWFsaXZlQwADc2V4TAAKYmlnRGVjaW1hbHQAFkxqYXZhL21hdGgvQmlnRGVjaW1hbDtM
-AApiaWdJbnRlZ2VydAAWTGphdmEvbWF0aC9CaWdJbnRlZ2VyO0wABWxpa2VzcQB+AERMAARuYW1l
-cQB+AERMAAZzdGF0dXNxAH4ARHhwdAAEbmFtZXNxAH4Ab3EAfgAzeHBzcQB+AHMAAADScQB+ALVz
-cQB+AGEAAAAI/////nNxAH4AJAAAAAF3BAAAAAFzcgAnb3JnLmRyb29scy5ydWxlLkJvdW5kVmFy
-aWFibGVDb25zdHJhaW50cPrUgF/+1lcCAAVJAAZjb2x1bW5MAAtkZWNsYXJhdGlvbnEAfgBiTAAJ
-ZXZhbHVhdG9ycQB+AGZMAA5maWVsZEV4dHJhY3RvcnEAfgBnWwAUcmVxdWlyZWREZWNsYXJhdGlv
-bnNxAH4ARnhwAAAAAHEAfgBRcQB+AGxzcQB+AFJxAH4AtXQABG5hbWV1cQB+AE0AAAABcQB+AFF4
-cHNxAH4AcwAAANJxAH4AtXh4dAANSGVsbG8gV29ybGQgMnBxAH4APnhzcgAgb3JnLmRyb29scy5j
-b21tb24uQmV0YU5vZGVCaW5kZXLZOk2QQfBaswIAAVsAC2NvbnN0cmFpbnRzdAAhW0xvcmcvZHJv
-b2xzL3NwaS9GaWVsZENvbnN0cmFpbnQ7eHB1cgAhW0xvcmcuZHJvb2xzLnNwaS5GaWVsZENvbnN0
-cmFpbnQ7mvaX9rRKD8YCAAB4cAAAAABzcQB+ADkAAAAAAAkAAAACc3EAfgAkAAAAA3cEAAAABHNx
-AH4AQAAAAAAACgAAAABzcQB+AEMAAAAAAAAAAAEAAAAAAAFwcQB+AEpzcgA4b3JnLmRyb29scy5y
-ZXRlb28uUnVsZV9IZWxsb19Xb3JsZF8xXzBDb25zZXF1ZW5jZUludm9rZXJuXqy++rNzagIAAHhw
-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
-AUt4cQB+AP5xAH4BbnNxAH4AL3NxAH4ADD9AAAAAAAAMdwgAAAAQAAAAAnEAfgB7cQB+AWtxAH4A
-cnNxAH4ANAABAAAABgAAAABzcQB+ACMAAAABdwQAAAABcQB+ARV4cQB+AOVxAH4BTXhxAH4A3HEA
-fgFweHNxAH4AJAAAAAV3BAAAAAdxAH4BUnEAfgFrcQB+AXJxAH4BS3EAfgEneHEAfgEnc3EAfgAk
-AAAAAHcEAAAAAXhxAH4A2XEAfgAicQB+ASl4c3EAfgDCdXEAfgDFAAAAAXNxAH4BEgAAAAN1cQB+
-AE0AAAAAcQB+AVlxAH4BY3EAfgEneHEAfgEFcQB+AU14c3EAfgDCdXEAfgDFAAAAAXNxAH4BEgAA
-AAF1cQB+AE0AAAAAcQB+AVdxAH4BcnEAfgFLcQB+ADdxAH4BGnEAfgE+cQB+ASx4cQB+ALBxAH4A
-KXhxAH4AsHEAfgAxeHNxAH4AJAAAAAF3BAAAAAFxAH4AN3hxAH4BMHNxAH4AJAAAAAR3BAAAAARx
-AH4BC3EAfgEecQB+AUJxAH4BMHhxAH4AuHEAfgAic3EAfgAMP0AAAAAAAAx3CAAAABAAAAADcQB+
-ALhxAH4AKXEAfgDycQB+AV5xAH4A2XEAfgFNeHNyACZvcmcuZHJvb2xzLnNwaS5DbGFzc09iamVj
-dFR5cGVSZXNvbHZlcgKE2PxwsbDrAgABTAAKb2JqZWN0VHlwZXQAQ0xvcmcvZHJvb2xzL3NwaS9D
-bGFzc09iamVjdFR5cGVSZXNvbHZlciRNb2RpZmllYWJsZUNsYXNzT2JqZWN0VHlwZTt4cHNyAEFv
-cmcuZHJvb2xzLnNwaS5DbGFzc09iamVjdFR5cGVSZXNvbHZlciRNb2RpZmllYWJsZUNsYXNzT2Jq
-ZWN0VHlwZUSlq5QCN/s1AgAAeHEAfgBzAAABLHBzcgAfb3JnLmRyb29scy5yZXRlb28uUmV0ZW9v
-QnVpbGRlchgdWfuPyAPwAgAJSQAXY3VycmVudE9mZnNldEFkanVzdG1lbnRJAAJpZEwADWF0dGFj
-aGVkTm9kZXNxAH4AD0wADGRlY2xhcmF0aW9uc3EAfgAPTAAMb2JqZWN0U291cmNlcQB+ADZMAApv
-YmplY3RUeXBlcQB+AA9MAAhyZXNvbHZlcnEAfgAeTAAFcnVsZXNxAH4AD0wAC3R1cGxlU291cmNl
-cQB+ADx4cAAAAAAAAAApc3EAfgAMP0AAAAAAADB3CAAAAEAAAAAccQB+ATtxAH4BO3EAfgE+cQB+
-AT5xAH4AN3EAfgA3cQB+AV5xAH4BXnEAfgEncQB+ASdxAH4BOXEAfgE5cQB+AWNxAH4BY3EAfgEe
-cQB+AR5xAH4BV3EAfgFXcQB+AUtxAH4BS3EAfgFrcQB+AWtxAH4BF3EAfgEXcQB+AVVxAH4BVXEA
-fgFScQB+AVJxAH4BFXEAfgEVcQB+ARpxAH4BGnEAfgELcQB+AQtxAH4BLHEAfgEscQB+AXJxAH4B
-cnEAfgFCcQB+AUJxAH4BTXEAfgFNcQB+AD5xAH4APnEAfgFZcQB+AVlxAH4BXHEAfgFccQB+ATBx
-AH4BMHEAfgApcQB+AClxAH4BKXEAfgEpcQB+AMdxAH4Ax3hzcQB+AAw/QAAAAAAADHcIAAAAEAAA
-AAFxAH4AWHEAfgBReHEAfgApc3IAF2phdmEudXRpbC5MaW5rZWRIYXNoTWFwNMBOXBBswPsCAAFa
-AAthY2Nlc3NPcmRlcnhxAH4ADD9AAAAAAAAMdwgAAAAQAAAAA3EAfgB0c3IAEWphdmEubGFuZy5J
-bnRlZ2VyEuKgpPeBhzgCAAFJAAV2YWx1ZXhyABBqYXZhLmxhbmcuTnVtYmVyhqyVHQuU4IsCAAB4
-cAAAAAVxAH4AknNxAH4BjAAAAARxAH4AwHNxAH4BjAAAAAZ4AHEAfgGDc3EAfgAMP0AAAAAAAAx3
-CAAAABAAAAACcQB+AMp1cgAdW0xvcmcuZHJvb2xzLnJldGVvby5CYXNlTm9kZTsL58mTQ5yz6gIA
-AHhwAAAABHEAfgDJcQB+ARlxAH4BPXEAfgErcQB+AEl1cQB+AZIAAAAIcQB+AEJxAH4BDXEAfgEc
-cQB+ASBxAH4BQHEAfgFEcQB+AS5xAH4BMnhxAH4BMA==</byte-array>
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNyABFqYXZhLnV0aWwuSGFzaE1h
+cAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAAA
+eHNyACBvcmcuZHJvb2xzLlJ1bGVCYXNlQ29uZmlndXJhdGlvbil7XKvVTubNAgACWgAJaW1tdXRh
+YmxlTAAKcHJvcGVydGllc3QAD0xqYXZhL3V0aWwvTWFwO3hwAXNxAH4ADT9AAAAAAAAMdwgAAAAQ
+AAAABnQAHW9yZy5kcm9vbHMud20uYXNzZXJ0LWJlaGF2aW9ydAAIaWRlbnRpdHl0ACdvcmcuZHJv
+b2xzLndtLmxvZ2ljYWwtb3ZlcnJpZGUtYmVoYXZpb3J0AAdkaXNjYXJkdAAnb3JnLmRyb29scy5y
+ZXRlb28uYWxwaGEuaGFzaC1hbHBoYS1ub2RldAAFZmFsc2V0ACZvcmcuZHJvb2xzLnJldGVvby5h
+bHBoYS5oYXNoLXR5cGUtbm9kZXQABHRydWV0ACFvcmcuZHJvb2xzLnJldGVvby5iZXRhLmluZGV4
+LWxlZnRxAH4AGHQAIm9yZy5kcm9vbHMucmV0ZW9vLmJldGEuaW5kZXgtcmlnaHRxAH4AGnhzcgAW
+b3JnLmRyb29scy5yZXRlb28uUmV0ZZyLwdKo4+hfAgADTAANbGFzdEFkZGVkTm9kZXQAIkxvcmcv
+ZHJvb2xzL3JldGVvby9PYmplY3RUeXBlTm9kZTtMAA9vYmplY3RUeXBlTm9kZXNxAH4AEEwACHJl
+c29sdmVydAAjTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGVSZXNvbHZlcjt4cgAeb3JnLmRyb29s
+cy5yZXRlb28uT2JqZWN0U291cmNlndnDP8dFe58CAAFMAAtvYmplY3RTaW5rc3QAIkxvcmcvZHJv
+b2xzL3JldGVvby9PYmplY3RTaW5rTGlzdDt4cgAab3JnLmRyb29scy5yZXRlb28uQmFzZU5vZGWs
+lo5z5iuC3QIABFoAEGF0dGFjaGluZ05ld05vZGVaAAloYXNNZW1vcnlJAAJpZEkAC3NoYXJlZENv
+dW50eHAAAAAAAAAAAAAAc3IAJ29yZy5kcm9vbHMucmV0ZW9vLkRlZmF1bHRPYmplY3RTaW5rTGlz
+dPo+R7tpyPGBAgAAeHIAE2phdmEudXRpbC5BcnJheUxpc3R4gdIdmcdhnQMAAUkABHNpemV4cAAA
+AAB3BAAAAAF4c3IAIG9yZy5kcm9vbHMucmV0ZW9vLk9iamVjdFR5cGVOb2RlE2WjT2PEIJICAAJM
+AApvYmplY3RUeXBldAAbTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGU7TAAEcmV0ZXQAGExvcmcv
+ZHJvb2xzL3JldGVvby9SZXRlO3hxAH4AIAABAAAAFwAAAAdzcgAmb3JnLmRyb29scy5yZXRlb28u
+SGFzaGVkT2JqZWN0U2lua0xpc3TV7ms9KQ8rtgIABEwAC2FscGhhU3dpdGNocQB+ABBMAAtoYXNo
+ZWRTaW5rc3QAEExqYXZhL3V0aWwvTGlzdDtMAA5sYXN0T2JqZWN0U2lua3QAHkxvcmcvZHJvb2xz
+L3JldGVvby9PYmplY3RTaW5rO0wACm90aGVyU2lua3NxAH4ALHhwc3EAfgANP0AAAAAAAAx3CAAA
+ABAAAAABc3IAIW9yZy5kcm9vbHMucmV0ZW9vLkFscGhhTm9kZVN3aXRjaDGboVVzvIvyAgACTAAL
+YWxwaGFTd2l0Y2hxAH4AEEwACmNvbnN0cmFpbnR0ACNMb3JnL2Ryb29scy9ydWxlL0xpdGVyYWxD
+b25zdHJhaW50O3hwc3EAfgANP0AAAAAAAAx3CAAAABAAAAABdAAEbWFya3NyABtvcmcuZHJvb2xz
+LnJldGVvby5BbHBoYU5vZGV8BN3RPcxa5gIAAkwACmNvbnN0cmFpbnR0ACBMb3JnL2Ryb29scy9z
+cGkvRmllbGRDb25zdHJhaW50O0wADG9iamVjdFNvdXJjZXQAIExvcmcvZHJvb2xzL3JldGVvby9P
+YmplY3RTb3VyY2U7eHEAfgAgAAEAAAAYAAAAA3NxAH4AJAAAAAR3BAAAAARzcgAab3JnLmRyb29s
+cy5yZXRlb28uSm9pbk5vZGU4kC8uv3fN2gIAAHhyABpvcmcuZHJvb2xzLnJldGVvby5CZXRhTm9k
+ZTsKSo6HsmJbAgADTAAOam9pbk5vZGVCaW5kZXJ0ACJMb3JnL2Ryb29scy9jb21tb24vQmV0YU5v
+ZGVCaW5kZXI7TAAJbGVmdElucHV0dAAfTG9yZy9kcm9vbHMvcmV0ZW9vL1R1cGxlU291cmNlO0wA
+CnJpZ2h0SW5wdXRxAH4AN3hyAB1vcmcuZHJvb2xzLnJldGVvby5UdXBsZVNvdXJjZZ8hF+uqYqOQ
+AgABTAAKdHVwbGVTaW5rc3EAfgAseHEAfgAiAAAAAAAZAAAAAHNxAH4AJQAAAAF3BAAAAAFzcgAe
+b3JnLmRyb29scy5yZXRlb28uVGVybWluYWxOb2RlxhfOL18W6tcCAAJMAARydWxldAAWTG9yZy9k
+cm9vbHMvcnVsZS9SdWxlO0wAC3R1cGxlU291cmNlcQB+AD14cQB+ACIAAAAAABoAAAAAc3IAFG9y
+Zy5kcm9vbHMucnVsZS5SdWxlbl6svvqzc2oCAA5aAAlhdXRvRm9jdXNKAAlsb2FkT3JkZXJaAAZu
+b0xvb3BJAAhzYWxpZW5jZVoAEXNlbWFudGljYWxseVZhbGlkTAAPQWN0aXZhdGlvbkdyb3VwdAAS
+TGphdmEvbGFuZy9TdHJpbmc7TAALYWdlbmRhR3JvdXBxAH4ARUwAC2NvbnNlcXVlbmNldAAcTG9y
+Zy9kcm9vbHMvc3BpL0NvbnNlcXVlbmNlO1sAEGRlY2xhcmF0aW9uQXJyYXl0AB5bTG9yZy9kcm9v
+bHMvcnVsZS9EZWNsYXJhdGlvbjtMAAxkZWNsYXJhdGlvbnNxAH4AEEwACGR1cmF0aW9udAAZTG9y
+Zy9kcm9vbHMvc3BpL0R1cmF0aW9uO0wAB2xoc1Jvb3R0ABVMb3JnL2Ryb29scy9ydWxlL0FuZDtM
+AARuYW1lcQB+AEVMAANwa2dxAH4ARXhwAAAAAAAAAAACAAAAAAABcHQABE1BSU5zcgA4b3JnLmRy
+b29scy5yZXRlb28uUnVsZV9IZWxsb19Xb3JsZF8yXzBDb25zZXF1ZW5jZUludm9rZXJuXqy++rNz
+agIAAHhwdXIAHltMb3JnLmRyb29scy5ydWxlLkRlY2xhcmF0aW9uO/Wnzws0aCnjAgAAeHAAAAAB
+c3IAG29yZy5kcm9vbHMucnVsZS5EZWNsYXJhdGlvbgNzPAHyIOvWAgADSQAGY29sdW1uTAAJZXh0
+cmFjdG9ydAAaTG9yZy9kcm9vbHMvc3BpL0V4dHJhY3RvcjtMAAppZGVudGlmaWVycQB+AEV4cAAA
+AABzcgAjb3JnLmRyb29scy5iYXNlLkNsYXNzRmllbGRFeHRyYWN0b3IZ4kABiRDxowIAAkwABWNs
+YXp6dAARTGphdmEvbGFuZy9DbGFzcztMAAlmaWVsZE5hbWVxAH4ARXhwdnIAEm9yZy5kcm9vbHMu
+TWVzc2FnZQAAAAAAAAAAAAAAeHB0AAhtZXNzYWdlMXQACSRtZXNzYWdlMXNxAH4ADT9AAAAAAAAM
+dwgAAAAQAAAAAXEAfgBZcQB+AFJ4cHNyABNvcmcuZHJvb2xzLnJ1bGUuQW5k/PjnIvCmw3YCAAB4
+cgAcb3JnLmRyb29scy5ydWxlLkdyb3VwRWxlbWVudMbck79vtelYAgABTAAIY2hpbGRyZW5xAH4A
+LHhyACJvcmcuZHJvb2xzLnJ1bGUuQ29uZGl0aW9uYWxFbGVtZW50xgxz6WbzojYCAAB4cHNxAH4A
+JQAAAAR3BAAAAApzcQB+AFtzcQB+ACUAAAACdwQAAAAKc3IAFm9yZy5kcm9vbHMucnVsZS5Db2x1
+bW5/ObACQK9R5gIABUkABWluZGV4SQAGb2Zmc2V0TAALY29uc3RyYWludHNxAH4ALEwAC2RlY2xh
+cmF0aW9udAAdTG9yZy9kcm9vbHMvcnVsZS9EZWNsYXJhdGlvbjtMAApvYmplY3RUeXBlcQB+ACh4
+cAAAAAAAAAAAc3EAfgAlAAAAAncEAAAAAnEAfgBSc3IAIW9yZy5kcm9vbHMucnVsZS5MaXRlcmFs
+Q29uc3RyYWludAOS+tbk+ZKzAgADTAAJZXZhbHVhdG9ydAAaTG9yZy9kcm9vbHMvc3BpL0V2YWx1
+YXRvcjtMAAlleHRyYWN0b3J0AB9Mb3JnL2Ryb29scy9zcGkvRmllbGRFeHRyYWN0b3I7TAAFZmll
+bGR0ABtMb3JnL2Ryb29scy9zcGkvRmllbGRWYWx1ZTt4cHNyAD1vcmcuZHJvb2xzLmJhc2UuZXZh
+bHVhdG9ycy5TdHJpbmdGYWN0b3J5JFN0cmluZ0VxdWFsRXZhbHVhdG9ySU/lvdDlSJYCAAB4cgAd
+b3JnLmRyb29scy5iYXNlLkJhc2VFdmFsdWF0b3KuQXGsNOGNawIAAkkACG9wZXJhdG9ySQAEdHlw
+ZXhwAAAAAQAAALRxAH4AVXNyABlvcmcuZHJvb2xzLmJhc2UuRmllbGRJbXBsrplN9KzddkQCAAFM
+AAV2YWx1ZXQAEkxqYXZhL2xhbmcvT2JqZWN0O3hwdAADT25leHBzcgAfb3JnLmRyb29scy5iYXNl
+LkNsYXNzT2JqZWN0VHlwZdzs2BfUlPv9AgACSQAJdmFsdWVUeXBlTAAPb2JqZWN0VHlwZUNsYXNz
+cQB+AFR4cAAAANJxAH4AV3NxAH4AYgAAAAEAAAAAc3EAfgAlAAAAAXcEAAAAAXNxAH4AZnEAfgBt
+c3EAfgBTcQB+AFd0AAhtZXNzYWdlMnNxAH4AbnQAA1R3b3hwc3EAfgByAAAA0nEAfgBXeHNyABJv
+cmcuZHJvb2xzLnJ1bGUuT3IVF4eAAV23IwIAAHhxAH4AXHNxAH4AJQAAAAJ3BAAAAApzcQB+AGIA
+AAACAAAAAHNxAH4AJQAAAAF3BAAAAAFzcQB+AGZxAH4AbXEAfgB3c3EAfgBucQB+AHF4cHNxAH4A
+cgAAANJxAH4AV3NxAH4AW3NxAH4AJQAAAAJ3BAAAAApzcQB+AGIAAAADAAAAAHNxAH4AJQAAAAF3
+BAAAAAFzcQB+AGZxAH4AbXNxAH4AU3ZyABFvcmcuZHJvb2xzLkNoZWVzZe+FAhE7Rf31AgACSQAF
+cHJpY2VMAAR0eXBlcQB+AEV4cHQABHR5cGVzcQB+AG50AAdzdGlsdG9ueHBzcQB+AHIAAADScQB+
+AItzcQB+AGIAAAAEAAAAAHNxAH4AJQAAAAF3BAAAAAFzcQB+AGZxAH4AbXEAfgCJc3EAfgBudAAE
+YnJpZXhwc3EAfgByAAAA0nEAfgCLeHhzcQB+AHxzcQB+ACUAAAACdwQAAAAKc3EAfgBiAAAABQAA
+AABzcQB+ACUAAAABdwQAAAABc3EAfgBmcQB+AG1zcQB+AFNxAH4AV3QACG1lc3NhZ2Uzc3EAfgBu
+cQB+AHF4cHNxAH4AcgAAANJxAH4AV3NxAH4AYgAAAAb/////c3EAfgAlAAAAAXcEAAAAAXNxAH4A
+ZnEAfgBtcQB+AJtzcQB+AG50AAVUaHJlZXhwc3EAfgByAAAA0nEAfgBXeHNxAH4AfHNxAH4AJQAA
+AAJ3BAAAAApzcQB+AGIAAAAH/////3NxAH4AJQAAAAF3BAAAAAFzcQB+AGZxAH4AbXNxAH4AU3Zy
+ABFvcmcuZHJvb2xzLlBlcnNvbiSkLwIXn7hmAgAISQADYWdlWgAFYWxpdmVDAANzZXhMAApiaWdE
+ZWNpbWFsdAAWTGphdmEvbWF0aC9CaWdEZWNpbWFsO0wACmJpZ0ludGVnZXJ0ABZMamF2YS9tYXRo
+L0JpZ0ludGVnZXI7TAAFbGlrZXNxAH4ARUwABG5hbWVxAH4ARUwABnN0YXR1c3EAfgBFeHB0AARu
+YW1lc3EAfgBucQB+ADR4cHNxAH4AcgAAANJxAH4ArnNxAH4AYgAAAAj////+c3EAfgAlAAAAAXcE
+AAAAAXNyACdvcmcuZHJvb2xzLnJ1bGUuQm91bmRWYXJpYWJsZUNvbnN0cmFpbnRw+tSAX/7WVwIA
+BUkABmNvbHVtbkwAC2RlY2xhcmF0aW9ucQB+AGNMAAlldmFsdWF0b3JxAH4AZ0wADmZpZWxkRXh0
+cmFjdG9ycQB+AGhbABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgBHeHAAAAAAcQB+AFJxAH4AbXEA
+fgCqdXEAfgBOAAAAAXEAfgBSeHBzcQB+AHIAAADScQB+AK54eHQADUhlbGxvIFdvcmxkIDJwcQB+
+AD94c3IAIG9yZy5kcm9vbHMuY29tbW9uLkJldGFOb2RlQmluZGVy2TpNkEHwWrMCAAFbAAtjb25z
+dHJhaW50c3QAIVtMb3JnL2Ryb29scy9zcGkvRmllbGRDb25zdHJhaW50O3hwdXIAIVtMb3JnLmRy
+b29scy5zcGkuRmllbGRDb25zdHJhaW50O5r2l/a0Sg/GAgAAeHAAAAAAc3EAfgA6AAAAAAAJAAAA
+AnNxAH4AJQAAAAN3BAAAAARzcQB+AEEAAAAAAAoAAAAAc3EAfgBEAAAAAAAAAAABAAAAAAABcHEA
+fgBLc3IAOG9yZy5kcm9vbHMucmV0ZW9vLlJ1bGVfSGVsbG9fV29ybGRfMV8wQ29uc2VxdWVuY2VJ
+bnZva2Vybl6svvqzc2oCAAB4cHVxAH4ATgAAAABzcQB+AA0/QAAAAAAADHcIAAAAEAAAAAB4cHNx
+AH4AW3NxAH4AJQAAAAN3BAAAAApzcQB+AFtzcQB+ACUAAAACdwQAAAAKc3EAfgBiAAAAAAAAAABz
+cQB+ACUAAAABdwQAAAABc3EAfgBmcQB+AG1xAH4AVXNxAH4AbnEAfgBxeHBzcQB+AHIAAADScQB+
+AFdzcQB+AGIAAAABAAAAAHNxAH4AJQAAAAF3BAAAAAFzcQB+AGZxAH4AbXEAfgB3c3EAfgBucQB+
+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
+AQNxAH4BJ3EAfgEVeHEAfgCpcQB+ACp4cQB+AKlxAH4AMnhzcQB+ACUAAAABdwQAAAABcQB+ADh4
+cQB+ARlzcQB+ACUAAAAEdwQAAAAEcQB+APRxAH4BB3EAfgErcQB+ARl4cQB+ALFxAH4AI3NxAH4A
+DT9AAAAAAAAMdwgAAAAQAAAAA3EAfgDOcQB+ATZxAH4AsXEAfgAqcQB+AOFxAH4BR3hzcgAmb3Jn
+LmRyb29scy5zcGkuQ2xhc3NPYmplY3RUeXBlUmVzb2x2ZXIChNj8cLGw6wIAAUwACm9iamVjdFR5
+cGV0AENMb3JnL2Ryb29scy9zcGkvQ2xhc3NPYmplY3RUeXBlUmVzb2x2ZXIkTW9kaWZpZWFibGVD
+bGFzc09iamVjdFR5cGU7eHBzcgBBb3JnLmRyb29scy5zcGkuQ2xhc3NPYmplY3RUeXBlUmVzb2x2
+ZXIkTW9kaWZpZWFibGVDbGFzc09iamVjdFR5cGVEpauUAjf7NQIAAHhxAH4AcgAAASxwc3IAH29y
+Zy5kcm9vbHMucmV0ZW9vLlJldGVvb0J1aWxkZXIYHVn7j8gD8AIACUkAF2N1cnJlbnRPZmZzZXRB
+ZGp1c3RtZW50SQACaWRMAA1hdHRhY2hlZE5vZGVzcQB+ABBMAAxkZWNsYXJhdGlvbnNxAH4AEEwA
+DG9iamVjdFNvdXJjZXEAfgA3TAAKb2JqZWN0VHlwZXEAfgAQTAAIcmVzb2x2ZXJxAH4AH0wABXJ1
+bGVzcQB+ABBMAAt0dXBsZVNvdXJjZXEAfgA9eHAAAAAAAAAAKXNxAH4ADT9AAAAAAAAwdwgAAABA
+AAAAHHEAfgEHcQB+AQdxAH4BPnEAfgE+cQB+ATtxAH4BO3EAfgFbcQB+AVtxAH4BGXEAfgEZcQB+
+ATRxAH4BNHEAfgEScQB+ARJxAH4BFXEAfgEVcQB+AVRxAH4BVHEAfgErcQB+AStxAH4AP3EAfgA/
+cQB+ASdxAH4BJ3EAfgD+cQB+AP5xAH4BAHEAfgEAcQB+AQNxAH4BA3EAfgE2cQB+ATZxAH4BEHEA
+fgEQcQB+ASRxAH4BJHEAfgFCcQB+AUJxAH4BQHEAfgFAcQB+AUVxAH4BRXEAfgD0cQB+APRxAH4B
+InEAfgEicQB+ADhxAH4AOHEAfgAqcQB+ACpxAH4AvnEAfgC+cQB+AUxxAH4BTHEAfgFHcQB+AUd4
+c3EAfgANP0AAAAAAAAx3CAAAABAAAAABcQB+AFlxAH4AUnhxAH4AKnNyABdqYXZhLnV0aWwuTGlu
+a2VkSGFzaE1hcDTATlwQbMD7AgABWgALYWNjZXNzT3JkZXJ4cQB+AA0/QAAAAAAADHcIAAAAEAAA
+AANxAH4Ac3NyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAFdmFsdWV4cgAQamF2YS5s
+YW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAAFcQB+AI9zcQB+AXUAAAAEcQB+ALdzcQB+AXUAAAAG
+eABxAH4BbHNxAH4ADT9AAAAAAAAMdwgAAAAQAAAAAnEAfgDBdXIAHVtMb3JnLmRyb29scy5yZXRl
+b28uQmFzZU5vZGU7C+fJk0Ocs+oCAAB4cAAAAARxAH4AwHEAfgECcQB+ASZxAH4BFHEAfgBKdXEA
+fgF7AAAACHEAfgBDcQB+APZxAH4BBXEAfgEJcQB+ASlxAH4BLXEAfgEXcQB+ARt4cQB+ARk=</byte-array>
 </org.drools.reteoo.ReteooRuleBase>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints	2006-07-14 00:21:56 UTC (rev 5088)
@@ -275,63 +275,62 @@
 SQAFcHJpY2VMAAR0eXBlcQB+AAp4cHQABXByaWNldAAHJHByaWNlMnNyAExvcmcuZHJvb2xzLmNv
 bXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzFfMFByZWRpY2F0ZTBJ
 bnZva2Vybl6svvqzc2oCAAB4cHVyAB5bTG9yZy5kcm9vbHMucnVsZS5EZWNsYXJhdGlvbjv1p88L
-NGgp4wIAAHhwAAAAAXNxAH4ACAAAAABzcQB+AAxxAH4AEHQABXByaWNldAAHJHByaWNlMXQATG9y
-Zy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMl8w
-UHJlZGljYXRlMEludm9rZXJzcQB+AANzcQB+AAgAAAABc3EAfgAMcQB+ABB0AAVwcmljZXQAByRw
-cmljZTJzcgBMb3JnLmRyb29scy5jb21waWxlci5SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25z
-dHJhaW50c18yXzBQcmVkaWNhdGUwSW52b2tlcm5erL76s3NqAgAAeHB1cQB+ABUAAAABc3EAfgAI
-AAAAAHNxAH4ADHEAfgAQdAAFcHJpY2V0AAckcHJpY2UxdABNb3JnLmRyb29scy5jb21waWxlci5S
-dWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18xXzBDb25zZXF1ZW5jZUludm9rZXJz
-cgAUb3JnLmRyb29scy5ydWxlLlJ1bGVuXqy++rNzagIADloACWF1dG9Gb2N1c0oACWxvYWRPcmRl
-cloABm5vTG9vcEkACHNhbGllbmNlWgARc2VtYW50aWNhbGx5VmFsaWRMAA9BY3RpdmF0aW9uR3Jv
-dXBxAH4ACkwAC2FnZW5kYUdyb3VwcQB+AApMAAtjb25zZXF1ZW5jZXQAHExvcmcvZHJvb2xzL3Nw
-aS9Db25zZXF1ZW5jZTtbABBkZWNsYXJhdGlvbkFycmF5cQB+AAZMAAxkZWNsYXJhdGlvbnN0AA9M
-amF2YS91dGlsL01hcDtMAAhkdXJhdGlvbnQAGUxvcmcvZHJvb2xzL3NwaS9EdXJhdGlvbjtMAAds
-aHNSb290dAAVTG9yZy9kcm9vbHMvcnVsZS9BbmQ7TAAEbmFtZXEAfgAKTAADcGtncQB+AAp4cAAA
-AAAAAAAAAQAAAAAAAXB0AARNQUlOc3IATW9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9j
-b2x1bW5zX3dpdGhfY29uc3RyYWludHNfMV8wQ29uc2VxdWVuY2VJbnZva2Vybl6svvqzc2oCAAB4
-cHVxAH4AFQAAAAVxAH4AF3NxAH4ACAAAAAFzcgAeb3JnLmRyb29scy5zcGkuQ29sdW1uRXh0cmFj
-dG9yfa0D3zT82ZwCAAFMAApvYmplY3RUeXBldAAbTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGU7
-eHBzcgAfb3JnLmRyb29scy5iYXNlLkNsYXNzT2JqZWN0VHlwZdzs2BfUlPv9AgACSQAJdmFsdWVU
-eXBlTAAPb2JqZWN0VHlwZUNsYXNzcQB+AA14cAAAANJxAH4AEHQACCRjaGVlc2Uyc3EAfgAIAAAA
-AHNxAH4ADHEAfgAQdAAEdHlwZXQABSR0eXBlcQB+AAtzcQB+AAgAAAAAc3EAfgA0c3EAfgA3AAAA
-0nEAfgAQdAAIJGNoZWVzZTFzcQB+AAA/QAAAAAAADHcIAAAAEAAAAAVxAH4AGnEAfgAXcQB+ADlx
-AH4AM3EAfgA9cQB+ADpxAH4AEnEAfgALcQB+AEFxAH4APnhwc3IAE29yZy5kcm9vbHMucnVsZS5B
-bmT8+Oci8KbDdgIAAHhyABxvcmcuZHJvb2xzLnJ1bGUuR3JvdXBFbGVtZW50xtyTv2+16VgCAAFM
-AAhjaGlsZHJlbnQAEExqYXZhL3V0aWwvTGlzdDt4cgAib3JnLmRyb29scy5ydWxlLkNvbmRpdGlv
-bmFsRWxlbWVudMYMc+lm86I2AgAAeHBzcgATamF2YS51dGlsLkFycmF5TGlzdHiB0h2Zx2GdAwAB
-SQAEc2l6ZXhwAAAAA3cEAAAACnNyABZvcmcuZHJvb2xzLnJ1bGUuQ29sdW1ufzmwAkCvUeYCAAVJ
-AAVpbmRleEkABm9mZnNldEwAC2NvbnN0cmFpbnRzcQB+AEVMAAtkZWNsYXJhdGlvbnEAfgAETAAK
-b2JqZWN0VHlwZXEAfgA1eHAAAAAAAAAAAHNxAH4ASAAAAAN3BAAAAARxAH4AOnNyACFvcmcuZHJv
-b2xzLnJ1bGUuTGl0ZXJhbENvbnN0cmFpbnQDkvrW5PmSswIAA0wACWV2YWx1YXRvcnQAGkxvcmcv
-ZHJvb2xzL3NwaS9FdmFsdWF0b3I7TAAJZXh0cmFjdG9ydAAfTG9yZy9kcm9vbHMvc3BpL0ZpZWxk
-RXh0cmFjdG9yO0wABWZpZWxkdAAbTG9yZy9kcm9vbHMvc3BpL0ZpZWxkVmFsdWU7eHBzcgA9b3Jn
-LmRyb29scy5iYXNlLmV2YWx1YXRvcnMuU3RyaW5nRmFjdG9yeSRTdHJpbmdFcXVhbEV2YWx1YXRv
-cklP5b3Q5UiWAgAAeHIAHW9yZy5kcm9vbHMuYmFzZS5CYXNlRXZhbHVhdG9yrkFxrDThjWsCAAJJ
-AAhvcGVyYXRvckkABHR5cGV4cAAAAAEAAAC0c3EAfgAMcQB+ABB0AAR0eXBlc3IAGW9yZy5kcm9v
-bHMuYmFzZS5GaWVsZEltcGyumU30rN12RAIAAUwABXZhbHVldAASTGphdmEvbGFuZy9PYmplY3Q7
-eHB0AAdjaGVkZGFycQB+ABd4cQB+AD5xAH4AQHNxAH4ASgAAAAEAAAAAc3EAfgBIAAAAA3cEAAAA
-BHNyACdvcmcuZHJvb2xzLnJ1bGUuQm91bmRWYXJpYWJsZUNvbnN0cmFpbnRw+tSAX/7WVwIABUkA
-BmNvbHVtbkwAC2RlY2xhcmF0aW9ucQB+AARMAAlldmFsdWF0b3JxAH4ATkwADmZpZWxkRXh0cmFj
-dG9ycQB+AE9bABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgAGeHAAAAAAcQB+ADpxAH4AVHNxAH4A
-DHEAfgAQdAAEdHlwZXVxAH4AFQAAAAFxAH4AOnEAfgALcQB+AAd4cQB+ADNxAH4AOHNxAH4ASgAA
-AAIAAAAAc3EAfgBIAAAAAXcEAAAAAXNxAH4AXQAAAABxAH4AOnEAfgBUc3EAfgAMdnIAEW9yZy5k
-cm9vbHMuUGVyc29uJKQvAhefuGYCAAhJAANhZ2VaAAVhbGl2ZUMAA3NleEwACmJpZ0RlY2ltYWx0
-ABZMamF2YS9tYXRoL0JpZ0RlY2ltYWw7TAAKYmlnSW50ZWdlcnQAFkxqYXZhL21hdGgvQmlnSW50
-ZWdlcjtMAAVsaWtlc3EAfgAKTAAEbmFtZXEAfgAKTAAGc3RhdHVzcQB+AAp4cHQABG5hbWV1cQB+
-ABUAAAABcQB+ADp4cHNxAH4ANwAAANJxAH4AaXh0ACB0aHJlZSBjb2x1bW5zIHdpdGggY29uc3Ry
-YWludHMgMXB0AE1vcmcuZHJvb2xzLmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2Nv
-bnN0cmFpbnRzXzJfMENvbnNlcXVlbmNlSW52b2tlcnNxAH4AKQAAAAAAAAAAAgAAAAAAAXBxAH4A
-L3NyAE1vcmcuZHJvb2xzLmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFp
-bnRzXzJfMENvbnNlcXVlbmNlSW52b2tlcm5erL76s3NqAgAAeHB1cQB+ABUAAAAFcQB+ACRzcQB+
-AAgAAAABc3EAfgA0c3EAfgA3AAAA0nEAfgAQdAAIJGNoZWVzZTJzcQB+AAgAAAAAc3EAfgAMcQB+
-ABB0AAR0eXBldAAFJHR5cGVxAH4AHXNxAH4ACAAAAABzcQB+ADRzcQB+ADcAAADScQB+ABB0AAgk
-Y2hlZXNlMXNxAH4AAD9AAAAAAAAMdwgAAAAQAAAABXEAfgAncQB+ACRxAH4AdnEAfgBzcQB+AHpx
-AH4Ad3EAfgAgcQB+AB1xAH4AfnEAfgB7eHBzcQB+AENzcQB+AEgAAAACdwQAAAAKc3EAfgBKAAAA
-AAAAAABzcQB+AEgAAAADdwQAAAAEcQB+AHdzcQB+AE1xAH4AVHNxAH4ADHEAfgAQdAAEdHlwZXNx
-AH4AV3EAfgBacQB+ACR4cQB+AHtxAH4AfXNxAH4ASgAAAAEAAAAAc3EAfgBIAAAAA3cEAAAABHNx
-AH4AXQAAAABxAH4Ad3EAfgBUc3EAfgAMcQB+ABB0AAR0eXBldXEAfgAVAAAAAXEAfgB3cQB+AB1x
-AH4AHHhxAH4Ac3EAfgB1eHQAIHRocmVlIGNvbHVtbnMgd2l0aCBjb25zdHJhaW50cyAycHg=</byte-array>
+NGgp4wIAAHhwAAAAAXNxAH4ACAAAAABxAH4ADnQAByRwcmljZTF0AExvcmcuZHJvb2xzLmNvbXBp
+bGVyLlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzJfMFByZWRpY2F0ZTBJbnZv
+a2Vyc3EAfgADc3EAfgAIAAAAAXEAfgAOdAAHJHByaWNlMnNyAExvcmcuZHJvb2xzLmNvbXBpbGVy
+LlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzJfMFByZWRpY2F0ZTBJbnZva2Vy
+bl6svvqzc2oCAAB4cHVxAH4AFQAAAAFzcQB+AAgAAAAAcQB+AA50AAckcHJpY2UxdABNb3JnLmRy
+b29scy5jb21waWxlci5SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18xXzBDb25z
+ZXF1ZW5jZUludm9rZXJzcgAUb3JnLmRyb29scy5ydWxlLlJ1bGVuXqy++rNzagIADloACWF1dG9G
+b2N1c0oACWxvYWRPcmRlcloABm5vTG9vcEkACHNhbGllbmNlWgARc2VtYW50aWNhbGx5VmFsaWRM
+AA9BY3RpdmF0aW9uR3JvdXBxAH4ACkwAC2FnZW5kYUdyb3VwcQB+AApMAAtjb25zZXF1ZW5jZXQA
+HExvcmcvZHJvb2xzL3NwaS9Db25zZXF1ZW5jZTtbABBkZWNsYXJhdGlvbkFycmF5cQB+AAZMAAxk
+ZWNsYXJhdGlvbnN0AA9MamF2YS91dGlsL01hcDtMAAhkdXJhdGlvbnQAGUxvcmcvZHJvb2xzL3Nw
+aS9EdXJhdGlvbjtMAAdsaHNSb290dAAVTG9yZy9kcm9vbHMvcnVsZS9BbmQ7TAAEbmFtZXEAfgAK
+TAADcGtncQB+AAp4cAAAAAAAAAAAAQAAAAAAAXB0AARNQUlOc3IATW9yZy5kcm9vbHMuY29tcGls
+ZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMV8wQ29uc2VxdWVuY2VJbnZv
+a2Vybl6svvqzc2oCAAB4cHVxAH4AFQAAAAVxAH4AF3NxAH4ACAAAAAFzcgAeb3JnLmRyb29scy5z
+cGkuQ29sdW1uRXh0cmFjdG9yfa0D3zT82ZwCAAFMAApvYmplY3RUeXBldAAbTG9yZy9kcm9vbHMv
+c3BpL09iamVjdFR5cGU7eHBzcgAfb3JnLmRyb29scy5iYXNlLkNsYXNzT2JqZWN0VHlwZdzs2BfU
+lPv9AgACSQAJdmFsdWVUeXBlTAAPb2JqZWN0VHlwZUNsYXNzcQB+AA14cAAAANJxAH4AEHQACCRj
+aGVlc2Uyc3EAfgAIAAAAAHNxAH4ADHEAfgAQdAAEdHlwZXQABSR0eXBlcQB+AAtzcQB+AAgAAAAA
+c3EAfgAuc3EAfgAxAAAA0nEAfgAQdAAIJGNoZWVzZTFzcQB+AAA/QAAAAAAADHcIAAAAEAAAAAVx
+AH4AGHEAfgAXcQB+ADNxAH4ALXEAfgA3cQB+ADRxAH4AEnEAfgALcQB+ADtxAH4AOHhwc3IAE29y
+Zy5kcm9vbHMucnVsZS5BbmT8+Oci8KbDdgIAAHhyABxvcmcuZHJvb2xzLnJ1bGUuR3JvdXBFbGVt
+ZW50xtyTv2+16VgCAAFMAAhjaGlsZHJlbnQAEExqYXZhL3V0aWwvTGlzdDt4cgAib3JnLmRyb29s
+cy5ydWxlLkNvbmRpdGlvbmFsRWxlbWVudMYMc+lm86I2AgAAeHBzcgATamF2YS51dGlsLkFycmF5
+TGlzdHiB0h2Zx2GdAwABSQAEc2l6ZXhwAAAAA3cEAAAACnNyABZvcmcuZHJvb2xzLnJ1bGUuQ29s
+dW1ufzmwAkCvUeYCAAVJAAVpbmRleEkABm9mZnNldEwAC2NvbnN0cmFpbnRzcQB+AD9MAAtkZWNs
+YXJhdGlvbnEAfgAETAAKb2JqZWN0VHlwZXEAfgAveHAAAAAAAAAAAHNxAH4AQgAAAAN3BAAAAARx
+AH4ANHNyACFvcmcuZHJvb2xzLnJ1bGUuTGl0ZXJhbENvbnN0cmFpbnQDkvrW5PmSswIAA0wACWV2
+YWx1YXRvcnQAGkxvcmcvZHJvb2xzL3NwaS9FdmFsdWF0b3I7TAAJZXh0cmFjdG9ydAAfTG9yZy9k
+cm9vbHMvc3BpL0ZpZWxkRXh0cmFjdG9yO0wABWZpZWxkdAAbTG9yZy9kcm9vbHMvc3BpL0ZpZWxk
+VmFsdWU7eHBzcgA9b3JnLmRyb29scy5iYXNlLmV2YWx1YXRvcnMuU3RyaW5nRmFjdG9yeSRTdHJp
+bmdFcXVhbEV2YWx1YXRvcklP5b3Q5UiWAgAAeHIAHW9yZy5kcm9vbHMuYmFzZS5CYXNlRXZhbHVh
+dG9yrkFxrDThjWsCAAJJAAhvcGVyYXRvckkABHR5cGV4cAAAAAEAAAC0cQB+ADVzcgAZb3JnLmRy
+b29scy5iYXNlLkZpZWxkSW1wbK6ZTfSs3XZEAgABTAAFdmFsdWV0ABJMamF2YS9sYW5nL09iamVj
+dDt4cHQAB2NoZWRkYXJxAH4AF3hxAH4AOHEAfgA6c3EAfgBEAAAAAQAAAABzcQB+AEIAAAADdwQA
+AAAEc3IAJ29yZy5kcm9vbHMucnVsZS5Cb3VuZFZhcmlhYmxlQ29uc3RyYWludHD61IBf/tZXAgAF
+SQAGY29sdW1uTAALZGVjbGFyYXRpb25xAH4ABEwACWV2YWx1YXRvcnEAfgBITAAOZmllbGRFeHRy
+YWN0b3JxAH4ASVsAFHJlcXVpcmVkRGVjbGFyYXRpb25zcQB+AAZ4cAAAAABxAH4ANHEAfgBOcQB+
+ADV1cQB+ABUAAAABcQB+ADRxAH4AC3EAfgAHeHEAfgAtcQB+ADJzcQB+AEQAAAACAAAAAHNxAH4A
+QgAAAAF3BAAAAAFzcQB+AFUAAAAAcQB+ADRxAH4ATnNxAH4ADHZyABFvcmcuZHJvb2xzLlBlcnNv
+biSkLwIXn7hmAgAISQADYWdlWgAFYWxpdmVDAANzZXhMAApiaWdEZWNpbWFsdAAWTGphdmEvbWF0
+aC9CaWdEZWNpbWFsO0wACmJpZ0ludGVnZXJ0ABZMamF2YS9tYXRoL0JpZ0ludGVnZXI7TAAFbGlr
+ZXNxAH4ACkwABG5hbWVxAH4ACkwABnN0YXR1c3EAfgAKeHB0AARuYW1ldXEAfgAVAAAAAXEAfgA0
+eHBzcQB+ADEAAADScQB+AF94dAAgdGhyZWUgY29sdW1ucyB3aXRoIGNvbnN0cmFpbnRzIDFwdABN
+b3JnLmRyb29scy5jb21waWxlci5SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18y
+XzBDb25zZXF1ZW5jZUludm9rZXJzcQB+ACMAAAAAAAAAAAIAAAAAAAFwcQB+AClzcgBNb3JnLmRy
+b29scy5jb21waWxlci5SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18yXzBDb25z
+ZXF1ZW5jZUludm9rZXJuXqy++rNzagIAAHhwdXEAfgAVAAAABXEAfgAgc3EAfgAIAAAAAXNxAH4A
+LnNxAH4AMQAAANJxAH4AEHQACCRjaGVlc2Uyc3EAfgAIAAAAAHEAfgA1dAAFJHR5cGVxAH4AG3Nx
+AH4ACAAAAABzcQB+AC5zcQB+ADEAAADScQB+ABB0AAgkY2hlZXNlMXNxAH4AAD9AAAAAAAAMdwgA
+AAAQAAAABXEAfgAhcQB+ACBxAH4AbHEAfgBpcQB+AG5xAH4AbXEAfgAccQB+ABtxAH4AcnEAfgBv
+eHBzcQB+AD1zcQB+AEIAAAACdwQAAAAKc3EAfgBEAAAAAAAAAABzcQB+AEIAAAADdwQAAAAEcQB+
+AG1zcQB+AEdxAH4ATnEAfgA1c3EAfgBPcQB+AFJxAH4AIHhxAH4Ab3EAfgBxc3EAfgBEAAAAAQAA
+AABzcQB+AEIAAAADdwQAAAAEc3EAfgBVAAAAAHEAfgBtcQB+AE5xAH4ANXVxAH4AFQAAAAFxAH4A
+bXEAfgAbcQB+ABp4cQB+AGlxAH4Aa3h0ACB0aHJlZSBjb2x1bW5zIHdpdGggY29uc3RyYWludHMg
+MnB4</byte-array>
         </org.drools.rule.PackageCompilationData>
         <string>org.drools.compiler</string>
         <list>
@@ -363,64 +362,62 @@
 cm9vbHMvc3BpL09iamVjdFR5cGU7eHBzcgAfb3JnLmRyb29scy5iYXNlLkNsYXNzT2JqZWN0VHlw
 Zdzs2BfUlPv9AgACSQAJdmFsdWVUeXBlTAAPb2JqZWN0VHlwZUNsYXNzcQB+ABV4cAAAANJxAH4A
 GHQACCRjaGVlc2Uyc3EAfgARAAAAAHNxAH4AFHEAfgAYdAAEdHlwZXQABSR0eXBlc3EAfgARAAAA
-AXNxAH4AFHEAfgAYdAAFcHJpY2V0AAckcHJpY2Uyc3EAfgARAAAAAHNxAH4AHHNxAH4AHwAAANJx
-AH4AGHQACCRjaGVlc2Uxc3EAfgABP0AAAAAAAAx3CAAAABAAAAAFcQB+ABpxAH4AE3EAfgAhcQB+
-ABtxAH4AJXEAfgAicQB+AClxAH4AJnEAfgAtcQB+ACp4cHNyABNvcmcuZHJvb2xzLnJ1bGUuQW5k
-/PjnIvCmw3YCAAB4cgAcb3JnLmRyb29scy5ydWxlLkdyb3VwRWxlbWVudMbck79vtelYAgABTAAI
-Y2hpbGRyZW50ABBMamF2YS91dGlsL0xpc3Q7eHIAIm9yZy5kcm9vbHMucnVsZS5Db25kaXRpb25h
-bEVsZW1lbnTGDHPpZvOiNgIAAHhwc3IAE2phdmEudXRpbC5BcnJheUxpc3R4gdIdmcdhnQMAAUkA
-BHNpemV4cAAAAAN3BAAAAApzcgAWb3JnLmRyb29scy5ydWxlLkNvbHVtbn85sAJAr1HmAgAFSQAF
-aW5kZXhJAAZvZmZzZXRMAAtjb25zdHJhaW50c3EAfgAxTAALZGVjbGFyYXRpb250AB1Mb3JnL2Ry
-b29scy9ydWxlL0RlY2xhcmF0aW9uO0wACm9iamVjdFR5cGVxAH4AHXhwAAAAAAAAAABzcQB+ADQA
-AAADdwQAAAAEcQB+ACJzcgAhb3JnLmRyb29scy5ydWxlLkxpdGVyYWxDb25zdHJhaW50A5L61uT5
-krMCAANMAAlldmFsdWF0b3J0ABpMb3JnL2Ryb29scy9zcGkvRXZhbHVhdG9yO0wACWV4dHJhY3Rv
-cnQAH0xvcmcvZHJvb2xzL3NwaS9GaWVsZEV4dHJhY3RvcjtMAAVmaWVsZHQAG0xvcmcvZHJvb2xz
-L3NwaS9GaWVsZFZhbHVlO3hwc3IAPW9yZy5kcm9vbHMuYmFzZS5ldmFsdWF0b3JzLlN0cmluZ0Zh
-Y3RvcnkkU3RyaW5nRXF1YWxFdmFsdWF0b3JJT+W90OVIlgIAAHhyAB1vcmcuZHJvb2xzLmJhc2Uu
-QmFzZUV2YWx1YXRvcq5Bcaw04Y1rAgACSQAIb3BlcmF0b3JJAAR0eXBleHAAAAABAAAAtHNxAH4A
-FHEAfgAYdAAEdHlwZXNyABlvcmcuZHJvb2xzLmJhc2UuRmllbGRJbXBsrplN9KzddkQCAAFMAAV2
-YWx1ZXQAEkxqYXZhL2xhbmcvT2JqZWN0O3hwdAAHY2hlZGRhcnEAfgATeHEAfgAqcQB+ACxzcQB+
-ADYAAAABAAAAAHNxAH4ANAAAAAN3BAAAAARzcgAnb3JnLmRyb29scy5ydWxlLkJvdW5kVmFyaWFi
-bGVDb25zdHJhaW50cPrUgF/+1lcCAAVJAAZjb2x1bW5MAAtkZWNsYXJhdGlvbnEAfgA3TAAJZXZh
-bHVhdG9ycQB+ADtMAA5maWVsZEV4dHJhY3RvcnEAfgA8WwAUcmVxdWlyZWREZWNsYXJhdGlvbnNx
-AH4AB3hwAAAAAHEAfgAicQB+AEFzcQB+ABRxAH4AGHQABHR5cGV1cQB+AA8AAAABcQB+ACJxAH4A
-JnNyACNvcmcuZHJvb2xzLnJ1bGUuUHJlZGljYXRlQ29uc3RyYWludP6Qj6YiW4c4AgADTAALZGVj
-bGFyYXRpb25xAH4AN0wACmV4cHJlc3Npb250ACRMb3JnL2Ryb29scy9zcGkvUHJlZGljYXRlRXhw
-cmVzc2lvbjtbABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgAHeHBxAH4AJnNyAExvcmcuZHJvb2xz
-LmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzFfMFByZWRpY2F0
-ZTBJbnZva2Vybl6svvqzc2oCAAB4cHVxAH4ADwAAAAFxAH4AE3hxAH4AG3EAfgAgc3EAfgA2AAAA
-AgAAAABzcQB+ADQAAAABdwQAAAABc3EAfgBKAAAAAHEAfgAicQB+AEFzcQB+ABR2cgARb3JnLmRy
-b29scy5QZXJzb24kpC8CF5+4ZgIACEkAA2FnZVoABWFsaXZlQwADc2V4TAAKYmlnRGVjaW1hbHQA
-FkxqYXZhL21hdGgvQmlnRGVjaW1hbDtMAApiaWdJbnRlZ2VydAAWTGphdmEvbWF0aC9CaWdJbnRl
-Z2VyO0wABWxpa2VzcQB+AAVMAARuYW1lcQB+AAVMAAZzdGF0dXNxAH4ABXhwdAAEbmFtZXVxAH4A
-DwAAAAFxAH4AInhwc3EAfgAfAAAA0nEAfgBceHEAfgADcHQAIHRocmVlIGNvbHVtbnMgd2l0aCBj
-b25zdHJhaW50cyAyc3EAfgAEAAAAAAAAAAACAAAAAAABcHEAfgAMc3IATW9yZy5kcm9vbHMuY29t
-cGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMl8wQ29uc2VxdWVuY2VJ
-bnZva2Vybl6svvqzc2oCAAB4cHVxAH4ADwAAAAVzcQB+ABEAAAAAc3EAfgAUcQB+ABh0AAVwcmlj
-ZXQAByRwcmljZTFzcQB+ABEAAAABc3EAfgAcc3EAfgAfAAAA0nEAfgAYdAAIJGNoZWVzZTJzcQB+
-ABEAAAAAc3EAfgAUcQB+ABh0AAR0eXBldAAFJHR5cGVzcQB+ABEAAAABc3EAfgAUcQB+ABh0AAVw
-cmljZXQAByRwcmljZTJzcQB+ABEAAAAAc3EAfgAcc3EAfgAfAAAA0nEAfgAYdAAIJGNoZWVzZTFz
-cQB+AAE/QAAAAAAADHcIAAAAEAAAAAVxAH4AaHEAfgBlcQB+AGxxAH4AaXEAfgBwcQB+AG1xAH4A
-dHEAfgBxcQB+AHhxAH4AdXhwc3EAfgAvc3EAfgA0AAAAAncEAAAACnNxAH4ANgAAAAAAAAAAc3EA
-fgA0AAAAA3cEAAAABHEAfgBtc3EAfgA6cQB+AEFzcQB+ABRxAH4AGHQABHR5cGVzcQB+AERxAH4A
-R3EAfgBleHEAfgB1cQB+AHdzcQB+ADYAAAABAAAAAHNxAH4ANAAAAAN3BAAAAARzcQB+AEoAAAAA
-cQB+AG1xAH4AQXNxAH4AFHEAfgAYdAAEdHlwZXVxAH4ADwAAAAFxAH4AbXEAfgBxc3EAfgBPcQB+
-AHFzcgBMb3JnLmRyb29scy5jb21waWxlci5SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25zdHJh
-aW50c18yXzBQcmVkaWNhdGUwSW52b2tlcm5erL76s3NqAgAAeHB1cQB+AA8AAAABcQB+AGV4cQB+
-AGlxAH4Aa3hxAH4AYHB4AA==</byte-array>
+AXEAfgAWdAAHJHByaWNlMnNxAH4AEQAAAABzcQB+ABxzcQB+AB8AAADScQB+ABh0AAgkY2hlZXNl
+MXNxAH4AAT9AAAAAAAAMdwgAAAAQAAAABXEAfgAacQB+ABNxAH4AIXEAfgAbcQB+ACVxAH4AInEA
+fgAncQB+ACZxAH4AK3EAfgAoeHBzcgATb3JnLmRyb29scy5ydWxlLkFuZPz45yLwpsN2AgAAeHIA
+HG9yZy5kcm9vbHMucnVsZS5Hcm91cEVsZW1lbnTG3JO/b7XpWAIAAUwACGNoaWxkcmVudAAQTGph
+dmEvdXRpbC9MaXN0O3hyACJvcmcuZHJvb2xzLnJ1bGUuQ29uZGl0aW9uYWxFbGVtZW50xgxz6Wbz
+ojYCAAB4cHNyABNqYXZhLnV0aWwuQXJyYXlMaXN0eIHSHZnHYZ0DAAFJAARzaXpleHAAAAADdwQA
+AAAKc3IAFm9yZy5kcm9vbHMucnVsZS5Db2x1bW5/ObACQK9R5gIABUkABWluZGV4SQAGb2Zmc2V0
+TAALY29uc3RyYWludHNxAH4AL0wAC2RlY2xhcmF0aW9udAAdTG9yZy9kcm9vbHMvcnVsZS9EZWNs
+YXJhdGlvbjtMAApvYmplY3RUeXBlcQB+AB14cAAAAAAAAAAAc3EAfgAyAAAAA3cEAAAABHEAfgAi
+c3IAIW9yZy5kcm9vbHMucnVsZS5MaXRlcmFsQ29uc3RyYWludAOS+tbk+ZKzAgADTAAJZXZhbHVh
+dG9ydAAaTG9yZy9kcm9vbHMvc3BpL0V2YWx1YXRvcjtMAAlleHRyYWN0b3J0AB9Mb3JnL2Ryb29s
+cy9zcGkvRmllbGRFeHRyYWN0b3I7TAAFZmllbGR0ABtMb3JnL2Ryb29scy9zcGkvRmllbGRWYWx1
+ZTt4cHNyAD1vcmcuZHJvb2xzLmJhc2UuZXZhbHVhdG9ycy5TdHJpbmdGYWN0b3J5JFN0cmluZ0Vx
+dWFsRXZhbHVhdG9ySU/lvdDlSJYCAAB4cgAdb3JnLmRyb29scy5iYXNlLkJhc2VFdmFsdWF0b3Ku
+QXGsNOGNawIAAkkACG9wZXJhdG9ySQAEdHlwZXhwAAAAAQAAALRxAH4AI3NyABlvcmcuZHJvb2xz
+LmJhc2UuRmllbGRJbXBsrplN9KzddkQCAAFMAAV2YWx1ZXQAEkxqYXZhL2xhbmcvT2JqZWN0O3hw
+dAAHY2hlZGRhcnEAfgATeHEAfgAocQB+ACpzcQB+ADQAAAABAAAAAHNxAH4AMgAAAAN3BAAAAARz
+cgAnb3JnLmRyb29scy5ydWxlLkJvdW5kVmFyaWFibGVDb25zdHJhaW50cPrUgF/+1lcCAAVJAAZj
+b2x1bW5MAAtkZWNsYXJhdGlvbnEAfgA1TAAJZXZhbHVhdG9ycQB+ADlMAA5maWVsZEV4dHJhY3Rv
+cnEAfgA6WwAUcmVxdWlyZWREZWNsYXJhdGlvbnNxAH4AB3hwAAAAAHEAfgAicQB+AD9xAH4AI3Vx
+AH4ADwAAAAFxAH4AInEAfgAmc3IAI29yZy5kcm9vbHMucnVsZS5QcmVkaWNhdGVDb25zdHJhaW50
+/pCPpiJbhzgCAANMAAtkZWNsYXJhdGlvbnEAfgA1TAAKZXhwcmVzc2lvbnQAJExvcmcvZHJvb2xz
+L3NwaS9QcmVkaWNhdGVFeHByZXNzaW9uO1sAFHJlcXVpcmVkRGVjbGFyYXRpb25zcQB+AAd4cHEA
+fgAmc3IATG9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3Ry
+YWludHNfMV8wUHJlZGljYXRlMEludm9rZXJuXqy++rNzagIAAHhwdXEAfgAPAAAAAXEAfgATeHEA
+fgAbcQB+ACBzcQB+ADQAAAACAAAAAHNxAH4AMgAAAAF3BAAAAAFzcQB+AEYAAAAAcQB+ACJxAH4A
+P3NxAH4AFHZyABFvcmcuZHJvb2xzLlBlcnNvbiSkLwIXn7hmAgAISQADYWdlWgAFYWxpdmVDAANz
+ZXhMAApiaWdEZWNpbWFsdAAWTGphdmEvbWF0aC9CaWdEZWNpbWFsO0wACmJpZ0ludGVnZXJ0ABZM
+amF2YS9tYXRoL0JpZ0ludGVnZXI7TAAFbGlrZXNxAH4ABUwABG5hbWVxAH4ABUwABnN0YXR1c3EA
+fgAFeHB0AARuYW1ldXEAfgAPAAAAAXEAfgAieHBzcQB+AB8AAADScQB+AFZ4cQB+AANwdAAgdGhy
+ZWUgY29sdW1ucyB3aXRoIGNvbnN0cmFpbnRzIDJzcQB+AAQAAAAAAAAAAAIAAAAAAAFwcQB+AAxz
+cgBNb3JnLmRyb29scy5jb21waWxlci5SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25zdHJhaW50
+c18yXzBDb25zZXF1ZW5jZUludm9rZXJuXqy++rNzagIAAHhwdXEAfgAPAAAABXNxAH4AEQAAAABx
+AH4AFnQAByRwcmljZTFzcQB+ABEAAAABc3EAfgAcc3EAfgAfAAAA0nEAfgAYdAAIJGNoZWVzZTJz
+cQB+ABEAAAAAcQB+ACN0AAUkdHlwZXNxAH4AEQAAAAFxAH4AFnQAByRwcmljZTJzcQB+ABEAAAAA
+c3EAfgAcc3EAfgAfAAAA0nEAfgAYdAAIJGNoZWVzZTFzcQB+AAE/QAAAAAAADHcIAAAAEAAAAAVx
+AH4AYHEAfgBfcQB+AGRxAH4AYXEAfgBmcQB+AGVxAH4AaHEAfgBncQB+AGxxAH4AaXhwc3EAfgAt
+c3EAfgAyAAAAAncEAAAACnNxAH4ANAAAAAAAAAAAc3EAfgAyAAAAA3cEAAAABHEAfgBlc3EAfgA4
+cQB+AD9xAH4AI3NxAH4AQHEAfgBDcQB+AF94cQB+AGlxAH4Aa3NxAH4ANAAAAAEAAAAAc3EAfgAy
+AAAAA3cEAAAABHNxAH4ARgAAAABxAH4AZXEAfgA/cQB+ACN1cQB+AA8AAAABcQB+AGVxAH4AZ3Nx
+AH4ASXEAfgBnc3IATG9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhf
+Y29uc3RyYWludHNfMl8wUHJlZGljYXRlMEludm9rZXJuXqy++rNzagIAAHhwdXEAfgAPAAAAAXEA
+fgBfeHEAfgBhcQB+AGN4cQB+AFpweAA=</byte-array>
       </org.drools.rule.Package>
     </entry>
   </map>
-  <byte-array>rO0ABXNyAClvcmcuZHJvb2xzLnJldGVvby5SZXRlb29GYWN0SGFuZGxlRmFjdG9yeQAAAAAAAAEs
-AgAAeHIAK29yZy5kcm9vbHMuY29tbW9uLkFic3RyYWN0RmFjdEhhbmRsZUZhY3RvcnlrwcaUre4S
-dAIAA0oAB2NvdW50ZXJKAAJpZEwADmZhY3RIYW5kbGVQb29sdAAkTG9yZy9kcm9vbHMvdXRpbC9Q
-cmltaXRpdmVMb25nU3RhY2s7eHAAAAAAAAAAAAAAAAAAAAAAc3IAIm9yZy5kcm9vbHMudXRpbC5Q
-cmltaXRpdmVMb25nU3RhY2sPj6ttreBeeQIAA0kADWN1cnJlbnRQYWdlSWRJAAl0YWJsZVNpemVM
-AAtjdXJyZW50UGFnZXQAKUxvcmcvZHJvb2xzL3V0aWwvUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2U7
-eHAAAAAAAAABAHNyACdvcmcuZHJvb2xzLnV0aWwuUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2Utnhd8
-IgiDlAIABUkAB2xhc3RLZXlJAAZwYWdlSWRMAAtuZXh0U2libGluZ3EAfgAFTAAPcHJldmlvdXNT
-aWJsaW5ncQB+AAVbAAV0YWJsZXQAAltKeHD/////AAAAAHBwdXIAAltKeCAEtRKxdZMCAAB4cAAA
-AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+  <byte-array>rO0ABXQAJGRiY2JhNDdiLTFhYTgtNDE3My04OGQ2LTAwYzE0NzQ2YTFhN3NyAClvcmcuZHJvb2xz
+LnJldGVvby5SZXRlb29GYWN0SGFuZGxlRmFjdG9yeQAAAAAAAAEsAgAAeHIAK29yZy5kcm9vbHMu
+Y29tbW9uLkFic3RyYWN0RmFjdEhhbmRsZUZhY3RvcnlrwcaUre4SdAIAA0oAB2NvdW50ZXJKAAJp
+ZEwADmZhY3RIYW5kbGVQb29sdAAkTG9yZy9kcm9vbHMvdXRpbC9QcmltaXRpdmVMb25nU3RhY2s7
+eHAAAAAAAAAAAAAAAAAAAAAAc3IAIm9yZy5kcm9vbHMudXRpbC5QcmltaXRpdmVMb25nU3RhY2sP
+j6ttreBeeQIAA0kADWN1cnJlbnRQYWdlSWRJAAl0YWJsZVNpemVMAAtjdXJyZW50UGFnZXQAKUxv
+cmcvZHJvb2xzL3V0aWwvUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2U7eHAAAAAAAAABAHNyACdvcmcu
+ZHJvb2xzLnV0aWwuUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2Utnhd8IgiDlAIABUkAB2xhc3RLZXlJ
+AAZwYWdlSWRMAAtuZXh0U2libGluZ3EAfgAGTAAPcHJldmlvdXNTaWJsaW5ncQB+AAZbAAV0YWJs
+ZXQAAltKeHD/////AAAAAHBwdXIAAltKeCAEtRKxdZMCAAB4cAAAAQAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -455,131 +452,130 @@
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNy
-ABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhw
-P0AAAAAAAAx3CAAAABAAAAAAeHNyACBvcmcuZHJvb2xzLlJ1bGVCYXNlQ29uZmlndXJhdGlvbil7
-XKvVTubNAgACWgAJaW1tdXRhYmxlTAAKcHJvcGVydGllc3QAD0xqYXZhL3V0aWwvTWFwO3hwAXNx
-AH4ADD9AAAAAAAAMdwgAAAAQAAAABnQAHW9yZy5kcm9vbHMud20uYXNzZXJ0LWJlaGF2aW9ydAAI
-aWRlbnRpdHl0ACdvcmcuZHJvb2xzLndtLmxvZ2ljYWwtb3ZlcnJpZGUtYmVoYXZpb3J0AAdkaXNj
-YXJkdAAnb3JnLmRyb29scy5yZXRlb28uYWxwaGEuaGFzaC1hbHBoYS1ub2RldAAFZmFsc2V0ACZv
-cmcuZHJvb2xzLnJldGVvby5hbHBoYS5oYXNoLXR5cGUtbm9kZXQABHRydWV0ACFvcmcuZHJvb2xz
-LnJldGVvby5iZXRhLmluZGV4LWxlZnRxAH4AF3QAIm9yZy5kcm9vbHMucmV0ZW9vLmJldGEuaW5k
-ZXgtcmlnaHRxAH4AGXhzcgAWb3JnLmRyb29scy5yZXRlb28uUmV0ZZyLwdKo4+hfAgADTAANbGFz
-dEFkZGVkTm9kZXQAIkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RUeXBlTm9kZTtMAA9vYmplY3RU
-eXBlTm9kZXNxAH4AD0wACHJlc29sdmVydAAjTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGVSZXNv
-bHZlcjt4cgAeb3JnLmRyb29scy5yZXRlb28uT2JqZWN0U291cmNlndnDP8dFe58CAAFMAAtvYmpl
-Y3RTaW5rc3QAIkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RTaW5rTGlzdDt4cgAab3JnLmRyb29s
-cy5yZXRlb28uQmFzZU5vZGWslo5z5iuC3QIABFoAEGF0dGFjaGluZ05ld05vZGVaAAloYXNNZW1v
-cnlJAAJpZEkAC3NoYXJlZENvdW50eHAAAAAAAAAAAAAAc3IAJ29yZy5kcm9vbHMucmV0ZW9vLkRl
-ZmF1bHRPYmplY3RTaW5rTGlzdPo+R7tpyPGBAgAAeHIAE2phdmEudXRpbC5BcnJheUxpc3R4gdId
-mcdhnQMAAUkABHNpemV4cAAAAAB3BAAAAAF4c3IAIG9yZy5kcm9vbHMucmV0ZW9vLk9iamVjdFR5
-cGVOb2RlE2WjT2PEIJICAAJMAApvYmplY3RUeXBldAAbTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5
-cGU7TAAEcmV0ZXQAGExvcmcvZHJvb2xzL3JldGVvby9SZXRlO3hxAH4AHwABAAAABQAAAABzcgAm
-b3JnLmRyb29scy5yZXRlb28uSGFzaGVkT2JqZWN0U2lua0xpc3TV7ms9KQ8rtgIABEwAC2FscGhh
-U3dpdGNocQB+AA9MAAtoYXNoZWRTaW5rc3QAEExqYXZhL3V0aWwvTGlzdDtMAA5sYXN0T2JqZWN0
-U2lua3QAHkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RTaW5rO0wACm90aGVyU2lua3NxAH4AK3hw
-c3EAfgAMP0AAAAAAAAx3CAAAABAAAAAAeHNxAH4AJAAAAAB3BAAAAAF4c3IAGm9yZy5kcm9vbHMu
-cmV0ZW9vLkpvaW5Ob2RlOJAvLr93zdoCAAB4cgAab3JnLmRyb29scy5yZXRlb28uQmV0YU5vZGU7
-CkqOh7JiWwIAA0wADmpvaW5Ob2RlQmluZGVydAAiTG9yZy9kcm9vbHMvY29tbW9uL0JldGFOb2Rl
-QmluZGVyO0wACWxlZnRJbnB1dHQAH0xvcmcvZHJvb2xzL3JldGVvby9UdXBsZVNvdXJjZTtMAApy
-aWdodElucHV0dAAgTG9yZy9kcm9vbHMvcmV0ZW9vL09iamVjdFNvdXJjZTt4cgAdb3JnLmRyb29s
-cy5yZXRlb28uVHVwbGVTb3VyY2WfIRfrqmKjkAIAAUwACnR1cGxlU2lua3NxAH4AK3hxAH4AIQAA
-AAAABgAAAABzcQB+ACQAAAABdwQAAAABc3IAHm9yZy5kcm9vbHMucmV0ZW9vLlRlcm1pbmFsTm9k
-ZcYXzi9fFurXAgACTAAEcnVsZXQAFkxvcmcvZHJvb2xzL3J1bGUvUnVsZTtMAAt0dXBsZVNvdXJj
-ZXEAfgAzeHEAfgAhAAAAAAAHAAAAAHNyABRvcmcuZHJvb2xzLnJ1bGUuUnVsZW5erL76s3NqAgAO
-WgAJYXV0b0ZvY3VzSgAJbG9hZE9yZGVyWgAGbm9Mb29wSQAIc2FsaWVuY2VaABFzZW1hbnRpY2Fs
-bHlWYWxpZEwAD0FjdGl2YXRpb25Hcm91cHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wAC2FnZW5kYUdy
-b3VwcQB+ADxMAAtjb25zZXF1ZW5jZXQAHExvcmcvZHJvb2xzL3NwaS9Db25zZXF1ZW5jZTtbABBk
-ZWNsYXJhdGlvbkFycmF5dAAeW0xvcmcvZHJvb2xzL3J1bGUvRGVjbGFyYXRpb247TAAMZGVjbGFy
-YXRpb25zcQB+AA9MAAhkdXJhdGlvbnQAGUxvcmcvZHJvb2xzL3NwaS9EdXJhdGlvbjtMAAdsaHNS
-b290dAAVTG9yZy9kcm9vbHMvcnVsZS9BbmQ7TAAEbmFtZXEAfgA8TAADcGtncQB+ADx4cAAAAAAA
-AAAAAQAAAAAAAXB0AARNQUlOc3IATW9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1
-bW5zX3dpdGhfY29uc3RyYWludHNfMV8wQ29uc2VxdWVuY2VJbnZva2Vybl6svvqzc2oCAAB4cHVy
-AB5bTG9yZy5kcm9vbHMucnVsZS5EZWNsYXJhdGlvbjv1p88LNGgp4wIAAHhwAAAABXNyABtvcmcu
-ZHJvb2xzLnJ1bGUuRGVjbGFyYXRpb24DczwB8iDr1gIAA0kABmNvbHVtbkwACWV4dHJhY3RvcnQA
-GkxvcmcvZHJvb2xzL3NwaS9FeHRyYWN0b3I7TAAKaWRlbnRpZmllcnEAfgA8eHAAAAAAc3IAI29y
-Zy5kcm9vbHMuYmFzZS5DbGFzc0ZpZWxkRXh0cmFjdG9yGeJAAYkQ8aMCAAJMAAVjbGF6enQAEUxq
-YXZhL2xhbmcvQ2xhc3M7TAAJZmllbGROYW1lcQB+ADx4cHZyABFvcmcuZHJvb2xzLkNoZWVzZe+F
-AhE7Rf31AgACSQAFcHJpY2VMAAR0eXBlcQB+ADx4cHQABXByaWNldAAHJHByaWNlMXNxAH4ARwAA
-AAFzcgAeb3JnLmRyb29scy5zcGkuQ29sdW1uRXh0cmFjdG9yfa0D3zT82ZwCAAFMAApvYmplY3RU
-eXBlcQB+ACd4cHNyAB9vcmcuZHJvb2xzLmJhc2UuQ2xhc3NPYmplY3RUeXBl3OzYF9SU+/0CAAJJ
-AAl2YWx1ZVR5cGVMAA9vYmplY3RUeXBlQ2xhc3NxAH4AS3hwAAAA0nEAfgBOdAAIJGNoZWVzZTJz
-cQB+AEcAAAAAc3EAfgBKcQB+AE50AAR0eXBldAAFJHR5cGVzcQB+AEcAAAABc3EAfgBKcQB+AE50
-AAVwcmljZXQAByRwcmljZTJzcQB+AEcAAAAAc3EAfgBSc3EAfgBUAAAA0nEAfgBOdAAIJGNoZWVz
-ZTFzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAVxAH4AUHEAfgBJcQB+AFZxAH4AUXEAfgBacQB+AFdx
-AH4AXnEAfgBbcQB+AGJxAH4AX3hwc3IAE29yZy5kcm9vbHMucnVsZS5BbmT8+Oci8KbDdgIAAHhy
-ABxvcmcuZHJvb2xzLnJ1bGUuR3JvdXBFbGVtZW50xtyTv2+16VgCAAFMAAhjaGlsZHJlbnEAfgAr
-eHIAIm9yZy5kcm9vbHMucnVsZS5Db25kaXRpb25hbEVsZW1lbnTGDHPpZvOiNgIAAHhwc3EAfgAk
-AAAAA3cEAAAACnNyABZvcmcuZHJvb2xzLnJ1bGUuQ29sdW1ufzmwAkCvUeYCAAVJAAVpbmRleEkA
-Bm9mZnNldEwAC2NvbnN0cmFpbnRzcQB+ACtMAAtkZWNsYXJhdGlvbnQAHUxvcmcvZHJvb2xzL3J1
-bGUvRGVjbGFyYXRpb247TAAKb2JqZWN0VHlwZXEAfgAneHAAAAAAAAAAAHNxAH4AJAAAAAN3BAAA
-AARxAH4AV3NyACFvcmcuZHJvb2xzLnJ1bGUuTGl0ZXJhbENvbnN0cmFpbnQDkvrW5PmSswIAA0wA
-CWV2YWx1YXRvcnQAGkxvcmcvZHJvb2xzL3NwaS9FdmFsdWF0b3I7TAAJZXh0cmFjdG9ydAAfTG9y
-Zy9kcm9vbHMvc3BpL0ZpZWxkRXh0cmFjdG9yO0wABWZpZWxkdAAbTG9yZy9kcm9vbHMvc3BpL0Zp
-ZWxkVmFsdWU7eHBzcgA9b3JnLmRyb29scy5iYXNlLmV2YWx1YXRvcnMuU3RyaW5nRmFjdG9yeSRT
-dHJpbmdFcXVhbEV2YWx1YXRvcklP5b3Q5UiWAgAAeHIAHW9yZy5kcm9vbHMuYmFzZS5CYXNlRXZh
-bHVhdG9yrkFxrDThjWsCAAJJAAhvcGVyYXRvckkABHR5cGV4cAAAAAEAAAC0c3EAfgBKcQB+AE50
-AAR0eXBlc3IAGW9yZy5kcm9vbHMuYmFzZS5GaWVsZEltcGyumU30rN12RAIAAUwABXZhbHVldAAS
-TGphdmEvbGFuZy9PYmplY3Q7eHB0AAdjaGVkZGFycQB+AEl4cQB+AF9xAH4AYXNxAH4AaQAAAAEA
-AAAAc3EAfgAkAAAAA3cEAAAABHNyACdvcmcuZHJvb2xzLnJ1bGUuQm91bmRWYXJpYWJsZUNvbnN0
-cmFpbnRw+tSAX/7WVwIABUkABmNvbHVtbkwAC2RlY2xhcmF0aW9ucQB+AGpMAAlldmFsdWF0b3Jx
-AH4AbkwADmZpZWxkRXh0cmFjdG9ycQB+AG9bABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgA+eHAA
-AAAAcQB+AFdxAH4AdHNxAH4ASnEAfgBOdAAEdHlwZXVxAH4ARQAAAAFxAH4AV3EAfgBbc3IAI29y
-Zy5kcm9vbHMucnVsZS5QcmVkaWNhdGVDb25zdHJhaW50/pCPpiJbhzgCAANMAAtkZWNsYXJhdGlv
-bnEAfgBqTAAKZXhwcmVzc2lvbnQAJExvcmcvZHJvb2xzL3NwaS9QcmVkaWNhdGVFeHByZXNzaW9u
-O1sAFHJlcXVpcmVkRGVjbGFyYXRpb25zcQB+AD54cHEAfgBbc3IATG9yZy5kcm9vbHMuY29tcGls
-ZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMV8wUHJlZGljYXRlMEludm9r
-ZXJuXqy++rNzagIAAHhwdXEAfgBFAAAAAXEAfgBJeHEAfgBRcQB+AFVzcQB+AGkAAAACAAAAAHNx
-AH4AJAAAAAF3BAAAAAFzcQB+AH0AAAAAcQB+AFdxAH4AdHNxAH4ASnZyABFvcmcuZHJvb2xzLlBl
-cnNvbiSkLwIXn7hmAgAISQADYWdlWgAFYWxpdmVDAANzZXhMAApiaWdEZWNpbWFsdAAWTGphdmEv
-bWF0aC9CaWdEZWNpbWFsO0wACmJpZ0ludGVnZXJ0ABZMamF2YS9tYXRoL0JpZ0ludGVnZXI7TAAF
-bGlrZXNxAH4APEwABG5hbWVxAH4APEwABnN0YXR1c3EAfgA8eHB0AARuYW1ldXEAfgBFAAAAAXEA
-fgBXeHBzcQB+AFQAAADScQB+AI94dAAgdGhyZWUgY29sdW1ucyB3aXRoIGNvbnN0cmFpbnRzIDFw
-cQB+ADZ4c3IAIG9yZy5kcm9vbHMuY29tbW9uLkJldGFOb2RlQmluZGVy2TpNkEHwWrMCAAFbAAtj
-b25zdHJhaW50c3QAIVtMb3JnL2Ryb29scy9zcGkvRmllbGRDb25zdHJhaW50O3hwdXIAIVtMb3Jn
-LmRyb29scy5zcGkuRmllbGRDb25zdHJhaW50O5r2l/a0Sg/GAgAAeHAAAAABcQB+AIpzcQB+ADAA
-AAAAAAQAAAABc3EAfgAkAAAAAncEAAAAAnEAfgA2c3EAfgA4AAAAAAAIAAAAAHNxAH4AOwAAAAAA
-AAAAAgAAAAAAAXBxAH4AQnNyAE1vcmcuZHJvb2xzLmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1u
-c193aXRoX2NvbnN0cmFpbnRzXzJfMENvbnNlcXVlbmNlSW52b2tlcm5erL76s3NqAgAAeHB1cQB+
-AEUAAAAFc3EAfgBHAAAAAHNxAH4ASnEAfgBOdAAFcHJpY2V0AAckcHJpY2Uxc3EAfgBHAAAAAXNx
-AH4AUnNxAH4AVAAAANJxAH4ATnQACCRjaGVlc2Uyc3EAfgBHAAAAAHNxAH4ASnEAfgBOdAAEdHlw
-ZXQABSR0eXBlc3EAfgBHAAAAAXNxAH4ASnEAfgBOdAAFcHJpY2V0AAckcHJpY2Uyc3EAfgBHAAAA
-AHNxAH4AUnNxAH4AVAAAANJxAH4ATnQACCRjaGVlc2Uxc3EAfgAMP0AAAAAAAAx3CAAAABAAAAAF
-cQB+AKNxAH4AoHEAfgCncQB+AKRxAH4Aq3EAfgCocQB+AK9xAH4ArHEAfgCzcQB+ALB4cHNxAH4A
-ZHNxAH4AJAAAAAJ3BAAAAApzcQB+AGkAAAAAAAAAAHNxAH4AJAAAAAN3BAAAAARxAH4AqHNxAH4A
-bXEAfgB0c3EAfgBKcQB+AE50AAR0eXBlc3EAfgB3cQB+AHpxAH4AoHhxAH4AsHEAfgCyc3EAfgBp
-AAAAAQAAAABzcQB+ACQAAAADdwQAAAAEc3EAfgB9AAAAAHEAfgCocQB+AHRzcQB+AEpxAH4ATnQA
-BHR5cGV1cQB+AEUAAAABcQB+AKhxAH4ArHNxAH4AgnEAfgCsc3IATG9yZy5kcm9vbHMuY29tcGls
-ZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMl8wUHJlZGljYXRlMEludm9r
-ZXJuXqy++rNzagIAAHhwdXEAfgBFAAAAAXEAfgCgeHEAfgCkcQB+AKZ4dAAgdGhyZWUgY29sdW1u
-cyB3aXRoIGNvbnN0cmFpbnRzIDJwcQB+AJl4c3EAfgCUdXEAfgCXAAAAA3NyAC1vcmcuZHJvb2xz
-LmNvbW1vbi5JbnN0YW5jZU5vdEVxdWFsc0NvbnN0cmFpbnS7zovNlGVsmwIAAkkAC290aGVyQ29s
-dW1uWwAMZGVjbGFyYXRpb25zcQB+AD54cAAAAAB1cQB+AEUAAAAAcQB+AH5xAH4AhHNyACZvcmcu
-ZHJvb2xzLnJldGVvby5MZWZ0SW5wdXRBZGFwdGVyTm9kZWZhub8KOlI0AgACTAAGYmluZGVycQB+
-ADJMAAxvYmplY3RTb3VyY2VxAH4ANHhxAH4ANQABAAAAAwAAAAFzcQB+ACQAAAABdwQAAAABcQB+
-AJl4c3EAfgCUdXEAfgCXAAAAAHNyABtvcmcuZHJvb2xzLnJldGVvby5BbHBoYU5vZGV8BN3RPcxa
-5gIAAkwACmNvbnN0cmFpbnR0ACBMb3JnL2Ryb29scy9zcGkvRmllbGRDb25zdHJhaW50O0wADG9i
-amVjdFNvdXJjZXEAfgA0eHEAfgAfAAEAAAACAAAAAHNxAH4AIwAAAAF3BAAAAAFxAH4AznhxAH4A
-cXNxAH4AJgABAAAAAQAAAABzcQB+ACpzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAFzcgAhb3JnLmRy
-b29scy5yZXRlb28uQWxwaGFOb2RlU3dpdGNoMZuhVXO8i/ICAAJMAAthbHBoYVN3aXRjaHEAfgAP
-TAAKY29uc3RyYWludHQAI0xvcmcvZHJvb2xzL3J1bGUvTGl0ZXJhbENvbnN0cmFpbnQ7eHBzcQB+
-AAw/QAAAAAAADHcIAAAAEAAAAAFxAH4AenEAfgDUeHEAfgBxcQB+ANt4c3EAfgAkAAAAAXcEAAAA
-AXEAfgDUeHEAfgCZc3EAfgAkAAAAAXcEAAAAAXEAfgCZeHEAfgBhcQB+ACJxAH4A1nEAfgApc3EA
-fgAkAAAAAXcEAAAAAXEAfgA2eHEAfgCScQB+ACJzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAJxAH4A
-knEAfgApcQB+AGFxAH4A1nhzcgAmb3JnLmRyb29scy5zcGkuQ2xhc3NPYmplY3RUeXBlUmVzb2x2
-ZXIChNj8cLGw6wIAAUwACm9iamVjdFR5cGV0AENMb3JnL2Ryb29scy9zcGkvQ2xhc3NPYmplY3RU
-eXBlUmVzb2x2ZXIkTW9kaWZpZWFibGVDbGFzc09iamVjdFR5cGU7eHBzcgBBb3JnLmRyb29scy5z
-cGkuQ2xhc3NPYmplY3RUeXBlUmVzb2x2ZXIkTW9kaWZpZWFibGVDbGFzc09iamVjdFR5cGVEpauU
-Ajf7NQIAAHhxAH4AVAAAASxwc3IAH29yZy5kcm9vbHMucmV0ZW9vLlJldGVvb0J1aWxkZXIYHVn7
-j8gD8AIACUkAF2N1cnJlbnRPZmZzZXRBZGp1c3RtZW50SQACaWRMAA1hdHRhY2hlZE5vZGVzcQB+
-AA9MAAxkZWNsYXJhdGlvbnNxAH4AD0wADG9iamVjdFNvdXJjZXEAfgA0TAAKb2JqZWN0VHlwZXEA
-fgAPTAAIcmVzb2x2ZXJxAH4AHkwABXJ1bGVzcQB+AA9MAAt0dXBsZVNvdXJjZXEAfgAzeHAAAAAA
-AAAACXNxAH4ADD9AAAAAAAAMdwgAAAAQAAAABnEAfgApcQB+AClxAH4AmXEAfgCZcQB+AM5xAH4A
-znEAfgDUcQB+ANRxAH4A1nEAfgDWcQB+ADZxAH4ANnhzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAVx
-AH4Ao3EAfgCgcQB+AKdxAH4ApHEAfgCrcQB+AKhxAH4Ar3EAfgCscQB+ALNxAH4AsHhxAH4A1nNy
-ABdqYXZhLnV0aWwuTGlua2VkSGFzaE1hcDTATlwQbMD7AgABWgALYWNjZXNzT3JkZXJ4cQB+AAw/
-QAAAAAAADHcIAAAAEAAAAAFxAH4AsnNyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAF
-dmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAABeABxAH4A43NxAH4ADD9A
-AAAAAAAMdwgAAAAQAAAAAnEAfgBBdXIAHVtMb3JnLmRyb29scy5yZXRlb28uQmFzZU5vZGU7C+fJ
-k0Ocs+oCAAB4cAAAAAFxAH4AOnEAfgCcdXEAfgDwAAAAAXEAfgCbeHEAfgCZ</byte-array>
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNyABFqYXZhLnV0aWwuSGFzaE1h
+cAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAAA
+eHNyACBvcmcuZHJvb2xzLlJ1bGVCYXNlQ29uZmlndXJhdGlvbil7XKvVTubNAgACWgAJaW1tdXRh
+YmxlTAAKcHJvcGVydGllc3QAD0xqYXZhL3V0aWwvTWFwO3hwAXNxAH4ADT9AAAAAAAAMdwgAAAAQ
+AAAABnQAHW9yZy5kcm9vbHMud20uYXNzZXJ0LWJlaGF2aW9ydAAIaWRlbnRpdHl0ACdvcmcuZHJv
+b2xzLndtLmxvZ2ljYWwtb3ZlcnJpZGUtYmVoYXZpb3J0AAdkaXNjYXJkdAAnb3JnLmRyb29scy5y
+ZXRlb28uYWxwaGEuaGFzaC1hbHBoYS1ub2RldAAFZmFsc2V0ACZvcmcuZHJvb2xzLnJldGVvby5h
+bHBoYS5oYXNoLXR5cGUtbm9kZXQABHRydWV0ACFvcmcuZHJvb2xzLnJldGVvby5iZXRhLmluZGV4
+LWxlZnRxAH4AGHQAIm9yZy5kcm9vbHMucmV0ZW9vLmJldGEuaW5kZXgtcmlnaHRxAH4AGnhzcgAW
+b3JnLmRyb29scy5yZXRlb28uUmV0ZZyLwdKo4+hfAgADTAANbGFzdEFkZGVkTm9kZXQAIkxvcmcv
+ZHJvb2xzL3JldGVvby9PYmplY3RUeXBlTm9kZTtMAA9vYmplY3RUeXBlTm9kZXNxAH4AEEwACHJl
+c29sdmVydAAjTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGVSZXNvbHZlcjt4cgAeb3JnLmRyb29s
+cy5yZXRlb28uT2JqZWN0U291cmNlndnDP8dFe58CAAFMAAtvYmplY3RTaW5rc3QAIkxvcmcvZHJv
+b2xzL3JldGVvby9PYmplY3RTaW5rTGlzdDt4cgAab3JnLmRyb29scy5yZXRlb28uQmFzZU5vZGWs
+lo5z5iuC3QIABFoAEGF0dGFjaGluZ05ld05vZGVaAAloYXNNZW1vcnlJAAJpZEkAC3NoYXJlZENv
+dW50eHAAAAAAAAAAAAAAc3IAJ29yZy5kcm9vbHMucmV0ZW9vLkRlZmF1bHRPYmplY3RTaW5rTGlz
+dPo+R7tpyPGBAgAAeHIAE2phdmEudXRpbC5BcnJheUxpc3R4gdIdmcdhnQMAAUkABHNpemV4cAAA
+AAB3BAAAAAF4c3IAIG9yZy5kcm9vbHMucmV0ZW9vLk9iamVjdFR5cGVOb2RlE2WjT2PEIJICAAJM
+AApvYmplY3RUeXBldAAbTG9yZy9kcm9vbHMvc3BpL09iamVjdFR5cGU7TAAEcmV0ZXQAGExvcmcv
+ZHJvb2xzL3JldGVvby9SZXRlO3hxAH4AIAABAAAABQAAAABzcgAmb3JnLmRyb29scy5yZXRlb28u
+SGFzaGVkT2JqZWN0U2lua0xpc3TV7ms9KQ8rtgIABEwAC2FscGhhU3dpdGNocQB+ABBMAAtoYXNo
+ZWRTaW5rc3QAEExqYXZhL3V0aWwvTGlzdDtMAA5sYXN0T2JqZWN0U2lua3QAHkxvcmcvZHJvb2xz
+L3JldGVvby9PYmplY3RTaW5rO0wACm90aGVyU2lua3NxAH4ALHhwc3EAfgANP0AAAAAAAAx3CAAA
+ABAAAAAAeHNxAH4AJQAAAAB3BAAAAAF4c3IAGm9yZy5kcm9vbHMucmV0ZW9vLkpvaW5Ob2RlOJAv
+Lr93zdoCAAB4cgAab3JnLmRyb29scy5yZXRlb28uQmV0YU5vZGU7CkqOh7JiWwIAA0wADmpvaW5O
+b2RlQmluZGVydAAiTG9yZy9kcm9vbHMvY29tbW9uL0JldGFOb2RlQmluZGVyO0wACWxlZnRJbnB1
+dHQAH0xvcmcvZHJvb2xzL3JldGVvby9UdXBsZVNvdXJjZTtMAApyaWdodElucHV0dAAgTG9yZy9k
+cm9vbHMvcmV0ZW9vL09iamVjdFNvdXJjZTt4cgAdb3JnLmRyb29scy5yZXRlb28uVHVwbGVTb3Vy
+Y2WfIRfrqmKjkAIAAUwACnR1cGxlU2lua3NxAH4ALHhxAH4AIgAAAAAABgAAAABzcQB+ACUAAAAB
+dwQAAAABc3IAHm9yZy5kcm9vbHMucmV0ZW9vLlRlcm1pbmFsTm9kZcYXzi9fFurXAgACTAAEcnVs
+ZXQAFkxvcmcvZHJvb2xzL3J1bGUvUnVsZTtMAAt0dXBsZVNvdXJjZXEAfgA0eHEAfgAiAAAAAAAH
+AAAAAHNyABRvcmcuZHJvb2xzLnJ1bGUuUnVsZW5erL76s3NqAgAOWgAJYXV0b0ZvY3VzSgAJbG9h
+ZE9yZGVyWgAGbm9Mb29wSQAIc2FsaWVuY2VaABFzZW1hbnRpY2FsbHlWYWxpZEwAD0FjdGl2YXRp
+b25Hcm91cHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wAC2FnZW5kYUdyb3VwcQB+AD1MAAtjb25zZXF1
+ZW5jZXQAHExvcmcvZHJvb2xzL3NwaS9Db25zZXF1ZW5jZTtbABBkZWNsYXJhdGlvbkFycmF5dAAe
+W0xvcmcvZHJvb2xzL3J1bGUvRGVjbGFyYXRpb247TAAMZGVjbGFyYXRpb25zcQB+ABBMAAhkdXJh
+dGlvbnQAGUxvcmcvZHJvb2xzL3NwaS9EdXJhdGlvbjtMAAdsaHNSb290dAAVTG9yZy9kcm9vbHMv
+cnVsZS9BbmQ7TAAEbmFtZXEAfgA9TAADcGtncQB+AD14cAAAAAAAAAAAAQAAAAAAAXB0AARNQUlO
+c3IATW9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWlu
+dHNfMV8wQ29uc2VxdWVuY2VJbnZva2Vybl6svvqzc2oCAAB4cHVyAB5bTG9yZy5kcm9vbHMucnVs
+ZS5EZWNsYXJhdGlvbjv1p88LNGgp4wIAAHhwAAAABXNyABtvcmcuZHJvb2xzLnJ1bGUuRGVjbGFy
+YXRpb24DczwB8iDr1gIAA0kABmNvbHVtbkwACWV4dHJhY3RvcnQAGkxvcmcvZHJvb2xzL3NwaS9F
+eHRyYWN0b3I7TAAKaWRlbnRpZmllcnEAfgA9eHAAAAAAc3IAI29yZy5kcm9vbHMuYmFzZS5DbGFz
+c0ZpZWxkRXh0cmFjdG9yGeJAAYkQ8aMCAAJMAAVjbGF6enQAEUxqYXZhL2xhbmcvQ2xhc3M7TAAJ
+ZmllbGROYW1lcQB+AD14cHZyABFvcmcuZHJvb2xzLkNoZWVzZe+FAhE7Rf31AgACSQAFcHJpY2VM
+AAR0eXBlcQB+AD14cHQABXByaWNldAAHJHByaWNlMXNxAH4ASAAAAAFzcgAeb3JnLmRyb29scy5z
+cGkuQ29sdW1uRXh0cmFjdG9yfa0D3zT82ZwCAAFMAApvYmplY3RUeXBlcQB+ACh4cHNyAB9vcmcu
+ZHJvb2xzLmJhc2UuQ2xhc3NPYmplY3RUeXBl3OzYF9SU+/0CAAJJAAl2YWx1ZVR5cGVMAA9vYmpl
+Y3RUeXBlQ2xhc3NxAH4ATHhwAAAA0nEAfgBPdAAIJGNoZWVzZTJzcQB+AEgAAAAAc3EAfgBLcQB+
+AE90AAR0eXBldAAFJHR5cGVzcQB+AEgAAAABcQB+AE10AAckcHJpY2Uyc3EAfgBIAAAAAHNxAH4A
+U3NxAH4AVQAAANJxAH4AT3QACCRjaGVlc2Uxc3EAfgANP0AAAAAAAAx3CAAAABAAAAAFcQB+AFFx
+AH4ASnEAfgBXcQB+AFJxAH4AW3EAfgBYcQB+AF1xAH4AXHEAfgBhcQB+AF54cHNyABNvcmcuZHJv
+b2xzLnJ1bGUuQW5k/PjnIvCmw3YCAAB4cgAcb3JnLmRyb29scy5ydWxlLkdyb3VwRWxlbWVudMbc
+k79vtelYAgABTAAIY2hpbGRyZW5xAH4ALHhyACJvcmcuZHJvb2xzLnJ1bGUuQ29uZGl0aW9uYWxF
+bGVtZW50xgxz6WbzojYCAAB4cHNxAH4AJQAAAAN3BAAAAApzcgAWb3JnLmRyb29scy5ydWxlLkNv
+bHVtbn85sAJAr1HmAgAFSQAFaW5kZXhJAAZvZmZzZXRMAAtjb25zdHJhaW50c3EAfgAsTAALZGVj
+bGFyYXRpb250AB1Mb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uO0wACm9iamVjdFR5cGVxAH4A
+KHhwAAAAAAAAAABzcQB+ACUAAAADdwQAAAAEcQB+AFhzcgAhb3JnLmRyb29scy5ydWxlLkxpdGVy
+YWxDb25zdHJhaW50A5L61uT5krMCAANMAAlldmFsdWF0b3J0ABpMb3JnL2Ryb29scy9zcGkvRXZh
+bHVhdG9yO0wACWV4dHJhY3RvcnQAH0xvcmcvZHJvb2xzL3NwaS9GaWVsZEV4dHJhY3RvcjtMAAVm
+aWVsZHQAG0xvcmcvZHJvb2xzL3NwaS9GaWVsZFZhbHVlO3hwc3IAPW9yZy5kcm9vbHMuYmFzZS5l
+dmFsdWF0b3JzLlN0cmluZ0ZhY3RvcnkkU3RyaW5nRXF1YWxFdmFsdWF0b3JJT+W90OVIlgIAAHhy
+AB1vcmcuZHJvb2xzLmJhc2UuQmFzZUV2YWx1YXRvcq5Bcaw04Y1rAgACSQAIb3BlcmF0b3JJAAR0
+eXBleHAAAAABAAAAtHEAfgBZc3IAGW9yZy5kcm9vbHMuYmFzZS5GaWVsZEltcGyumU30rN12RAIA
+AUwABXZhbHVldAASTGphdmEvbGFuZy9PYmplY3Q7eHB0AAdjaGVkZGFycQB+AEp4cQB+AF5xAH4A
+YHNxAH4AaAAAAAEAAAAAc3EAfgAlAAAAA3cEAAAABHNyACdvcmcuZHJvb2xzLnJ1bGUuQm91bmRW
+YXJpYWJsZUNvbnN0cmFpbnRw+tSAX/7WVwIABUkABmNvbHVtbkwAC2RlY2xhcmF0aW9ucQB+AGlM
+AAlldmFsdWF0b3JxAH4AbUwADmZpZWxkRXh0cmFjdG9ycQB+AG5bABRyZXF1aXJlZERlY2xhcmF0
+aW9uc3EAfgA/eHAAAAAAcQB+AFhxAH4Ac3EAfgBZdXEAfgBGAAAAAXEAfgBYcQB+AFxzcgAjb3Jn
+LmRyb29scy5ydWxlLlByZWRpY2F0ZUNvbnN0cmFpbnT+kI+mIluHOAIAA0wAC2RlY2xhcmF0aW9u
+cQB+AGlMAApleHByZXNzaW9udAAkTG9yZy9kcm9vbHMvc3BpL1ByZWRpY2F0ZUV4cHJlc3Npb247
+WwAUcmVxdWlyZWREZWNsYXJhdGlvbnNxAH4AP3hwcQB+AFxzcgBMb3JnLmRyb29scy5jb21waWxl
+ci5SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18xXzBQcmVkaWNhdGUwSW52b2tl
+cm5erL76s3NqAgAAeHB1cQB+AEYAAAABcQB+AEp4cQB+AFJxAH4AVnNxAH4AaAAAAAIAAAAAc3EA
+fgAlAAAAAXcEAAAAAXNxAH4AegAAAABxAH4AWHEAfgBzc3EAfgBLdnIAEW9yZy5kcm9vbHMuUGVy
+c29uJKQvAhefuGYCAAhJAANhZ2VaAAVhbGl2ZUMAA3NleEwACmJpZ0RlY2ltYWx0ABZMamF2YS9t
+YXRoL0JpZ0RlY2ltYWw7TAAKYmlnSW50ZWdlcnQAFkxqYXZhL21hdGgvQmlnSW50ZWdlcjtMAAVs
+aWtlc3EAfgA9TAAEbmFtZXEAfgA9TAAGc3RhdHVzcQB+AD14cHQABG5hbWV1cQB+AEYAAAABcQB+
+AFh4cHNxAH4AVQAAANJxAH4Ainh0ACB0aHJlZSBjb2x1bW5zIHdpdGggY29uc3RyYWludHMgMXBx
+AH4AN3hzcgAgb3JnLmRyb29scy5jb21tb24uQmV0YU5vZGVCaW5kZXLZOk2QQfBaswIAAVsAC2Nv
+bnN0cmFpbnRzdAAhW0xvcmcvZHJvb2xzL3NwaS9GaWVsZENvbnN0cmFpbnQ7eHB1cgAhW0xvcmcu
+ZHJvb2xzLnNwaS5GaWVsZENvbnN0cmFpbnQ7mvaX9rRKD8YCAAB4cAAAAAFxAH4AhXNxAH4AMQAA
+AAAABAAAAAFzcQB+ACUAAAACdwQAAAACcQB+ADdzcQB+ADkAAAAAAAgAAAAAc3EAfgA8AAAAAAAA
+AAACAAAAAAABcHEAfgBDc3IATW9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5z
+X3dpdGhfY29uc3RyYWludHNfMl8wQ29uc2VxdWVuY2VJbnZva2Vybl6svvqzc2oCAAB4cHVxAH4A
+RgAAAAVzcQB+AEgAAAAAcQB+AE10AAckcHJpY2Uxc3EAfgBIAAAAAXNxAH4AU3NxAH4AVQAAANJx
+AH4AT3QACCRjaGVlc2Uyc3EAfgBIAAAAAHEAfgBZdAAFJHR5cGVzcQB+AEgAAAABcQB+AE10AAck
+cHJpY2Uyc3EAfgBIAAAAAHNxAH4AU3NxAH4AVQAAANJxAH4AT3QACCRjaGVlc2Uxc3EAfgANP0AA
+AAAAAAx3CAAAABAAAAAFcQB+AJxxAH4Am3EAfgCgcQB+AJ1xAH4AonEAfgChcQB+AKRxAH4Ao3EA
+fgCocQB+AKV4cHNxAH4AY3NxAH4AJQAAAAJ3BAAAAApzcQB+AGgAAAAAAAAAAHNxAH4AJQAAAAN3
+BAAAAARxAH4AoXNxAH4AbHEAfgBzcQB+AFlzcQB+AHRxAH4Ad3EAfgCbeHEAfgClcQB+AKdzcQB+
+AGgAAAABAAAAAHNxAH4AJQAAAAN3BAAAAARzcQB+AHoAAAAAcQB+AKFxAH4Ac3EAfgBZdXEAfgBG
+AAAAAXEAfgChcQB+AKNzcQB+AH1xAH4Ao3NyAExvcmcuZHJvb2xzLmNvbXBpbGVyLlJ1bGVfdGhy
+ZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzJfMFByZWRpY2F0ZTBJbnZva2Vybl6svvqzc2oC
+AAB4cHVxAH4ARgAAAAFxAH4Am3hxAH4AnXEAfgCfeHQAIHRocmVlIGNvbHVtbnMgd2l0aCBjb25z
+dHJhaW50cyAycHEAfgCUeHNxAH4Aj3VxAH4AkgAAAANzcgAtb3JnLmRyb29scy5jb21tb24uSW5z
+dGFuY2VOb3RFcXVhbHNDb25zdHJhaW50u86LzZRlbJsCAAJJAAtvdGhlckNvbHVtblsADGRlY2xh
+cmF0aW9uc3EAfgA/eHAAAAAAdXEAfgBGAAAAAHEAfgB7cQB+AH9zcgAmb3JnLmRyb29scy5yZXRl
+b28uTGVmdElucHV0QWRhcHRlck5vZGVmYbm/CjpSNAIAAkwABmJpbmRlcnEAfgAzTAAMb2JqZWN0
+U291cmNlcQB+ADV4cQB+ADYAAQAAAAMAAAABc3EAfgAlAAAAAXcEAAAAAXEAfgCUeHNxAH4Aj3Vx
+AH4AkgAAAABzcgAbb3JnLmRyb29scy5yZXRlb28uQWxwaGFOb2RlfATd0T3MWuYCAAJMAApjb25z
+dHJhaW50dAAgTG9yZy9kcm9vbHMvc3BpL0ZpZWxkQ29uc3RyYWludDtMAAxvYmplY3RTb3VyY2Vx
+AH4ANXhxAH4AIAABAAAAAgAAAAFzcQB+ACQAAAABdwQAAAABcQB+AL94cQB+AHBzcQB+ACcAAQAA
+AAEAAAADc3EAfgArc3EAfgANP0AAAAAAAAx3CAAAABAAAAABc3IAIW9yZy5kcm9vbHMucmV0ZW9v
+LkFscGhhTm9kZVN3aXRjaDGboVVzvIvyAgACTAALYWxwaGFTd2l0Y2hxAH4AEEwACmNvbnN0cmFp
+bnR0ACNMb3JnL2Ryb29scy9ydWxlL0xpdGVyYWxDb25zdHJhaW50O3hwc3EAfgANP0AAAAAAAAx3
+CAAAABAAAAABcQB+AHdxAH4AxXhxAH4AcHEAfgDMeHNxAH4AJQAAAAF3BAAAAAFxAH4AxXhxAH4A
+lHNxAH4AJQAAAAF3BAAAAAFxAH4AlHhxAH4AYHEAfgAjcQB+AMdxAH4AKnNxAH4AJQAAAAF3BAAA
+AAFxAH4AN3hxAH4AjXEAfgAjc3EAfgANP0AAAAAAAAx3CAAAABAAAAACcQB+AI1xAH4AKnEAfgBg
+cQB+AMd4c3IAJm9yZy5kcm9vbHMuc3BpLkNsYXNzT2JqZWN0VHlwZVJlc29sdmVyAoTY/HCxsOsC
+AAFMAApvYmplY3RUeXBldABDTG9yZy9kcm9vbHMvc3BpL0NsYXNzT2JqZWN0VHlwZVJlc29sdmVy
+JE1vZGlmaWVhYmxlQ2xhc3NPYmplY3RUeXBlO3hwc3IAQW9yZy5kcm9vbHMuc3BpLkNsYXNzT2Jq
+ZWN0VHlwZVJlc29sdmVyJE1vZGlmaWVhYmxlQ2xhc3NPYmplY3RUeXBlRKWrlAI3+zUCAAB4cQB+
+AFUAAAEscHNyAB9vcmcuZHJvb2xzLnJldGVvby5SZXRlb29CdWlsZGVyGB1Z+4/IA/ACAAlJABdj
+dXJyZW50T2Zmc2V0QWRqdXN0bWVudEkAAmlkTAANYXR0YWNoZWROb2Rlc3EAfgAQTAAMZGVjbGFy
+YXRpb25zcQB+ABBMAAxvYmplY3RTb3VyY2VxAH4ANUwACm9iamVjdFR5cGVxAH4AEEwACHJlc29s
+dmVycQB+AB9MAAVydWxlc3EAfgAQTAALdHVwbGVTb3VyY2VxAH4ANHhwAAAAAAAAAAlzcQB+AA0/
+QAAAAAAADHcIAAAAEAAAAAZxAH4AN3EAfgA3cQB+AL9xAH4Av3EAfgDFcQB+AMVxAH4AKnEAfgAq
+cQB+AJRxAH4AlHEAfgDHcQB+AMd4c3EAfgANP0AAAAAAAAx3CAAAABAAAAAFcQB+AJxxAH4Am3EA
+fgCgcQB+AJ1xAH4AonEAfgChcQB+AKRxAH4Ao3EAfgCocQB+AKV4cQB+AMdzcgAXamF2YS51dGls
+LkxpbmtlZEhhc2hNYXA0wE5cEGzA+wIAAVoAC2FjY2Vzc09yZGVyeHEAfgANP0AAAAAAAAx3CAAA
+ABAAAAABcQB+AKdzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGph
+dmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAXgAcQB+ANRzcQB+AA0/QAAAAAAADHcIAAAA
+EAAAAAJxAH4AQnVyAB1bTG9yZy5kcm9vbHMucmV0ZW9vLkJhc2VOb2RlOwvnyZNDnLPqAgAAeHAA
+AAABcQB+ADtxAH4Al3VxAH4A4QAAAAFxAH4AlnhxAH4AlA==</byte-array>
 </org.drools.reteoo.ReteooRuleBase>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBase.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBase.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -22,7 +22,6 @@
 import java.util.Set;
 
 import org.drools.rule.Package;
-import org.drools.spi.FactHandleFactory;
 
 /**
  * Active collection of <code>Rule</code>s.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractFactHandleFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractFactHandleFactory.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractFactHandleFactory.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -16,7 +16,6 @@
  * limitations under the License.
  */
 
-import org.drools.common.InternalFactHandle;
 import org.drools.spi.FactHandleFactory;
 import org.drools.util.PrimitiveLongStack;
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -24,6 +24,7 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.ObjectOutputStream;
+import java.io.Serializable;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -60,10 +61,10 @@
     // ------------------------------------------------------------
     // Instance members
     // ------------------------------------------------------------
-    protected final String                          id;
-    
+    protected String                                id;
+
     protected int                                   workingMemoryCounter;
-    
+
     protected RuleBaseConfiguration                 config;
 
     protected Map                                   pkgs;
@@ -83,8 +84,17 @@
 
     /** Special value when adding to the underlying map. */
     protected static final Object                   PRESENT = new Object();
+
     
     /**
+     * Default constructor - for Externalizable. This should never be used by a user, as it 
+     * will result in an invalid state for the instance.
+     */    
+    public AbstractRuleBase() {
+
+    }
+
+    /**
      * Construct.
      * 
      * @param rete
@@ -96,7 +106,7 @@
         if ( id != null ) {
             this.id = id;
         } else {
-            this.id  = "default";
+            this.id = "default";
         }
         this.config = (config != null) ? config : new RuleBaseConfiguration();
         this.config.makeImmutable();
@@ -125,6 +135,7 @@
         // a byte[]
         final ByteArrayOutputStream bos = new ByteArrayOutputStream();
         final ObjectOutput out = new ObjectOutputStream( bos );
+        out.writeObject( this.id );
         out.writeObject( this.factHandleFactory );
         out.writeObject( this.globals );
         out.writeObject( this.config );
@@ -160,6 +171,7 @@
         final ObjectInputStreamWithLoader streamWithLoader = new ObjectInputStreamWithLoader( new ByteArrayInputStream( bytes ),
                                                                                               this.packageClassLoader );
 
+        this.id = (String) streamWithLoader.readObject();
         this.factHandleFactory = (FactHandleFactory) streamWithLoader.readObject();
         this.globals = (Map) streamWithLoader.readObject();
 
@@ -178,7 +190,7 @@
     public String getId() {
         return this.id;
     }
-    
+
     /**
      * @see RuleBase
      */
@@ -400,20 +412,23 @@
     public RuleBaseConfiguration getConfiguration() {
         return this.config;
     }
-    
-    public WorkingMemory newWorkingMemory(InputStream stream) throws IOException, ClassNotFoundException {
+
+    public WorkingMemory newWorkingMemory(InputStream stream) throws IOException,
+                                                             ClassNotFoundException {
         return newWorkingMemory( stream,
                                  true );
-    }    
-    public WorkingMemory newWorkingMemory(InputStream stream, 
-                                          boolean keepReference ) throws IOException, ClassNotFoundException {
-        
+    }
+
+    public WorkingMemory newWorkingMemory(InputStream stream,
+                                          boolean keepReference) throws IOException,
+                                                                ClassNotFoundException {
+
         final ObjectInputStreamWithLoader streamWithLoader = new ObjectInputStreamWithLoader( stream,
                                                                                               this.packageClassLoader );
-        
-        AbstractWorkingMemory workingMemory = ( AbstractWorkingMemory ) streamWithLoader.readObject();
+
+        AbstractWorkingMemory workingMemory = (AbstractWorkingMemory) streamWithLoader.readObject();
         workingMemory.setRuleBase( this );
-        
-        return workingMemory;    
-    }      
+
+        return workingMemory;
+    }
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -40,7 +40,6 @@
 import org.drools.event.AgendaEventSupport;
 import org.drools.event.WorkingMemoryEventListener;
 import org.drools.event.WorkingMemoryEventSupport;
-import org.drools.reteoo.ReteooWorkingMemory;
 import org.drools.rule.Rule;
 import org.drools.spi.Activation;
 import org.drools.spi.AgendaFilter;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -25,7 +25,6 @@
 import java.util.List;
 import java.util.Map;
 
-import org.drools.Agenda;
 import org.drools.WorkingMemory;
 import org.drools.spi.Activation;
 import org.drools.spi.ActivationGroup;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryActions.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryActions.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryActions.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -18,7 +18,6 @@
 
 import org.drools.FactException;
 import org.drools.FactHandle;
-import org.drools.WorkingMemory;
 import org.drools.rule.Rule;
 import org.drools.spi.Activation;
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -19,7 +19,6 @@
 import java.io.Serializable;
 import java.util.TimerTask;
 
-import org.drools.Agenda;
 import org.drools.FactHandle;
 import org.drools.rule.Rule;
 import org.drools.spi.Activation;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsRuleBase.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsRuleBase.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -50,16 +50,11 @@
     private Map               leapsRules;
 
     /**
-     * Construct.
-     * 
-     * @param rete
-     *            The rete network.
-     * @throws PackageIntegrationException
+     * Default constructor - for Externalizable. This should never be used by a user, as it 
+     * will result in an invalid state for the instance.
      */
     public LeapsRuleBase() {
-        this( null,
-              null,
-              new LeapsFactHandleFactory() );
+
     }
 
     /**
@@ -67,7 +62,6 @@
      * 
      * @param rete
      *            The rete network.
-     * @throws PackageIntegrationException
      */
     public LeapsRuleBase(final String id) {
         this( id,
@@ -176,7 +170,9 @@
                                                       ClassNotFoundException {
         doReadExternal( stream,
                         new Object[0] );
-
+        
+        this.leapsRules = new HashMap();
+        
         for ( int i = 0; i < this.getPackages().length; i++ ) {
             final Rule[] rules = this.getPackages()[i].getRules();
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -30,7 +30,6 @@
 import org.drools.WorkingMemory;
 import org.drools.common.AbstractRuleBase;
 import org.drools.common.DefaultFactHandle;
-import org.drools.common.InternalFactHandle;
 import org.drools.common.PropagationContextImpl;
 import org.drools.rule.CompositePackageClassLoader;
 import org.drools.rule.InvalidPatternException;
@@ -65,14 +64,11 @@
     // ------------------------------------------------------------
 
     /**
-     * Construct.
-     * 
-     * @param rete
-     *            The rete network.
+     * Default constructor - for Externalizable. This should never be used by a user, as it 
+     * will result in an invalid state for the instance.
      */
     public ReteooRuleBase() {
-        this( null,
-              new ReteooFactHandleFactory() );
+ 
     }
     
     /**

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -27,7 +27,6 @@
 import org.drools.base.DroolsQuery;
 import org.drools.common.AbstractWorkingMemory;
 import org.drools.common.DefaultAgenda;
-import org.drools.common.DefaultFactHandle;
 import org.drools.common.EqualityKey;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalRuleBase;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -19,9 +19,7 @@
 import java.io.Serializable;
 import java.util.Iterator;
 
-import org.drools.Agenda;
 import org.drools.RuleBaseConfiguration;
-import org.drools.common.DefaultAgenda;
 import org.drools.common.AgendaGroupImpl;
 import org.drools.common.AgendaItem;
 import org.drools.common.InternalAgenda;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -93,7 +93,8 @@
     // ------------------------------------------------------------
 
     /**
-     * This is a default constructor purely for externalization
+     * Default constructor - for Externalizable. This should never be used by a user, as it 
+     * will result in an invalid state for the instance.
      */
     public Package() {
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PackageCompilationData.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PackageCompilationData.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PackageCompilationData.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -47,25 +47,31 @@
      */
     private static final long            serialVersionUID = -4351259299237235523L;
 
-    private Map                          invokerLookups   = new HashMap();
+    private Map                          invokerLookups;
 
     private Object                       AST;
 
-    private Map                          store            = new HashMap();
+    private Map                          store;
 
     private transient PackageClassLoader classLoader;
 
     private transient ClassLoader        parentClassLoader;
 
+    /**
+     * Default constructor - for Externalizable. This should never be used by a user, as it 
+     * will result in an invalid state for the instance.
+     */
     public PackageCompilationData() {
-        this( null );
+        
     }
 
     public PackageCompilationData(final ClassLoader parentClassLoader) {
-        init( parentClassLoader );
+        initClassLoader( parentClassLoader );
+        this.invokerLookups   = new HashMap();
+        this.store = new HashMap();
     }
 
-    private void init(ClassLoader parentClassLoader) {
+    private void initClassLoader(ClassLoader parentClassLoader) {
         if ( parentClassLoader == null ) {
             parentClassLoader = Thread.currentThread().getContextClassLoader();
 
@@ -103,7 +109,7 @@
      */
     public void readExternal(final ObjectInput stream) throws IOException,
                                                       ClassNotFoundException {
-        init( null );
+        initClassLoader( null );
 
         this.store = (Map) stream.readObject();
         this.AST = stream.readObject();

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/CompiledInvoker.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/CompiledInvoker.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/CompiledInvoker.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -2,8 +2,6 @@
 
 import java.util.List;
 
-import org.drools.spi.Invoker;
-
 /**
  * This interface is used by semantic modules that are compiled
  * to bytecode. 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/UUIDGenerator.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/UUIDGenerator.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/UUIDGenerator.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -16,10 +16,10 @@
 
 package org.drools.util;
 
+import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
-import java.security.MessageDigest;
 import java.security.SecureRandom;
-import java.util.*;
+import java.util.Random;
 
 /**
  * Ripped from JUG

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/concurrent/locks/Lock.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/concurrent/locks/Lock.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/concurrent/locks/Lock.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -6,6 +6,10 @@
 
 package org.drools.util.concurrent.locks;
 
+import EDU.oswego.cs.dl.util.concurrent.ReadWriteLock;
+
+import com.sun.corba.se.internal.orbutil.Condition;
+
 //import edu.emory.mathcs.backport.java.util.concurrent.locks.*; // for javadoc (till 6280605 is fixed)
 //import edu.emory.mathcs.backport.java.util.concurrent.TimeUnit;
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/RuleBaseFactoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/RuleBaseFactoryTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/RuleBaseFactoryTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -17,6 +17,7 @@
  */
 
 import junit.framework.TestCase;
+
 import org.drools.common.InternalRuleBase;
 
 public class RuleBaseFactoryTest extends TestCase {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/LeapsMannersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/LeapsMannersTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/LeapsMannersTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -20,13 +20,15 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 
 public class LeapsMannersTest extends BaseMannersTest {
 
     public void testManners() throws Exception {
 
-        final org.drools.leaps.LeapsRuleBase ruleBase = new org.drools.leaps.LeapsRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
         ruleBase.addPackage( this.pkg );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -24,25 +24,20 @@
 
 import org.drools.FactException;
 import org.drools.PackageIntegrationException;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.RuleIntegrationException;
 import org.drools.WorkingMemory;
+import org.drools.leaps.LeapsRuleBase;
 import org.drools.rule.DuplicateRuleNameException;
 import org.drools.rule.InvalidPatternException;
 import org.drools.rule.InvalidRuleException;
 
 public class ReteooMannersTest extends BaseMannersTest {
 
-    public void testManners() throws DuplicateRuleNameException,
-                             InvalidRuleException,
-                             IntrospectionException,
-                             RuleIntegrationException,
-                             PackageIntegrationException,
-                             InvalidPatternException,
-                             FactException,
-                             IOException,
-                             InterruptedException {
+    public void testManners() throws Exception {
 
-        final org.drools.reteoo.ReteooRuleBase ruleBase = new org.drools.reteoo.ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( RuleBase.RETEOO );
         ruleBase.addPackage( this.pkg );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/waltz/LeapsWaltzTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/waltz/LeapsWaltzTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/waltz/LeapsWaltzTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -25,6 +25,8 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 
 /**
@@ -36,7 +38,7 @@
 
     public void testWaltz() throws Exception {
 
-        final org.drools.leaps.LeapsRuleBase ruleBase = new org.drools.leaps.LeapsRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
         ruleBase.addPackage( this.pkg );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
 
@@ -60,7 +62,7 @@
         final LeapsWaltzTest waltz = new LeapsWaltzTest();
         waltz.setUp();
 
-        final org.drools.leaps.LeapsRuleBase ruleBase = new org.drools.leaps.LeapsRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
         ruleBase.addPackage( waltz.pkg );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/waltz/ReteooWaltzTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/waltz/ReteooWaltzTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/waltz/ReteooWaltzTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -26,8 +26,11 @@
 
 import org.drools.FactException;
 import org.drools.PackageIntegrationException;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.RuleIntegrationException;
 import org.drools.WorkingMemory;
+import org.drools.leaps.LeapsRuleBase;
 import org.drools.rule.DuplicateRuleNameException;
 import org.drools.rule.InvalidPatternException;
 import org.drools.rule.InvalidRuleException;
@@ -39,17 +42,9 @@
  */
 public class ReteooWaltzTest extends BaseWaltzTest {
 
-    public void testWaltz() throws DuplicateRuleNameException,
-                           InvalidRuleException,
-                           IntrospectionException,
-                           RuleIntegrationException,
-                           PackageIntegrationException,
-                           InvalidPatternException,
-                           FactException,
-                           IOException,
-                           InterruptedException {
+    public void testWaltz() throws Exception {
 
-        final org.drools.reteoo.ReteooRuleBase ruleBase = new org.drools.reteoo.ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( RuleBase.RETEOO );
         ruleBase.addPackage( this.pkg );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/ColumnConstraintsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/ColumnConstraintsTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/ColumnConstraintsTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -22,6 +22,8 @@
 import java.util.ArrayList;
 
 import org.drools.DroolsTestCase;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.ClassObjectType;
 import org.drools.base.EvaluatorFactory;
@@ -59,7 +61,7 @@
      * WorkingMemoryImpl)'
      */
     public void testEvaluateAlphasSuccess() throws Exception {
-        final LeapsRuleBase base = new LeapsRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
         final ArrayList alphas = new ArrayList();
         ColumnConstraints columnConstraints;
         FieldConstraint constraint;
@@ -91,7 +93,7 @@
         assertTrue( columnConstraints.isAllowed( new LeapsFactHandle( 23,
                                                                      new Context( Context.START_UP ) ),
                                                  tuple,
-                                                 base.newWorkingMemory() ) );
+                                                 ruleBase.newWorkingMemory() ) );
     }
 
     /*
@@ -100,7 +102,7 @@
      * WorkingMemoryImpl)'
      */
     public void testEvaluateAlphasFalure() throws Exception {
-        final LeapsRuleBase base = new LeapsRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
         final ArrayList alphas = new ArrayList();
         ColumnConstraints columnConstraints;
         FieldConstraint constraint;
@@ -129,7 +131,7 @@
         assertFalse( columnConstraints.isAllowed( new LeapsFactHandle( 23,
                                                                       new Context( Context.START_UP ) ),
                                                   null,
-                                                  base.newWorkingMemory() ) );
+                                                  ruleBase.newWorkingMemory() ) );
 
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/FactHandleImplTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/FactHandleImplTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/FactHandleImplTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -20,6 +20,8 @@
 
 import org.drools.FactException;
 import org.drools.FactHandle;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 
 /**
  * 
@@ -32,7 +34,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
-        this.ruleBase = new LeapsRuleBase();
+        this.ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
     }
 
     /*

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/HandleFactoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/HandleFactoryTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/HandleFactoryTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
+import junit.framework.TestCase;
+
 import org.drools.common.DefaultFactHandle;
 
-import junit.framework.TestCase;
-
 /**
  * 
  * @author Alexander Bagerman

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsRuleBaseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsRuleBaseTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsRuleBaseTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -19,6 +19,8 @@
 import java.util.ArrayList;
 
 import org.drools.DroolsTestCase;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.ClassObjectType;
@@ -77,14 +79,14 @@
     final Context   context2        = new Context( 1 );
 
     public void setUp() throws Exception {
-        this.ruleBase = new LeapsRuleBase();
+        this.ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
 
         this.wm1 = this.ruleBase.newWorkingMemory();
         this.wm2 = this.ruleBase.newWorkingMemory();
         this.wm3 = this.ruleBase.newWorkingMemory();
         this.wm4 = this.ruleBase.newWorkingMemory();
         // add rules section
-        this.ruleBaseAddRule = new LeapsRuleBase();
+        this.ruleBaseAddRule = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
 
         this.workingMemory = this.ruleBaseAddRule.newWorkingMemory();
         // rules

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsWorkingMemoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsWorkingMemoryTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsWorkingMemoryTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -3,6 +3,8 @@
 import junit.framework.TestCase;
 
 import org.drools.FactHandle;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.common.EqualityKey;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.TruthMaintenanceSystem;
@@ -12,7 +14,7 @@
      * @see JBRULES-356
      */
     public void testBasicWorkingMemoryActions() {
-        LeapsWorkingMemory workingMemory = (LeapsWorkingMemory) new LeapsRuleBase().newWorkingMemory();
+        LeapsWorkingMemory workingMemory = (LeapsWorkingMemory) RuleBaseFactory.newRuleBase( RuleBase.LEAPS ).newWorkingMemory();
         TruthMaintenanceSystem tms = workingMemory.getTruthMaintenanceSystem();
         String string = "test";
         FactHandle fd = workingMemory.assertObject(string);
@@ -51,7 +53,7 @@
     }
     
     public void testId() {
-        LeapsRuleBase ruleBase =  new LeapsRuleBase();
+        LeapsRuleBase ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
         InternalWorkingMemory workingMemory = (InternalWorkingMemory) ruleBase.newWorkingMemory();
         assertEquals( 0,
                       workingMemory.getId() );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LogicalAssertionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LogicalAssertionTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LogicalAssertionTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -21,6 +21,8 @@
 import org.drools.DroolsTestCase;
 import org.drools.FactException;
 import org.drools.FactHandle;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.common.PropagationContextImpl;
 import org.drools.rule.Rule;
@@ -42,7 +44,7 @@
 
     public void setUp() throws Exception {
         super.setUp();
-        this.ruleBase = new LeapsRuleBase();
+        this.ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
         this.workingMemory = (LeapsWorkingMemory) this.ruleBase.newWorkingMemory();
         this.consequence = new Consequence() {
             /**

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/QueryResultsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/QueryResultsTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/QueryResultsTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -22,6 +22,8 @@
 
 import org.drools.FactHandle;
 import org.drools.PackageIntegrationException;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.ClassObjectType;
@@ -42,7 +44,7 @@
  */
 public class QueryResultsTest extends TestCase {
     public void testQueryTerminalNode() throws PackageIntegrationException {
-        final LeapsRuleBase ruleBase = new LeapsRuleBase();
+        final LeapsRuleBase ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
 
         final ClassObjectType cheeseObjectType = new ClassObjectType( Cheese.class );
         final Evaluator evaluator = EvaluatorFactory.getEvaluator( Evaluator.STRING_TYPE,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/QueryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/QueryTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/QueryTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -19,6 +19,8 @@
 import java.util.ArrayList;
 
 import org.drools.DroolsTestCase;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.ClassObjectType;
@@ -72,11 +74,11 @@
     final Context   context2        = new Context( 1 );
 
     public void setUp() throws Exception {
-        this.ruleBase = new LeapsRuleBase();
+        this.ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
 
         this.wm1 = this.ruleBase.newWorkingMemory();
         // add rules section
-        this.ruleBaseAddRule = new LeapsRuleBase();
+        this.ruleBaseAddRule = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
 
         this.workingMemory = this.ruleBaseAddRule.newWorkingMemory();
         // rules

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/SchedulerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/SchedulerTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/SchedulerTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -21,6 +21,7 @@
 
 import org.drools.DroolsTestCase;
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.common.PropagationContextImpl;
 import org.drools.rule.Rule;
@@ -35,7 +36,7 @@
 
 public class SchedulerTest extends DroolsTestCase {
     public void testScheduledActivation() throws Exception {
-        final RuleBase ruleBase = new LeapsRuleBase();
+        final RuleBase ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
 
         final LeapsWorkingMemory workingMemory = (LeapsWorkingMemory) ruleBase.newWorkingMemory();
 
@@ -96,7 +97,7 @@
     }
 
     public void testDoLoopScheduledActivation() throws Exception {
-        final RuleBase ruleBase = new LeapsRuleBase();
+        final RuleBase ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
 
         final LeapsWorkingMemory workingMemory = (LeapsWorkingMemory) ruleBase.newWorkingMemory();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AddRemoveTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AddRemoveTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AddRemoveTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -18,6 +18,7 @@
 
 import org.drools.DroolsTestCase;
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.base.ClassObjectType;
 
 public class AddRemoveTest extends DroolsTestCase {
@@ -34,7 +35,7 @@
 
         final MockObjectSink sink = new MockObjectSink();
         objectTypeNode.addObjectSink( sink );
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 
         // objectTypeNode.

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -24,8 +24,8 @@
 import org.drools.Agenda;
 import org.drools.DroolsTestCase;
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
-import org.drools.common.DefaultAgenda;
 import org.drools.common.AgendaGroupImpl;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.InternalAgenda;
@@ -46,7 +46,7 @@
 
 public class AgendaTest extends DroolsTestCase {
     public void testClearAgenda() {
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 
@@ -99,7 +99,7 @@
     }
 
     public void testFilters() throws Exception {
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
         final InternalAgenda agenda = (InternalAgenda) workingMemory.getAgenda();
@@ -190,7 +190,7 @@
     }
 
     public void testFocusStack() throws ConsequenceException {
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 
@@ -411,7 +411,7 @@
 
     //
     public void testAutoFocus() throws ConsequenceException {
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
         final InternalAgenda agenda = (InternalAgenda) workingMemory.getAgenda();
@@ -489,7 +489,7 @@
     }
 
     public void testXorGroup() {
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeSwitchTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeSwitchTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeSwitchTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -20,6 +20,7 @@
 import junit.framework.TestCase;
 
 import org.drools.Cheese;
+import org.drools.RuleBaseFactory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.EvaluatorFactory;
 import org.drools.common.DefaultFactHandle;
@@ -42,7 +43,7 @@
         super.setUp();
 
         this.workingMemory = new ReteooWorkingMemory( 1,
-                                                      new ReteooRuleBase() );
+                                                      (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
         final MockObjectSource source = new MockObjectSource( 15 );
         final MockObjectSink sink = new MockObjectSink();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -23,6 +23,7 @@
 import org.drools.Cheese;
 import org.drools.DroolsTestCase;
 import org.drools.FactException;
+import org.drools.RuleBaseFactory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.EvaluatorFactory;
 import org.drools.common.DefaultFactHandle;
@@ -56,7 +57,7 @@
 
     public void testMemory() {
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final AlphaNode alphaNode = new AlphaNode( 2,
                                                    null,
@@ -69,7 +70,7 @@
 
     public void testLiteralConstraintAssertObjectWithMemory() throws Exception {
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
         final Rule rule = new Rule( "test-rule" );
         final PropagationContext context = new PropagationContextImpl( 0,
                                                                        PropagationContext.ASSERTION,
@@ -154,7 +155,7 @@
      */
     public void testReturnValueConstraintAssertObject() throws Exception {
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
         final Rule rule = new Rule( "test-rule" );
         final PropagationContext context = new PropagationContextImpl( 0,
                                                                        PropagationContext.ASSERTION,
@@ -216,7 +217,7 @@
 
     public void testRetractObject() throws Exception {
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
         final Rule rule = new Rule( "test-rule" );
         final PropagationContext context = new PropagationContextImpl( 0,
                                                                        PropagationContext.ASSERTION,
@@ -298,7 +299,7 @@
         // Also it should only update the latest tuple sinky
 
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
         final Rule rule = new Rule( "test-rule" );
         final PropagationContext context = new PropagationContextImpl( 0,
                                                                        PropagationContext.ASSERTION,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/DefaultFactHandleFactoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/DefaultFactHandleFactoryTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/DefaultFactHandleFactoryTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
+import junit.framework.TestCase;
+
 import org.drools.common.DefaultFactHandle;
 
-import junit.framework.TestCase;
-
 public class DefaultFactHandleFactoryTest extends TestCase {
 
     /*

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/EvalConditionNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/EvalConditionNodeTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/EvalConditionNodeTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -18,6 +18,7 @@
 
 import org.drools.DroolsTestCase;
 import org.drools.FactException;
+import org.drools.RuleBaseFactory;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
 import org.drools.spi.PropagationContext;
@@ -38,7 +39,7 @@
                                                    null );
 
         this.workingMemory = new ReteooWorkingMemory( 1,
-                                                      new ReteooRuleBase() );
+                                                      (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
     }
 
     public void testAttach() throws Exception {
@@ -65,7 +66,7 @@
 
     public void testMemory() {
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final MockTupleSource source = new MockTupleSource( 12 );
 
@@ -556,7 +557,7 @@
         // and right memories
         // as a joinnode does not store the resulting tuples
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         // Creat the object source so we can detect the alphaNode telling it to
         // propate its contents

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FactHandleTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FactHandleTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FactHandleTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
+import junit.framework.TestCase;
+
 import org.drools.common.DefaultFactHandle;
 
-import junit.framework.TestCase;
-
 public class FactHandleTest extends TestCase {
     /*
      * Class under test for void FactHandleImpl(long)

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/HashedObjectSinkListTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/HashedObjectSinkListTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/HashedObjectSinkListTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -23,6 +23,7 @@
 import junit.framework.TestCase;
 
 import org.drools.Cheese;
+import org.drools.RuleBaseFactory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.EvaluatorFactory;
 import org.drools.common.DefaultFactHandle;
@@ -153,7 +154,7 @@
      */
     public void testIterator() {
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
         final MockObjectSource source = new MockObjectSource( 15 );
         final MockObjectSink sink = new MockObjectSink();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -20,6 +20,7 @@
 import java.util.Map;
 
 import org.drools.DroolsTestCase;
+import org.drools.RuleBaseFactory;
 import org.drools.common.BetaNodeBinder;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
@@ -50,7 +51,7 @@
                                                    null,
                                                    null );
         this.workingMemory = new ReteooWorkingMemory( 1,
-                                                      new ReteooRuleBase() );
+                                                      (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         this.tupleSource = new MockTupleSource( 4 );
         this.objectSource = new MockObjectSource( 4 );
@@ -100,7 +101,7 @@
 
     public void testMemory() {
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final MockObjectSource objectSource = new MockObjectSource( 1 );
         final MockTupleSource tupleSource = new MockTupleSource( 1 );
@@ -346,7 +347,7 @@
 
     public void testUpdateWithMemory() {
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final JoinNode joinNode = new JoinNode( 1,
                                                 this.tupleSource,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LeftInputAdapterNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LeftInputAdapterNodeTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LeftInputAdapterNodeTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -20,6 +20,7 @@
 import java.util.Map;
 
 import org.drools.DroolsTestCase;
+import org.drools.RuleBaseFactory;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
 import org.drools.spi.PropagationContext;
@@ -79,7 +80,7 @@
                                                                        null );
 
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final LeftInputAdapterNode liaNode = new LeftInputAdapterNode( 1,
                                                                        new MockObjectSource( 15 ) );
@@ -143,7 +144,7 @@
                                                                        null );
 
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final MockObjectSource source = new MockObjectSource( 15 );
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -23,9 +23,9 @@
 import org.drools.FactHandle;
 import org.drools.RuleBase;
 import org.drools.RuleBaseConfiguration;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassObjectType;
-import org.drools.common.DefaultAgenda;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.InternalAgenda;
 import org.drools.common.PropagationContextImpl;
@@ -37,7 +37,7 @@
 public class LogicalAssertionTest extends DroolsTestCase {
 
     public void testSingleLogicalRelationship() throws Exception {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final Rete rete = ruleBase.getRete();
         // create a RuleBase with a single ObjectTypeNode we attach a
         // MockObjectSink so we can detect assertions and retractions
@@ -150,7 +150,7 @@
                                                     new MockTupleSource( 2 ),
                                                     rule1 );
 
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 
         final Agenda agenda = workingMemory.getAgenda();
@@ -235,7 +235,7 @@
         final TerminalNode node = new TerminalNode( 2,
                                                     new MockTupleSource( 2 ),
                                                     rule1 );
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 
         final Agenda agenda = workingMemory.getAgenda();
@@ -456,7 +456,7 @@
         final TerminalNode node = new TerminalNode( 2,
                                                     new MockTupleSource( 2 ),
                                                     rule1 );
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 
         final Consequence consequence = new Consequence() {
@@ -537,7 +537,7 @@
 
     public void testMultipleLogicalRelationships() throws FactException {
         final Rule rule1 = new Rule( "test-rule1" );
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final Rete rete = ruleBase.getRete();
 
         // Create a RuleBase with a single ObjectTypeNode we attach a
@@ -675,7 +675,7 @@
         final TerminalNode node = new TerminalNode( 2,
                                                     new MockTupleSource( 2 ),
                                                     rule1 );
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 
         final Agenda agenda = workingMemory.getAgenda();
@@ -772,7 +772,7 @@
         final TerminalNode node = new TerminalNode( 2,
                                                     new MockTupleSource( 2 ),
                                                     rule1 );
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 
         final Agenda agenda = workingMemory.getAgenda();

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -23,6 +23,7 @@
 import org.drools.Cheese;
 import org.drools.DroolsTestCase;
 import org.drools.FactException;
+import org.drools.RuleBaseFactory;
 import org.drools.common.BetaNodeBinder;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
@@ -53,7 +54,7 @@
                                                    null,
                                                    null );
         this.workingMemory = new ReteooWorkingMemory( 1,
-                                                      new ReteooRuleBase() );
+                                                      (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         // string1Declaration is bound to column 3 
         this.node = new NotNode( 15,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectSourceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectSourceTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectSourceTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -18,6 +18,7 @@
 
 import org.drools.DroolsTestCase;
 import org.drools.FactHandle;
+import org.drools.RuleBaseFactory;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
 import org.drools.rule.Rule;
@@ -58,7 +59,7 @@
                                                                        null,
                                                                        null );
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final MockObjectSource source = new MockObjectSource( 15 );
         final MockObjectSink sink1 = new MockObjectSink();
@@ -124,7 +125,7 @@
                                                                        null,
                                                                        null );
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final MockObjectSource source = new MockObjectSource( 15 );
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -20,6 +20,7 @@
 
 import org.drools.DroolsTestCase;
 import org.drools.FactException;
+import org.drools.RuleBaseFactory;
 import org.drools.base.ClassObjectType;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
@@ -60,7 +61,7 @@
                                                                        null );
 
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final Rete source = new Rete();
 
@@ -97,7 +98,7 @@
 
     public void testMemory() {
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
                                                                   new ClassObjectType( String.class ),
@@ -137,7 +138,7 @@
                                                                        null );
 
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final Rete source = new Rete();
 
@@ -188,7 +189,7 @@
                                                                        null );
 
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
         final Rete source = new Rete();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -5,11 +5,12 @@
 
 import junit.framework.TestCase;
 
+import org.drools.RuleBaseFactory;
 import org.drools.base.ClassObjectType;
 
 public class PropertyChangeListenerTest extends TestCase {
     public void test1() {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
 
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -23,6 +23,7 @@
 import org.drools.FactHandle;
 import org.drools.QueryResult;
 import org.drools.QueryResults;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.ClassObjectType;
@@ -36,7 +37,7 @@
 
 public class QueryTerminalNodeTest extends TestCase {
     public void testQueryTerminalNode() {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final Rete rete = ruleBase.getRete();
 
         final ClassObjectType queryObjectType = new ClassObjectType( DroolsQuery.class );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -25,6 +25,7 @@
 
 import org.drools.DroolsTestCase;
 import org.drools.FactException;
+import org.drools.RuleBaseFactory;
 import org.drools.base.ClassObjectType;
 import org.drools.common.DefaultFactHandle;
 
@@ -40,7 +41,7 @@
      * @throws Exception
      */
     public void testObjectTypeNodes() throws Exception {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
 
         final Rete rete = ruleBase.getRete();
 
@@ -72,7 +73,7 @@
      * @throws FactException
      */
     public void testCache() throws FactException {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
                                                                            ruleBase );
 
@@ -119,7 +120,7 @@
      * @throws Exception
      */
     public void testAssertObject() throws Exception {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
                                                                            ruleBase );
 
@@ -168,7 +169,7 @@
      * ObjectTypeNodes.
      */
     public void testRetractObject() throws Exception {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
                                                                            ruleBase );
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooRuleBaseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooRuleBaseTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooRuleBaseTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -17,6 +17,7 @@
  */
 
 import org.drools.DroolsTestCase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 
 public class ReteooRuleBaseTest extends DroolsTestCase {
@@ -28,7 +29,7 @@
     WorkingMemory  wm4;
 
     public void setUp() {
-        this.ruleBase = new ReteooRuleBase();
+        this.ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
 
         this.wm1 = this.ruleBase.newWorkingMemory();
         this.wm2 = this.ruleBase.newWorkingMemory();

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -3,6 +3,7 @@
 import junit.framework.TestCase;
 
 import org.drools.FactHandle;
+import org.drools.RuleBaseFactory;
 import org.drools.common.EqualityKey;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.TruthMaintenanceSystem;
@@ -12,7 +13,7 @@
      * @see JBRULES-356
      */
     public void testBasicWorkingMemoryActions() {
-        ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) new ReteooRuleBase().newWorkingMemory();
+        ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) RuleBaseFactory.newRuleBase().newWorkingMemory();
         TruthMaintenanceSystem tms = workingMemory.getTruthMaintenanceSystem();
         String string = "test";
         FactHandle fd = workingMemory.assertObject(string);
@@ -51,7 +52,7 @@
     }
     
     public void testId() {
-        ReteooRuleBase ruleBase =  new ReteooRuleBase();
+        ReteooRuleBase ruleBase =  (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         InternalWorkingMemory workingMemory = (InternalWorkingMemory) ruleBase.newWorkingMemory();
         assertEquals( 0,
                       workingMemory.getId() );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/SchedulerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/SchedulerTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/SchedulerTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -22,6 +22,7 @@
 import org.drools.Agenda;
 import org.drools.DroolsTestCase;
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
@@ -37,7 +38,7 @@
 
 public class SchedulerTest extends DroolsTestCase {
     public void testScheduledActivation() throws Exception {
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
 
@@ -98,7 +99,7 @@
     }
 
     public void testDoLoopScheduledActivation() throws Exception {
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
         final Agenda agenda = workingMemory.getAgenda();
@@ -174,7 +175,7 @@
     }
 
     public void testNoLoopScheduledActivation() throws Exception {
-        final RuleBase ruleBase = new ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newWorkingMemory();
         final Agenda agenda = workingMemory.getAgenda();

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/TupleSourceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/TupleSourceTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/TupleSourceTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -17,6 +17,7 @@
  */
 
 import org.drools.DroolsTestCase;
+import org.drools.RuleBaseFactory;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
 import org.drools.rule.Rule;
@@ -57,7 +58,7 @@
                                                                        null,
                                                                        null );
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
-                                                                           new ReteooRuleBase() );
+                                                                           (ReteooRuleBase)  RuleBaseFactory.newRuleBase() );
 
         final MockTupleSource source = new MockTupleSource( 15 );
         final MockTupleSink sink1 = new MockTupleSink();

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/beta/BaseBetaLeftMemoryTestClass.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/beta/BaseBetaLeftMemoryTestClass.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/beta/BaseBetaLeftMemoryTestClass.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -23,11 +23,12 @@
 import junit.framework.Assert;
 import junit.framework.TestCase;
 
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.InternalFactHandle;
+import org.drools.reteoo.ReteTuple;
 import org.drools.reteoo.ReteooFactHandleFactory;
-import org.drools.reteoo.ReteTuple;
 import org.drools.reteoo.ReteooRuleBase;
 import org.drools.reteoo.ReteooWorkingMemory;
 import org.drools.spi.FactHandleFactory;
@@ -63,7 +64,7 @@
     protected void setUp() throws Exception {
         super.setUp();
         this.workingMemory = new ReteooWorkingMemory( 0, 
-                                                      new ReteooRuleBase() );
+                                                      (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
         this.obj0 = new DummyValueObject( true,
                                           "string1",
                                           10,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/beta/BaseBetaRightMemoryTestClass.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/beta/BaseBetaRightMemoryTestClass.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/beta/BaseBetaRightMemoryTestClass.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -23,11 +23,12 @@
 import junit.framework.Assert;
 import junit.framework.TestCase;
 
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.common.DefaultFactHandle;
-import org.drools.reteoo.ReteooFactHandleFactory;
 import org.drools.reteoo.ObjectMatches;
 import org.drools.reteoo.ReteTuple;
+import org.drools.reteoo.ReteooFactHandleFactory;
 import org.drools.reteoo.ReteooRuleBase;
 import org.drools.reteoo.ReteooWorkingMemory;
 import org.drools.spi.FactHandleFactory;
@@ -68,7 +69,7 @@
     protected void setUp() throws Exception {
         super.setUp();
         this.workingMemory = new ReteooWorkingMemory( 0, 
-                                                      new ReteooRuleBase() );
+                                                      (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
         this.obj0 = new DummyValueObject( true,
                                           "string1",
                                           10,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -22,6 +22,7 @@
 
 import org.drools.Cheese;
 import org.drools.FactHandle;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.EvaluatorFactory;
@@ -56,7 +57,7 @@
      * @throws IntrospectionException
      */
     public void testLiteralConstraint() throws IntrospectionException {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
 
         final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
@@ -104,7 +105,7 @@
      * @throws IntrospectionException
      */
     public void testPredicateConstraint() throws IntrospectionException {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
 
         final FieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,
@@ -177,7 +178,7 @@
      * @throws IntrospectionException
      */
     public void testReturnValueConstraint() throws IntrospectionException {
-        final ReteooRuleBase ruleBase = new ReteooRuleBase();
+        final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
 
         final FieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/OrTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/OrTest.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/OrTest.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -22,12 +22,15 @@
 
 import junit.framework.TestCase;
 
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.ClassObjectType;
 import org.drools.base.EvaluatorFactory;
 import org.drools.examples.waltz.Edge;
 import org.drools.examples.waltz.Stage;
+import org.drools.leaps.LeapsRuleBase;
 import org.drools.spi.Consequence;
 import org.drools.spi.ConsequenceException;
 import org.drools.spi.Evaluator;
@@ -79,7 +82,7 @@
 
         this.pkg.addRule( this.getNeverGetsToConsequenceRule() );
 
-        final org.drools.leaps.LeapsRuleBase ruleBase = new org.drools.leaps.LeapsRuleBase();
+        final org.drools.leaps.LeapsRuleBase ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
         ruleBase.addPackage( this.pkg );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
         workingMemory.assertObject( new Stage( Stage.LABELING ) );
@@ -110,7 +113,7 @@
 
         this.pkg.addRule( this.getNeverGetsToConsequenceRule() );
 
-        final org.drools.reteoo.ReteooRuleBase ruleBase = new org.drools.reteoo.ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( RuleBase.RETEOO );
         ruleBase.addPackage( this.pkg );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
         workingMemory.assertObject( new Stage( Stage.LABELING ) );
@@ -141,7 +144,7 @@
 
         this.pkg.addRule( this.getWorkingButCanNotResolveOrObjectInConsequenceOrder() );
 
-        final org.drools.leaps.LeapsRuleBase ruleBase = new org.drools.leaps.LeapsRuleBase();
+        final org.drools.leaps.LeapsRuleBase ruleBase =(LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
         ruleBase.addPackage( this.pkg );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
         workingMemory.assertObject( new Stage( Stage.LABELING ) );
@@ -172,7 +175,7 @@
 
         this.pkg.addRule( this.getWorkingButCanNotResolveOrObjectInConsequenceOrder() );
 
-        final org.drools.reteoo.ReteooRuleBase ruleBase = new org.drools.reteoo.ReteooRuleBase();
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( RuleBase.RETEOO );
         ruleBase.addPackage( this.pkg );
         final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
         workingMemory.assertObject( new Stage( Stage.LABELING ) );

Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/ReteViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/ReteViewer.java	2006-07-13 23:32:48 UTC (rev 5087)
+++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/ReteViewer.java	2006-07-14 00:21:56 UTC (rev 5088)
@@ -5,6 +5,7 @@
 import java.io.Reader;
 
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.PackageBuilder;
 import org.drools.ide.DroolsIDEPlugin;
@@ -112,7 +113,7 @@
 					Package pkg = builder.getPackage();
 
 					//add the package to a rulebase
-                    ReteooRuleBase ruleBase = new ReteooRuleBase();
+                    RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 					ruleBase.addPackage(pkg);
 					return ruleBase;
 					




More information about the jboss-svn-commits mailing list