Clean up ProgramEvaluator API. Straighten up passing of session token. Drop RulesDiff usages.

This commit is contained in:
Fedor Isakov 2020-12-08 15:36:29 +01:00
parent 2ee4c30233
commit c7eaa1dbf3
6 changed files with 152 additions and 505 deletions

View File

@ -590,6 +590,12 @@
<ref role="3uigEE" to="av0y:~IncrementalSpec" resolve="IncrementalSpec" />
</node>
</node>
<node concept="37vLTG" id="4J__M6MPY0" role="3clF46">
<property role="TrG5h" value="sessionToken" />
<node concept="3uibUv" id="4J__M6MR1t" role="1tU5fm">
<ref role="3uigEE" to="w7la:~SessionToken" resolve="SessionToken" />
</node>
</node>
<node concept="37vLTG" id="3o9wrC3sOnz" role="3clF46">
<property role="TrG5h" value="supervisor" />
<node concept="3uibUv" id="3o9wrC3sPQg" role="1tU5fm">
@ -629,74 +635,7 @@
</node>
</node>
</node>
<node concept="3clFbH" id="41ox5VnkhIX" role="3cqZAp" />
<node concept="3clFbF" id="6uUkLpHjIS9" role="3cqZAp">
<node concept="37vLTI" id="6uUkLpHjL2F" role="3clFbG">
<node concept="37vLTw" id="6uUkLpHjIS7" role="37vLTJ">
<ref role="3cqZAo" node="6uUkLpHj_La" resolve="rulesDiff" />
</node>
<node concept="2YIFZM" id="7eQMSyzaq4u" role="37vLTx">
<ref role="1Pybhc" to="zx3l:~RulesDiff" resolve="RulesDiff" />
<ref role="37wK5l" to="zx3l:~RulesDiff.emptyDiff()" resolve="emptyDiff" />
</node>
</node>
</node>
<node concept="3clFbJ" id="3R7n5gYSM0R" role="3cqZAp">
<node concept="3clFbS" id="3R7n5gYSM0S" role="3clFbx">
<node concept="3clFbF" id="6uUkLpHkm2n" role="3cqZAp">
<node concept="37vLTI" id="6uUkLpHkm2o" role="3clFbG">
<node concept="37vLTw" id="6uUkLpHkm2p" role="37vLTJ">
<ref role="3cqZAo" node="6uUkLpHj_La" resolve="rulesDiff" />
</node>
<node concept="2YIFZM" id="6uUkLpHkm2q" role="37vLTx">
<ref role="1Pybhc" to="zx3l:~RulesDiff" resolve="RulesDiff" />
<ref role="37wK5l" to="zx3l:~RulesDiff.findDiff(java.lang.Iterable,java.lang.Iterable)" resolve="findDiff" />
<node concept="2OqwBi" id="6uUkLpHkm2r" role="37wK5m">
<node concept="liA8E" id="2jxMt585yUc" role="2OqNvi">
<ref role="37wK5l" to="w7la:~SessionToken.getRules()" resolve="getRules" />
</node>
<node concept="37vLTw" id="6uUkLpHkm2t" role="2Oq$k0">
<ref role="3cqZAo" node="1H_6AUSjp6Y" resolve="sessionToken" />
</node>
</node>
<node concept="2OqwBi" id="6uUkLpHkm2u" role="37wK5m">
<node concept="37vLTw" id="6uUkLpHkm2v" role="2Oq$k0">
<ref role="3cqZAo" node="7eQMSyz9QyL" resolve="program" />
</node>
<node concept="liA8E" id="6uUkLpHkm2w" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Program.rules()" resolve="rules" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="3R7n5gYSM1d" role="3clFbw">
<node concept="10Nm6u" id="3R7n5gYSM1e" role="3uHU7w" />
<node concept="37vLTw" id="1H_6AUSjq4B" role="3uHU7B">
<ref role="3cqZAo" node="1H_6AUSjp6Y" resolve="sessionToken" />
</node>
</node>
</node>
<node concept="3clFbH" id="2jxMt585pEX" role="3cqZAp" />
<node concept="3clFbF" id="2jxMt585HnE" role="3cqZAp">
<node concept="37vLTI" id="2jxMt585IHz" role="3clFbG">
<node concept="2OqwBi" id="2jxMt585KhM" role="37vLTx">
<node concept="37vLTw" id="2jxMt585Kbo" role="2Oq$k0">
<ref role="3cqZAo" node="7eQMSyz9QyL" resolve="program" />
</node>
<node concept="liA8E" id="2jxMt585KyI" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Program.withRulesDiff(jetbrains.mps.logic.reactor.core.RulesDiff)" resolve="withRulesDiff" />
<node concept="37vLTw" id="2jxMt585KDA" role="37wK5m">
<ref role="3cqZAo" node="6uUkLpHj_La" resolve="rulesDiff" />
</node>
</node>
</node>
<node concept="37vLTw" id="2jxMt585HnC" role="37vLTJ">
<ref role="3cqZAo" node="7eQMSyz9QyL" resolve="program" />
</node>
</node>
</node>
<node concept="3clFbH" id="4J__M6MM1Y" role="3cqZAp" />
<node concept="3cpWs8" id="7WKNeR9xpPO" role="3cqZAp">
<node concept="3cpWsn" id="7WKNeR9xpPP" role="3cpWs9">
<property role="TrG5h" value="config" />
@ -863,8 +802,8 @@
</node>
<node concept="liA8E" id="3R7n5gYSM0X" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationSession$Config.withSessionToken(jetbrains.mps.logic.reactor.evaluation.SessionToken)" resolve="withSessionToken" />
<node concept="37vLTw" id="1H_6AUSjqhx" role="37wK5m">
<ref role="3cqZAo" node="1H_6AUSjp6Y" resolve="sessionToken" />
<node concept="37vLTw" id="4J__M6MRd2" role="37wK5m">
<ref role="3cqZAo" node="4J__M6MPY0" resolve="sessionToken" />
</node>
</node>
</node>
@ -880,28 +819,13 @@
<ref role="1Pybhc" to="lehm:2tjs8VC0K0m" resolve="Memoizer" />
</node>
</node>
<node concept="3cpWs8" id="5mr7UHcbsDR" role="3cqZAp">
<node concept="3cpWsn" id="5mr7UHcbsDS" role="3cpWs9">
<property role="TrG5h" value="evaluationResult" />
<node concept="3uibUv" id="1X0h_efXwhM" role="1tU5fm">
<ref role="3uigEE" to="w7la:~EvaluationResult" resolve="EvaluationResult" />
</node>
<node concept="10Nm6u" id="7rf49NgqS96" role="33vP2m" />
</node>
</node>
<node concept="3clFbF" id="2yEnwsh7wdY" role="3cqZAp">
<node concept="37vLTI" id="2yEnwsh7yxs" role="3clFbG">
<node concept="37vLTw" id="2yEnwsh7wdW" role="37vLTJ">
<ref role="3cqZAo" node="2yEnwsh6Suo" resolve="invalidFeedbackKeys" />
</node>
<node concept="2ShNRf" id="2yEnwsh7E14" role="37vLTx">
<node concept="Tc6Ow" id="2yEnwsh7Lzi" role="2ShVmc">
<node concept="3uibUv" id="2yEnwsh7MUk" role="HW$YZ">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="3cmrfG" id="2yEnwsh7P9n" role="3lWHg$">
<property role="3cmrfH" value="0" />
</node>
<node concept="3clFbF" id="4J__M6MhyL" role="3cqZAp">
<node concept="37vLTI" id="4J__M6Mklm" role="3clFbG">
<node concept="10Nm6u" id="4J__M6MkY1" role="37vLTx" />
<node concept="2OqwBi" id="4J__M6MiS0" role="37vLTJ">
<node concept="Xjq3P" id="4J__M6MhyJ" role="2Oq$k0" />
<node concept="2OwXpG" id="4J__M6Mk90" role="2OqNvi">
<ref role="2Oxat5" node="4J__M6Mful" resolve="evaluationResult" />
</node>
</node>
</node>
@ -997,8 +921,11 @@
</node>
</node>
</node>
<node concept="37vLTw" id="1Ry9kf2vmS7" role="37vLTJ">
<ref role="3cqZAo" node="5mr7UHcbsDS" resolve="evaluationResult" />
<node concept="2OqwBi" id="4J__M6MFaf" role="37vLTJ">
<node concept="Xjq3P" id="4J__M6MFeO" role="2Oq$k0" />
<node concept="2OwXpG" id="4J__M6MFai" role="2OqNvi">
<ref role="2Oxat5" node="4J__M6Mful" resolve="evaluationResult" />
</node>
</node>
</node>
</node>
@ -1006,8 +933,8 @@
<node concept="3cpWsn" id="1X0h_efYbPi" role="3cpWs9">
<property role="TrG5h" value="feedback" />
<node concept="2OqwBi" id="1X0h_efYbPj" role="33vP2m">
<node concept="37vLTw" id="1X0h_efYbPk" role="2Oq$k0">
<ref role="3cqZAo" node="5mr7UHcbsDS" resolve="evaluationResult" />
<node concept="37vLTw" id="4J__M6MFkz" role="2Oq$k0">
<ref role="3cqZAo" node="4J__M6Mful" resolve="evaluationResult" />
</node>
<node concept="liA8E" id="473$26GFFFG" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationResult.feedback()" resolve="feedback" />
@ -1057,38 +984,6 @@
</node>
</node>
</node>
<node concept="3clFbH" id="1X0h_efYdfs" role="3cqZAp" />
<node concept="3clFbF" id="51a$_pPM24q" role="3cqZAp">
<node concept="1rXfSq" id="51a$_pPM24o" role="3clFbG">
<ref role="37wK5l" node="51a$_pPLZra" resolve="setSessionToken" />
<node concept="2OqwBi" id="51a$_pPM2nQ" role="37wK5m">
<node concept="37vLTw" id="51a$_pPM2g4" role="2Oq$k0">
<ref role="3cqZAo" node="5mr7UHcbsDS" resolve="evaluationResult" />
</node>
<node concept="liA8E" id="51a$_pPM2tD" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationResult.token()" resolve="token" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="2yEnwsh756A" role="3cqZAp">
<node concept="37vLTI" id="2yEnwsh76Mj" role="3clFbG">
<node concept="2OqwBi" id="2yEnwsh77Ux" role="37vLTx">
<node concept="37vLTw" id="2yEnwsh77HE" role="2Oq$k0">
<ref role="3cqZAo" node="5mr7UHcbsDS" resolve="evaluationResult" />
</node>
<node concept="liA8E" id="1CI$NpxnJdr" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationResult.invalidFeedbackKeys()" resolve="invalidFeedbackKeys" />
</node>
</node>
<node concept="2OqwBi" id="2yEnwsh75jM" role="37vLTJ">
<node concept="Xjq3P" id="2yEnwsh756$" role="2Oq$k0" />
<node concept="2OwXpG" id="2yEnwsh75Oq" role="2OqNvi">
<ref role="2Oxat5" node="2yEnwsh6Suo" resolve="invalidFeedbackKeys" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="1X0h_efY7oC" role="3cqZAp" />
</node>
<node concept="3uVAMA" id="RZQG98Soki" role="1zxBo5">
@ -1313,127 +1208,32 @@
</node>
</node>
<node concept="2tJIrI" id="6OUp3PsW2D7" role="jymVt" />
<node concept="3clFb_" id="5cnt3vh3pb_" role="jymVt">
<property role="TrG5h" value="storeView" />
<node concept="3uibUv" id="5cnt3vh3pNW" role="3clF45">
<ref role="3uigEE" to="w7la:~StoreView" resolve="StoreView" />
<node concept="3clFb_" id="4J__M6Meme" role="jymVt">
<property role="TrG5h" value="getEvaluationResult" />
<node concept="3uibUv" id="4J__M6MeSg" role="3clF45">
<ref role="3uigEE" to="w7la:~EvaluationResult" resolve="EvaluationResult" />
</node>
<node concept="3Tm1VV" id="5cnt3vh3pbC" role="1B3o_S" />
<node concept="3clFbS" id="5cnt3vh3pbD" role="3clF47">
<node concept="3clFbF" id="1yRNvyGB4xF" role="3cqZAp">
<node concept="2OqwBi" id="1yRNvyGB5hP" role="3clFbG">
<node concept="2OqwBi" id="1yRNvyGB4Qm" role="2Oq$k0">
<node concept="37vLTw" id="1yRNvyGB4xD" role="2Oq$k0">
<ref role="3cqZAo" node="1H_6AUSjp6Y" resolve="sessionToken" />
</node>
<node concept="liA8E" id="1yRNvyGB57G" role="2OqNvi">
<ref role="37wK5l" to="w7la:~SessionToken.getJournalView()" resolve="getJournalView" />
</node>
</node>
<node concept="liA8E" id="1yRNvyGB5vt" role="2OqNvi">
<ref role="37wK5l" to="w7la:~MatchJournalView.getStoreView()" resolve="getStoreView" />
</node>
<node concept="3Tm1VV" id="4J__M6Memh" role="1B3o_S" />
<node concept="3clFbS" id="4J__M6Memi" role="3clF47">
<node concept="3clFbF" id="4J__M6MsUr" role="3cqZAp">
<node concept="37vLTw" id="4J__M6MsUq" role="3clFbG">
<ref role="3cqZAo" node="4J__M6Mful" resolve="evaluationResult" />
</node>
</node>
</node>
</node>
<node concept="3clFb_" id="4VntlICqLLf" role="jymVt">
<property role="TrG5h" value="sessionToken" />
<node concept="3clFbS" id="4VntlICqLLi" role="3clF47">
<node concept="3clFbF" id="4VntlICqNbk" role="3cqZAp">
<node concept="37vLTw" id="4VntlICqNbj" role="3clFbG">
<ref role="3cqZAo" node="1H_6AUSjp6Y" resolve="sessionToken" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="4VntlICqKvQ" role="1B3o_S" />
<node concept="3uibUv" id="4VntlICqLFj" role="3clF45">
<ref role="3uigEE" to="w7la:~SessionToken" resolve="SessionToken" />
</node>
</node>
<node concept="3clFb_" id="2yEnwsh70Nl" role="jymVt">
<property role="TrG5h" value="invalidFeedbackKeys" />
<node concept="3clFbS" id="2yEnwsh70No" role="3clF47">
<node concept="3clFbF" id="2yEnwsh73Fp" role="3cqZAp">
<node concept="37vLTw" id="2yEnwsh73Fo" role="3clFbG">
<ref role="3cqZAo" node="2yEnwsh6Suo" resolve="invalidFeedbackKeys" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="2yEnwsh6X60" role="1B3o_S" />
<node concept="3uibUv" id="2yEnwsh6YRp" role="3clF45">
<ref role="3uigEE" to="33ny:~Collection" resolve="Collection" />
<node concept="3uibUv" id="2yEnwsh6Zk1" role="11_B2D">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
</node>
<node concept="3clFb_" id="51a$_pPLZra" role="jymVt">
<property role="TrG5h" value="setSessionToken" />
<node concept="37vLTG" id="51a$_pPM05q" role="3clF46">
<property role="TrG5h" value="newToken" />
<node concept="3uibUv" id="51a$_pPM0r2" role="1tU5fm">
<ref role="3uigEE" to="w7la:~SessionToken" resolve="SessionToken" />
</node>
</node>
<node concept="3clFbS" id="51a$_pPLZrd" role="3clF47">
<node concept="3clFbF" id="51a$_pPLZRd" role="3cqZAp">
<node concept="37vLTI" id="51a$_pPM00X" role="3clFbG">
<node concept="37vLTw" id="51a$_pPLZRc" role="37vLTJ">
<ref role="3cqZAo" node="1H_6AUSjp6Y" resolve="sessionToken" />
</node>
<node concept="37vLTw" id="51a$_pPM1S1" role="37vLTx">
<ref role="3cqZAo" node="51a$_pPM05q" resolve="newToken" />
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="51a$_pPLYVm" role="1B3o_S" />
<node concept="3cqZAl" id="51a$_pPLZpD" role="3clF45" />
</node>
<node concept="3clFb_" id="6uUkLpHjDqO" role="jymVt">
<property role="TrG5h" value="rulesDiff" />
<node concept="3clFbS" id="6uUkLpHjDqR" role="3clF47">
<node concept="3clFbF" id="6uUkLpHjEJO" role="3cqZAp">
<node concept="37vLTw" id="6uUkLpHjEJN" role="3clFbG">
<ref role="3cqZAo" node="6uUkLpHj_La" resolve="rulesDiff" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="6uUkLpHjCmc" role="1B3o_S" />
<node concept="3uibUv" id="6uUkLpHjDmc" role="3clF45">
<ref role="3uigEE" to="zx3l:~RulesDiff" resolve="RulesDiff" />
</node>
</node>
<node concept="2tJIrI" id="4jcOV4hNGQi" role="jymVt" />
<node concept="2tJIrI" id="4J__M6NDtw" role="jymVt" />
<node concept="3Tm1VV" id="41ox5Vnk76b" role="1B3o_S" />
<node concept="312cEg" id="4F3SXIF5XzK" role="jymVt">
<property role="TrG5h" value="profiling" />
<node concept="3Tm6S6" id="4F3SXIF5XzL" role="1B3o_S" />
<node concept="10P_77" id="4F3SXIF5XzN" role="1tU5fm" />
</node>
<node concept="312cEg" id="6uUkLpHj_La" role="jymVt">
<property role="TrG5h" value="rulesDiff" />
<node concept="3Tm6S6" id="6uUkLpHj$G_" role="1B3o_S" />
<node concept="3uibUv" id="6uUkLpHj_Gy" role="1tU5fm">
<ref role="3uigEE" to="zx3l:~RulesDiff" resolve="RulesDiff" />
</node>
</node>
<node concept="312cEg" id="1H_6AUSjp6Y" role="jymVt">
<property role="TrG5h" value="sessionToken" />
<node concept="3Tm6S6" id="1H_6AUSjoeZ" role="1B3o_S" />
<node concept="3uibUv" id="1H_6AUSjp42" role="1tU5fm">
<ref role="3uigEE" to="w7la:~SessionToken" resolve="SessionToken" />
</node>
</node>
<node concept="312cEg" id="2yEnwsh6Suo" role="jymVt">
<property role="TrG5h" value="invalidFeedbackKeys" />
<node concept="3Tm6S6" id="2yEnwsh6NZo" role="1B3o_S" />
<node concept="3uibUv" id="2yEnwsh6QfK" role="1tU5fm">
<ref role="3uigEE" to="33ny:~Collection" resolve="Collection" />
<node concept="3uibUv" id="2yEnwsh6R4P" role="11_B2D">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="312cEg" id="4J__M6Mful" role="jymVt">
<property role="TrG5h" value="evaluationResult" />
<node concept="3Tm6S6" id="4J__M6Mfum" role="1B3o_S" />
<node concept="3uibUv" id="4J__M6Mg1O" role="1tU5fm">
<ref role="3uigEE" to="w7la:~EvaluationResult" resolve="EvaluationResult" />
</node>
</node>
</node>

