About the Execution of LTSMin+red for DoubleExponent-PT-002
Execution Summary | |||||
Max Memory Used (MB) |
Time wait (ms) | CPU Usage (ms) | I/O Wait (ms) | Computed Result | Execution Status |
228.176 | 103026.00 | 225065.00 | 470.00 | T | normal |
Execution Chart
We display below the execution chart for this examination (boot time has been removed).
Trace from the execution
Formatting '/data/fkordon/mcc2023-input.r151-smll-167819438000282.qcow2', fmt=qcow2 size=4294967296 backing_file=/data/fkordon/mcc2023-input.qcow2 cluster_size=65536 lazy_refcounts=off refcount_bits=16
Waiting for the VM to be ready (probing ssh)
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
=====================================================================
Generated by BenchKit 2-5348
Executing tool ltsminxred
Input is DoubleExponent-PT-002, examination is QuasiLiveness
Time confinement is 1800 seconds
Memory confinement is 16384 MBytes
Number of cores is 4
Run identifier is r151-smll-167819438000282
=====================================================================
--------------------
preparation of the directory to be used:
/home/mcc/execution
total 548K
-rw-r--r-- 1 mcc users 6.7K Feb 26 13:31 CTLCardinality.txt
-rw-r--r-- 1 mcc users 73K Feb 26 13:31 CTLCardinality.xml
-rw-r--r-- 1 mcc users 5.5K Feb 26 13:30 CTLFireability.txt
-rw-r--r-- 1 mcc users 51K Feb 26 13:30 CTLFireability.xml
-rw-r--r-- 1 mcc users 4.2K Jan 29 11:40 GenericPropertiesDefinition.xml
-rw-r--r-- 1 mcc users 3.4K Feb 25 16:00 LTLCardinality.txt
-rw-r--r-- 1 mcc users 24K Feb 25 16:00 LTLCardinality.xml
-rw-r--r-- 1 mcc users 2.2K Feb 25 16:01 LTLFireability.txt
-rw-r--r-- 1 mcc users 17K Feb 25 16:01 LTLFireability.xml
-rw-r--r-- 1 mcc users 13K Feb 26 13:32 ReachabilityCardinality.txt
-rw-r--r-- 1 mcc users 136K Feb 26 13:32 ReachabilityCardinality.xml
-rw-r--r-- 1 mcc users 13K Feb 26 13:32 ReachabilityFireability.txt
-rw-r--r-- 1 mcc users 117K Feb 26 13:32 ReachabilityFireability.xml
-rw-r--r-- 1 mcc users 1.7K Feb 25 16:01 UpperBounds.txt
-rw-r--r-- 1 mcc users 3.7K Feb 25 16:01 UpperBounds.xml
-rw-r--r-- 1 mcc users 6 Mar 5 18:22 equiv_col
-rw-r--r-- 1 mcc users 4 Mar 5 18:22 instance
-rw-r--r-- 1 mcc users 6 Mar 5 18:22 iscolored
-rw-r--r-- 1 mcc users 33K Mar 5 18:22 model.pnml
--------------------
content from stdout:
=== Data for post analysis generated by BenchKit (invocation template)
The expected result is a vector of booleans
BOOL_VECTOR
FORMULA_NAME QuasiLiveness
=== Now, execution of the tool begins
BK_START 1678390065102
bash -c /home/mcc/BenchKit/BenchKit_head.sh 2> STDERR ; echo ; echo -n "BK_STOP " ; date -u +%s%3N
Invoking MCC driver with
BK_TOOL=ltsminxred
BK_EXAMINATION=QuasiLiveness
BK_BIN_PATH=/home/mcc/BenchKit/bin/
BK_TIME_CONFINEMENT=1800
BK_INPUT=DoubleExponent-PT-002
Applying reductions before tool ltsmin
Invoking reducer
Running Version 202303021504
[2023-03-09 19:27:47] [INFO ] Running its-tools with arguments : [-pnfolder, /home/mcc/execution, -examination, QuasiLiveness, -timeout, 180, -rebuildPNML]
[2023-03-09 19:27:47] [INFO ] Parsing pnml file : /home/mcc/execution/model.pnml
[2023-03-09 19:27:47] [INFO ] Load time of PNML (sax parser for PT used): 48 ms
[2023-03-09 19:27:47] [INFO ] Transformed 110 places.
[2023-03-09 19:27:47] [INFO ] Transformed 98 transitions.
[2023-03-09 19:27:47] [INFO ] Parsed PT model containing 110 places and 98 transitions and 276 arcs in 137 ms.
Starting structural reductions in LIVENESS mode, iteration 0 : 110/110 places, 98/98 transitions.
Reduce places removed 4 places and 0 transitions.
Drop transitions removed 24 transitions
Trivial Post-agglo rules discarded 24 transitions
Performed 24 trivial Post agglomeration. Transition count delta: 24
Iterating post reduction 0 with 28 rules applied. Total rules applied 28 place count 106 transition count 74
Reduce places removed 24 places and 0 transitions.
Iterating post reduction 1 with 24 rules applied. Total rules applied 52 place count 82 transition count 74
Performed 4 Pre agglomeration using Quasi-Persistent + Divergent Free condition..
Pre-agglomeration after 2 with 4 Pre rules applied. Total rules applied 52 place count 82 transition count 70
Deduced a syphon composed of 4 places in 1 ms
Reduce places removed 4 places and 0 transitions.
Iterating global reduction 2 with 8 rules applied. Total rules applied 60 place count 78 transition count 70
Performed 22 Post agglomeration using F-continuation condition.Transition count delta: 22
Deduced a syphon composed of 22 places in 1 ms
Reduce places removed 22 places and 0 transitions.
Iterating global reduction 2 with 44 rules applied. Total rules applied 104 place count 56 transition count 48
Performed 2 Post agglomeration using F-continuation condition.Transition count delta: 0
Deduced a syphon composed of 2 places in 1 ms
Reduce places removed 2 places and 0 transitions.
Iterating global reduction 2 with 4 rules applied. Total rules applied 108 place count 54 transition count 48
Applied a total of 108 rules in 28 ms. Remains 54 /110 variables (removed 56) and now considering 48/98 (removed 50) transitions.
// Phase 1: matrix 48 rows 54 cols
[2023-03-09 19:27:47] [INFO ] Computed 11 place invariants in 13 ms
[2023-03-09 19:27:48] [INFO ] Implicit Places using invariants in 292 ms returned [36, 37]
Discarding 2 places :
Implicit Place search using SMT only with invariants took 336 ms to find 2 implicit places.
Starting structural reductions in LIVENESS mode, iteration 1 : 52/110 places, 48/98 transitions.
Drop transitions removed 1 transitions
Trivial Post-agglo rules discarded 1 transitions
Performed 1 trivial Post agglomeration. Transition count delta: 1
Iterating post reduction 0 with 1 rules applied. Total rules applied 1 place count 52 transition count 47
Reduce places removed 1 places and 0 transitions.
Iterating post reduction 1 with 1 rules applied. Total rules applied 2 place count 51 transition count 47
Performed 3 Post agglomeration using F-continuation condition.Transition count delta: 3
Deduced a syphon composed of 3 places in 1 ms
Reduce places removed 3 places and 0 transitions.
Iterating global reduction 2 with 6 rules applied. Total rules applied 8 place count 48 transition count 44
Applied a total of 8 rules in 4 ms. Remains 48 /52 variables (removed 4) and now considering 44/48 (removed 4) transitions.
// Phase 1: matrix 44 rows 48 cols
[2023-03-09 19:27:48] [INFO ] Computed 9 place invariants in 4 ms
[2023-03-09 19:27:48] [INFO ] Implicit Places using invariants in 100 ms returned []
[2023-03-09 19:27:48] [INFO ] Invariant cache hit.
[2023-03-09 19:27:48] [INFO ] State equation strengthened by 4 read => feed constraints.
[2023-03-09 19:27:48] [INFO ] Implicit Places using invariants and state equation in 136 ms returned []
Implicit Place search using SMT with State Equation took 237 ms to find 0 implicit places.
Starting structural reductions in LIVENESS mode, iteration 2 : 48/110 places, 44/98 transitions.
Finished structural reductions in LIVENESS mode , in 2 iterations and 605 ms. Remains : 48/110 places, 44/98 transitions.
Discarding 10 transitions out of 44. Remains 34
Initial state reduction rules removed 1 formulas.
Incomplete random walk after 10000 steps, including 1217 resets, run finished after 715 ms. (steps per millisecond=13 ) properties (out of 33) seen :14
Incomplete Best-First random walk after 1000 steps, including 69 resets, run finished after 24 ms. (steps per millisecond=41 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 72 resets, run finished after 23 ms. (steps per millisecond=43 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 72 resets, run finished after 21 ms. (steps per millisecond=47 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 72 resets, run finished after 35 ms. (steps per millisecond=28 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 73 resets, run finished after 23 ms. (steps per millisecond=43 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 78 resets, run finished after 23 ms. (steps per millisecond=43 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1001 steps, including 73 resets, run finished after 25 ms. (steps per millisecond=40 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 72 resets, run finished after 22 ms. (steps per millisecond=45 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 76 resets, run finished after 28 ms. (steps per millisecond=35 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 82 resets, run finished after 28 ms. (steps per millisecond=35 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 77 resets, run finished after 25 ms. (steps per millisecond=40 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 76 resets, run finished after 30 ms. (steps per millisecond=33 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 76 resets, run finished after 29 ms. (steps per millisecond=34 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 72 resets, run finished after 30 ms. (steps per millisecond=33 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1001 steps, including 71 resets, run finished after 28 ms. (steps per millisecond=35 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 64 resets, run finished after 32 ms. (steps per millisecond=31 ) properties (out of 19) seen :9
Running SMT prover for 10 properties.
[2023-03-09 19:27:49] [INFO ] Invariant cache hit.
[2023-03-09 19:27:49] [INFO ] [Real]Absence check using 2 positive place invariants in 1 ms returned sat
[2023-03-09 19:27:49] [INFO ] [Real]Absence check using 2 positive and 7 generalized place invariants in 3 ms returned sat
[2023-03-09 19:27:49] [INFO ] After 76ms SMT Verify possible using state equation in real domain returned unsat :0 sat :1 real:9
[2023-03-09 19:27:49] [INFO ] State equation strengthened by 4 read => feed constraints.
[2023-03-09 19:27:49] [INFO ] After 19ms SMT Verify possible using 4 Read/Feed constraints in real domain returned unsat :0 sat :0 real:10
[2023-03-09 19:27:49] [INFO ] After 219ms SMT Verify possible using all constraints in real domain returned unsat :0 sat :0 real:10
[2023-03-09 19:27:49] [INFO ] [Nat]Absence check using 2 positive place invariants in 1 ms returned sat
[2023-03-09 19:27:49] [INFO ] [Nat]Absence check using 2 positive and 7 generalized place invariants in 2 ms returned sat
[2023-03-09 19:27:50] [INFO ] After 85ms SMT Verify possible using state equation in natural domain returned unsat :0 sat :10
[2023-03-09 19:27:50] [INFO ] After 71ms SMT Verify possible using 4 Read/Feed constraints in natural domain returned unsat :0 sat :10
[2023-03-09 19:27:50] [INFO ] Deduced a trap composed of 16 places in 48 ms of which 6 ms to minimize.
[2023-03-09 19:27:50] [INFO ] Trap strengthening (SAT) tested/added 2/1 trap constraints in 65 ms
[2023-03-09 19:27:50] [INFO ] After 258ms SMT Verify possible using trap constraints in natural domain returned unsat :0 sat :10
Attempting to minimize the solution found.
Minimization took 101 ms.
[2023-03-09 19:27:50] [INFO ] After 529ms SMT Verify possible using all constraints in natural domain returned unsat :0 sat :10
Parikh walk visited 0 properties in 3193 ms.
Support contains 17 out of 48 places. Attempting structural reductions.
Starting structural reductions in REACHABILITY mode, iteration 0 : 48/48 places, 44/44 transitions.
Partial Free-agglomeration rule applied 2 times.
Drop transitions removed 2 transitions
Iterating global reduction 0 with 2 rules applied. Total rules applied 2 place count 48 transition count 44
Reduce places removed 1 places and 1 transitions.
Iterating global reduction 0 with 1 rules applied. Total rules applied 3 place count 47 transition count 43
Applied a total of 3 rules in 41 ms. Remains 47 /48 variables (removed 1) and now considering 43/44 (removed 1) transitions.
Finished structural reductions in REACHABILITY mode , in 1 iterations and 41 ms. Remains : 47/48 places, 43/44 transitions.
Incomplete random walk after 1000000 steps, including 125438 resets, run finished after 17103 ms. (steps per millisecond=58 ) properties (out of 10) seen :4
Interrupted Best-First random walk after 597475 steps, including 49753 resets, run timeout after 5001 ms. (steps per millisecond=119 ) properties seen 0
Interrupted Best-First random walk after 764691 steps, including 63839 resets, run timeout after 5001 ms. (steps per millisecond=152 ) properties seen 0
Interrupted Best-First random walk after 527103 steps, including 44173 resets, run timeout after 5001 ms. (steps per millisecond=105 ) properties seen 0
Interrupted Best-First random walk after 537784 steps, including 44818 resets, run timeout after 5001 ms. (steps per millisecond=107 ) properties seen 0
Interrupted Best-First random walk after 450754 steps, including 37637 resets, run timeout after 5001 ms. (steps per millisecond=90 ) properties seen 0
Interrupted Best-First random walk after 454111 steps, including 37847 resets, run timeout after 5001 ms. (steps per millisecond=90 ) properties seen 0
Running SMT prover for 6 properties.
// Phase 1: matrix 43 rows 47 cols
[2023-03-09 19:28:40] [INFO ] Computed 9 place invariants in 3 ms
[2023-03-09 19:28:40] [INFO ] [Real]Absence check using 2 positive place invariants in 2 ms returned sat
[2023-03-09 19:28:40] [INFO ] [Real]Absence check using 2 positive and 7 generalized place invariants in 3 ms returned sat
[2023-03-09 19:28:40] [INFO ] After 75ms SMT Verify possible using state equation in real domain returned unsat :0 sat :1 real:5
[2023-03-09 19:28:40] [INFO ] State equation strengthened by 4 read => feed constraints.
[2023-03-09 19:28:40] [INFO ] After 7ms SMT Verify possible using 4 Read/Feed constraints in real domain returned unsat :0 sat :0 real:6
[2023-03-09 19:28:40] [INFO ] After 154ms SMT Verify possible using all constraints in real domain returned unsat :0 sat :0 real:6
[2023-03-09 19:28:40] [INFO ] [Nat]Absence check using 2 positive place invariants in 2 ms returned sat
[2023-03-09 19:28:40] [INFO ] [Nat]Absence check using 2 positive and 7 generalized place invariants in 3 ms returned sat
[2023-03-09 19:28:41] [INFO ] After 55ms SMT Verify possible using state equation in natural domain returned unsat :0 sat :6
[2023-03-09 19:28:41] [INFO ] After 32ms SMT Verify possible using 4 Read/Feed constraints in natural domain returned unsat :0 sat :6
[2023-03-09 19:28:41] [INFO ] Deduced a trap composed of 10 places in 38 ms of which 2 ms to minimize.
[2023-03-09 19:28:41] [INFO ] Trap strengthening (SAT) tested/added 2/1 trap constraints in 49 ms
[2023-03-09 19:28:41] [INFO ] Deduced a trap composed of 9 places in 31 ms of which 2 ms to minimize.
[2023-03-09 19:28:41] [INFO ] Deduced a trap composed of 8 places in 36 ms of which 1 ms to minimize.
[2023-03-09 19:28:41] [INFO ] Trap strengthening (SAT) tested/added 3/2 trap constraints in 82 ms
[2023-03-09 19:28:41] [INFO ] After 205ms SMT Verify possible using trap constraints in natural domain returned unsat :0 sat :6
Attempting to minimize the solution found.
Minimization took 30 ms.
[2023-03-09 19:28:41] [INFO ] After 357ms SMT Verify possible using all constraints in natural domain returned unsat :0 sat :6
Parikh walk visited 0 properties in 1405 ms.
Support contains 11 out of 47 places. Attempting structural reductions.
Starting structural reductions in REACHABILITY mode, iteration 0 : 47/47 places, 43/43 transitions.
Free-agglomeration rule (complex) applied 1 times.
Iterating global reduction 0 with 1 rules applied. Total rules applied 1 place count 47 transition count 42
Reduce places removed 1 places and 0 transitions.
Iterating post reduction 0 with 1 rules applied. Total rules applied 2 place count 46 transition count 42
Partial Free-agglomeration rule applied 1 times.
Drop transitions removed 1 transitions
Iterating global reduction 1 with 1 rules applied. Total rules applied 3 place count 46 transition count 42
Applied a total of 3 rules in 9 ms. Remains 46 /47 variables (removed 1) and now considering 42/43 (removed 1) transitions.
Finished structural reductions in REACHABILITY mode , in 1 iterations and 9 ms. Remains : 46/47 places, 42/43 transitions.
Incomplete random walk after 1000000 steps, including 127371 resets, run finished after 14333 ms. (steps per millisecond=69 ) properties (out of 6) seen :0
Interrupted Best-First random walk after 708481 steps, including 59919 resets, run timeout after 5001 ms. (steps per millisecond=141 ) properties seen 0
Interrupted Best-First random walk after 443056 steps, including 37187 resets, run timeout after 5001 ms. (steps per millisecond=88 ) properties seen 0
Interrupted Best-First random walk after 444961 steps, including 37275 resets, run timeout after 5001 ms. (steps per millisecond=88 ) properties seen 0
Interrupted Best-First random walk after 444857 steps, including 37448 resets, run timeout after 5001 ms. (steps per millisecond=88 ) properties seen 0
Interrupted Best-First random walk after 442631 steps, including 37277 resets, run timeout after 5001 ms. (steps per millisecond=88 ) properties seen 0
Interrupted Best-First random walk after 449211 steps, including 37965 resets, run timeout after 5001 ms. (steps per millisecond=89 ) properties seen 0
Finished probabilistic random walk after 2560 steps, run visited all 6 properties in 30 ms. (steps per millisecond=85 )
Probabilistic random walk after 2560 steps, saw 1306 distinct states, run finished after 30 ms. (steps per millisecond=85 ) properties seen :6
Able to resolve query QuasiLiveness after proving 34 properties.
FORMULA QuasiLiveness TRUE TECHNIQUES RANDOM_WALK PROBABILISTIC_WALK BESTFIRST_WALK TOPOLOGICAL INITIAL_STATE
Total runtime 99386 ms.
ITS solved all properties within timeout
BK_STOP 1678390168128
--------------------
content from stderr:
+ ulimit -s 65536
+ [[ -z '' ]]
+ export LTSMIN_MEM_SIZE=8589934592
+ LTSMIN_MEM_SIZE=8589934592
+ export PYTHONPATH=/home/mcc/BenchKit/itstools/pylibs
+ PYTHONPATH=/home/mcc/BenchKit/itstools/pylibs
+ export LD_LIBRARY_PATH=/home/mcc/BenchKit/itstools/pylibs:
+ LD_LIBRARY_PATH=/home/mcc/BenchKit/itstools/pylibs:
++ sed s/.jar//
++ perl -pe 's/.*\.//g'
++ ls /home/mcc/BenchKit/bin//../reducer/bin//../../itstools//itstools/plugins/fr.lip6.move.gal.application.pnmcc_1.0.0.202303021504.jar
+ VERSION=202303021504
+ echo 'Running Version 202303021504'
+ /home/mcc/BenchKit/bin//../reducer/bin//../../itstools//itstools/its-tools -pnfolder /home/mcc/execution -examination QuasiLiveness -timeout 180 -rebuildPNML
Sequence of Actions to be Executed by the VM
This is useful if one wants to reexecute the tool in the VM from the submitted image disk.
set -x
# this is for BenchKit: configuration of major elements for the test
export BK_INPUT="DoubleExponent-PT-002"
export BK_EXAMINATION="QuasiLiveness"
export BK_TOOL="ltsminxred"
export BK_RESULT_DIR="/tmp/BK_RESULTS/OUTPUTS"
export BK_TIME_CONFINEMENT="1800"
export BK_MEMORY_CONFINEMENT="16384"
export BK_BIN_PATH="/home/mcc/BenchKit/bin/"
# this is specific to your benchmark or test
export BIN_DIR="$HOME/BenchKit/bin"
# remove the execution directoty if it exists (to avoid increse of .vmdk images)
if [ -d execution ] ; then
rm -rf execution
fi
# this is for BenchKit: explicit launching of the test
echo "====================================================================="
echo " Generated by BenchKit 2-5348"
echo " Executing tool ltsminxred"
echo " Input is DoubleExponent-PT-002, examination is QuasiLiveness"
echo " Time confinement is $BK_TIME_CONFINEMENT seconds"
echo " Memory confinement is 16384 MBytes"
echo " Number of cores is 4"
echo " Run identifier is r151-smll-167819438000282"
echo "====================================================================="
echo
echo "--------------------"
echo "preparation of the directory to be used:"
tar xzf /home/mcc/BenchKit/INPUTS/DoubleExponent-PT-002.tgz
mv DoubleExponent-PT-002 execution
cd execution
if [ "QuasiLiveness" = "ReachabilityDeadlock" ] || [ "QuasiLiveness" = "UpperBounds" ] || [ "QuasiLiveness" = "QuasiLiveness" ] || [ "QuasiLiveness" = "StableMarking" ] || [ "QuasiLiveness" = "Liveness" ] || [ "QuasiLiveness" = "OneSafe" ] || [ "QuasiLiveness" = "StateSpace" ]; then
rm -f GenericPropertiesVerdict.xml
fi
pwd
ls -lh
echo
echo "--------------------"
echo "content from stdout:"
echo
echo "=== Data for post analysis generated by BenchKit (invocation template)"
echo
if [ "QuasiLiveness" = "UpperBounds" ] ; then
echo "The expected result is a vector of positive values"
echo NUM_VECTOR
elif [ "QuasiLiveness" != "StateSpace" ] ; then
echo "The expected result is a vector of booleans"
echo BOOL_VECTOR
else
echo "no data necessary for post analysis"
fi
echo
if [ -f "QuasiLiveness.txt" ] ; then
echo "here is the order used to build the result vector(from text file)"
for x in $(grep Property QuasiLiveness.txt | cut -d ' ' -f 2 | sort -u) ; do
echo "FORMULA_NAME $x"
done
elif [ -f "QuasiLiveness.xml" ] ; then # for cunf (txt files deleted;-)
echo echo "here is the order used to build the result vector(from xml file)"
for x in $(grep '
echo "FORMULA_NAME $x"
done
elif [ "QuasiLiveness" = "ReachabilityDeadlock" ] || [ "QuasiLiveness" = "QuasiLiveness" ] || [ "QuasiLiveness" = "StableMarking" ] || [ "QuasiLiveness" = "Liveness" ] || [ "QuasiLiveness" = "OneSafe" ] ; then
echo "FORMULA_NAME QuasiLiveness"
fi
echo
echo "=== Now, execution of the tool begins"
echo
echo -n "BK_START "
date -u +%s%3N
echo
timeout -s 9 $BK_TIME_CONFINEMENT bash -c "/home/mcc/BenchKit/BenchKit_head.sh 2> STDERR ; echo ; echo -n \"BK_STOP \" ; date -u +%s%3N"
if [ $? -eq 137 ] ; then
echo
echo "BK_TIME_CONFINEMENT_REACHED"
fi
echo
echo "--------------------"
echo "content from stderr:"
echo
cat STDERR ;