View File

@ -745,186 +745,13 @@
</node>
</node>
<node concept="3clFbS" id="2jxMt58b9W_" role="3clF47">
<node concept="3clFbF" id="2jxMt58bk0z" role="3cqZAp">
<node concept="37vLTI" id="2jxMt58bk_F" role="3clFbG">
<node concept="37vLTw" id="2jxMt58bkYe" role="37vLTx">
<ref role="3cqZAo" node="2jxMt58b9Wz" resolve="diff" />
</node>
<node concept="2OqwBi" id="2jxMt58bkdo" role="37vLTJ">
<node concept="Xjq3P" id="2jxMt58bk0y" role="2Oq$k0" />
<node concept="2OwXpG" id="2jxMt58bkps" role="2OqNvi">
<ref role="2Oxat5" node="2jxMt58biXX" resolve="rulesDiff" />
</node>
<node concept="YS8fn" id="4J__M6OerW" role="3cqZAp">
<node concept="2ShNRf" id="4J__M6Oesk" role="YScLw">
<node concept="1pGfFk" id="4J__M6OeSa" role="2ShVmc">
<ref role="37wK5l" to="wyt6:~UnsupportedOperationException.&lt;init&gt;()" resolve="UnsupportedOperationException" />
</node>
</node>
</node>
<node concept="3clFbH" id="2jxMt58$9iI" role="3cqZAp" />
<node concept="3SKdUt" id="2jxMt58$gL3" role="3cqZAp">
<node concept="1PaTwC" id="2jxMt58$gL4" role="1aUNEU">
<node concept="3oM_SD" id="2jxMt58$hGb" role="1PaTwD">
<property role="3oM_SC" value="Drop" />
</node>
<node concept="3oM_SD" id="2jxMt58$hNV" role="1PaTwD">
<property role="3oM_SC" value="regenerated" />
</node>
<node concept="3oM_SD" id="2jxMt58$hRT" role="1PaTwD">
<property role="3oM_SC" value="rules" />
</node>
<node concept="3oM_SD" id="2jxMt58$hVS" role="1PaTwD">
<property role="3oM_SC" value="for" />
</node>
<node concept="3oM_SD" id="2jxMt58$hZS" role="1PaTwD">
<property role="3oM_SC" value="preserved" />
</node>
<node concept="3oM_SD" id="2jxMt58$i41" role="1PaTwD">
<property role="3oM_SC" value="rules" />
</node>
<node concept="3oM_SD" id="2jxMt58$i83" role="1PaTwD">
<property role="3oM_SC" value="and" />
</node>
<node concept="3oM_SD" id="2jxMt58$i8b" role="1PaTwD">
<property role="3oM_SC" value="use" />
</node>
<node concept="3oM_SD" id="2jxMt58$icn" role="1PaTwD">
<property role="3oM_SC" value="them" />
</node>
<node concept="3oM_SD" id="2jxMt58$igk" role="1PaTwD">
<property role="3oM_SC" value="from" />
</node>
<node concept="3oM_SD" id="2jxMt58$igv" role="1PaTwD">
<property role="3oM_SC" value="previous" />
</node>
<node concept="3oM_SD" id="2jxMt58$ikA" role="1PaTwD">
<property role="3oM_SC" value="session" />
</node>
</node>
</node>
<node concept="3clFbJ" id="2jxMt58zLvu" role="3cqZAp">
<node concept="3clFbS" id="2jxMt58zLvw" role="3clFbx">
<node concept="1DcWWT" id="5NUR$OST_9" role="3cqZAp">
<node concept="3clFbS" id="5NUR$OST_c" role="2LFqv$">
<node concept="3cpWs8" id="5NUR$OSVqZ" role="3cqZAp">
<node concept="3cpWsn" id="5NUR$OSVr0" role="3cpWs9">
<property role="TrG5h" value="preserved" />
<node concept="3uibUv" id="5NUR$OSVr1" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Rule" resolve="Rule" />
</node>
<node concept="2OqwBi" id="5NUR$OSVr2" role="33vP2m">
<node concept="37vLTw" id="5NUR$OSVr3" role="2Oq$k0">
<ref role="3cqZAo" node="2jxMt58biXX" resolve="rulesDiff" />
</node>
<node concept="liA8E" id="5NUR$OSVr4" role="2OqNvi">
<ref role="37wK5l" to="zx3l:~RulesDiff.getPreservedRule(java.lang.Object)" resolve="getPreservedRule" />
<node concept="2OqwBi" id="5NUR$OSVr5" role="37wK5m">
<node concept="37vLTw" id="5NUR$OSWfL" role="2Oq$k0">
<ref role="3cqZAo" node="5NUR$OST_d" resolve="rule" />
</node>
<node concept="liA8E" id="5NUR$OSVr7" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Rule.uniqueTag()" resolve="uniqueTag" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbJ" id="1XKnVPxmFs" role="3cqZAp">
<node concept="3clFbS" id="1XKnVPxmFu" role="3clFbx">
<node concept="3clFbH" id="2LxIQemNu58" role="3cqZAp" />
<node concept="YS8fn" id="1XKnVPxn0L" role="3cqZAp">
<node concept="2ShNRf" id="1XKnVPxn1n" role="YScLw">
<node concept="1pGfFk" id="1XKnVPxnu3" role="2ShVmc">
<ref role="37wK5l" to="wyt6:~IllegalStateException.&lt;init&gt;(java.lang.String)" resolve="IllegalStateException" />
<node concept="3cpWs3" id="2LxIQemrEgv" role="37wK5m">
<node concept="2OqwBi" id="2LxIQemrEne" role="3uHU7w">
<node concept="37vLTw" id="2LxIQemrEhr" role="2Oq$k0">
<ref role="3cqZAo" node="5NUR$OSVr0" resolve="preserved" />
</node>
<node concept="liA8E" id="2LxIQemrEwT" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Rule.uniqueTag()" resolve="uniqueTag" />
</node>
</node>
<node concept="Xl_RD" id="1XKnVPxnvW" role="3uHU7B">
<property role="Xl_RC" value="invariant violation: rule is neither new nor retained " />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="2LxIQemNu6U" role="3cqZAp" />
</node>
<node concept="1Wc70l" id="2LxIQempVFE" role="3clFbw">
<node concept="3fqX7Q" id="2LxIQempVQx" role="3uHU7w">
<node concept="2OqwBi" id="2LxIQempYWZ" role="3fr31v">
<node concept="2OqwBi" id="2LxIQempYwM" role="2Oq$k0">
<node concept="37vLTw" id="2LxIQempYwN" role="2Oq$k0">
<ref role="3cqZAo" node="5NUR$OAZDF" resolve="rulesPlan" />
</node>
<node concept="liA8E" id="2LxIQempYwO" role="2OqNvi">
<ref role="37wK5l" node="1XKnVPsWTe" resolve="newRules" />
</node>
</node>
<node concept="3JPx81" id="2LxIQempZms" role="2OqNvi">
<node concept="37vLTw" id="2LxIQempZos" role="25WWJ7">
<ref role="3cqZAo" node="5NUR$OST_d" resolve="rule" />
</node>
</node>
</node>
</node>
<node concept="1Wc70l" id="1XKnVPxmQ$" role="3uHU7B">
<node concept="3y3z36" id="1XKnVPxmMq" role="3uHU7B">
<node concept="37vLTw" id="1XKnVPxmJ3" role="3uHU7B">
<ref role="3cqZAo" node="5NUR$OSVr0" resolve="preserved" />
</node>
<node concept="10Nm6u" id="1XKnVPxmPQ" role="3uHU7w" />
</node>
<node concept="3y3z36" id="1XKnVPxmVS" role="3uHU7w">
<node concept="37vLTw" id="1XKnVPxmSe" role="3uHU7B">
<ref role="3cqZAo" node="5NUR$OSVr0" resolve="preserved" />
</node>
<node concept="37vLTw" id="1XKnVPxmZB" role="3uHU7w">
<ref role="3cqZAo" node="5NUR$OST_d" resolve="rule" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="5NUR$OST_d" role="1Duv9x">
<property role="TrG5h" value="rule" />
<node concept="3uibUv" id="5NUR$OST_h" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Rule" resolve="Rule" />
</node>
</node>
<node concept="2OqwBi" id="1XKnVPxjMd" role="1DdaDG">
<node concept="37vLTw" id="1XKnVPxjMe" role="2Oq$k0">
<ref role="3cqZAo" node="5NUR$OAZDF" resolve="rulesPlan" />
</node>
<node concept="liA8E" id="1XKnVPxjMf" role="2OqNvi">
<ref role="37wK5l" node="1XKnVPsWOb" resolve="allRules" />
</node>
</node>
</node>
</node>
<node concept="3fqX7Q" id="2jxMt58$iC8" role="3clFbw">
<node concept="2OqwBi" id="2jxMt58$iCa" role="3fr31v">
<node concept="2OqwBi" id="2jxMt58$iCb" role="2Oq$k0">
<node concept="liA8E" id="2jxMt58$iCf" role="2OqNvi">
<ref role="37wK5l" to="zx3l:~RulesDiff.getPreserved()" resolve="getPreserved" />
</node>
<node concept="37vLTw" id="2jxMt58$D5a" role="2Oq$k0">
<ref role="3cqZAo" node="2jxMt58biXX" resolve="rulesDiff" />
</node>
</node>
<node concept="liA8E" id="2jxMt58$iCg" role="2OqNvi">
<ref role="37wK5l" to="33ny:~Set.isEmpty()" resolve="isEmpty" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="2LxIQemNtFg" role="3cqZAp" />
<node concept="3clFbF" id="2jxMt58bleb" role="3cqZAp">
<node concept="Xjq3P" id="2jxMt58ble9" role="3clFbG" />
</node>
</node>
<node concept="2AHcQZ" id="2jxMt58b9WA" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />

View File

@ -1616,6 +1616,9 @@
<node concept="37vLTw" id="5tAk4yVPgxV" role="37wK5m">
<ref role="3cqZAo" node="5tAk4yVPcZJ" resolve="progSpec" />
</node>
<node concept="37vLTw" id="4J__M6Z9RR" role="37wK5m">
<ref role="3cqZAo" node="4J__M6YZRN" resolve="sessionToken" />
</node>
<node concept="37vLTw" id="6fTgyZtNj3o" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3WGRL" resolve="supervisor" />
</node>
@ -1688,6 +1691,40 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="4J__M6YPm$" role="3cqZAp">
<node concept="3cpWsn" id="4J__M6YPm_" role="3cpWs9">
<property role="TrG5h" value="evaluationResult" />
<node concept="3uibUv" id="4J__M6YMD3" role="1tU5fm">
<ref role="3uigEE" to="w7la:~EvaluationResult" resolve="EvaluationResult" />
</node>
<node concept="2OqwBi" id="4J__M6YPmA" role="33vP2m">
<node concept="37vLTw" id="4J__M6YPmB" role="2Oq$k0">
<ref role="3cqZAo" node="tyIfzC1aZ5" resolve="evaluator" />
</node>
<node concept="liA8E" id="4J__M6YPmC" role="2OqNvi">
<ref role="37wK5l" to="hano:4J__M6Meme" resolve="getEvaluationResult" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4J__M6ZkD9" role="3cqZAp">
<node concept="37vLTI" id="4J__M6ZlCl" role="3clFbG">
<node concept="2OqwBi" id="4J__M6ZmNC" role="37vLTx">
<node concept="37vLTw" id="4J__M6ZmND" role="2Oq$k0">
<ref role="3cqZAo" node="4J__M6YPm_" resolve="evaluationResult" />
</node>
<node concept="liA8E" id="4J__M6ZmNE" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationResult.token()" resolve="token" />
</node>
</node>
<node concept="2OqwBi" id="4J__M6Zlay" role="37vLTJ">
<node concept="Xjq3P" id="4J__M6ZkD7" role="2Oq$k0" />
<node concept="2OwXpG" id="4J__M6ZlqJ" role="2OqNvi">
<ref role="2Oxat5" node="4J__M6YZRN" resolve="sessionToken" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="WJTIIoKGbH" role="3cqZAp">
<node concept="1rXfSq" id="WJTIIoKGbF" role="3clFbG">
<ref role="37wK5l" node="WJTIIoKBdD" resolve="update" />
@ -1701,11 +1738,11 @@
<ref role="3cqZAo" node="WJTIIoYvBn" resolve="invalidNodes" />
</node>
<node concept="2OqwBi" id="WJTIIoYxSj" role="37wK5m">
<node concept="37vLTw" id="WJTIIoYxtN" role="2Oq$k0">
<ref role="3cqZAo" node="tyIfzC1aZ5" resolve="evaluator" />
<node concept="37vLTw" id="4J__M6YPmD" role="2Oq$k0">
<ref role="3cqZAo" node="4J__M6YPm_" resolve="evaluationResult" />
</node>
<node concept="liA8E" id="WJTIIoYyhH" role="2OqNvi">
<ref role="37wK5l" to="hano:2yEnwsh70Nl" resolve="invalidFeedbackKeys" />
<ref role="37wK5l" to="w7la:~EvaluationResult.invalidFeedbackKeys()" resolve="invalidFeedbackKeys" />
</node>
</node>
</node>
@ -2379,27 +2416,6 @@
<ref role="3uigEE" to="av0y:~IncrementalSpec" resolve="IncrementalSpec" />
</node>
</node>
<node concept="2tJIrI" id="4VntlICngCT" role="jymVt" />
<node concept="3clFb_" id="4VntlICr0sg" role="jymVt">
<property role="TrG5h" value="getRulesDiff" />
<node concept="3clFbS" id="4VntlICr0sj" role="3clF47">
<node concept="3clFbF" id="6uUkLpHjNgU" role="3cqZAp">
<node concept="2OqwBi" id="6uUkLpHjNpv" role="3clFbG">
<node concept="37vLTw" id="6uUkLpHjNgT" role="2Oq$k0">
<ref role="3cqZAo" node="tyIfzC1aZ5" resolve="evaluator" />
</node>
<node concept="liA8E" id="6uUkLpHjNxA" role="2OqNvi">
<ref role="37wK5l" to="hano:6uUkLpHjDqO" resolve="rulesDiff" />
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="4VntlICqtwl" role="1B3o_S" />
<node concept="3uibUv" id="4VntlICqvw9" role="3clF45">
<ref role="3uigEE" to="zx3l:~RulesDiff" resolve="RulesDiff" />
</node>
</node>
<node concept="2tJIrI" id="4VntlICnd7I" role="jymVt" />
<node concept="2tJIrI" id="WJTIIoPfRU" role="jymVt" />
<node concept="312cEg" id="5fMWD6Iop7s" role="jymVt">
<property role="TrG5h" value="typeCollector" />
@ -2462,6 +2478,14 @@
<ref role="1PxDUh" to="av0y:~IncrementalSpec" resolve="IncrementalSpec" />
</node>
</node>
<node concept="312cEg" id="4J__M6YZRN" role="jymVt">
<property role="TrG5h" value="sessionToken" />
<node concept="3Tm6S6" id="4J__M6YZRO" role="1B3o_S" />
<node concept="3uibUv" id="4J__M6Z4pW" role="1tU5fm">
<ref role="3uigEE" to="w7la:~SessionToken" resolve="SessionToken" />
</node>
<node concept="10Nm6u" id="4J__M6Z8uO" role="33vP2m" />
</node>
<node concept="312cEg" id="tyIfzC1aUL" role="jymVt">
<property role="TrG5h" value="tplApp" />
<node concept="3Tm6S6" id="tyIfzC1aT5" role="1B3o_S" />
@ -3275,10 +3299,10 @@
<ref role="37wK5l" node="3evPR3EemvM" resolve="printRules" />
<node concept="2OqwBi" id="3evPR3Eel9L" role="37wK5m">
<node concept="37vLTw" id="3evPR3Eel4m" role="2Oq$k0">
<ref role="3cqZAo" node="3evPR3Eeirh" resolve="rdiff" />
<ref role="3cqZAo" node="3evPR3Eeirh" resolve="prg" />
</node>
<node concept="liA8E" id="65y6zSCCY33" role="2OqNvi">
<ref role="37wK5l" to="zx3l:~RulesDiff.getAdded()" resolve="getAdded" />
<node concept="liA8E" id="4J__M6Ncd7" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Program.newRules()" resolve="newRules" />
</node>
</node>
</node>
@ -3297,10 +3321,10 @@
<node concept="2OqwBi" id="WJTIIoJhMX" role="37wK5m">
<node concept="2OqwBi" id="3evPR3EeirA" role="2Oq$k0">
<node concept="37vLTw" id="3evPR3EeirB" role="2Oq$k0">
<ref role="3cqZAo" node="3evPR3Eeirh" resolve="rdiff" />
<ref role="3cqZAo" node="3evPR3Eeirh" resolve="prg" />
</node>
<node concept="liA8E" id="3evPR3EeirC" role="2OqNvi">
<ref role="37wK5l" to="zx3l:~RulesDiff.getRemoved()" resolve="getRemoved" />
<node concept="liA8E" id="4J__M6Ncfj" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Program.droppedRules()" resolve="droppedRules" />
</node>
</node>
<node concept="liA8E" id="WJTIIoJixu" role="2OqNvi">
@ -3312,9 +3336,9 @@
</node>
<node concept="3cqZAl" id="3evPR3Eeirj" role="3clF45" />
<node concept="37vLTG" id="3evPR3Eeirh" role="3clF46">
<property role="TrG5h" value="rdiff" />
<node concept="3uibUv" id="3evPR3Eeiri" role="1tU5fm">
<ref role="3uigEE" to="zx3l:~RulesDiff" resolve="RulesDiff" />
<property role="TrG5h" value="prg" />
<node concept="3uibUv" id="4J__M6Nb3E" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
</node>
</node>
<node concept="3Tm1VV" id="3evPR3EejFj" role="1B3o_S" />
@ -6106,8 +6130,8 @@
<node concept="37vLTw" id="WJTIIonGda" role="2Oq$k0">
<ref role="3cqZAo" node="WJTIIokuum" resolve="launcher" />
</node>
<node concept="liA8E" id="WJTIIonGZt" role="2OqNvi">
<ref role="37wK5l" node="4VntlICr0sg" resolve="getRulesDiff" />
<node concept="liA8E" id="4J__M6Nf0s" role="2OqNvi">
<ref role="37wK5l" node="55idZnEz6lV" resolve="getProgram" />
</node>
</node>
</node>
@ -8463,16 +8487,16 @@
</node>
<node concept="3cpWs8" id="6jc_YgcOWox" role="3cqZAp">
<node concept="3cpWsn" id="6jc_YgcOWoy" role="3cpWs9">
<property role="TrG5h" value="rdiff" />
<node concept="3uibUv" id="6jc_YgcOWoz" role="1tU5fm">
<ref role="3uigEE" to="zx3l:~RulesDiff" resolve="RulesDiff" />
<property role="TrG5h" value="prog" />
<node concept="3uibUv" id="4J__M6NhC7" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
</node>
<node concept="2OqwBi" id="6jc_YgcOX11" role="33vP2m">
<node concept="37vLTw" id="6jc_YgcOZO3" role="2Oq$k0">
<ref role="3cqZAo" node="6jc_YgcOZ2n" resolve="launcher" />
</node>
<node concept="liA8E" id="6jc_YgcOXBf" role="2OqNvi">
<ref role="37wK5l" node="4VntlICr0sg" resolve="getRulesDiff" />
<node concept="liA8E" id="4J__M6NgXv" role="2OqNvi">
<ref role="37wK5l" node="55idZnEz6lV" resolve="getProgram" />
</node>
</node>
</node>
@ -8561,10 +8585,10 @@
</node>
<node concept="2OqwBi" id="6jc_YgcQA5e" role="2GsD0m">
<node concept="37vLTw" id="6jc_YgcQ_WQ" role="2Oq$k0">
<ref role="3cqZAo" node="6jc_YgcOWoy" resolve="rdiff" />
<ref role="3cqZAo" node="6jc_YgcOWoy" resolve="prog" />
</node>
<node concept="liA8E" id="6jc_YgcQAfz" role="2OqNvi">
<ref role="37wK5l" to="zx3l:~RulesDiff.getAdded()" resolve="getAdded" />
<node concept="liA8E" id="4J__M6Nie1" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Program.newRules()" resolve="newRules" />
</node>
</node>
<node concept="3clFbS" id="6jc_YgcQ__G" role="2LFqv$">
@ -8719,10 +8743,10 @@
</node>
<node concept="2OqwBi" id="6jc_YgcPizQ" role="2GsD0m">
<node concept="37vLTw" id="6jc_YgcPinT" role="2Oq$k0">
<ref role="3cqZAo" node="6jc_YgcOWoy" resolve="rdiff" />
<ref role="3cqZAo" node="6jc_YgcOWoy" resolve="prog" />
</node>
<node concept="liA8E" id="6jc_YgcPiMV" role="2OqNvi">
<ref role="37wK5l" to="zx3l:~RulesDiff.getRemoved()" resolve="getRemoved" />
<node concept="liA8E" id="4J__M6NigJ" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Program.droppedRules()" resolve="droppedRules" />
</node>
</node>
<node concept="3clFbS" id="6jc_YgcPi3d" role="2LFqv$">
@ -8854,7 +8878,7 @@
<node concept="3y3z36" id="6jc_YgcPpio" role="3clFbw">
<node concept="10Nm6u" id="6jc_YgcPpx$" role="3uHU7w" />
<node concept="37vLTw" id="6jc_YgcPp0G" role="3uHU7B">
<ref role="3cqZAo" node="6jc_YgcOWoy" resolve="rdiff" />
<ref role="3cqZAo" node="6jc_YgcOWoy" resolve="prog" />
</node>
</node>
</node>

View File

@ -3694,6 +3694,7 @@
<ref role="37wK5l" to="hano:2WtKs4tZfgb" resolve="programSpec" />
</node>
</node>
<node concept="10Nm6u" id="4J__M6YF6f" role="37wK5m" />
<node concept="37vLTw" id="3o9wrC3u6jn" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3tYXa" resolve="supervisor" />
</node>

View File

@ -2161,30 +2161,6 @@
</node>
</node>
<node concept="3clFbH" id="2j1FRbx0w98" role="3cqZAp" />
<node concept="3clFbJ" id="2j1FRbx0Gfs" role="3cqZAp">
<node concept="3clFbS" id="2j1FRbx0Gfu" role="3clFbx">
<node concept="3clFbF" id="51a$_pPMd8N" role="3cqZAp">
<node concept="2OqwBi" id="51a$_pPMeET" role="3clFbG">
<node concept="37vLTw" id="51a$_pPMd8L" role="2Oq$k0">
<ref role="3cqZAo" node="Hg6Enc7CPL" resolve="progEval" />
</node>
<node concept="liA8E" id="51a$_pPMfN9" role="2OqNvi">
<ref role="37wK5l" to="hano:51a$_pPLZra" resolve="setSessionToken" />
<node concept="37vLTw" id="5gVsyvEP4Fc" role="37wK5m">
<ref role="3cqZAo" node="5gVsyvEOU28" resolve="sessionToken" />
</node>
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="5gVsyvEP1hl" role="3clFbw">
<node concept="10Nm6u" id="5gVsyvEP27U" role="3uHU7w" />
<node concept="37vLTw" id="5gVsyvEOZE8" role="3uHU7B">
<ref role="3cqZAo" node="5gVsyvEOU28" resolve="sessionToken" />
</node>
</node>
</node>
<node concept="3clFbH" id="7WKNeR9GfTo" role="3cqZAp" />
<node concept="3cpWs8" id="7WKNeR9AkUc" role="3cqZAp">
<node concept="3cpWsn" id="7WKNeR9AkUd" role="3cpWs9">
<property role="TrG5h" value="stage" />
@ -2378,6 +2354,9 @@
<node concept="37vLTw" id="5tAk4yVP86g" role="37wK5m">
<ref role="3cqZAo" node="5tAk4yVP0GH" resolve="programSpec" />
</node>
<node concept="37vLTw" id="4J__M6MUpd" role="37wK5m">
<ref role="3cqZAo" node="5gVsyvEOU28" resolve="sessionToken" />
</node>
<node concept="37vLTw" id="5DfcI9UuzgE" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3tl4w" resolve="supervisor" />
</node>
@ -2464,14 +2443,30 @@
</node>
</node>
</node>
<node concept="3clFbF" id="2j1FRbx0VVD" role="3cqZAp">
<node concept="37vLTI" id="2j1FRbx0VVF" role="3clFbG">
<node concept="2OqwBi" id="2j1FRbx0U6a" role="37vLTx">
<node concept="37vLTw" id="2j1FRbx0U6b" role="2Oq$k0">
<node concept="3cpWs8" id="4J__M6Mw23" role="3cqZAp">
<node concept="3cpWsn" id="4J__M6Mw24" role="3cpWs9">
<property role="TrG5h" value="evaluationResult" />
<node concept="3uibUv" id="4J__M6Mv$k" role="1tU5fm">
<ref role="3uigEE" to="w7la:~EvaluationResult" resolve="EvaluationResult" />
</node>
<node concept="2OqwBi" id="4J__M6Mw25" role="33vP2m">
<node concept="37vLTw" id="4J__M6Mw26" role="2Oq$k0">
<ref role="3cqZAo" node="Hg6Enc7CPL" resolve="progEval" />
</node>
<node concept="liA8E" id="2j1FRbx0U6c" role="2OqNvi">
<ref role="37wK5l" to="hano:4VntlICqLLf" resolve="sessionToken" />
<node concept="liA8E" id="4J__M6Mw27" role="2OqNvi">
<ref role="37wK5l" to="hano:4J__M6Meme" resolve="getEvaluationResult" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="2j1FRbx0VVD" role="3cqZAp">
<node concept="37vLTI" id="2j1FRbx0VVF" role="3clFbG">
<node concept="2OqwBi" id="4J__M6MwKx" role="37vLTx">
<node concept="37vLTw" id="4J__M6Mw28" role="2Oq$k0">
<ref role="3cqZAo" node="4J__M6Mw24" resolve="evaluationResult" />
</node>
<node concept="liA8E" id="4J__M6Myq5" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationResult.token()" resolve="token" />
</node>
</node>
<node concept="37vLTw" id="2j1FRbx0VVJ" role="37vLTJ">
@ -2481,12 +2476,12 @@
</node>
<node concept="3clFbF" id="2yEnwsh94na" role="3cqZAp">
<node concept="37vLTI" id="2yEnwsh96re" role="3clFbG">
<node concept="2OqwBi" id="2yEnwsh994o" role="37vLTx">
<node concept="37vLTw" id="2yEnwsh988V" role="2Oq$k0">
<ref role="3cqZAo" node="Hg6Enc7CPL" resolve="progEval" />
<node concept="2OqwBi" id="4J__M6Mcy_" role="37vLTx">
<node concept="37vLTw" id="4J__M6MzqR" role="2Oq$k0">
<ref role="3cqZAo" node="4J__M6Mw24" resolve="evaluationResult" />
</node>
<node concept="liA8E" id="2yEnwsh9bcj" role="2OqNvi">
<ref role="37wK5l" to="hano:2yEnwsh70Nl" resolve="invalidFeedbackKeys" />
<node concept="liA8E" id="4J__M6M$U3" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationResult.invalidFeedbackKeys()" resolve="invalidFeedbackKeys" />
</node>
</node>
<node concept="37vLTw" id="2yEnwsh94n8" role="37vLTJ">

View File

@ -945,16 +945,16 @@
<node concept="3clFbH" id="3FGJ5nvmXbU" role="3cqZAp" />
<node concept="3cpWs8" id="3FGJ5nvmNZr" role="3cqZAp">
<node concept="3cpWsn" id="3FGJ5nvmNZs" role="3cpWs9">
<property role="TrG5h" value="rdiff" />
<node concept="3uibUv" id="3FGJ5nvmNZt" role="1tU5fm">
<ref role="3uigEE" to="zx3l:~RulesDiff" resolve="RulesDiff" />
<property role="TrG5h" value="program" />
<node concept="3uibUv" id="4J__M6NkyJ" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
</node>
<node concept="2OqwBi" id="3FGJ5nvmOk8" role="33vP2m">
<node concept="37vLTw" id="3FGJ5nvmOfE" role="2Oq$k0">
<ref role="3cqZAo" node="3FGJ5nvmG16" resolve="launcher" />
</node>
<node concept="liA8E" id="3FGJ5nvmOs6" role="2OqNvi">
<ref role="37wK5l" to="hfva:4VntlICr0sg" resolve="getRulesDiff" />
<node concept="liA8E" id="4J__M6NksE" role="2OqNvi">
<ref role="37wK5l" to="hfva:55idZnEz6lV" resolve="getProgram" />
</node>
</node>
</node>
@ -1011,10 +1011,10 @@
</node>
<node concept="2OqwBi" id="3FGJ5nvmUbs" role="1DdaDG">
<node concept="37vLTw" id="3FGJ5nvmU0o" role="2Oq$k0">
<ref role="3cqZAo" node="3FGJ5nvmNZs" resolve="rdiff" />
<ref role="3cqZAo" node="3FGJ5nvmNZs" resolve="program" />
</node>
<node concept="liA8E" id="3FGJ5nvmUpH" role="2OqNvi">
<ref role="37wK5l" to="zx3l:~RulesDiff.getAdded()" resolve="getAdded" />
<node concept="liA8E" id="4J__M6NkCU" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Program.newRules()" resolve="newRules" />
</node>
</node>
</node>