<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sokobano.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matthias+Meger</id>
	<title>Sokoban Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://sokobano.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matthias+Meger"/>
	<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Special:Contributions/Matthias_Meger"/>
	<updated>2026-04-17T15:39:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Solver_Statistics&amp;diff=8319</id>
		<title>Solver Statistics</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Solver_Statistics&amp;diff=8319"/>
		<updated>2026-03-11T20:48:12Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* General benchmarking information */ new JSoko version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Sokoban solver program is a program that &amp;lt;u&amp;gt;&#039;&#039;tries to&#039;&#039;&amp;lt;/u&amp;gt; solve Sokoban levels. There are several solver programs available. (See [[Links#Sokoban Solvers |Sokoban solvers]].)&lt;br /&gt;
&lt;br /&gt;
Solver programs may have different objectives:&lt;br /&gt;
# Find any solution&lt;br /&gt;
# Find push optimal solutions&lt;br /&gt;
# Find push optimal solutions with best moves&lt;br /&gt;
# Find move optimal solutions&lt;br /&gt;
# Find move optimal solutions with best pushes&lt;br /&gt;
&lt;br /&gt;
Given the computational complexity of these tasks, a solver program is usually designed for just finding any solution. If a solution is to be optimized, an optimizer program can be used. (See [[Links#Sokoban Solvers |Optimizers]].)&lt;br /&gt;
&lt;br /&gt;
The statistics presented here provide a picture of what the best freely available Sokoban solvers can do.&amp;lt;br /&amp;gt; &lt;br /&gt;
For copyrights, credits and redistribution of these statistics, please read the disclaimer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General benchmarking information ==&lt;br /&gt;
&lt;br /&gt;
For practical reasons, almost all tests have been performed with a 10 minutes time limit. The tests are, however, not a 10 minutes contest but a showcase for what the solvers can do, so other time limits are entirely feasible.&lt;br /&gt;
&lt;br /&gt;
The hardware used for the tests is a standard PC with a modern operating system (64bit).&lt;br /&gt;
&lt;br /&gt;
Tests are performed with default solver settings.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
!Solver                                                                     || Version || Author                         || Architecture || CPU usage || Source code available || More info&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival]&amp;lt;/span&amp;gt;                                   || 3.1     || Yaron Shoham ||  64bit        || 8 threads    || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival 3.1]&amp;lt;/span&amp;gt;                || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Website with papers about the solver]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;                         || 7.32 || Florent Diedler                || 64bit        || all threads || no                   || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[Sokoban solver &amp;quot;scribbles&amp;quot; by Florent Diedler about the Sokolution solver | Sokoban solver &amp;quot;scribbles&amp;quot; by Florent Diedler]]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;     || 7.4     || Ken&#039;ichiro Takahashi (takaken) || 64bit        || 2 threads || no                   || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/puzzle/sokoban/ver731/index.html Description of the used algorithms]&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry]&amp;lt;/span&amp;gt;                                || 0.3     || Yaron Shoham                   || 64bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry 0.3] || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Website with paper about the solver]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;     || 7.0 beta 1 || 葛永 (Ge Yong)      || 64bit         || 1 thread  || no                 || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch Website of BoxSearch]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;     || 2.153   || Brian Damgaard                 || 32bit + 64bit || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS 2.153]&amp;lt;/span&amp;gt;  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard about the YASS solver | Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard]]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://jsokoapplet.sourceforge.io/ JSoko]&amp;lt;/span&amp;gt;                                     || 2.26     || Matthias Meger                || 64bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/jsokoapplet/files/JSoko/Version%202.24/ JSoko 2.26]&amp;lt;/span&amp;gt;  || [[Solver | Solver information]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html Rolling Stone]&amp;lt;/span&amp;gt; || 1.0     || Andreas Junghanns              || 32bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/Src/ RS] || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://scholar.google.com/scholar?hl=de&amp;amp;as_sdt=0%2C5&amp;amp;q=rolling+stone+sokoban&amp;amp;btnG= Rolling Stone papers]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Contact: SokobanoWiki@gmail.com&lt;br /&gt;
&lt;br /&gt;
== XSokoban Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The XSokoban level set is the de facto standard test suite in the academic literature on Sokoban solver programming.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;11&amp;quot; | Sokoban Solver Statistics - XSokoban Test Suite - Solved Levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; |      Collection&lt;br /&gt;
| width=&amp;quot;160&amp;quot;   |                 Author&lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   |                 Levels&lt;br /&gt;
| width= &amp;quot;90&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html                 Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | [[JSoko Solver    | JSoko]]&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- XSokoban. &amp;quot;Collection, author, levels, Rolling Stone, Takaken, YASS, JSoko, Sokolution, Festival&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/ XSokoban]&amp;lt;/span&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot;                                                | Thinking Rabbit, ...&lt;br /&gt;
|                                                                  90&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 59*]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Takaken%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/YASS%20-%20XSokoban.html 89]&amp;lt;/span&amp;gt;&lt;br /&gt;
| [[SolverStatistics-jsoko-ThinkingRabbit-XSokoban            |    67    ]]&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Sokolution%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Curry%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Festival%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/BoxSearch%20-%20XSokoban.html &#039;&#039;&#039;89&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) 59 solved puzzles according to paper [https://sokoban.dk/wp-content/uploads/2016/02/Single-Agent.pdf Sokoban Enhancing general single-agent search methods using domain knowledge]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - XSokoban Test Suite - Push-optimal Solutions&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | Collection&lt;br /&gt;
| width=&amp;quot;160&amp;quot;              | Author&lt;br /&gt;
| width=&amp;quot; 70&amp;quot;              | Levels&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.ijcai.org/Abstract/16/100 Pereira et al.]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sourceforge.net/projects/jsokoapplet/ JSoko]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | XSokoban&lt;br /&gt;
| align=&amp;quot;left&amp;quot;                   | Thinking Rabbit, ...&lt;br /&gt;
|                90&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 6 ]&amp;lt;/span&amp;gt;&lt;br /&gt;
|                [[SolverStatistics-Pereira-ThinkingRabbit-XSokoban-Push-Optimal | 28 ]]&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/JSoko%20-%20XSokoban.html 25]&amp;lt;/span&amp;gt;&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/Sokolution%20-%20XSokoban.html &#039;&#039;&#039;73&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The statistic shows that Sokolution is by far the best solver when searching for push optimal solutions.&lt;br /&gt;
&lt;br /&gt;
== Large Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The large test suite comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
This test suite is not subject to change, as it is intended to be a &amp;quot;Large Standard Test Suite&amp;quot; for Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - Large Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|    3272      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;3208&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    3207      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    2953      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    2899      &amp;lt;!-- YASS         --&amp;gt;&lt;br /&gt;
|    2749      &amp;lt;!-- BoxSearch    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/LargeTestSuite/ Click here to see the detailed results for the Large Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download the entire test suite [https://sourceforge.net/projects/sokoban-solver-statistics/files/Large%20Test%20Suite.zip/download here] or the individual level sets from [http://sokobano.de/de/levels.php www.sokobano.de].&lt;br /&gt;
&lt;br /&gt;
== Open Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The statistics shows the results for the leading Sokoban solvers for various level collections. Please note that the grand totals are simple summations. The number of solved unique levels may differ slightly due to duplicate levels in the level packs.&lt;br /&gt;
&lt;br /&gt;
This test suite may be changed by adding new level collections from time to time. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - Open Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|   10043      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;9596&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    9516      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    8721      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    8339      &amp;lt;!-- YASS         --&amp;gt;&lt;br /&gt;
|    8111      &amp;lt;!-- BoxSearch    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/OpenTestSuite/ Click here to see the detailed results for the Open Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Sokolution/ Comparison for the Open Test Suite for all Sokolution versions].&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Push-optimal Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Push-optimal Test Suite&amp;quot; comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
For this test suite the solvers must solve the puzzles push optimal.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Sokoban Solver Statistics - Large Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|    1588      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/ &#039;&#039;&#039;1529&#039;&#039;&#039;]&amp;lt;/span&amp;gt;  &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/ Click here to see the detailed results for the Push-Optimal Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== GroupEffort Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The only reason for benchmarking the GroupEffort test suite is to demonstrate the limited veracity of the statement made in section &amp;quot;6 Conclusion&amp;quot; of the thesis, where the author writes that the GroupEffort solver &amp;quot;outperforms existing solvers&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The benchmarks show that this was only true for the cherry-picked small test set at the time the thesis was published, never for the presumably more representative large test set. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Sokoban Solver Statistics - GroupEffort Test Suite - Solved Levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- The header                                                                                   --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;                &amp;lt;!-- standard format of all rows --&amp;gt;&lt;br /&gt;
| width = &amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | Collection&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; |                                                         Levels&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://baldur.iti.kit.edu/theses/SokobanPortfolio.pdf GroupEffort]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/                          Festival]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/                  Sokolution]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/jsokoapplet/          JSoko]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/          YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Small Set                                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | [[SolverStatistics-GroupEffort-Small-Set | Small Set]] &lt;br /&gt;
| 200&lt;br /&gt;
| 196 (a)(c) &lt;br /&gt;
| [[SolverStatistics-Festival-GroupEffort-Small-Set   | &#039;&#039;&#039;200&#039;&#039;&#039; (b) ]]&lt;br /&gt;
| [[SolverStatistics-Sokolution-GroupEffort-Small-Set | &#039;&#039;&#039;200&#039;&#039;&#039; (a) ]]&lt;br /&gt;
| [[SolverStatistics-Takaken-GroupEffort-Small-Set    |    192 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-JSoko-GroupEffort-Small-Set      |    180 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-YASS-GroupEffort-Small-Set       |    191 (b)    ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Large Set                                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot;| [[SolverStatistics-GroupEffort-Large-Set | Large Set]] &lt;br /&gt;
| 2851&lt;br /&gt;
| 1566 (a)(c)&lt;br /&gt;
| [[SolverStatistics-Festival-GroupEffort-Large-Set   | &#039;&#039;&#039;2766&#039;&#039;&#039; (b) ]]&lt;br /&gt;
| [[SolverStatistics-Sokolution-GroupEffort-Large-Set |    2471 (a)    ]]&lt;br /&gt;
| [[SolverStatistics-Takaken-GroupEffort-Large-Set    |    2462 (b)    ]]&lt;br /&gt;
| [[SolverStatistics-JSoko-GroupEffort-Large-Set      |    2165 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-YASS-GroupEffort-Large-Set       |    2260 (b)    ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Total                                                                                        --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot;| Total &lt;br /&gt;
|    3051      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
|    1762      &amp;lt;!-- Group Effort --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;2966&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    2671      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    2654      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    2345      &amp;lt;!-- JSoko        --&amp;gt;&lt;br /&gt;
|    2471      &amp;lt;!-- YASS         --&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(a): Time limit: 5 minutes &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;   (b): Time limit: 10 minutes &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;   (c): Best GroupEffort solver configuration&lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
 Sokoban&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban (R) Registered Trademark of Falcon Co., Ltd., Japan&lt;br /&gt;
 Sokoban Copyright (C) 1982-2004 by Hiroyuki Imabayashi, Japan&lt;br /&gt;
 Sokoban Copyright (C) 1989, 1990, 2001-2004 by Falcon Co., Ltd., Japan&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 License&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Redistribution and use of the Sokoban Solver statistics are permitted&lt;br /&gt;
 provided that the following conditions are met: &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 * Redistributions may not be sold, nor may they be used in a commercial product or activity.&lt;br /&gt;
 * Redistributions must reproduce the entire content of this disclaimer in the documentation&lt;br /&gt;
   and/or other materials provided with the distribution.&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Credits (in no particular order)&lt;br /&gt;
 ================================&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 CosmoNotes, CosmoPoly, LOMA, MicroCosmos, MiniCosmos,&lt;br /&gt;
 NaboCosmos and PicoCosmos level sets&lt;br /&gt;
 Copyright (C) by Aymeric du Peloux.&lt;br /&gt;
 E-mail: aymeric.du-peloux@gadz.org&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 dh1, dh2, bagatelle, cantrip, and maelstrom level sets&lt;br /&gt;
 Copyright (C) by David Holland&lt;br /&gt;
 E-mail: unknown&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Microban, Mas Microban, Sasquatch, Mas Sasquatch, Sasquatch III,&lt;br /&gt;
 Sasquatch IV, Sasquatch V, Sasquatch VI and Sasquatch VII level sets.&lt;br /&gt;
 Copyright (C) by David W. Skinner&lt;br /&gt;
 E-mail: sasquatch@bentonrea.com&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Grigr2001, Grigr2002 and GrigrSpecial level sets&lt;br /&gt;
 Copyright (C) by Evgeny Grigoriev  (aka GRIGoRusha)&lt;br /&gt;
 E-mail: grigr@yandex.ru&lt;br /&gt;
 Web site: http://grigr.narod.ru/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 SokEvo and SokHard level sets&lt;br /&gt;
 Copyright (C) 2002-2006 by Lee J Haywood&lt;br /&gt;
 E-mail: fruise@gmail.com&lt;br /&gt;
 Web Site: https://ljhaywood.uk/games/sokoban/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sven level set&lt;br /&gt;
 Copyright (C) 2007 by Sven Egevad&lt;br /&gt;
 E-mail: sven.egevad@telia.com&lt;br /&gt;
 Web Site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban Perfect and Sokoban Revenge level sets&lt;br /&gt;
 Copyright (C) 1989, 1991 by Thinking Rabbit&lt;br /&gt;
 Web Site: https://sokoban.jp/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Y.M. Auto and Y.M. Handmade level sets&lt;br /&gt;
 Copyright (C) Yoshio Murase &lt;br /&gt;
 E-mail: yoshio@asahi.email.ne.jp&lt;br /&gt;
 Web Site: http://www.ne.jp/asahi/ai/yoshio/sokoban/index.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 JSoko&lt;br /&gt;
 Copyright (C) by Matthias Meger&lt;br /&gt;
 E-mail: JSoko@mail.de&lt;br /&gt;
 Web site: https://jsokoapplet.sourceforge.io/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban Automatic Solver (aka Takaken solver)&lt;br /&gt;
 Copyright (C) 2002 - 200X Ken&#039;ichiro Takahashi (aka takaken)&lt;br /&gt;
 E-mail: takaken@ic-net.or.jp&lt;br /&gt;
 Web site: https://computerpuzzle.net/english/sokoban/ver740/index.html &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 YASS - Yet Another Sokoban Solver and Optimizer - For Small Levels&lt;br /&gt;
 Copyright (C) 2007 by Brian Damgaard&lt;br /&gt;
 Web site: https://sourceforge.net/projects/sokobanyasc/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban YASC &lt;br /&gt;
 Copyright (C) 2001-2020 by Brian Damgaard&lt;br /&gt;
 Web Site: https://sourceforge.net/projects/sokobanyasc/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 YSokoban&lt;br /&gt;
 Copyright (C) 2007 by George Petrov&lt;br /&gt;
 E-mail: YGP@WriteMe.com&lt;br /&gt;
 Web Site:  http://ygp.orgfree.com/sokoban.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 XSokoban&lt;br /&gt;
 Copyright (C) by Andrew Myers&lt;br /&gt;
 E-mail: andru@cs.cornell.edu&lt;br /&gt;
 Web Site: http://www.cs.cornell.edu/andru/xsokoban.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokofan&lt;br /&gt;
 Copyright (C) 2005-2007 by Eric Leung&lt;br /&gt;
 E-mail: eleung2@hotpop.com&lt;br /&gt;
 Web Site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokolution&lt;br /&gt;
 Copyright (C) 2016-2019 by Florent DIEDLER&lt;br /&gt;
 E-mail: fdiedler2000@gmail.com&lt;br /&gt;
 Web site: http://sokolution.infinityfreeapp.com/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Festival&lt;br /&gt;
 Copyright (C) 2020 by Yaron Shoham&lt;br /&gt;
 Web site: https://festival-solver.site/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Trademarks&lt;br /&gt;
 ========== &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Company names, brand names and product names are trademarks&lt;br /&gt;
 or registered trademarks of their respective holders.&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Contact&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 E-mail: sokobanowiki@gmail.com&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Solver_Statistics&amp;diff=8318</id>
		<title>Solver Statistics</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Solver_Statistics&amp;diff=8318"/>
		<updated>2026-03-11T20:47:44Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* General benchmarking information */ New JSoko version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Sokoban solver program is a program that &amp;lt;u&amp;gt;&#039;&#039;tries to&#039;&#039;&amp;lt;/u&amp;gt; solve Sokoban levels. There are several solver programs available. (See [[Links#Sokoban Solvers |Sokoban solvers]].)&lt;br /&gt;
&lt;br /&gt;
Solver programs may have different objectives:&lt;br /&gt;
# Find any solution&lt;br /&gt;
# Find push optimal solutions&lt;br /&gt;
# Find push optimal solutions with best moves&lt;br /&gt;
# Find move optimal solutions&lt;br /&gt;
# Find move optimal solutions with best pushes&lt;br /&gt;
&lt;br /&gt;
Given the computational complexity of these tasks, a solver program is usually designed for just finding any solution. If a solution is to be optimized, an optimizer program can be used. (See [[Links#Sokoban Solvers |Optimizers]].)&lt;br /&gt;
&lt;br /&gt;
The statistics presented here provide a picture of what the best freely available Sokoban solvers can do.&amp;lt;br /&amp;gt; &lt;br /&gt;
For copyrights, credits and redistribution of these statistics, please read the disclaimer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General benchmarking information ==&lt;br /&gt;
&lt;br /&gt;
For practical reasons, almost all tests have been performed with a 10 minutes time limit. The tests are, however, not a 10 minutes contest but a showcase for what the solvers can do, so other time limits are entirely feasible.&lt;br /&gt;
&lt;br /&gt;
The hardware used for the tests is a standard PC with a modern operating system (64bit).&lt;br /&gt;
&lt;br /&gt;
Tests are performed with default solver settings.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
!Solver                                                                     || Version || Author                         || Architecture || CPU usage || Source code available || More info&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival]&amp;lt;/span&amp;gt;                                   || 3.1     || Yaron Shoham ||  64bit        || 8 threads    || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival 3.1]&amp;lt;/span&amp;gt;                || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Website with papers about the solver]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;                         || 7.32 || Florent Diedler                || 64bit        || all threads || no                   || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[Sokoban solver &amp;quot;scribbles&amp;quot; by Florent Diedler about the Sokolution solver | Sokoban solver &amp;quot;scribbles&amp;quot; by Florent Diedler]]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;     || 7.4     || Ken&#039;ichiro Takahashi (takaken) || 64bit        || 2 threads || no                   || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/puzzle/sokoban/ver731/index.html Description of the used algorithms]&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry]&amp;lt;/span&amp;gt;                                || 0.3     || Yaron Shoham                   || 64bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry 0.3] || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Website with paper about the solver]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;     || 7.0 beta 1 || 葛永 (Ge Yong)      || 64bit         || 1 thread  || no                 || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch Website of BoxSearch]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;     || 2.153   || Brian Damgaard                 || 32bit + 64bit || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS 2.153]&amp;lt;/span&amp;gt;  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard about the YASS solver | Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard]]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://jsokoapplet.sourceforge.io/ JSoko]&amp;lt;/span&amp;gt;                                     || 2.26     || Matthias Meger                || 64bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/jsokoapplet/files/JSoko/Version%202.24/ JSoko 2.25]&amp;lt;/span&amp;gt;  || [[Solver | Solver information]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html Rolling Stone]&amp;lt;/span&amp;gt; || 1.0     || Andreas Junghanns              || 32bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/Src/ RS] || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://scholar.google.com/scholar?hl=de&amp;amp;as_sdt=0%2C5&amp;amp;q=rolling+stone+sokoban&amp;amp;btnG= Rolling Stone papers]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Contact: SokobanoWiki@gmail.com&lt;br /&gt;
&lt;br /&gt;
== XSokoban Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The XSokoban level set is the de facto standard test suite in the academic literature on Sokoban solver programming.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;11&amp;quot; | Sokoban Solver Statistics - XSokoban Test Suite - Solved Levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; |      Collection&lt;br /&gt;
| width=&amp;quot;160&amp;quot;   |                 Author&lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   |                 Levels&lt;br /&gt;
| width= &amp;quot;90&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html                 Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | [[JSoko Solver    | JSoko]]&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- XSokoban. &amp;quot;Collection, author, levels, Rolling Stone, Takaken, YASS, JSoko, Sokolution, Festival&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/ XSokoban]&amp;lt;/span&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot;                                                | Thinking Rabbit, ...&lt;br /&gt;
|                                                                  90&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 59*]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Takaken%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/YASS%20-%20XSokoban.html 89]&amp;lt;/span&amp;gt;&lt;br /&gt;
| [[SolverStatistics-jsoko-ThinkingRabbit-XSokoban            |    67    ]]&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Sokolution%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Curry%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Festival%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/BoxSearch%20-%20XSokoban.html &#039;&#039;&#039;89&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) 59 solved puzzles according to paper [https://sokoban.dk/wp-content/uploads/2016/02/Single-Agent.pdf Sokoban Enhancing general single-agent search methods using domain knowledge]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - XSokoban Test Suite - Push-optimal Solutions&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | Collection&lt;br /&gt;
| width=&amp;quot;160&amp;quot;              | Author&lt;br /&gt;
| width=&amp;quot; 70&amp;quot;              | Levels&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.ijcai.org/Abstract/16/100 Pereira et al.]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sourceforge.net/projects/jsokoapplet/ JSoko]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | XSokoban&lt;br /&gt;
| align=&amp;quot;left&amp;quot;                   | Thinking Rabbit, ...&lt;br /&gt;
|                90&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 6 ]&amp;lt;/span&amp;gt;&lt;br /&gt;
|                [[SolverStatistics-Pereira-ThinkingRabbit-XSokoban-Push-Optimal | 28 ]]&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/JSoko%20-%20XSokoban.html 25]&amp;lt;/span&amp;gt;&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/Sokolution%20-%20XSokoban.html &#039;&#039;&#039;73&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The statistic shows that Sokolution is by far the best solver when searching for push optimal solutions.&lt;br /&gt;
&lt;br /&gt;
== Large Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The large test suite comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
This test suite is not subject to change, as it is intended to be a &amp;quot;Large Standard Test Suite&amp;quot; for Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - Large Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|    3272      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;3208&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    3207      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    2953      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    2899      &amp;lt;!-- YASS         --&amp;gt;&lt;br /&gt;
|    2749      &amp;lt;!-- BoxSearch    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/LargeTestSuite/ Click here to see the detailed results for the Large Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download the entire test suite [https://sourceforge.net/projects/sokoban-solver-statistics/files/Large%20Test%20Suite.zip/download here] or the individual level sets from [http://sokobano.de/de/levels.php www.sokobano.de].&lt;br /&gt;
&lt;br /&gt;
== Open Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The statistics shows the results for the leading Sokoban solvers for various level collections. Please note that the grand totals are simple summations. The number of solved unique levels may differ slightly due to duplicate levels in the level packs.&lt;br /&gt;
&lt;br /&gt;
This test suite may be changed by adding new level collections from time to time. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - Open Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|   10043      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;9596&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    9516      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    8721      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    8339      &amp;lt;!-- YASS         --&amp;gt;&lt;br /&gt;
|    8111      &amp;lt;!-- BoxSearch    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/OpenTestSuite/ Click here to see the detailed results for the Open Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Sokolution/ Comparison for the Open Test Suite for all Sokolution versions].&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Push-optimal Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Push-optimal Test Suite&amp;quot; comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
For this test suite the solvers must solve the puzzles push optimal.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Sokoban Solver Statistics - Large Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|    1588      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/ &#039;&#039;&#039;1529&#039;&#039;&#039;]&amp;lt;/span&amp;gt;  &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/ Click here to see the detailed results for the Push-Optimal Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== GroupEffort Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The only reason for benchmarking the GroupEffort test suite is to demonstrate the limited veracity of the statement made in section &amp;quot;6 Conclusion&amp;quot; of the thesis, where the author writes that the GroupEffort solver &amp;quot;outperforms existing solvers&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The benchmarks show that this was only true for the cherry-picked small test set at the time the thesis was published, never for the presumably more representative large test set. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Sokoban Solver Statistics - GroupEffort Test Suite - Solved Levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- The header                                                                                   --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;                &amp;lt;!-- standard format of all rows --&amp;gt;&lt;br /&gt;
| width = &amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | Collection&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; |                                                         Levels&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://baldur.iti.kit.edu/theses/SokobanPortfolio.pdf GroupEffort]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/                          Festival]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/                  Sokolution]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/jsokoapplet/          JSoko]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/          YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Small Set                                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | [[SolverStatistics-GroupEffort-Small-Set | Small Set]] &lt;br /&gt;
| 200&lt;br /&gt;
| 196 (a)(c) &lt;br /&gt;
| [[SolverStatistics-Festival-GroupEffort-Small-Set   | &#039;&#039;&#039;200&#039;&#039;&#039; (b) ]]&lt;br /&gt;
| [[SolverStatistics-Sokolution-GroupEffort-Small-Set | &#039;&#039;&#039;200&#039;&#039;&#039; (a) ]]&lt;br /&gt;
| [[SolverStatistics-Takaken-GroupEffort-Small-Set    |    192 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-JSoko-GroupEffort-Small-Set      |    180 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-YASS-GroupEffort-Small-Set       |    191 (b)    ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Large Set                                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot;| [[SolverStatistics-GroupEffort-Large-Set | Large Set]] &lt;br /&gt;
| 2851&lt;br /&gt;
| 1566 (a)(c)&lt;br /&gt;
| [[SolverStatistics-Festival-GroupEffort-Large-Set   | &#039;&#039;&#039;2766&#039;&#039;&#039; (b) ]]&lt;br /&gt;
| [[SolverStatistics-Sokolution-GroupEffort-Large-Set |    2471 (a)    ]]&lt;br /&gt;
| [[SolverStatistics-Takaken-GroupEffort-Large-Set    |    2462 (b)    ]]&lt;br /&gt;
| [[SolverStatistics-JSoko-GroupEffort-Large-Set      |    2165 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-YASS-GroupEffort-Large-Set       |    2260 (b)    ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Total                                                                                        --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot;| Total &lt;br /&gt;
|    3051      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
|    1762      &amp;lt;!-- Group Effort --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;2966&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    2671      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    2654      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    2345      &amp;lt;!-- JSoko        --&amp;gt;&lt;br /&gt;
|    2471      &amp;lt;!-- YASS         --&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(a): Time limit: 5 minutes &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;   (b): Time limit: 10 minutes &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;   (c): Best GroupEffort solver configuration&lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
 Sokoban&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban (R) Registered Trademark of Falcon Co., Ltd., Japan&lt;br /&gt;
 Sokoban Copyright (C) 1982-2004 by Hiroyuki Imabayashi, Japan&lt;br /&gt;
 Sokoban Copyright (C) 1989, 1990, 2001-2004 by Falcon Co., Ltd., Japan&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 License&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Redistribution and use of the Sokoban Solver statistics are permitted&lt;br /&gt;
 provided that the following conditions are met: &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 * Redistributions may not be sold, nor may they be used in a commercial product or activity.&lt;br /&gt;
 * Redistributions must reproduce the entire content of this disclaimer in the documentation&lt;br /&gt;
   and/or other materials provided with the distribution.&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Credits (in no particular order)&lt;br /&gt;
 ================================&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 CosmoNotes, CosmoPoly, LOMA, MicroCosmos, MiniCosmos,&lt;br /&gt;
 NaboCosmos and PicoCosmos level sets&lt;br /&gt;
 Copyright (C) by Aymeric du Peloux.&lt;br /&gt;
 E-mail: aymeric.du-peloux@gadz.org&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 dh1, dh2, bagatelle, cantrip, and maelstrom level sets&lt;br /&gt;
 Copyright (C) by David Holland&lt;br /&gt;
 E-mail: unknown&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Microban, Mas Microban, Sasquatch, Mas Sasquatch, Sasquatch III,&lt;br /&gt;
 Sasquatch IV, Sasquatch V, Sasquatch VI and Sasquatch VII level sets.&lt;br /&gt;
 Copyright (C) by David W. Skinner&lt;br /&gt;
 E-mail: sasquatch@bentonrea.com&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Grigr2001, Grigr2002 and GrigrSpecial level sets&lt;br /&gt;
 Copyright (C) by Evgeny Grigoriev  (aka GRIGoRusha)&lt;br /&gt;
 E-mail: grigr@yandex.ru&lt;br /&gt;
 Web site: http://grigr.narod.ru/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 SokEvo and SokHard level sets&lt;br /&gt;
 Copyright (C) 2002-2006 by Lee J Haywood&lt;br /&gt;
 E-mail: fruise@gmail.com&lt;br /&gt;
 Web Site: https://ljhaywood.uk/games/sokoban/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sven level set&lt;br /&gt;
 Copyright (C) 2007 by Sven Egevad&lt;br /&gt;
 E-mail: sven.egevad@telia.com&lt;br /&gt;
 Web Site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban Perfect and Sokoban Revenge level sets&lt;br /&gt;
 Copyright (C) 1989, 1991 by Thinking Rabbit&lt;br /&gt;
 Web Site: https://sokoban.jp/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Y.M. Auto and Y.M. Handmade level sets&lt;br /&gt;
 Copyright (C) Yoshio Murase &lt;br /&gt;
 E-mail: yoshio@asahi.email.ne.jp&lt;br /&gt;
 Web Site: http://www.ne.jp/asahi/ai/yoshio/sokoban/index.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 JSoko&lt;br /&gt;
 Copyright (C) by Matthias Meger&lt;br /&gt;
 E-mail: JSoko@mail.de&lt;br /&gt;
 Web site: https://jsokoapplet.sourceforge.io/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban Automatic Solver (aka Takaken solver)&lt;br /&gt;
 Copyright (C) 2002 - 200X Ken&#039;ichiro Takahashi (aka takaken)&lt;br /&gt;
 E-mail: takaken@ic-net.or.jp&lt;br /&gt;
 Web site: https://computerpuzzle.net/english/sokoban/ver740/index.html &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 YASS - Yet Another Sokoban Solver and Optimizer - For Small Levels&lt;br /&gt;
 Copyright (C) 2007 by Brian Damgaard&lt;br /&gt;
 Web site: https://sourceforge.net/projects/sokobanyasc/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban YASC &lt;br /&gt;
 Copyright (C) 2001-2020 by Brian Damgaard&lt;br /&gt;
 Web Site: https://sourceforge.net/projects/sokobanyasc/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 YSokoban&lt;br /&gt;
 Copyright (C) 2007 by George Petrov&lt;br /&gt;
 E-mail: YGP@WriteMe.com&lt;br /&gt;
 Web Site:  http://ygp.orgfree.com/sokoban.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 XSokoban&lt;br /&gt;
 Copyright (C) by Andrew Myers&lt;br /&gt;
 E-mail: andru@cs.cornell.edu&lt;br /&gt;
 Web Site: http://www.cs.cornell.edu/andru/xsokoban.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokofan&lt;br /&gt;
 Copyright (C) 2005-2007 by Eric Leung&lt;br /&gt;
 E-mail: eleung2@hotpop.com&lt;br /&gt;
 Web Site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokolution&lt;br /&gt;
 Copyright (C) 2016-2019 by Florent DIEDLER&lt;br /&gt;
 E-mail: fdiedler2000@gmail.com&lt;br /&gt;
 Web site: http://sokolution.infinityfreeapp.com/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Festival&lt;br /&gt;
 Copyright (C) 2020 by Yaron Shoham&lt;br /&gt;
 Web site: https://festival-solver.site/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Trademarks&lt;br /&gt;
 ========== &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Company names, brand names and product names are trademarks&lt;br /&gt;
 or registered trademarks of their respective holders.&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Contact&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 E-mail: sokobanowiki@gmail.com&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Map_Viewing&amp;diff=8302</id>
		<title>Feature list : Map Viewing</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Map_Viewing&amp;diff=8302"/>
		<updated>2026-02-09T08:23:04Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Map Viewing */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Map Viewing ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: MAP VIEWING ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Map Viewing !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Map Viewing&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | level browser with preview || {{yes}} one level at a time || {{yes}} block graphic miniatures of all loaded levels || {{yes}} block graphic miniatures of all loaded levels || {{yes}} block graphic miniatures of all levels in a collection (customizable miniature size) ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | resize skin to fit window || {{yes}} always || {{yes}}skin dependent || {{yes}} always || {{yes}} {{tip|flaw: Windows has 2 font settings, small (default) and large, and this only works for small fonts|text=flaw}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | resize window to fit map || {{un}} {{tip|map always fits in window}} || {{no}} || {{un}} {{tip|map always fits in window}} || {{yes}} {{tip|flaw: Windows has 2 font settings, small (default) and large, and this only works for small fonts|text=flaw}} || {{yes}} optional || {{yes}} always &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[Feature_list_:_Map_Viewing#Level_scrolling|levels larger than window: scrolling]] || {{un}} || {{no}} || {{un}} || {{yes}} via scrollbars.&amp;lt;br&amp;gt;{{tip| Windows has 2 font settings, small (default) and large, and this only works for small fonts|text=flaw}} ||  {{yes}} {{tip|via scrollbars&amp;lt;br&amp;gt; with an option to autofollow&amp;lt;br&amp;gt;(move scrollbars automatically)}} || {{un}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | one-click browse levels || {{yes}} previous, next {{tip|in all level files in current level directory, with wrap-around}} || {{yes}} previous, next {{tip|in currently loaded levels, without wrap-around}} || {{yes}} previous, next {{tip|in current collection, with wrap-around}} || {{yes}} previous, next {{tip|in all loaded level files, with wrap-around}} || {{yes}} {{tip| implementation: keyboard shortcuts for: previous, next, first, last (in current collection, without wrap-around)|text=partial}} || {{yes}} next, without wrap-around &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | one-click browse files || {{no}} || {{no}} || {{no}} || {{yes}} drop-down list with all level collections ||  {{yes}} drop-down list with visited level collections || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | search for unsolved level || {{yes}} previous, next {{tip|in all level files in current level directory, with wrap-around}} || {{yes}} previous, next, random {{tip|in currently loaded levels, without wrap-around}} || {{yes}} previous, next {{tip|in current collection, with wrap-around}} || {{yes}} {{tip|partial implementation: auto-advance after having solved a level finds an unsolved level if settings is &amp;quot;unsolved levels only&amp;quot;|text=partial}} || {{yes}} previous, next {{tip|in current collection, without wrap-around}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | rotate and mirror level-map || {{yes}} persistent, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{yes}} session (partial implementation: use editor) {{tip|savegames and solutions are specific to each transformation}} || {{yes}} session, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{yes}} &amp;lt;big style=&amp;quot;color: red;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt;{{tip|Will somebody with a full version check if it is&amp;lt;br&amp;gt;session, with reset option&amp;lt;br&amp;gt;or&amp;lt;br&amp;gt;persistent, with reset option&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;additionally check if &amp;lt;br&amp;gt;savegames and solutions are automatically synchronized with current transformation&amp;lt;br&amp;gt;or&amp;lt;br&amp;gt;savegames and solutions are specific to each transformation|width=300px|text=Help}} || {{yes}} session, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | multiple windows, one per level || {{no}} || {{no}} || {{no}} || {{yes}}via tabs.&amp;lt;br&amp;gt;multiple levels&amp;lt;br&amp;gt;can be opened in separate tabs. || {{no}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | multiple views of a level || {{yes}} || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | full screen || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} via :&amp;lt;br&amp;gt;keyboard: F11 || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Information&amp;lt;/h2&amp;gt;&lt;br /&gt;
=== Level scrolling ===&lt;br /&gt;
&lt;br /&gt;
levels larger than window: scrolling&amp;lt;br&amp;gt;&lt;br /&gt;
levels larger than window: scrollbars&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Briefly, the first line is there to give a program the chance to tell that it has a scroll feature, and the second line is there to tell if the program does it the right way - with scrollbars.&lt;br /&gt;
&lt;br /&gt;
Since the first graphical user interfaces emerged, scrollbars have been used for depicting the situation where a document doesn&#039;t fit in the window, so the user can rightfully expect to find that logic (or something equally user-friendly) in a Sokoban program as well.&lt;br /&gt;
&lt;br /&gt;
Therefore, it&#039;s embarrasing for programs that requires scrolling if they don&#039;t have scrollbars or something equivalent. The line &amp;quot;levels larger than window: scrollbars&amp;quot; must be listed so readers can see this major design flaw, and so new programmers are reminded that they definitely should do better.&lt;br /&gt;
&lt;br /&gt;
On the other hand, Sokofan deserves credits for at least having a scroll feature, despite the fact that it&#039;s not done the right way with scrollbars. The user doesn&#039;t get any visible clue that the board is bigger than the window, and the user must read the instructions to find the keyboard and mouse/key combinations that controls the scrolling.&lt;br /&gt;
&lt;br /&gt;
So the line &amp;quot;levels larger than window: scrolling&amp;quot; is there to give Sokofan a chance to tell that it indeed has a scroll feature, even though it&#039;s not as user-friendly as the user rightfully can expect from a good Sokoban clone.&lt;br /&gt;
&lt;br /&gt;
-bd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multiple views of a level ===&lt;br /&gt;
A user often works on several alternative paths at the same time. It would be a great help if each of them was fully visible. For instance, multiple views are beneficial during the process of optimizing existing solutions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SokRFI - Sokoban Requests for Implementation ===&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- :::: SOKRFI - SOKOBAN REQUESTS FOR IMPLEMENTATION :::::::::  --&amp;gt; &lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;50&amp;quot; | Map Viewing : SokRFI - Sokoban Requests for Implementation&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;120&amp;quot; {{tc}} | Feature || {{tc}} | Description&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| show/hide&amp;lt;br&amp;gt;redundant walls ||It fills jagged wall edges, fills unused &amp;quot;tubes&amp;quot;, removes redundant walls, unused boxes, and unused goals. Implemented in [http://sokoban.ws/usokoban/usokoban.htm USokoban] as &#039;Normalize level&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Level_Management&amp;diff=8301</id>
		<title>Feature list : Level Management</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Level_Management&amp;diff=8301"/>
		<updated>2026-02-09T08:22:56Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Level Management */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Level Management ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: LEVEL MANAGEMENT ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Level Management !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Level Management&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | copy/paste level(s) (normal) || {{yes}} || {{yes}}{{tip|partial implementation of import: one level at a time; works for raw boards without meta data only}} || {{yes}}{{tip|levels can also be pasted by using drag&amp;amp;amp;drop of a level file}} || &amp;lt;big style=&amp;quot;color: red;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt;{{tip|Will somebody with a full version check if it works here&amp;lt;br&amp;gt; the demo version has it on the menu in the editor and it does not mention any restrictions, but it does not work|text=Help}} || {{yes}} {{tip|flaw: pasted levels are not saved|text=flaw}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy/paste levels (run-length-encoded) || {{yes}} || {{no}} || {{yes}} || {{no}} || {{yes}} {{tip|flaw: pasted levels are not saved |text=flaw}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy map&amp;lt;br&amp;gt; (current state) || {{yes}}via [ CTRL + click &amp;quot;tools&amp;quot;] and editor || {{yes}} || {{yes}} || {{no}} ||  {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy level(s) with solution(s) || {{yes}}(multiple) || {{no}} || {{yes}}(single) || {{no}} || {{yes}}(single) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | paste level(s) with solution(s) || {{yes}}(multiple) || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit level information (e.g., title, author) || {{yes}} via &amp;quot;open&amp;quot; window || {{yes}} via menu: level-&amp;amp;gt;about;&amp;lt;br&amp;gt;properties: title, author, comment || {{no}} || {{yes}} via menu: file-&amp;amp;gt;edit mode + file-&amp;amp;gt;attributes;&amp;lt;br&amp;gt;properties:title, description, copyright, email, website || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit levelset information (e.g., title, copyright) || {{no}} || {{yes}} via menu: levelset-&amp;amp;gt;about; properties: title, author, copyright, comment || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | load multiple files || {{no}} || {{yes}} || {{no}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | merge level files || {{yes}} (merge is a feature in the &amp;quot;open&amp;quot; window:&amp;lt;br&amp;gt;menu -&amp;amp;gt; file conversion...) || {{yes}}(via: open and select multiple files.) || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | recent levels history || {{yes}} 25 items {{tip|holding a unified recent file history for all loaded file-types, e.g., levels and background images}} || {{no}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | saves levels with format || {{yes}} sok (.sok) || {{yes}} sok (.sok),&amp;lt;br&amp;gt;xsokoban (.txt, .xsb),&amp;lt;br&amp;gt;games 4 brains (.lp0),&amp;lt;br&amp;gt;xml text file (.sls) || {{yes}} sok (.sok) || {{yes}} xml text file (.sls) ||  {{no}} || {{yes}} savegame text file (.sokosave) &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Level Management&amp;amp;nbsp;: Import and Export for Internet !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Level Management&amp;amp;nbsp;: Import and Export for Internet&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | import levels with hyphens &amp;quot;-&amp;quot; or underscores &amp;quot;_&amp;quot; || {{yes}} via clipboard and load level || {{yes}} via clipboard and load level || {{yes}} via clipboard and load level || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | export levels with hyphens &amp;quot;-&amp;quot; or underscores &amp;quot;_&amp;quot; || {{yes}}via clipboard || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | stripping leading &amp;quot;&amp;amp;gt;&amp;quot; characters || {{yes}} (all leading &amp;quot;&amp;amp;gt;&amp;quot; characters are stripped) || {{no}} || {{yes}} (stripping leading &amp;quot;&amp;amp;gt;&amp;quot; characters: boards, not moves) || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | accepts alternative characters for boards || {{yes}}characters: p,P,b,B,o || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
* [[Level_format]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SokRFI - Sokoban Requests for Implementation ==&lt;br /&gt;
&amp;lt;!-- ::::: SOKRFI - SOKOBAN REQUESTS FOR IMPLEMENTATION ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;50&amp;quot; | Level Management : SokRFI - Sokoban Requests for Implementation&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;120&amp;quot; {{tc}} | Feature || {{tc}} | Description&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| split levelset || SokoSave offers a utility for this feature. &amp;lt;br&amp;gt;(External program [http://www.high-speed-software.com/sokosave/sokosavedesktop/sokosplit/ SokoSplit] can be downloaded)&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| export levels to internet ||&lt;br /&gt;
&amp;lt;b&amp;gt; Export levels to internet &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This feature can be used to publish level(s) in a web-site.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The export can have different variants:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Generating the strings with code HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
With links to download levels or thumbnails of each level.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Generating the strings with code [http://web.singnet.com.sg/~fclim/sbml/index.html SBML] (SokoBan Markup Language).&amp;lt;br&amp;gt;&lt;br /&gt;
Exporting with this language, levels can be customized by the user for the graphic representation of the maps, as well as provide a meta-information semantics of each level.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;b&amp;gt;Alternative development&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
See [[SokRFI - Export Levels to Internet]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;b&amp;gt;Utility&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Sokoban++ offers a utility for this feature.&amp;lt;br&amp;gt;(External program [http://www.joriswit.nl/sokoban/junk/ Sokoban Website Generator] can be downloaded)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Miscellaneous&amp;diff=8300</id>
		<title>Feature list : Miscellaneous</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Miscellaneous&amp;diff=8300"/>
		<updated>2026-02-09T08:22:41Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Miscellaneous */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: MISCELLANEOUS ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Miscellaneous !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Miscellaneous&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | builtin help and program information || {{yes}} rich text document (rtf) || {{yes}} html pages (html) || {{yes}} Java help || {{yes}} html pages (htm) ||  {{yes}} ascii text document || {{yes}} html page (html) &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | context sensitive help || {{no}} || {{yes}} || {{yes}} {{tip|Pressing the help key (F1) opens the help}} || {{no}} {{tip|however, the web-page says otherwise|text=note}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable language || {{no}} || {{yes}} || {{yes}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | languages || English || English, Afrikaans, Danish (embarrassing), Dutch, German, Greek, Finnish, French, Italian, Polish, Portugese, Russian, Spanish (Spain, Argentina), Turkish, Slovenian, Swedish || English, German, Chinese (Simplified), Spanish, Dutch  || English ||  English, Bulgarian, Chinese (Simplified, Traditional), German, Spanish || English &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | builtin solutions || {{yes}} {{tip|all levels ship with builtin solutions}} || {{yes}} {{tip|not all levels ship with builtin solutions}} || {{yes}} {{tip|not all levels ship with builtin solutions}} || {{yes}} {{tip|not all levels ship with builtin solutions}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | file type associations (optional) || {{no}} || {{yes}} .sls, .pak, .rdf, .lp0, .xsb, .sok, .sxl, .slc || {{no}} || {{no}} ||  {{no}} || {{yes}} .sokomaze, .xsb, .sokohex, .hsb, .sokotri, .tsb, .sokosave &amp;lt;br /&amp;gt;Windows, Mac OS X &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | accessibility for portable version || {{no}} || {{no}} || {{no}} || {{no}} ||  {{yes}}{{tip|&amp;lt;b&amp;gt;compatible installation:&amp;lt;/b&amp;gt; yes&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;system modification:&amp;lt;/b&amp;gt; no&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;generated data:&amp;lt;/b&amp;gt; saves the files created in the removable device.&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;additional:&amp;lt;/b&amp;gt; edition for mobile phone, java MIDP 2.0 only.|width=200px}} || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--FEATURE_INFO--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Info==&lt;br /&gt;
===Portable software===&lt;br /&gt;
&#039;&#039;From Wikipedia, the free encyclopedia&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be considered &#039;&#039;&#039;truly portable&#039;&#039;&#039;, a software program must:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not require any form of formal installation to be carried out on any computer before it can be used, with the release package only needing to be decompressed directly to removable media before use (if it has to be installed first, and requires it&#039;s files to be manually copied to removable media, it&#039;s clearly not designed to be portable!).&amp;lt;br&amp;gt;For example, software which is supplied as an InstallShield package could not be considered portable, though a ZIP archives containing an executable would be.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Settings are stored with, and can be carried around with, the software (i.e. they are written to the USB drive).&amp;lt;br&amp;gt;If the registry is used to store settings; the application&#039;s configuration isn&#039;t portable, and must be set up on every PC it is used on&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Leaves a zero (or near-zero) &amp;quot;footprint&amp;quot; on any PC it&#039;s run on after being used.&amp;lt;br&amp;gt;i.e. All temporary files/registry settings should be removed once the program has exited, and files created by the user can be saved directly to the same removable media as the application is stored on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Generally, smaller utility/toolkit software is inherently fairly portable; though larger applications are sometimes changed in order to allow a portable versions to be released (e.g. FirefoxPortable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--/FEATURE_INFO--&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Game_Play&amp;diff=8299</id>
		<title>Feature list : Game Play</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Game_Play&amp;diff=8299"/>
		<updated>2026-02-09T08:22:05Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Game Play */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Game Play ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: GAME PLAY ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Game Play !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Game Play&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | autosave best solutions || {{yes}} tiebreaking: moves, pushes, secondary metrics || {{yes}} tiebreaking: moves, pushes || {{no}} || {{yes}} tiebreaking: moves, pushes || {{yes}} tiebreaking: moves, pushes, secondary metrics || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | autosave solutions options || always autosaves better solutions;&amp;lt;br&amp;gt;inferior solutions are discarded || autosave solutions options: never/always/if better/ask;&amp;lt;br&amp;gt;existing solutions are kept || {{no}} || autosave solutions options: none/best 5/best 10/all || always autosaves better solutions;&amp;lt;br&amp;gt;inferior solutions are discarded || optionally saves game when solved; &amp;lt;br&amp;gt; only one solution per saved game &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | push or move optimized pathfinding || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | move animation modes || smooth, cell by cell, instant || cell by cell, instant || cell by cell || smooth ||  cell by cell, instant&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;{{tip|(instant with [[Feature_info#Choice points|choice points]] is listed but is too fast to be useful)|menu=yes}} || cell by cell, instant &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | mouse move control: drag and drop || {{yes}} with reachable squares || {{yes}} without reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Mouse_Move_Control:_Select_and_drop|mouse move control: select and drop]] || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} without reachable squares &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Mouse_Move_Control:_Drag_and_track|mouse move control: drag and track]] || {{no}} experimental click-less tracking available || {{no}} || {{no}} || {{no}} ||  {{no}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | reverse mode play starting at end position (pull instead of push) || {{yes}} || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | show secondary metrics (box-pushes, box-changes and pushing-sessions) || {{yes}} display: mouse over || {{yes}} display: optional, configurable || {{no}} || {{no}} || {{yes}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Lowerbound_of_solution_length_regarding_pushes|show a lowerbound of the solution length]] || {{no}} || {{no}} || {{yes}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | timing || {{yes}} optional; optional idle time threshold || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|-&lt;br /&gt;
| {{tc}} | move player&amp;lt;br&amp;gt;through boxes ||{{no}}|| {{no}} || {{yes}} || {{no}} || {{yes}} target: reachable squares through boxes.&amp;lt;br&amp;gt;figure: small black square.&amp;lt;br&amp;gt;via: options -&amp;gt; go through boxes. || {{no}} &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Game Play : Legal moves !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Game Play : Legal moves&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | show player&#039;s reachable squares|| {{yes}} figure: transparent small skin graphics || {{no}} || {{yes}} figure: transparent small skin graphics || {{yes}} ||  {{yes}} figure: small round blobs || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | show box&#039;s reachable squares || {{yes}} figure: transparent small skin graphics || {{yes}} figure: skin graphics, independent of box || {{yes}} figure: transparent small skin graphics || {{yes}} || {{yes}} figure: small round blobs || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | show pushable boxes || {{yes}} dynamically by clicking a wall.&amp;lt;br&amp;gt;figure: configurable border || {{no}} || {{no}} || {{no}} ||  {{yes}} permanent with &amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;CTRL&amp;lt;/span&amp;gt;+&amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;F9&amp;lt;/span&amp;gt;.&amp;lt;br&amp;gt;dynamically by clicking a wall.&amp;lt;br&amp;gt;figure: skin graphics, independent of box || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | show [[Deadlocks#Dead square deadlocks|dead squares]] || {{yes}}figure: configurable shaded square || {{no}} || {{yes}}figure: darker shaded square || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Simple deadlock detection|simple deadlock detection]] || {{yes}} dead squares, freezing boxes || {{no}} || {{yes}} dead squares, freezing boxes || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Advanced deadlock detection|advanced deadlock detection]] || {{yes}} {{tip|bipartite:&amp;lt;br&amp;gt;n boxes for m goals;&amp;lt;br&amp;gt;1 goal for n boxes;&amp;lt;br&amp;gt;corrals: precalculated at level load time + 100 ms search after a push}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Game Play : History !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Game Play : History&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | undo/redo || unlimited || unlimited || unlimited || unlimited || unlimited || unlimited &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo all || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} press [esc]|| {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | redo all || {{yes}} || {{no}} || {{yes}} || {{no}} ||{{no}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | replay || {{yes}} forwards and backwards || {{yes}} forwards || {{yes}} forwards || {{yes}} forwards and backwards || {{yes}} forwards (solutions only) || {{yes| via trackbar dragged to any position replays to that position}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | replay ergonomics || unified start/stop button; click anywhere to stop; keyboard shortcuts available; speed and direction can be changed during replay || separate start/stop buttons; click stop-button to stop; keyboard shortcuts available || unified start/stop button; click anywhere to stop; speed can be changed during replay || ||  with start/stop:&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;CTRL&amp;lt;/span&amp;gt;+&amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;F2&amp;lt;/span&amp;gt; to begin. &amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;SPACE&amp;lt;/span&amp;gt; to replay to next box-change. without start/stop: &amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;F2&amp;lt;/span&amp;gt; || trackbar represents replay history; drag trackbar to control replay; click anywhere, click [stop] button, or press [esc] to stop &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | mousewheel undo/redo/replay support || {{yes}} combined moves || {{yes}} single step or optional combined moves || {{yes}} combined moves || {{no}} ||  {{yes}} combined moves || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | browse move history || {{yes}} trackbar (choice-points, with preview) || {{yes}} trackbar (all moves, with preview) || {{yes}} trackbar (choice-points, with preview) || {{no}} || {{no}} || {{yes}} trackbar (all moves, no preview) &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | quicksave slots || {{yes}} unlimited (interface: graphical, window, thumbnail preview) || {{yes}} unlimited (interface: graphical, pop-up, list) || {{no}} || {{yes}} 3 (interface: graphical) || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | one-click load quicksaves || {{yes}} keyboard: press [Enter] to load currently selected snapshot; mouse: double-click a snapshot on the list || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | remember last session || {{yes}} file, level, history with redo, position {{tip|position is optional, default &amp;quot;off&amp;quot;, additionally, up to 25 recent (file, level)}} || {{yes}} file, level || {{yes}} file, level || {{yes}} file, level, history without redo, position || {{yes}} file, level, history without redo, position || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
&lt;br /&gt;
=== Choice points ===&lt;br /&gt;
&lt;br /&gt;
A choice point in the game is when the player changes from one box to another, or finishes a series of moves that pushed a box in a single direction.&lt;br /&gt;
&lt;br /&gt;
Several programs have replay features related to choice points. Sokofan, for example, has replay buttons (called &amp;quot;smart do/undo&amp;quot;) to move from one choice point to another. Another example is the game history browser in Sokoban YASC which works with choice points instead of individual moves.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mouse Move Control: Select and drop ===&lt;br /&gt;
Lift and drop. Left click on a box to lift it, move to the wanted position and left click again to drop. Lift and drop is easier for long moves than the drag and drop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mouse Move Control: Drag and track ===&lt;br /&gt;
Point at the pusher with the mouse and move it in the direction you want. The pusher will track your movements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Simple deadlock detection ===&lt;br /&gt;
&lt;br /&gt;
Simple deadlock detection deals with deadlock types that require rather simple analysis of the board and the game state. Good examples are:&lt;br /&gt;
&lt;br /&gt;
* [[Deadlocks#Dead square deadlocks|Dead squares]]&lt;br /&gt;
&lt;br /&gt;
* [[Deadlocks#Freeze deadlocks|Freeze deadlocks]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced deadlock detection ===&lt;br /&gt;
&lt;br /&gt;
Advanced deadlock detection deals with deadlock types that require quite sophisticated computations. Good examples are:&lt;br /&gt;
&lt;br /&gt;
* [[Deadlocks#Bipartite deadlocks|Bipartite deadlocks]]&lt;br /&gt;
&lt;br /&gt;
* [[Deadlocks#Corral deadlocks|Corral deadlocks]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lowerbound of solution length regarding pushes ===&lt;br /&gt;
&lt;br /&gt;
For solving a level all boxes have to be pushed to goals. A program can calculate the distance of every box to the nearest goal. While doing this it is presumed only one box is on the board (hence the box does not need to be pushed around other boxes). The sum of all these box distances to their goals results in a lowerbound - no matter how the boxes are pushed to their goals the level can never be solved with fewer than the calculated number of pushes. Some programs can calculate a lowerbound for the solution length (in pushes):&amp;lt;br&amp;gt;&lt;br /&gt;
number of pushes so far + sum of all box distances to their nearest goals (presuming no other boxes are on the board).&amp;lt;br&amp;gt;&lt;br /&gt;
This lowerbound can be useful in levels like the &amp;quot;Kobus Theron&amp;quot;-series.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO ::::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Level_Editor&amp;diff=8298</id>
		<title>Feature list : Level Editor</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Level_Editor&amp;diff=8298"/>
		<updated>2026-02-09T08:21:52Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Additional Tools : Level Editor */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools : Level Editor ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS - LEVEL EDITOR ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSoko | SokForWindows | YSokoban --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Additional Tools - Level Editor !!&lt;br /&gt;
|- {{programs|5=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | editor || built-in || built-in || built-in || built-in &lt;br /&gt;
|-&lt;br /&gt;
| {{tc}} | drawing objects || wall, box, goal, player || none, floor, goal, box-on-floor, box-on-goal, player-on-floor, player-on-goal, wall || wall, box, goal, player, floor || floor, goal, box, wall&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | drawing tools || objects, eraser, rubber-band, fill || objects, pencil, drop, fill, line, rectangle, filled rectangle || objects || objects, move player, move box &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | drawing logic || select object + &amp;lt;br&amp;gt;click-and-drag the board to put objects on the board || select object + &amp;lt;br&amp;gt;select drawing tool + &amp;lt;br&amp;gt;click-and-drag the board to put objects on the board || select object + &amp;lt;br&amp;gt;click-and-drag the board to put objects on the board || select object + &amp;lt;br&amp;gt;click-and-drag the board to put objects on the board&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | drawing logic inconveniences || the board jumps around on the screen when automatic scaling and positioning kick in || drawing with tools like lines and rectangles don&#039;t show the objects on the screen during the drawing process || the board jumps around on the screen when automatic scaling and positioning kick in || The &amp;quot;move&amp;quot; tool works for boxes and the player only, not for goals &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | savegames and solutions for modified levels are retained after cosmetic changes (e.g., transformations and adding/removing extra floors/walls) || {{yes}} || {{no}} the savegames and solutions are still there in the files, but they are not applicable to the modified level || {{no}} || &amp;lt;big style=&amp;quot;color: red;background:beige;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt; {{tip|&amp;lt;small&amp;gt;will somebody with a full version check if it is &amp;quot;yes&amp;quot; or &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;|text=help}}&lt;br /&gt;
|-&lt;br /&gt;
| {{tc}} | undo || {{yes}} unlimited || {{yes}} unlimited || {{no}} || {{yes}} unlimited&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | redo || {{yes}} unlimited || {{yes}} unlimited || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo/redo logic || one complete transaction at a time || one complete transaction at a time || || one cell at a time&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo/redo history is saved from one session to the next || {{yes}} || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo/redo multiple transactions: interface || pull-down menu: 1,2,4,8,... transactions || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo/redo multiple transactions: preview || {{no}} || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | &amp;quot;rubber-band&amp;quot; area selection || {{yes}}(features: move, copy, paste, delete, transform, fill) || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- {{programs|5=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | board transformations || {{yes}} rotate counter-clockwise and clockwise, flip vertically and horizontally. || {{yes}} rotate clockwise, flip vertically || {{yes}} rotate counter-clockwise and clockwise, flip vertically and horizontally || {{yes}} rotate counter-clockwise and clockwise, flip vertically and horizontally&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | resize board || {{un}} {{tip|the board is automatically positioned so it&#039;s possible to draw on all 4 sides}} || {{yes}} (via toolbar button: resize level) || {{un}} {{tip|the board is automatically positioned so it&#039;s possible to draw on all 4 sides}} || {{un}} {{tip|&amp;quot;move board&amp;quot; does not clip the level to a predefined size like, e.g., Sokoban++ does}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | move board || {{un}} || {{yes}} || {{un}} || {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | one-click switching between play/edit mode || {{yes}} || {{no}} use menu: game-&amp;amp;gt;mode || {{no}} || {{yes}} {{tip|partial implementation: no visible button but a keyboard shortcut &amp;quot;Alt+P&amp;quot;|text=partial}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | board validation on switching from edit mode to play mode || {{yes}} || {{no}} all boards are playable || {{yes}} || &amp;lt;big style=&amp;quot;color:red;background:beige&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt;{{tip|&amp;lt;small&amp;gt;will somebody with a full version check if it happens automatically&amp;lt;/small&amp;gt;|text=help}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable skin || {{yes}} format: simple image-based skins without seamless walls || {{yes}} same skin in edit mode and in play mode || {{yes}} same skin in edit mode and in play mode || {{yes}} same skin in edit mode and in play mode&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable button images || {{yes}} || {{no}} || {{yes}} || {{un}} {{tip|the editor uses menus and has no buttons}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | button images automatically synchronized with skin images || {{no}} || {{no}} || {{yes}} || {{un}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | windows clipboard copy/paste || {{yes}} || {{yes}} {{tip|partial implementation: imports / exports complete levels instead of copying / pasting sections to the existing &amp;quot;document&amp;quot;, i.e., the board|text=partial}} || {{no}} || &amp;lt;big style=&amp;quot;color: red;background:beige;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt; {{tip|(will somebody with a full version check if it works here;&amp;lt;br&amp;gt; the demo version has it on the menu in the editor and it does not mention any restrictions, but it does not work)|width=260px|text=help}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | internal clipboard with multiple items || {{yes}} unlimited, persistent, with preview || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit board as text || {{no}} || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Moves_Management&amp;diff=8297</id>
		<title>Feature list : Moves Management</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Moves_Management&amp;diff=8297"/>
		<updated>2026-02-09T08:21:44Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Moves Management */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Moves Management ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: MOVES MANAGEMENT :::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Moves Management !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Moves Management&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | copy/paste moves (normal) || {{yes}} || {{yes}} || {{yes}} || {{yes}} {{tip|partial implementation: solutions only, not savegames&amp;lt;br&amp;gt;flaw: imported solutions are lost when the program exits&amp;lt;br&amp;gt;flaw: imported moves are listed as solutions even if this is not the case|width=200px}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy/paste moves (run-length-encoded) || {{yes}} || {{yes}} partial: paste only || {{yes}} || {{no}} ||  {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy moves after the current position || {{yes}}via keyboard: Ctrl+B || {{yes}}via menu: position -&amp;amp;gt; copy || {{yes}} Ctrl+Shift+M || {{no}} ||  {{yes}}via keyboard: Ctrl+Alt+C || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | paste moves as continuation of current position || {{yes}} || {{yes}} || {{yes}} || {{no}} ||  {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | rotate and/or flip moves || {{no}}{{tip|board rotations and flips automatically synchronize existing savegames and solutions}} || {{no}} external program [http://www.joriswit.nl/sokoban/junk/solutionrotator.zip Solution Rotator] can be downloaded || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit move information (e.g, title, author, comment) || {{yes}}via snapshot window || {{yes}}via menu: position-&amp;amp;gt;save; properties: title || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | recreate maps from solutions || {{yes}} multiple solutions, with titles and info || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | load and save moves || sok (ascii text file, levels); clipboard: import/export || xht,txt (ascii text file, solutions), mov (sokofun movie); clipboard: import/export || sok (ascii text file, levels); clipboard: import/export || gam (xml text file, level); clipboard: import/export || txt (ascii text file, levels); clipboard: import/export || sokosave&amp;lt;br&amp;gt;(savegame file) &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
* [[Solution_format]] (German language)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SokRFI - Sokoban Requests for Implementation ==&lt;br /&gt;
&amp;lt;!-- ::::: SOKRFI - SOKOBAN REQUESTS FOR IMPLEMENTATION ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;50&amp;quot; | Moves Management : SokRFI - Sokoban Requests for Implementation&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;120&amp;quot; {{tc}} | Feature || {{tc}} | Description&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| animation snapshots capture: solutions || Sokoban++ offers a utility for this feature.&amp;lt;br&amp;gt;(External program [http://www.joriswit.nl/sokoban/junk/ Sokoban Animator] can be downloaded)&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| export solution as animation || Free formats:&amp;lt;br&amp;gt;&lt;br /&gt;
Text file:&lt;br /&gt;
:Scalable Vector Graphics ([http://www.w3.org/Graphics/SVG/ SVG]).&lt;br /&gt;
:Implementation with a  [http://www.treebuilder.de/svg/sokoban/sokobano.svg template&amp;amp;#160;SVG].&lt;br /&gt;
Image file:&lt;br /&gt;
:Animated PNG ([http://wiki.mozilla.org/APNG_Specification APNG]) available with Firefox 3.&lt;br /&gt;
:[http://easysok.sourceforge.net EasySok] as alternative can save all the snapshots in a movie MNG.&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Customizing&amp;diff=8296</id>
		<title>Feature list : Customizing</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Customizing&amp;diff=8296"/>
		<updated>2026-02-09T08:21:34Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Customizing */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Customizing ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: CUSTOMIZING :::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!--:--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Customizing !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Customizing&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | settings interface || {{yes}} graphical user interface (tree-view) || {{yes}} graphical user interface (tabbed notebook view) || {{yes}} graphical user interface || {{yes}} graphical user interface (tabbed notebook view) ||  {{yes}} graphical user interface (window) || {{yes}} graphical user interface (window) &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | configurable statusbar (e.g., level title, moves, pushes) || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | configurable game state graphics (e.g., moves/pushes) || {{yes}} fonts, colours, buttons (static layout) || {{yes}} skin graphics (configurable layout) || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable cursors || {{no}} || {{yes}} graphics, skin dependent || {{no}} || {{yes}} small/large built-in cursors ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable mouse actions || {{yes}}(only right-click) || {{no}} || {{no}} || || {{yes}}(buttons: left, middle, right) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable sound events || {{yes}} independent || {{yes}} skin dependent || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | background music || {{no}} &amp;lt;!--source: cd-audio, folder, playlist&amp;lt;br&amp;gt;formats:&amp;lt;br&amp;gt;cda, mid, mp3, wma&amp;lt;br&amp;gt;(limited mp3 support)--&amp;gt; || {{no}} || {{no}} || {{yes}} source: folder&amp;lt;br&amp;gt;formats: midi, mp3. || {{no}} || {{no}} &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Customizing : Background Image!! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Customizing : Background Image&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | customizable backgrounds || {{yes}} independent, with preview || {{yes}} skin dependent || {{yes}} independent || {{yes}} skin dependent || {{yes}} independent, with preview || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | background control || {{yes}} source: color, image;&amp;lt;br&amp;gt;(image view: center, scale, stretch, tile) || {{yes}} source: color, image;&amp;lt;br&amp;gt;(image view: center, stretch, tile) || {{no}} || {{yes}} source: image;&amp;lt;br&amp;gt;(image view: tile) || {{yes}} source: image;&amp;lt;br&amp;gt;(image view: center, stretch, tile) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | quick browse backgrounds || {{no}} &amp;quot;slow&amp;quot; browse via settings || {{no}} || {{yes}} browse with preview via settings || {{no}} || {{yes}} tool button with drop-down list || {{no}} &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SokRFI - Sokoban Requests for Implementation ==&lt;br /&gt;
&amp;lt;!-- ::::: SOKRFI - SOKOBAN REQUESTS FOR IMPLEMENTATION ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;50&amp;quot; | Customizing : SokRFI - Sokoban Requests for Implementation&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;120&amp;quot; {{tc}} | Feature || {{tc}} | Description&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| background-image changer || This feature is for the users that look for to always have a different background, playing a level.&amp;lt;br&amp;gt;It is applied to the following events in the program:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#8226; On program start-up&amp;lt;br&amp;gt;&amp;amp;#8226; After solving a level.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For the convenience of users and updates are groups all backgrounds in a single folder.&amp;lt;br&amp;gt;One can also choose the mode in that the background will be changed:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#8226; Next image.&amp;lt;br&amp;gt;&amp;amp;#8226; Previous image.&amp;lt;br&amp;gt;&amp;amp;#8226; Random image.&amp;lt;p&amp;gt;Implemented in Sokomind&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Multi-player_Mode&amp;diff=8295</id>
		<title>Feature list : Multi-player Mode</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Multi-player_Mode&amp;diff=8295"/>
		<updated>2026-02-09T08:21:25Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Multi-player Mode */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Multi-player Mode ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: MULTI-PLAYER MODE :::::  --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Multi-player Mode !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Multi-player Mode&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | [[Feature_list_:_Multi-player_Mode#Multi-player|multi-player]] || {{no}} || {{yes}}(options: create new player, change player) || {{no}} || {{yes}}(options: create new player, change player) || {{yes}}(options: create new player, change player) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit player information&amp;lt;br&amp;gt;(e.g. name, email, country) || {{no}} || {{no}} || {{no}} || ||  {{no}} || {{yes}} {{tip|only when recording high score}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | display personal high-scores || {{yes}} {{tip|cramped implementation and disabled by default. Enable it in &amp;quot;open&amp;quot; window via menu&amp;amp;nbsp;-&amp;amp;gt;&amp;amp;nbsp;show solutions}} || {{yes}} via menu: level&amp;amp;nbsp;-&amp;amp;gt;&amp;amp;nbsp;choose || {{no}} || {{yes}} via menu: view&amp;amp;nbsp;-&amp;amp;gt;&amp;amp;nbsp;scores and solutions || {{yes}} drop-down list || {{yes}} via menu: help -&amp;amp;gt; scores &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | compare high-scores&amp;lt;br&amp;gt;of all the players || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} || {{yes}} general and personal scores || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} || {{yes}}ranking with all the players ||  {{no}} || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | save and restore the player profiles&amp;lt;br&amp;gt;(e.g. high-scores, settings) || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} || {{yes}} player position file (*.sav) || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} || ||{{yes}} player info file (*.SokoInfo) || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | remember each player&#039;s session &amp;lt;br&amp;gt;(e.g. level, skin, quicksaves) {{tip|not to be confused with a single player program&#039;s ability to do the same.&amp;lt;br&amp;gt;Feature implemented in Sokonline.|text=note}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Info&amp;lt;/h2&amp;gt;&lt;br /&gt;
=== Multi-player ===&lt;br /&gt;
 &lt;br /&gt;
This modality is useful for the competitions, each user can have his own configurations. As the personalization, with their scores, personal information, as the option of sending their solutions via e-mail.&lt;br /&gt;
&lt;br /&gt;
These are options for the soko-programs that point, to give the option for competitive players that participate in the challenges of internet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Related programs&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[http://sokoban.online.fr/mon_player.html Sokonline]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO ::::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Additional_Tools&amp;diff=8294</id>
		<title>Feature list : Additional Tools</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Additional_Tools&amp;diff=8294"/>
		<updated>2026-02-09T08:21:18Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Additional Tools */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX :::::--&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Additional Tools !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Additional Tools&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | level editor&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([[Feature_list_:_Level_Editor|see details below]])&amp;lt;/small&amp;gt; || {{yes}} || {{yes}} || {{yes}} || {{yes}} ||{{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | solver&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([[Feature_list_:_Solver|see details below]])&amp;lt;/small&amp;gt; || {{yes}} common solver plugins (allowing continued game play) || {{yes}} common solver plugins (blocking game play) || {{yes}} built-in (blocking game play) || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | optimizer&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([[Feature_list_:_Solver#Additional_Tools_:_Optimizer|see details below]])&amp;lt;/small&amp;gt; || {{yes}} common optimizer plugins (allowing continued game play) || {{no}} || {{yes}} built-in (blocking game play) || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | locate and browse duplicates or look-alikes&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([[Feature_list_:_Duplicate_Finder|see details below]])&amp;lt;/small&amp;gt; || {{yes}} || {{no}} || {{no}} || {{no}} ||  {{no}} external program [http://geocities.com/ygp_bg/sokodup.zip Soko-Dup] can be downloaded || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | skin graphics editor || {{no}} skin script editor available || {{no}} skin script editor available || {{no}} || {{yes}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | level generator || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | optimizer for unnecessary moves between pushes || {{yes}} automatically during game-play || {{yes}} manually via menu || {{yes}} automatically during game-play || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | level file converters || {{yes}} {{tip|SokoMind (including solutions),&amp;lt;br&amp;gt;Sokoban for Windows by Björn Källmark (including solutions),&amp;lt;br&amp;gt;Sokofan (including solutions)|width=250px|text=file types}} || {{yes}} {{tip|ASCII (*.txt, *.xsb, *.screen, *.skm, *.scb),&amp;lt;br&amp;gt;Sokoban (*.sls),&amp;lt;br&amp;gt;Visual Sokoban 1 and 2 (*.pak),&amp;lt;br&amp;gt;WinSoko (*.rdf),&amp;lt;br&amp;gt;Games 4 Brains (*.lp0),&amp;lt;br&amp;gt;Mark McIntyres Soko (*.sok),&amp;lt;br&amp;gt;XML Sokoban (*.xml),&amp;lt;br&amp;gt;Sokoban XP (*.sxl),&amp;lt;br&amp;gt;Games 4 Brains Sokoblue (*.dat),&amp;lt;br&amp;gt;Icons (*.ico),&amp;lt;br&amp;gt;Björn Källmark&#039;s xml format (*.slc)|width=270px|text=file types}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | image snapshot capture || {{no}} || {{yes}} miniature level bitmap with 1 pixel per square; via menu: level-&amp;amp;gt;copy level || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Skin_Features&amp;diff=8293</id>
		<title>Feature list : Skin Features</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Skin_Features&amp;diff=8293"/>
		<updated>2026-02-09T08:21:10Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Skin Features */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skin Features ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: SKIN FEATURES ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Skin Features !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Skin Features&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | customizable skin || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | skin formats || {{yes}} meta-script language {{tip|includes scripts for importing the following skin formats:&amp;lt;br&amp;gt;common sokoban skin images (YSokoban),&amp;lt;br&amp;gt;Sokoban++ skin scripts,&amp;lt;br&amp;gt;Sokofan skin scripts,&amp;lt;br&amp;gt;Visual Sokoban skin scripts,&amp;lt;br&amp;gt;Sokoban for Windows skin scripts (Björn Källmark),&amp;lt;br&amp;gt;Sokoban BDE images,&amp;lt;br&amp;gt;SuperSoko skin images,&amp;lt;br&amp;gt;SokoStation4 skin scripts&amp;lt;br&amp;gt;JSoko skin scripts|width=210px}} || {{yes}} Sokoban++ skin scripts (ini) || {{yes}} two built-in skins || {{yes}} Sokoban for Windows skin scripts (skn) || {{yes}} common sokoban skin images (YSokoban) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | resizeable skins || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | pseudo-3D skins (sokoban++ style) || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | legal moves box animation (ysokoban style) || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | legal moves player animation (ysokoban style) || {{yes}} || {{no}} || {{no}} || {{no}} ||{{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | solution animation (ysokoban style) || {{yes}} || {{no}} || {{no}} || {{no}} ||  {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | animation frame extrapolation (morphing) || {{yes}} 30 frames || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | directional player || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | directional player can return to an &amp;quot;at ease&amp;quot; position || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | directional box|| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | directional box can return to an &amp;quot;at ease&amp;quot; position || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | support for seamless walls&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;(as opposed to discrete walls)&amp;lt;/small&amp;gt; || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | walls can be transparent || {{no}} || {{no}} skin dependent || {{yes}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | floors can be transparent || {{yes}} || {{no}} skin dependent || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | skin browser with preview || {{yes}} image-based skins; not scripted skins || {{no}} || {{yes}} || {{yes}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | recent skins history || {{yes}} || {{yes}} || {{no}} || {{un}} {{tip|with all skins in a list it is just as easy to browse the whole list}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | quick browse skins || {{yes}} menu: default, recent skins; keyboard shortcuts: next, default || {{yes}} menu: default, recent skins || {{yes}} menu: skin list || {{yes}} menu: skin list || {{yes}} use F4-F8 to select one of the loaded skins || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Duplicate_Finder&amp;diff=8292</id>
		<title>Feature list : Duplicate Finder</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Duplicate_Finder&amp;diff=8292"/>
		<updated>2026-02-09T08:21:02Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Additional Tools : Duplicate Finder */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools : Duplicate Finder ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS - Duplicate Finder ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokofan | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Mobile | SokoSave Desktop | SuperSoko | Tse --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Additional Tools : Duplicate Finder !! &lt;br /&gt;
|- {{programs|3=&amp;amp;nbsp;|4=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | duplicate finder || built-in ||{{ni}} {{tip|(Alternatively has the feature &#039;&#039;&#039;duplicate levels exchange solutions&#039;&#039;&#039;)|text=note|menu=yes}} || || || external utility&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | search type || {{yes}} equal and similar levels.&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;type:&amp;lt;/b&amp;gt; rotated and mirrored, dead squares removal, normalized walls, normalized pusher position. || || || || {{yes}} equal and similar levels.&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;type:&amp;lt;/b&amp;gt; rotated and mirrored, dead squares removal, normalized walls, normalized pusher position. &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | relaxed match options || {{yes}}{{tip|* with/without boxes&amp;lt;br&amp;gt;* with/without goals&amp;lt;br&amp;gt;* with/without interior walls&amp;lt;br&amp;gt;* with/without exterior walls}} ||  || || || {{yes}}{{tip|* targets only, with optional threshold count&amp;lt;br&amp;gt;* without pusher and boxes&amp;lt;br&amp;gt;* walls only&amp;lt;br&amp;gt;* without internal walls&amp;lt;br&amp;gt;* floors only}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | search current level duplicates || {{yes}} || || || || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | duplicate levels preview || {{yes}} ||  || || ||  {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | search history || {{tip|a persistent user maintained &amp;quot;scanned folders&amp;quot; list is available|text=note}} ||  || || || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | export report duplicates ||{{yes}}|| || || ||{{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | duplicate levels exchange solutions || {{yes}} {{tip| normalized levels exchange solutions, i.e., an exact match is not required.}} || {{yes}} {{tip|identical levels automatically exchange their solutions}} || || || {{yes}} &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO :::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Info==&lt;br /&gt;
=== Related pages ===&lt;br /&gt;
&lt;br /&gt;
* [[Pruning_duplicate_positions|Pruning duplicate positions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO :::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Solver&amp;diff=8291</id>
		<title>Feature list : Solver</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Solver&amp;diff=8291"/>
		<updated>2026-02-09T08:20:54Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Additional Tools : Solver */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools : Solver ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS - SOLVER ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokofan | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Mobile | SokoSave Desktop | SuperSoko | BoxSearch | Takaken --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | Additional Tools - Solver&lt;br /&gt;
|- {{programs|4=&amp;lt;div&amp;gt;[http://www.ic-net.or.jp/home/takaken/e/soko/index.html Takaken]&amp;lt;/div&amp;gt;|5=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | solver || common solver plugins || common solver plugins || built-in || built-in &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | solver running mode || background, allowing continued game play || foreground, blocking game play || foreground, blocking game play || foreground, blocking game play&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | solution types&amp;lt;br&amp;gt;(e.g., any, move-optimal, push-optimal) || solver strategies and options depend on the plugins, not the host program || solver strategies and options depend on the plugins, not the host program || push-optimal, push-optimal with best moves, move-optimal with best pushes || move-optimal, push-optimal&lt;br /&gt;
|-&lt;br /&gt;
| {{tc}} | task queue || {{yes}} || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Info==&lt;br /&gt;
===Related Pages===&lt;br /&gt;
[[Solver|Solver]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO ::::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Optimizer&amp;diff=8290</id>
		<title>Feature list : Optimizer</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Optimizer&amp;diff=8290"/>
		<updated>2026-02-09T08:20:44Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Additional Tools : Optimizer */ removed last changed time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools : Optimizer ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS - OPTIMIZER ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokofan | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Mobile | SokoSave Desktop | SuperSoko --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Additional Tools - Optimizer !!&lt;br /&gt;
|- {{programs|2=&amp;amp;nbsp;|4=&amp;amp;nbsp;|5=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | optimizer || common optimizer plugins || || built-in &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | optimizer running mode || background, allowing continued game play || ||  foreground, allowing continued game play&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | optimization options (e.g., move-optimal, push-optimal) || optimization settings and options depend on the plugins, not the host program || || pushes/moves, moves/pushes, box changes, box lines &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | task queue || {{yes}} || || {{no}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Info==&lt;br /&gt;
===Related pages===&lt;br /&gt;
[[Optimizer|Optimizer_Development]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO ::::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=How_to_play_Sokoban&amp;diff=8289</id>
		<title>How to play Sokoban</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=How_to_play_Sokoban&amp;diff=8289"/>
		<updated>2026-02-09T07:55:59Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: replaced &amp;lt;code&amp;gt; by &amp;lt;pre&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to play Sokoban. There are also simple strategies explained.&lt;br /&gt;
&lt;br /&gt;
First let&#039;s have a look at the rules of the game:&lt;br /&gt;
&lt;br /&gt;
The object of Sokoban is to take some objects (usually boxes) to designated locations by pushing them.&lt;br /&gt;
&lt;br /&gt;
To do this the user moves a man who we call Sokoban. Sokoban can move up, down, left and right. He can&#039;t pass through walls or boxes. He can push only one box at a time (never pull). At any time a square can only be occupied by one of a wall, box or man.&lt;br /&gt;
&lt;br /&gt;
A level contains these elements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Walls:                    #&lt;br /&gt;
 Boxes:                    $&lt;br /&gt;
 Goals:                    .&lt;br /&gt;
 Free squares:            &#039; &#039;&lt;br /&gt;
 The Sokoban / the player: @&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boxes and the Sokoban can also be located on a goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Boxes on goals:           *&lt;br /&gt;
 The Sokoban on a goal:    +&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the following the Sokoban is called &amp;quot;the player&amp;quot; to indicate that this is the object the user can move.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Movements:&lt;br /&gt;
Nearly all Sokoban games can be played using the arrow keys. Nowadays many programs also support playing with the mouse.&lt;br /&gt;
All moves of the Sokoban need only to be done for pushing a box.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Level 1&lt;br /&gt;
 #########&lt;br /&gt;
 #@  $  .#&lt;br /&gt;
 #########&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using the arrow keys one has to press the &amp;quot;right arrow&amp;quot; 5 times. &lt;br /&gt;
Using the mouse you have to mark the box for pushing (by clicking on it) and then clicking at the position the box is to be pushed to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Level 2&lt;br /&gt;
 ########&lt;br /&gt;
 #    ###&lt;br /&gt;
 #@$  ###&lt;br /&gt;
 #### ###&lt;br /&gt;
 ##   ###&lt;br /&gt;
 ##    ##&lt;br /&gt;
 #  ##. #&lt;br /&gt;
 #      #&lt;br /&gt;
 #####  #&lt;br /&gt;
 ########&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the difference between playing with keyboard and playing with mouse is demonstrated. Using the mouse is as simple as in Level 1. Using the arrow keys needs a lot of key presses for pushing the box to the goal.&lt;br /&gt;
Hence, it&#039;s always recommended to use the mouse for playing. The advantages compared to keyboard playing are:&lt;br /&gt;
# With two clicks a box can be pushed to every possible square&lt;br /&gt;
# Most programs automatically calculates the best moves for the player. Hence the user doesn&#039;t have to think about how to move the player by keys.&lt;br /&gt;
# Some programs even show the squares a box can be pushed to. In this way it&#039;s easy to see if a box can be pushed to the selected position.&lt;br /&gt;
# The user can concentrate on pushes only instead of moves and pushes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Levels containing only one box are very simple to solve using the mouse: One just has to mark the box for pushing and then to choose the goal square as target.&lt;br /&gt;
&lt;br /&gt;
Usually Sokoban levels are a lot more complicated.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s increase the difficulty step by step:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Level 3&lt;br /&gt;
 ########&lt;br /&gt;
 #      #&lt;br /&gt;
 #  $  .#&lt;br /&gt;
 #@ $  .#&lt;br /&gt;
 #  $  .#&lt;br /&gt;
 #      #&lt;br /&gt;
 ########&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here the level contains 3 boxes. Nevertheless the level can easily be solved. Although every box can be pushed to each goal it doesn&#039;t matter which box is pushed to which goal. The boxes can just be pushed one after the other to any goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Level 4&lt;br /&gt;
 ########&lt;br /&gt;
 #  #.  #&lt;br /&gt;
 # $#   #&lt;br /&gt;
 #  # @##&lt;br /&gt;
 #  # $##&lt;br /&gt;
 #    .##&lt;br /&gt;
 ########&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This level is more complicated. The box under the player is close to a goal. Nevertheless it can&#039;t be pushed to the goal - this would result in a [[Deadlocks|deadlock]]. This level shows some problems one has to solve before it&#039;s possible to finish the level:&lt;br /&gt;
# Not every box can be pushed to every goal&lt;br /&gt;
# Boxes can&#039;t just be pushed to the nearest goal in every case&lt;br /&gt;
# Box pushes can create a [[Deadlocks|deadlock]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Level 5&lt;br /&gt;
 #########&lt;br /&gt;
 ##  #   #&lt;br /&gt;
 #.$.  $ #&lt;br /&gt;
 # #  ## #&lt;br /&gt;
 # @$.$. #&lt;br /&gt;
 #########&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To solve this level the boxes have to be pushed to their goals in a specific order. Moreover one box has to be pushed away from its goal before it can be pushed to it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Level 6&lt;br /&gt;
 #########&lt;br /&gt;
 #  #   .#&lt;br /&gt;
 #@$ $   #&lt;br /&gt;
 # $ ##..#&lt;br /&gt;
 #   #####&lt;br /&gt;
 #########&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This level is another example of the need to push a box away from its goal before the level can be solved. Additionally one box has to be &amp;quot;parked&amp;quot; until some other boxes have reached their goals. A situation where a box must be pushed but can&#039;t be pushed immediately to its goal occurs very often in Sokoban levels. Some of them are &amp;quot;parking&amp;quot; situations.&lt;br /&gt;
&amp;quot;Parking&amp;quot; means:&lt;br /&gt;
# a box must be pushed away from its goal &lt;br /&gt;
# after the box is pushed to its parking position another box has to be pushed&lt;br /&gt;
# parking the box at a specific position is required to solve the level&lt;br /&gt;
&lt;br /&gt;
== Reverse play ==&lt;br /&gt;
&lt;br /&gt;
Some Sokoban programs allow to play a puzzle backward. &lt;br /&gt;
&lt;br /&gt;
Starting with all boxes on goal squares, the player pulls the boxes to return to the initial puzzle state.&lt;br /&gt;
&lt;br /&gt;
Solutions found this way solve the standard puzzle when both the order and the direction of the moves are reversed.&lt;br /&gt;
&lt;br /&gt;
This approach can help players better understand the puzzle structure and develop effective solving strategies.&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Solver_Statistics&amp;diff=8288</id>
		<title>Solver Statistics</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Solver_Statistics&amp;diff=8288"/>
		<updated>2026-02-08T22:06:22Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Disclaimer */ fixed URL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Sokoban solver program is a program that &amp;lt;u&amp;gt;&#039;&#039;tries to&#039;&#039;&amp;lt;/u&amp;gt; solve Sokoban levels. There are several solver programs available. (See [[Links#Sokoban Solvers |Sokoban solvers]].)&lt;br /&gt;
&lt;br /&gt;
Solver programs may have different objectives:&lt;br /&gt;
# Find any solution&lt;br /&gt;
# Find push optimal solutions&lt;br /&gt;
# Find push optimal solutions with best moves&lt;br /&gt;
# Find move optimal solutions&lt;br /&gt;
# Find move optimal solutions with best pushes&lt;br /&gt;
&lt;br /&gt;
Given the computational complexity of these tasks, a solver program is usually designed for just finding any solution. If a solution is to be optimized, an optimizer program can be used. (See [[Links#Sokoban Solvers |Optimizers]].)&lt;br /&gt;
&lt;br /&gt;
The statistics presented here provide a picture of what the best freely available Sokoban solvers can do.&amp;lt;br /&amp;gt; &lt;br /&gt;
For copyrights, credits and redistribution of these statistics, please read the disclaimer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General benchmarking information ==&lt;br /&gt;
&lt;br /&gt;
For practical reasons, almost all tests have been performed with a 10 minutes time limit. The tests are, however, not a 10 minutes contest but a showcase for what the solvers can do, so other time limits are entirely feasible.&lt;br /&gt;
&lt;br /&gt;
The hardware used for the tests is a standard PC with a modern operating system (64bit).&lt;br /&gt;
&lt;br /&gt;
Tests are performed with default solver settings.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
!Solver                                                                     || Version || Author                         || Architecture || CPU usage || Source code available || More info&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival]&amp;lt;/span&amp;gt;                                   || 3.1     || Yaron Shoham ||  64bit        || 8 threads    || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival 3.1]&amp;lt;/span&amp;gt;                || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Website with papers about the solver]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;                         || 7.32 || Florent Diedler                || 64bit        || all threads || no                   || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[Sokoban solver &amp;quot;scribbles&amp;quot; by Florent Diedler about the Sokolution solver | Sokoban solver &amp;quot;scribbles&amp;quot; by Florent Diedler]]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;     || 7.4     || Ken&#039;ichiro Takahashi (takaken) || 64bit        || 2 threads || no                   || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/puzzle/sokoban/ver731/index.html Description of the used algorithms]&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry]&amp;lt;/span&amp;gt;                                || 0.3     || Yaron Shoham                   || 64bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry 0.3] || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Website with paper about the solver]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;     || 7.0 beta 1 || 葛永 (Ge Yong)      || 64bit         || 1 thread  || no                 || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch Website of BoxSearch]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;     || 2.153   || Brian Damgaard                 || 32bit + 64bit || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS 2.153]&amp;lt;/span&amp;gt;  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard about the YASS solver | Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard]]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://jsokoapplet.sourceforge.io/ JSoko]&amp;lt;/span&amp;gt;                                     || 2.25     || Matthias Meger                || 64bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/jsokoapplet/files/JSoko/Version%202.24/ JSoko 2.25]&amp;lt;/span&amp;gt;  || [[Solver | Solver information]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html Rolling Stone]&amp;lt;/span&amp;gt; || 1.0     || Andreas Junghanns              || 32bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/Src/ RS] || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://scholar.google.com/scholar?hl=de&amp;amp;as_sdt=0%2C5&amp;amp;q=rolling+stone+sokoban&amp;amp;btnG= Rolling Stone papers]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Contact: SokobanoWiki@gmail.com&lt;br /&gt;
&lt;br /&gt;
== XSokoban Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The XSokoban level set is the de facto standard test suite in the academic literature on Sokoban solver programming.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;11&amp;quot; | Sokoban Solver Statistics - XSokoban Test Suite - Solved Levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; |      Collection&lt;br /&gt;
| width=&amp;quot;160&amp;quot;   |                 Author&lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   |                 Levels&lt;br /&gt;
| width= &amp;quot;90&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html                 Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | [[JSoko Solver    | JSoko]]&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- XSokoban. &amp;quot;Collection, author, levels, Rolling Stone, Takaken, YASS, JSoko, Sokolution, Festival&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/ XSokoban]&amp;lt;/span&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot;                                                | Thinking Rabbit, ...&lt;br /&gt;
|                                                                  90&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 59*]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Takaken%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/YASS%20-%20XSokoban.html 89]&amp;lt;/span&amp;gt;&lt;br /&gt;
| [[SolverStatistics-jsoko-ThinkingRabbit-XSokoban            |    67    ]]&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Sokolution%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Curry%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Festival%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/BoxSearch%20-%20XSokoban.html &#039;&#039;&#039;89&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) 59 solved puzzles according to paper [https://sokoban.dk/wp-content/uploads/2016/02/Single-Agent.pdf Sokoban Enhancing general single-agent search methods using domain knowledge]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - XSokoban Test Suite - Push-optimal Solutions&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | Collection&lt;br /&gt;
| width=&amp;quot;160&amp;quot;              | Author&lt;br /&gt;
| width=&amp;quot; 70&amp;quot;              | Levels&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.ijcai.org/Abstract/16/100 Pereira et al.]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sourceforge.net/projects/jsokoapplet/ JSoko]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | XSokoban&lt;br /&gt;
| align=&amp;quot;left&amp;quot;                   | Thinking Rabbit, ...&lt;br /&gt;
|                90&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 6 ]&amp;lt;/span&amp;gt;&lt;br /&gt;
|                [[SolverStatistics-Pereira-ThinkingRabbit-XSokoban-Push-Optimal | 28 ]]&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/JSoko%20-%20XSokoban.html 25]&amp;lt;/span&amp;gt;&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/Sokolution%20-%20XSokoban.html &#039;&#039;&#039;73&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The statistic shows that Sokolution is by far the best solver when searching for push optimal solutions.&lt;br /&gt;
&lt;br /&gt;
== Large Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The large test suite comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
This test suite is not subject to change, as it is intended to be a &amp;quot;Large Standard Test Suite&amp;quot; for Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - Large Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|    3272      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;3208&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    3207      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    2953      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    2899      &amp;lt;!-- YASS         --&amp;gt;&lt;br /&gt;
|    2749      &amp;lt;!-- BoxSearch    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/LargeTestSuite/ Click here to see the detailed results for the Large Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download the entire test suite [https://sourceforge.net/projects/sokoban-solver-statistics/files/Large%20Test%20Suite.zip/download here] or the individual level sets from [http://sokobano.de/de/levels.php www.sokobano.de].&lt;br /&gt;
&lt;br /&gt;
== Open Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The statistics shows the results for the leading Sokoban solvers for various level collections. Please note that the grand totals are simple summations. The number of solved unique levels may differ slightly due to duplicate levels in the level packs.&lt;br /&gt;
&lt;br /&gt;
This test suite may be changed by adding new level collections from time to time. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - Open Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|   10043      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;9596&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    9516      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    8721      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    8339      &amp;lt;!-- YASS         --&amp;gt;&lt;br /&gt;
|    8111      &amp;lt;!-- BoxSearch    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/OpenTestSuite/ Click here to see the detailed results for the Open Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Sokolution/ Comparison for the Open Test Suite for all Sokolution versions].&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Push-optimal Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Push-optimal Test Suite&amp;quot; comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
For this test suite the solvers must solve the puzzles push optimal.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Sokoban Solver Statistics - Large Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|    1588      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/ &#039;&#039;&#039;1529&#039;&#039;&#039;]&amp;lt;/span&amp;gt;  &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/ Click here to see the detailed results for the Push-Optimal Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== GroupEffort Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The only reason for benchmarking the GroupEffort test suite is to demonstrate the limited veracity of the statement made in section &amp;quot;6 Conclusion&amp;quot; of the thesis, where the author writes that the GroupEffort solver &amp;quot;outperforms existing solvers&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The benchmarks show that this was only true for the cherry-picked small test set at the time the thesis was published, never for the presumably more representative large test set. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Sokoban Solver Statistics - GroupEffort Test Suite - Solved Levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- The header                                                                                   --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;                &amp;lt;!-- standard format of all rows --&amp;gt;&lt;br /&gt;
| width = &amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | Collection&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; |                                                         Levels&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://baldur.iti.kit.edu/theses/SokobanPortfolio.pdf GroupEffort]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/                          Festival]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/                  Sokolution]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/jsokoapplet/          JSoko]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/          YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Small Set                                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | [[SolverStatistics-GroupEffort-Small-Set | Small Set]] &lt;br /&gt;
| 200&lt;br /&gt;
| 196 (a)(c) &lt;br /&gt;
| [[SolverStatistics-Festival-GroupEffort-Small-Set   | &#039;&#039;&#039;200&#039;&#039;&#039; (b) ]]&lt;br /&gt;
| [[SolverStatistics-Sokolution-GroupEffort-Small-Set | &#039;&#039;&#039;200&#039;&#039;&#039; (a) ]]&lt;br /&gt;
| [[SolverStatistics-Takaken-GroupEffort-Small-Set    |    192 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-JSoko-GroupEffort-Small-Set      |    180 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-YASS-GroupEffort-Small-Set       |    191 (b)    ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Large Set                                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot;| [[SolverStatistics-GroupEffort-Large-Set | Large Set]] &lt;br /&gt;
| 2851&lt;br /&gt;
| 1566 (a)(c)&lt;br /&gt;
| [[SolverStatistics-Festival-GroupEffort-Large-Set   | &#039;&#039;&#039;2766&#039;&#039;&#039; (b) ]]&lt;br /&gt;
| [[SolverStatistics-Sokolution-GroupEffort-Large-Set |    2471 (a)    ]]&lt;br /&gt;
| [[SolverStatistics-Takaken-GroupEffort-Large-Set    |    2462 (b)    ]]&lt;br /&gt;
| [[SolverStatistics-JSoko-GroupEffort-Large-Set      |    2165 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-YASS-GroupEffort-Large-Set       |    2260 (b)    ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Total                                                                                        --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot;| Total &lt;br /&gt;
|    3051      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
|    1762      &amp;lt;!-- Group Effort --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;2966&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    2671      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    2654      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    2345      &amp;lt;!-- JSoko        --&amp;gt;&lt;br /&gt;
|    2471      &amp;lt;!-- YASS         --&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(a): Time limit: 5 minutes &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;   (b): Time limit: 10 minutes &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;   (c): Best GroupEffort solver configuration&lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
 Sokoban&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban (R) Registered Trademark of Falcon Co., Ltd., Japan&lt;br /&gt;
 Sokoban Copyright (C) 1982-2004 by Hiroyuki Imabayashi, Japan&lt;br /&gt;
 Sokoban Copyright (C) 1989, 1990, 2001-2004 by Falcon Co., Ltd., Japan&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 License&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Redistribution and use of the Sokoban Solver statistics are permitted&lt;br /&gt;
 provided that the following conditions are met: &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 * Redistributions may not be sold, nor may they be used in a commercial product or activity.&lt;br /&gt;
 * Redistributions must reproduce the entire content of this disclaimer in the documentation&lt;br /&gt;
   and/or other materials provided with the distribution.&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Credits (in no particular order)&lt;br /&gt;
 ================================&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 CosmoNotes, CosmoPoly, LOMA, MicroCosmos, MiniCosmos,&lt;br /&gt;
 NaboCosmos and PicoCosmos level sets&lt;br /&gt;
 Copyright (C) by Aymeric du Peloux.&lt;br /&gt;
 E-mail: aymeric.du-peloux@gadz.org&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 dh1, dh2, bagatelle, cantrip, and maelstrom level sets&lt;br /&gt;
 Copyright (C) by David Holland&lt;br /&gt;
 E-mail: unknown&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Microban, Mas Microban, Sasquatch, Mas Sasquatch, Sasquatch III,&lt;br /&gt;
 Sasquatch IV, Sasquatch V, Sasquatch VI and Sasquatch VII level sets.&lt;br /&gt;
 Copyright (C) by David W. Skinner&lt;br /&gt;
 E-mail: sasquatch@bentonrea.com&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Grigr2001, Grigr2002 and GrigrSpecial level sets&lt;br /&gt;
 Copyright (C) by Evgeny Grigoriev  (aka GRIGoRusha)&lt;br /&gt;
 E-mail: grigr@yandex.ru&lt;br /&gt;
 Web site: http://grigr.narod.ru/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 SokEvo and SokHard level sets&lt;br /&gt;
 Copyright (C) 2002-2006 by Lee J Haywood&lt;br /&gt;
 E-mail: fruise@gmail.com&lt;br /&gt;
 Web Site: https://ljhaywood.uk/games/sokoban/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sven level set&lt;br /&gt;
 Copyright (C) 2007 by Sven Egevad&lt;br /&gt;
 E-mail: sven.egevad@telia.com&lt;br /&gt;
 Web Site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban Perfect and Sokoban Revenge level sets&lt;br /&gt;
 Copyright (C) 1989, 1991 by Thinking Rabbit&lt;br /&gt;
 Web Site: https://sokoban.jp/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Y.M. Auto and Y.M. Handmade level sets&lt;br /&gt;
 Copyright (C) Yoshio Murase &lt;br /&gt;
 E-mail: yoshio@asahi.email.ne.jp&lt;br /&gt;
 Web Site: http://www.ne.jp/asahi/ai/yoshio/sokoban/index.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 JSoko&lt;br /&gt;
 Copyright (C) by Matthias Meger&lt;br /&gt;
 E-mail: JSoko@mail.de&lt;br /&gt;
 Web site: https://jsokoapplet.sourceforge.io/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban Automatic Solver (aka Takaken solver)&lt;br /&gt;
 Copyright (C) 2002 - 200X Ken&#039;ichiro Takahashi (aka takaken)&lt;br /&gt;
 E-mail: takaken@ic-net.or.jp&lt;br /&gt;
 Web site: https://computerpuzzle.net/english/sokoban/ver740/index.html &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 YASS - Yet Another Sokoban Solver and Optimizer - For Small Levels&lt;br /&gt;
 Copyright (C) 2007 by Brian Damgaard&lt;br /&gt;
 Web site: https://sourceforge.net/projects/sokobanyasc/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban YASC &lt;br /&gt;
 Copyright (C) 2001-2020 by Brian Damgaard&lt;br /&gt;
 Web Site: https://sourceforge.net/projects/sokobanyasc/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 YSokoban&lt;br /&gt;
 Copyright (C) 2007 by George Petrov&lt;br /&gt;
 E-mail: YGP@WriteMe.com&lt;br /&gt;
 Web Site:  http://ygp.orgfree.com/sokoban.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 XSokoban&lt;br /&gt;
 Copyright (C) by Andrew Myers&lt;br /&gt;
 E-mail: andru@cs.cornell.edu&lt;br /&gt;
 Web Site: http://www.cs.cornell.edu/andru/xsokoban.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokofan&lt;br /&gt;
 Copyright (C) 2005-2007 by Eric Leung&lt;br /&gt;
 E-mail: eleung2@hotpop.com&lt;br /&gt;
 Web Site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokolution&lt;br /&gt;
 Copyright (C) 2016-2019 by Florent DIEDLER&lt;br /&gt;
 E-mail: fdiedler2000@gmail.com&lt;br /&gt;
 Web site: http://sokolution.infinityfreeapp.com/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Festival&lt;br /&gt;
 Copyright (C) 2020 by Yaron Shoham&lt;br /&gt;
 Web site: https://festival-solver.site/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Trademarks&lt;br /&gt;
 ========== &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Company names, brand names and product names are trademarks&lt;br /&gt;
 or registered trademarks of their respective holders.&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Contact&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 E-mail: sokobanowiki@gmail.com&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Links&amp;diff=8282</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Links&amp;diff=8282"/>
		<updated>2026-01-23T18:05:59Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: Updated links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains links to several web-sites with Sokoban related material, e.g., programs, levels, and publications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sokoban Programs ==&lt;br /&gt;
[[Feature list]] comparing Sokoban programs.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Author || Operating System&lt;br /&gt;
|-&lt;br /&gt;
| [[First Sokoban program]] || Hiroyuki Imabayashi || PC-8801&lt;br /&gt;
|-&lt;br /&gt;
| [http://sourceforge.net/projects/sokobanyasc/ Sokoban YASC ] || Brian Damgaard || Windows&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.joriswit.nl/sokoban/ Sokoban++] || Joris Wit || Windows&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.sokosave.org/ SokoSave Mobile] || Eric Sunshine || Windows Mobile&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.sokosave.org/ SokoSave Desktop] || Eric Sunshine || Windows, MacOS/X&lt;br /&gt;
|-&lt;br /&gt;
| [https://jsokoapplet.sourceforge.io/ JSoko] || Matthias Meger || Platform independent (Java)&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.sourcecode.se/sokoban/ Sokoban&amp;amp;nbsp;for&amp;amp;nbsp;Windows] || Björn Källmark || Windows&lt;br /&gt;
|-&lt;br /&gt;
| [http://ygp.orgfree.com/sokoban.html YSokoban] || George Petrov || Windows&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.fuzitoo.com/ Fuzitoo] || Jean Van Laethem || Windows&lt;br /&gt;
|-&lt;br /&gt;
| [https://puzzle-dungeon.github.io/ Puzzle Dungeon] || Mikhael Goikhman || GNU/Linux, Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sokoban Solvers ==&lt;br /&gt;
[[Solver Statistics | Statistics]] comparing Sokoban solvers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Author || Operating System&lt;br /&gt;
|- &lt;br /&gt;
| [https://computerpuzzle.net/english/sokoban/ver740/index.html Sokoban Automatic solver] || Ken&#039;ichiro Takahashi (takaken) || Windows&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cs.ualberta.ca/~games/Sokoban/program.html Rolling Stone] || Andreas Junghanns || Linux sourcecode&lt;br /&gt;
|-&lt;br /&gt;
| [https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS] || Brian Damgaard || Windows / Platform independent source code (Pascal)&lt;br /&gt;
|-&lt;br /&gt;
| [https://jsokoapplet.sourceforge.io/ JSoko] || Matthias Meger || Platform independent (Java)&lt;br /&gt;
|-&lt;br /&gt;
| [https://sokolution.infinityfreeapp.com/ Sokolution] || Florent Diedler || Windows&lt;br /&gt;
|-&lt;br /&gt;
| [https://festival-solver.site/ Festival] || Yaron Shoham || Windows&lt;br /&gt;
|-&lt;br /&gt;
| [https://festival-solver.site/curry/ Curry] || Yaron Shoham || Windows&lt;br /&gt;
|-&lt;br /&gt;
| [https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch] || Ge Yong || Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Worldwide Sokoban High-Scores ==&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | worldwide best known highscores&lt;br /&gt;
|-&lt;br /&gt;
| [http://sokobano.de/scores/ Sokoban PROJECT] || Sokobano.de&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |last XSokoban highscore list &amp;lt;small style=&amp;quot;color:gray;&amp;quot;&amp;gt;from december 2005&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[http://web.archive.org/web/20051201163838/www5.cs.cornell.edu/cgi-bin/andru/xsokoban/best-scores-moves by moves] || [http://web.archive.org/web/20051201164016/www5.cs.cornell.edu/cgi-bin/andru/xsokoban/best-scores-pushes by pushes]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Level Generators ==&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Author || Operating System&lt;br /&gt;
|-&lt;br /&gt;
| [https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASGen] || Brian Damgaard ||  	 Windows / Platform independent source code (Pascal)&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Sokobania | sokogen]] || Jacques Duthen || UNIX / lisp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fan Groups ==&lt;br /&gt;
[https://www.facebook.com/groups/539527933307469/ Facebook Sokoban Group]&lt;br /&gt;
&lt;br /&gt;
[https://groups.io/g/sokoban Groups.io Sokoban Group]&lt;br /&gt;
&lt;br /&gt;
== Optimizers ==&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Author || Operating System&lt;br /&gt;
|-&lt;br /&gt;
| [https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASO] || Brian Damgaard || Windows / Platform independent source code (Pascal)&lt;br /&gt;
|-&lt;br /&gt;
| [http://sourceforge.net/projects/jsokoapplet/ JSoko] || Matthias Meger || Platform independent (Java)&lt;br /&gt;
|-&lt;br /&gt;
| [https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch] || Ge Yong || Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Levels for Downloading ==&lt;br /&gt;
* [http://www.sourcecode.se/sokoban/levels.php Sourcecode.se]&lt;br /&gt;
* [http://sokobano.de/scores/ Sokoban PROJECT]&lt;br /&gt;
* [http://grigr.narod.ru/ Evgeny Grigoriev Maps]&lt;br /&gt;
* [http://kantorek.webzdarma.cz/sokobana.htm František Pokorný Maps]&lt;br /&gt;
* [https://ljhaywood.uk/games/sokoban/ Lee J Haywood Maps]&lt;br /&gt;
&lt;br /&gt;
== Information about the original Sokoban game puzzles ==&lt;br /&gt;
* [https://wayneca.neocities.org/Sokoban/ Tribute to original Sokoban game puzzles]&lt;br /&gt;
&lt;br /&gt;
== Literature ==&lt;br /&gt;
* [http://www.cs.ualberta.ca/~games/Sokoban/papers.html  Sokoban Publications]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Sokoban links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.onlinespiele-sammlung.de/sokoban/list-of-sokoban-games.php?records_to_show=-1 &amp;quot;Sokoban online&amp;quot; collection (German)]&lt;br /&gt;
* [http://sourceforge.net/projects/yasminuroban/ Yasminuroban (DHTML Sokoban)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Online Sokoban Games ===&lt;br /&gt;
;&#039;&#039;&#039;JavaScript&#039;&#039;&#039;&lt;br /&gt;
* [http://sokoban.e-contento.com/sokoban.php Sokoban en JavaScript] by Juan Antonio Jiménez&lt;br /&gt;
* [http://www.game-sokoban.com Game Sokoban]&lt;br /&gt;
* [https://ljhaywood.uk/games/crossoban/ Crossoban] by Lee J Haywood&lt;br /&gt;
* [https://sokoban-solver.com/ Sokoban Solver] Explore tens of thousands of Sokoban puzzles with solutions ready for replay&lt;br /&gt;
* [https://www.linusakesson.net/games/autosokoban/ Autosokoban] Website which generates an unlimited number of puzzles with increasing difficulty to play online&lt;br /&gt;
* [http://www.letslogic.com/ Lets Logic - The Online Sokoban Community]&lt;br /&gt;
* [https://sokoban-solver-statistics.sourceforge.io Sokoban Javascript] by Matthias Meger&lt;br /&gt;
&lt;br /&gt;
=== Online Sokoban Variant Games ===&lt;br /&gt;
;&#039;&#039;&#039;JavaScript&#039;&#039;&#039;&lt;br /&gt;
* [http://www.chrisfortey.com/#sokobanColours Sokoban Colours]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Solver_Statistics&amp;diff=8281</id>
		<title>Solver Statistics</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Solver_Statistics&amp;diff=8281"/>
		<updated>2025-08-14T15:18:29Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Open Test Suite */ added BoxSearch to Open Test Suite and removed a duplicate collection from all results&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Sokoban solver program is a program that &amp;lt;u&amp;gt;&#039;&#039;tries to&#039;&#039;&amp;lt;/u&amp;gt; solve Sokoban levels. There are several solver programs available. (See [[Links#Sokoban Solvers |Sokoban solvers]].)&lt;br /&gt;
&lt;br /&gt;
Solver programs may have different objectives:&lt;br /&gt;
# Find any solution&lt;br /&gt;
# Find push optimal solutions&lt;br /&gt;
# Find push optimal solutions with best moves&lt;br /&gt;
# Find move optimal solutions&lt;br /&gt;
# Find move optimal solutions with best pushes&lt;br /&gt;
&lt;br /&gt;
Given the computational complexity of these tasks, a solver program is usually designed for just finding any solution. If a solution is to be optimized, an optimizer program can be used. (See [[Links#Sokoban Solvers |Optimizers]].)&lt;br /&gt;
&lt;br /&gt;
The statistics presented here provide a picture of what the best freely available Sokoban solvers can do.&amp;lt;br /&amp;gt; &lt;br /&gt;
For copyrights, credits and redistribution of these statistics, please read the disclaimer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General benchmarking information ==&lt;br /&gt;
&lt;br /&gt;
For practical reasons, almost all tests have been performed with a 10 minutes time limit. The tests are, however, not a 10 minutes contest but a showcase for what the solvers can do, so other time limits are entirely feasible.&lt;br /&gt;
&lt;br /&gt;
The hardware used for the tests is a standard PC with a modern operating system (64bit).&lt;br /&gt;
&lt;br /&gt;
Tests are performed with default solver settings.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
!Solver                                                                     || Version || Author                         || Architecture || CPU usage || Source code available || More info&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival]&amp;lt;/span&amp;gt;                                   || 3.1     || Yaron Shoham ||  64bit        || 8 threads    || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival 3.1]&amp;lt;/span&amp;gt;                || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Website with papers about the solver]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;                         || 7.32 || Florent Diedler                || 64bit        || all threads || no                   || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[Sokoban solver &amp;quot;scribbles&amp;quot; by Florent Diedler about the Sokolution solver | Sokoban solver &amp;quot;scribbles&amp;quot; by Florent Diedler]]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;     || 7.4     || Ken&#039;ichiro Takahashi (takaken) || 64bit        || 2 threads || no                   || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/puzzle/sokoban/ver731/index.html Description of the used algorithms]&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry]&amp;lt;/span&amp;gt;                                || 0.3     || Yaron Shoham                   || 64bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry 0.3] || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Website with paper about the solver]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;     || 7.0 beta 1 || 葛永 (Ge Yong)      || 64bit         || 1 thread  || no                 || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch Website of BoxSearch]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;     || 2.153   || Brian Damgaard                 || 32bit + 64bit || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS 2.153]&amp;lt;/span&amp;gt;  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard about the YASS solver | Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard]]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://jsokoapplet.sourceforge.io/ JSoko]&amp;lt;/span&amp;gt;                                     || 2.25     || Matthias Meger                || 64bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/jsokoapplet/files/JSoko/Version%202.24/ JSoko 2.25]&amp;lt;/span&amp;gt;  || [[Solver | Solver information]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html Rolling Stone]&amp;lt;/span&amp;gt; || 1.0     || Andreas Junghanns              || 32bit        || 1 thread  || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/Src/ RS] || &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://scholar.google.com/scholar?hl=de&amp;amp;as_sdt=0%2C5&amp;amp;q=rolling+stone+sokoban&amp;amp;btnG= Rolling Stone papers]&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Contact: SokobanoWiki@gmail.com&lt;br /&gt;
&lt;br /&gt;
== XSokoban Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The XSokoban level set is the de facto standard test suite in the academic literature on Sokoban solver programming.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;11&amp;quot; | Sokoban Solver Statistics - XSokoban Test Suite - Solved Levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; |      Collection&lt;br /&gt;
| width=&amp;quot;160&amp;quot;   |                 Author&lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   |                 Levels&lt;br /&gt;
| width= &amp;quot;90&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html                 Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | [[JSoko Solver    | JSoko]]&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/curry/ Curry ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- XSokoban. &amp;quot;Collection, author, levels, Rolling Stone, Takaken, YASS, JSoko, Sokolution, Festival&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/ XSokoban]&amp;lt;/span&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot;                                                | Thinking Rabbit, ...&lt;br /&gt;
|                                                                  90&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 59*]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Takaken%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/YASS%20-%20XSokoban.html 89]&amp;lt;/span&amp;gt;&lt;br /&gt;
| [[SolverStatistics-jsoko-ThinkingRabbit-XSokoban            |    67    ]]&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Sokolution%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Curry%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Festival%20-%20XSokoban.html &#039;&#039;&#039;90&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/BoxSearch%20-%20XSokoban.html &#039;&#039;&#039;89&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) 59 solved puzzles according to paper [https://sokoban.dk/wp-content/uploads/2016/02/Single-Agent.pdf Sokoban Enhancing general single-agent search methods using domain knowledge]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - XSokoban Test Suite - Push-optimal Solutions&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | Collection&lt;br /&gt;
| width=&amp;quot;160&amp;quot;              | Author&lt;br /&gt;
| width=&amp;quot; 70&amp;quot;              | Levels&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.ijcai.org/Abstract/16/100 Pereira et al.]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sourceforge.net/projects/jsokoapplet/ JSoko]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width=&amp;quot; 80&amp;quot;              | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | XSokoban&lt;br /&gt;
| align=&amp;quot;left&amp;quot;                   | Thinking Rabbit, ...&lt;br /&gt;
|                90&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 6 ]&amp;lt;/span&amp;gt;&lt;br /&gt;
|                [[SolverStatistics-Pereira-ThinkingRabbit-XSokoban-Push-Optimal | 28 ]]&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/JSoko%20-%20XSokoban.html 25]&amp;lt;/span&amp;gt;&lt;br /&gt;
|                &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/Sokolution%20-%20XSokoban.html &#039;&#039;&#039;73&#039;&#039;&#039;]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The statistic shows that Sokolution is by far the best solver when searching for push optimal solutions.&lt;br /&gt;
&lt;br /&gt;
== Large Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The large test suite comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
This test suite is not subject to change, as it is intended to be a &amp;quot;Large Standard Test Suite&amp;quot; for Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - Large Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival ]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|    3272      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;3208&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    3207      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    2953      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    2899      &amp;lt;!-- YASS         --&amp;gt;&lt;br /&gt;
|    2749      &amp;lt;!-- BoxSearch    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/LargeTestSuite/ Click here to see the detailed results for the Large Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download the entire test suite [https://sourceforge.net/projects/sokoban-solver-statistics/files/Large%20Test%20Suite.zip/download here] or the individual level sets from [http://sokobano.de/de/levels.php www.sokobano.de].&lt;br /&gt;
&lt;br /&gt;
== Open Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The statistics shows the results for the leading Sokoban solvers for various level collections. Please note that the grand totals are simple summations. The number of solved unique levels may differ slightly due to duplicate levels in the level packs.&lt;br /&gt;
&lt;br /&gt;
This test suite may be changed by adding new level collections from time to time. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Sokoban Solver Statistics - Open Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width= &amp;quot;80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/ YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://notabdc.github.io/puzzle007/EngPage/e_solver.htm#BoxSearch BoxSearch]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|   10043      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;9596&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    9516      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    8721      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    8339      &amp;lt;!-- YASS         --&amp;gt;&lt;br /&gt;
|    8111      &amp;lt;!-- BoxSearch    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/OpenTestSuite/ Click here to see the detailed results for the Open Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Sokolution/ Comparison for the Open Test Suite for all Sokolution versions].&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Push-optimal Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Push-optimal Test Suite&amp;quot; comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs. &lt;br /&gt;
&lt;br /&gt;
For this test suite the solvers must solve the puzzles push optimal.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Sokoban Solver Statistics - Large Test Suite - Solved levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Header --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
| width=&amp;quot; 70&amp;quot;   | Levels&lt;br /&gt;
| width=&amp;quot; 80&amp;quot;   | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/ Sokolution]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Total levels&lt;br /&gt;
|    1588      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
| &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/ &#039;&#039;&#039;1529&#039;&#039;&#039;]&amp;lt;/span&amp;gt;  &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://sokoban-solver-statistics.sourceforge.io/statistics/Push-OptimalTestSuite/ Click here to see the detailed results for the Push-Optimal Test Suite].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== GroupEffort Test Suite ==&lt;br /&gt;
&lt;br /&gt;
The only reason for benchmarking the GroupEffort test suite is to demonstrate the limited veracity of the statement made in section &amp;quot;6 Conclusion&amp;quot; of the thesis, where the author writes that the GroupEffort solver &amp;quot;outperforms existing solvers&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The benchmarks show that this was only true for the cherry-picked small test set at the time the thesis was published, never for the presumably more representative large test set. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Sokoban Solver Statistics - GroupEffort Test Suite - Solved Levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- The header                                                                                   --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;                &amp;lt;!-- standard format of all rows --&amp;gt;&lt;br /&gt;
| width = &amp;quot;115&amp;quot; align=&amp;quot;left&amp;quot; | Collection&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; |                                                         Levels&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://baldur.iti.kit.edu/theses/SokobanPortfolio.pdf GroupEffort]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/                          Festival]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://sokolution.infinityfreeapp.com/                  Sokolution]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]&amp;lt;/span&amp;gt; &lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/jsokoapplet/          JSoko]&amp;lt;/span&amp;gt;&lt;br /&gt;
| width =  &amp;quot;80&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sourceforge.net/projects/sokobanyasc/          YASS]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Small Set                                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | [[SolverStatistics-GroupEffort-Small-Set | Small Set]] &lt;br /&gt;
| 200&lt;br /&gt;
| 196 (a)(c) &lt;br /&gt;
| [[SolverStatistics-Festival-GroupEffort-Small-Set   | &#039;&#039;&#039;200&#039;&#039;&#039; (b) ]]&lt;br /&gt;
| [[SolverStatistics-Sokolution-GroupEffort-Small-Set | &#039;&#039;&#039;200&#039;&#039;&#039; (a) ]]&lt;br /&gt;
| [[SolverStatistics-Takaken-GroupEffort-Small-Set    |    192 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-JSoko-GroupEffort-Small-Set      |    180 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-YASS-GroupEffort-Small-Set       |    191 (b)    ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Large Set                                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot;| [[SolverStatistics-GroupEffort-Large-Set | Large Set]] &lt;br /&gt;
| 2851&lt;br /&gt;
| 1566 (a)(c)&lt;br /&gt;
| [[SolverStatistics-Festival-GroupEffort-Large-Set   | &#039;&#039;&#039;2766&#039;&#039;&#039; (b) ]]&lt;br /&gt;
| [[SolverStatistics-Sokolution-GroupEffort-Large-Set |    2471 (a)    ]]&lt;br /&gt;
| [[SolverStatistics-Takaken-GroupEffort-Large-Set    |    2462 (b)    ]]&lt;br /&gt;
| [[SolverStatistics-JSoko-GroupEffort-Large-Set      |    2165 (b)    ]] &lt;br /&gt;
| [[SolverStatistics-YASS-GroupEffort-Large-Set       |    2260 (b)    ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Total                                                                                        --&amp;gt;&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot;| Total &lt;br /&gt;
|    3051      &amp;lt;!-- Total levels --&amp;gt;&lt;br /&gt;
|    1762      &amp;lt;!-- Group Effort --&amp;gt;&lt;br /&gt;
| &#039;&#039;&#039;2966&#039;&#039;&#039;   &amp;lt;!-- Festival     --&amp;gt;&lt;br /&gt;
|    2671      &amp;lt;!-- Sokolution   --&amp;gt;&lt;br /&gt;
|    2654      &amp;lt;!-- Takaken      --&amp;gt;&lt;br /&gt;
|    2345      &amp;lt;!-- JSoko        --&amp;gt;&lt;br /&gt;
|    2471      &amp;lt;!-- YASS         --&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(a): Time limit: 5 minutes &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;   (b): Time limit: 10 minutes &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;   (c): Best GroupEffort solver configuration&lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
 Sokoban&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban (R) Registered Trademark of Falcon Co., Ltd., Japan&lt;br /&gt;
 Sokoban Copyright (C) 1982-2004 by Hiroyuki Imabayashi, Japan&lt;br /&gt;
 Sokoban Copyright (C) 1989, 1990, 2001-2004 by Falcon Co., Ltd., Japan&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 License&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Redistribution and use of the Sokoban Solver statistics are permitted&lt;br /&gt;
 provided that the following conditions are met: &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 * Redistributions may not be sold, nor may they be used in a commercial product or activity.&lt;br /&gt;
 * Redistributions must reproduce the entire content of this disclaimer in the documentation&lt;br /&gt;
   and/or other materials provided with the distribution.&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Credits (in no particular order)&lt;br /&gt;
 ================================&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 CosmoNotes, CosmoPoly, LOMA, MicroCosmos, MiniCosmos,&lt;br /&gt;
 NaboCosmos and PicoCosmos level sets&lt;br /&gt;
 Copyright (C) by Aymeric du Peloux.&lt;br /&gt;
 E-mail: aymeric.du-peloux@gadz.org&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 dh1, dh2, bagatelle, cantrip, and maelstrom level sets&lt;br /&gt;
 Copyright (C) by David Holland&lt;br /&gt;
 E-mail: unknown&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Microban, Mas Microban, Sasquatch, Mas Sasquatch, Sasquatch III,&lt;br /&gt;
 Sasquatch IV, Sasquatch V, Sasquatch VI and Sasquatch VII level sets.&lt;br /&gt;
 Copyright (C) by David W. Skinner&lt;br /&gt;
 E-mail: sasquatch@bentonrea.com&lt;br /&gt;
 Web site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Grigr2001, Grigr2002 and GrigrSpecial level sets&lt;br /&gt;
 Copyright (C) by Evgeny Grigoriev  (aka GRIGoRusha)&lt;br /&gt;
 E-mail: grigr@yandex.ru&lt;br /&gt;
 Web site: http://grigr.narod.ru/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 SokEvo and SokHard level sets&lt;br /&gt;
 Copyright (C) 2002-2006 by Lee J Haywood&lt;br /&gt;
 E-mail: fruise@gmail.com&lt;br /&gt;
 Web Site: http://leehaywood.org/games/sokoban/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sven level set&lt;br /&gt;
 Copyright (C) 2007 by Sven Egevad&lt;br /&gt;
 E-mail: sven.egevad@telia.com&lt;br /&gt;
 Web Site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban Perfect and Sokoban Revenge level sets&lt;br /&gt;
 Copyright (C) 1989, 1991 by Thinking Rabbit&lt;br /&gt;
 Web Site: https://sokoban.jp/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Y.M. Auto and Y.M. Handmade level sets&lt;br /&gt;
 Copyright (C) Yoshio Murase &lt;br /&gt;
 E-mail: yoshio@asahi.email.ne.jp&lt;br /&gt;
 Web Site: http://www.ne.jp/asahi/ai/yoshio/sokoban/index.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 JSoko&lt;br /&gt;
 Copyright (C) by Matthias Meger&lt;br /&gt;
 E-mail: JSoko@mail.de&lt;br /&gt;
 Web site: https://jsokoapplet.sourceforge.io/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban Automatic Solver (aka Takaken solver)&lt;br /&gt;
 Copyright (C) 2002 - 200X Ken&#039;ichiro Takahashi (aka takaken)&lt;br /&gt;
 E-mail: takaken@ic-net.or.jp&lt;br /&gt;
 Web site: https://computerpuzzle.net/english/sokoban/ver740/index.html &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 YASS - Yet Another Sokoban Solver and Optimizer - For Small Levels&lt;br /&gt;
 Copyright (C) 2007 by Brian Damgaard&lt;br /&gt;
 Web site: https://sourceforge.net/projects/sokobanyasc/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokoban YASC &lt;br /&gt;
 Copyright (C) 2001-2020 by Brian Damgaard&lt;br /&gt;
 Web Site: https://sourceforge.net/projects/sokobanyasc/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 YSokoban&lt;br /&gt;
 Copyright (C) 2007 by George Petrov&lt;br /&gt;
 E-mail: YGP@WriteMe.com&lt;br /&gt;
 Web Site:  http://ygp.orgfree.com/sokoban.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 XSokoban&lt;br /&gt;
 Copyright (C) by Andrew Myers&lt;br /&gt;
 E-mail: andru@cs.cornell.edu&lt;br /&gt;
 Web Site: http://www.cs.cornell.edu/andru/xsokoban.html&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokofan&lt;br /&gt;
 Copyright (C) 2005-2007 by Eric Leung&lt;br /&gt;
 E-mail: eleung2@hotpop.com&lt;br /&gt;
 Web Site: unknown&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Sokolution&lt;br /&gt;
 Copyright (C) 2016-2019 by Florent DIEDLER&lt;br /&gt;
 E-mail: fdiedler2000@gmail.com&lt;br /&gt;
 Web site: http://sokolution.infinityfreeapp.com/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Festival&lt;br /&gt;
 Copyright (C) 2020 by Yaron Shoham&lt;br /&gt;
 Web site: https://festival-solver.site/&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Trademarks&lt;br /&gt;
 ========== &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Company names, brand names and product names are trademarks&lt;br /&gt;
 or registered trademarks of their respective holders.&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Contact&lt;br /&gt;
 =======&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 E-mail: sokobanowiki@gmail.com&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=How_to_play_Sokoban&amp;diff=8270</id>
		<title>How to play Sokoban</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=How_to_play_Sokoban&amp;diff=8270"/>
		<updated>2025-04-24T09:52:26Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Reverse play */ added reverse mode&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to play Sokoban. There are also simple strategies explained.&lt;br /&gt;
&lt;br /&gt;
First let&#039;s have a look at the rules of the game:&lt;br /&gt;
&lt;br /&gt;
The object of Sokoban is to take some objects (usually boxes) to designated locations by pushing them.&lt;br /&gt;
&lt;br /&gt;
To do this the user moves a man who we call Sokoban. Sokoban can move up, down, left and right. He can&#039;t pass through walls or boxes. He can push only one box at a time (never pull). At any time a square can only be occupied by one of a wall, box or man.&lt;br /&gt;
&lt;br /&gt;
A level contains these elements:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Walls:                    #&lt;br /&gt;
 Boxes:                    $&lt;br /&gt;
 Goals:                    .&lt;br /&gt;
 Free squares:            &#039; &#039;&lt;br /&gt;
 The Sokoban / the player: @&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boxes and the Sokoban can also be located on a goal.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Boxes on goals:           *&lt;br /&gt;
 The Sokoban on a goal:    +&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the following the Sokoban is called &amp;quot;the player&amp;quot; to indicate that this is the object the user can move.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Movements:&lt;br /&gt;
Nearly all Sokoban games can be played using the arrow keys. Nowadays many programs also support playing with the mouse.&lt;br /&gt;
All moves of the Sokoban need only to be done for pushing a box.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Level 1&lt;br /&gt;
 #########&lt;br /&gt;
 #@  $  .#&lt;br /&gt;
 #########&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Using the arrow keys one has to press the &amp;quot;right arrow&amp;quot; 5 times. &lt;br /&gt;
Using the mouse you have to mark the box for pushing (by clicking on it) and then clicking at the position the box is to be pushed to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Level 2&lt;br /&gt;
 ########&lt;br /&gt;
 #    ###&lt;br /&gt;
 #@$  ###&lt;br /&gt;
 #### ###&lt;br /&gt;
 ##   ###&lt;br /&gt;
 ##    ##&lt;br /&gt;
 #  ##. #&lt;br /&gt;
 #      #&lt;br /&gt;
 #####  #&lt;br /&gt;
 ########&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the difference between playing with keyboard and playing with mouse is demonstrated. Using the mouse is as simple as in Level 1. Using the arrow keys needs a lot of key presses for pushing the box to the goal.&lt;br /&gt;
Hence, it&#039;s always recommended to use the mouse for playing. The advantages compared to keyboard playing are:&lt;br /&gt;
# With two clicks a box can be pushed to every possible square&lt;br /&gt;
# Most programs automatically calculates the best moves for the player. Hence the user doesn&#039;t have to think about how to move the player by keys.&lt;br /&gt;
# Some programs even show the squares a box can be pushed to. In this way it&#039;s easy to see if a box can be pushed to the selected position.&lt;br /&gt;
# The user can concentrate on pushes only instead of moves and pushes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Levels containing only one box are very simple to solve using the mouse: One just has to mark the box for pushing and then to choose the goal square as target.&lt;br /&gt;
&lt;br /&gt;
Usually Sokoban levels are a lot more complicated.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s increase the difficulty step by step:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Level 3&lt;br /&gt;
 ########&lt;br /&gt;
 #      #&lt;br /&gt;
 #  $  .#&lt;br /&gt;
 #@ $  .#&lt;br /&gt;
 #  $  .#&lt;br /&gt;
 #      #&lt;br /&gt;
 ########&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Here the level contains 3 boxes. Nevertheless the level can easily be solved. Although every box can be pushed to each goal it doesn&#039;t matter which box is pushed to which goal. The boxes can just be pushed one after the other to any goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Level 4&lt;br /&gt;
 ########&lt;br /&gt;
 #  #.  #&lt;br /&gt;
 # $#   #&lt;br /&gt;
 #  # @##&lt;br /&gt;
 #  # $##&lt;br /&gt;
 #    .##&lt;br /&gt;
 ########&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This level is more complicated. The box under the player is close to a goal. Nevertheless it can&#039;t be pushed to the goal - this would result in a [[Deadlocks|deadlock]]. This level shows some problems one has to solve before it&#039;s possible to finish the level:&lt;br /&gt;
# Not every box can be pushed to every goal&lt;br /&gt;
# Boxes can&#039;t just be pushed to the nearest goal in every case&lt;br /&gt;
# Box pushes can create a [[Deadlocks|deadlock]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Level 5&lt;br /&gt;
 #########&lt;br /&gt;
 ##  #   #&lt;br /&gt;
 #.$.  $ #&lt;br /&gt;
 # #  ## #&lt;br /&gt;
 # @$.$. #&lt;br /&gt;
 #########&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To solve this level the boxes have to be pushed to their goals in a specific order. Moreover one box has to be pushed away from its goal before it can be pushed to it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Level 6&lt;br /&gt;
 #########&lt;br /&gt;
 #  #   .#&lt;br /&gt;
 #@$ $   #&lt;br /&gt;
 # $ ##..#&lt;br /&gt;
 #   #####&lt;br /&gt;
 #########&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This level is another example of the need to push a box away from its goal before the level can be solved. Additionally one box has to be &amp;quot;parked&amp;quot; until some other boxes have reached their goals. A situation where a box must be pushed but can&#039;t be pushed immediately to its goal occurs very often in Sokoban levels. Some of them are &amp;quot;parking&amp;quot; situations.&lt;br /&gt;
&amp;quot;Parking&amp;quot; means:&lt;br /&gt;
# a box must be pushed away from its goal &lt;br /&gt;
# after the box is pushed to its parking position another box has to be pushed&lt;br /&gt;
# parking the box at a specific position is required to solve the level&lt;br /&gt;
&lt;br /&gt;
== Reverse play ==&lt;br /&gt;
&lt;br /&gt;
Some Sokoban programs allow to play a puzzle backward. &lt;br /&gt;
&lt;br /&gt;
Starting with all boxes on goal squares, the player pulls the boxes to return to the initial puzzle state.&lt;br /&gt;
&lt;br /&gt;
Solutions found this way solve the standard puzzle when both the order and the direction of the moves are reversed.&lt;br /&gt;
&lt;br /&gt;
This approach can help players better understand the puzzle structure and develop effective solving strategies.&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Scientific_research&amp;diff=8210</id>
		<title>Scientific research</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Scientific_research&amp;diff=8210"/>
		<updated>2024-11-12T15:28:51Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: clarification that the challenge is due to TWO main factors:  Large search tree AND the difficulty of finding a suitable heuristic for all puzzles.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scientific research==&lt;br /&gt;
&lt;br /&gt;
Sokoban has been studied using the theory of computational complexity. &lt;br /&gt;
&lt;br /&gt;
The computational problem of solving Sokoban puzzles was first shown to be &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://en.wikipedia.org/wiki/NP-hardness NP-hard]&amp;lt;/span&amp;gt;. Further work proved it is also &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://en.wikipedia.org/wiki/PSPACE-complete PSPACE-complete]&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sokoban puzzles are challenging for computers to solve because they require complex decision-making.&lt;br /&gt;
&lt;br /&gt;
The two main factors that explain this difficulty:&lt;br /&gt;
&lt;br /&gt;
* Exponentially growing search space: In Sokoban, there are usually multiple boxes, each with numerous possible moves. This causes the number of possible states to grow exponentially, making it challenging to find a solution within a reasonable time.&lt;br /&gt;
&lt;br /&gt;
* Heuristic challenges: Given the vast search space, good heuristics are necessary for efficient problem-solving. However, it&#039;s challenging to develop a general heuristic that works well in all situations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Sokoban game provides a challenging testbed for developing and evaluating planning techniques.&lt;br /&gt;
&lt;br /&gt;
The first documented automated solver was [[Rolling Stone solver | Rolling Stone]], developed at the University of Alberta. &lt;br /&gt;
&lt;br /&gt;
Its core principles laid the groundwork for many newer solvers.&lt;br /&gt;
It employed a conventional search algorithm enhanced with domain-specific knowledge.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://festival-solver.site/ Festival]&amp;lt;/span&amp;gt;, utilizing its FESS algorithm, was the first automatic solver to complete all 90 puzzles in the widely used XSokoban test suite (&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://sokoban-solver-statistics.sourceforge.io/statistics/OpenTestSuite/Festival%20-%20XSokoban.html Festival results])&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
However, even the best automated solvers cannot solve many of the more challenging puzzles that humans can solve with time and effort.&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Duplicate_Finder&amp;diff=8203</id>
		<title>Feature list : Duplicate Finder</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Duplicate_Finder&amp;diff=8203"/>
		<updated>2024-07-17T19:50:21Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Additional Tools : Duplicate Finder */ removed old programs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools : Duplicate Finder ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS - Duplicate Finder ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokofan | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Mobile | SokoSave Desktop | SuperSoko | Tse --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Additional Tools : Duplicate Finder !! &lt;br /&gt;
|- {{programs|3=&amp;amp;nbsp;|4=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | duplicate finder || built-in ||{{ni}} {{tip|(Alternatively has the feature &#039;&#039;&#039;duplicate levels exchange solutions&#039;&#039;&#039;)|text=note|menu=yes}} || || || external utility&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | search type || {{yes}} equal and similar levels.&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;type:&amp;lt;/b&amp;gt; rotated and mirrored, dead squares removal, normalized walls, normalized pusher position. || || || || {{yes}} equal and similar levels.&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;type:&amp;lt;/b&amp;gt; rotated and mirrored, dead squares removal, normalized walls, normalized pusher position. &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | relaxed match options || {{yes}}{{tip|* with/without boxes&amp;lt;br&amp;gt;* with/without goals&amp;lt;br&amp;gt;* with/without interior walls&amp;lt;br&amp;gt;* with/without exterior walls}} ||  || || || {{yes}}{{tip|* targets only, with optional threshold count&amp;lt;br&amp;gt;* without pusher and boxes&amp;lt;br&amp;gt;* walls only&amp;lt;br&amp;gt;* without internal walls&amp;lt;br&amp;gt;* floors only}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | search current level duplicates || {{yes}} || || || || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | duplicate levels preview || {{yes}} ||  || || ||  {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | search history || {{tip|a persistent user maintained &amp;quot;scanned folders&amp;quot; list is available|text=note}} ||  || || || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | export report duplicates ||{{yes}}|| || || ||{{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | duplicate levels exchange solutions || {{yes}} {{tip| normalized levels exchange solutions, i.e., an exact match is not required.}} || {{yes}} {{tip|identical levels automatically exchange their solutions}} || || || {{yes}} &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO :::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Info==&lt;br /&gt;
=== Related pages ===&lt;br /&gt;
&lt;br /&gt;
* [[Pruning_duplicate_positions|Pruning duplicate positions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO :::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Optimizer&amp;diff=8202</id>
		<title>Feature list : Optimizer</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Optimizer&amp;diff=8202"/>
		<updated>2024-07-17T19:37:36Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Additional Tools : Optimizer */ correct format as good as I can&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools : Optimizer ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS - OPTIMIZER ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokofan | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Mobile | SokoSave Desktop | SuperSoko --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Additional Tools - Optimizer !!&lt;br /&gt;
|- {{programs|2=&amp;amp;nbsp;|4=&amp;amp;nbsp;|5=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | optimizer || common optimizer plugins || || built-in &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | optimizer running mode || background, allowing continued game play || ||  foreground, allowing continued game play&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | optimization options (e.g., move-optimal, push-optimal) || optimization settings and options depend on the plugins, not the host program || || pushes/moves, moves/pushes, box changes, box lines &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | task queue || {{yes}} || || {{no}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Info==&lt;br /&gt;
===Related pages===&lt;br /&gt;
[[Optimizer|Optimizer_Development]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO ::::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Solver&amp;diff=8201</id>
		<title>Feature list : Solver</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Solver&amp;diff=8201"/>
		<updated>2024-07-17T19:33:49Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools : Solver ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS - SOLVER ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokofan | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Mobile | SokoSave Desktop | SuperSoko | BoxSearch | Takaken --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | Additional Tools - Solver&lt;br /&gt;
|- {{programs|4=&amp;lt;div&amp;gt;[http://www.ic-net.or.jp/home/takaken/e/soko/index.html Takaken]&amp;lt;/div&amp;gt;|5=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | solver || common solver plugins || common solver plugins || built-in || built-in &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | solver running mode || background, allowing continued game play || foreground, blocking game play || foreground, blocking game play || foreground, blocking game play&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | solution types&amp;lt;br&amp;gt;(e.g., any, move-optimal, push-optimal) || solver strategies and options depend on the plugins, not the host program || solver strategies and options depend on the plugins, not the host program || push-optimal, push-optimal with best moves, move-optimal with best pushes || move-optimal, push-optimal&lt;br /&gt;
|-&lt;br /&gt;
| {{tc}} | task queue || {{yes}} || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Info==&lt;br /&gt;
===Related Pages===&lt;br /&gt;
[[Solver|Solver]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO ::::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Level_Editor&amp;diff=8197</id>
		<title>Feature list : Level Editor</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Level_Editor&amp;diff=8197"/>
		<updated>2024-07-17T19:23:53Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Additional Tools : Level Editor */ correct format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools : Level Editor ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS - LEVEL EDITOR ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSoko | SokForWindows | YSokoban --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Additional Tools - Level Editor !!&lt;br /&gt;
|- {{programs|5=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | editor || built-in || built-in || built-in || built-in &lt;br /&gt;
|-&lt;br /&gt;
| {{tc}} | drawing objects || wall, box, goal, player || none, floor, goal, box-on-floor, box-on-goal, player-on-floor, player-on-goal, wall || wall, box, goal, player, floor || floor, goal, box, wall&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | drawing tools || objects, eraser, rubber-band, fill || objects, pencil, drop, fill, line, rectangle, filled rectangle || objects || objects, move player, move box &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | drawing logic || select object + &amp;lt;br&amp;gt;click-and-drag the board to put objects on the board || select object + &amp;lt;br&amp;gt;select drawing tool + &amp;lt;br&amp;gt;click-and-drag the board to put objects on the board || select object + &amp;lt;br&amp;gt;click-and-drag the board to put objects on the board || select object + &amp;lt;br&amp;gt;click-and-drag the board to put objects on the board&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | drawing logic inconveniences || the board jumps around on the screen when automatic scaling and positioning kick in || drawing with tools like lines and rectangles don&#039;t show the objects on the screen during the drawing process || the board jumps around on the screen when automatic scaling and positioning kick in || The &amp;quot;move&amp;quot; tool works for boxes and the player only, not for goals &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | savegames and solutions for modified levels are retained after cosmetic changes (e.g., transformations and adding/removing extra floors/walls) || {{yes}} || {{no}} the savegames and solutions are still there in the files, but they are not applicable to the modified level || {{no}} || &amp;lt;big style=&amp;quot;color: red;background:beige;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt; {{tip|&amp;lt;small&amp;gt;will somebody with a full version check if it is &amp;quot;yes&amp;quot; or &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;|text=help}}&lt;br /&gt;
|-&lt;br /&gt;
| {{tc}} | undo || {{yes}} unlimited || {{yes}} unlimited || {{no}} || {{yes}} unlimited&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | redo || {{yes}} unlimited || {{yes}} unlimited || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo/redo logic || one complete transaction at a time || one complete transaction at a time || || one cell at a time&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo/redo history is saved from one session to the next || {{yes}} || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo/redo multiple transactions: interface || pull-down menu: 1,2,4,8,... transactions || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo/redo multiple transactions: preview || {{no}} || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | &amp;quot;rubber-band&amp;quot; area selection || {{yes}}(features: move, copy, paste, delete, transform, fill) || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- {{programs|5=&amp;amp;nbsp;|6=&amp;amp;nbsp;}}&lt;br /&gt;
| {{tc}} | board transformations || {{yes}} rotate counter-clockwise and clockwise, flip vertically and horizontally. || {{yes}} rotate clockwise, flip vertically || {{yes}} rotate counter-clockwise and clockwise, flip vertically and horizontally || {{yes}} rotate counter-clockwise and clockwise, flip vertically and horizontally&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | resize board || {{un}} {{tip|the board is automatically positioned so it&#039;s possible to draw on all 4 sides}} || {{yes}} (via toolbar button: resize level) || {{un}} {{tip|the board is automatically positioned so it&#039;s possible to draw on all 4 sides}} || {{un}} {{tip|&amp;quot;move board&amp;quot; does not clip the level to a predefined size like, e.g., Sokoban++ does}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | move board || {{un}} || {{yes}} || {{un}} || {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | one-click switching between play/edit mode || {{yes}} || {{no}} use menu: game-&amp;amp;gt;mode || {{no}} || {{yes}} {{tip|partial implementation: no visible button but a keyboard shortcut &amp;quot;Alt+P&amp;quot;|text=partial}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | board validation on switching from edit mode to play mode || {{yes}} || {{no}} all boards are playable || {{yes}} || &amp;lt;big style=&amp;quot;color:red;background:beige&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt;{{tip|&amp;lt;small&amp;gt;will somebody with a full version check if it happens automatically&amp;lt;/small&amp;gt;|text=help}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable skin || {{yes}} format: simple image-based skins without seamless walls || {{yes}} same skin in edit mode and in play mode || {{yes}} same skin in edit mode and in play mode || {{yes}} same skin in edit mode and in play mode&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable button images || {{yes}} || {{no}} || {{yes}} || {{un}} {{tip|the editor uses menus and has no buttons}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | button images automatically synchronized with skin images || {{no}} || {{no}} || {{yes}} || {{un}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | windows clipboard copy/paste || {{yes}} || {{yes}} {{tip|partial implementation: imports / exports complete levels instead of copying / pasting sections to the existing &amp;quot;document&amp;quot;, i.e., the board|text=partial}} || {{no}} || &amp;lt;big style=&amp;quot;color: red;background:beige;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt; {{tip|(will somebody with a full version check if it works here;&amp;lt;br&amp;gt; the demo version has it on the menu in the editor and it does not mention any restrictions, but it does not work)|width=260px|text=help}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | internal clipboard with multiple items || {{yes}} unlimited, persistent, with preview || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit board as text || {{no}} || {{no}} || {{no}} || {{no}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Template:Programs&amp;diff=8196</id>
		<title>Template:Programs</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Template:Programs&amp;diff=8196"/>
		<updated>2024-07-17T19:23:12Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; class=&amp;quot;soko-table-title feature-title&amp;quot;&lt;br /&gt;
| &amp;lt;div style=&amp;quot;width:120px;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; || {{{1|&amp;lt;div&amp;gt;[http://sourceforge.net/projects/sokobanyasc/ Sokoban YASC]&amp;lt;/div&amp;gt;}}} || {{{2|&amp;lt;div&amp;gt;[http://www.joriswit.nl/sokoban/ Sokoban++]&amp;lt;/div&amp;gt;}}} || {{{3|&amp;lt;div&amp;gt;[http://www.sokoban-online.de JSoko]&amp;lt;/div&amp;gt;}}} || {{{4|&amp;lt;div&amp;gt;[http://www.sourcecode.se/sokoban/ Sokoban&amp;amp;nbsp;for&amp;amp;nbsp;Windows]&amp;lt;/div&amp;gt;}}} || {{{5|&amp;lt;div&amp;gt;[http://ygp.orgfree.com/sokoban.html YSokoban]&amp;lt;/div&amp;gt;}}} || {{{6|&amp;lt;div&amp;gt;[http://www.sokosave.org/ SokoSave Desktop]&amp;lt;/div&amp;gt;}}}&lt;br /&gt;
|-&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Additional_Tools&amp;diff=8191</id>
		<title>Feature list : Additional Tools</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Additional_Tools&amp;diff=8191"/>
		<updated>2024-07-17T18:58:43Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Additional Tools */ removed column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX :::::--&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Tools ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: ADDITIONAL TOOLS ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Additional Tools !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Additional Tools&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | level editor&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([[Feature_list_:_Level_Editor|see details below]])&amp;lt;/small&amp;gt; || {{yes}} || {{yes}} || {{yes}} || {{yes}} ||{{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | solver&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([[Feature_list_:_Solver|see details below]])&amp;lt;/small&amp;gt; || {{yes}} common solver plugins (allowing continued game play) || {{yes}} common solver plugins (blocking game play) || {{yes}} built-in (blocking game play) || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | optimizer&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([[Feature_list_:_Solver#Additional_Tools_:_Optimizer|see details below]])&amp;lt;/small&amp;gt; || {{yes}} common optimizer plugins (allowing continued game play) || {{no}} || {{yes}} built-in (blocking game play) || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | locate and browse duplicates or look-alikes&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([[Feature_list_:_Duplicate_Finder|see details below]])&amp;lt;/small&amp;gt; || {{yes}} || {{no}} || {{no}} || {{no}} ||  {{no}} external program [http://geocities.com/ygp_bg/sokodup.zip Soko-Dup] can be downloaded || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | skin graphics editor || {{no}} skin script editor available || {{no}} skin script editor available || {{no}} || {{yes}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | level generator || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | optimizer for unnecessary moves between pushes || {{yes}} automatically during game-play || {{yes}} manually via menu || {{yes}} automatically during game-play || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | level file converters || {{yes}} {{tip|SokoMind (including solutions),&amp;lt;br&amp;gt;Sokoban for Windows by Björn Källmark (including solutions),&amp;lt;br&amp;gt;Sokofan (including solutions)|width=250px|text=file types}} || {{yes}} {{tip|ASCII (*.txt, *.xsb, *.screen, *.skm, *.scb),&amp;lt;br&amp;gt;Sokoban (*.sls),&amp;lt;br&amp;gt;Visual Sokoban 1 and 2 (*.pak),&amp;lt;br&amp;gt;WinSoko (*.rdf),&amp;lt;br&amp;gt;Games 4 Brains (*.lp0),&amp;lt;br&amp;gt;Mark McIntyres Soko (*.sok),&amp;lt;br&amp;gt;XML Sokoban (*.xml),&amp;lt;br&amp;gt;Sokoban XP (*.sxl),&amp;lt;br&amp;gt;Games 4 Brains Sokoblue (*.dat),&amp;lt;br&amp;gt;Icons (*.ico),&amp;lt;br&amp;gt;Björn Källmark&#039;s xml format (*.slc)|width=270px|text=file types}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | image snapshot capture || {{no}} || {{yes}} miniature level bitmap with 1 pixel per square; via menu: level-&amp;amp;gt;copy level || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Miscellaneous&amp;diff=8190</id>
		<title>Feature list : Miscellaneous</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Miscellaneous&amp;diff=8190"/>
		<updated>2024-07-17T18:57:50Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Miscellaneous */ removed column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: MISCELLANEOUS ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Miscellaneous !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Miscellaneous&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | builtin help and program information || {{yes}} rich text document (rtf) || {{yes}} html pages (html) || {{yes}} Java help || {{yes}} html pages (htm) ||  {{yes}} ascii text document || {{yes}} html page (html) &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | context sensitive help || {{no}} || {{yes}} || {{yes}} {{tip|Pressing the help key (F1) opens the help}} || {{no}} {{tip|however, the web-page says otherwise|text=note}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable language || {{no}} || {{yes}} || {{yes}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | languages || English || English, Afrikaans, Danish (embarrassing), Dutch, German, Greek, Finnish, French, Italian, Polish, Portugese, Russian, Spanish (Spain, Argentina), Turkish, Slovenian, Swedish || English, German, Chinese (Simplified), Spanish, Dutch  || English ||  English, Bulgarian, Chinese (Simplified, Traditional), German, Spanish || English &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | builtin solutions || {{yes}} {{tip|all levels ship with builtin solutions}} || {{yes}} {{tip|not all levels ship with builtin solutions}} || {{yes}} {{tip|not all levels ship with builtin solutions}} || {{yes}} {{tip|not all levels ship with builtin solutions}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | file type associations (optional) || {{no}} || {{yes}} .sls, .pak, .rdf, .lp0, .xsb, .sok, .sxl, .slc || {{no}} || {{no}} ||  {{no}} || {{yes}} .sokomaze, .xsb, .sokohex, .hsb, .sokotri, .tsb, .sokosave &amp;lt;br /&amp;gt;Windows, Mac OS X &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | accessibility for portable version || {{no}} || {{no}} || {{no}} || {{no}} ||  {{yes}}{{tip|&amp;lt;b&amp;gt;compatible installation:&amp;lt;/b&amp;gt; yes&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;system modification:&amp;lt;/b&amp;gt; no&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;generated data:&amp;lt;/b&amp;gt; saves the files created in the removable device.&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;additional:&amp;lt;/b&amp;gt; edition for mobile phone, java MIDP 2.0 only.|width=200px}} || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--FEATURE_INFO--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Info==&lt;br /&gt;
===Portable software===&lt;br /&gt;
&#039;&#039;From Wikipedia, the free encyclopedia&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be considered &#039;&#039;&#039;truly portable&#039;&#039;&#039;, a software program must:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not require any form of formal installation to be carried out on any computer before it can be used, with the release package only needing to be decompressed directly to removable media before use (if it has to be installed first, and requires it&#039;s files to be manually copied to removable media, it&#039;s clearly not designed to be portable!).&amp;lt;br&amp;gt;For example, software which is supplied as an InstallShield package could not be considered portable, though a ZIP archives containing an executable would be.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Settings are stored with, and can be carried around with, the software (i.e. they are written to the USB drive).&amp;lt;br&amp;gt;If the registry is used to store settings; the application&#039;s configuration isn&#039;t portable, and must be set up on every PC it is used on&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Leaves a zero (or near-zero) &amp;quot;footprint&amp;quot; on any PC it&#039;s run on after being used.&amp;lt;br&amp;gt;i.e. All temporary files/registry settings should be removed once the program has exited, and files created by the user can be saved directly to the same removable media as the application is stored on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Generally, smaller utility/toolkit software is inherently fairly portable; though larger applications are sometimes changed in order to allow a portable versions to be released (e.g. FirefoxPortable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--/FEATURE_INFO--&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Multi-player_Mode&amp;diff=8189</id>
		<title>Feature list : Multi-player Mode</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Multi-player_Mode&amp;diff=8189"/>
		<updated>2024-07-17T18:57:18Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Multi-player Mode */ emoved column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Multi-player Mode ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: MULTI-PLAYER MODE :::::  --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Multi-player Mode !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Multi-player Mode&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | [[Feature_list_:_Multi-player_Mode#Multi-player|multi-player]] || {{no}} || {{yes}}(options: create new player, change player) || {{no}} || {{yes}}(options: create new player, change player) || {{yes}}(options: create new player, change player) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit player information&amp;lt;br&amp;gt;(e.g. name, email, country) || {{no}} || {{no}} || {{no}} || ||  {{no}} || {{yes}} {{tip|only when recording high score}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | display personal high-scores || {{yes}} {{tip|cramped implementation and disabled by default. Enable it in &amp;quot;open&amp;quot; window via menu&amp;amp;nbsp;-&amp;amp;gt;&amp;amp;nbsp;show solutions}} || {{yes}} via menu: level&amp;amp;nbsp;-&amp;amp;gt;&amp;amp;nbsp;choose || {{no}} || {{yes}} via menu: view&amp;amp;nbsp;-&amp;amp;gt;&amp;amp;nbsp;scores and solutions || {{yes}} drop-down list || {{yes}} via menu: help -&amp;amp;gt; scores &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | compare high-scores&amp;lt;br&amp;gt;of all the players || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} || {{yes}} general and personal scores || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} || {{yes}}ranking with all the players ||  {{no}} || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | save and restore the player profiles&amp;lt;br&amp;gt;(e.g. high-scores, settings) || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} || {{yes}} player position file (*.sav) || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} || ||{{yes}} player info file (*.SokoInfo) || {{ni|/a|Not applicable&amp;lt;br /&amp;gt;to single-player programs.}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | remember each player&#039;s session &amp;lt;br&amp;gt;(e.g. level, skin, quicksaves) {{tip|not to be confused with a single player program&#039;s ability to do the same.&amp;lt;br&amp;gt;Feature implemented in Sokonline.|text=note}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Info&amp;lt;/h2&amp;gt;&lt;br /&gt;
=== Multi-player ===&lt;br /&gt;
 &lt;br /&gt;
This modality is useful for the competitions, each user can have his own configurations. As the personalization, with their scores, personal information, as the option of sending their solutions via e-mail.&lt;br /&gt;
&lt;br /&gt;
These are options for the soko-programs that point, to give the option for competitive players that participate in the challenges of internet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Related programs&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[http://sokoban.online.fr/mon_player.html Sokonline]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO ::::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Web-based_Support&amp;diff=8188</id>
		<title>Feature list : Web-based Support</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Web-based_Support&amp;diff=8188"/>
		<updated>2024-07-17T18:56:24Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Web-based Support */ removed column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Web-based Support ==&lt;br /&gt;
&amp;lt;!-- ::::: WEB-BASED SUPPORT ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Web-based Support !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Web-based Support&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | website || [http://sourceforge.net/projects/sokobanyasc/ official&amp;amp;nbsp;website] || [http://www.joriswit.nl/sokoban/ official&amp;amp;nbsp;website]|| [http://www.sokoban-online.de official&amp;amp;nbsp;website] || [http://www.sourcecode.se/sokoban/ official&amp;amp;nbsp;website] || [http://ygp.orgfree.com/sokoban.html official&amp;amp;nbsp;website] || [http://www.sokosave.org/ official&amp;amp;nbsp;website] &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | forum || {{ni}} || {{ni}} || {{ni}} || [http://www.sourcecode.se/sokoban/forum official&amp;amp;nbsp;forum] || {{ni}} || [http://www.high-speed-software.com/sokosave/forum/ official&amp;amp;nbsp;forum] &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | additional level packs || {{un}} {{tip|practically all text-based levels for download are supported}} || {{un}} {{tip|practically all text-based levels for download are supported}} || {{un}} {{tip|practically all text-based levels for download are supported}} || {{yes}}(.slc files) || {{un}} {{tip|practically all text-based levels for download are supported)}} || {{un}} {{tip|practically all text-based single-level files for download are supported)}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | additional solutions || {{no}} || {{yes}} || {{no}} || ||  {{yes}}[http://ysokoban.atspace.com/ ysokoban&amp;amp;nbsp;solutions] || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | additional skin packs || {{un}} {{tip|all major skin formats for download are supported}} || {{yes}} || {{no}} || {{no}} {{tip|all available skins ship with the program}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | additional add-ons || {{yes}} utilities || {{yes}}language packs, solver-plugins, utilities || {{no}} || ||  {{yes}} utilities || {{yes}} utilities &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | automatic update || {{no}} || {{no}} || {{yes}} automatic check for updates || {{yes}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | option to jump to the official website || {{yes}} || {{yes}} || {{no}} || {{yes}} ||  {{no}} || {{yes}} &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Moves_Management&amp;diff=8187</id>
		<title>Feature list : Moves Management</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Moves_Management&amp;diff=8187"/>
		<updated>2024-07-17T18:55:45Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Moves Management */ removed column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Moves Management ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: MOVES MANAGEMENT :::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Moves Management !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Moves Management&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | copy/paste moves (normal) || {{yes}} || {{yes}} || {{yes}} || {{yes}} {{tip|partial implementation: solutions only, not savegames&amp;lt;br&amp;gt;flaw: imported solutions are lost when the program exits&amp;lt;br&amp;gt;flaw: imported moves are listed as solutions even if this is not the case|width=200px}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy/paste moves (run-length-encoded) || {{yes}} || {{yes}} partial: paste only || {{yes}} || {{no}} ||  {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy moves after the current position || {{yes}}via keyboard: Ctrl+B || {{yes}}via menu: position -&amp;amp;gt; copy || {{yes}} Ctrl+Shift+M || {{no}} ||  {{yes}}via keyboard: Ctrl+Alt+C || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | paste moves as continuation of current position || {{yes}} || {{yes}} || {{yes}} || {{no}} ||  {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | rotate and/or flip moves || {{no}}{{tip|board rotations and flips automatically synchronize existing savegames and solutions}} || {{no}} external program [http://www.joriswit.nl/sokoban/junk/solutionrotator.zip Solution Rotator] can be downloaded || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit move information (e.g, title, author, comment) || {{yes}}via snapshot window || {{yes}}via menu: position-&amp;amp;gt;save; properties: title || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | recreate maps from solutions || {{yes}} multiple solutions, with titles and info || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | load and save moves || sok (ascii text file, levels); clipboard: import/export || xht,txt (ascii text file, solutions), mov (sokofun movie); clipboard: import/export || sok (ascii text file, levels); clipboard: import/export || gam (xml text file, level); clipboard: import/export || txt (ascii text file, levels); clipboard: import/export || sokosave&amp;lt;br&amp;gt;(savegame file) &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
* [[Solution_format]] (German language)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SokRFI - Sokoban Requests for Implementation ==&lt;br /&gt;
&amp;lt;!-- ::::: SOKRFI - SOKOBAN REQUESTS FOR IMPLEMENTATION ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;50&amp;quot; | Moves Management : SokRFI - Sokoban Requests for Implementation&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;120&amp;quot; {{tc}} | Feature || {{tc}} | Description&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| animation snapshots capture: solutions || Sokoban++ offers a utility for this feature.&amp;lt;br&amp;gt;(External program [http://www.joriswit.nl/sokoban/junk/ Sokoban Animator] can be downloaded)&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| export solution as animation || Free formats:&amp;lt;br&amp;gt;&lt;br /&gt;
Text file:&lt;br /&gt;
:Scalable Vector Graphics ([http://www.w3.org/Graphics/SVG/ SVG]).&lt;br /&gt;
:Implementation with a  [http://www.treebuilder.de/svg/sokoban/sokobano.svg template&amp;amp;#160;SVG].&lt;br /&gt;
Image file:&lt;br /&gt;
:Animated PNG ([http://wiki.mozilla.org/APNG_Specification APNG]) available with Firefox 3.&lt;br /&gt;
:[http://easysok.sourceforge.net EasySok] as alternative can save all the snapshots in a movie MNG.&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Level_Management&amp;diff=8186</id>
		<title>Feature list : Level Management</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Level_Management&amp;diff=8186"/>
		<updated>2024-07-17T18:55:07Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Level Management */ removed column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Level Management ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: LEVEL MANAGEMENT ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Level Management !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Level Management&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | copy/paste level(s) (normal) || {{yes}} || {{yes}}{{tip|partial implementation of import: one level at a time; works for raw boards without meta data only}} || {{yes}}{{tip|levels can also be pasted by using drag&amp;amp;amp;drop of a level file}} || &amp;lt;big style=&amp;quot;color: red;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt;{{tip|Will somebody with a full version check if it works here&amp;lt;br&amp;gt; the demo version has it on the menu in the editor and it does not mention any restrictions, but it does not work|text=Help}} || {{yes}} {{tip|flaw: pasted levels are not saved|text=flaw}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy/paste levels (run-length-encoded) || {{yes}} || {{no}} || {{yes}} || {{no}} || {{yes}} {{tip|flaw: pasted levels are not saved |text=flaw}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy map&amp;lt;br&amp;gt; (current state) || {{yes}}via [ CTRL + click &amp;quot;tools&amp;quot;] and editor || {{yes}} || {{yes}} || {{no}} ||  {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | copy level(s) with solution(s) || {{yes}}(multiple) || {{no}} || {{yes}}(single) || {{no}} || {{yes}}(single) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | paste level(s) with solution(s) || {{yes}}(multiple) || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit level information (e.g., title, author) || {{yes}} via &amp;quot;open&amp;quot; window || {{yes}} via menu: level-&amp;amp;gt;about;&amp;lt;br&amp;gt;properties: title, author, comment || {{no}} || {{yes}} via menu: file-&amp;amp;gt;edit mode + file-&amp;amp;gt;attributes;&amp;lt;br&amp;gt;properties:title, description, copyright, email, website || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | edit levelset information (e.g., title, copyright) || {{no}} || {{yes}} via menu: levelset-&amp;amp;gt;about; properties: title, author, copyright, comment || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | load multiple files || {{no}} || {{yes}} || {{no}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | merge level files || {{yes}} (merge is a feature in the &amp;quot;open&amp;quot; window:&amp;lt;br&amp;gt;menu -&amp;amp;gt; file conversion...) || {{yes}}(via: open and select multiple files.) || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | recent levels history || {{yes}} 25 items {{tip|holding a unified recent file history for all loaded file-types, e.g., levels and background images}} || {{no}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{un}} {{tip|with all loaded levelsets in a list it is just as easy to browse the whole list}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | saves levels with format || {{yes}} sok (.sok) || {{yes}} sok (.sok),&amp;lt;br&amp;gt;xsokoban (.txt, .xsb),&amp;lt;br&amp;gt;games 4 brains (.lp0),&amp;lt;br&amp;gt;xml text file (.sls) || {{yes}} sok (.sok) || {{yes}} xml text file (.sls) ||  {{no}} || {{yes}} savegame text file (.sokosave) &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Level Management&amp;amp;nbsp;: Import and Export for Internet !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Level Management&amp;amp;nbsp;: Import and Export for Internet&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | import levels with hyphens &amp;quot;-&amp;quot; or underscores &amp;quot;_&amp;quot; || {{yes}} via clipboard and load level || {{yes}} via clipboard and load level || {{yes}} via clipboard and load level || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | export levels with hyphens &amp;quot;-&amp;quot; or underscores &amp;quot;_&amp;quot; || {{yes}}via clipboard || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | stripping leading &amp;quot;&amp;amp;gt;&amp;quot; characters || {{yes}} (all leading &amp;quot;&amp;amp;gt;&amp;quot; characters are stripped) || {{no}} || {{yes}} (stripping leading &amp;quot;&amp;amp;gt;&amp;quot; characters: boards, not moves) || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | accepts alternative characters for boards || {{yes}}characters: p,P,b,B,o || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
* [[Level_format]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SokRFI - Sokoban Requests for Implementation ==&lt;br /&gt;
&amp;lt;!-- ::::: SOKRFI - SOKOBAN REQUESTS FOR IMPLEMENTATION ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;50&amp;quot; | Level Management : SokRFI - Sokoban Requests for Implementation&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;120&amp;quot; {{tc}} | Feature || {{tc}} | Description&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| split levelset || SokoSave offers a utility for this feature. &amp;lt;br&amp;gt;(External program [http://www.high-speed-software.com/sokosave/sokosavedesktop/sokosplit/ SokoSplit] can be downloaded)&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| export levels to internet ||&lt;br /&gt;
&amp;lt;b&amp;gt; Export levels to internet &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This feature can be used to publish level(s) in a web-site.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The export can have different variants:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Generating the strings with code HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
With links to download levels or thumbnails of each level.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Generating the strings with code [http://web.singnet.com.sg/~fclim/sbml/index.html SBML] (SokoBan Markup Language).&amp;lt;br&amp;gt;&lt;br /&gt;
Exporting with this language, levels can be customized by the user for the graphic representation of the maps, as well as provide a meta-information semantics of each level.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;b&amp;gt;Alternative development&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
See [[SokRFI - Export Levels to Internet]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;b&amp;gt;Utility&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Sokoban++ offers a utility for this feature.&amp;lt;br&amp;gt;(External program [http://www.joriswit.nl/sokoban/junk/ Sokoban Website Generator] can be downloaded)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Map_Viewing&amp;diff=8185</id>
		<title>Feature list : Map Viewing</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Map_Viewing&amp;diff=8185"/>
		<updated>2024-07-17T18:52:24Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Map Viewing */ removed column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Map Viewing ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: MAP VIEWING ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Map Viewing !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Map Viewing&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | level browser with preview || {{yes}} one level at a time || {{yes}} block graphic miniatures of all loaded levels || {{yes}} block graphic miniatures of all loaded levels || {{yes}} block graphic miniatures of all levels in a collection (customizable miniature size) ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | resize skin to fit window || {{yes}} always || {{yes}}skin dependent || {{yes}} always || {{yes}} {{tip|flaw: Windows has 2 font settings, small (default) and large, and this only works for small fonts|text=flaw}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | resize window to fit map || {{un}} {{tip|map always fits in window}} || {{no}} || {{un}} {{tip|map always fits in window}} || {{yes}} {{tip|flaw: Windows has 2 font settings, small (default) and large, and this only works for small fonts|text=flaw}} || {{yes}} optional || {{yes}} always &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[Feature_list_:_Map_Viewing#Level_scrolling|levels larger than window: scrolling]] || {{un}} || {{no}} || {{un}} || {{yes}} via scrollbars.&amp;lt;br&amp;gt;{{tip| Windows has 2 font settings, small (default) and large, and this only works for small fonts|text=flaw}} ||  {{yes}} {{tip|via scrollbars&amp;lt;br&amp;gt; with an option to autofollow&amp;lt;br&amp;gt;(move scrollbars automatically)}} || {{un}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | one-click browse levels || {{yes}} previous, next {{tip|in all level files in current level directory, with wrap-around}} || {{yes}} previous, next {{tip|in currently loaded levels, without wrap-around}} || {{yes}} previous, next {{tip|in current collection, with wrap-around}} || {{yes}} previous, next {{tip|in all loaded level files, with wrap-around}} || {{yes}} {{tip| implementation: keyboard shortcuts for: previous, next, first, last (in current collection, without wrap-around)|text=partial}} || {{yes}} next, without wrap-around &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | one-click browse files || {{no}} || {{no}} || {{no}} || {{yes}} drop-down list with all level collections ||  {{yes}} drop-down list with visited level collections || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | search for unsolved level || {{yes}} previous, next {{tip|in all level files in current level directory, with wrap-around}} || {{yes}} previous, next, random {{tip|in currently loaded levels, without wrap-around}} || {{yes}} previous, next {{tip|in current collection, with wrap-around}} || {{yes}} {{tip|partial implementation: auto-advance after having solved a level finds an unsolved level if settings is &amp;quot;unsolved levels only&amp;quot;|text=partial}} || {{yes}} previous, next {{tip|in current collection, without wrap-around}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | rotate and mirror level-map || {{yes}} persistent, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{yes}} session (partial implementation: use editor) {{tip|savegames and solutions are specific to each transformation}} || {{yes}} session, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{yes}} &amp;lt;big style=&amp;quot;color: red;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/big&amp;gt;{{tip|Will somebody with a full version check if it is&amp;lt;br&amp;gt;session, with reset option&amp;lt;br&amp;gt;or&amp;lt;br&amp;gt;persistent, with reset option&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;additionally check if &amp;lt;br&amp;gt;savegames and solutions are automatically synchronized with current transformation&amp;lt;br&amp;gt;or&amp;lt;br&amp;gt;savegames and solutions are specific to each transformation|width=300px|text=Help}} || {{yes}} session, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | multiple windows, one per level || {{no}} || {{no}} || {{no}} || {{yes}}via tabs.&amp;lt;br&amp;gt;multiple levels&amp;lt;br&amp;gt;can be opened in separate tabs. || {{no}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | multiple views of a level || {{yes}} || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | full screen || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} via :&amp;lt;br&amp;gt;keyboard: F11 || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Information&amp;lt;/h2&amp;gt;&lt;br /&gt;
=== Level scrolling ===&lt;br /&gt;
&lt;br /&gt;
levels larger than window: scrolling&amp;lt;br&amp;gt;&lt;br /&gt;
levels larger than window: scrollbars&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Briefly, the first line is there to give a program the chance to tell that it has a scroll feature, and the second line is there to tell if the program does it the right way - with scrollbars.&lt;br /&gt;
&lt;br /&gt;
Since the first graphical user interfaces emerged, scrollbars have been used for depicting the situation where a document doesn&#039;t fit in the window, so the user can rightfully expect to find that logic (or something equally user-friendly) in a Sokoban program as well.&lt;br /&gt;
&lt;br /&gt;
Therefore, it&#039;s embarrasing for programs that requires scrolling if they don&#039;t have scrollbars or something equivalent. The line &amp;quot;levels larger than window: scrollbars&amp;quot; must be listed so readers can see this major design flaw, and so new programmers are reminded that they definitely should do better.&lt;br /&gt;
&lt;br /&gt;
On the other hand, Sokofan deserves credits for at least having a scroll feature, despite the fact that it&#039;s not done the right way with scrollbars. The user doesn&#039;t get any visible clue that the board is bigger than the window, and the user must read the instructions to find the keyboard and mouse/key combinations that controls the scrolling.&lt;br /&gt;
&lt;br /&gt;
So the line &amp;quot;levels larger than window: scrolling&amp;quot; is there to give Sokofan a chance to tell that it indeed has a scroll feature, even though it&#039;s not as user-friendly as the user rightfully can expect from a good Sokoban clone.&lt;br /&gt;
&lt;br /&gt;
-bd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multiple views of a level ===&lt;br /&gt;
A user often works on several alternative paths at the same time. It would be a great help if each of them was fully visible. For instance, multiple views are beneficial during the process of optimizing existing solutions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SokRFI - Sokoban Requests for Implementation ===&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- :::: SOKRFI - SOKOBAN REQUESTS FOR IMPLEMENTATION :::::::::  --&amp;gt; &lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;50&amp;quot; | Map Viewing : SokRFI - Sokoban Requests for Implementation&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;120&amp;quot; {{tc}} | Feature || {{tc}} | Description&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| show/hide&amp;lt;br&amp;gt;redundant walls ||It fills jagged wall edges, fills unused &amp;quot;tubes&amp;quot;, removes redundant walls, unused boxes, and unused goals. Implemented in [http://sokoban.ws/usokoban/usokoban.htm USokoban] as &#039;Normalize level&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Skin_Features&amp;diff=8184</id>
		<title>Feature list : Skin Features</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Skin_Features&amp;diff=8184"/>
		<updated>2024-07-17T18:51:10Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Skin Features */ removed column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skin Features ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: SKIN FEATURES ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Skin Features !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Skin Features&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | customizable skin || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | skin formats || {{yes}} meta-script language {{tip|includes scripts for importing the following skin formats:&amp;lt;br&amp;gt;common sokoban skin images (YSokoban),&amp;lt;br&amp;gt;Sokoban++ skin scripts,&amp;lt;br&amp;gt;Sokofan skin scripts,&amp;lt;br&amp;gt;Visual Sokoban skin scripts,&amp;lt;br&amp;gt;Sokoban for Windows skin scripts (Björn Källmark),&amp;lt;br&amp;gt;Sokoban BDE images,&amp;lt;br&amp;gt;SuperSoko skin images,&amp;lt;br&amp;gt;SokoStation4 skin scripts&amp;lt;br&amp;gt;JSoko skin scripts|width=210px}} || {{yes}} Sokoban++ skin scripts (ini) || {{yes}} two built-in skins || {{yes}} Sokoban for Windows skin scripts (skn) || {{yes}} common sokoban skin images (YSokoban) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | resizeable skins || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | pseudo-3D skins (sokoban++ style) || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | legal moves box animation (ysokoban style) || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | legal moves player animation (ysokoban style) || {{yes}} || {{no}} || {{no}} || {{no}} ||{{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | solution animation (ysokoban style) || {{yes}} || {{no}} || {{no}} || {{no}} ||  {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | animation frame extrapolation (morphing) || {{yes}} 30 frames || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | directional player || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | directional player can return to an &amp;quot;at ease&amp;quot; position || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | directional box|| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | directional box can return to an &amp;quot;at ease&amp;quot; position || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | support for seamless walls&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;(as opposed to discrete walls)&amp;lt;/small&amp;gt; || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | walls can be transparent || {{no}} || {{no}} skin dependent || {{yes}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | floors can be transparent || {{yes}} || {{no}} skin dependent || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | skin browser with preview || {{yes}} image-based skins; not scripted skins || {{no}} || {{yes}} || {{yes}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | recent skins history || {{yes}} || {{yes}} || {{no}} || {{un}} {{tip|with all skins in a list it is just as easy to browse the whole list}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | quick browse skins || {{yes}} menu: default, recent skins; keyboard shortcuts: next, default || {{yes}} menu: default, recent skins || {{yes}} menu: skin list || {{yes}} menu: skin list || {{yes}} use F4-F8 to select one of the loaded skins || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Customizing&amp;diff=8183</id>
		<title>Feature list : Customizing</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Customizing&amp;diff=8183"/>
		<updated>2024-07-17T18:43:17Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Customizing */ removed extra column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Customizing ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!-- ::::: CUSTOMIZING :::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!--:--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Customizing !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Customizing&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | settings interface || {{yes}} graphical user interface (tree-view) || {{yes}} graphical user interface (tabbed notebook view) || {{yes}} graphical user interface || {{yes}} graphical user interface (tabbed notebook view) ||  {{yes}} graphical user interface (window) || {{yes}} graphical user interface (window) &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | configurable statusbar (e.g., level title, moves, pushes) || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | configurable game state graphics (e.g., moves/pushes) || {{yes}} fonts, colours, buttons (static layout) || {{yes}} skin graphics (configurable layout) || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable cursors || {{no}} || {{yes}} graphics, skin dependent || {{no}} || {{yes}} small/large built-in cursors ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable mouse actions || {{yes}}(only right-click) || {{no}} || {{no}} || || {{yes}}(buttons: left, middle, right) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | customizable sound events || {{yes}} independent || {{yes}} skin dependent || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | background music || {{no}} &amp;lt;!--source: cd-audio, folder, playlist&amp;lt;br&amp;gt;formats:&amp;lt;br&amp;gt;cda, mid, mp3, wma&amp;lt;br&amp;gt;(limited mp3 support)--&amp;gt; || {{no}} || {{no}} || {{yes}} source: folder&amp;lt;br&amp;gt;formats: midi, mp3. || {{no}} || {{no}} &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Customizing : Background Image!! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Customizing : Background Image&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | customizable backgrounds || {{yes}} independent, with preview || {{yes}} skin dependent || {{yes}} independent || {{yes}} skin dependent || {{yes}} independent, with preview || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | background control || {{yes}} source: color, image;&amp;lt;br&amp;gt;(image view: center, scale, stretch, tile) || {{yes}} source: color, image;&amp;lt;br&amp;gt;(image view: center, stretch, tile) || {{no}} || {{yes}} source: image;&amp;lt;br&amp;gt;(image view: tile) || {{yes}} source: image;&amp;lt;br&amp;gt;(image view: center, stretch, tile) || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | quick browse backgrounds || {{no}} &amp;quot;slow&amp;quot; browse via settings || {{no}} || {{yes}} browse with preview via settings || {{no}} || {{yes}} tool button with drop-down list || {{no}} &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SokRFI - Sokoban Requests for Implementation ==&lt;br /&gt;
&amp;lt;!-- ::::: SOKRFI - SOKOBAN REQUESTS FOR IMPLEMENTATION ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table feature-list&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;50&amp;quot; | Customizing : SokRFI - Sokoban Requests for Implementation&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;120&amp;quot; {{tc}} | Feature || {{tc}} | Description&lt;br /&gt;
|-&lt;br /&gt;
|{{tc}}| background-image changer || This feature is for the users that look for to always have a different background, playing a level.&amp;lt;br&amp;gt;It is applied to the following events in the program:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#8226; On program start-up&amp;lt;br&amp;gt;&amp;amp;#8226; After solving a level.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For the convenience of users and updates are groups all backgrounds in a single folder.&amp;lt;br&amp;gt;One can also choose the mode in that the background will be changed:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#8226; Next image.&amp;lt;br&amp;gt;&amp;amp;#8226; Previous image.&amp;lt;br&amp;gt;&amp;amp;#8226; Random image.&amp;lt;p&amp;gt;Implemented in Sokomind&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_Game_Play&amp;diff=8182</id>
		<title>Feature list : Game Play</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_Game_Play&amp;diff=8182"/>
		<updated>2024-07-17T18:37:12Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Game Play */ removed column&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Game Play ==&lt;br /&gt;
{{LastREVISIONTIME}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: GAME PLAY ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Game Play !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Game Play&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | autosave best solutions || {{yes}} tiebreaking: moves, pushes, secondary metrics || {{yes}} tiebreaking: moves, pushes || {{no}} || {{yes}} tiebreaking: moves, pushes || {{yes}} tiebreaking: moves, pushes, secondary metrics || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | autosave solutions options || always autosaves better solutions;&amp;lt;br&amp;gt;inferior solutions are discarded || autosave solutions options: never/always/if better/ask;&amp;lt;br&amp;gt;existing solutions are kept || {{no}} || autosave solutions options: none/best 5/best 10/all || always autosaves better solutions;&amp;lt;br&amp;gt;inferior solutions are discarded || optionally saves game when solved; &amp;lt;br&amp;gt; only one solution per saved game &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | push or move optimized pathfinding || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | move animation modes || smooth, cell by cell, instant || cell by cell, instant || cell by cell || smooth ||  cell by cell, instant&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;{{tip|(instant with [[Feature_info#Choice points|choice points]] is listed but is too fast to be useful)|menu=yes}} || cell by cell, instant &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | mouse move control: drag and drop || {{yes}} with reachable squares || {{yes}} without reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Mouse_Move_Control:_Select_and_drop|mouse move control: select and drop]] || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} with reachable squares || {{yes}} without reachable squares &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Mouse_Move_Control:_Drag_and_track|mouse move control: drag and track]] || {{no}} experimental click-less tracking available || {{no}} || {{no}} || {{no}} ||  {{no}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | reverse mode play starting at end position (pull instead of push) || {{yes}} || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | show secondary metrics (box-pushes, box-changes and pushing-sessions) || {{yes}} display: mouse over || {{yes}} display: optional, configurable || {{no}} || {{no}} || {{yes}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Lowerbound_of_solution_length_regarding_pushes|show a lowerbound of the solution length]] || {{no}} || {{no}} || {{yes}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | timing || {{yes}} optional; optional idle time threshold || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|-&lt;br /&gt;
| {{tc}} | move player&amp;lt;br&amp;gt;through boxes ||{{no}}|| {{no}} || {{yes}} || {{no}} || {{yes}} target: reachable squares through boxes.&amp;lt;br&amp;gt;figure: small black square.&amp;lt;br&amp;gt;via: options -&amp;gt; go through boxes. || {{no}} &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Game Play : Legal moves !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Game Play : Legal moves&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | show player&#039;s reachable squares|| {{yes}} figure: transparent small skin graphics || {{no}} || {{yes}} figure: transparent small skin graphics || {{yes}} ||  {{yes}} figure: small round blobs || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | show box&#039;s reachable squares || {{yes}} figure: transparent small skin graphics || {{yes}} figure: skin graphics, independent of box || {{yes}} figure: transparent small skin graphics || {{yes}} || {{yes}} figure: small round blobs || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | show pushable boxes || {{yes}} dynamically by clicking a wall.&amp;lt;br&amp;gt;figure: configurable border || {{no}} || {{no}} || {{no}} ||  {{yes}} permanent with &amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;CTRL&amp;lt;/span&amp;gt;+&amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;F9&amp;lt;/span&amp;gt;.&amp;lt;br&amp;gt;dynamically by clicking a wall.&amp;lt;br&amp;gt;figure: skin graphics, independent of box || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | show [[Deadlocks#Dead square deadlocks|dead squares]] || {{yes}}figure: configurable shaded square || {{no}} || {{yes}}figure: darker shaded square || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Simple deadlock detection|simple deadlock detection]] || {{yes}} dead squares, freezing boxes || {{no}} || {{yes}} dead squares, freezing boxes || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[#Advanced deadlock detection|advanced deadlock detection]] || {{yes}} {{tip|bipartite:&amp;lt;br&amp;gt;n boxes for m goals;&amp;lt;br&amp;gt;1 goal for n boxes;&amp;lt;br&amp;gt;corrals: precalculated at level load time + 100 ms search after a push}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Game Play : History !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Game Play : History&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | undo/redo || unlimited || unlimited || unlimited || unlimited || unlimited || unlimited &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | undo all || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} press [esc]|| {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | redo all || {{yes}} || {{no}} || {{yes}} || {{no}} ||{{no}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | replay || {{yes}} forwards and backwards || {{yes}} forwards || {{yes}} forwards || {{yes}} forwards and backwards || {{yes}} forwards (solutions only) || {{yes| via trackbar dragged to any position replays to that position}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | replay ergonomics || unified start/stop button; click anywhere to stop; keyboard shortcuts available; speed and direction can be changed during replay || separate start/stop buttons; click stop-button to stop; keyboard shortcuts available || unified start/stop button; click anywhere to stop; speed can be changed during replay || ||  with start/stop:&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;CTRL&amp;lt;/span&amp;gt;+&amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;F2&amp;lt;/span&amp;gt; to begin. &amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;SPACE&amp;lt;/span&amp;gt; to replay to next box-change. without start/stop: &amp;lt;span class=&amp;quot;kbd&amp;quot;&amp;gt;F2&amp;lt;/span&amp;gt; || trackbar represents replay history; drag trackbar to control replay; click anywhere, click [stop] button, or press [esc] to stop &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | mousewheel undo/redo/replay support || {{yes}} combined moves || {{yes}} single step or optional combined moves || {{yes}} combined moves || {{no}} ||  {{yes}} combined moves || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | browse move history || {{yes}} trackbar (choice-points, with preview) || {{yes}} trackbar (all moves, with preview) || {{yes}} trackbar (choice-points, with preview) || {{no}} || {{no}} || {{yes}} trackbar (all moves, no preview) &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | quicksave slots || {{yes}} unlimited (interface: graphical, window, thumbnail preview) || {{yes}} unlimited (interface: graphical, pop-up, list) || {{no}} || {{yes}} 3 (interface: graphical) || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | one-click load quicksaves || {{yes}} keyboard: press [Enter] to load currently selected snapshot; mouse: double-click a snapshot on the list || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | remember last session || {{yes}} file, level, history with redo, position {{tip|position is optional, default &amp;quot;off&amp;quot;, additionally, up to 25 recent (file, level)}} || {{yes}} file, level || {{yes}} file, level || {{yes}} file, level, history without redo, position || {{yes}} file, level, history without redo, position || {{no}} &lt;br /&gt;
|- {{programs}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
&lt;br /&gt;
=== Choice points ===&lt;br /&gt;
&lt;br /&gt;
A choice point in the game is when the player changes from one box to another, or finishes a series of moves that pushed a box in a single direction.&lt;br /&gt;
&lt;br /&gt;
Several programs have replay features related to choice points. Sokofan, for example, has replay buttons (called &amp;quot;smart do/undo&amp;quot;) to move from one choice point to another. Another example is the game history browser in Sokoban YASC which works with choice points instead of individual moves.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mouse Move Control: Select and drop ===&lt;br /&gt;
Lift and drop. Left click on a box to lift it, move to the wanted position and left click again to drop. Lift and drop is easier for long moves than the drag and drop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mouse Move Control: Drag and track ===&lt;br /&gt;
Point at the pusher with the mouse and move it in the direction you want. The pusher will track your movements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Simple deadlock detection ===&lt;br /&gt;
&lt;br /&gt;
Simple deadlock detection deals with deadlock types that require rather simple analysis of the board and the game state. Good examples are:&lt;br /&gt;
&lt;br /&gt;
* [[Deadlocks#Dead square deadlocks|Dead squares]]&lt;br /&gt;
&lt;br /&gt;
* [[Deadlocks#Freeze deadlocks|Freeze deadlocks]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced deadlock detection ===&lt;br /&gt;
&lt;br /&gt;
Advanced deadlock detection deals with deadlock types that require quite sophisticated computations. Good examples are:&lt;br /&gt;
&lt;br /&gt;
* [[Deadlocks#Bipartite deadlocks|Bipartite deadlocks]]&lt;br /&gt;
&lt;br /&gt;
* [[Deadlocks#Corral deadlocks|Corral deadlocks]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lowerbound of solution length regarding pushes ===&lt;br /&gt;
&lt;br /&gt;
For solving a level all boxes have to be pushed to goals. A program can calculate the distance of every box to the nearest goal. While doing this it is presumed only one box is on the board (hence the box does not need to be pushed around other boxes). The sum of all these box distances to their goals results in a lowerbound - no matter how the boxes are pushed to their goals the level can never be solved with fewer than the calculated number of pushes. Some programs can calculate a lowerbound for the solution length (in pushes):&amp;lt;br&amp;gt;&lt;br /&gt;
number of pushes so far + sum of all box distances to their nearest goals (presuming no other boxes are on the board).&amp;lt;br&amp;gt;&lt;br /&gt;
This lowerbound can be useful in levels like the &amp;quot;Kobus Theron&amp;quot;-series.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO ::::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Feature_list_:_General_Information&amp;diff=8181</id>
		<title>Feature list : General Information</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Feature_list_:_General_Information&amp;diff=8181"/>
		<updated>2024-07-17T18:07:41Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Game Types */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ::::: FEATURE-LIST INDEX ::::: --&amp;gt;&amp;lt;noinclude&amp;gt;__NOTOC__{{:Feature_list}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Platforms ==&lt;br /&gt;
&amp;lt;!-- ::::: PLATFORMS ::::: --&amp;gt;&lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSoko | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Platforms !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Platforms&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | Java&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;(platform independent)&amp;lt;/small&amp;gt; || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | Linux || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | Mac OS X || {{no}} || {{yes}} {{tip|Sokoban++ for macOS lacks many of the features listed here, this feature list reflects the Windows version|text=partial}} || {{yes}} || {{no}} || {{no}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | Windows || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | Windows Mobile || {{no}} || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Program Information !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Program Information&amp;lt;/div&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | license || free software || freeware || free software || shareware ||  freeware || freeware &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
== Limits ==&lt;br /&gt;
&amp;lt;!-- ::::: LIMITS ::::: --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt; &lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Limits !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Limits&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | maximal map size || 50x50 || 70x70 || 200x200 || unlimited || unlimited || unlimited &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | maximal moves || 100000 || unlimited || unlimited  || unlimited || unlimited || unlimited &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | [[Feature_list_:_General_Information#Maximal boxes limited by map size|maximal boxes]] || 1200 || unlimited || unlimited  || unlimited || unlimited || unlimited &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
== Game Types ==&lt;br /&gt;
&amp;lt;!-- ::::: GAME TYPES :::::  --&amp;gt; &lt;br /&gt;
&amp;lt;!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Game Types !! colspan=&amp;quot;50&amp;quot; | &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Game Types&amp;lt;/div&amp;gt;&lt;br /&gt;
|- {{programs}}&lt;br /&gt;
| {{tc}} | sokoban || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | sokoban +&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;(numbered sokoban)&amp;lt;/small&amp;gt; || {{no}} || {{no}} || {{no}} || {{no}} ||  {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | trioban || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | hexoban || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} {{tip|separate download available}} || {{yes}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | octoban || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|- &lt;br /&gt;
| {{tc}} | multiban || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} &lt;br /&gt;
|}&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ::::: FEATURE-INFO :::: --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Info==&lt;br /&gt;
=== Maximal boxes limited by map size ===&lt;br /&gt;
&lt;br /&gt;
There is no limit to the number of boxes. The limit is that imposed by the size of the map.&lt;br /&gt;
&lt;br /&gt;
(The table uses the term &amp;quot;unlimited&amp;quot; here. In this context, it means the same, and it avoids burdening the reader with unnecessary details like &amp;quot;limited by map size&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&amp;lt;!-- ::::: End FEATURE-INFO :::: --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Level_format&amp;diff=8150</id>
		<title>Level format</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Level_format&amp;diff=8150"/>
		<updated>2024-06-14T10:46:55Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: moved Level format to Puzzle format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Puzzle format]]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=User:Matthias_Meger&amp;diff=8139</id>
		<title>User:Matthias Meger</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=User:Matthias_Meger&amp;diff=8139"/>
		<updated>2024-06-12T14:06:22Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Matthias Meger&lt;br /&gt;
Hamburg, Germany&lt;br /&gt;
E-Mail: JSoko@mail.de&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Main_Page&amp;diff=8123</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Main_Page&amp;diff=8123"/>
		<updated>2024-04-23T18:24:51Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Welcome to the Sokoban Wiki */ added scientific research page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;Welcome to the Sokoban Wiki&#039;&#039;&#039;==&lt;br /&gt;
 &lt;br /&gt;
[[Image:SokobanExample.gif|frame|right|A &#039;&#039;Sokoban&#039;&#039; puzzle being solved]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sokoban&#039;&#039;&#039; is a puzzle video game in which the player pushes boxes around in a warehouse, trying to get them to storage locations. &lt;br /&gt;
&lt;br /&gt;
The game was designed in 1981 by Hiroyuki Imabayashi, and first published in December 1982.&lt;br /&gt;
The original game of SOKOBAN was written by Hiroyuki Imabayashi.&lt;br /&gt;
&lt;br /&gt;
Today Sokoban is one of the most popular thought and logic games.&lt;br /&gt;
&lt;br /&gt;
The name comes from Japan and means &amp;quot;warehouse keeper&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
As simple as that name is, so is the idea of this game: &lt;br /&gt;
&lt;br /&gt;
A Sokoban puzzle represents a store room, where boxes appear to be randomly placed.&lt;br /&gt;
You help the warehouse keeper to push the boxes around the maze of the room so that, at the end, all boxes are on marked fields.&lt;br /&gt;
&lt;br /&gt;
The only restrictions are that the warehouse keeper can only push a box, never pull, and that just one box may be pushed at a time.&lt;br /&gt;
&lt;br /&gt;
Each puzzle has a different structure, which requires a different solution - often with a different strategy as well.&lt;br /&gt;
The magic of the game is that boxes, which are out of the way on one move, might be in the way on the next move.&lt;br /&gt;
&lt;br /&gt;
The simplicity of the rules, in combination with the many puzzles ranging from easy to extremely difficult, have made Sokoban become a real classic.&lt;br /&gt;
 &lt;br /&gt;
This Wiki is dedicated to this exciting game.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;box margin-3&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Information&#039;&#039;&#039;&lt;br /&gt;
:* [[The rules of the game]]&lt;br /&gt;
:* [[How to play Sokoban]]&lt;br /&gt;
:* [[Moves vs. Pushes]]&lt;br /&gt;
:* [[Deadlocks]]&lt;br /&gt;
:* [[Scientific research]]&lt;br /&gt;
:* [[level format | The level format]]&lt;br /&gt;
:* [[general Sokoban information | General Sokoban information]]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Programs&#039;&#039;&#039;&lt;br /&gt;
:* [[First_Sokoban_program | The first Sokoban program]]&lt;br /&gt;
:* [[Links | Sokoban Programs and links]]&lt;br /&gt;
:* [[feature_list | Sokoban program feature comparisons]]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Solvers statistics&#039;&#039;&#039;&lt;br /&gt;
:* [[Solver Statistics | Sokoban solver statistics]]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Development&#039;&#039;&#039;&lt;br /&gt;
:* [[Solver | Solver development]]&lt;br /&gt;
:* [[Optimizer | Optimizer development]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SokobanWiki Buttons ==&lt;br /&gt;
&lt;br /&gt;
Add a SokobanWiki [[Buttons|Button]] to your web site.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;This Sokoban Wiki was printed on 100% recycled electrons!&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=File:SokobanExample.gif&amp;diff=8121</id>
		<title>File:SokobanExample.gif</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=File:SokobanExample.gif&amp;diff=8121"/>
		<updated>2024-04-23T18:18:59Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=File:FirstSokoban.png&amp;diff=8119</id>
		<title>File:FirstSokoban.png</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=File:FirstSokoban.png&amp;diff=8119"/>
		<updated>2024-04-17T11:49:44Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: uploaded a new version of &amp;quot;File:FirstSokoban.png&amp;quot;:&amp;amp;#32;Screenshot: First Sokoban program&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Image of the first Sokoban game&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Solver&amp;diff=8117</id>
		<title>Solver</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Solver&amp;diff=8117"/>
		<updated>2024-04-13T12:56:58Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Deadlocks */ Changed the text a bit so it&amp;#039;s clearer that deadlocks are a good thing and can help the solver find a solution quicker&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Terms and Definitions ==&lt;br /&gt;
&lt;br /&gt;
;Level&lt;br /&gt;
:Another term for a Sokoban puzzle.&lt;br /&gt;
:A level contains a board and usually additional data like title, author name and solutions.&lt;br /&gt;
:Sometimes it’s also called “maze”.&lt;br /&gt;
&lt;br /&gt;
;Board&lt;br /&gt;
:The board is a 2 dimensional area containing the objects of a Sokoban level (walls, boxes, goals, player and empty squares).&lt;br /&gt;
&lt;br /&gt;
;Boxes&lt;br /&gt;
:The objects on the board which the player can push around.&lt;br /&gt;
&lt;br /&gt;
;Goals&lt;br /&gt;
:The target positions for the boxes. &lt;br /&gt;
:A level is solved when all boxes have been pushed to a goal.&lt;br /&gt;
&lt;br /&gt;
;Box Configuration&lt;br /&gt;
:The positions of all boxes on the board form a specific &#039;&#039;Box Configuration&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
;Board position&lt;br /&gt;
:The positions of all boxes and the player position constitute a &#039;&#039;Board Position&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
;State&lt;br /&gt;
:The positions of all boxes and the player position constitute a Board Position.&lt;br /&gt;
:&lt;br /&gt;
:The term State is used when additional data are stored together with a Board Position. &lt;br /&gt;
:&lt;br /&gt;
:For instance, a solver may store: pushes needed to reach the board position or the information of which box has been pushed last.&lt;br /&gt;
:&lt;br /&gt;
:The search tree consists of states being generated during the search.&lt;br /&gt;
:&lt;br /&gt;
:States can be stored in a transposition table so duplicate game positions can be detected, for instance.&lt;br /&gt;
:Other terms for a state are: game position, game state and game position.&lt;br /&gt;
&lt;br /&gt;
;Player reachable area&lt;br /&gt;
:The player reachable area consists of all squares on the board currently reachable for the player.&lt;br /&gt;
&lt;br /&gt;
;Corral&lt;br /&gt;
:The boxes and walls on the board can split the board into several areas. &lt;br /&gt;
:&lt;br /&gt;
:An area of the board which the player cannot reach, surrounded by a barrier made of one or more boxes, and any number of walls is called “corral”.&lt;br /&gt;
&lt;br /&gt;
== Data Structures ==&lt;br /&gt;
&lt;br /&gt;
=== Positions on the board ===&lt;br /&gt;
The board is a two-dimensional area containing the objects of a Sokoban level.&lt;br /&gt;
&lt;br /&gt;
Hence, a natural data structure for storing the board is a two-dimensional array.&lt;br /&gt;
&lt;br /&gt;
However, many solvers use a one-dimensional data structure for this task, numbering the board positions from 0 to n-1, where &#039;n&#039; is the number of board squares. &lt;br /&gt;
&lt;br /&gt;
Accessing the elements of a one-dimensional vector is easier and faster for a computer program than accessing the elements of a two-dimensional array, simply because the address calculation is less complicated.&lt;br /&gt;
&lt;br /&gt;
Using a one-dimensional vector has also the advantage for the programmer, that a square number can be stored in just one variable.&lt;br /&gt;
&lt;br /&gt;
The board data structure can also include additional data, for instance flags for: &lt;br /&gt;
* Is a box frozen?&lt;br /&gt;
* Is the position a dead position?&lt;br /&gt;
&lt;br /&gt;
=== Storing a state ===&lt;br /&gt;
In Sokoban a state consists (among possible additional data associated with it) of the positions of the boxes and the position of the player. &lt;br /&gt;
&lt;br /&gt;
Every other element of the board cannot change its position and therefore needn’t to be stored per state.&lt;br /&gt;
&lt;br /&gt;
Therefore a state can be stored by using:&lt;br /&gt;
* One integer array for storing all box positions.&lt;br /&gt;
* One integer for storing the player position.&lt;br /&gt;
&lt;br /&gt;
For a better memory alignment the player position and box positions can also be stored in one integer array together.&lt;br /&gt;
&lt;br /&gt;
The data structure usually consists of additional data fields like for storing information about the state like pushes needed to reach it or which box has been pushed last.&lt;br /&gt;
&lt;br /&gt;
Example data structure for Java:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public class State {&lt;br /&gt;
	int[] boxPositions;&lt;br /&gt;
	int playerPosition;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Transposition Tables ===&lt;br /&gt;
Solvers for the Sokoban game use a graph search as the search algorithm.&lt;br /&gt;
&lt;br /&gt;
The search creates a directed graph of states. &lt;br /&gt;
&lt;br /&gt;
In nearly every Sokoban puzzle many states can be reached through different paths in the search graph.&amp;lt;br /&lt;br /&gt;
In these cases the graph is cyclic and the search reaches specific states multiple times during the search.&amp;lt;br /&lt;br /&gt;
The search effort can therefore be considerably reduced by eliminating duplicate states from the search.&amp;lt;br /&lt;br /&gt;
A common technique is to use a large hash table, called the transposition table, which stores all already explored states.&amp;lt;br /&lt;br /&gt;
&lt;br /&gt;
The transposition can also be used to store additional data per state – for instance the depth the state has been reached in during an IDA*-search.&lt;br /&gt;
&lt;br /&gt;
==== Tradeoff between space and time ====&lt;br /&gt;
The transposition table may need to hold several million states.&amp;lt;br /&lt;br /&gt;
Hence, an efficient data structure has to be chosen for storing the states.&lt;br /&gt;
&lt;br /&gt;
There are different approaches to address the high memory usage problem.&lt;br /&gt;
&lt;br /&gt;
===== Limit the transposition table size =====&lt;br /&gt;
One solution for the high memory usage of the transposition is limiting the size of the transposition table.&lt;br /&gt;
&lt;br /&gt;
This makes the search algorithm a kind of hybrid between tree search and graph search. &amp;lt;br /&lt;br /&gt;
The advantage is the ability to search for solutions for larger levels due to the lower memory usage, while an obvious disadvantage is that it may lead to duplicated search effort. &lt;br /&gt;
&lt;br /&gt;
===== Incremental storage of states =====&lt;br /&gt;
Instead of storing all box positions and the (normalized) player position for every state it’s also possible to store the data relative to another state.&lt;br /&gt;
&lt;br /&gt;
This divides the states in two types:&lt;br /&gt;
* States that store all box positions and the player position.&lt;br /&gt;
* States that store a link to another state and the difference to that linked state.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;br /&lt;br /&gt;
A state consists of these data:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
State 1:&lt;br /&gt;
box positions: 10, 13, 21, 33, 45, 47, 48, 49&lt;br /&gt;
player position:  17&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now another state consisting of these data has to be stored:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
State 2:&lt;br /&gt;
box positions: 11, 13, 21, 33, 45, 47, 48, 49 &lt;br /&gt;
player position:  10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
State 2 can be stored relative to state 1 this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
State 2:&lt;br /&gt;
link to: state 1&lt;br /&gt;
boxNo: 0&lt;br /&gt;
newBoxPosition: 11&lt;br /&gt;
Player position: 10   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hash Function ===&lt;br /&gt;
Since the transposition table is usually implemented as hash table a hash function is needed for storing the states. &lt;br /&gt;
&lt;br /&gt;
The hash function takes the position of every box and the normalized player position into account.&lt;br /&gt;
&lt;br /&gt;
One efficient way to implement this is using Zobrist values (see: Albert L Zobrist. A new hashing method with application for game playing. ICCA journal, 13(2):69–73, 1970.)&lt;br /&gt;
&lt;br /&gt;
== Normalizing the player position ==&lt;br /&gt;
Solvers not interested in finding solutions optimized for moves can consider two states equivalent if the boxes are at the same positions and the player positions are in the same player access area.&lt;br /&gt;
&lt;br /&gt;
This can be implemented by storing only normalized player positions, e.g. the top-left reachable position instead of the actual position of the player.&lt;br /&gt;
&lt;br /&gt;
This significantly reduces the number of states in the search tree.&lt;br /&gt;
&lt;br /&gt;
== Calculation of player reachable positions ==&lt;br /&gt;
The reachable player positions must be calculated very often during the solver search.&lt;br /&gt;
Hence, an efficient algorithm is required.&lt;br /&gt;
&lt;br /&gt;
=== Algorithm ===&lt;br /&gt;
In order to generate successor states from a specific state during the search the solver must know which side of which boxes the player can reach.&lt;br /&gt;
&lt;br /&gt;
Instead of calculating a path for the player to every side of every box separately it’s quicker to calculate all player reachable positions at once.&lt;br /&gt;
&lt;br /&gt;
This can be done by performing a simple Breadth First Search.&lt;br /&gt;
&lt;br /&gt;
The BFS marks all reachable positions. This can be done by using a boolean array where each bit represents a specific position on the board.&amp;lt;br /&amp;gt;&lt;br /&gt;
For a better performance time stamps can be used to mark the reachable positions of the player instead of boolean flags.&lt;br /&gt;
&lt;br /&gt;
== Brute force ==&lt;br /&gt;
The first step we do is to code a routine that generates all possible pushes for a given level situation.&lt;br /&gt;
In our level for the first push there are four possible pushes: up, down, left and right. All of these pushes are done and the resulting states are stored in a queue. &lt;br /&gt;
&lt;br /&gt;
With only one push the box can be pushed to the following positions:&lt;br /&gt;
&lt;br /&gt;
[[Image:SolverLevel2.png]]&lt;br /&gt;
&lt;br /&gt;
After this is done we take every of these saved states as new start state and generate all possible successor states. For example, this is one state than occurs after the first push has been made:&lt;br /&gt;
&lt;br /&gt;
[[Image:SolverLevel3.png]]&lt;br /&gt;
&lt;br /&gt;
We take this state and generate all successor states of it (that just means we push the box to every possible direction again). Again we save every generate state in the queue.&lt;br /&gt;
&lt;br /&gt;
Described as algorithm this looks like this:&lt;br /&gt;
&lt;br /&gt;
This is done again and again:&lt;br /&gt;
# Add the initial state (the level begin) to the queue&lt;br /&gt;
&lt;br /&gt;
# Take the first state of the queue &lt;br /&gt;
# Generating all successor states of the state we got of the queue&lt;br /&gt;
# Add all states we&#039;ve just generated in the queue&lt;br /&gt;
# continue by step 1&lt;br /&gt;
&lt;br /&gt;
Finally we reach the state where the box is located on the goal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pruning duplicate positions ==&lt;br /&gt;
The described algorithm can be improved a lot. One thing that can be improved is the following:&lt;br /&gt;
At any time the algorithm pushes the box on square to the right. Then it adds this state to the queue. At some time it takes this state from the queue again and generates all successor states - including the state resulting by pushing the box one square to the left.&lt;br /&gt;
This results in a loop: Pushing a box to the right, then back to the left, again to the right, ...&lt;br /&gt;
we generate duplicate positions which slows down the search a lot. So what we have to do is avoiding duplicates states.&lt;br /&gt;
To avoid duplicate positions we have to detect them. Therefore we have to store every state reached during the solving process.&lt;br /&gt;
After a new state has been generated we have to check if it has already been generated before and if so we just discard it.&lt;br /&gt;
This reduces the number of states to search until a solution is found a lot and therefore improves the performance of the solver.&lt;br /&gt;
&lt;br /&gt;
New solver process logic:&lt;br /&gt;
# Take the first state of the queue &lt;br /&gt;
# Generating all successor states of the state we got of the queue&lt;br /&gt;
# Delete all successor states that have already been generated before&lt;br /&gt;
# Add all left states to the queue&lt;br /&gt;
# continue by step 1&lt;br /&gt;
&lt;br /&gt;
== Deadlocks ==&lt;br /&gt;
&lt;br /&gt;
Due to the constraints given by the rules of Sokoban some states in the game are deadlocked.&lt;br /&gt;
&lt;br /&gt;
That means it isn’t possible to push every box to goal, anymore.&lt;br /&gt;
&lt;br /&gt;
In general, deadlocks can be arbitrarily complex and potentially include all the boxes.&lt;br /&gt;
&lt;br /&gt;
Hence, detecting all deadlocks is only feasible for very small levels.&lt;br /&gt;
&lt;br /&gt;
However, a lot of deadlocks can be identified also in bigger levels.&lt;br /&gt;
&lt;br /&gt;
Detecting deadlocks can prune huge parts of the search tree and therefore is an important part of every solver.&lt;br /&gt;
&lt;br /&gt;
A balance has to be found between the time spent on deadlock detection and the time spent on the actual search.&lt;br /&gt;
&lt;br /&gt;
While the detection process itself has some computational cost, the benefits of pruning large parts of the search tree usually outweigh the drawbacks. &lt;br /&gt;
&lt;br /&gt;
See the [[Deadlocks]] section for an overview of some common deadlocks that may occur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[How to detect deadlocks]]&lt;br /&gt;
&lt;br /&gt;
== Pushes Lowerbound Calculation ==&lt;br /&gt;
&lt;br /&gt;
The ability to admissibly estimate the number of box pushes needed to solve a specific state is useful for the heuristic function used in a guided search - like for example the A*-search.&lt;br /&gt;
&lt;br /&gt;
The more accurate the calculated lower bound is the better it can guide the search.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, calculating a good lower bound is a CPU intensive calculation.&lt;br /&gt;
&lt;br /&gt;
A good lower bound calculation is especially important for solvers that search push optimal solutions.&lt;br /&gt;
&lt;br /&gt;
The lower bound can also be used as information whether a level has been solved, since a lower bound of 0 means all boxes are on goals.&lt;br /&gt;
&lt;br /&gt;
=== Performance vs. Accuracy ===&lt;br /&gt;
Calculating an accurate pushes lower bound is a quite expensive task.&amp;lt;br /&amp;gt;&lt;br /&gt;
Hence, depending on the needed accuracy different algorithms are used. &lt;br /&gt;
&lt;br /&gt;
==== Free Goals Count ====&lt;br /&gt;
A trivial lower bound can be calculated by counting the number of goals not occupied by a box.&lt;br /&gt;
&lt;br /&gt;
This calculation is very fast but the results are quite inaccurate.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, this calculation can be used to identify specific level types.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
If the initial state of a level has 20 boxes but only one goal not occupied by a box then this level belongs to a specific level type where most of the boxes are on goals right from the beginning.&amp;lt;br /&amp;gt;&lt;br /&gt;
For such levels a lower bound calculation can often not guide the search as well as in other level types.&lt;br /&gt;
&lt;br /&gt;
==== Simple Lower Bound ====&lt;br /&gt;
A simple lower bound calculation calculates the sum of the distances of each box to its nearest goal.&lt;br /&gt;
&lt;br /&gt;
The distance from a box to its nearest goal can be calculated with various degrees of sophistication.&amp;lt;br /&amp;gt;&lt;br /&gt;
The simplest method is to calculate the  so-called [http://en.wikipedia.org/wiki/Taxicab_geometry Manhattan distance]. &lt;br /&gt;
&lt;br /&gt;
A more accurate method is to use the minimum push distance from a box to its nearest goal. &amp;lt;br /&amp;gt;&lt;br /&gt;
The program can precalculate the minimum push distance to the nearest goal for all squares on the board during initialization. &amp;lt;br /&amp;gt;&lt;br /&gt;
That way, it&#039;s a simple and efficient table lookup to find the distance to the nearest goal for each box during the search.&lt;br /&gt;
&lt;br /&gt;
Both of these methods have the notable property that they are so-called [http://en.wikipedia.org/wiki/Admissible_heuristic admissible heuristics], i.e., they never overestimate the true shortest solution. This means the lower bound estimate can be used for solving a level with a push-optimality guarantee.&lt;br /&gt;
&lt;br /&gt;
Calculating a simple lower bound is fast and accurate enough for very small levels. It does, however, grossly underestimate the true lower bound in most cases. The simple lower bound ignores that all boxes must go to different goals, and it also ignores how the boxes interact with (typically block) one another.&lt;br /&gt;
&lt;br /&gt;
==== Minimum Matching Lower Bound ====&lt;br /&gt;
The Minimum Matching Lower Bound algorithm calculates a minimum-cost perfect matching on a bipartite graph.&amp;lt;br /&amp;gt;&lt;br /&gt;
The “cost” is represented by the push distance of a specific box to a specific goal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Each box is assigned to a goal so that the total sum of distances is minimized.&lt;br /&gt;
&lt;br /&gt;
The matching can be calculated using the Hungarian method or the Auction algorithm, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
The complexity of this calculation is about O(N3), where N is the number of boxes and therefore are quite expensive calculation.&lt;br /&gt;
&lt;br /&gt;
The benefits of this expensive calculation are:&lt;br /&gt;
* It produces much more accurate results than the Simple Lower Bound calculation.&lt;br /&gt;
* It provides the parity of the any solution, i.e. if the value returned by the algorithm is even, then the number of pushes in a solution is also even. &lt;br /&gt;
This makes it possible to skip every other iteration in an iterative deepening search. &lt;br /&gt;
* It can detect deadlocks where not every box can reach an own goal anymore.&lt;br /&gt;
&lt;br /&gt;
==== Greedy approach ====&lt;br /&gt;
Calculating a minimum-cost perfect matching on a bipartite graph as described above is an expensive computation.&lt;br /&gt;
&lt;br /&gt;
A greedy approach can be used to approximate a minimal perfect matching: &amp;lt;br /&amp;gt;&lt;br /&gt;
the push distances of all boxes to every goal are calculated and stored in a list sorted ascending by distance.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: box1 to goal 1: distance = 3&lt;br /&gt;
: box 2 to goal 1: distance = 4&lt;br /&gt;
: box1 to goal 2: distance = 10&lt;br /&gt;
: box 2 to goal 2: distance = 12&lt;br /&gt;
&lt;br /&gt;
There is also a list of all already matched boxes and goals.     &amp;lt;br /&amp;gt;&lt;br /&gt;
We then iterate over this list of distances.                     &amp;lt;br /&amp;gt;&lt;br /&gt;
If the box and the goal both aren’t matched, yet, we match them. &amp;lt;br /&amp;gt;&lt;br /&gt;
In the example, we would match box 1 to goal 1.                  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then the second list entry is reached:    &amp;lt;br /&amp;gt;&lt;br /&gt;
“box 2 to goal 1: distance = 4“           &amp;lt;br /&amp;gt;&lt;br /&gt;
Since goal1 is already matched with box 1 the box can’t be matched and we discard this entry.&lt;br /&gt;
&lt;br /&gt;
However, it is possible that not every box is assigned a goal after the list has been completely iterated over – although a valid matching for all boxes may be possible.&amp;lt;br /&amp;gt;&lt;br /&gt;
In that case all not yet matched boxes are simply assigned to its closest goal. &lt;br /&gt;
&lt;br /&gt;
This approach isn’t as expensive to calculate as a minimum-cost perfect matching with the disadvantage of being less accurate.&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Optimization ===&lt;br /&gt;
The algorithm used to calculate the pushes lower bound can be optimized using specific optimization ideas:&lt;br /&gt;
&lt;br /&gt;
* If the lower bound of a state is L1 and a push is made the new lower bound L2 has to be calculated.&amp;lt;br /&amp;gt;When the algorithm finds a matching that reduces this lower bound L1 by the cost of the push, it’s clear that the lower bound can’t be reduced further.&amp;lt;br /&amp;gt;Hence, the algorithm can stop immediately in these cases.&lt;br /&gt;
&lt;br /&gt;
* During the search the algorithm only needs to update the previous found matching, because each push results in only one box changing its distances to the goals.&lt;br /&gt;
&lt;br /&gt;
* Only perfect matchings are relevant.&amp;lt;br /&amp;gt;Hence, as soon as it is clear that a perfect matching isn’t possible the algorithm needn’t to search for the minimum matching anymore.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Calculating the Box Distances ===&lt;br /&gt;
For calculating the pushes lower bound the algorithm needs the distances for all boxes to all goals.&lt;br /&gt;
&lt;br /&gt;
Calculating these distances can be done in different ways.&lt;br /&gt;
&lt;br /&gt;
Since the wall positions and goal positions never change, the distances for a specific box depend on:&lt;br /&gt;
* the player position&lt;br /&gt;
* the positions of the other boxes&lt;br /&gt;
&lt;br /&gt;
Calculating the real distances for all boxes regarding all other box positions is too difficult and time consuming. In fact this can be as difficult as the task to solve the whole level.&lt;br /&gt;
&lt;br /&gt;
Hence, the common practice is to just consider the distance of a box to a goal under the assumption that no other box is on the board.&amp;lt;br /&amp;gt;&lt;br /&gt;
This also has the advantage that the distances can be computed and cached before the solver starts since they never change while the solver is running.&lt;br /&gt;
&lt;br /&gt;
==== Position of the Player ====&lt;br /&gt;
For a more accurate calculation of the distance of the box to the goals the player position can be taken into account.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example 1:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:PositionOfThePlayer.png]]&lt;br /&gt;
&lt;br /&gt;
The needed pushes to push the box to the goal having the player on the right of the box is 6 pushes.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, the needed pushes to push the box to the goal having the player on the left of the box is only 2 pushes.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hence, it&#039;s necessary to calculate the distance of the box to the goals for every possible player access area.&amp;lt;br /&amp;gt;&lt;br /&gt;
In this example there are two possible player access areas: one having the player left from the box and one having the player right from the box.&lt;br /&gt;
&lt;br /&gt;
The player position has also to be taken into account of for calculating the real distance of the box to the goals.&lt;br /&gt;
&lt;br /&gt;
Example 2:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:BoxDistanceExample.png]]&lt;br /&gt;
&lt;br /&gt;
There is only one player access area in this example.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, the box distance to the goal is not 2 pushes but 8 pushes. &lt;br /&gt;
&lt;br /&gt;
Both examples have something in common:&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a so called &#039;&#039;Gate Square&#039;&#039;.&lt;br /&gt;
;Gate Square&lt;br /&gt;
: A &#039;&#039;Gate Square&#039;&#039; divides the board into at least two different player access areas.&lt;br /&gt;
&lt;br /&gt;
If the goal distances of a box on a &#039;&#039;Gate Square&#039;&#039; has to be calculated the player position has to be taken into account (like in Example 1).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Gate Square&#039;&#039;s in general have to be taken account of when calculating the box distances, like shown in Example 2.&lt;br /&gt;
&lt;br /&gt;
This is example 2 with the &#039;&#039;Gate Squares&#039;&#039; highlighted:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:LevelWithGateSquaresHighlighted.png]]&lt;br /&gt;
&lt;br /&gt;
=== Linear Conflicts ===&lt;br /&gt;
The restriction of only considering one single box for calculating the box distances has the obvious disadvantage of not taking into account other boxes that may block the box or the player.&lt;br /&gt;
&lt;br /&gt;
It&#039;s however possible to detect some of the box configurations that inevitably increase the calculated pushes lower bound.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:PenaltSquares.png]]&lt;br /&gt;
&lt;br /&gt;
In this example the calculated pushes lower bound is 8 pushes when using the &#039;&#039;Minimum Matching Lower Bound&#039;&#039; calculation.&lt;br /&gt;
&lt;br /&gt;
However, the real number of needed pushes to push both boxes to a goal is 10 pushes.&amp;lt;br /&amp;gt;&lt;br /&gt;
The reason for this is both boxes block each other in a way that both boxes can only be pushed vertically. Since all possible vertical pushes will push a box further away from a goal the needed pushes for solving the level increases.&amp;lt;br /&amp;gt;&lt;br /&gt;
In such situations the calculated pushes lower bound can be increased by 2.&lt;br /&gt;
&lt;br /&gt;
==== Pitfalls ====&lt;br /&gt;
&lt;br /&gt;
Example 1:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:PenaltyPitfall1.png]]&lt;br /&gt;
&lt;br /&gt;
This example shows three boxes that all can only be pushed vertically. &amp;lt;br /&amp;gt;&lt;br /&gt;
However, this doesn&#039;t mean that we can add a penalty higher that 2 to the calculated pushes lower bound.&lt;br /&gt;
&lt;br /&gt;
Since pushing the middle box down (or up) makes it possible to push the other two boxes push optimal to the goals only a penalty value of 2 may be added to the calculated pushes lower bound.&lt;br /&gt;
&lt;br /&gt;
Note: if there were a wall above or below the middle box it would be valid to add a penalty value of 4!&lt;br /&gt;
&lt;br /&gt;
Example 2:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:PenaltyPitfall2.png]]&lt;br /&gt;
&lt;br /&gt;
This example is the same as Example 1 but with one goal at a different position. &amp;lt;br /&amp;gt;&lt;br /&gt;
Since now a vertical push of the middle box is on the push optimal path to a goal it&#039;s not valid to add any penalty value to the pushes lower bound!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Complex linear conflicts ====&lt;br /&gt;
Sophisticated conflict detection algoritms may also detect linear conflicts involving more than two boxes and more complex linear conflics like in this example: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:ComplexLinearConflict.png]]&lt;br /&gt;
&lt;br /&gt;
==== Frozen Boxes ====&lt;br /&gt;
The distanes used for the lower bound calculation are usually precomputed before the solver search starts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
They represent the number of box pushes required to push a box from any square on the board to any other square. &amp;lt;br/ &amp;gt;&lt;br /&gt;
These distances are optimistic distances in that they assume no interference with other boxes.&amp;lt;br /&amp;gt;&lt;br /&gt;
The only restrictions are the walls on the board.&lt;br /&gt;
&lt;br /&gt;
However, boxes on a goal which can&#039;t be pushed anymore (-&amp;gt; frozen box) can be treated as walls. They therefore potentially change the distances.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:LowerBoundWithFrozenBox.png]]&lt;br /&gt;
&lt;br /&gt;
In this example the pushes lower bound is 3 pushes.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, when the left box is pushed two squares to the right to its goal the right box can&#039;t be pushed up immediately anymore:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:LowerBoundWithFrozenBox2.png]]&lt;br /&gt;
&lt;br /&gt;
In such situations the box distances have to be recalculated while treating the box on the goal as a wall.&amp;lt;br /&amp;gt;&lt;br /&gt;
By doing so the correct pushes lower bound can be calculated.&lt;br /&gt;
&lt;br /&gt;
==== Pattern databases ====&lt;br /&gt;
Some solver programs use pattern databases where precalculated box configurations are stored together with a penalty value. &lt;br /&gt;
&lt;br /&gt;
This way it&#039;s possible to detect even complex penalty situations and add high penalty values.&lt;br /&gt;
&lt;br /&gt;
== No influence pushes ==&lt;br /&gt;
&lt;br /&gt;
=== Tunnels ===&lt;br /&gt;
Having teached the solver to use the algorithms described above our little level is solved very quickly. Usually Sokoban levels are a lot more complicated. Therefore we have to search for further ideas how to reduce the number of states we have to generate during the solving process.&lt;br /&gt;
&lt;br /&gt;
New example level:&lt;br /&gt;
&lt;br /&gt;
[[Image:TunnelExample1.png]]&lt;br /&gt;
&lt;br /&gt;
Here we have a (still very easy) level containing two boxes. The solver takes the given state as initial state. Then it generates all possible successor states. This means: Pushing box 1 to every possible direction AND pushing box 2 to every possible direction. The solver doesn&#039;t know which push is the best for solving the level - hence it has to generate all possible successor states. This soon leads to an enormous number of generated states (at least in larger Sokoban levels). It would be a great advantage if we knew that only pushes of one box are relevant in a specific state.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s assume the player has just pushed the box next to him one square to the right.&lt;br /&gt;
What to do next?&lt;br /&gt;
&lt;br /&gt;
The solver will consider every possible next push: all possible pushes of the higher box and all possible pushes of the lower box. But: The higher box is in a tunnel - the just performed push has been a &amp;quot;no influence push&amp;quot;.&lt;br /&gt;
The reason is:&lt;br /&gt;
The squares the lower box can ever be pushed to stayed the same. There aren&#039;t any additional squares the lower box can reach, nor are there any squares the lower box can&#039;t reach due to the push of the higher box.&lt;br /&gt;
The just pushed box has definitely to be pushed sooner or later. So there is no reason why not to push it further to the right immediately!&lt;br /&gt;
&lt;br /&gt;
In general such a &amp;quot;no influence push&amp;quot; is always created when the situation AFTER the push looks like this (or any flipped / mirrored version of it):&lt;br /&gt;
&lt;br /&gt;
[[Image:TunnelExample2.png]]  or   [[Image:TunnelExample3.png]]&lt;br /&gt;
&lt;br /&gt;
Every time a push of a box results in such a situation the box can immediately be pushed one square further!&lt;br /&gt;
This rule can reduce the number of states to be generated in some levels a lot.&lt;br /&gt;
&lt;br /&gt;
=== PI-Corrals ===&lt;br /&gt;
&lt;br /&gt;
This section describes an admissible domain-dependent move pruning technique for the Sokoban game called PI-Corral pruning.&lt;br /&gt;
&lt;br /&gt;
PI-Corral pruning has highly attractive properties for a Sokoban solver program:&lt;br /&gt;
* It prunes a significant number of states from the search&lt;br /&gt;
* It steers the search towards positions with a certain class of deadlocks, thereby helping to detect these deadlocks early on, increasing the pruning even further&lt;br /&gt;
* It preservers push-optimality guarantees provided by the solver&lt;br /&gt;
&lt;br /&gt;
PI-Corral pruning leverages the same idea that is also used for pruning due to tunnels:&lt;br /&gt;
It identifies pushes that don’t influence certain parts of the board and then ignores all boxes that aren’t influenced by the performed push.&lt;br /&gt;
&lt;br /&gt;
A simple example of a PI-Corral:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:ICorralExample1.png]]&lt;br /&gt;
&lt;br /&gt;
In this level the player just has pushed the box to the left.&lt;br /&gt;
&lt;br /&gt;
Normally the solver now generates all possible pushes for all boxes including the box in the lower right corner. The push creates an area the player can&#039;t reach marked with a [[Image:BlueQuadrat.png]].&lt;br /&gt;
&lt;br /&gt;
The boxes that are part of this area can only be pushed inside this corral (= on squares that are marked) with the next push. Hence, these pushes don’t have any impact on the rest of the level. The reachable player positions aren’t reduced and also the reachable positions of the box in the lower right part of the board aren’t reduced.&lt;br /&gt;
&lt;br /&gt;
At least one of boxes at the border of the marked area must be pushed into that area sooner or later.&lt;br /&gt;
This is always necessary when a box at the border or inside the area isn&#039;t located at a goal square, or when a goal square inside the area isn&#039;t filled with a box.&lt;br /&gt;
In the current position, the player can make all the possible pushes which ever can be made into the marked area. Therefore, the solver just needs to generate the pushes for the boxes at the border of the marked area. The legal pushes for all other boxes on the board can be ignored.&lt;br /&gt;
&lt;br /&gt;
This can reduce the pushes to be generated a lot - particularly when there are a lot of boxes in the level that aren&#039;t involved in the PI-Corral.&lt;br /&gt;
&lt;br /&gt;
The key insight with PI-corrals is the fact that as the boxes on its barrier can only be pushed inwards, one of them will indeed have to be pushed there before any of the boxes in the corral can be pushed elsewhere.&lt;br /&gt;
So, if the corral has to be dealt with eventually, it is best to deal with it right away and all pushes of other boxes can be discarded.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reason that this works, and that it only applies to PI-corrals and not other corral types is due to box influence. &amp;lt;br/&amp;gt;&lt;br /&gt;
In a PI-corral no other box can be influenced by the fact that a box is pushed into the corral, because any boxes outside the PI-corral are by definition either accessible or inaccessible regardless of whether the player can walk in the area of the corral, while boxes completely inside the corral (not on the boundary) are by definition inaccessible to the player and could not be pushed before the corral is dealt with.&amp;lt;br/&amp;gt;&lt;br /&gt;
In other words: all the pushes of boxes not part of the PI-Corral are still possible after a box is pushed into the PI-Corral.&lt;br /&gt;
&lt;br /&gt;
==== Terms and Definitions ====&lt;br /&gt;
&lt;br /&gt;
;Corral&lt;br /&gt;
:The boxes and walls on the board can split the board into several areas. &lt;br /&gt;
:An area of the board which the player cannot reach, surrounded by a barrier made of one or more boxes, and any number of walls is called “corral”.&lt;br /&gt;
:The corral includes all the boxes on the barrier between the inside and the outside of the corral, and all interior boxes, if any.&lt;br /&gt;
: &lt;br /&gt;
:An example corral:&lt;br /&gt;
:[[Image:CorralExample.png]]&lt;br /&gt;
:Positions part of the corral are marked with [[Image:BlueQuadrat.png]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;I-Corral&lt;br /&gt;
:A corral where all boxes on the barrier can only be pushed inwards (into the corral) by the first push.&lt;br /&gt;
:The &amp;quot;I&amp;quot; in &amp;quot;I-corral&amp;quot; is a reference to &amp;quot;inside&amp;quot; or &amp;quot;inward&amp;quot;.&lt;br /&gt;
: &lt;br /&gt;
:An example corral:&lt;br /&gt;
:[[Image:I-CorralExample.png]]&lt;br /&gt;
:Positions part of the I-corral are marked with [[Image:BlueQuadrat.png]].&lt;br /&gt;
:Note how in this I-Corral example (in contrast to the Corral example) it&#039;s not possible to push any box to a position not part of the corral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;PI-Corral&lt;br /&gt;
:An I-Corral where the player can perform all legal first pushes into the corral,&amp;lt;br&amp;gt;&lt;br /&gt;
:meaning the player can reach all the relevant boxes from all relevant directions.&lt;br /&gt;
:The &amp;quot;P&amp;quot; in &amp;quot;PI-Corral&amp;quot; is a reference to &amp;quot;player&amp;quot; or &amp;quot;pusher&amp;quot;.&lt;br /&gt;
:A &amp;quot;PI-Corral&amp;quot; is the important sub-class of the I-Corrals where the player can reach all the boxes on the barrier of the corral and perform all their legal inwards pushes.&lt;br /&gt;
:An example PI-Corral:&lt;br /&gt;
:[[Image:PI-CorralExample.png]]&lt;br /&gt;
:The boxes on the barrier of the PI-Corral are highlighted in red.&lt;br /&gt;
: &amp;lt;br/&amp;gt;&lt;br /&gt;
:Counter-example: an I-Corral which isn&#039;t a PI-Corral because of the outside blocking box:&lt;br /&gt;
:[[Image:PI-CorralCounterExample.png]]&lt;br /&gt;
:This example isn&#039;t a PI-Corral because the player cannot push the highlighed box inwards; &amp;lt;br /&amp;gt;&lt;br /&gt;
:there is an outside box that blocks the access. &amp;lt;br /&amp;gt;&lt;br /&gt;
:Note that if that outer box was a wall then the level is a PI-Corral:&lt;br /&gt;
:[[Image:PI-CorralExample2.png]]&lt;br /&gt;
:The rule is: the player must be able to perform all legal inwards pushes of the PI-Corral boxes on the barrier.&lt;br /&gt;
:This can be checked: remove all boxes which aren’t part of the PI-Corral, then compare the possible pushes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PI-Corral Pruning ====&lt;br /&gt;
&lt;br /&gt;
The PI-Corral property in itself is not enough to permit pruning states from the search. &amp;lt;br /&amp;gt;&lt;br /&gt;
There is the additional constraint that sooner or later, at least one of the boxes on the barrier must be pushed into the corral in order to solve the puzzle.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are different reasons why such a push may be necessary, so this constraint can be implemented with various degrees of sophistication. &lt;br /&gt;
&lt;br /&gt;
The constraint &amp;quot;Pruning is only permitted if at least one box in the PI-Corral is not on a goal square, or if at least one goal square in the PI-Corral does not contain a box&amp;quot; can be implemented by simple inspection of the board position.&lt;br /&gt;
&lt;br /&gt;
A more sophisticated solver may form plans which permit pruning for more involved reasons, e.g., &amp;quot;The player must pass though the corral&amp;quot;, or &amp;quot;A box from the outside must be parked inside the corral&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If there is a PI-Corral and one of the involved boxes has to be pushed in any way to solve the level then PI-Corral pruning can be applied.&lt;br /&gt;
That means in such a situation the solver only has to generate pushes for boxes part of the PI-Corral but not for boxes outside the PI-Corral.&lt;br /&gt;
&lt;br /&gt;
The key-insight is this: pushing a box inwards, into the PI-Corral, never affects the player&#039;s access to boxes outside the PI-Corral. Therefore, when we choose which box to push next, we might as well push one of the PI-Corral-boxes because we have to do that sooner or later anyway.&lt;br /&gt;
&lt;br /&gt;
In the next push, we still have full access to all boxes outside the corral so we can pick one of them, if we wish to. However, if there still is a PI-corral on the board, we continue only checking if PI-Corral pruning can be used and if yes, we again only consider the PI-Corral-boxes for generating new board positions.&lt;br /&gt;
&lt;br /&gt;
So the bottom line is that for each position we meet during the solving process, we first check for PI-corral pruning, and if it can be applied, we never generate pushes for boxes outside the PI-corral.&lt;br /&gt;
&lt;br /&gt;
A very simple example of a PI-Corral is a tunnel:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:PI-CorralTunnel.png]]&lt;br /&gt;
&lt;br /&gt;
In this simple PI-Corral all conditions are fulfilled:&lt;br /&gt;
# there is a corral&lt;br /&gt;
# all possible pushes of the boxes on the corral barrier are pushes into the corral&lt;br /&gt;
# at least one of the boxes in the corral has to be pushed to solve the level&lt;br /&gt;
# the player can perform already now all theoretically possible legal pushes (not generating a deadlock) into the corral&lt;br /&gt;
&lt;br /&gt;
Hence PI-Corral pruning can be applied and only pushes of the marked box must be considered for the next push.&lt;br /&gt;
&lt;br /&gt;
In this simple example the key idea behind PI-Corral pruning becomes clear: &amp;lt;br /&amp;gt;&lt;br /&gt;
There may be some complicated push sequences needed to push the boxes outside the PI-Corral to goals. However, no matter how complex these push sequences may be: all of these pushes are still possible after the box has been pushed into the PI-Corral. &amp;lt;br /&amp;gt;&lt;br /&gt;
The push of the box into the PI-Corral has no &amp;quot;influence&amp;quot; on the rest of the level.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Multi Room PI-Corral ====&lt;br /&gt;
It&#039;s rather seldom that a board position contains simple PI-Corrals like the one depicted above. &amp;lt;br /&amp;gt;&lt;br /&gt;
Even when there is an I-Corral, the player seldom has access to all the boxes (from all the required directions). &amp;lt;br /&amp;gt;&lt;br /&gt;
Often, the player&#039;s access to the I-Corral boxes is blocked by neighboring corrals like in this (small) example:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:MultiRoomPICorralExample1.png]]&lt;br /&gt;
&lt;br /&gt;
Neither does the top-left corral (red border) nor the  neighboring corral (blue border) fulfill all PI-Corral constraints. &amp;lt;br /&amp;gt;&lt;br /&gt;
In both cases there is a box which can&#039;t be pushed into the corral at the moment (the box having a red and a blue border).&lt;br /&gt;
&lt;br /&gt;
However, both corrals can be combined to a multi room corral. &amp;lt;br /&amp;gt; &lt;br /&gt;
The combined corral then fulfills all PI-Corral constraints: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:MultiRoomPICorralExample2.png]]&lt;br /&gt;
&lt;br /&gt;
In order to find these Multi Room PI-Corrals the algorithm combines corral after corral until a (multi room) PI-Corral has been found. &amp;lt;br /&amp;gt;&lt;br /&gt;
This way the algorithm also ensures that there are as few boxes in the found PI-Corral as possible.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:MultiRoomPICorralExample3.png]]&lt;br /&gt;
&lt;br /&gt;
The marked area is a (combined) PI-Corral, since the boxes can only be pushed into the corral and all of the legal pushes are currently possible.&lt;br /&gt;
&lt;br /&gt;
However, when the algorithm starts with the top-left I-Corral, this corral is classified being a PI-Corral without the need to combine it with another corral:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:MultiRoomPICorralExample4.png]]&lt;br /&gt;
&lt;br /&gt;
This means instead of two boxes there is only one single box to consider for the next push.&lt;br /&gt;
&lt;br /&gt;
Note: &amp;lt;br /&amp;gt;&lt;br /&gt;
After having pushed the PI-Corral box one square into the PI-Corral there are two PI-Corrals now: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:twoPICorralsExample.png]]&lt;br /&gt;
&lt;br /&gt;
In such a situation the solver can choose which PI-Corral to consider first. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is another example showing the importance of the algorithm only combining corrals if necessary: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:SinglePICorralExample.png]]&lt;br /&gt;
&lt;br /&gt;
This example also shows that a deadlock detection can help identifying PI-Corrals. &amp;lt;br /&amp;gt;&lt;br /&gt;
The marked PI-Corral has two boxes. &amp;lt;br /&amp;gt;&lt;br /&gt;
However, only one of the boxes can currently be pushed into the PI-Corral. &amp;lt;br /&amp;gt;&lt;br /&gt;
Nevertheless it&#039;s a PI-Corral because pushing the lower left box of the PI-Corral into the PI-Corral creates a deadlock and therefore this isn&#039;t a legal/valid push.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deadlock Situations ====&lt;br /&gt;
PI-Corral pruning can help detecting deadlocks earlier as a side-effect of successor-pruning.&lt;br /&gt;
&lt;br /&gt;
If there is a (smallish) deadlock situation on the board consisting of a PI-Corral, then pruning leads to a position where the legal moves dry out, in effect finding a deadlock like in this (very small) example: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:DeadlocksAndPICorrals.png]]&lt;br /&gt;
&lt;br /&gt;
The solver only considers these boxes for the next push. Since no further legal push is possible (assumed that “freeze deadlocks&amp;quot; can be detected by the solver) a deadlock is detected.&lt;br /&gt;
&lt;br /&gt;
==== Statistics ====&lt;br /&gt;
In his [[Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard about the YASS solver|solver scribbles]] Brian Damgaard wrote:&lt;br /&gt;
&lt;br /&gt;
There is always an overlap when different pruning techniques are used in a solver, but conservatively speaking, this new technique [PI-Corral pruning] is itself able to prune at least 20% of the search tree according to my experiments, and empirically the savings always outweighs the extra costs.&lt;br /&gt;
&lt;br /&gt;
My program uses precalculated deadlocks to handle simple deadlocks like this one, but the corral-pruning is a valuable contribution to the program, and experiments shows that the corral-pruning almost can hold its candle to the precalculated deadlocks, if it is asked to do so:&lt;br /&gt;
&lt;br /&gt;
Statistics - SokEvo/107 - Forwards search - no packingorder - AMD 2600+  &lt;br /&gt;
Configuration A: A* search + transposition table&lt;br /&gt;
Configuration B: A* search + transposition table + corrals&lt;br /&gt;
Configuration C: A* search + transposition table + precalculated deadlocks&lt;br /&gt;
Configuration D: A* search + transposition table + precalculated deadlocks + corrals&lt;br /&gt;
&lt;br /&gt;
&amp;quot;B&amp;quot; is the experiment with corrals only, without precalculated deadlocks, and its 21 seconds (on my amd 2600+ pc) is in the same league as the &amp;quot;C&amp;quot; experiment with precalculated deadlocks but no corral-pruning.&lt;br /&gt;
&amp;quot;D&amp;quot; with all currently implemented pruning techniques reduces the total solving time to 7 seconds, showing that the different pruning techniques work well together.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Solver Statistics&lt;br /&gt;
|- bgcolor=&amp;quot;#f1efe5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|               | Configuration&lt;br /&gt;
|               | Generated states&lt;br /&gt;
|               | Pushes&lt;br /&gt;
|               | Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | A&lt;br /&gt;
|                                | 11974023&lt;br /&gt;
|                                  51938064&lt;br /&gt;
|                                  65 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | B&lt;br /&gt;
|                                | 4632203&lt;br /&gt;
|                                  11918161&lt;br /&gt;
|                                  21 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | C&lt;br /&gt;
|                                | 2030736&lt;br /&gt;
|                                  7011203&lt;br /&gt;
|                                  11 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- -------------------------------------------------------------------------------------------- --&amp;gt;&lt;br /&gt;
|- align=&amp;quot;right&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; bgcolor=&amp;quot;#f1efe5&amp;quot; | D&lt;br /&gt;
|                                | 1231376&lt;br /&gt;
|                                  3299797&lt;br /&gt;
|                                  7 seconds&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Temporary Auxiliary Pushes ====&lt;br /&gt;
Usually there are a lot of I-Corrals for which the player can’t perform all inwards pushes at the moment.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:temporaryAuxiliaryPushes.png]]&lt;br /&gt;
&lt;br /&gt;
One box is blocking the player from pushing one of the boxes into the I-Corral. &lt;br /&gt;
&lt;br /&gt;
An obvious aim now is to push this blocking box away to create a PI-Corral.&amp;lt;br /&amp;gt;&lt;br /&gt;
This destroys push optimally guarantees but results in more detected PI-Corrals and therefore in a smaller search tree for the solver.&lt;br /&gt;
&lt;br /&gt;
One way to check whether the box can be pushed away is to check whether the box can be pushed away and then immediately back to where it is now. If this is possible, we can perform all pushes into the I-Corral and after that is done the blocking box is always back where it is now.&lt;br /&gt;
&lt;br /&gt;
Currently this is not implemented in any solver.&lt;br /&gt;
&lt;br /&gt;
A subclass of those “I-Corrals with access blocking boxes” could be used for pruning with some further investigations.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:temporaryAuxiliaryPushes2.png]]&lt;br /&gt;
&lt;br /&gt;
The marked box of the I-Corral can’t be reached by the player.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, through further calculations the program could prove that the I-Corral can never be opened by pushing this box. &amp;lt;br /&amp;gt;&lt;br /&gt;
Pushing the box into the corral does never allow the player to push any other corral boxes. &amp;lt;br /&amp;gt;&lt;br /&gt;
Hence, in these seldom situations even pruning on I-Corrals may be applied. &amp;lt;br /&amp;gt;&lt;br /&gt;
This also preserves push optimality.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Real world&amp;quot; PI-Corral Examples ====&lt;br /&gt;
&lt;br /&gt;
The program [http://www.sokoban-online.de JSoko]. offers a debug mode for testing PI-Corral pruning. &amp;lt;br /&amp;gt;&lt;br /&gt;
The shown example PI-Corrals are taken from JSoko version 1.81 having that debug setting activated.&lt;br /&gt;
&lt;br /&gt;
To let JSoko highlight the found PI-Corrals:&lt;br /&gt;
# Start JSoko&lt;br /&gt;
# Type the letters “debug” when JSoko has the keyboard focus. This shows a new menu called “debug”&lt;br /&gt;
# In the debug menu select “Show I-Corral during solving&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: although the menu text is &#039;&#039;&amp;quot;Show &#039;&#039;&#039;I-Corral&#039;&#039;&#039;&amp;quot;&#039;&#039; JSoko will show &#039;&#039;&#039;PI-Corrals&#039;&#039;&#039; and only those for which PI-Corral pruning can be applied.&lt;br /&gt;
&lt;br /&gt;
Note 2: PI-Corrals that include all boxes on the board aren’t shown by JSoko since there is no benefit in applying pruning when all boxes are part of the PI-Corral.&lt;br /&gt;
&lt;br /&gt;
When the PI-Corral debug settings is activated JSoko will check for PI-Corrals and highlight them after every push that is made.&lt;br /&gt;
&lt;br /&gt;
Thinking Rabbit - Original Level 1:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:OriginalLevel1PICorral.png]]&lt;br /&gt;
&lt;br /&gt;
Due to PI-Corral pruning the solver has only to consider the PI-Corral boxes for the next push, only one of which is currently reachable for the player. &amp;lt;br /&amp;gt;&lt;br /&gt;
This example shows that a deadlock detection can help detecting PI-Corrals.&lt;br /&gt;
&lt;br /&gt;
The lower left box of the PI-Corral isn&#039;t reachable by the player at the moment. &amp;lt;br /&amp;gt;&lt;br /&gt;
However, both pushes of that box would result in a [[Deadlocks#Freeze deadlocks|freeze deadlock]]. &amp;lt;br /&amp;gt;&lt;br /&gt;
Hence, no legal push is possible for this box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thinking Rabbit - Original Level 3:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:OriginalLevel3PICorral.png]]&lt;br /&gt;
&lt;br /&gt;
In the shown situation the solver has choose which PI-Corral to consider first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thinking Rabbit - Original Level 4:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:OriginalLevel4PICorral.png]]&lt;br /&gt;
&lt;br /&gt;
There is a huge multi room PI-Corral containing nearly all of the boxes. &amp;lt;br /&amp;gt;&lt;br /&gt;
Nevertheless, PI-Corral pruning can also help pruning some states for the solver in such situations where only one box is outside the PI-Corral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thinking Rabbit - Original Level 6:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:OriginalLevel6PICorral.png]]&lt;br /&gt;
&lt;br /&gt;
This is an example where a sophisticated deadlock detection can help to detect more PI-Corrals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thinking Rabbit - Original Level 10:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:OriginalLevel10PICorral.png]]&lt;br /&gt;
&lt;br /&gt;
This example shows that JSoko detects some PI-Corrals where pruning is possible but not that useful. &amp;lt;br /&amp;gt;&lt;br /&gt;
Since there is only possible push there is nothing to be pruned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thinking Rabbit - Original Level 15:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:OriginalLevel15PICorral.png]]&lt;br /&gt;
&lt;br /&gt;
The player is surrounded by a huge multi room PI-Corral. &amp;lt;br /&amp;gt;&lt;br /&gt;
Every push of one of the PI-Corral boxes results in a further PI-Corral that can be used for pruning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Figure 3 level of an article about PI-Corral pruning: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:DDMPFigure3Level.png]]&lt;br /&gt;
&lt;br /&gt;
There is an article about PI-Corrals written by Renato R. Leme, André G. Pereira, Marcus Ritt and Luciana S. Buriol where the authors claim that JSoko and YASS can&#039;t detect the correct PI-Corral in the shown level.&lt;br /&gt;
&lt;br /&gt;
However, the screenshot shows that JSoko can correctly identify all the boxes and positions that are part of the PI-Corral (and so does YASS)! &amp;lt;br /&amp;gt;&lt;br /&gt;
Note: an additional box has been added to this example level (the box on the goal below the player) because JSoko only highlights PI-Corrals that don&#039;t contain all boxes. However, this extra box doesn&#039;t affect the PI-Corral detection used in JSoko (and YASS).&lt;br /&gt;
&lt;br /&gt;
== Parking ==&lt;br /&gt;
Many levels cannot be solved by just pushing one box at a time to the goal position.&lt;br /&gt;
&lt;br /&gt;
Most levels are constructed in such a way that some of the boxes have to be specifically rearranged to make room for pushing other boxes.&lt;br /&gt;
&lt;br /&gt;
In some cases boxes have to be actually pushed over a goal position to a “parking” position, from where they can then later be pushed to their final goal position.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:parking example.png]]&lt;br /&gt;
&lt;br /&gt;
== YASS Solver ==&lt;br /&gt;
&lt;br /&gt;
[[Sokoban solver &amp;quot;scribbles&amp;quot; by Brian Damgaard about the YASS solver]]&lt;br /&gt;
&lt;br /&gt;
== Sokolution Solver ==&lt;br /&gt;
&lt;br /&gt;
[[Sokoban solver &amp;quot;scribbles&amp;quot; by Florent Diedler about the Sokolution solver]]&lt;br /&gt;
&lt;br /&gt;
== Solver &amp;quot;Rolling Stone&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[Rolling Stone solver]]&lt;br /&gt;
&lt;br /&gt;
== Limited search ==&lt;br /&gt;
&lt;br /&gt;
Ideas by David Holland on computer solving by limited search are linked below. They aren&#039;t fully wikified yet as author has RSI. Features new concepts such as free space, shuffling, relocation and generalized deadlock detection. Sketches of algorithms included. Other new concepts such as goal traps with algorithms may be implemented in existing solvers. Author hopes other programmers will discuss and implement what they find relevant. Limited search as opposed to exhaustive search uses macros, heuristics and domain-specific knowledge to effectively search deeper in the tree of positions by not looking at every position. A new category of &amp;quot;Planner&amp;quot; plug-in is suggested for limited search to be tried when the Solver plug-in fails, indicating too large a tree.&lt;br /&gt;
[[David Holland&#039;s computer Sokoban solving ideas]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* A Spanish explanation of the [[MSAMA Sokoban Solver]].&lt;br /&gt;
* [[Heiner&#039;s solver]]&lt;br /&gt;
* [[Solving Sokoban Optimally with Domain-Dependent Move Pruning - Stolen Ideas, Lies, and Incompetence]]&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=Rolling_Stone_solver&amp;diff=8109</id>
		<title>Rolling Stone solver</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=Rolling_Stone_solver&amp;diff=8109"/>
		<updated>2024-03-21T15:16:17Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Main menu */ Description how to start the solver&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Rolling Stone Sokoban solver is a significant milestone in the field of automated Sokoban puzzle solving. Developed at the University of Alberta by Andreas Junghanns and Jonathan Schaeffer, it laid the groundwork for many modern solvers.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a breakdown of Rolling Stone&#039;s key aspects:&lt;br /&gt;
&lt;br /&gt;
= Algorithm =&lt;br /&gt;
&lt;br /&gt;
Rolling Stone utilizes the Iterative Deepening A* (IDA*) algorithm as its core search strategy.&lt;br /&gt;
&lt;br /&gt;
IDA* is an iterative deepening search algorithm that combines the efficiency of depth-first search with the optimality guarantees of A* search.&lt;br /&gt;
&lt;br /&gt;
It starts by searching for a solution with a limited depth and gradually increases the depth limit until a solution is found or it&#039;s proven that no solution exists within that depth.&lt;br /&gt;
&lt;br /&gt;
To improve search efficiency, Rolling Stone incorporates several enhancements described in various [https://scholar.google.com/scholar?hl=de&amp;amp;as_sdt=0%2C5&amp;amp;q=rolling+stone+sokoban&amp;amp;btnG= papers].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rolling Stone&#039;s approach paved the way for further advancements in Sokoban solver design. Many modern solvers build upon its core principles.&lt;br /&gt;
&lt;br /&gt;
It demonstrated the effectiveness of combining general search algorithms with domain-specific enhancements for efficiently solving Sokoban puzzles.&lt;br /&gt;
&lt;br /&gt;
Further information can be found in the [https://scholar.google.com/scholar?hl=de&amp;amp;as_sdt=0%2C5&amp;amp;q=rolling+stone+sokoban&amp;amp;btnG= papers] or on the [https://webdocs.cs.ualberta.ca/~games/Sokoban/ website of Rolling Stone].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= How to compile Rolling Stone =&lt;br /&gt;
&lt;br /&gt;
Carlos Montiers has published a source code that has been adapted so that it can also be compiled with modern operating systems and compilers. In this way, Rolling Stone can still be used today.&lt;br /&gt;
&lt;br /&gt;
This is the link to his repository: [https://github.com/carlos-montiers/rolling-stone Carlos Montiers Rolling Stone]&lt;br /&gt;
&lt;br /&gt;
= Screenshot Rolling Stone =&lt;br /&gt;
&lt;br /&gt;
Rolling Stone can only be used from the console. &lt;br /&gt;
&lt;br /&gt;
This is an example output of the solver when solving puzzle &amp;quot;XSokoban 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Rolling Stone XSokoban1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Menu structure =&lt;br /&gt;
&lt;br /&gt;
== Main menu ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
!Command           || Function&lt;br /&gt;
|-&lt;br /&gt;
|S nam\num kind    || Solve Maze&lt;br /&gt;
|-&lt;br /&gt;
|A                 || Set Abort Node Count&lt;br /&gt;
|-&lt;br /&gt;
|T sec [REAL\VIRT] || Set Abort time&lt;br /&gt;
|-&lt;br /&gt;
|C a b kind        || Test a to b in screen&lt;br /&gt;
|-&lt;br /&gt;
|P nam\num kind    || Print Maze&lt;br /&gt;
|-&lt;br /&gt;
|L a b kind        ||  All 90 Lower Bounds&lt;br /&gt;
|-&lt;br /&gt;
|N num             || Set PosNr with num&lt;br /&gt;
|-&lt;br /&gt;
|M num-num\XX-YY   || move from num to num&lt;br /&gt;
|-&lt;br /&gt;
|X [lrud]*         || move center for xdist&lt;br /&gt;
|-&lt;br /&gt;
|Z                 || Show Menu&lt;br /&gt;
|-&lt;br /&gt;
|O                 || Options Menu&lt;br /&gt;
|-&lt;br /&gt;
|Q                 || Quit Program&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The command &amp;quot;&#039;&#039;&#039;S 1&#039;&#039;&#039;&amp;quot; loads the puzzle &amp;quot;./screens/screen.1&amp;quot; and tries to solve it.&lt;br /&gt;
&lt;br /&gt;
The command &amp;quot;&#039;&#039;&#039;S 1 test&#039;&#039;&#039;&amp;quot; loads the puzzle &amp;quot;./screens/test.1&amp;quot; and tries to solve it.&lt;br /&gt;
&lt;br /&gt;
The command &amp;quot;&#039;&#039;&#039;S test.sok&#039;&#039;&#039;&amp;quot; loads the puzzle &amp;quot;./test.sok&amp;quot; and tries to solve it.&lt;br /&gt;
&lt;br /&gt;
== Show menu ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
!Command  || Function&lt;br /&gt;
|-&lt;br /&gt;
|D        || Hist of man-distances&lt;br /&gt;
|-&lt;br /&gt;
|S        ||  Hist of stone-distances&lt;br /&gt;
|-&lt;br /&gt;
|X        || Hist of X-distances&lt;br /&gt;
|-&lt;br /&gt;
|C        || Print Conflicts prev search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Options menu ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
!Command     || Function&lt;br /&gt;
|-&lt;br /&gt;
|E           || Examine all settings&lt;br /&gt;
|-&lt;br /&gt;
|H [on/off]  ||  HashTable on/off&lt;br /&gt;
|-&lt;br /&gt;
|D [on/off]  || deadlock det. movegen on/off&lt;br /&gt;
|-&lt;br /&gt;
|Z [on/off]  || deadlock2 det. movegen on/off&lt;br /&gt;
|-&lt;br /&gt;
|R [on/off]  || areasearch on/off&lt;br /&gt;
|-&lt;br /&gt;
|S [on/off]  || deadsearch on/off&lt;br /&gt;
|-&lt;br /&gt;
|N [on/off]  || pensearch on/off&lt;br /&gt;
|-&lt;br /&gt;
|W [on/off]  || scan search on/off&lt;br /&gt;
|-&lt;br /&gt;
|J number    || node limit for pattern searches&lt;br /&gt;
|-&lt;br /&gt;
|K [on/off] || minimization on/off&lt;br /&gt;
|-&lt;br /&gt;
|Y [on/off]  || limit patterns on/off&lt;br /&gt;
|-&lt;br /&gt;
|m [on/off]  || lazy maximization on/off&lt;br /&gt;
|-&lt;br /&gt;
|X [on/off]  || store tested on/off&lt;br /&gt;
|-&lt;br /&gt;
|P number    || Switch Pattern DBs on/off (0-7)&lt;br /&gt;
|-&lt;br /&gt;
|M [on/off]  || LB manpos on/off&lt;br /&gt;
|-&lt;br /&gt;
|C [on/off]  || LB conflict on/off&lt;br /&gt;
|-&lt;br /&gt;
|d [on/off]  || Dynamic distances on/off&lt;br /&gt;
|-&lt;br /&gt;
|T [on/off]  || Tunnel Macro on/of&lt;br /&gt;
|-&lt;br /&gt;
|G [on/off]  ||  Goal Macro on/off&lt;br /&gt;
|-&lt;br /&gt;
|U [on/off]  || Cut Goal Macro on/off&lt;br /&gt;
|-&lt;br /&gt;
|A [on/off   || eXtended Distance on/off&lt;br /&gt;
|-&lt;br /&gt;
|L k m d     || Local Cut (k,m,d), -1 -1 turns off&lt;br /&gt;
|-&lt;br /&gt;
|B [on/off   || Auto Set Local Cut Parameter&lt;br /&gt;
|-&lt;br /&gt;
|V [s] [h]   || Overestimation scaling factor and h-scaling&lt;br /&gt;
|-&lt;br /&gt;
|F [on/off]  || Assume dead on/off&lt;br /&gt;
|-&lt;br /&gt;
|O number    || Set Move order index (0-off)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General command ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;soko-table&amp;quot;&lt;br /&gt;
!Command  || Function&lt;br /&gt;
|-&lt;br /&gt;
|?        || Help command.  Displays availible menu options&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;        || Back (quit)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=File:Rolling_Stone_XSokoban1.png&amp;diff=8100</id>
		<title>File:Rolling Stone XSokoban1.png</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=File:Rolling_Stone_XSokoban1.png&amp;diff=8100"/>
		<updated>2024-03-21T10:21:23Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=File:Sokoban_Puzzle_solving.gif&amp;diff=8088</id>
		<title>File:Sokoban Puzzle solving.gif</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=File:Sokoban_Puzzle_solving.gif&amp;diff=8088"/>
		<updated>2024-03-07T13:42:02Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: Example: Solving a Sokoban puzzle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example: Solving a Sokoban puzzle&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=SolverStatistics-Festival-GroupEffort-Small-Set&amp;diff=8060</id>
		<title>SolverStatistics-Festival-GroupEffort-Small-Set</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=SolverStatistics-Festival-GroupEffort-Small-Set&amp;diff=8060"/>
		<updated>2023-02-02T15:14:34Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: new Festival 3.1 results&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;Program: Festival 3.1&lt;br /&gt;
;RAM for solver: Default settings&lt;br /&gt;
;CPU:            Intel(R) Core(TM) i7-10700F&lt;br /&gt;
;Solving method: Default settings&lt;br /&gt;
;Time limit: 600 seconds&lt;br /&gt;
&lt;br /&gt;
   Task       Time Plugin               Result                     Moves  Pushes Level&lt;br /&gt;
      1   00:00:03 Festival 3.1         OK                           661     196 Grigr_Special15&lt;br /&gt;
      2   00:00:04 Festival 3.1         OK                           828     177 Grigr_Special16&lt;br /&gt;
      3   00:00:03 Festival 3.1         OK                           801     214 Grigr_Special6&lt;br /&gt;
      4   00:00:01 Festival 3.1         OK                           335     105 Grigr_Special7&lt;br /&gt;
      5   00:00:02 Festival 3.1         OK                           450     116 Grigr_Special8&lt;br /&gt;
      6   00:00:01 Festival 3.1         OK                           218      44 grigr2001Cheburek_12&lt;br /&gt;
      7   00:00:01 Festival 3.1         OK                           170      40 grigr2001DenPo_59&lt;br /&gt;
      8   00:00:01 Festival 3.1         OK                           277      59 grigr2001Dve_dorogi_71&lt;br /&gt;
      9   00:00:01 Festival 3.1         OK                           588     100 grigr2001Green_key_48&lt;br /&gt;
     10   00:00:02 Festival 3.1         OK                           522     110 grigr2001Miasorubka_(07r)_20&lt;br /&gt;
     11   00:00:02 Festival 3.1         OK                           718     238 grigr2002Honour_121&lt;br /&gt;
     12   00:00:02 Festival 3.1         OK                           769     162 grigr2002KUB_123&lt;br /&gt;
     13   00:00:01 Festival 3.1         OK                           834     211 grigr2002Kuterma_114&lt;br /&gt;
     14   00:00:02 Festival 3.1         OK                           579     135 grigr2002Rogalik_134&lt;br /&gt;
     15   00:00:04 Festival 3.1         OK                           575     149 grigr2002Sambist_133&lt;br /&gt;
     16   00:00:01 Festival 3.1         OK                           706     110 HandmadeSoko029&lt;br /&gt;
     17   00:00:00 Festival 3.1         OK                           258      57 HandmadeSoko033&lt;br /&gt;
     18   00:00:01 Festival 3.1         OK                           178      38 HandmadeSoko042&lt;br /&gt;
     19   00:00:01 Festival 3.1         OK                           346      53 HandmadeSoko043&lt;br /&gt;
     20   00:00:01 Festival 3.1         OK                           512      70 HandmadeSoko046&lt;br /&gt;
     21   00:00:00 Festival 3.1         OK                           315      57 Microban_IV67&lt;br /&gt;
     22   00:00:01 Festival 3.1         OK                           196      37 Microban_IV73&lt;br /&gt;
     23   00:00:01 Festival 3.1         OK                           341      56 Microban_IV9&lt;br /&gt;
     24   00:00:00 Festival 3.1         OK                           342      68 Microban_IV92&lt;br /&gt;
     25   00:00:01 Festival 3.1         OK                           271      38 Microban_IV93&lt;br /&gt;
     26   00:00:01 Festival 3.1         OK                           331      62 Mulholland_D24&lt;br /&gt;
     27   00:00:00 Festival 3.1         OK                           265      68 Mulholland_D40&lt;br /&gt;
     28   00:00:01 Festival 3.1         OK                           242      59 Mulholland_D41&lt;br /&gt;
     29   00:00:01 Festival 3.1         OK                           397      97 Mulholland_D52&lt;br /&gt;
     30   00:00:02 Festival 3.1         OK                           332      71 Mulholland_D53&lt;br /&gt;
     31   00:00:00 Festival 3.1         OK                           404      50 sasquatchiv13&lt;br /&gt;
     32   00:00:01 Festival 3.1         OK                           236      44 sasquatchiv20&lt;br /&gt;
     33   00:00:00 Festival 3.1         OK                           359      56 sasquatchiv21&lt;br /&gt;
     34   00:00:01 Festival 3.1         OK                           676     158 sasquatchiv23&lt;br /&gt;
     35   00:00:01 Festival 3.1         OK                           488     119 sasquatchiv26&lt;br /&gt;
     36   00:00:03 Festival 3.1         OK                           334      60 sasquatchv15&lt;br /&gt;
     37   00:00:01 Festival 3.1         OK                           383      76 sasquatchv16&lt;br /&gt;
     38   00:00:00 Festival 3.1         OK                           191      50 sasquatchv18&lt;br /&gt;
     39   00:00:01 Festival 3.1         OK                           743     121 sasquatchv21&lt;br /&gt;
     40   00:00:01 Festival 3.1         OK                           539      60 sasquatchv9&lt;br /&gt;
     41   00:00:01 Festival 3.1         OK                           264      50 sasquatchvi1&lt;br /&gt;
     42   00:00:02 Festival 3.1         OK                            92      26 sasquatchvi25&lt;br /&gt;
     43   00:00:00 Festival 3.1         OK                           224      48 sasquatchvi26&lt;br /&gt;
     44   00:00:01 Festival 3.1         OK                           168      18 sasquatchvi27&lt;br /&gt;
     45   00:00:00 Festival 3.1         OK                           221      44 sasquatchvi29&lt;br /&gt;
     46   00:00:01 Festival 3.1         OK                           386      52 sasquatchviii11&lt;br /&gt;
     47   00:00:01 Festival 3.1         OK                           156      28 sasquatchviii13&lt;br /&gt;
     48   00:00:01 Festival 3.1         OK                           185      43 sasquatchviii15&lt;br /&gt;
     49   00:00:02 Festival 3.1         OK                           598      98 sasquatchviii24&lt;br /&gt;
     50   00:00:02 Festival 3.1         OK                           854     217 sasquatchviii7&lt;br /&gt;
     51   00:00:01 Festival 3.1         OK                           431      70 Sasquatchx17&lt;br /&gt;
     52   00:00:07 Festival 3.1         OK                           906     106 Sasquatchx32&lt;br /&gt;
     53   00:00:01 Festival 3.1         OK                           379     112 Sasquatchx34&lt;br /&gt;
     54   00:00:03 Festival 3.1         OK                           416      82 Sasquatchx40&lt;br /&gt;
     55   00:00:01 Festival 3.1         OK                           229      48 Sasquatchx9&lt;br /&gt;
     56   00:00:01 Festival 3.1         OK                          1729     122 SvenSE_1&lt;br /&gt;
     57   00:00:00 Festival 3.1         OK                           551     117 SvenSE_101&lt;br /&gt;
     58   00:00:02 Festival 3.1         OK                           157      33 SvenSE_109&lt;br /&gt;
     59   00:00:02 Festival 3.1         OK                           127      31 SvenSE_110&lt;br /&gt;
     60   00:00:01 Festival 3.1         OK                           189      25 SvenSE_122&lt;br /&gt;
     61   00:00:00 Festival 3.1         OK                           180      30 SvenSE_137&lt;br /&gt;
     62   00:00:01 Festival 3.1         OK                           228      34 SvenSE_138&lt;br /&gt;
     63   00:00:01 Festival 3.1         OK                           432      76 SvenSE_139&lt;br /&gt;
     64   00:00:01 Festival 3.1         OK                           530      98 SvenSE_140&lt;br /&gt;
     65   00:00:01 Festival 3.1         OK                           308      54 SvenSE_147&lt;br /&gt;
     66   00:00:00 Festival 3.1         OK                           400      58 SvenSE_148&lt;br /&gt;
     67   00:00:01 Festival 3.1         OK                           226      30 SvenSE_150&lt;br /&gt;
     68   00:00:04 Festival 3.1         OK                           418      64 SvenSE_151&lt;br /&gt;
     69   00:00:04 Festival 3.1         OK                           538      60 SvenSE_153&lt;br /&gt;
     70   00:00:03 Festival 3.1         OK                           546      64 SvenSE_154&lt;br /&gt;
     71   00:00:04 Festival 3.1         OK                          1018     122 SvenSE_155&lt;br /&gt;
     72   00:00:01 Festival 3.1         OK                           276      30 SvenSE_162&lt;br /&gt;
     73   00:00:02 Festival 3.1         OK                           392      72 SvenSE_163&lt;br /&gt;
     74   00:00:01 Festival 3.1         OK                           143      20 SvenSE_181&lt;br /&gt;
     75   00:00:00 Festival 3.1         OK                           256      44 SvenSE_194&lt;br /&gt;
     76   00:00:01 Festival 3.1         OK                           274      66 SvenSE_195&lt;br /&gt;
     77   00:00:02 Festival 3.1         OK                           220      30 SvenSE_212&lt;br /&gt;
     78   00:00:01 Festival 3.1         OK                           638      98 SvenSE_237&lt;br /&gt;
     79   00:00:01 Festival 3.1         OK                           241      58 SvenSE_245&lt;br /&gt;
     80   00:00:01 Festival 3.1         OK                           282      22 SvenSE_247&lt;br /&gt;
     81   00:00:01 Festival 3.1         OK                            59      16 SvenSE_248&lt;br /&gt;
     82   00:00:00 Festival 3.1         OK                           452      86 SvenSE_257&lt;br /&gt;
     83   00:00:01 Festival 3.1         OK                           256      56 SvenSE_26&lt;br /&gt;
     84   00:00:01 Festival 3.1         OK                           283      52 SvenSE_260&lt;br /&gt;
     85   00:00:01 Festival 3.1         OK                           511     121 SvenSE_261&lt;br /&gt;
     86   00:00:00 Festival 3.1         OK                           281      46 SvenSE_277&lt;br /&gt;
     87   00:00:01 Festival 3.1         OK                           276      46 SvenSE_28&lt;br /&gt;
     88   00:00:02 Festival 3.1         OK                           421      77 SvenSE_286&lt;br /&gt;
     89   00:00:06 Festival 3.1         OK                           445      64 SvenSE_287&lt;br /&gt;
     90   00:00:01 Festival 3.1         OK                           442      80 SvenSE_288&lt;br /&gt;
     91   00:00:01 Festival 3.1         OK                           257      68 SvenSE_296&lt;br /&gt;
     92   00:00:02 Festival 3.1         OK                           269      82 SvenSE_297&lt;br /&gt;
     93   00:00:01 Festival 3.1         OK                           433      48 SvenSE_304&lt;br /&gt;
     94   00:00:01 Festival 3.1         OK                           298      36 SvenSE_305&lt;br /&gt;
     95   00:00:00 Festival 3.1         OK                           131      23 SvenSE_306&lt;br /&gt;
     96   00:00:01 Festival 3.1         OK                           166      19 SvenSE_307&lt;br /&gt;
     97   00:00:01 Festival 3.1         OK                           278      42 SvenSE_308&lt;br /&gt;
     98   00:00:01 Festival 3.1         OK                           237      51 SvenSE_310&lt;br /&gt;
     99   00:00:01 Festival 3.1         OK                           240      50 SvenSE_311&lt;br /&gt;
    100   00:00:00 Festival 3.1         OK                           276      42 SvenSE_325&lt;br /&gt;
    101   00:00:01 Festival 3.1         OK                           404      70 SvenSE_328&lt;br /&gt;
    102   00:00:01 Festival 3.1         OK                           291      45 SvenSE_331&lt;br /&gt;
    103   00:00:01 Festival 3.1         OK                           333      44 SvenSE_332&lt;br /&gt;
    104   00:00:01 Festival 3.1         OK                           329      52 SvenSE_333&lt;br /&gt;
    105   00:00:00 Festival 3.1         OK                           246      47 SvenSE_337&lt;br /&gt;
    106   00:00:01 Festival 3.1         OK                           117      15 SvenSE_338&lt;br /&gt;
    107   00:00:01 Festival 3.1         OK                           510      84 SvenSE_342&lt;br /&gt;
    108   00:00:02 Festival 3.1         OK                           405      44 SvenSE_345&lt;br /&gt;
    109   00:00:01 Festival 3.1         OK                           193      44 SvenSE_352&lt;br /&gt;
    110   00:00:00 Festival 3.1         OK                           275      52 SvenSE_357&lt;br /&gt;
    111   00:00:01 Festival 3.1         OK                           318      54 SvenSE_36&lt;br /&gt;
    112   00:00:01 Festival 3.1         OK                           297      43 SvenSE_363&lt;br /&gt;
    113   00:00:01 Festival 3.1         OK                           123      28 SvenSE_397&lt;br /&gt;
    114   00:00:00 Festival 3.1         OK                           150      36 SvenSE_399&lt;br /&gt;
    115   00:00:03 Festival 3.1         OK                           951     148 SvenSE_4&lt;br /&gt;
    116   00:00:00 Festival 3.1         OK                           882      54 SvenSE_40&lt;br /&gt;
    117   00:00:01 Festival 3.1         OK                           314      70 SvenSE_442&lt;br /&gt;
    118   00:00:00 Festival 3.1         OK                           175      32 SvenSE_447&lt;br /&gt;
    119   00:00:01 Festival 3.1         OK                           156      29 SvenSE_464&lt;br /&gt;
    120   00:00:01 Festival 3.1         OK                           194      31 SvenSE_467&lt;br /&gt;
    121   00:00:00 Festival 3.1         OK                           191      30 SvenSE_468&lt;br /&gt;
    122   00:00:01 Festival 3.1         OK                           512      88 SvenSE_471&lt;br /&gt;
    123   00:00:01 Festival 3.1         OK                           431      74 SvenSE_472&lt;br /&gt;
    124   00:00:01 Festival 3.1         OK                           210      28 SvenSE_481&lt;br /&gt;
    125   00:00:00 Festival 3.1         OK                           155      26 SvenSE_482&lt;br /&gt;
    126   00:00:01 Festival 3.1         OK                           220      26 SvenSE_483&lt;br /&gt;
    127   00:00:01 Festival 3.1         OK                           183      26 SvenSE_484&lt;br /&gt;
    128   00:00:00 Festival 3.1         OK                           158      47 SvenSE_506&lt;br /&gt;
    129   00:00:01 Festival 3.1         OK                           202      62 SvenSE_519&lt;br /&gt;
    130   00:00:01 Festival 3.1         OK                           384     108 SvenSE_52&lt;br /&gt;
    131   00:00:00 Festival 3.1         OK                           285      84 SvenSE_520&lt;br /&gt;
    132   00:00:01 Festival 3.1         OK                           223      64 SvenSE_521&lt;br /&gt;
    133   00:00:00 Festival 3.1         OK                           331     106 SvenSE_522&lt;br /&gt;
    134   00:00:01 Festival 3.1         OK                           340      86 SvenSE_523&lt;br /&gt;
    135   00:00:01 Festival 3.1         OK                           311      52 SvenSE_524&lt;br /&gt;
    136   00:00:00 Festival 3.1         OK                           237      73 SvenSE_540&lt;br /&gt;
    137   00:00:59 Festival 3.1         OK                           822     266 SvenSE_55&lt;br /&gt;
    138   00:00:01 Festival 3.1         OK                           566     110 SvenSE_59&lt;br /&gt;
    139   00:00:01 Festival 3.1         OK                           203      58 SvenSE_594&lt;br /&gt;
    140   00:00:00 Festival 3.1         OK                           345      63 SvenSE_595&lt;br /&gt;
    141   00:00:01 Festival 3.1         OK                           210      24 SvenSE_60&lt;br /&gt;
    142   00:00:01 Festival 3.1         OK                           448      80 SvenSE_61&lt;br /&gt;
    143   00:00:00 Festival 3.1         OK                           452      84 SvenSE_62&lt;br /&gt;
    144   00:00:01 Festival 3.1         OK                           127      32 SvenSE_628&lt;br /&gt;
    145   00:00:01 Festival 3.1         OK                           328      64 SvenSE_63&lt;br /&gt;
    146   00:00:00 Festival 3.1         OK                           146      36 SvenSE_632&lt;br /&gt;
    147   00:00:01 Festival 3.1         OK                           169      44 SvenSE_633&lt;br /&gt;
    148   00:00:00 Festival 3.1         OK                           217      45 SvenSE_636&lt;br /&gt;
    149   00:00:01 Festival 3.1         OK                           332      82 SvenSE_640&lt;br /&gt;
    150   00:00:01 Festival 3.1         OK                           323      62 SvenSE_643&lt;br /&gt;
    151   00:00:01 Festival 3.1         OK                           540      94 SvenSE_644&lt;br /&gt;
    152   00:00:01 Festival 3.1         OK                           448      83 SvenSE_645&lt;br /&gt;
    153   00:00:00 Festival 3.1         OK                           338      52 SvenSE_657&lt;br /&gt;
    154   00:00:01 Festival 3.1         OK                           463      83 SvenSE_658&lt;br /&gt;
    155   00:00:01 Festival 3.1         OK                           209      37 SvenSE_667&lt;br /&gt;
    156   00:00:01 Festival 3.1         OK                           141      32 SvenSE_67&lt;br /&gt;
    157   00:00:00 Festival 3.1         OK                           299      38 SvenSE_671&lt;br /&gt;
    158   00:00:01 Festival 3.1         OK                           419      64 SvenSE_687&lt;br /&gt;
    159   00:00:01 Festival 3.1         OK                           629     104 SvenSE_689&lt;br /&gt;
    160   00:00:00 Festival 3.1         OK                           218      52 SvenSE_69&lt;br /&gt;
    161   00:00:01 Festival 3.1         OK                           651      78 SvenSE_691&lt;br /&gt;
    162   00:00:01 Festival 3.1         OK                           208      34 SvenSE_70&lt;br /&gt;
    163   00:00:01 Festival 3.1         OK                           224      51 SvenSE_745&lt;br /&gt;
    164   00:00:01 Festival 3.1         OK                           159      41 SvenSE_779&lt;br /&gt;
    165   00:00:01 Festival 3.1         OK                           204      50 SvenSE_781&lt;br /&gt;
    166   00:00:01 Festival 3.1         OK                           273      50 SvenSE_798&lt;br /&gt;
    167   00:00:00 Festival 3.1         OK                           194      28 SvenSE_833&lt;br /&gt;
    168   00:00:01 Festival 3.1         OK                           155      28 SvenSE_834&lt;br /&gt;
    169   00:00:01 Festival 3.1         OK                           285      30 SvenSE_84&lt;br /&gt;
    170   00:00:00 Festival 3.1         OK                           225      40 SvenSE_846&lt;br /&gt;
    171   00:00:01 Festival 3.1         OK                           281      70 SvenSE_847&lt;br /&gt;
    172   00:00:01 Festival 3.1         OK                           279      34 SvenSE_85&lt;br /&gt;
    173   00:00:00 Festival 3.1         OK                           265      46 SvenSE_854&lt;br /&gt;
    174   00:00:01 Festival 3.1         OK                           233      50 SvenSE_857&lt;br /&gt;
    175   00:00:01 Festival 3.1         OK                           290      47 SvenSE_858&lt;br /&gt;
    176   00:00:03 Festival 3.1         OK                           721     108 SvenSE_864&lt;br /&gt;
    177   00:00:01 Festival 3.1         OK                           275      46 SvenSE_875&lt;br /&gt;
    178   00:00:00 Festival 3.1         OK                           373     126 SvenSE_883&lt;br /&gt;
    179   00:00:01 Festival 3.1         OK                           368      39 SvenSE_889&lt;br /&gt;
    180   00:00:01 Festival 3.1         OK                           164      33 SvenSE_890&lt;br /&gt;
    181   00:00:00 Festival 3.1         OK                           303      34 SvenSE_891&lt;br /&gt;
    182   00:00:01 Festival 3.1         OK                           222      37 SvenSE_892&lt;br /&gt;
    183   00:00:01 Festival 3.1         OK                           208      43 SvenSE_893&lt;br /&gt;
    184   00:00:01 Festival 3.1         OK                           472      51 SvenSE_9&lt;br /&gt;
    185   00:00:00 Festival 3.1         OK                           244      40 SvenSE_903&lt;br /&gt;
    186   00:00:03 Festival 3.1         OK                            75      25 SvenSE_904&lt;br /&gt;
    187   00:00:01 Festival 3.1         OK                            63      30 SvenSE_906&lt;br /&gt;
    188   00:00:02 Festival 3.1         OK                           224      50 SvenSE_907&lt;br /&gt;
    189   00:00:01 Festival 3.1         OK                            67      32 SvenSE_908&lt;br /&gt;
    190   00:00:01 Festival 3.1         OK                           210      48 SvenSE_912&lt;br /&gt;
    191   00:00:02 Festival 3.1         OK                           275      58 SvenSE_923&lt;br /&gt;
    192   00:00:00 Festival 3.1         OK                           229      33 SvenSE_926&lt;br /&gt;
    193   00:00:01 Festival 3.1         OK                           304      58 SvenSE_933&lt;br /&gt;
    194   00:00:01 Festival 3.1         OK                           159      32 SvenSE_938&lt;br /&gt;
    195   00:00:00 Festival 3.1         OK                           247      51 SvenSE_94&lt;br /&gt;
    196   00:00:01 Festival 3.1         OK                           493     108 SvenSE_941&lt;br /&gt;
    197   00:00:01 Festival 3.1         OK                           568     108 SvenSE_942&lt;br /&gt;
    198   00:00:00 Festival 3.1         OK                           600      92 SvenSE_943&lt;br /&gt;
    199   00:00:01 Festival 3.1         OK                           271      69 SvenSE_95&lt;br /&gt;
    200   00:00:02 Festival 3.1         OK                           225      48 SvenSE_97&lt;br /&gt;
&lt;br /&gt;
    200   00:04:35 Total                OK: 200 Failed: 0          70243   13163&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=SolverStatistics-Festival-GroupEffort-Large-Set&amp;diff=8058</id>
		<title>SolverStatistics-Festival-GroupEffort-Large-Set</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=SolverStatistics-Festival-GroupEffort-Large-Set&amp;diff=8058"/>
		<updated>2023-02-02T15:11:21Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: new Festival 3.1 results&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;Program: Festival 3.1&lt;br /&gt;
;RAM for solver: Default settings&lt;br /&gt;
;CPU: Intel(R) Core(TM) i7-10700F&lt;br /&gt;
;Solving method: Default settings&lt;br /&gt;
;Time limit: 600 seconds&lt;br /&gt;
&lt;br /&gt;
   Task       Time Plugin               Result                     Moves  Pushes Level&lt;br /&gt;
      1   00:00:03 Festival 3.1         OK                           653     156 Grigr_Special1&lt;br /&gt;
      2   00:00:01 Festival 3.1         OK                           645     138 Grigr_Special10&lt;br /&gt;
      3   00:00:01 Festival 3.1         OK                           192      46 Grigr_Special11&lt;br /&gt;
      4   00:00:02 Festival 3.1         OK                           617     138 Grigr_Special12&lt;br /&gt;
      5   00:00:01 Festival 3.1         OK                           517     139 Grigr_Special13&lt;br /&gt;
      6   00:00:01 Festival 3.1         OK                           556     136 Grigr_Special14&lt;br /&gt;
      7   00:00:03 Festival 3.1         OK                           661     196 Grigr_Special15&lt;br /&gt;
      8   00:00:04 Festival 3.1         OK                           828     177 Grigr_Special16&lt;br /&gt;
      9   00:00:01 Festival 3.1         OK                           392     105 Grigr_Special17&lt;br /&gt;
     10   00:00:00 Festival 3.1         OK                           404      99 Grigr_Special18&lt;br /&gt;
     11   00:00:01 Festival 3.1         OK                           761     174 Grigr_Special19&lt;br /&gt;
     12   00:00:03 Festival 3.1         OK                           823     147 Grigr_Special2&lt;br /&gt;
     13   00:00:01 Festival 3.1         OK                           399      89 Grigr_Special20&lt;br /&gt;
     14   00:00:01 Festival 3.1         OK                           264      69 Grigr_Special21&lt;br /&gt;
     15   00:00:00 Festival 3.1         OK                           388      69 Grigr_Special22&lt;br /&gt;
     16   00:00:01 Festival 3.1         OK                           255      77 Grigr_Special23&lt;br /&gt;
     17   00:00:08 Festival 3.1         OK                          1081     249 Grigr_Special24&lt;br /&gt;
     18   00:00:01 Festival 3.1         OK                           452     115 Grigr_Special25&lt;br /&gt;
     19   00:00:02 Festival 3.1         OK                          1079     180 Grigr_Special26&lt;br /&gt;
     20   00:00:00 Festival 3.1         OK                           231      76 Grigr_Special27&lt;br /&gt;
     21   00:00:01 Festival 3.1         OK                           613     163 Grigr_Special28&lt;br /&gt;
     22   00:00:01 Festival 3.1         OK                           307      78 Grigr_Special29&lt;br /&gt;
     23   00:00:00 Festival 3.1         OK                           559      97 Grigr_Special3&lt;br /&gt;
     24   00:00:01 Festival 3.1         OK                           427     103 Grigr_Special30&lt;br /&gt;
     25   00:00:01 Festival 3.1         OK                           340      95 Grigr_Special31&lt;br /&gt;
     26   00:00:00 Festival 3.1         OK                           289      68 Grigr_Special32&lt;br /&gt;
     27   00:00:01 Festival 3.1         OK                           390      82 Grigr_Special33&lt;br /&gt;
     28   00:00:00 Festival 3.1         OK                           372      98 Grigr_Special34&lt;br /&gt;
     29   00:00:01 Festival 3.1         OK                           352      75 Grigr_Special35&lt;br /&gt;
     30   00:00:01 Festival 3.1         OK                           478     104 Grigr_Special36&lt;br /&gt;
     31   00:00:00 Festival 3.1         OK                           551     145 Grigr_Special37&lt;br /&gt;
     32   00:00:01 Festival 3.1         OK                           306      89 Grigr_Special38&lt;br /&gt;
     33   00:00:01 Festival 3.1         OK                           312      91 Grigr_Special39&lt;br /&gt;
     34   00:00:00 Festival 3.1         OK                           470     129 Grigr_Special4&lt;br /&gt;
     35   00:00:01 Festival 3.1         OK                           562     126 Grigr_Special5&lt;br /&gt;
     36   00:00:02 Festival 3.1         OK                           787     214 Grigr_Special6&lt;br /&gt;
     37   00:00:01 Festival 3.1         OK                           335     105 Grigr_Special7&lt;br /&gt;
     38   00:00:02 Festival 3.1         OK                           456     114 Grigr_Special8&lt;br /&gt;
     39   00:00:01 Festival 3.1         OK                           368     117 Grigr_Special9&lt;br /&gt;
     40   00:00:01 Festival 3.1         OK                           271      70 grigr2001Antena_32&lt;br /&gt;
     41   00:00:01 Festival 3.1         OK                           245      65 grigr2001Babochka_90&lt;br /&gt;
     42   00:00:47 Festival 3.1         OK                          1890     264 grigr2001Bardak_01&lt;br /&gt;
     43   00:00:01 Festival 3.1         OK                           218      60 grigr2001Big_uborka_79&lt;br /&gt;
     44   00:00:00 Festival 3.1         OK                           375      76 grigr2001Bumerang_34&lt;br /&gt;
     45   00:00:01 Festival 3.1         OK                           214      52 grigr2001Burlak_26&lt;br /&gt;
     46   00:00:01 Festival 3.1         OK                           251      60 grigr2001CFL_80&lt;br /&gt;
     47   00:00:00 Festival 3.1         OK                           218      44 grigr2001Cheburek_12&lt;br /&gt;
     48   00:00:01 Festival 3.1         OK                            81      20 grigr2001Cherta_56&lt;br /&gt;
     49   00:00:01 Festival 3.1         OK                           398      52 grigr2001Chmoki_23&lt;br /&gt;
     50   00:00:00 Festival 3.1         OK                           166      25 grigr2001Comci-comca_08&lt;br /&gt;
     51   00:00:01 Festival 3.1         OK                           168      40 grigr2001DenPo_59&lt;br /&gt;
     52   00:00:01 Festival 3.1         OK                           110      22 grigr2001Derji_Morda_57&lt;br /&gt;
     53   00:00:00 Festival 3.1         OK                           281      78 grigr2001Domovoy_96&lt;br /&gt;
     54   00:00:01 Festival 3.1         OK                           264      50 grigr2001Dva_brata_52&lt;br /&gt;
     55   00:00:01 Festival 3.1         OK                           260      66 grigr2001Dva_Torchka_46&lt;br /&gt;
     56   00:00:00 Festival 3.1         OK                           369      71 grigr2001Dve_dorogi_71&lt;br /&gt;
     57   00:00:02 Festival 3.1         OK                           414      78 grigr2001Egoza_(17r)_76&lt;br /&gt;
     58   00:00:00 Festival 3.1         OK                           456     122 grigr2001Flip-Flop_42&lt;br /&gt;
     59   00:00:01 Festival 3.1         OK                           169      41 grigr2001Gantel_45&lt;br /&gt;
     60   00:00:09 Festival 3.1         OK                           466      75 grigr2001GirLand_19&lt;br /&gt;
     61   00:00:00 Festival 3.1         OK                           160      39 grigr2001GKI_35&lt;br /&gt;
     62   00:00:01 Festival 3.1         OK                           588     100 grigr2001Green_key_48&lt;br /&gt;
     63   00:00:01 Festival 3.1         OK                           405      72 grigr2001Karusel_73&lt;br /&gt;
     64   00:00:01 Festival 3.1         OK                           460      97 grigr2001Katenka_33&lt;br /&gt;
     65   00:00:00 Festival 3.1         OK                           235      42 grigr2001Kino_21&lt;br /&gt;
     66   00:00:01 Festival 3.1         OK                           280      67 grigr2001Kompas_69&lt;br /&gt;
     67   00:00:00 Festival 3.1         OK                           252      56 grigr2001Korona_27&lt;br /&gt;
     68   00:00:01 Festival 3.1         OK                           253      57 grigr2001Krenol_11&lt;br /&gt;
     69   00:00:01 Festival 3.1         OK                           141      40 grigr2001Krestik_31&lt;br /&gt;
     70   00:00:01 Festival 3.1         OK                           474      80 grigr2001Krik_87&lt;br /&gt;
     71   00:00:01 Festival 3.1         OK                           282      61 grigr2001Kubiki_36&lt;br /&gt;
     72   00:00:00 Festival 3.1         OK                           213      39 grigr2001Kubizm_55&lt;br /&gt;
     73   00:00:01 Festival 3.1         OK                           255      40 grigr2001Lastochki_(08r)_44&lt;br /&gt;
     74   00:00:00 Festival 3.1         OK                           206      52 grigr2001Little_night_93&lt;br /&gt;
     75   00:00:01 Festival 3.1         OK                           207      46 grigr2001LM_13&lt;br /&gt;
     76   00:00:01 Festival 3.1         OK                           184      52 grigr2001LoLa_(93r)_89&lt;br /&gt;
     77   00:00:01 Festival 3.1         OK                           674     155 grigr2001Luja_81&lt;br /&gt;
     78   00:00:00 Festival 3.1         OK                           321      71 grigr2001Magazine_28&lt;br /&gt;
     79   00:00:01 Festival 3.1         OK                           247      84 grigr2001Mapat_91&lt;br /&gt;
     80   00:00:01 Festival 3.1         OK                           158      44 grigr2001Master_92&lt;br /&gt;
     81   00:00:00 Festival 3.1         OK                           225      52 grigr2001Metro_67&lt;br /&gt;
     82   00:00:02 Festival 3.1         OK                           522     110 grigr2001Miasorubka_(07r)_20&lt;br /&gt;
     83   00:00:00 Festival 3.1         OK                           112      30 grigr2001Miner_72&lt;br /&gt;
     84   00:00:01 Festival 3.1         OK                           134      29 grigr2001Mini_zagadka_58&lt;br /&gt;
     85   00:00:01 Festival 3.1         OK                           337      94 grigr2001Minutka_98&lt;br /&gt;
     86   00:00:02 Festival 3.1         OK                           843     164 grigr2001Monster_61&lt;br /&gt;
     87   00:00:00 Festival 3.1         OK                          1191     232 grigr2001MoraSoft_15&lt;br /&gt;
     88   00:00:01 Festival 3.1         OK                           243      68 grigr2001New_year&#039;s_fir_tree_94&lt;br /&gt;
     89   00:00:02 Festival 3.1         OK                           316      74 grigr2001Nitka_30&lt;br /&gt;
     90   00:00:01 Festival 3.1         OK                           329     105 grigr2001Okno_41&lt;br /&gt;
     91   00:00:00 Festival 3.1         OK                           305      53 grigr2001One_left_60&lt;br /&gt;
     92   00:00:02 Festival 3.1         OK                           768     120 grigr2001Only_you_100&lt;br /&gt;
     93   00:02:53 Festival 3.1         OK                          1827     439 grigr2001Original_conversion_(15)_84&lt;br /&gt;
     94   00:10:01 Festival 3.1         Time limit exceeded                      grigr2001Original_conversion_(22)_78&lt;br /&gt;
     95   00:10:01 Festival 3.1         Time limit exceeded                      grigr2001Original_conversion_(42)_02&lt;br /&gt;
     96   00:00:00 Festival 3.1         OK                           214      50 grigr2001Osen_22&lt;br /&gt;
     97   00:00:01 Festival 3.1         OK                           163      52 grigr2001Pereprig_10&lt;br /&gt;
     98   00:00:00 Festival 3.1         OK                           212      67 grigr2001Povorot_29&lt;br /&gt;
     99   00:00:01 Festival 3.1         OK                           130      30 grigr2001Radost_97&lt;br /&gt;
    100   00:00:01 Festival 3.1         OK                           220      51 grigr2001Raketa_37&lt;br /&gt;
    101   00:00:00 Festival 3.1         OK                           219      49 grigr2001Rassvet_47&lt;br /&gt;
    102   00:00:05 Festival 3.1         OK                          1499     294 grigr2001Rebus_40&lt;br /&gt;
    103   00:00:01 Festival 3.1         OK                           298      43 grigr2001Resheto_51&lt;br /&gt;
    104   00:00:01 Festival 3.1         OK                           168      44 grigr2001Rojdestvo_62&lt;br /&gt;
    105   00:00:00 Festival 3.1         OK                           477      71 grigr2001Rostok_43&lt;br /&gt;
    106   00:00:01 Festival 3.1         OK                           287      61 grigr2001Salto_(94r)_95&lt;br /&gt;
    107   00:00:01 Festival 3.1         OK                           352      80 grigr2001Salut_(86r)_85&lt;br /&gt;
    108   00:00:01 Festival 3.1         OK                           147      40 grigr2001Samogonka_99&lt;br /&gt;
    109   00:00:01 Festival 3.1         OK                           384      73 grigr2001Semechki_64&lt;br /&gt;
    110   00:00:01 Festival 3.1         OK                           450     108 grigr2001Sharlotka_70&lt;br /&gt;
    111   00:00:01 Festival 3.1         OK                           328      68 grigr2001Shito-Krito_86&lt;br /&gt;
    112   00:00:01 Festival 3.1         OK                           238      50 grigr2001Snake_38&lt;br /&gt;
    113   00:00:02 Festival 3.1         OK                           330      61 grigr2001Snejinki_50&lt;br /&gt;
    114   00:00:00 Festival 3.1         OK                           249      70 grigr2001SokoBat_18&lt;br /&gt;
    115   00:00:01 Festival 3.1         OK                           143      31 grigr2001Strelka_25&lt;br /&gt;
    116   00:00:01 Festival 3.1         OK                           387      88 grigr2001Tamagochi_82&lt;br /&gt;
    117   00:00:00 Festival 3.1         OK                           288      89 grigr2001Telefon_75&lt;br /&gt;
    118   00:00:01 Festival 3.1         OK                           386      69 grigr2001The_disorder_07&lt;br /&gt;
    119   00:00:02 Festival 3.1         OK                           590     186 grigr2001The_doors_66&lt;br /&gt;
    120   00:00:00 Festival 3.1         OK                           469      87 grigr2001The_X_53&lt;br /&gt;
    121   00:00:01 Festival 3.1         OK                           591      86 grigr2001Tiskoteka_54&lt;br /&gt;
    122   00:00:01 Festival 3.1         OK                           262      35 grigr2001Track_04&lt;br /&gt;
    123   00:00:01 Festival 3.1         OK                           223      53 grigr2001TriNaTri_83&lt;br /&gt;
    124   00:00:00 Festival 3.1         OK                           268      55 grigr2001Triple_Shelf_06&lt;br /&gt;
    125   00:00:01 Festival 3.1         OK                           218      54 grigr2001Ugolok_65&lt;br /&gt;
    126   00:00:01 Festival 3.1         OK                            78      17 grigr2001Uje_polnoch_16&lt;br /&gt;
    127   00:00:00 Festival 3.1         OK                            78      10 grigr2001updown_05&lt;br /&gt;
    128   00:00:01 Festival 3.1         OK                           166      28 grigr2001Ustal_88&lt;br /&gt;
    129   00:00:00 Festival 3.1         OK                           360     121 grigr2001Verenica_14&lt;br /&gt;
    130   00:00:01 Festival 3.1         OK                           345      61 grigr2001Vorona_49&lt;br /&gt;
    131   00:00:01 Festival 3.1         OK                            93      11 grigr2001Vverh_63&lt;br /&gt;
    132   00:00:00 Festival 3.1         OK                           534     119 grigr2001Xolodok_39&lt;br /&gt;
    133   00:00:01 Festival 3.1         OK                           159      26 grigr2001Zanoza_17&lt;br /&gt;
    134   00:00:01 Festival 3.1         OK                           227      42 grigr2001Zapiataya_74&lt;br /&gt;
    135   00:00:00 Festival 3.1         OK                           269      51 grigr2001Zavhoz_24&lt;br /&gt;
    136   00:00:01 Festival 3.1         OK                           120      26 grigr2001Zerkalo_77&lt;br /&gt;
    137   00:00:01 Festival 3.1         OK                           718     183 grigr2001Zigzag_03&lt;br /&gt;
    138   00:00:00 Festival 3.1         OK                           372      53 grigr2001Zimushka_Zima_68&lt;br /&gt;
    139   00:00:01 Festival 3.1         OK                           751     138 grigr2001Zontik_09&lt;br /&gt;
    140   00:00:01 Festival 3.1         OK                           342      75 grigr2002Anchor_106&lt;br /&gt;
    141   00:00:00 Festival 3.1         OK                           402     107 grigr2002Aniska_111&lt;br /&gt;
    142   00:00:08 Festival 3.1         OK                           567     135 grigr2002Blue_Eye_126&lt;br /&gt;
    143   00:00:01 Festival 3.1         OK                           483     117 grigr2002Colobok_103&lt;br /&gt;
    144   00:00:01 Festival 3.1         OK                           442     111 grigr2002Contra_108&lt;br /&gt;
    145   00:00:01 Festival 3.1         OK                           898     226 grigr2002Depth_120&lt;br /&gt;
    146   00:00:01 Festival 3.1         OK                           746     186 grigr2002Double_choice_101&lt;br /&gt;
    147   00:00:01 Festival 3.1         OK                           544     146 grigr2002Dreams_117&lt;br /&gt;
    148   00:02:05 Festival 3.1         OK                          1274     251 grigr2002Father_diode_110&lt;br /&gt;
    149   00:00:02 Festival 3.1         OK                           704     145 grigr2002Flying_idea_132&lt;br /&gt;
    150   00:00:01 Festival 3.1         OK                           550     138 grigr2002for_Paul_130&lt;br /&gt;
    151   00:00:01 Festival 3.1         OK                           780     252 grigr2002Honour_121&lt;br /&gt;
    152   00:00:01 Festival 3.1         OK                           603     144 grigr2002Irka_118&lt;br /&gt;
    153   00:02:15 Festival 3.1         OK                           838     226 grigr2002Juravli_140&lt;br /&gt;
    154   00:00:01 Festival 3.1         OK                           871     162 grigr2002Krasotka_109&lt;br /&gt;
    155   00:00:01 Festival 3.1         OK                           729     130 grigr2002Kruchok_105&lt;br /&gt;
    156   00:00:02 Festival 3.1         OK                           769     162 grigr2002KUB_123&lt;br /&gt;
    157   00:00:01 Festival 3.1         OK                           908     233 grigr2002Kuterma_114&lt;br /&gt;
    158   00:00:01 Festival 3.1         OK                           948     263 grigr2002Mad_Dog_139&lt;br /&gt;
    159   00:00:01 Festival 3.1         OK                           397     103 grigr2002Marazm_122&lt;br /&gt;
    160   00:00:01 Festival 3.1         OK                           506     161 grigr2002Mekom_135&lt;br /&gt;
    161   00:00:01 Festival 3.1         OK                           443     114 grigr2002My_heart_113&lt;br /&gt;
    162   00:01:43 Festival 3.1         OK                           820     207 grigr2002Nadejda_131&lt;br /&gt;
    163   00:00:02 Festival 3.1         OK                           721     195 grigr2002Oberon_136&lt;br /&gt;
    164   00:00:01 Festival 3.1         OK                           336      78 grigr2002Perekrestok_129&lt;br /&gt;
    165   00:00:02 Festival 3.1         OK                           591     182 grigr2002Pryanik_124&lt;br /&gt;
    166   00:00:00 Festival 3.1         OK                           315      67 grigr2002Red_star_104&lt;br /&gt;
    167   00:00:01 Festival 3.1         OK                           816     167 grigr2002Return_107&lt;br /&gt;
    168   00:00:02 Festival 3.1         OK                           579     135 grigr2002Rogalik_134&lt;br /&gt;
    169   00:00:03 Festival 3.1         OK                           575     149 grigr2002Sambist_133&lt;br /&gt;
    170   00:00:02 Festival 3.1         OK                           723     186 grigr2002Serpik_112&lt;br /&gt;
    171   00:00:01 Festival 3.1         OK                           445     101 grigr2002Sheriff_116&lt;br /&gt;
    172   00:00:01 Festival 3.1         OK                           571     140 grigr2002SokoSutra_137&lt;br /&gt;
    173   00:00:01 Festival 3.1         OK                           534     152 grigr2002Suriken_138&lt;br /&gt;
    174   00:00:01 Festival 3.1         OK                           780     171 grigr2002Svadba_125&lt;br /&gt;
    175   00:00:01 Festival 3.1         OK                           593     170 grigr2002Trevoga_115&lt;br /&gt;
    176   00:00:04 Festival 3.1         OK                           927     258 grigr2002Uspex_128&lt;br /&gt;
    177   00:00:01 Festival 3.1         OK                           576     106 grigr2002Wake_up_102&lt;br /&gt;
    178   00:00:01 Festival 3.1         OK                           562     115 grigr2002Zagar_119&lt;br /&gt;
    179   00:07:22 Festival 3.1         OK                          1537     246 grigr2002Ziko-City_127&lt;br /&gt;
    180   00:00:01 Festival 3.1         OK                           196      48 HandmadeSoko001&lt;br /&gt;
    181   00:00:00 Festival 3.1         OK                           100      19 HandmadeSoko002&lt;br /&gt;
    182   00:00:01 Festival 3.1         OK                           115      14 HandmadeSoko003&lt;br /&gt;
    183   00:00:01 Festival 3.1         OK                           110      13 HandmadeSoko004&lt;br /&gt;
    184   00:00:00 Festival 3.1         OK                            85      16 HandmadeSoko005&lt;br /&gt;
    185   00:00:01 Festival 3.1         OK                            98      28 HandmadeSoko006&lt;br /&gt;
    186   00:00:00 Festival 3.1         OK                            59      10 HandmadeSoko007&lt;br /&gt;
    187   00:00:02 Festival 3.1         OK                           628     165 HandmadeSoko008&lt;br /&gt;
    188   00:00:00 Festival 3.1         OK                           173      38 HandmadeSoko009&lt;br /&gt;
    189   00:00:01 Festival 3.1         OK                            43      14 HandmadeSoko010&lt;br /&gt;
    190   00:00:01 Festival 3.1         OK                           103      14 HandmadeSoko011&lt;br /&gt;
    191   00:00:00 Festival 3.1         OK                           104      26 HandmadeSoko012&lt;br /&gt;
    192   00:00:01 Festival 3.1         OK                           693     239 HandmadeSoko013&lt;br /&gt;
    193   00:00:01 Festival 3.1         OK                           299      51 HandmadeSoko014&lt;br /&gt;
    194   00:00:00 Festival 3.1         OK                            55      16 HandmadeSoko015&lt;br /&gt;
    195   00:00:01 Festival 3.1         OK                            80      21 HandmadeSoko016&lt;br /&gt;
    196   00:00:00 Festival 3.1         OK                            99      27 HandmadeSoko017&lt;br /&gt;
    197   00:00:01 Festival 3.1         OK                           250      61 HandmadeSoko018&lt;br /&gt;
    198   00:00:01 Festival 3.1         OK                           143      29 HandmadeSoko019&lt;br /&gt;
    199   00:00:00 Festival 3.1         OK                           242      47 HandmadeSoko020&lt;br /&gt;
    200   00:00:01 Festival 3.1         OK                           188      45 HandmadeSoko021&lt;br /&gt;
    201   00:00:00 Festival 3.1         OK                           161      37 HandmadeSoko022&lt;br /&gt;
    202   00:00:01 Festival 3.1         OK                            99      26 HandmadeSoko023&lt;br /&gt;
    203   00:00:01 Festival 3.1         OK                           127      24 HandmadeSoko024&lt;br /&gt;
    204   00:00:00 Festival 3.1         OK                           179      30 HandmadeSoko025&lt;br /&gt;
    205   00:00:01 Festival 3.1         OK                           125      33 HandmadeSoko026&lt;br /&gt;
    206   00:00:00 Festival 3.1         OK                           226      45 HandmadeSoko027&lt;br /&gt;
    207   00:00:01 Festival 3.1         OK                           186      36 HandmadeSoko028&lt;br /&gt;
    208   00:00:01 Festival 3.1         OK                           790     116 HandmadeSoko029&lt;br /&gt;
    209   00:00:01 Festival 3.1         OK                           145      39 HandmadeSoko030&lt;br /&gt;
    210   00:00:00 Festival 3.1         OK                           330      66 HandmadeSoko031&lt;br /&gt;
    211   00:00:01 Festival 3.1         OK                           153      28 HandmadeSoko032&lt;br /&gt;
    212   00:00:01 Festival 3.1         OK                           258      57 HandmadeSoko033&lt;br /&gt;
    213   00:00:01 Festival 3.1         OK                           598      82 HandmadeSoko034&lt;br /&gt;
    214   00:00:00 Festival 3.1         OK                           406      71 HandmadeSoko035&lt;br /&gt;
    215   00:00:01 Festival 3.1         OK                           204      46 HandmadeSoko036&lt;br /&gt;
    216   00:00:00 Festival 3.1         OK                           165      27 HandmadeSoko037&lt;br /&gt;
    217   00:00:01 Festival 3.1         OK                           238      43 HandmadeSoko038&lt;br /&gt;
    218   00:00:01 Festival 3.1         OK                           114      20 HandmadeSoko039&lt;br /&gt;
    219   00:00:00 Festival 3.1         OK                            69      16 HandmadeSoko040&lt;br /&gt;
    220   00:00:01 Festival 3.1         OK                           385      84 HandmadeSoko041&lt;br /&gt;
    221   00:00:01 Festival 3.1         OK                           178      38 HandmadeSoko042&lt;br /&gt;
    222   00:00:00 Festival 3.1         OK                           336      53 HandmadeSoko043&lt;br /&gt;
    223   00:00:01 Festival 3.1         OK                           160      36 HandmadeSoko044&lt;br /&gt;
    224   00:00:01 Festival 3.1         OK                           311      43 HandmadeSoko045&lt;br /&gt;
    225   00:00:01 Festival 3.1         OK                           516      70 HandmadeSoko046&lt;br /&gt;
    226   00:00:00 Festival 3.1         OK                           114      36 HandmadeSoko047&lt;br /&gt;
    227   00:00:01 Festival 3.1         OK                           137      21 HandmadeSoko048&lt;br /&gt;
    228   00:00:00 Festival 3.1         OK                           123      26 HandmadeSoko049&lt;br /&gt;
    229   00:00:01 Festival 3.1         OK                           187      23 HandmadeSoko050&lt;br /&gt;
    230   00:00:01 Festival 3.1         OK                           256      40 HandmadeSoko051&lt;br /&gt;
    231   00:00:00 Festival 3.1         OK                           113      31 HandmadeSoko052&lt;br /&gt;
    232   00:00:01 Festival 3.1         OK                            66      12 HandmadeSoko053&lt;br /&gt;
    233   00:00:01 Festival 3.1         OK                           126      27 HandmadeSoko054&lt;br /&gt;
    234   00:00:00 Festival 3.1         OK                           218      47 massasquatch1&lt;br /&gt;
    235   00:00:06 Festival 3.1         OK                          1329     141 massasquatch10&lt;br /&gt;
    236   00:00:06 Festival 3.1         OK                           805     193 massasquatch11&lt;br /&gt;
    237   00:00:01 Festival 3.1         OK                           184      40 massasquatch12&lt;br /&gt;
    238   00:00:13 Festival 3.1         OK                          1048     210 massasquatch13&lt;br /&gt;
    239   00:00:01 Festival 3.1         OK                           327      82 massasquatch14&lt;br /&gt;
    240   00:00:23 Festival 3.1         OK                          1754     392 massasquatch15&lt;br /&gt;
    241   00:00:11 Festival 3.1         OK                           647      68 massasquatch16&lt;br /&gt;
    242   00:04:21 Festival 3.1         OK                         10309     842 massasquatch17&lt;br /&gt;
    243   00:05:41 Festival 3.1         OK                          4238     736 massasquatch18&lt;br /&gt;
    244   00:00:01 Festival 3.1         OK                           788     194 massasquatch19&lt;br /&gt;
    245   00:00:01 Festival 3.1         OK                           395     102 massasquatch2&lt;br /&gt;
    246   00:00:01 Festival 3.1         OK                          2364     408 massasquatch20&lt;br /&gt;
    247   00:00:11 Festival 3.1         OK                          1085     300 massasquatch21&lt;br /&gt;
    248   00:06:06 Festival 3.1         OK                          3617     541 massasquatch22&lt;br /&gt;
    249   00:00:01 Festival 3.1         OK                          1887     143 massasquatch23&lt;br /&gt;
    250   00:00:13 Festival 3.1         OK                          1632     184 massasquatch24&lt;br /&gt;
    251   00:03:30 Festival 3.1         OK                          2590     224 massasquatch25&lt;br /&gt;
    252   00:00:01 Festival 3.1         OK                           994     268 massasquatch26&lt;br /&gt;
    253   00:00:01 Festival 3.1         OK                          1205     170 massasquatch27&lt;br /&gt;
    254   00:10:01 Festival 3.1         Time limit exceeded                      massasquatch28&lt;br /&gt;
    255   00:10:01 Festival 3.1         Time limit exceeded                      massasquatch29&lt;br /&gt;
    256   00:00:00 Festival 3.1         OK                           473     109 massasquatch3&lt;br /&gt;
    257   00:00:01 Festival 3.1         OK                           846     182 massasquatch30&lt;br /&gt;
    258   00:00:01 Festival 3.1         OK                           871     163 massasquatch31&lt;br /&gt;
    259   00:00:01 Festival 3.1         OK                           245      44 massasquatch32&lt;br /&gt;
    260   00:00:01 Festival 3.1         OK                           866     272 massasquatch33&lt;br /&gt;
    261   00:00:00 Festival 3.1         OK                           118      36 massasquatch34&lt;br /&gt;
    262   00:00:01 Festival 3.1         OK                          1200     246 massasquatch35&lt;br /&gt;
    263   00:00:56 Festival 3.1         OK                          1498     188 massasquatch36&lt;br /&gt;
    264   00:08:27 Festival 3.1         OK                          2780     518 massasquatch37&lt;br /&gt;
    265   00:00:10 Festival 3.1         OK                          4647     792 massasquatch38&lt;br /&gt;
    266   00:00:02 Festival 3.1         OK                           963     124 massasquatch39&lt;br /&gt;
    267   00:00:08 Festival 3.1         OK                           783     184 massasquatch4&lt;br /&gt;
    268   00:01:37 Festival 3.1         OK                          3583     736 massasquatch40&lt;br /&gt;
    269   00:00:02 Festival 3.1         OK                           655     128 massasquatch41&lt;br /&gt;
    270   00:00:02 Festival 3.1         OK                          2835     407 massasquatch42&lt;br /&gt;
    271   00:00:09 Festival 3.1         OK                          2292     513 massasquatch43&lt;br /&gt;
    272   00:00:12 Festival 3.1         OK                           885     282 massasquatch44&lt;br /&gt;
    273   00:00:01 Festival 3.1         OK                          1042     345 massasquatch45&lt;br /&gt;
    274   00:10:01 Festival 3.1         Time limit exceeded                      massasquatch46&lt;br /&gt;
    275   00:00:55 Festival 3.1         OK                          1429     308 massasquatch47&lt;br /&gt;
    276   00:00:03 Festival 3.1         OK                           606     100 massasquatch48&lt;br /&gt;
    277   00:10:01 Festival 3.1         Time limit exceeded                      massasquatch49&lt;br /&gt;
    278   00:00:00 Festival 3.1         OK                           517      89 massasquatch5&lt;br /&gt;
    279   00:10:01 Festival 3.1         Time limit exceeded                      massasquatch50&lt;br /&gt;
    280   00:00:02 Festival 3.1         OK                          1374     297 massasquatch6&lt;br /&gt;
    281   00:00:03 Festival 3.1         OK                          1073     313 massasquatch7&lt;br /&gt;
    282   00:00:00 Festival 3.1         OK                          1105     215 massasquatch8&lt;br /&gt;
    283   00:00:17 Festival 3.1         OK                          5002    1280 massasquatch9&lt;br /&gt;
    284   00:00:00 Festival 3.1         OK                           107      21 Microban_01_ArrangedMicroban_101a&lt;br /&gt;
    285   00:00:01 Festival 3.1         OK                           272      50 Microban_01_ArrangedMicroban_145a&lt;br /&gt;
    286   00:00:01 Festival 3.1         OK                           142      20 Microban_01_ArrangedMicroban_146a&lt;br /&gt;
    287   00:00:00 Festival 3.1         OK                           321      60 Microban_02_ArrangedMas_Microban_109a&lt;br /&gt;
    288   00:00:01 Festival 3.1         OK                           413      72 Microban_02_ArrangedMas_Microban_109b&lt;br /&gt;
    289   00:00:01 Festival 3.1         OK                           135      30 Microban_02_ArrangedMas_Microban_113a&lt;br /&gt;
    290   00:00:01 Festival 3.1         OK                           209      46 Microban_02_ArrangedMas_Microban_115a&lt;br /&gt;
    291   00:00:01 Festival 3.1         OK                           751     126 Microban_02_ArrangedMas_Microban_126a&lt;br /&gt;
    292   00:03:44 Festival 3.1         OK                          4491     608 Microban_02_ArrangedMas_Microban_134a&lt;br /&gt;
    293   00:00:01 Festival 3.1         OK                            98      17 Microban_02_ArrangedMas_Microban_67a&lt;br /&gt;
    294   00:01:38 Festival 3.1         OK                          1280     250 Microban_02_ArrangedMas_Microban_68a&lt;br /&gt;
    295   00:03:21 Festival 3.1         OK                           850     156 Microban_02_ArrangedMas_Microban_68b&lt;br /&gt;
    296   00:00:02 Festival 3.1         OK                           668     124 Microban_02_ArrangedMas_Microban_68c&lt;br /&gt;
    297   00:00:01 Festival 3.1         OK                           162      46 Microban_02_ArrangedMas_Microban_93a&lt;br /&gt;
    298   00:00:00 Festival 3.1         OK                            88      27 Microban_III1&lt;br /&gt;
    299   00:00:01 Festival 3.1         OK                            81      13 Microban_III10&lt;br /&gt;
    300   00:00:00 Festival 3.1         OK                            50      10 Microban_III100&lt;br /&gt;
    301   00:00:18 Festival 3.1         OK                          2299     589 Microban_III101&lt;br /&gt;
    302   00:00:00 Festival 3.1         OK                           203      56 Microban_III11&lt;br /&gt;
    303   00:00:01 Festival 3.1         OK                           129      30 Microban_III12&lt;br /&gt;
    304   00:00:00 Festival 3.1         OK                           117      23 Microban_III13&lt;br /&gt;
    305   00:00:01 Festival 3.1         OK                           155      34 Microban_III14&lt;br /&gt;
    306   00:00:00 Festival 3.1         OK                            67      20 Microban_III15&lt;br /&gt;
    307   00:00:01 Festival 3.1         OK                           226      54 Microban_III16&lt;br /&gt;
    308   00:00:01 Festival 3.1         OK                           162      38 Microban_III17&lt;br /&gt;
    309   00:00:00 Festival 3.1         OK                           107      16 Microban_III18&lt;br /&gt;
    310   00:00:01 Festival 3.1         OK                           104      16 Microban_III19&lt;br /&gt;
    311   00:00:00 Festival 3.1         OK                            52      11 Microban_III2&lt;br /&gt;
    312   00:00:01 Festival 3.1         OK                           101      31 Microban_III20&lt;br /&gt;
    313   00:00:01 Festival 3.1         OK                           163      43 Microban_III21&lt;br /&gt;
    314   00:00:00 Festival 3.1         OK                           275      68 Microban_III22&lt;br /&gt;
    315   00:00:01 Festival 3.1         OK                           256      74 Microban_III23&lt;br /&gt;
    316   00:00:00 Festival 3.1         OK                           302     112 Microban_III24&lt;br /&gt;
    317   00:00:01 Festival 3.1         OK                            75      12 Microban_III25&lt;br /&gt;
    318   00:00:01 Festival 3.1         OK                           267      57 Microban_III26&lt;br /&gt;
    319   00:00:00 Festival 3.1         OK                           371      75 Microban_III27&lt;br /&gt;
    320   00:00:01 Festival 3.1         OK                            84      16 Microban_III28&lt;br /&gt;
    321   00:00:00 Festival 3.1         OK                           170      42 Microban_III29&lt;br /&gt;
    322   00:00:01 Festival 3.1         OK                            56      15 Microban_III3&lt;br /&gt;
    323   00:00:01 Festival 3.1         OK                            88      36 Microban_III30&lt;br /&gt;
    324   00:00:00 Festival 3.1         OK                           424      82 Microban_III31&lt;br /&gt;
    325   00:00:01 Festival 3.1         OK                           408     108 Microban_III32&lt;br /&gt;
    326   00:00:00 Festival 3.1         OK                           655     169 Microban_III33&lt;br /&gt;
    327   00:00:01 Festival 3.1         OK                            84      23 Microban_III34&lt;br /&gt;
    328   00:00:01 Festival 3.1         OK                            41      12 Microban_III35&lt;br /&gt;
    329   00:00:00 Festival 3.1         OK                           237      66 Microban_III36&lt;br /&gt;
    330   00:00:01 Festival 3.1         OK                           150      46 Microban_III37&lt;br /&gt;
    331   00:00:00 Festival 3.1         OK                           233      67 Microban_III38&lt;br /&gt;
    332   00:00:01 Festival 3.1         OK                           122      36 Microban_III39&lt;br /&gt;
    333   00:00:01 Festival 3.1         OK                            62      14 Microban_III4&lt;br /&gt;
    334   00:00:00 Festival 3.1         OK                           357      64 Microban_III40&lt;br /&gt;
    335   00:00:01 Festival 3.1         OK                           309      58 Microban_III41&lt;br /&gt;
    336   00:00:00 Festival 3.1         OK                           207      78 Microban_III42&lt;br /&gt;
    337   00:00:01 Festival 3.1         OK                           215      58 Microban_III43&lt;br /&gt;
    338   00:00:00 Festival 3.1         OK                            74      16 Microban_III44&lt;br /&gt;
    339   00:00:01 Festival 3.1         OK                           363      34 Microban_III45&lt;br /&gt;
    340   00:00:06 Festival 3.1         OK                           508     136 Microban_III46&lt;br /&gt;
    341   00:00:06 Festival 3.1         OK                          1460     184 Microban_III47&lt;br /&gt;
    342   00:00:01 Festival 3.1         OK                            83      20 Microban_III48&lt;br /&gt;
    343   00:00:01 Festival 3.1         OK                            39      13 Microban_III49&lt;br /&gt;
    344   00:00:00 Festival 3.1         OK                            76      20 Microban_III5&lt;br /&gt;
    345   00:00:01 Festival 3.1         OK                            55      19 Microban_III50&lt;br /&gt;
    346   00:00:00 Festival 3.1         OK                           182      33 Microban_III51&lt;br /&gt;
    347   00:00:01 Festival 3.1         OK                           132      23 Microban_III52&lt;br /&gt;
    348   00:00:00 Festival 3.1         OK                           110      17 Microban_III53&lt;br /&gt;
    349   00:00:01 Festival 3.1         OK                           484     156 Microban_III54&lt;br /&gt;
    350   00:00:01 Festival 3.1         OK                           172      42 Microban_III55&lt;br /&gt;
    351   00:00:00 Festival 3.1         OK                           228      64 Microban_III56&lt;br /&gt;
    352   00:00:02 Festival 3.1         OK                           328      44 Microban_III57&lt;br /&gt;
    353   00:01:42 Festival 3.1         OK                           960     160 Microban_III58&lt;br /&gt;
    354   00:00:01 Festival 3.1         OK                           397      24 Microban_III59&lt;br /&gt;
    355   00:00:00 Festival 3.1         OK                            76      18 Microban_III6&lt;br /&gt;
    356   00:00:01 Festival 3.1         OK                           160      15 Microban_III60&lt;br /&gt;
    357   00:00:00 Festival 3.1         OK                            69      13 Microban_III61&lt;br /&gt;
    358   00:00:01 Festival 3.1         OK                            56      17 Microban_III62&lt;br /&gt;
    359   00:00:00 Festival 3.1         OK                            89      19 Microban_III63&lt;br /&gt;
    360   00:00:00 Festival 3.1         OK                           110      37 Microban_III64&lt;br /&gt;
    361   00:00:01 Festival 3.1         OK                            54      13 Microban_III65&lt;br /&gt;
    362   00:00:00 Festival 3.1         OK                            89      13 Microban_III66&lt;br /&gt;
    363   00:00:01 Festival 3.1         OK                            39       9 Microban_III67&lt;br /&gt;
    364   00:00:00 Festival 3.1         OK                            33       7 Microban_III68&lt;br /&gt;
    365   00:00:01 Festival 3.1         OK                            67      21 Microban_III69&lt;br /&gt;
    366   00:00:01 Festival 3.1         OK                           193      49 Microban_III7&lt;br /&gt;
    367   00:00:00 Festival 3.1         OK                            54      13 Microban_III70&lt;br /&gt;
    368   00:00:01 Festival 3.1         OK                            93      16 Microban_III71&lt;br /&gt;
    369   00:00:00 Festival 3.1         OK                            89      24 Microban_III72&lt;br /&gt;
    370   00:00:01 Festival 3.1         OK                            91      16 Microban_III73&lt;br /&gt;
    371   00:00:00 Festival 3.1         OK                            82      18 Microban_III74&lt;br /&gt;
    372   00:00:01 Festival 3.1         OK                            53      18 Microban_III75&lt;br /&gt;
    373   00:00:01 Festival 3.1         OK                            75      16 Microban_III76&lt;br /&gt;
    374   00:00:00 Festival 3.1         OK                            65      19 Microban_III77&lt;br /&gt;
    375   00:00:01 Festival 3.1         OK                            54      13 Microban_III78&lt;br /&gt;
    376   00:00:00 Festival 3.1         OK                            46       9 Microban_III79&lt;br /&gt;
    377   00:00:01 Festival 3.1         OK                           152      42 Microban_III8&lt;br /&gt;
    378   00:00:00 Festival 3.1         OK                            81      23 Microban_III80&lt;br /&gt;
    379   00:00:01 Festival 3.1         OK                            65      22 Microban_III81&lt;br /&gt;
    380   00:00:01 Festival 3.1         OK                            63      14 Microban_III82&lt;br /&gt;
    381   00:00:00 Festival 3.1         OK                            87      14 Microban_III83&lt;br /&gt;
    382   00:00:01 Festival 3.1         OK                            76      18 Microban_III84&lt;br /&gt;
    383   00:00:00 Festival 3.1         OK                            75      20 Microban_III85&lt;br /&gt;
    384   00:00:01 Festival 3.1         OK                            69      16 Microban_III86&lt;br /&gt;
    385   00:00:00 Festival 3.1         OK                            93      16 Microban_III87&lt;br /&gt;
    386   00:00:01 Festival 3.1         OK                           141      42 Microban_III88&lt;br /&gt;
    387   00:00:01 Festival 3.1         OK                            42      14 Microban_III89&lt;br /&gt;
    388   00:00:00 Festival 3.1         OK                           193      58 Microban_III9&lt;br /&gt;
    389   00:00:01 Festival 3.1         OK                            44      14 Microban_III90&lt;br /&gt;
    390   00:00:00 Festival 3.1         OK                            28       8 Microban_III91&lt;br /&gt;
    391   00:00:01 Festival 3.1         OK                            28       6 Microban_III92&lt;br /&gt;
    392   00:00:01 Festival 3.1         OK                            38      12 Microban_III93&lt;br /&gt;
    393   00:00:00 Festival 3.1         OK                            42      12 Microban_III94&lt;br /&gt;
    394   00:00:01 Festival 3.1         OK                            47      14 Microban_III95&lt;br /&gt;
    395   00:00:00 Festival 3.1         OK                            62      20 Microban_III96&lt;br /&gt;
    396   00:00:01 Festival 3.1         OK                            50      12 Microban_III97&lt;br /&gt;
    397   00:00:00 Festival 3.1         OK                            80      26 Microban_III98&lt;br /&gt;
    398   00:00:01 Festival 3.1         OK                            56      20 Microban_III99&lt;br /&gt;
    399   00:00:01 Festival 3.1         OK                            34      12 Microban_IV1&lt;br /&gt;
    400   00:00:00 Festival 3.1         OK                           296     102 Microban_IV10&lt;br /&gt;
    401   00:00:01 Festival 3.1         OK                           327      86 Microban_IV100&lt;br /&gt;
    402   00:00:00 Festival 3.1         OK                            39       8 Microban_IV11&lt;br /&gt;
    403   00:00:01 Festival 3.1         OK                            65      21 Microban_IV12&lt;br /&gt;
    404   00:00:01 Festival 3.1         OK                            81      22 Microban_IV13&lt;br /&gt;
    405   00:00:00 Festival 3.1         OK                           116      20 Microban_IV14&lt;br /&gt;
    406   00:00:01 Festival 3.1         OK                           121      47 Microban_IV15&lt;br /&gt;
    407   00:00:00 Festival 3.1         OK                            87      23 Microban_IV16&lt;br /&gt;
    408   00:00:01 Festival 3.1         OK                            92      25 Microban_IV17&lt;br /&gt;
    409   00:00:00 Festival 3.1         OK                           208      40 Microban_IV18&lt;br /&gt;
    410   00:00:01 Festival 3.1         OK                           105      20 Microban_IV19&lt;br /&gt;
    411   00:00:01 Festival 3.1         OK                            92      26 Microban_IV2&lt;br /&gt;
    412   00:00:00 Festival 3.1         OK                            70      13 Microban_IV20&lt;br /&gt;
    413   00:00:01 Festival 3.1         OK                           105      26 Microban_IV21&lt;br /&gt;
    414   00:00:00 Festival 3.1         OK                            44       8 Microban_IV22&lt;br /&gt;
    415   00:00:01 Festival 3.1         OK                           122      40 Microban_IV23&lt;br /&gt;
    416   00:00:01 Festival 3.1         OK                           124      30 Microban_IV24&lt;br /&gt;
    417   00:00:00 Festival 3.1         OK                           428     102 Microban_IV25&lt;br /&gt;
    418   00:00:01 Festival 3.1         OK                            98      26 Microban_IV26&lt;br /&gt;
    419   00:00:00 Festival 3.1         OK                           130      29 Microban_IV27&lt;br /&gt;
    420   00:00:01 Festival 3.1         OK                            77      16 Microban_IV28&lt;br /&gt;
    421   00:00:00 Festival 3.1         OK                           158      38 Microban_IV29&lt;br /&gt;
    422   00:00:01 Festival 3.1         OK                            69      18 Microban_IV3&lt;br /&gt;
    423   00:00:01 Festival 3.1         OK                           412     166 Microban_IV30&lt;br /&gt;
    424   00:00:00 Festival 3.1         OK                           103      24 Microban_IV31&lt;br /&gt;
    425   00:00:01 Festival 3.1         OK                           212      76 Microban_IV32&lt;br /&gt;
    426   00:00:00 Festival 3.1         OK                           143      26 Microban_IV33&lt;br /&gt;
    427   00:00:01 Festival 3.1         OK                            62      14 Microban_IV34&lt;br /&gt;
    428   00:00:01 Festival 3.1         OK                           196      32 Microban_IV35&lt;br /&gt;
    429   00:00:00 Festival 3.1         OK                           173      20 Microban_IV36&lt;br /&gt;
    430   00:00:01 Festival 3.1         OK                           136      32 Microban_IV37&lt;br /&gt;
    431   00:00:01 Festival 3.1         OK                           130      18 Microban_IV38&lt;br /&gt;
    432   00:00:00 Festival 3.1         OK                           335     103 Microban_IV39&lt;br /&gt;
    433   00:00:01 Festival 3.1         OK                            61      15 Microban_IV4&lt;br /&gt;
    434   00:00:00 Festival 3.1         OK                           436     120 Microban_IV40&lt;br /&gt;
    435   00:00:01 Festival 3.1         OK                           241      82 Microban_IV41&lt;br /&gt;
    436   00:00:01 Festival 3.1         OK                           675     249 Microban_IV42&lt;br /&gt;
    437   00:00:00 Festival 3.1         OK                           214      35 Microban_IV43&lt;br /&gt;
    438   00:00:01 Festival 3.1         OK                           323      70 Microban_IV44&lt;br /&gt;
    439   00:00:00 Festival 3.1         OK                           259      35 Microban_IV45&lt;br /&gt;
    440   00:00:01 Festival 3.1         OK                           358      92 Microban_IV46&lt;br /&gt;
    441   00:00:01 Festival 3.1         OK                           297      64 Microban_IV47&lt;br /&gt;
    442   00:00:00 Festival 3.1         OK                           433      92 Microban_IV48&lt;br /&gt;
    443   00:00:01 Festival 3.1         OK                           317      66 Microban_IV49&lt;br /&gt;
    444   00:00:00 Festival 3.1         OK                            91      33 Microban_IV5&lt;br /&gt;
    445   00:00:01 Festival 3.1         OK                           516     108 Microban_IV50&lt;br /&gt;
    446   00:00:01 Festival 3.1         OK                            78      22 Microban_IV51&lt;br /&gt;
    447   00:00:00 Festival 3.1         OK                            60      10 Microban_IV52&lt;br /&gt;
    448   00:00:01 Festival 3.1         OK                           108      30 Microban_IV53&lt;br /&gt;
    449   00:00:00 Festival 3.1         OK                            66      20 Microban_IV54&lt;br /&gt;
    450   00:00:01 Festival 3.1         OK                           101      35 Microban_IV55&lt;br /&gt;
    451   00:00:00 Festival 3.1         OK                           702     144 Microban_IV56&lt;br /&gt;
    452   00:00:01 Festival 3.1         OK                           328      70 Microban_IV57&lt;br /&gt;
    453   00:00:07 Festival 3.1         OK                           224      28 Microban_IV58&lt;br /&gt;
    454   00:00:02 Festival 3.1         OK                           279      80 Microban_IV59&lt;br /&gt;
    455   00:00:00 Festival 3.1         OK                           241      78 Microban_IV6&lt;br /&gt;
    456   00:00:02 Festival 3.1         OK                           483      50 Microban_IV60&lt;br /&gt;
    457   00:00:00 Festival 3.1         OK                            42      12 Microban_IV61&lt;br /&gt;
    458   00:00:01 Festival 3.1         OK                           111      24 Microban_IV62&lt;br /&gt;
    459   00:00:01 Festival 3.1         OK                           219      32 Microban_IV63&lt;br /&gt;
    460   00:00:00 Festival 3.1         OK                           219      45 Microban_IV64&lt;br /&gt;
    461   00:00:01 Festival 3.1         OK                            94      28 Microban_IV65&lt;br /&gt;
    462   00:00:01 Festival 3.1         OK                           129      20 Microban_IV66&lt;br /&gt;
    463   00:00:00 Festival 3.1         OK                           315      57 Microban_IV67&lt;br /&gt;
    464   00:00:01 Festival 3.1         OK                           239      53 Microban_IV68&lt;br /&gt;
    465   00:00:01 Festival 3.1         OK                           283      44 Microban_IV69&lt;br /&gt;
    466   00:00:00 Festival 3.1         OK                           134      32 Microban_IV7&lt;br /&gt;
    467   00:00:01 Festival 3.1         OK                           342      81 Microban_IV70&lt;br /&gt;
    468   00:00:01 Festival 3.1         OK                           218      52 Microban_IV71&lt;br /&gt;
    469   00:00:00 Festival 3.1         OK                           276      61 Microban_IV72&lt;br /&gt;
    470   00:00:01 Festival 3.1         OK                           162      35 Microban_IV73&lt;br /&gt;
    471   00:00:00 Festival 3.1         OK                           167      49 Microban_IV74&lt;br /&gt;
    472   00:00:01 Festival 3.1         OK                          1100     291 Microban_IV75&lt;br /&gt;
    473   00:00:01 Festival 3.1         OK                           507     110 Microban_IV76&lt;br /&gt;
    474   00:00:01 Festival 3.1         OK                           210      39 Microban_IV77&lt;br /&gt;
    475   00:00:00 Festival 3.1         OK                           189      62 Microban_IV78&lt;br /&gt;
    476   00:00:01 Festival 3.1         OK                           142      31 Microban_IV79&lt;br /&gt;
    477   00:00:02 Festival 3.1         OK                           118      28 Microban_IV8&lt;br /&gt;
    478   00:00:00 Festival 3.1         OK                           303      73 Microban_IV80&lt;br /&gt;
    479   00:00:01 Festival 3.1         OK                           201      58 Microban_IV81&lt;br /&gt;
    480   00:00:00 Festival 3.1         OK                            94      34 Microban_IV82&lt;br /&gt;
    481   00:00:01 Festival 3.1         OK                           181      38 Microban_IV83&lt;br /&gt;
    482   00:00:01 Festival 3.1         OK                           191      43 Microban_IV84&lt;br /&gt;
    483   00:00:03 Festival 3.1         OK                          1717     511 Microban_IV85&lt;br /&gt;
    484   00:00:01 Festival 3.1         OK                           158      26 Microban_IV86&lt;br /&gt;
    485   00:00:01 Festival 3.1         OK                           108      31 Microban_IV87&lt;br /&gt;
    486   00:00:00 Festival 3.1         OK                           383      92 Microban_IV88&lt;br /&gt;
    487   00:00:01 Festival 3.1         OK                           247      42 Microban_IV89&lt;br /&gt;
    488   00:00:01 Festival 3.1         OK                           341      56 Microban_IV9&lt;br /&gt;
    489   00:00:01 Festival 3.1         OK                           247      54 Microban_IV90&lt;br /&gt;
    490   00:00:00 Festival 3.1         OK                           254      46 Microban_IV91&lt;br /&gt;
    491   00:00:01 Festival 3.1         OK                           342      68 Microban_IV92&lt;br /&gt;
    492   00:00:01 Festival 3.1         OK                           257      34 Microban_IV93&lt;br /&gt;
    493   00:00:00 Festival 3.1         OK                           161      34 Microban_IV94&lt;br /&gt;
    494   00:00:01 Festival 3.1         OK                           477      52 Microban_IV95&lt;br /&gt;
    495   00:00:01 Festival 3.1         OK                           485      68 Microban_IV96&lt;br /&gt;
    496   00:00:01 Festival 3.1         OK                           402      64 Microban_IV97&lt;br /&gt;
    497   00:00:01 Festival 3.1         OK                           362      72 Microban_IV98&lt;br /&gt;
    498   00:00:01 Festival 3.1         OK                           330      48 Microban_IV99&lt;br /&gt;
    499   00:00:00 Festival 3.1         OK                           198      46 Mulholland_D1&lt;br /&gt;
    500   00:00:01 Festival 3.1         OK                           267      60 Mulholland_D10&lt;br /&gt;
    501   00:00:00 Festival 3.1         OK                           517      69 Mulholland_D11&lt;br /&gt;
    502   00:00:01 Festival 3.1         OK                           139      41 Mulholland_D12&lt;br /&gt;
    503   00:00:01 Festival 3.1         OK                           138      35 Mulholland_D13&lt;br /&gt;
    504   00:00:00 Festival 3.1         OK                           185      28 Mulholland_D14&lt;br /&gt;
    505   00:00:01 Festival 3.1         OK                           217      38 Mulholland_D15&lt;br /&gt;
    506   00:00:00 Festival 3.1         OK                            80      30 Mulholland_D16&lt;br /&gt;
    507   00:00:01 Festival 3.1         OK                           240      43 Mulholland_D17&lt;br /&gt;
    508   00:00:10 Festival 3.1         OK                           342      85 Mulholland_D18&lt;br /&gt;
    509   00:00:01 Festival 3.1         OK                           473     103 Mulholland_D19&lt;br /&gt;
    510   00:00:00 Festival 3.1         OK                           103      23 Mulholland_D2&lt;br /&gt;
    511   00:00:01 Festival 3.1         OK                           253      44 Mulholland_D20&lt;br /&gt;
    512   00:00:00 Festival 3.1         OK                           190      43 Mulholland_D21&lt;br /&gt;
    513   00:00:01 Festival 3.1         OK                           171      48 Mulholland_D22&lt;br /&gt;
    514   00:00:01 Festival 3.1         OK                           697     115 Mulholland_D23&lt;br /&gt;
    515   00:00:01 Festival 3.1         OK                           317      64 Mulholland_D24&lt;br /&gt;
    516   00:00:00 Festival 3.1         OK                           389      60 Mulholland_D25&lt;br /&gt;
    517   00:00:01 Festival 3.1         OK                           236      59 Mulholland_D26&lt;br /&gt;
    518   00:00:01 Festival 3.1         OK                           204      64 Mulholland_D27&lt;br /&gt;
    519   00:00:01 Festival 3.1         OK                           280      96 Mulholland_D28&lt;br /&gt;
    520   00:00:00 Festival 3.1         OK                           168      36 Mulholland_D29&lt;br /&gt;
    521   00:00:01 Festival 3.1         OK                            86      19 Mulholland_D3&lt;br /&gt;
    522   00:00:01 Festival 3.1         OK                           120      28 Mulholland_D30&lt;br /&gt;
    523   00:00:02 Festival 3.1         OK                           429      90 Mulholland_D31&lt;br /&gt;
    524   00:00:01 Festival 3.1         OK                           319      70 Mulholland_D32&lt;br /&gt;
    525   00:00:01 Festival 3.1         OK                           236      61 Mulholland_D33&lt;br /&gt;
    526   00:00:01 Festival 3.1         OK                           292      79 Mulholland_D34&lt;br /&gt;
    527   00:00:00 Festival 3.1         OK                           349      47 Mulholland_D35&lt;br /&gt;
    528   00:00:01 Festival 3.1         OK                           258      65 Mulholland_D36&lt;br /&gt;
    529   00:00:01 Festival 3.1         OK                           210      66 Mulholland_D37&lt;br /&gt;
    530   00:00:01 Festival 3.1         OK                           258      60 Mulholland_D38&lt;br /&gt;
    531   00:00:01 Festival 3.1         OK                           375      66 Mulholland_D39&lt;br /&gt;
    532   00:00:00 Festival 3.1         OK                            65      16 Mulholland_D4&lt;br /&gt;
    533   00:00:01 Festival 3.1         OK                           265      68 Mulholland_D40&lt;br /&gt;
    534   00:00:01 Festival 3.1         OK                           242      59 Mulholland_D41&lt;br /&gt;
    535   00:00:01 Festival 3.1         OK                           272      59 Mulholland_D42&lt;br /&gt;
    536   00:00:01 Festival 3.1         OK                           214      59 Mulholland_D43&lt;br /&gt;
    537   00:00:01 Festival 3.1         OK                           392      67 Mulholland_D44&lt;br /&gt;
    538   00:00:01 Festival 3.1         OK                           231      48 Mulholland_D45&lt;br /&gt;
    539   00:00:00 Festival 3.1         OK                           194      58 Mulholland_D46&lt;br /&gt;
    540   00:00:01 Festival 3.1         OK                           339      65 Mulholland_D47&lt;br /&gt;
    541   00:00:01 Festival 3.1         OK                           185      63 Mulholland_D48&lt;br /&gt;
    542   00:00:01 Festival 3.1         OK                           276      66 Mulholland_D49&lt;br /&gt;
    543   00:00:01 Festival 3.1         OK                           545     186 Mulholland_D5&lt;br /&gt;
    544   00:00:01 Festival 3.1         OK                           340      81 Mulholland_D50&lt;br /&gt;
    545   00:00:01 Festival 3.1         OK                           332      87 Mulholland_D51&lt;br /&gt;
    546   00:00:01 Festival 3.1         OK                           397      97 Mulholland_D52&lt;br /&gt;
    547   00:00:01 Festival 3.1         OK                           332      71 Mulholland_D53&lt;br /&gt;
    548   00:00:01 Festival 3.1         OK                           548     115 Mulholland_D54&lt;br /&gt;
    549   00:00:01 Festival 3.1         OK                           488      98 Mulholland_D55&lt;br /&gt;
    550   00:00:13 Festival 3.1         OK                           339     103 Mulholland_D56&lt;br /&gt;
    551   00:00:01 Festival 3.1         OK                           325      96 Mulholland_D57&lt;br /&gt;
    552   00:00:01 Festival 3.1         OK                            90      24 Mulholland_D6&lt;br /&gt;
    553   00:00:00 Festival 3.1         OK                           173      49 Mulholland_D7&lt;br /&gt;
    554   00:00:01 Festival 3.1         OK                           127      25 Mulholland_D8&lt;br /&gt;
    555   00:00:01 Festival 3.1         OK                           178      59 Mulholland_D9&lt;br /&gt;
    556   00:00:00 Festival 3.1         OK                           332      52 sasquatchiii1&lt;br /&gt;
    557   00:00:01 Festival 3.1         OK                           316      40 sasquatchiii10&lt;br /&gt;
    558   00:00:41 Festival 3.1         OK                          1143     322 sasquatchiii11&lt;br /&gt;
    559   00:00:00 Festival 3.1         OK                           418      82 sasquatchiii12&lt;br /&gt;
    560   00:00:03 Festival 3.1         OK                          1092     274 sasquatchiii13&lt;br /&gt;
    561   00:00:00 Festival 3.1         OK                           559     130 sasquatchiii14&lt;br /&gt;
    562   00:00:05 Festival 3.1         OK                           862     184 sasquatchiii15&lt;br /&gt;
    563   00:00:01 Festival 3.1         OK                           197      42 sasquatchiii16&lt;br /&gt;
    564   00:00:41 Festival 3.1         OK                          1041     250 sasquatchiii17&lt;br /&gt;
    565   00:00:20 Festival 3.1         OK                          1651     246 sasquatchiii18&lt;br /&gt;
    566   00:00:37 Festival 3.1         OK                          2263     300 sasquatchiii19&lt;br /&gt;
    567   00:00:26 Festival 3.1         OK                           520     103 sasquatchiii2&lt;br /&gt;
    568   00:00:01 Festival 3.1         OK                           469      94 sasquatchiii20&lt;br /&gt;
    569   00:00:13 Festival 3.1         OK                          1022     224 sasquatchiii21&lt;br /&gt;
    570   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiii22&lt;br /&gt;
    571   00:01:53 Festival 3.1         OK                          1156     172 sasquatchiii23&lt;br /&gt;
    572   00:01:52 Festival 3.1         OK                          1432     244 sasquatchiii24&lt;br /&gt;
    573   00:03:21 Festival 3.1         OK                          1277     150 sasquatchiii25&lt;br /&gt;
    574   00:03:44 Festival 3.1         OK                          3369     374 sasquatchiii26&lt;br /&gt;
    575   00:02:56 Festival 3.1         OK                          3788     332 sasquatchiii27&lt;br /&gt;
    576   00:01:21 Festival 3.1         OK                          1843     516 sasquatchiii28&lt;br /&gt;
    577   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiii29&lt;br /&gt;
    578   00:00:00 Festival 3.1         OK                          1010     135 sasquatchiii3&lt;br /&gt;
    579   00:00:05 Festival 3.1         OK                          1794     256 sasquatchiii30&lt;br /&gt;
    580   00:02:45 Festival 3.1         OK                          2017     254 sasquatchiii31&lt;br /&gt;
    581   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiii32&lt;br /&gt;
    582   00:00:21 Festival 3.1         OK                          1760     235 sasquatchiii33&lt;br /&gt;
    583   00:01:41 Festival 3.1         OK                          3114     472 sasquatchiii34&lt;br /&gt;
    584   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiii35&lt;br /&gt;
    585   00:03:31 Festival 3.1         OK                          1348     216 sasquatchiii36&lt;br /&gt;
    586   00:03:23 Festival 3.1         OK                          2177     268 sasquatchiii37&lt;br /&gt;
    587   00:00:01 Festival 3.1         OK                           469     110 sasquatchiii38&lt;br /&gt;
    588   00:00:02 Festival 3.1         OK                          1453     254 sasquatchiii39&lt;br /&gt;
    589   00:00:15 Festival 3.1         OK                          2668     315 sasquatchiii4&lt;br /&gt;
    590   00:04:13 Festival 3.1         OK                          2948     316 sasquatchiii40&lt;br /&gt;
    591   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiii41&lt;br /&gt;
    592   00:09:09 Festival 3.1         OK                          4721     548 sasquatchiii42&lt;br /&gt;
    593   00:03:16 Festival 3.1         OK                          2154     306 sasquatchiii43&lt;br /&gt;
    594   00:03:36 Festival 3.1         OK                          1539     118 sasquatchiii44&lt;br /&gt;
    595   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiii45&lt;br /&gt;
    596   00:04:16 Festival 3.1         OK                          2271     236 sasquatchiii46&lt;br /&gt;
    597   00:03:58 Festival 3.1         OK                          2667     202 sasquatchiii47&lt;br /&gt;
    598   00:00:02 Festival 3.1         OK                          1225     314 sasquatchiii48&lt;br /&gt;
    599   00:04:43 Festival 3.1         OK                          6329     910 sasquatchiii49&lt;br /&gt;
    600   00:00:01 Festival 3.1         OK                           569     105 sasquatchiii5&lt;br /&gt;
    601   00:00:18 Festival 3.1         OK                          3797     796 sasquatchiii50&lt;br /&gt;
    602   00:03:10 Festival 3.1         OK                          1200     214 sasquatchiii6&lt;br /&gt;
    603   00:00:00 Festival 3.1         OK                           373      58 sasquatchiii7&lt;br /&gt;
    604   00:00:01 Festival 3.1         OK                           386      90 sasquatchiii8&lt;br /&gt;
    605   00:00:01 Festival 3.1         OK                           579      99 sasquatchiii9&lt;br /&gt;
    606   00:00:01 Festival 3.1         OK                           153      51 sasquatchiv1&lt;br /&gt;
    607   00:00:00 Festival 3.1         OK                           165      29 sasquatchiv10&lt;br /&gt;
    608   00:00:01 Festival 3.1         OK                           419     101 sasquatchiv11&lt;br /&gt;
    609   00:00:00 Festival 3.1         OK                           582     104 sasquatchiv12&lt;br /&gt;
    610   00:00:01 Festival 3.1         OK                           404      50 sasquatchiv13&lt;br /&gt;
    611   00:00:01 Festival 3.1         OK                           204      54 sasquatchiv14&lt;br /&gt;
    612   00:00:07 Festival 3.1         OK                           581      88 sasquatchiv15&lt;br /&gt;
    613   00:01:10 Festival 3.1         OK                           874     128 sasquatchiv16&lt;br /&gt;
    614   00:02:14 Festival 3.1         OK                          1972     236 sasquatchiv17&lt;br /&gt;
    615   00:02:07 Festival 3.1         OK                          2424     446 sasquatchiv18&lt;br /&gt;
    616   00:00:01 Festival 3.1         OK                           172      36 sasquatchiv19&lt;br /&gt;
    617   00:00:00 Festival 3.1         OK                           230      60 sasquatchiv2&lt;br /&gt;
    618   00:00:01 Festival 3.1         OK                           224      44 sasquatchiv20&lt;br /&gt;
    619   00:00:01 Festival 3.1         OK                           359      56 sasquatchiv21&lt;br /&gt;
    620   00:00:02 Festival 3.1         OK                           530     140 sasquatchiv22&lt;br /&gt;
    621   00:00:01 Festival 3.1         OK                           468     130 sasquatchiv23&lt;br /&gt;
    622   00:00:01 Festival 3.1         OK                           703     212 sasquatchiv24&lt;br /&gt;
    623   00:00:01 Festival 3.1         OK                           995     168 sasquatchiv25&lt;br /&gt;
    624   00:00:01 Festival 3.1         OK                           498     133 sasquatchiv26&lt;br /&gt;
    625   00:00:02 Festival 3.1         OK                           782     177 sasquatchiv27&lt;br /&gt;
    626   00:00:02 Festival 3.1         OK                          1020     207 sasquatchiv28&lt;br /&gt;
    627   00:00:01 Festival 3.1         OK                           581      47 sasquatchiv29&lt;br /&gt;
    628   00:00:00 Festival 3.1         OK                           171      35 sasquatchiv3&lt;br /&gt;
    629   00:00:02 Festival 3.1         OK                          1706     444 sasquatchiv30&lt;br /&gt;
    630   00:01:58 Festival 3.1         OK                          1066     178 sasquatchiv31&lt;br /&gt;
    631   00:06:26 Festival 3.1         OK                          1543     214 sasquatchiv32&lt;br /&gt;
    632   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiv33&lt;br /&gt;
    633   00:00:03 Festival 3.1         OK                           443     120 sasquatchiv34&lt;br /&gt;
    634   00:00:41 Festival 3.1         OK                           969     106 sasquatchiv35&lt;br /&gt;
    635   00:01:44 Festival 3.1         OK                          1457     238 sasquatchiv36&lt;br /&gt;
    636   00:00:02 Festival 3.1         OK                           233      52 sasquatchiv37&lt;br /&gt;
    637   00:00:30 Festival 3.1         OK                           815     188 sasquatchiv38&lt;br /&gt;
    638   00:00:03 Festival 3.1         OK                           944      98 sasquatchiv39&lt;br /&gt;
    639   00:00:00 Festival 3.1         OK                           318      55 sasquatchiv4&lt;br /&gt;
    640   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiv40&lt;br /&gt;
    641   00:00:01 Festival 3.1         OK                           806     144 sasquatchiv41&lt;br /&gt;
    642   00:00:06 Festival 3.1         OK                          2615     499 sasquatchiv42&lt;br /&gt;
    643   00:00:02 Festival 3.1         OK                          3105     404 sasquatchiv43&lt;br /&gt;
    644   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiv44&lt;br /&gt;
    645   00:03:29 Festival 3.1         OK                          4113     450 sasquatchiv45&lt;br /&gt;
    646   00:03:46 Festival 3.1         OK                          5230     516 sasquatchiv46&lt;br /&gt;
    647   00:05:31 Festival 3.1         OK                          5310     456 sasquatchiv47&lt;br /&gt;
    648   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiv48&lt;br /&gt;
    649   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchiv49&lt;br /&gt;
    650   00:00:00 Festival 3.1         OK                           124      33 sasquatchiv5&lt;br /&gt;
    651   00:03:29 Festival 3.1         OK                          3011     420 sasquatchiv50&lt;br /&gt;
    652   00:00:00 Festival 3.1         OK                           520     154 sasquatchiv6&lt;br /&gt;
    653   00:00:01 Festival 3.1         OK                           286      24 sasquatchiv7&lt;br /&gt;
    654   00:00:00 Festival 3.1         OK                          1243     144 sasquatchiv8&lt;br /&gt;
    655   00:00:01 Festival 3.1         OK                           312      98 sasquatchiv9&lt;br /&gt;
    656   00:00:01 Festival 3.1         OK                           138      43 sasquatchv1&lt;br /&gt;
    657   00:00:00 Festival 3.1         OK                           187      25 sasquatchv10&lt;br /&gt;
    658   00:00:01 Festival 3.1         OK                           129      19 sasquatchv11&lt;br /&gt;
    659   00:00:01 Festival 3.1         OK                           210      45 sasquatchv12&lt;br /&gt;
    660   00:00:00 Festival 3.1         OK                           286      40 sasquatchv13&lt;br /&gt;
    661   00:00:01 Festival 3.1         OK                           181      20 sasquatchv14&lt;br /&gt;
    662   00:00:04 Festival 3.1         OK                           342      58 sasquatchv15&lt;br /&gt;
    663   00:00:01 Festival 3.1         OK                           395      76 sasquatchv16&lt;br /&gt;
    664   00:00:01 Festival 3.1         OK                           204      46 sasquatchv17&lt;br /&gt;
    665   00:00:01 Festival 3.1         OK                           191      50 sasquatchv18&lt;br /&gt;
    666   00:00:14 Festival 3.1         OK                           965     188 sasquatchv19&lt;br /&gt;
    667   00:00:01 Festival 3.1         OK                           123      20 sasquatchv2&lt;br /&gt;
    668   00:00:00 Festival 3.1         OK                           845     102 sasquatchv20&lt;br /&gt;
    669   00:00:02 Festival 3.1         OK                           811     127 sasquatchv21&lt;br /&gt;
    670   00:00:01 Festival 3.1         OK                           596     129 sasquatchv22&lt;br /&gt;
    671   00:00:03 Festival 3.1         OK                           856     181 sasquatchv23&lt;br /&gt;
    672   00:00:03 Festival 3.1         OK                          1068     186 sasquatchv24&lt;br /&gt;
    673   00:00:03 Festival 3.1         OK                          1641     186 sasquatchv25&lt;br /&gt;
    674   00:01:20 Festival 3.1         OK                          1565     317 sasquatchv26&lt;br /&gt;
    675   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchv27&lt;br /&gt;
    676   00:02:48 Festival 3.1         OK                          1436     264 sasquatchv28&lt;br /&gt;
    677   00:00:03 Festival 3.1         OK                           367     114 sasquatchv29&lt;br /&gt;
    678   00:00:00 Festival 3.1         OK                           198      43 sasquatchv3&lt;br /&gt;
    679   00:00:02 Festival 3.1         OK                          1463     448 sasquatchv30&lt;br /&gt;
    680   00:02:43 Festival 3.1         OK                          2101     506 sasquatchv31&lt;br /&gt;
    681   00:00:04 Festival 3.1         OK                           358      66 sasquatchv32&lt;br /&gt;
    682   00:00:01 Festival 3.1         OK                           335      44 sasquatchv33&lt;br /&gt;
    683   00:00:04 Festival 3.1         OK                           334      86 sasquatchv34&lt;br /&gt;
    684   00:00:04 Festival 3.1         OK                           934     144 sasquatchv35&lt;br /&gt;
    685   00:00:02 Festival 3.1         OK                           379      46 sasquatchv36&lt;br /&gt;
    686   00:00:02 Festival 3.1         OK                           430      64 sasquatchv37&lt;br /&gt;
    687   00:00:26 Festival 3.1         OK                          2077     208 sasquatchv38&lt;br /&gt;
    688   00:00:51 Festival 3.1         OK                          1842     236 sasquatchv39&lt;br /&gt;
    689   00:00:01 Festival 3.1         OK                           222      42 sasquatchv4&lt;br /&gt;
    690   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchv40&lt;br /&gt;
    691   00:00:01 Festival 3.1         OK                           962     136 sasquatchv41&lt;br /&gt;
    692   00:03:38 Festival 3.1         OK                          4484     516 sasquatchv42&lt;br /&gt;
    693   00:04:25 Festival 3.1         OK                          4028     592 sasquatchv43&lt;br /&gt;
    694   00:03:21 Festival 3.1         OK                          3420     456 sasquatchv44&lt;br /&gt;
    695   00:08:10 Festival 3.1         OK                          2077     316 sasquatchv45&lt;br /&gt;
    696   00:00:01 Festival 3.1         OK                          4526     658 sasquatchv46&lt;br /&gt;
    697   00:00:59 Festival 3.1         OK                          3920     706 sasquatchv47&lt;br /&gt;
    698   00:04:33 Festival 3.1         OK                          9167     830 sasquatchv48&lt;br /&gt;
    699   00:05:30 Festival 3.1         OK                          9598     958 sasquatchv49&lt;br /&gt;
    700   00:00:02 Festival 3.1         OK                           269      89 sasquatchv5&lt;br /&gt;
    701   00:00:00 Festival 3.1         Too many boxes                           sasquatchv50&lt;br /&gt;
    702   00:00:00 Festival 3.1         OK                           313      61 sasquatchv6&lt;br /&gt;
    703   00:00:01 Festival 3.1         OK                           118      31 sasquatchv7&lt;br /&gt;
    704   00:00:00 Festival 3.1         OK                           271      53 sasquatchv8&lt;br /&gt;
    705   00:00:01 Festival 3.1         OK                           597      58 sasquatchv9&lt;br /&gt;
    706   00:00:01 Festival 3.1         OK                           288      68 sasquatchvi1&lt;br /&gt;
    707   00:00:04 Festival 3.1         OK                           894     203 sasquatchvi10&lt;br /&gt;
    708   00:00:01 Festival 3.1         OK                           394      86 sasquatchvi11&lt;br /&gt;
    709   00:00:01 Festival 3.1         OK                           161      40 sasquatchvi12&lt;br /&gt;
    710   00:00:01 Festival 3.1         OK                           295      75 sasquatchvi13&lt;br /&gt;
    711   00:00:06 Festival 3.1         OK                           913     237 sasquatchvi14&lt;br /&gt;
    712   00:01:00 Festival 3.1         OK                           894     176 sasquatchvi15&lt;br /&gt;
    713   00:00:11 Festival 3.1         OK                          1167     202 sasquatchvi16&lt;br /&gt;
    714   00:02:54 Festival 3.1         OK                          1719     510 sasquatchvi17&lt;br /&gt;
    715   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchvi18&lt;br /&gt;
    716   00:03:03 Festival 3.1         OK                          1571     252 sasquatchvi19&lt;br /&gt;
    717   00:00:01 Festival 3.1         OK                           141      29 sasquatchvi2&lt;br /&gt;
    718   00:00:00 Festival 3.1         OK                           359      72 sasquatchvi20&lt;br /&gt;
    719   00:00:01 Festival 3.1         OK                           150      34 sasquatchvi21&lt;br /&gt;
    720   00:00:01 Festival 3.1         OK                           331      52 sasquatchvi22&lt;br /&gt;
    721   00:00:01 Festival 3.1         OK                           267      50 sasquatchvi23&lt;br /&gt;
    722   00:00:01 Festival 3.1         OK                           276      44 sasquatchvi24&lt;br /&gt;
    723   00:00:02 Festival 3.1         OK                           128      30 sasquatchvi25&lt;br /&gt;
    724   00:00:00 Festival 3.1         OK                           224      48 sasquatchvi26&lt;br /&gt;
    725   00:00:01 Festival 3.1         OK                           168      18 sasquatchvi27&lt;br /&gt;
    726   00:00:02 Festival 3.1         OK                           524     142 sasquatchvi28&lt;br /&gt;
    727   00:00:01 Festival 3.1         OK                           219      42 sasquatchvi29&lt;br /&gt;
    728   00:00:00 Festival 3.1         OK                           166      24 sasquatchvi3&lt;br /&gt;
    729   00:00:02 Festival 3.1         OK                           410      82 sasquatchvi30&lt;br /&gt;
    730   00:01:39 Festival 3.1         OK                          1017     184 sasquatchvi31&lt;br /&gt;
    731   00:00:04 Festival 3.1         OK                           576     108 sasquatchvi32&lt;br /&gt;
    732   00:00:12 Festival 3.1         OK                           996     224 sasquatchvi33&lt;br /&gt;
    733   00:02:19 Festival 3.1         OK                          2006     280 sasquatchvi34&lt;br /&gt;
    734   00:01:19 Festival 3.1         OK                           693     188 sasquatchvi35&lt;br /&gt;
    735   00:00:02 Festival 3.1         OK                           734     108 sasquatchvi36&lt;br /&gt;
    736   00:02:39 Festival 3.1         OK                          2302     308 sasquatchvi37&lt;br /&gt;
    737   00:03:09 Festival 3.1         OK                          2830     396 sasquatchvi38&lt;br /&gt;
    738   00:00:01 Festival 3.1         OK                           565      98 sasquatchvi39&lt;br /&gt;
    739   00:00:01 Festival 3.1         OK                            84      24 sasquatchvi4&lt;br /&gt;
    740   00:04:05 Festival 3.1         OK                          4370    1658 sasquatchvi40&lt;br /&gt;
    741   00:00:04 Festival 3.1         OK                           876     120 sasquatchvi41&lt;br /&gt;
    742   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchvi42&lt;br /&gt;
    743   00:03:27 Festival 3.1         OK                          2284     380 sasquatchvi43&lt;br /&gt;
    744   00:04:35 Festival 3.1         OK                          7126     898 sasquatchvi44&lt;br /&gt;
    745   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchvi45&lt;br /&gt;
    746   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchvi46&lt;br /&gt;
    747   00:00:00 Festival 3.1         Too many boxes                           sasquatchvi47&lt;br /&gt;
    748   00:10:01 Festival 3.1         Too many moves                           sasquatchvi48&lt;br /&gt;
    749   00:00:00 Festival 3.1         Too many boxes                           sasquatchvi49&lt;br /&gt;
    750   00:00:01 Festival 3.1         OK                           335      86 sasquatchvi5&lt;br /&gt;
    751   00:00:00 Festival 3.1         OK                           189      34 sasquatchvi6&lt;br /&gt;
    752   00:00:00 Festival 3.1         OK                           387     116 sasquatchvi7&lt;br /&gt;
    753   00:00:01 Festival 3.1         OK                           300      32 sasquatchvi8&lt;br /&gt;
    754   00:00:00 Festival 3.1         OK                           282      48 sasquatchvi9&lt;br /&gt;
    755   00:00:01 Festival 3.1         OK                           168      49 sasquatchviii1&lt;br /&gt;
    756   00:00:01 Festival 3.1         OK                           350      54 sasquatchviii10&lt;br /&gt;
    757   00:00:01 Festival 3.1         OK                           386      44 sasquatchviii11&lt;br /&gt;
    758   00:00:00 Festival 3.1         OK                           241      41 sasquatchviii12&lt;br /&gt;
    759   00:00:01 Festival 3.1         OK                           156      28 sasquatchviii13&lt;br /&gt;
    760   00:00:01 Festival 3.1         OK                           306      72 sasquatchviii14&lt;br /&gt;
    761   00:00:00 Festival 3.1         OK                           201      53 sasquatchviii15&lt;br /&gt;
    762   00:00:01 Festival 3.1         OK                           161      22 sasquatchviii16&lt;br /&gt;
    763   00:00:01 Festival 3.1         OK                          1131     301 sasquatchviii17&lt;br /&gt;
    764   00:01:36 Festival 3.1         OK                          1647     287 sasquatchviii18&lt;br /&gt;
    765   00:00:01 Festival 3.1         OK                           401      98 sasquatchviii19&lt;br /&gt;
    766   00:00:00 Festival 3.1         OK                           228      36 sasquatchviii2&lt;br /&gt;
    767   00:00:01 Festival 3.1         OK                           473     121 sasquatchviii20&lt;br /&gt;
    768   00:00:01 Festival 3.1         OK                           691     119 sasquatchviii21&lt;br /&gt;
    769   00:00:17 Festival 3.1         OK                          1129     402 sasquatchviii22&lt;br /&gt;
    770   00:00:01 Festival 3.1         OK                           228      46 sasquatchviii23&lt;br /&gt;
    771   00:00:03 Festival 3.1         OK                           396      86 sasquatchviii24&lt;br /&gt;
    772   00:00:01 Festival 3.1         OK                           273      62 sasquatchviii25&lt;br /&gt;
    773   00:00:01 Festival 3.1         OK                           410      74 sasquatchviii26&lt;br /&gt;
    774   00:00:01 Festival 3.1         OK                           470      74 sasquatchviii27&lt;br /&gt;
    775   00:03:26 Festival 3.1         OK                          3138     404 sasquatchviii28&lt;br /&gt;
    776   00:00:04 Festival 3.1         OK                           722      81 sasquatchviii29&lt;br /&gt;
    777   00:00:00 Festival 3.1         OK                           194      50 sasquatchviii3&lt;br /&gt;
    778   00:00:02 Festival 3.1         OK                          1255     138 sasquatchviii30&lt;br /&gt;
    779   00:00:05 Festival 3.1         OK                          1678     242 sasquatchviii31&lt;br /&gt;
    780   00:00:01 Festival 3.1         OK                           405      70 sasquatchviii32&lt;br /&gt;
    781   00:03:29 Festival 3.1         OK                          4120     438 sasquatchviii33&lt;br /&gt;
    782   00:00:06 Festival 3.1         OK                           753     194 sasquatchviii34&lt;br /&gt;
    783   00:00:03 Festival 3.1         OK                           911      78 sasquatchviii35&lt;br /&gt;
    784   00:03:23 Festival 3.1         OK                          4065     241 sasquatchviii36&lt;br /&gt;
    785   00:01:08 Festival 3.1         OK                           959     156 sasquatchviii37&lt;br /&gt;
    786   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchviii38&lt;br /&gt;
    787   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchviii39&lt;br /&gt;
    788   00:00:05 Festival 3.1         OK                           220      57 sasquatchviii4&lt;br /&gt;
    789   00:03:36 Festival 3.1         OK                          3481     496 sasquatchviii40&lt;br /&gt;
    790   00:00:05 Festival 3.1         OK                           925     166 sasquatchviii41&lt;br /&gt;
    791   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchviii42&lt;br /&gt;
    792   00:10:01 Festival 3.1         Time limit exceeded                      sasquatchviii43&lt;br /&gt;
    793   00:02:53 Festival 3.1         OK                          2260     276 sasquatchviii44&lt;br /&gt;
    794   00:03:35 Festival 3.1         OK                          4134     498 sasquatchviii45&lt;br /&gt;
    795   00:02:37 Festival 3.1         OK                          1700     272 sasquatchviii46&lt;br /&gt;
    796   00:00:01 Festival 3.1         OK                           199      41 sasquatchviii5&lt;br /&gt;
    797   00:00:01 Festival 3.1         OK                           425     104 sasquatchviii6&lt;br /&gt;
    798   00:00:07 Festival 3.1         OK                          1136     321 sasquatchviii7&lt;br /&gt;
    799   00:00:01 Festival 3.1         OK                           526     152 sasquatchviii8&lt;br /&gt;
    800   00:00:03 Festival 3.1         OK                           759     160 sasquatchviii9&lt;br /&gt;
    801   00:00:00 Festival 3.1         OK                           142      33 Sasquatchx1&lt;br /&gt;
    802   00:00:01 Festival 3.1         OK                           138      33 Sasquatchx10&lt;br /&gt;
    803   00:00:01 Festival 3.1         OK                           767     201 Sasquatchx11&lt;br /&gt;
    804   00:00:01 Festival 3.1         OK                           224      34 Sasquatchx12&lt;br /&gt;
    805   00:00:03 Festival 3.1         OK                           642     131 Sasquatchx13&lt;br /&gt;
    806   00:00:01 Festival 3.1         OK                           301      34 Sasquatchx14&lt;br /&gt;
    807   00:00:00 Festival 3.1         OK                           249      32 Sasquatchx15&lt;br /&gt;
    808   00:00:01 Festival 3.1         OK                           282      66 Sasquatchx16&lt;br /&gt;
    809   00:00:01 Festival 3.1         OK                           429      70 Sasquatchx17&lt;br /&gt;
    810   00:00:01 Festival 3.1         OK                           242      50 Sasquatchx18&lt;br /&gt;
    811   00:00:00 Festival 3.1         OK                           101      24 Sasquatchx19&lt;br /&gt;
    812   00:00:01 Festival 3.1         OK                           123      28 Sasquatchx2&lt;br /&gt;
    813   00:00:02 Festival 3.1         OK                           300      84 Sasquatchx20&lt;br /&gt;
    814   00:00:01 Festival 3.1         OK                           229      68 Sasquatchx21&lt;br /&gt;
    815   00:03:31 Festival 3.1         OK                          1169     210 Sasquatchx22&lt;br /&gt;
    816   00:00:04 Festival 3.1         OK                           487     124 Sasquatchx23&lt;br /&gt;
    817   00:00:00 Festival 3.1         OK                           377      94 Sasquatchx24&lt;br /&gt;
    818   00:00:08 Festival 3.1         OK                           745     174 Sasquatchx25&lt;br /&gt;
    819   00:03:25 Festival 3.1         OK                           334      42 Sasquatchx26&lt;br /&gt;
    820   00:00:03 Festival 3.1         OK                           639     144 Sasquatchx27&lt;br /&gt;
    821   00:10:01 Festival 3.1         Time limit exceeded                      Sasquatchx28&lt;br /&gt;
    822   00:10:01 Festival 3.1         Time limit exceeded                      Sasquatchx29&lt;br /&gt;
    823   00:00:00 Festival 3.1         OK                            73      22 Sasquatchx3&lt;br /&gt;
    824   00:00:02 Festival 3.1         OK                           385      40 Sasquatchx30&lt;br /&gt;
    825   00:10:01 Festival 3.1         Time limit exceeded                      Sasquatchx31&lt;br /&gt;
    826   00:00:08 Festival 3.1         OK                           918     106 Sasquatchx32&lt;br /&gt;
    827   00:02:52 Festival 3.1         OK                           562      92 Sasquatchx33&lt;br /&gt;
    828   00:00:01 Festival 3.1         OK                           393     118 Sasquatchx34&lt;br /&gt;
    829   00:01:02 Festival 3.1         OK                          2712     228 Sasquatchx35&lt;br /&gt;
    830   00:00:35 Festival 3.1         OK                           535     122 Sasquatchx36&lt;br /&gt;
    831   00:03:22 Festival 3.1         OK                          1291     154 Sasquatchx37&lt;br /&gt;
    832   00:00:17 Festival 3.1         OK                          1635     156 Sasquatchx38&lt;br /&gt;
    833   00:10:01 Festival 3.1         Time limit exceeded                      Sasquatchx39&lt;br /&gt;
    834   00:00:00 Festival 3.1         OK                           121      32 Sasquatchx4&lt;br /&gt;
    835   00:00:04 Festival 3.1         OK                           552      84 Sasquatchx40&lt;br /&gt;
    836   00:00:12 Festival 3.1         OK                          2376     343 Sasquatchx41&lt;br /&gt;
    837   00:01:22 Festival 3.1         OK                           787     212 Sasquatchx42&lt;br /&gt;
    838   00:00:02 Festival 3.1         OK                          2500     401 Sasquatchx43&lt;br /&gt;
    839   00:03:22 Festival 3.1         OK                          1940     366 Sasquatchx44&lt;br /&gt;
    840   00:01:13 Festival 3.1         OK                          3524     414 Sasquatchx45&lt;br /&gt;
    841   00:10:01 Festival 3.1         Time limit exceeded                      Sasquatchx46&lt;br /&gt;
    842   00:00:00 Festival 3.1         Too many boxes                           Sasquatchx47&lt;br /&gt;
    843   00:01:04 Festival 3.1         OK                          6313     522 Sasquatchx48&lt;br /&gt;
    844   00:10:01 Festival 3.1         Time limit exceeded                      Sasquatchx49&lt;br /&gt;
    845   00:00:00 Festival 3.1         OK                            74      16 Sasquatchx5&lt;br /&gt;
    846   00:00:00 Festival 3.1         Too many boxes                           Sasquatchx50&lt;br /&gt;
    847   00:00:01 Festival 3.1         OK                           201      34 Sasquatchx6&lt;br /&gt;
    848   00:00:01 Festival 3.1         OK                           174      36 Sasquatchx7&lt;br /&gt;
    849   00:00:00 Festival 3.1         OK                           156      39 Sasquatchx8&lt;br /&gt;
    850   00:00:01 Festival 3.1         OK                           225      42 Sasquatchx9&lt;br /&gt;
    851   00:00:01 Festival 3.1         OK                          1729     122 SvenSE_1&lt;br /&gt;
    852   00:00:01 Festival 3.1         OK                          1476     452 SvenSE_10&lt;br /&gt;
    853   00:00:00 Festival 3.1         OK                           205      39 SvenSE_100&lt;br /&gt;
    854   00:00:18 Festival 3.1         OK                           902     218 SvenSE_1000&lt;br /&gt;
    855   00:03:29 Festival 3.1         OK                          1224     250 SvenSE_1001&lt;br /&gt;
    856   00:00:15 Festival 3.1         OK                          1563     440 SvenSE_1002&lt;br /&gt;
    857   00:00:01 Festival 3.1         OK                           560     131 SvenSE_1003&lt;br /&gt;
    858   00:00:00 Festival 3.1         OK                           194      25 SvenSE_1004&lt;br /&gt;
    859   00:00:00 Festival 3.1         OK                           188      31 SvenSE_1005&lt;br /&gt;
    860   00:00:02 Festival 3.1         OK                           500      76 SvenSE_1006&lt;br /&gt;
    861   00:00:01 Festival 3.1         OK                           192      31 SvenSE_1007&lt;br /&gt;
    862   00:00:00 Festival 3.1         OK                           115      22 SvenSE_1008&lt;br /&gt;
    863   00:00:01 Festival 3.1         OK                           154      37 SvenSE_1009&lt;br /&gt;
    864   00:00:01 Festival 3.1         OK                           569     123 SvenSE_101&lt;br /&gt;
    865   00:00:01 Festival 3.1         OK                           228      54 SvenSE_1010&lt;br /&gt;
    866   00:00:01 Festival 3.1         OK                           279      66 SvenSE_1011&lt;br /&gt;
    867   00:00:01 Festival 3.1         OK                           275      74 SvenSE_1012&lt;br /&gt;
    868   00:00:01 Festival 3.1         OK                           201      41 SvenSE_1013&lt;br /&gt;
    869   00:02:35 Festival 3.1         OK                          1381     240 SvenSE_1014&lt;br /&gt;
    870   00:00:52 Festival 3.1         OK                          1975     359 SvenSE_1015&lt;br /&gt;
    871   00:00:02 Festival 3.1         OK                          1378     204 SvenSE_1016&lt;br /&gt;
    872   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1017&lt;br /&gt;
    873   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1018&lt;br /&gt;
    874   00:00:01 Festival 3.1         OK                          1194     148 SvenSE_1019&lt;br /&gt;
    875   00:00:02 Festival 3.1         OK                           588      99 SvenSE_102&lt;br /&gt;
    876   00:00:01 Festival 3.1         OK                           413      83 SvenSE_1020&lt;br /&gt;
    877   00:02:05 Festival 3.1         OK                           622      80 SvenSE_1021&lt;br /&gt;
    878   00:00:00 Festival 3.1         OK                           108      24 SvenSE_1022&lt;br /&gt;
    879   00:04:20 Festival 3.1         OK                          1540     274 SvenSE_1023&lt;br /&gt;
    880   00:00:01 Festival 3.1         OK                           295      80 SvenSE_1024&lt;br /&gt;
    881   00:00:01 Festival 3.1         OK                           258      51 SvenSE_1025&lt;br /&gt;
    882   00:00:02 Festival 3.1         OK                           363     105 SvenSE_1026&lt;br /&gt;
    883   00:00:01 Festival 3.1         OK                           103      18 SvenSE_1027&lt;br /&gt;
    884   00:00:01 Festival 3.1         OK                           263      58 SvenSE_1028&lt;br /&gt;
    885   00:03:43 Festival 3.1         OK                          3347     384 SvenSE_1029&lt;br /&gt;
    886   00:00:02 Festival 3.1         OK                           652     127 SvenSE_103&lt;br /&gt;
    887   00:00:10 Festival 3.1         OK                           271      44 SvenSE_1030&lt;br /&gt;
    888   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1031&lt;br /&gt;
    889   00:03:44 Festival 3.1         OK                           888     118 SvenSE_1032&lt;br /&gt;
    890   00:02:15 Festival 3.1         OK                           846     136 SvenSE_1033&lt;br /&gt;
    891   00:00:01 Festival 3.1         OK                           450      97 SvenSE_1034&lt;br /&gt;
    892   00:01:58 Festival 3.1         OK                           830     199 SvenSE_1035&lt;br /&gt;
    893   00:00:09 Festival 3.1         OK                           697     195 SvenSE_1036&lt;br /&gt;
    894   00:00:02 Festival 3.1         OK                           929     116 SvenSE_1037&lt;br /&gt;
    895   00:00:03 Festival 3.1         OK                           546      56 SvenSE_1038&lt;br /&gt;
    896   00:00:02 Festival 3.1         OK                          1422     405 SvenSE_1039&lt;br /&gt;
    897   00:00:47 Festival 3.1         OK                           907     207 SvenSE_104&lt;br /&gt;
    898   00:00:28 Festival 3.1         OK                           519     100 SvenSE_1040&lt;br /&gt;
    899   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1041&lt;br /&gt;
    900   00:00:01 Festival 3.1         OK                          2666    1241 SvenSE_1042&lt;br /&gt;
    901   00:03:23 Festival 3.1         OK                          1435     206 SvenSE_1043&lt;br /&gt;
    902   00:00:08 Festival 3.1         OK                           635     198 SvenSE_1044&lt;br /&gt;
    903   00:00:02 Festival 3.1         OK                           285      60 SvenSE_1045&lt;br /&gt;
    904   00:00:04 Festival 3.1         OK                           404      98 SvenSE_1046&lt;br /&gt;
    905   00:00:01 Festival 3.1         OK                           725      96 SvenSE_1047&lt;br /&gt;
    906   00:03:55 Festival 3.1         OK                          4784    1595 SvenSE_1048&lt;br /&gt;
    907   00:00:01 Festival 3.1         OK                           910     345 SvenSE_1049&lt;br /&gt;
    908   00:00:10 Festival 3.1         OK                          1293     295 SvenSE_105&lt;br /&gt;
    909   00:00:00 Festival 3.1         OK                           448     163 SvenSE_1050&lt;br /&gt;
    910   00:00:01 Festival 3.1         OK                           314      51 SvenSE_1051&lt;br /&gt;
    911   00:00:01 Festival 3.1         OK                           311      54 SvenSE_1052&lt;br /&gt;
    912   00:00:01 Festival 3.1         OK                           322     106 SvenSE_1053&lt;br /&gt;
    913   00:00:00 Festival 3.1         OK                           162      24 SvenSE_1054&lt;br /&gt;
    914   00:01:37 Festival 3.1         OK                          1059     240 SvenSE_1055&lt;br /&gt;
    915   00:00:01 Festival 3.1         OK                           123      27 SvenSE_1056&lt;br /&gt;
    916   00:00:01 Festival 3.1         OK                           532      48 SvenSE_1057&lt;br /&gt;
    917   00:03:28 Festival 3.1         OK                          1858     204 SvenSE_1058&lt;br /&gt;
    918   00:00:01 Festival 3.1         OK                           628     139 SvenSE_1059&lt;br /&gt;
    919   00:00:01 Festival 3.1         OK                          1137     194 SvenSE_106&lt;br /&gt;
    920   00:00:02 Festival 3.1         OK                          1451     289 SvenSE_1060&lt;br /&gt;
    921   00:00:01 Festival 3.1         OK                          1389     265 SvenSE_1061&lt;br /&gt;
    922   00:00:14 Festival 3.1         OK                           966     221 SvenSE_1062&lt;br /&gt;
    923   00:00:01 Festival 3.1         OK                           540     119 SvenSE_1063&lt;br /&gt;
    924   00:00:17 Festival 3.1         OK                           846     190 SvenSE_1064&lt;br /&gt;
    925   00:00:03 Festival 3.1         OK                           402      98 SvenSE_1065&lt;br /&gt;
    926   00:00:03 Festival 3.1         OK                           821     178 SvenSE_1066&lt;br /&gt;
    927   00:00:01 Festival 3.1         OK                           452      82 SvenSE_1067&lt;br /&gt;
    928   00:00:03 Festival 3.1         OK                           420      86 SvenSE_1068&lt;br /&gt;
    929   00:00:00 Festival 3.1         OK                           120      16 SvenSE_1069&lt;br /&gt;
    930   00:00:15 Festival 3.1         OK                           459      57 SvenSE_107&lt;br /&gt;
    931   00:00:01 Festival 3.1         OK                           330      50 SvenSE_1070&lt;br /&gt;
    932   00:00:37 Festival 3.1         OK                           502      98 SvenSE_1071&lt;br /&gt;
    933   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1072&lt;br /&gt;
    934   00:00:01 Festival 3.1         OK                           222      42 SvenSE_1073&lt;br /&gt;
    935   00:00:00 Festival 3.1         OK                           336      39 SvenSE_1074&lt;br /&gt;
    936   00:00:01 Festival 3.1         OK                           431      68 SvenSE_1075&lt;br /&gt;
    937   00:00:13 Festival 3.1         OK                          1201     180 SvenSE_1076&lt;br /&gt;
    938   00:00:20 Festival 3.1         OK                          1224     134 SvenSE_1077&lt;br /&gt;
    939   00:04:32 Festival 3.1         OK                           685      82 SvenSE_1078&lt;br /&gt;
    940   00:00:05 Festival 3.1         OK                           610     130 SvenSE_1079&lt;br /&gt;
    941   00:00:02 Festival 3.1         OK                           340      41 SvenSE_108&lt;br /&gt;
    942   00:00:03 Festival 3.1         OK                          1130     340 SvenSE_1080&lt;br /&gt;
    943   00:00:05 Festival 3.1         OK                           303      42 SvenSE_1081&lt;br /&gt;
    944   00:00:08 Festival 3.1         OK                           385      66 SvenSE_1082&lt;br /&gt;
    945   00:00:03 Festival 3.1         OK                           548     130 SvenSE_1083&lt;br /&gt;
    946   00:00:00 Festival 3.1         OK                           350      32 SvenSE_1084&lt;br /&gt;
    947   00:00:01 Festival 3.1         OK                           186      30 SvenSE_1085&lt;br /&gt;
    948   00:00:01 Festival 3.1         OK                           430      56 SvenSE_1086&lt;br /&gt;
    949   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1087&lt;br /&gt;
    950   00:00:01 Festival 3.1         OK                           241      39 SvenSE_1088&lt;br /&gt;
    951   00:00:03 Festival 3.1         OK                          1607     596 SvenSE_1089&lt;br /&gt;
    952   00:00:04 Festival 3.1         OK                           157      33 SvenSE_109&lt;br /&gt;
    953   00:00:04 Festival 3.1         OK                           572     128 SvenSE_1090&lt;br /&gt;
    954   00:00:02 Festival 3.1         OK                           356      78 SvenSE_1091&lt;br /&gt;
    955   00:00:00 Festival 3.1         OK                           425      78 SvenSE_1092&lt;br /&gt;
    956   00:00:01 Festival 3.1         OK                           353      72 SvenSE_1093&lt;br /&gt;
    957   00:00:18 Festival 3.1         OK                           487      92 SvenSE_1094&lt;br /&gt;
    958   00:00:05 Festival 3.1         OK                           605      92 SvenSE_1095&lt;br /&gt;
    959   00:00:02 Festival 3.1         OK                           551     102 SvenSE_1096&lt;br /&gt;
    960   00:00:01 Festival 3.1         OK                           271      60 SvenSE_1097&lt;br /&gt;
    961   00:00:00 Festival 3.1         OK                           235      86 SvenSE_1098&lt;br /&gt;
    962   00:00:02 Festival 3.1         OK                           339     118 SvenSE_1099&lt;br /&gt;
    963   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_11&lt;br /&gt;
    964   00:00:03 Festival 3.1         OK                           123      29 SvenSE_110&lt;br /&gt;
    965   00:00:01 Festival 3.1         OK                           169      26 SvenSE_1100&lt;br /&gt;
    966   00:00:06 Festival 3.1         OK                           452      81 SvenSE_1101&lt;br /&gt;
    967   00:00:00 Festival 3.1         OK                           423      64 SvenSE_1102&lt;br /&gt;
    968   00:00:01 Festival 3.1         OK                           181      57 SvenSE_1103&lt;br /&gt;
    969   00:00:01 Festival 3.1         OK                           278      71 SvenSE_1104&lt;br /&gt;
    970   00:00:01 Festival 3.1         OK                           223      63 SvenSE_1105&lt;br /&gt;
    971   00:00:00 Festival 3.1         OK                           166      42 SvenSE_1106&lt;br /&gt;
    972   00:02:05 Festival 3.1         OK                           591     140 SvenSE_1107&lt;br /&gt;
    973   00:03:00 Festival 3.1         OK                          1708     454 SvenSE_1108&lt;br /&gt;
    974   00:06:19 Festival 3.1         OK                          2789     540 SvenSE_1109&lt;br /&gt;
    975   00:00:16 Festival 3.1         OK                           483      58 SvenSE_111&lt;br /&gt;
    976   00:03:42 Festival 3.1         OK                          3808     478 SvenSE_1110&lt;br /&gt;
    977   00:00:01 Festival 3.1         OK                           602     227 SvenSE_1111&lt;br /&gt;
    978   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1112&lt;br /&gt;
    979   00:00:01 Festival 3.1         OK                           203      52 SvenSE_1113&lt;br /&gt;
    980   00:02:32 Festival 3.1         OK                          1631     437 SvenSE_1114&lt;br /&gt;
    981   00:00:01 Festival 3.1         OK                           348      57 SvenSE_1115&lt;br /&gt;
    982   00:00:01 Festival 3.1         OK                           177      36 SvenSE_1116&lt;br /&gt;
    983   00:00:00 Festival 3.1         OK                           202      32 SvenSE_1117&lt;br /&gt;
    984   00:00:01 Festival 3.1         OK                           224      39 SvenSE_1118&lt;br /&gt;
    985   00:00:01 Festival 3.1         OK                           136      28 SvenSE_1119&lt;br /&gt;
    986   00:00:19 Festival 3.1         OK                           477      56 SvenSE_112&lt;br /&gt;
    987   00:00:01 Festival 3.1         OK                           398      77 SvenSE_1120&lt;br /&gt;
    988   00:00:03 Festival 3.1         OK                           379      80 SvenSE_1121&lt;br /&gt;
    989   00:03:37 Festival 3.1         OK                           980     130 SvenSE_1122&lt;br /&gt;
    990   00:03:22 Festival 3.1         OK                           862      90 SvenSE_1123&lt;br /&gt;
    991   00:00:02 Festival 3.1         OK                           879     107 SvenSE_1124&lt;br /&gt;
    992   00:00:37 Festival 3.1         OK                          1673     190 SvenSE_1125&lt;br /&gt;
    993   00:00:00 Festival 3.1         OK                           485      55 SvenSE_1126&lt;br /&gt;
    994   00:00:01 Festival 3.1         OK                           240      52 SvenSE_1127&lt;br /&gt;
    995   00:00:02 Festival 3.1         OK                           901      97 SvenSE_1128&lt;br /&gt;
    996   00:00:01 Festival 3.1         OK                           629     169 SvenSE_1129&lt;br /&gt;
    997   00:00:00 Festival 3.1         OK                           603     135 SvenSE_113&lt;br /&gt;
    998   00:00:01 Festival 3.1         OK                           585     205 SvenSE_1130&lt;br /&gt;
    999   00:00:04 Festival 3.1         OK                           516      75 SvenSE_1131&lt;br /&gt;
   1000   00:00:03 Festival 3.1         OK                           466      72 SvenSE_1132&lt;br /&gt;
   1001   00:00:05 Festival 3.1         OK                           460      80 SvenSE_1133&lt;br /&gt;
   1002   00:00:03 Festival 3.1         OK                           621      50 SvenSE_1134&lt;br /&gt;
   1003   00:00:01 Festival 3.1         OK                           187      24 SvenSE_1135&lt;br /&gt;
   1004   00:00:01 Festival 3.1         OK                           199      25 SvenSE_1136&lt;br /&gt;
   1005   00:00:06 Festival 3.1         OK                           549      72 SvenSE_1137&lt;br /&gt;
   1006   00:00:01 Festival 3.1         OK                           183      43 SvenSE_1138&lt;br /&gt;
   1007   00:00:27 Festival 3.1         OK                          1065     177 SvenSE_1139&lt;br /&gt;
   1008   00:00:01 Festival 3.1         OK                           866     132 SvenSE_114&lt;br /&gt;
   1009   00:00:00 Festival 3.1         OK                            66      21 SvenSE_1140&lt;br /&gt;
   1010   00:00:01 Festival 3.1         OK                           356      56 SvenSE_1141&lt;br /&gt;
   1011   00:00:01 Festival 3.1         OK                           129      23 SvenSE_1142&lt;br /&gt;
   1012   00:00:33 Festival 3.1         OK                          1173     220 SvenSE_1143&lt;br /&gt;
   1013   00:00:07 Festival 3.1         OK                          1079     188 SvenSE_1144&lt;br /&gt;
   1014   00:03:25 Festival 3.1         OK                          2314     206 SvenSE_1145&lt;br /&gt;
   1015   00:03:40 Festival 3.1         OK                          1930     256 SvenSE_1146&lt;br /&gt;
   1016   00:00:16 Festival 3.1         OK                          1972     238 SvenSE_1147&lt;br /&gt;
   1017   00:00:01 Festival 3.1         OK                           214      36 SvenSE_1148&lt;br /&gt;
   1018   00:00:01 Festival 3.1         OK                          1080     164 SvenSE_1149&lt;br /&gt;
   1019   00:00:54 Festival 3.1         OK                           811      85 SvenSE_115&lt;br /&gt;
   1020   00:00:08 Festival 3.1         OK                          1290     196 SvenSE_1150&lt;br /&gt;
   1021   00:00:37 Festival 3.1         OK                           378      58 SvenSE_1151&lt;br /&gt;
   1022   00:00:00 Festival 3.1         OK                           519     100 SvenSE_1152&lt;br /&gt;
   1023   00:00:02 Festival 3.1         OK                           789     164 SvenSE_1153&lt;br /&gt;
   1024   00:00:19 Festival 3.1         OK                          1345     251 SvenSE_1154&lt;br /&gt;
   1025   00:03:34 Festival 3.1         OK                          2054     290 SvenSE_1155&lt;br /&gt;
   1026   00:00:01 Festival 3.1         OK                           174      39 SvenSE_1156&lt;br /&gt;
   1027   00:00:01 Festival 3.1         OK                           204      57 SvenSE_1157&lt;br /&gt;
   1028   00:00:01 Festival 3.1         OK                           197      53 SvenSE_1158&lt;br /&gt;
   1029   00:00:02 Festival 3.1         OK                           351      85 SvenSE_1159&lt;br /&gt;
   1030   00:00:49 Festival 3.1         OK                           606      65 SvenSE_116&lt;br /&gt;
   1031   00:00:18 Festival 3.1         OK                           373      65 SvenSE_1160&lt;br /&gt;
   1032   00:00:01 Festival 3.1         OK                           253      86 SvenSE_1161&lt;br /&gt;
   1033   00:00:13 Festival 3.1         OK                           753     150 SvenSE_1162&lt;br /&gt;
   1034   00:00:00 Festival 3.1         OK                            53      13 SvenSE_1163&lt;br /&gt;
   1035   00:00:02 Festival 3.1         OK                           174      34 SvenSE_1164&lt;br /&gt;
   1036   00:01:52 Festival 3.1         OK                           543     112 SvenSE_1165&lt;br /&gt;
   1037   00:00:09 Festival 3.1         OK                           400      82 SvenSE_1166&lt;br /&gt;
   1038   00:00:01 Festival 3.1         OK                            84      21 SvenSE_1167&lt;br /&gt;
   1039   00:00:21 Festival 3.1         OK                           639      81 SvenSE_1168&lt;br /&gt;
   1040   00:00:00 Festival 3.1         OK                            21       7 SvenSE_1169&lt;br /&gt;
   1041   00:00:04 Festival 3.1         OK                           564      66 SvenSE_117&lt;br /&gt;
   1042   00:00:00 Festival 3.1         OK                            40      11 SvenSE_1170&lt;br /&gt;
   1043   00:00:01 Festival 3.1         OK                            50      15 SvenSE_1171&lt;br /&gt;
   1044   00:00:08 Festival 3.1         OK                           489      85 SvenSE_1172&lt;br /&gt;
   1045   00:00:12 Festival 3.1         OK                           963     164 SvenSE_1173&lt;br /&gt;
   1046   00:00:03 Festival 3.1         OK                           740      97 SvenSE_1174&lt;br /&gt;
   1047   00:00:01 Festival 3.1         OK                           493      65 SvenSE_1175&lt;br /&gt;
   1048   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1176&lt;br /&gt;
   1049   00:00:00 Festival 3.1         OK                            75      14 SvenSE_1177&lt;br /&gt;
   1050   00:00:05 Festival 3.1         OK                           460      82 SvenSE_1178&lt;br /&gt;
   1051   00:00:00 Festival 3.1         OK                           108      21 SvenSE_1179&lt;br /&gt;
   1052   00:00:08 Festival 3.1         OK                           494      82 SvenSE_118&lt;br /&gt;
   1053   00:00:01 Festival 3.1         OK                           301      58 SvenSE_1180&lt;br /&gt;
   1054   00:00:00 Festival 3.1         OK                           165      32 SvenSE_1181&lt;br /&gt;
   1055   00:00:01 Festival 3.1         OK                           288      57 SvenSE_1182&lt;br /&gt;
   1056   00:00:01 Festival 3.1         OK                           246      57 SvenSE_1183&lt;br /&gt;
   1057   00:00:02 Festival 3.1         OK                           386      89 SvenSE_1184&lt;br /&gt;
   1058   00:03:21 Festival 3.1         OK                           914     165 SvenSE_1185&lt;br /&gt;
   1059   00:00:01 Festival 3.1         OK                           111      14 SvenSE_1186&lt;br /&gt;
   1060   00:06:31 Festival 3.1         OK                          1779     260 SvenSE_1187&lt;br /&gt;
   1061   00:00:01 Festival 3.1         OK                           180      23 SvenSE_1188&lt;br /&gt;
   1062   00:00:01 Festival 3.1         OK                           330      60 SvenSE_1189&lt;br /&gt;
   1063   00:00:00 Festival 3.1         OK                           230      24 SvenSE_119&lt;br /&gt;
   1064   00:00:01 Festival 3.1         OK                           143      44 SvenSE_1190&lt;br /&gt;
   1065   00:00:01 Festival 3.1         OK                           312      29 SvenSE_1191&lt;br /&gt;
   1066   00:00:00 Festival 3.1         OK                           151      15 SvenSE_1192&lt;br /&gt;
   1067   00:00:02 Festival 3.1         OK                           600      70 SvenSE_1193&lt;br /&gt;
   1068   00:00:21 Festival 3.1         OK                          1054      70 SvenSE_1194&lt;br /&gt;
   1069   00:00:04 Festival 3.1         OK                           308      35 SvenSE_1195&lt;br /&gt;
   1070   00:05:24 Festival 3.1         OK                          1462     132 SvenSE_1196&lt;br /&gt;
   1071   00:00:02 Festival 3.1         OK                           970     164 SvenSE_1197&lt;br /&gt;
   1072   00:00:02 Festival 3.1         OK                           978     172 SvenSE_1198&lt;br /&gt;
   1073   00:00:00 Festival 3.1         OK                           496      99 SvenSE_1199&lt;br /&gt;
   1074   00:00:03 Festival 3.1         OK                           820     144 SvenSE_12&lt;br /&gt;
   1075   00:00:01 Festival 3.1         OK                            49      15 SvenSE_120&lt;br /&gt;
   1076   00:00:29 Festival 3.1         OK                           877     150 SvenSE_1200&lt;br /&gt;
   1077   00:00:01 Festival 3.1         OK                            89      18 SvenSE_1201&lt;br /&gt;
   1078   00:00:02 Festival 3.1         OK                           547      94 SvenSE_1202&lt;br /&gt;
   1079   00:00:01 Festival 3.1         OK                           131      28 SvenSE_1203&lt;br /&gt;
   1080   00:00:01 Festival 3.1         OK                           200      39 SvenSE_1204&lt;br /&gt;
   1081   00:00:00 Festival 3.1         OK                           327      58 SvenSE_1205&lt;br /&gt;
   1082   00:00:01 Festival 3.1         OK                           250      50 SvenSE_1206&lt;br /&gt;
   1083   00:00:00 Festival 3.1         OK                           227      52 SvenSE_1207&lt;br /&gt;
   1084   00:00:07 Festival 3.1         OK                           547      72 SvenSE_1208&lt;br /&gt;
   1085   00:00:04 Festival 3.1         OK                           490      68 SvenSE_1209&lt;br /&gt;
   1086   00:00:00 Festival 3.1         OK                           218      20 SvenSE_121&lt;br /&gt;
   1087   00:00:01 Festival 3.1         OK                           603      96 SvenSE_1210&lt;br /&gt;
   1088   00:00:07 Festival 3.1         OK                          1221     178 SvenSE_1211&lt;br /&gt;
   1089   00:00:05 Festival 3.1         OK                           840     147 SvenSE_1212&lt;br /&gt;
   1090   00:00:02 Festival 3.1         OK                           518      88 SvenSE_1213&lt;br /&gt;
   1091   00:02:21 Festival 3.1         OK                          1067     198 SvenSE_1214&lt;br /&gt;
   1092   00:00:01 Festival 3.1         OK                          1230     164 SvenSE_1215&lt;br /&gt;
   1093   00:00:06 Festival 3.1         OK                          1717     208 SvenSE_1216&lt;br /&gt;
   1094   00:00:03 Festival 3.1         OK                           523     108 SvenSE_1217&lt;br /&gt;
   1095   00:00:01 Festival 3.1         OK                           433      74 SvenSE_1218&lt;br /&gt;
   1096   00:00:06 Festival 3.1         OK                           696      90 SvenSE_1219&lt;br /&gt;
   1097   00:00:00 Festival 3.1         OK                           189      25 SvenSE_122&lt;br /&gt;
   1098   00:00:01 Festival 3.1         OK                           225      41 SvenSE_1220&lt;br /&gt;
   1099   00:00:07 Festival 3.1         OK                           898     156 SvenSE_1221&lt;br /&gt;
   1100   00:00:00 Festival 3.1         OK                           194      32 SvenSE_1222&lt;br /&gt;
   1101   00:00:01 Festival 3.1         OK                           185      42 SvenSE_1223&lt;br /&gt;
   1102   00:00:01 Festival 3.1         OK                           103      20 SvenSE_1224&lt;br /&gt;
   1103   00:00:01 Festival 3.1         OK                           546     124 SvenSE_1225&lt;br /&gt;
   1104   00:04:51 Festival 3.1         OK                          2580     411 SvenSE_1226&lt;br /&gt;
   1105   00:00:02 Festival 3.1         OK                           847     191 SvenSE_1227&lt;br /&gt;
   1106   00:03:23 Festival 3.1         OK                          2245     294 SvenSE_1228&lt;br /&gt;
   1107   00:00:01 Festival 3.1         OK                           245      36 SvenSE_1229&lt;br /&gt;
   1108   00:00:01 Festival 3.1         OK                           160      20 SvenSE_123&lt;br /&gt;
   1109   00:00:00 Festival 3.1         OK                           204      34 SvenSE_1230&lt;br /&gt;
   1110   00:00:01 Festival 3.1         OK                           282      75 SvenSE_1231&lt;br /&gt;
   1111   00:00:02 Festival 3.1         OK                           341      90 SvenSE_1232&lt;br /&gt;
   1112   00:00:01 Festival 3.1         OK                           513     104 SvenSE_1233&lt;br /&gt;
   1113   00:00:08 Festival 3.1         OK                           847     232 SvenSE_1234&lt;br /&gt;
   1114   00:00:02 Festival 3.1         OK                          1300     452 SvenSE_1235&lt;br /&gt;
   1115   00:01:39 Festival 3.1         OK                          1815     486 SvenSE_1236&lt;br /&gt;
   1116   00:00:01 Festival 3.1         OK                            94      15 SvenSE_1237&lt;br /&gt;
   1117   00:00:01 Festival 3.1         OK                           200      38 SvenSE_1238&lt;br /&gt;
   1118   00:00:02 Festival 3.1         OK                           502      86 SvenSE_1239&lt;br /&gt;
   1119   00:00:01 Festival 3.1         OK                           109      25 SvenSE_124&lt;br /&gt;
   1120   00:00:01 Festival 3.1         OK                           333      49 SvenSE_1240&lt;br /&gt;
   1121   00:00:00 Festival 3.1         OK                           125      33 SvenSE_1241&lt;br /&gt;
   1122   00:00:03 Festival 3.1         OK                           400      90 SvenSE_1242&lt;br /&gt;
   1123   00:00:01 Festival 3.1         OK                           205      55 SvenSE_1243&lt;br /&gt;
   1124   00:00:03 Festival 3.1         OK                          1092     134 SvenSE_1244&lt;br /&gt;
   1125   00:01:17 Festival 3.1         OK                          2296     390 SvenSE_1245&lt;br /&gt;
   1126   00:03:40 Festival 3.1         OK                          4259     582 SvenSE_1246&lt;br /&gt;
   1127   00:00:01 Festival 3.1         OK                           695     122 SvenSE_1247&lt;br /&gt;
   1128   00:00:16 Festival 3.1         OK                          1027     156 SvenSE_1248&lt;br /&gt;
   1129   00:03:22 Festival 3.1         OK                          2763     407 SvenSE_1249&lt;br /&gt;
   1130   00:00:01 Festival 3.1         OK                           242      24 SvenSE_125&lt;br /&gt;
   1131   00:00:20 Festival 3.1         OK                           749      72 SvenSE_1250&lt;br /&gt;
   1132   00:00:03 Festival 3.1         OK                          1222     140 SvenSE_1251&lt;br /&gt;
   1133   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1252&lt;br /&gt;
   1134   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1253&lt;br /&gt;
   1135   00:06:45 Festival 3.1         OK                          1721     340 SvenSE_1254&lt;br /&gt;
   1136   00:00:03 Festival 3.1         OK                           953     166 SvenSE_1255&lt;br /&gt;
   1137   00:00:00 Festival 3.1         OK                           674     150 SvenSE_1256&lt;br /&gt;
   1138   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1257&lt;br /&gt;
   1139   00:00:00 Festival 3.1         OK                            90      23 SvenSE_1258&lt;br /&gt;
   1140   00:00:01 Festival 3.1         OK                           152      37 SvenSE_1259&lt;br /&gt;
   1141   00:03:22 Festival 3.1         OK                           723     136 SvenSE_126&lt;br /&gt;
   1142   00:00:01 Festival 3.1         OK                           202      51 SvenSE_1260&lt;br /&gt;
   1143   00:00:00 Festival 3.1         OK                           168      43 SvenSE_1261&lt;br /&gt;
   1144   00:00:01 Festival 3.1         OK                           280      77 SvenSE_1262&lt;br /&gt;
   1145   00:00:01 Festival 3.1         OK                           250      60 SvenSE_1263&lt;br /&gt;
   1146   00:00:01 Festival 3.1         OK                           614     122 SvenSE_1264&lt;br /&gt;
   1147   00:00:01 Festival 3.1         OK                           328      88 SvenSE_1265&lt;br /&gt;
   1148   00:00:01 Festival 3.1         OK                           396     111 SvenSE_1266&lt;br /&gt;
   1149   00:00:16 Festival 3.1         OK                           881     109 SvenSE_1267&lt;br /&gt;
   1150   00:00:01 Festival 3.1         OK                           539     168 SvenSE_1268&lt;br /&gt;
   1151   00:00:01 Festival 3.1         OK                           354      98 SvenSE_1269&lt;br /&gt;
   1152   00:00:01 Festival 3.1         OK                           250      32 SvenSE_127&lt;br /&gt;
   1153   00:00:01 Festival 3.1         OK                           205      51 SvenSE_1270&lt;br /&gt;
   1154   00:00:01 Festival 3.1         OK                           458      98 SvenSE_1271&lt;br /&gt;
   1155   00:03:37 Festival 3.1         OK                          1699     392 SvenSE_1272&lt;br /&gt;
   1156   00:00:37 Festival 3.1         OK                          1599     562 SvenSE_1273&lt;br /&gt;
   1157   00:00:01 Festival 3.1         OK                           133      28 SvenSE_1274&lt;br /&gt;
   1158   00:00:01 Festival 3.1         OK                           444      70 SvenSE_1275&lt;br /&gt;
   1159   00:02:13 Festival 3.1         OK                          1278     376 SvenSE_1276&lt;br /&gt;
   1160   00:00:01 Festival 3.1         OK                           250      58 SvenSE_1277&lt;br /&gt;
   1161   00:00:01 Festival 3.1         OK                           243      61 SvenSE_1278&lt;br /&gt;
   1162   00:00:09 Festival 3.1         OK                          1158     198 SvenSE_1279&lt;br /&gt;
   1163   00:00:00 Festival 3.1         OK                           193      31 SvenSE_128&lt;br /&gt;
   1164   00:00:01 Festival 3.1         OK                           615     112 SvenSE_1280&lt;br /&gt;
   1165   00:00:01 Festival 3.1         OK                           391      99 SvenSE_1281&lt;br /&gt;
   1166   00:00:00 Festival 3.1         OK                           298      71 SvenSE_1282&lt;br /&gt;
   1167   00:01:00 Festival 3.1         OK                          1321     256 SvenSE_1283&lt;br /&gt;
   1168   00:00:01 Festival 3.1         OK                           745     235 SvenSE_1284&lt;br /&gt;
   1169   00:00:02 Festival 3.1         OK                           543     148 SvenSE_1285&lt;br /&gt;
   1170   00:00:00 Festival 3.1         OK                           242      54 SvenSE_1286&lt;br /&gt;
   1171   00:00:04 Festival 3.1         OK                          1057     272 SvenSE_1287&lt;br /&gt;
   1172   00:03:22 Festival 3.1         OK                          2353     522 SvenSE_1288&lt;br /&gt;
   1173   00:00:01 Festival 3.1         OK                           304      77 SvenSE_1289&lt;br /&gt;
   1174   00:00:01 Festival 3.1         OK                           222      30 SvenSE_129&lt;br /&gt;
   1175   00:00:00 Festival 3.1         OK                           230      65 SvenSE_1290&lt;br /&gt;
   1176   00:03:03 Festival 3.1         OK                          1465     254 SvenSE_1291&lt;br /&gt;
   1177   00:00:05 Festival 3.1         OK                           479      97 SvenSE_1292&lt;br /&gt;
   1178   00:00:01 Festival 3.1         OK                           244      30 SvenSE_1293&lt;br /&gt;
   1179   00:00:26 Festival 3.1         OK                          1152     138 SvenSE_1294&lt;br /&gt;
   1180   00:00:01 Festival 3.1         OK                           447      76 SvenSE_1295&lt;br /&gt;
   1181   00:00:01 Festival 3.1         OK                           338      81 SvenSE_1296&lt;br /&gt;
   1182   00:07:12 Festival 3.1         OK                          2698     314 SvenSE_1297&lt;br /&gt;
   1183   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1298&lt;br /&gt;
   1184   00:00:04 Festival 3.1         OK                           340      58 SvenSE_1299&lt;br /&gt;
   1185   00:00:07 Festival 3.1         OK                          1996     503 SvenSE_13&lt;br /&gt;
   1186   00:00:01 Festival 3.1         OK                           266      32 SvenSE_130&lt;br /&gt;
   1187   00:00:00 Festival 3.1         OK                           619     105 SvenSE_1300&lt;br /&gt;
   1188   00:00:01 Festival 3.1         OK                           393      53 SvenSE_1301&lt;br /&gt;
   1189   00:02:36 Festival 3.1         OK                          1192     226 SvenSE_1302&lt;br /&gt;
   1190   00:00:01 Festival 3.1         OK                           389      72 SvenSE_1303&lt;br /&gt;
   1191   00:01:58 Festival 3.1         OK                           656     123 SvenSE_1304&lt;br /&gt;
   1192   00:00:02 Festival 3.1         OK                           488     126 SvenSE_1305&lt;br /&gt;
   1193   00:00:01 Festival 3.1         OK                           637     132 SvenSE_1306&lt;br /&gt;
   1194   00:00:01 Festival 3.1         OK                          1098     212 SvenSE_1307&lt;br /&gt;
   1195   00:00:02 Festival 3.1         OK                           473      91 SvenSE_1308&lt;br /&gt;
   1196   00:00:03 Festival 3.1         OK                           993     161 SvenSE_1309&lt;br /&gt;
   1197   00:00:01 Festival 3.1         OK                           159      30 SvenSE_131&lt;br /&gt;
   1198   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1310&lt;br /&gt;
   1199   00:00:31 Festival 3.1         OK                           531     126 SvenSE_1311&lt;br /&gt;
   1200   00:00:01 Festival 3.1         OK                           258      78 SvenSE_1312&lt;br /&gt;
   1201   00:00:00 Festival 3.1         OK                           253      83 SvenSE_1313&lt;br /&gt;
   1202   00:00:21 Festival 3.1         OK                          1060     218 SvenSE_1314&lt;br /&gt;
   1203   00:00:05 Festival 3.1         OK                          1203     248 SvenSE_1315&lt;br /&gt;
   1204   00:00:01 Festival 3.1         OK                           320      70 SvenSE_1316&lt;br /&gt;
   1205   00:00:01 Festival 3.1         OK                           287      50 SvenSE_1317&lt;br /&gt;
   1206   00:00:03 Festival 3.1         OK                          1028     180 SvenSE_1318&lt;br /&gt;
   1207   00:00:01 Festival 3.1         OK                           432      48 SvenSE_1319&lt;br /&gt;
   1208   00:00:02 Festival 3.1         OK                           527      60 SvenSE_132&lt;br /&gt;
   1209   00:05:53 Festival 3.1         OK                          1300     172 SvenSE_1320&lt;br /&gt;
   1210   00:00:07 Festival 3.1         OK                           722     206 SvenSE_1321&lt;br /&gt;
   1211   00:00:00 Festival 3.1         OK                           138      24 SvenSE_1322&lt;br /&gt;
   1212   00:05:27 Festival 3.1         OK                           808     122 SvenSE_1323&lt;br /&gt;
   1213   00:00:04 Festival 3.1         OK                           638     154 SvenSE_1324&lt;br /&gt;
   1214   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1325&lt;br /&gt;
   1215   00:00:00 Festival 3.1         OK                           390      52 SvenSE_1326&lt;br /&gt;
   1216   00:02:04 Festival 3.1         OK                           729     130 SvenSE_1327&lt;br /&gt;
   1217   00:03:51 Festival 3.1         OK                          1824     274 SvenSE_1328&lt;br /&gt;
   1218   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1329&lt;br /&gt;
   1219   00:00:00 Festival 3.1         OK                           328      72 SvenSE_133&lt;br /&gt;
   1220   00:03:23 Festival 3.1         OK                          2141     172 SvenSE_1330&lt;br /&gt;
   1221   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1331&lt;br /&gt;
   1222   00:04:16 Festival 3.1         OK                          1813     305 SvenSE_1332&lt;br /&gt;
   1223   00:00:00 Festival 3.1         OK                           403      91 SvenSE_1333&lt;br /&gt;
   1224   00:03:21 Festival 3.1         OK                          1340     274 SvenSE_1334&lt;br /&gt;
   1225   00:00:02 Festival 3.1         OK                           447      63 SvenSE_1335&lt;br /&gt;
   1226   00:00:31 Festival 3.1         OK                          1256     230 SvenSE_1336&lt;br /&gt;
   1227   00:00:01 Festival 3.1         OK                           354      54 SvenSE_1337&lt;br /&gt;
   1228   00:00:00 Festival 3.1         OK                           375      56 SvenSE_1338&lt;br /&gt;
   1229   00:00:05 Festival 3.1         OK                           803     124 SvenSE_1339&lt;br /&gt;
   1230   00:00:01 Festival 3.1         OK                           134      26 SvenSE_134&lt;br /&gt;
   1231   00:00:03 Festival 3.1         OK                           487      78 SvenSE_1340&lt;br /&gt;
   1232   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1341&lt;br /&gt;
   1233   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1342&lt;br /&gt;
   1234   00:00:01 Festival 3.1         OK                           654     151 SvenSE_1343&lt;br /&gt;
   1235   00:04:45 Festival 3.1         OK                          3166     322 SvenSE_1344&lt;br /&gt;
   1236   00:00:07 Festival 3.1         OK                           474     130 SvenSE_1345&lt;br /&gt;
   1237   00:00:01 Festival 3.1         OK                            88      28 SvenSE_1346&lt;br /&gt;
   1238   00:00:03 Festival 3.1         OK                           761     162 SvenSE_1347&lt;br /&gt;
   1239   00:00:24 Festival 3.1         OK                          1293     316 SvenSE_1348&lt;br /&gt;
   1240   00:00:04 Festival 3.1         OK                           610     102 SvenSE_1349&lt;br /&gt;
   1241   00:00:01 Festival 3.1         OK                           174      32 SvenSE_135&lt;br /&gt;
   1242   00:00:13 Festival 3.1         OK                           840     180 SvenSE_1350&lt;br /&gt;
   1243   00:00:01 Festival 3.1         OK                           176      52 SvenSE_1351&lt;br /&gt;
   1244   00:00:09 Festival 3.1         OK                           363     108 SvenSE_1352&lt;br /&gt;
   1245   00:00:02 Festival 3.1         OK                           539      92 SvenSE_1353&lt;br /&gt;
   1246   00:00:01 Festival 3.1         OK                           446      80 SvenSE_1354&lt;br /&gt;
   1247   00:00:03 Festival 3.1         OK                           492      85 SvenSE_1355&lt;br /&gt;
   1248   00:00:01 Festival 3.1         OK                           407      84 SvenSE_1356&lt;br /&gt;
   1249   00:00:03 Festival 3.1         OK                           505     117 SvenSE_1357&lt;br /&gt;
   1250   00:04:49 Festival 3.1         OK                          1111     246 SvenSE_1358&lt;br /&gt;
   1251   00:00:03 Festival 3.1         OK                           392      71 SvenSE_1359&lt;br /&gt;
   1252   00:00:00 Festival 3.1         OK                            80      18 SvenSE_136&lt;br /&gt;
   1253   00:00:02 Festival 3.1         OK                           441      56 SvenSE_1360&lt;br /&gt;
   1254   00:00:02 Festival 3.1         OK                          1022     142 SvenSE_1361&lt;br /&gt;
   1255   00:00:02 Festival 3.1         OK                          1453     258 SvenSE_1362&lt;br /&gt;
   1256   00:00:02 Festival 3.1         OK                           468     154 SvenSE_1363&lt;br /&gt;
   1257   00:00:01 Festival 3.1         OK                           902     145 SvenSE_1364&lt;br /&gt;
   1258   00:00:00 Festival 3.1         OK                           425     110 SvenSE_1365&lt;br /&gt;
   1259   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1366&lt;br /&gt;
   1260   00:00:03 Festival 3.1         OK                           929     251 SvenSE_1367&lt;br /&gt;
   1261   00:00:06 Festival 3.1         OK                          1828     206 SvenSE_1368&lt;br /&gt;
   1262   00:00:01 Festival 3.1         OK                           401      69 SvenSE_1369&lt;br /&gt;
   1263   00:00:01 Festival 3.1         OK                           225      34 SvenSE_137&lt;br /&gt;
   1264   00:00:05 Festival 3.1         OK                           425      54 SvenSE_1370&lt;br /&gt;
   1265   00:00:00 Festival 3.1         OK                           495      66 SvenSE_1371&lt;br /&gt;
   1266   00:00:02 Festival 3.1         OK                           314      71 SvenSE_1372&lt;br /&gt;
   1267   00:00:07 Festival 3.1         OK                           448     102 SvenSE_1373&lt;br /&gt;
   1268   00:00:00 Festival 3.1         OK                           248      33 SvenSE_1374&lt;br /&gt;
   1269   00:00:01 Festival 3.1         OK                           449      47 SvenSE_1375&lt;br /&gt;
   1270   00:00:03 Festival 3.1         OK                           314      76 SvenSE_1376&lt;br /&gt;
   1271   00:00:01 Festival 3.1         OK                           764     178 SvenSE_1377&lt;br /&gt;
   1272   00:00:01 Festival 3.1         OK                           315      80 SvenSE_1378&lt;br /&gt;
   1273   00:00:10 Festival 3.1         OK                          1396     359 SvenSE_1379&lt;br /&gt;
   1274   00:00:02 Festival 3.1         OK                           258      36 SvenSE_138&lt;br /&gt;
   1275   00:00:03 Festival 3.1         OK                           533     120 SvenSE_1380&lt;br /&gt;
   1276   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1381&lt;br /&gt;
   1277   00:00:54 Festival 3.1         OK                          1239     261 SvenSE_1382&lt;br /&gt;
   1278   00:00:48 Festival 3.1         OK                           992     192 SvenSE_1383&lt;br /&gt;
   1279   00:00:01 Festival 3.1         OK                           418      76 SvenSE_1384&lt;br /&gt;
   1280   00:00:03 Festival 3.1         OK                           447      70 SvenSE_1385&lt;br /&gt;
   1281   00:00:00 Festival 3.1         OK                           115      21 SvenSE_1386&lt;br /&gt;
   1282   00:00:03 Festival 3.1         OK                           576     102 SvenSE_1387&lt;br /&gt;
   1283   00:00:01 Festival 3.1         OK                           259      42 SvenSE_1388&lt;br /&gt;
   1284   00:02:07 Festival 3.1         OK                           403     104 SvenSE_1389&lt;br /&gt;
   1285   00:00:01 Festival 3.1         OK                           336      68 SvenSE_139&lt;br /&gt;
   1286   00:01:34 Festival 3.1         OK                           545     102 SvenSE_1390&lt;br /&gt;
   1287   00:00:01 Festival 3.1         OK                           307      36 SvenSE_1391&lt;br /&gt;
   1288   00:00:44 Festival 3.1         OK                          1095      92 SvenSE_1392&lt;br /&gt;
   1289   00:00:01 Festival 3.1         OK                           644     119 SvenSE_1393&lt;br /&gt;
   1290   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1394&lt;br /&gt;
   1291   00:00:12 Festival 3.1         OK                          2155     376 SvenSE_1395&lt;br /&gt;
   1292   00:00:00 Festival 3.1         OK                           364      55 SvenSE_1396&lt;br /&gt;
   1293   00:00:02 Festival 3.1         OK                           321      63 SvenSE_1397&lt;br /&gt;
   1294   00:04:26 Festival 3.1         OK                          1029     162 SvenSE_1398&lt;br /&gt;
   1295   00:02:47 Festival 3.1         OK                           971     230 SvenSE_1399&lt;br /&gt;
   1296   00:00:00 Festival 3.1         OK                          2036     586 SvenSE_14&lt;br /&gt;
   1297   00:00:01 Festival 3.1         OK                           530      98 SvenSE_140&lt;br /&gt;
   1298   00:00:01 Festival 3.1         OK                           109      22 SvenSE_1400&lt;br /&gt;
   1299   00:00:01 Festival 3.1         OK                           880     176 SvenSE_1401&lt;br /&gt;
   1300   00:00:01 Festival 3.1         OK                            66      16 SvenSE_1402&lt;br /&gt;
   1301   00:00:29 Festival 3.1         OK                           992     176 SvenSE_1403&lt;br /&gt;
   1302   00:00:13 Festival 3.1         OK                          1404     200 SvenSE_1404&lt;br /&gt;
   1303   00:00:17 Festival 3.1         OK                          1964     459 SvenSE_1405&lt;br /&gt;
   1304   00:00:01 Festival 3.1         OK                           439      73 SvenSE_1406&lt;br /&gt;
   1305   00:00:05 Festival 3.1         OK                          1839     193 SvenSE_1407&lt;br /&gt;
   1306   00:01:36 Festival 3.1         OK                          1364     180 SvenSE_1408&lt;br /&gt;
   1307   00:00:28 Festival 3.1         OK                           882      94 SvenSE_1409&lt;br /&gt;
   1308   00:00:02 Festival 3.1         OK                          1220     263 SvenSE_141&lt;br /&gt;
   1309   00:00:18 Festival 3.1         OK                          1010     114 SvenSE_1410&lt;br /&gt;
   1310   00:02:45 Festival 3.1         OK                          2412     297 SvenSE_1411&lt;br /&gt;
   1311   00:00:01 Festival 3.1         OK                           155      26 SvenSE_1412&lt;br /&gt;
   1312   00:00:01 Festival 3.1         OK                           228      31 SvenSE_1413&lt;br /&gt;
   1313   00:00:00 Festival 3.1         OK                           354      48 SvenSE_1414&lt;br /&gt;
   1314   00:00:06 Festival 3.1         OK                           904     162 SvenSE_1415&lt;br /&gt;
   1315   00:01:18 Festival 3.1         OK                          1122     210 SvenSE_1416&lt;br /&gt;
   1316   00:00:44 Festival 3.1         OK                           694     150 SvenSE_1417&lt;br /&gt;
   1317   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1418&lt;br /&gt;
   1318   00:00:02 Festival 3.1         OK                           647     145 SvenSE_1419&lt;br /&gt;
   1319   00:00:04 Festival 3.1         OK                           550      62 SvenSE_142&lt;br /&gt;
   1320   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1420&lt;br /&gt;
   1321   00:00:06 Festival 3.1         OK                           855     116 SvenSE_1421&lt;br /&gt;
   1322   00:00:01 Festival 3.1         OK                           200      31 SvenSE_1422&lt;br /&gt;
   1323   00:00:00 Festival 3.1         OK                           247      62 SvenSE_1423&lt;br /&gt;
   1324   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1424&lt;br /&gt;
   1325   00:00:03 Festival 3.1         OK                           779     147 SvenSE_1425&lt;br /&gt;
   1326   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1426&lt;br /&gt;
   1327   00:00:00 Festival 3.1         OK                            44      10 SvenSE_1427&lt;br /&gt;
   1328   00:00:02 Festival 3.1         OK                           598      44 SvenSE_1428&lt;br /&gt;
   1329   00:00:01 Festival 3.1         OK                           526      51 SvenSE_1429&lt;br /&gt;
   1330   00:00:11 Festival 3.1         OK                           656      86 SvenSE_143&lt;br /&gt;
   1331   00:00:33 Festival 3.1         OK                           532     112 SvenSE_1430&lt;br /&gt;
   1332   00:00:01 Festival 3.1         OK                           357      71 SvenSE_1431&lt;br /&gt;
   1333   00:00:00 Festival 3.1         OK                           202      56 SvenSE_1432&lt;br /&gt;
   1334   00:00:01 Festival 3.1         OK                           145      35 SvenSE_1433&lt;br /&gt;
   1335   00:02:07 Festival 3.1         OK                          1432     312 SvenSE_1434&lt;br /&gt;
   1336   00:00:23 Festival 3.1         OK                          1469     227 SvenSE_1435&lt;br /&gt;
   1337   00:00:01 Festival 3.1         OK                           799     194 SvenSE_1436&lt;br /&gt;
   1338   00:00:15 Festival 3.1         OK                           463     156 SvenSE_1437&lt;br /&gt;
   1339   00:00:00 Festival 3.1         OK                           136      38 SvenSE_1438&lt;br /&gt;
   1340   00:00:01 Festival 3.1         OK                           222      36 SvenSE_1439&lt;br /&gt;
   1341   00:03:35 Festival 3.1         OK                          5135    1145 SvenSE_144&lt;br /&gt;
   1342   00:00:00 Festival 3.1         OK                           166      35 SvenSE_1440&lt;br /&gt;
   1343   00:00:01 Festival 3.1         OK                           218      35 SvenSE_1441&lt;br /&gt;
   1344   00:00:10 Festival 3.1         OK                           721     112 SvenSE_1442&lt;br /&gt;
   1345   00:00:01 Festival 3.1         OK                           729     138 SvenSE_1443&lt;br /&gt;
   1346   00:00:01 Festival 3.1         OK                           233      41 SvenSE_1444&lt;br /&gt;
   1347   00:00:01 Festival 3.1         OK                           447     112 SvenSE_1445&lt;br /&gt;
   1348   00:00:03 Festival 3.1         OK                           441      84 SvenSE_1446&lt;br /&gt;
   1349   00:00:09 Festival 3.1         OK                           976     120 SvenSE_1447&lt;br /&gt;
   1350   00:00:01 Festival 3.1         OK                           194      46 SvenSE_1448&lt;br /&gt;
   1351   00:00:13 Festival 3.1         OK                          1619     298 SvenSE_1449&lt;br /&gt;
   1352   00:00:01 Festival 3.1         OK                           700     260 SvenSE_145&lt;br /&gt;
   1353   00:00:01 Festival 3.1         OK                           165      43 SvenSE_1450&lt;br /&gt;
   1354   00:00:04 Festival 3.1         OK                           445     107 SvenSE_1451&lt;br /&gt;
   1355   00:00:01 Festival 3.1         OK                           849     117 SvenSE_1452&lt;br /&gt;
   1356   00:01:11 Festival 3.1         OK                           505     176 SvenSE_1453&lt;br /&gt;
   1357   00:00:01 Festival 3.1         OK                           508     134 SvenSE_1454&lt;br /&gt;
   1358   00:00:01 Festival 3.1         OK                           213      41 SvenSE_1455&lt;br /&gt;
   1359   00:00:01 Festival 3.1         OK                           277      47 SvenSE_1456&lt;br /&gt;
   1360   00:00:10 Festival 3.1         OK                          1079     185 SvenSE_1457&lt;br /&gt;
   1361   00:00:08 Festival 3.1         OK                           665      83 SvenSE_1458&lt;br /&gt;
   1362   00:00:40 Festival 3.1         OK                          1250     196 SvenSE_1459&lt;br /&gt;
   1363   00:00:07 Festival 3.1         OK                          1262     217 SvenSE_146&lt;br /&gt;
   1364   00:00:02 Festival 3.1         OK                           398      86 SvenSE_1460&lt;br /&gt;
   1365   00:00:03 Festival 3.1         OK                           409      54 SvenSE_1461&lt;br /&gt;
   1366   00:04:21 Festival 3.1         OK                          2318     406 SvenSE_1462&lt;br /&gt;
   1367   00:00:03 Festival 3.1         OK                           747     120 SvenSE_1463&lt;br /&gt;
   1368   00:00:10 Festival 3.1         OK                           359     100 SvenSE_1464&lt;br /&gt;
   1369   00:00:33 Festival 3.1         OK                          1337     257 SvenSE_1465&lt;br /&gt;
   1370   00:00:00 Festival 3.1         OK                           408     100 SvenSE_1466&lt;br /&gt;
   1371   00:00:01 Festival 3.1         OK                           317      53 SvenSE_1467&lt;br /&gt;
   1372   00:01:24 Festival 3.1         OK                          1380     277 SvenSE_1468&lt;br /&gt;
   1373   00:00:01 Festival 3.1         OK                           344      99 SvenSE_1469&lt;br /&gt;
   1374   00:00:00 Festival 3.1         OK                           308      54 SvenSE_147&lt;br /&gt;
   1375   00:03:34 Festival 3.1         OK                           848     154 SvenSE_1470&lt;br /&gt;
   1376   00:00:01 Festival 3.1         OK                           363      65 SvenSE_1471&lt;br /&gt;
   1377   00:00:17 Festival 3.1         OK                           441     122 SvenSE_1472&lt;br /&gt;
   1378   00:00:02 Festival 3.1         OK                           791     143 SvenSE_1473&lt;br /&gt;
   1379   00:00:02 Festival 3.1         OK                           313      72 SvenSE_1474&lt;br /&gt;
   1380   00:00:00 Festival 3.1         OK                           189      42 SvenSE_1475&lt;br /&gt;
   1381   00:01:09 Festival 3.1         OK                          1034     217 SvenSE_1476&lt;br /&gt;
   1382   00:00:02 Festival 3.1         OK                           743     211 SvenSE_1477&lt;br /&gt;
   1383   00:00:02 Festival 3.1         OK                           162      38 SvenSE_1478&lt;br /&gt;
   1384   00:00:01 Festival 3.1         OK                           556     130 SvenSE_1479&lt;br /&gt;
   1385   00:00:00 Festival 3.1         OK                           368      64 SvenSE_148&lt;br /&gt;
   1386   00:00:01 Festival 3.1         OK                           487     113 SvenSE_1480&lt;br /&gt;
   1387   00:00:01 Festival 3.1         OK                           158      30 SvenSE_1481&lt;br /&gt;
   1388   00:00:01 Festival 3.1         OK                           790     134 SvenSE_1482&lt;br /&gt;
   1389   00:00:01 Festival 3.1         OK                           342      54 SvenSE_1483&lt;br /&gt;
   1390   00:00:01 Festival 3.1         OK                           455      59 SvenSE_1484&lt;br /&gt;
   1391   00:00:00 Festival 3.1         OK                           347      49 SvenSE_1485&lt;br /&gt;
   1392   00:00:05 Festival 3.1         OK                           712     112 SvenSE_1486&lt;br /&gt;
   1393   00:00:01 Festival 3.1         OK                           477      96 SvenSE_1487&lt;br /&gt;
   1394   00:00:01 Festival 3.1         OK                          1034     228 SvenSE_1488&lt;br /&gt;
   1395   00:00:03 Festival 3.1         OK                           730      88 SvenSE_1489&lt;br /&gt;
   1396   00:00:00 Festival 3.1         OK                           226      34 SvenSE_149&lt;br /&gt;
   1397   00:00:01 Festival 3.1         OK                           368      80 SvenSE_1490&lt;br /&gt;
   1398   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1491&lt;br /&gt;
   1399   00:00:00 Festival 3.1         OK                           302      80 SvenSE_1492&lt;br /&gt;
   1400   00:00:01 Festival 3.1         OK                           298      64 SvenSE_1493&lt;br /&gt;
   1401   00:00:01 Festival 3.1         OK                           277      76 SvenSE_1494&lt;br /&gt;
   1402   00:00:01 Festival 3.1         OK                           270      70 SvenSE_1495&lt;br /&gt;
   1403   00:00:01 Festival 3.1         OK                           181      52 SvenSE_1496&lt;br /&gt;
   1404   00:00:24 Festival 3.1         OK                           533     142 SvenSE_1497&lt;br /&gt;
   1405   00:00:00 Festival 3.1         OK                           220      38 SvenSE_1498&lt;br /&gt;
   1406   00:00:01 Festival 3.1         OK                           297     102 SvenSE_1499&lt;br /&gt;
   1407   00:00:08 Festival 3.1         OK                          8125    1562 SvenSE_15&lt;br /&gt;
   1408   00:00:00 Festival 3.1         OK                           224      44 SvenSE_150&lt;br /&gt;
   1409   00:00:00 Festival 3.1         OK                           106      31 SvenSE_1500&lt;br /&gt;
   1410   00:00:04 Festival 3.1         OK                           665     106 SvenSE_1501&lt;br /&gt;
   1411   00:00:05 Festival 3.1         OK                           472     112 SvenSE_1502&lt;br /&gt;
   1412   00:00:01 Festival 3.1         OK                           529      78 SvenSE_1503&lt;br /&gt;
   1413   00:00:01 Festival 3.1         OK                           309      56 SvenSE_1504&lt;br /&gt;
   1414   00:00:01 Festival 3.1         OK                           285      34 SvenSE_1505&lt;br /&gt;
   1415   00:04:16 Festival 3.1         OK                          1543     218 SvenSE_1506&lt;br /&gt;
   1416   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1507&lt;br /&gt;
   1417   00:00:42 Festival 3.1         OK                          2758     230 SvenSE_1508&lt;br /&gt;
   1418   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1509&lt;br /&gt;
   1419   00:00:08 Festival 3.1         OK                           458      64 SvenSE_151&lt;br /&gt;
   1420   00:00:12 Festival 3.1         OK                           938     152 SvenSE_1510&lt;br /&gt;
   1421   00:00:04 Festival 3.1         OK                           332      74 SvenSE_1511&lt;br /&gt;
   1422   00:00:00 Festival 3.1         OK                            88      16 SvenSE_1512&lt;br /&gt;
   1423   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1513&lt;br /&gt;
   1424   00:00:01 Festival 3.1         OK                           650     106 SvenSE_1514&lt;br /&gt;
   1425   00:00:04 Festival 3.1         OK                          1135     288 SvenSE_1515&lt;br /&gt;
   1426   00:01:01 Festival 3.1         OK                           419      86 SvenSE_1516&lt;br /&gt;
   1427   00:00:12 Festival 3.1         OK                           983     185 SvenSE_1517&lt;br /&gt;
   1428   00:00:01 Festival 3.1         OK                           192      36 SvenSE_1518&lt;br /&gt;
   1429   00:00:03 Festival 3.1         OK                           427      72 SvenSE_1519&lt;br /&gt;
   1430   00:00:01 Festival 3.1         OK                           676     213 SvenSE_152&lt;br /&gt;
   1431   00:00:02 Festival 3.1         OK                           398      70 SvenSE_1520&lt;br /&gt;
   1432   00:00:02 Festival 3.1         OK                           359      54 SvenSE_1521&lt;br /&gt;
   1433   00:00:10 Festival 3.1         OK                           523      96 SvenSE_1522&lt;br /&gt;
   1434   00:00:03 Festival 3.1         OK                           434      64 SvenSE_1523&lt;br /&gt;
   1435   00:00:00 Festival 3.1         OK                            82      18 SvenSE_1524&lt;br /&gt;
   1436   00:00:01 Festival 3.1         OK                           197      28 SvenSE_1525&lt;br /&gt;
   1437   00:00:01 Festival 3.1         OK                           132      33 SvenSE_1526&lt;br /&gt;
   1438   00:00:02 Festival 3.1         OK                           314      60 SvenSE_1527&lt;br /&gt;
   1439   00:00:01 Festival 3.1         OK                           311      56 SvenSE_1528&lt;br /&gt;
   1440   00:00:01 Festival 3.1         OK                           116      26 SvenSE_1529&lt;br /&gt;
   1441   00:00:07 Festival 3.1         OK                           564      56 SvenSE_153&lt;br /&gt;
   1442   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1530&lt;br /&gt;
   1443   00:00:59 Festival 3.1         OK                           522      66 SvenSE_1531&lt;br /&gt;
   1444   00:00:00 Festival 3.1         OK                           460      72 SvenSE_1532&lt;br /&gt;
   1445   00:03:09 Festival 3.1         OK                          2000     270 SvenSE_1533&lt;br /&gt;
   1446   00:00:01 Festival 3.1         OK                           430      70 SvenSE_1534&lt;br /&gt;
   1447   00:00:01 Festival 3.1         OK                           289      32 SvenSE_1535&lt;br /&gt;
   1448   00:00:01 Festival 3.1         OK                           373      83 SvenSE_1536&lt;br /&gt;
   1449   00:00:01 Festival 3.1         OK                           741     152 SvenSE_1537&lt;br /&gt;
   1450   00:00:01 Festival 3.1         OK                           391      59 SvenSE_1538&lt;br /&gt;
   1451   00:00:00 Festival 3.1         OK                           299      45 SvenSE_1539&lt;br /&gt;
   1452   00:00:10 Festival 3.1         OK                          1060     160 SvenSE_154&lt;br /&gt;
   1453   00:00:01 Festival 3.1         OK                           205      45 SvenSE_1540&lt;br /&gt;
   1454   00:00:01 Festival 3.1         OK                           338      43 SvenSE_1541&lt;br /&gt;
   1455   00:00:05 Festival 3.1         OK                           728     138 SvenSE_1542&lt;br /&gt;
   1456   00:00:01 Festival 3.1         OK                           275      41 SvenSE_1543&lt;br /&gt;
   1457   00:00:01 Festival 3.1         OK                           188      28 SvenSE_1544&lt;br /&gt;
   1458   00:00:00 Festival 3.1         OK                           184      26 SvenSE_1545&lt;br /&gt;
   1459   00:00:03 Festival 3.1         OK                           625      52 SvenSE_1546&lt;br /&gt;
   1460   00:01:20 Festival 3.1         OK                           515      73 SvenSE_1547&lt;br /&gt;
   1461   00:00:01 Festival 3.1         OK                           236      70 SvenSE_1548&lt;br /&gt;
   1462   00:00:00 Festival 3.1         OK                           166      49 SvenSE_1549&lt;br /&gt;
   1463   00:00:11 Festival 3.1         OK                           788      86 SvenSE_155&lt;br /&gt;
   1464   00:00:01 Festival 3.1         OK                           513      70 SvenSE_1550&lt;br /&gt;
   1465   00:00:07 Festival 3.1         OK                           368      76 SvenSE_1551&lt;br /&gt;
   1466   00:00:00 Festival 3.1         OK                           239      23 SvenSE_1552&lt;br /&gt;
   1467   00:00:02 Festival 3.1         OK                           325      36 SvenSE_1553&lt;br /&gt;
   1468   00:00:01 Festival 3.1         OK                           547      88 SvenSE_1554&lt;br /&gt;
   1469   00:00:08 Festival 3.1         OK                           554      86 SvenSE_1555&lt;br /&gt;
   1470   00:00:02 Festival 3.1         OK                           655     126 SvenSE_1556&lt;br /&gt;
   1471   00:00:01 Festival 3.1         OK                           508      62 SvenSE_1557&lt;br /&gt;
   1472   00:00:01 Festival 3.1         OK                           295      66 SvenSE_1558&lt;br /&gt;
   1473   00:00:00 Festival 3.1         OK                            99      22 SvenSE_1559&lt;br /&gt;
   1474   00:01:31 Festival 3.1         OK                           976     146 SvenSE_156&lt;br /&gt;
   1475   00:02:33 Festival 3.1         OK                          2479     306 SvenSE_1560&lt;br /&gt;
   1476   00:00:04 Festival 3.1         OK                          1061     227 SvenSE_1561&lt;br /&gt;
   1477   00:00:00 Festival 3.1         OK                           380      90 SvenSE_1562&lt;br /&gt;
   1478   00:00:02 Festival 3.1         OK                           425      77 SvenSE_1563&lt;br /&gt;
   1479   00:00:01 Festival 3.1         OK                           374      80 SvenSE_1564&lt;br /&gt;
   1480   00:00:01 Festival 3.1         OK                           256      56 SvenSE_1565&lt;br /&gt;
   1481   00:00:10 Festival 3.1         OK                          3372     571 SvenSE_1566&lt;br /&gt;
   1482   00:00:00 Festival 3.1         OK                           485     161 SvenSE_1567&lt;br /&gt;
   1483   00:00:01 Festival 3.1         OK                           150      37 SvenSE_1568&lt;br /&gt;
   1484   00:00:01 Festival 3.1         OK                           343      58 SvenSE_1569&lt;br /&gt;
   1485   00:00:00 Festival 3.1         OK                            84      10 SvenSE_157&lt;br /&gt;
   1486   00:00:03 Festival 3.1         OK                           362      76 SvenSE_1570&lt;br /&gt;
   1487   00:00:01 Festival 3.1         OK                            92      24 SvenSE_1571&lt;br /&gt;
   1488   00:01:22 Festival 3.1         OK                          1148     200 SvenSE_1572&lt;br /&gt;
   1489   00:00:07 Festival 3.1         OK                           808     142 SvenSE_1573&lt;br /&gt;
   1490   00:00:08 Festival 3.1         OK                           718     273 SvenSE_1574&lt;br /&gt;
   1491   00:00:01 Festival 3.1         OK                           183      40 SvenSE_1575&lt;br /&gt;
   1492   00:00:01 Festival 3.1         OK                           100      32 SvenSE_1576&lt;br /&gt;
   1493   00:00:01 Festival 3.1         OK                            47      16 SvenSE_1577&lt;br /&gt;
   1494   00:00:00 Festival 3.1         OK                           179      52 SvenSE_1578&lt;br /&gt;
   1495   00:00:01 Festival 3.1         OK                           199      35 SvenSE_1579&lt;br /&gt;
   1496   00:01:12 Festival 3.1         OK                          1232     112 SvenSE_158&lt;br /&gt;
   1497   00:00:02 Festival 3.1         OK                           335      60 SvenSE_1580&lt;br /&gt;
   1498   00:00:00 Festival 3.1         OK                           217      36 SvenSE_1581&lt;br /&gt;
   1499   00:00:01 Festival 3.1         OK                           194      48 SvenSE_1582&lt;br /&gt;
   1500   00:00:30 Festival 3.1         OK                          2145     382 SvenSE_1583&lt;br /&gt;
   1501   00:03:28 Festival 3.1         OK                          2712     266 SvenSE_1584&lt;br /&gt;
   1502   00:00:01 Festival 3.1         OK                           155      33 SvenSE_1585&lt;br /&gt;
   1503   00:00:01 Festival 3.1         OK                           165      15 SvenSE_1586&lt;br /&gt;
   1504   00:00:02 Festival 3.1         OK                           790      98 SvenSE_1587&lt;br /&gt;
   1505   00:00:01 Festival 3.1         OK                           690      74 SvenSE_1588&lt;br /&gt;
   1506   00:01:04 Festival 3.1         OK                          1139     110 SvenSE_1589&lt;br /&gt;
   1507   00:00:13 Festival 3.1         OK                           560      88 SvenSE_159&lt;br /&gt;
   1508   00:00:01 Festival 3.1         OK                           244      26 SvenSE_1590&lt;br /&gt;
   1509   00:00:01 Festival 3.1         OK                           146      24 SvenSE_1591&lt;br /&gt;
   1510   00:00:02 Festival 3.1         OK                           280      72 SvenSE_1592&lt;br /&gt;
   1511   00:00:07 Festival 3.1         OK                           861     268 SvenSE_1593&lt;br /&gt;
   1512   00:00:00 Festival 3.1         OK                           166      32 SvenSE_1594&lt;br /&gt;
   1513   00:00:02 Festival 3.1         OK                           419     115 SvenSE_1595&lt;br /&gt;
   1514   00:00:01 Festival 3.1         OK                           508      96 SvenSE_1596&lt;br /&gt;
   1515   00:00:32 Festival 3.1         OK                           813     207 SvenSE_1597&lt;br /&gt;
   1516   00:00:01 Festival 3.1         OK                           949     213 SvenSE_1598&lt;br /&gt;
   1517   00:00:00 Festival 3.1         OK                           141      39 SvenSE_1599&lt;br /&gt;
   1518   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_16&lt;br /&gt;
   1519   00:00:04 Festival 3.1         OK                           776      96 SvenSE_160&lt;br /&gt;
   1520   00:00:00 Festival 3.1         OK                            72      16 SvenSE_1600&lt;br /&gt;
   1521   00:00:01 Festival 3.1         OK                            64      16 SvenSE_1601&lt;br /&gt;
   1522   00:00:28 Festival 3.1         OK                          2639     612 SvenSE_1602&lt;br /&gt;
   1523   00:00:01 Festival 3.1         OK                           231      46 SvenSE_1603&lt;br /&gt;
   1524   00:00:10 Festival 3.1         OK                          2015     375 SvenSE_1604&lt;br /&gt;
   1525   00:00:14 Festival 3.1         OK                          2355     438 SvenSE_1605&lt;br /&gt;
   1526   00:00:01 Festival 3.1         OK                           244      50 SvenSE_1606&lt;br /&gt;
   1527   00:00:29 Festival 3.1         OK                          2735    1128 SvenSE_1607&lt;br /&gt;
   1528   00:00:03 Festival 3.1         OK                          1007     182 SvenSE_1608&lt;br /&gt;
   1529   00:00:01 Festival 3.1         OK                           859     207 SvenSE_1609&lt;br /&gt;
   1530   00:00:08 Festival 3.1         OK                          1032      98 SvenSE_161&lt;br /&gt;
   1531   00:00:02 Festival 3.1         OK                           469      81 SvenSE_1610&lt;br /&gt;
   1532   00:00:00 Festival 3.1         OK                           671     134 SvenSE_1611&lt;br /&gt;
   1533   00:00:02 Festival 3.1         OK                           457      72 SvenSE_1612&lt;br /&gt;
   1534   00:00:01 Festival 3.1         OK                           151      32 SvenSE_1613&lt;br /&gt;
   1535   00:00:00 Festival 3.1         OK                           396      62 SvenSE_1614&lt;br /&gt;
   1536   00:00:01 Festival 3.1         OK                           342      69 SvenSE_1615&lt;br /&gt;
   1537   00:00:03 Festival 3.1         OK                           559      99 SvenSE_1616&lt;br /&gt;
   1538   00:00:01 Festival 3.1         OK                           378      74 SvenSE_1617&lt;br /&gt;
   1539   00:00:00 Festival 3.1         OK                           117      28 SvenSE_1618&lt;br /&gt;
   1540   00:00:01 Festival 3.1         OK                           550     105 SvenSE_1619&lt;br /&gt;
   1541   00:00:02 Festival 3.1         OK                           288      30 SvenSE_162&lt;br /&gt;
   1542   00:00:30 Festival 3.1         OK                          3639     630 SvenSE_1620&lt;br /&gt;
   1543   00:00:02 Festival 3.1         OK                          1585     241 SvenSE_1621&lt;br /&gt;
   1544   00:00:03 Festival 3.1         OK                           607      72 SvenSE_1622&lt;br /&gt;
   1545   00:05:08 Festival 3.1         OK                          3938     320 SvenSE_1623&lt;br /&gt;
   1546   00:00:09 Festival 3.1         OK                           801     108 SvenSE_1624&lt;br /&gt;
   1547   00:00:02 Festival 3.1         OK                           424      90 SvenSE_1625&lt;br /&gt;
   1548   00:00:05 Festival 3.1         OK                          1042     141 SvenSE_1626&lt;br /&gt;
   1549   00:00:01 Festival 3.1         OK                           476      80 SvenSE_1627&lt;br /&gt;
   1550   00:00:01 Festival 3.1         OK                           368      52 SvenSE_1628&lt;br /&gt;
   1551   00:00:01 Festival 3.1         OK                           701     141 SvenSE_1629&lt;br /&gt;
   1552   00:00:02 Festival 3.1         OK                           346      62 SvenSE_163&lt;br /&gt;
   1553   00:00:09 Festival 3.1         OK                           711     134 SvenSE_1630&lt;br /&gt;
   1554   00:00:00 Festival 3.1         OK                            80      13 SvenSE_1631&lt;br /&gt;
   1555   00:00:01 Festival 3.1         OK                            54      12 SvenSE_1632&lt;br /&gt;
   1556   00:00:00 Festival 3.1         OK                            94      20 SvenSE_1633&lt;br /&gt;
   1557   00:00:01 Festival 3.1         OK                           185      28 SvenSE_1634&lt;br /&gt;
   1558   00:00:01 Festival 3.1         OK                           280      64 SvenSE_1635&lt;br /&gt;
   1559   00:00:01 Festival 3.1         OK                            75      16 SvenSE_1636&lt;br /&gt;
   1560   00:00:01 Festival 3.1         OK                           572     171 SvenSE_1637&lt;br /&gt;
   1561   00:00:01 Festival 3.1         OK                           510     142 SvenSE_1638&lt;br /&gt;
   1562   00:00:02 Festival 3.1         OK                           641     174 SvenSE_1639&lt;br /&gt;
   1563   00:02:26 Festival 3.1         OK                          1105     196 SvenSE_164&lt;br /&gt;
   1564   00:00:01 Festival 3.1         OK                            98      16 SvenSE_1640&lt;br /&gt;
   1565   00:00:00 Festival 3.1         OK                            64      12 SvenSE_1641&lt;br /&gt;
   1566   00:00:01 Festival 3.1         OK                           330      67 SvenSE_1642&lt;br /&gt;
   1567   00:00:01 Festival 3.1         OK                           918     136 SvenSE_1643&lt;br /&gt;
   1568   00:00:01 Festival 3.1         OK                           323      42 SvenSE_1644&lt;br /&gt;
   1569   00:00:00 Festival 3.1         OK                           253      44 SvenSE_1645&lt;br /&gt;
   1570   00:00:01 Festival 3.1         OK                            93      18 SvenSE_1646&lt;br /&gt;
   1571   00:00:01 Festival 3.1         OK                           247      38 SvenSE_1647&lt;br /&gt;
   1572   00:00:00 Festival 3.1         OK                           155      35 SvenSE_1648&lt;br /&gt;
   1573   00:00:01 Festival 3.1         OK                           179      39 SvenSE_1649&lt;br /&gt;
   1574   00:00:02 Festival 3.1         OK                           696      90 SvenSE_165&lt;br /&gt;
   1575   00:00:01 Festival 3.1         OK                            89      20 SvenSE_1650&lt;br /&gt;
   1576   00:00:01 Festival 3.1         OK                            59      16 SvenSE_1651&lt;br /&gt;
   1577   00:00:00 Festival 3.1         OK                           120      32 SvenSE_1652&lt;br /&gt;
   1578   00:00:01 Festival 3.1         OK                           263      64 SvenSE_1653&lt;br /&gt;
   1579   00:00:01 Festival 3.1         OK                           106      14 SvenSE_1654&lt;br /&gt;
   1580   00:00:01 Festival 3.1         OK                           439     105 SvenSE_1655&lt;br /&gt;
   1581   00:00:01 Festival 3.1         OK                           456      52 SvenSE_1656&lt;br /&gt;
   1582   00:00:01 Festival 3.1         OK                           144      18 SvenSE_1657&lt;br /&gt;
   1583   00:00:00 Festival 3.1         OK                           271      57 SvenSE_1658&lt;br /&gt;
   1584   00:00:01 Festival 3.1         OK                           149      19 SvenSE_1659&lt;br /&gt;
   1585   00:00:29 Festival 3.1         OK                          1392     176 SvenSE_166&lt;br /&gt;
   1586   00:00:01 Festival 3.1         OK                           118      22 SvenSE_1660&lt;br /&gt;
   1587   00:00:00 Festival 3.1         OK                           288      63 SvenSE_1661&lt;br /&gt;
   1588   00:00:03 Festival 3.1         OK                           475      73 SvenSE_1662&lt;br /&gt;
   1589   00:00:01 Festival 3.1         OK                            89      22 SvenSE_1663&lt;br /&gt;
   1590   00:00:00 Festival 3.1         OK                           204      46 SvenSE_1664&lt;br /&gt;
   1591   00:00:01 Festival 3.1         OK                           120      33 SvenSE_1665&lt;br /&gt;
   1592   00:00:01 Festival 3.1         OK                           512     106 SvenSE_1666&lt;br /&gt;
   1593   00:00:01 Festival 3.1         OK                           286      51 SvenSE_1667&lt;br /&gt;
   1594   00:00:01 Festival 3.1         OK                           632     129 SvenSE_1668&lt;br /&gt;
   1595   00:00:24 Festival 3.1         OK                          1211     184 SvenSE_1669&lt;br /&gt;
   1596   00:02:03 Festival 3.1         OK                          2622     274 SvenSE_167&lt;br /&gt;
   1597   00:00:01 Festival 3.1         OK                           446     129 SvenSE_1670&lt;br /&gt;
   1598   00:00:01 Festival 3.1         OK                           139      30 SvenSE_1671&lt;br /&gt;
   1599   00:00:00 Festival 3.1         OK                           199      22 SvenSE_1672&lt;br /&gt;
   1600   00:00:01 Festival 3.1         OK                           286      42 SvenSE_1673&lt;br /&gt;
   1601   00:00:46 Festival 3.1         OK                          1950     304 SvenSE_1674&lt;br /&gt;
   1602   00:00:05 Festival 3.1         OK                           606     110 SvenSE_1675&lt;br /&gt;
   1603   00:00:19 Festival 3.1         OK                          1777     284 SvenSE_1676&lt;br /&gt;
   1604   00:00:02 Festival 3.1         OK                           371     108 SvenSE_1677&lt;br /&gt;
   1605   00:00:13 Festival 3.1         OK                          1475     264 SvenSE_1678&lt;br /&gt;
   1606   00:00:00 Festival 3.1         OK                           409      77 SvenSE_1679&lt;br /&gt;
   1607   00:00:05 Festival 3.1         OK                           852     190 SvenSE_168&lt;br /&gt;
   1608   00:00:01 Festival 3.1         OK                           289      92 SvenSE_1680&lt;br /&gt;
   1609   00:00:01 Festival 3.1         OK                           152      26 SvenSE_1681&lt;br /&gt;
   1610   00:00:01 Festival 3.1         OK                           134      29 SvenSE_1682&lt;br /&gt;
   1611   00:00:08 Festival 3.1         OK                           397      68 SvenSE_1683&lt;br /&gt;
   1612   00:00:37 Festival 3.1         OK                           761     116 SvenSE_1684&lt;br /&gt;
   1613   00:00:02 Festival 3.1         OK                           401      44 SvenSE_1685&lt;br /&gt;
   1614   00:00:02 Festival 3.1         OK                           203      33 SvenSE_1686&lt;br /&gt;
   1615   00:00:01 Festival 3.1         OK                           336      44 SvenSE_1687&lt;br /&gt;
   1616   00:00:00 Festival 3.1         OK                           352      43 SvenSE_1688&lt;br /&gt;
   1617   00:00:01 Festival 3.1         OK                           255      36 SvenSE_1689&lt;br /&gt;
   1618   00:01:56 Festival 3.1         OK                           357      65 SvenSE_169&lt;br /&gt;
   1619   00:03:11 Festival 3.1         OK                          1028     102 SvenSE_1690&lt;br /&gt;
   1620   00:00:01 Festival 3.1         OK                           674      96 SvenSE_1691&lt;br /&gt;
   1621   00:00:01 Festival 3.1         OK                           363      56 SvenSE_1692&lt;br /&gt;
   1622   00:00:00 Festival 3.1         OK                           222      38 SvenSE_1693&lt;br /&gt;
   1623   00:00:01 Festival 3.1         OK                           571      71 SvenSE_1694&lt;br /&gt;
   1624   00:00:01 Festival 3.1         OK                           113      30 SvenSE_1695&lt;br /&gt;
   1625   00:00:01 Festival 3.1         OK                           635      86 SvenSE_1696&lt;br /&gt;
   1626   00:00:01 Festival 3.1         OK                           138      20 SvenSE_1697&lt;br /&gt;
   1627   00:00:01 Festival 3.1         OK                           360     110 SvenSE_1698&lt;br /&gt;
   1628   00:00:05 Festival 3.1         OK                           463     107 SvenSE_1699&lt;br /&gt;
   1629   00:01:17 Festival 3.1         OK                          2562     613 SvenSE_17&lt;br /&gt;
   1630   00:02:38 Festival 3.1         OK                          1927     293 SvenSE_170&lt;br /&gt;
   1631   00:00:01 Festival 3.1         OK                           554     148 SvenSE_1700&lt;br /&gt;
   1632   00:00:01 Festival 3.1         OK                           182      41 SvenSE_1701&lt;br /&gt;
   1633   00:00:01 Festival 3.1         OK                           297      60 SvenSE_1702&lt;br /&gt;
   1634   00:00:01 Festival 3.1         OK                           382      62 SvenSE_1703&lt;br /&gt;
   1635   00:00:01 Festival 3.1         OK                           316      63 SvenSE_1704&lt;br /&gt;
   1636   00:00:36 Festival 3.1         OK                          3191     645 SvenSE_1705&lt;br /&gt;
   1637   00:00:01 Festival 3.1         OK                           130      35 SvenSE_1706&lt;br /&gt;
   1638   00:00:01 Festival 3.1         OK                           345      66 SvenSE_1707&lt;br /&gt;
   1639   00:00:01 Festival 3.1         OK                           311      72 SvenSE_1708&lt;br /&gt;
   1640   00:00:00 Festival 3.1         OK                           199      31 SvenSE_1709&lt;br /&gt;
   1641   00:03:24 Festival 3.1         OK                          2457     353 SvenSE_171&lt;br /&gt;
   1642   00:00:02 Festival 3.1         OK                           336      48 SvenSE_1710&lt;br /&gt;
   1643   00:02:07 Festival 3.1         OK                          1643     263 SvenSE_1711&lt;br /&gt;
   1644   00:00:00 Festival 3.1         OK                           185      36 SvenSE_1712&lt;br /&gt;
   1645   00:00:01 Festival 3.1         OK                            82      17 SvenSE_1713&lt;br /&gt;
   1646   00:00:01 Festival 3.1         OK                           208      59 SvenSE_1714&lt;br /&gt;
   1647   00:00:00 Festival 3.1         OK                           423      92 SvenSE_1715&lt;br /&gt;
   1648   00:00:01 Festival 3.1         OK                           251      50 SvenSE_1716&lt;br /&gt;
   1649   00:00:16 Festival 3.1         OK                           499     101 SvenSE_1717&lt;br /&gt;
   1650   00:00:01 Festival 3.1         OK                           240      35 SvenSE_1718&lt;br /&gt;
   1651   00:00:04 Festival 3.1         OK                          2171     177 SvenSE_1719&lt;br /&gt;
   1652   00:03:35 Festival 3.1         OK                          2431     322 SvenSE_172&lt;br /&gt;
   1653   00:01:07 Festival 3.1         OK                          3879     244 SvenSE_1720&lt;br /&gt;
   1654   00:00:51 Festival 3.1         OK                          9142     569 SvenSE_1721&lt;br /&gt;
   1655   00:02:01 Festival 3.1         OK                          7998     678 SvenSE_1722&lt;br /&gt;
   1656   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1723&lt;br /&gt;
   1657   00:00:00 Festival 3.1         OK                           127      27 SvenSE_1724&lt;br /&gt;
   1658   00:00:05 Festival 3.1         OK                           844     128 SvenSE_1725&lt;br /&gt;
   1659   00:00:01 Festival 3.1         OK                           571     114 SvenSE_1726&lt;br /&gt;
   1660   00:00:01 Festival 3.1         OK                           874     250 SvenSE_1727&lt;br /&gt;
   1661   00:00:01 Festival 3.1         OK                            86      24 SvenSE_1728&lt;br /&gt;
   1662   00:00:36 Festival 3.1         OK                          1003     240 SvenSE_1729&lt;br /&gt;
   1663   00:03:25 Festival 3.1         OK                          1907     263 SvenSE_173&lt;br /&gt;
   1664   00:00:01 Festival 3.1         OK                           192      36 SvenSE_1730&lt;br /&gt;
   1665   00:00:01 Festival 3.1         OK                           561     115 SvenSE_1731&lt;br /&gt;
   1666   00:00:01 Festival 3.1         OK                           116      14 SvenSE_1732&lt;br /&gt;
   1667   00:00:01 Festival 3.1         OK                           148      28 SvenSE_1733&lt;br /&gt;
   1668   00:00:01 Festival 3.1         OK                            92      12 SvenSE_1734&lt;br /&gt;
   1669   00:00:01 Festival 3.1         OK                           321      46 SvenSE_1735&lt;br /&gt;
   1670   00:00:01 Festival 3.1         OK                           206      34 SvenSE_1736&lt;br /&gt;
   1671   00:00:02 Festival 3.1         OK                           213      62 SvenSE_1737&lt;br /&gt;
   1672   00:00:00 Festival 3.1         OK                           360      42 SvenSE_1738&lt;br /&gt;
   1673   00:00:01 Festival 3.1         OK                           431     147 SvenSE_1739&lt;br /&gt;
   1674   00:00:01 Festival 3.1         OK                           121      28 SvenSE_174&lt;br /&gt;
   1675   00:00:00 Festival 3.1         OK                           948     157 SvenSE_1740&lt;br /&gt;
   1676   00:00:01 Festival 3.1         OK                           274      78 SvenSE_1741&lt;br /&gt;
   1677   00:00:01 Festival 3.1         OK                           565     107 SvenSE_1742&lt;br /&gt;
   1678   00:00:01 Festival 3.1         OK                           668     263 SvenSE_1743&lt;br /&gt;
   1679   00:00:00 Festival 3.1         OK                            62      20 SvenSE_1744&lt;br /&gt;
   1680   00:00:01 Festival 3.1         OK                           173      31 SvenSE_1745&lt;br /&gt;
   1681   00:00:01 Festival 3.1         OK                            33      11 SvenSE_1746&lt;br /&gt;
   1682   00:00:00 Festival 3.1         OK                            59      15 SvenSE_1747&lt;br /&gt;
   1683   00:00:01 Festival 3.1         OK                           105      21 SvenSE_1748&lt;br /&gt;
   1684   00:00:01 Festival 3.1         OK                           224      50 SvenSE_1749&lt;br /&gt;
   1685   00:00:01 Festival 3.1         OK                           739     112 SvenSE_175&lt;br /&gt;
   1686   00:00:01 Festival 3.1         OK                           236      22 SvenSE_1750&lt;br /&gt;
   1687   00:00:00 Festival 3.1         OK                           367      46 SvenSE_1751&lt;br /&gt;
   1688   00:00:01 Festival 3.1         OK                           102      24 SvenSE_1752&lt;br /&gt;
   1689   00:00:00 Festival 3.1         OK                            76      27 SvenSE_1753&lt;br /&gt;
   1690   00:00:02 Festival 3.1         OK                           530      62 SvenSE_1754&lt;br /&gt;
   1691   00:00:01 Festival 3.1         OK                            78      10 SvenSE_1755&lt;br /&gt;
   1692   00:00:00 Festival 3.1         OK                           405      80 SvenSE_1756&lt;br /&gt;
   1693   00:00:04 Festival 3.1         OK                           522      92 SvenSE_1757&lt;br /&gt;
   1694   00:00:01 Festival 3.1         OK                           198      40 SvenSE_1758&lt;br /&gt;
   1695   00:00:08 Festival 3.1         OK                          1186     248 SvenSE_1759&lt;br /&gt;
   1696   00:00:03 Festival 3.1         OK                          1015     112 SvenSE_176&lt;br /&gt;
   1697   00:00:09 Festival 3.1         OK                           706      76 SvenSE_1760&lt;br /&gt;
   1698   00:00:01 Festival 3.1         OK                           124      24 SvenSE_1761&lt;br /&gt;
   1699   00:00:00 Festival 3.1         OK                           203      41 SvenSE_1762&lt;br /&gt;
   1700   00:00:01 Festival 3.1         OK                           129      18 SvenSE_1763&lt;br /&gt;
   1701   00:00:00 Festival 3.1         OK                           181      18 SvenSE_1764&lt;br /&gt;
   1702   00:00:01 Festival 3.1         OK                           482      61 SvenSE_1765&lt;br /&gt;
   1703   00:00:01 Festival 3.1         OK                           380     128 SvenSE_1766&lt;br /&gt;
   1704   00:00:00 Festival 3.1         OK                           283      96 SvenSE_1767&lt;br /&gt;
   1705   00:00:01 Festival 3.1         OK                           120      21 SvenSE_1768&lt;br /&gt;
   1706   00:00:01 Festival 3.1         OK                            87      20 SvenSE_1769&lt;br /&gt;
   1707   00:00:02 Festival 3.1         OK                          2859    1164 SvenSE_177&lt;br /&gt;
   1708   00:00:00 Festival 3.1         OK                           140      18 SvenSE_1770&lt;br /&gt;
   1709   00:00:01 Festival 3.1         OK                           104      12 SvenSE_1771&lt;br /&gt;
   1710   00:00:00 Festival 3.1         OK                            29      12 SvenSE_1772&lt;br /&gt;
   1711   00:00:01 Festival 3.1         OK                           384      60 SvenSE_1773&lt;br /&gt;
   1712   00:00:02 Festival 3.1         OK                           475     132 SvenSE_1774&lt;br /&gt;
   1713   00:00:00 Festival 3.1         OK                           182      33 SvenSE_1775&lt;br /&gt;
   1714   00:00:01 Festival 3.1         OK                            68      14 SvenSE_1776&lt;br /&gt;
   1715   00:00:20 Festival 3.1         OK                           512      71 SvenSE_1777&lt;br /&gt;
   1716   00:00:01 Festival 3.1         OK                           106      22 SvenSE_1778&lt;br /&gt;
   1717   00:00:01 Festival 3.1         OK                           155      32 SvenSE_1779&lt;br /&gt;
   1718   00:00:03 Festival 3.1         OK                          3575    1470 SvenSE_178&lt;br /&gt;
   1719   00:00:00 Festival 3.1         OK                           110      26 SvenSE_1780&lt;br /&gt;
   1720   00:00:01 Festival 3.1         OK                           374      54 SvenSE_1781&lt;br /&gt;
   1721   00:00:01 Festival 3.1         OK                           240      39 SvenSE_1782&lt;br /&gt;
   1722   00:00:01 Festival 3.1         OK                           154      36 SvenSE_1783&lt;br /&gt;
   1723   00:00:01 Festival 3.1         OK                            85      22 SvenSE_1784&lt;br /&gt;
   1724   00:00:01 Festival 3.1         OK                           367      88 SvenSE_1785&lt;br /&gt;
   1725   00:00:00 Festival 3.1         OK                            73      23 SvenSE_1786&lt;br /&gt;
   1726   00:00:01 Festival 3.1         OK                            91      18 SvenSE_1787&lt;br /&gt;
   1727   00:00:00 Festival 3.1         OK                           132      21 SvenSE_1788&lt;br /&gt;
   1728   00:00:03 Festival 3.1         OK                           560     106 SvenSE_1789&lt;br /&gt;
   1729   00:00:00 Festival 3.1         OK                            40       4 SvenSE_179&lt;br /&gt;
   1730   00:00:02 Festival 3.1         OK                           779     145 SvenSE_1790&lt;br /&gt;
   1731   00:00:00 Festival 3.1         OK                           263      50 SvenSE_1791&lt;br /&gt;
   1732   00:00:01 Festival 3.1         OK                           135      31 SvenSE_1792&lt;br /&gt;
   1733   00:00:01 Festival 3.1         OK                           504      95 SvenSE_1793&lt;br /&gt;
   1734   00:00:01 Festival 3.1         OK                           116      34 SvenSE_1794&lt;br /&gt;
   1735   00:00:00 Festival 3.1         OK                           100      27 SvenSE_1795&lt;br /&gt;
   1736   00:00:03 Festival 3.1         OK                           166      44 SvenSE_1796&lt;br /&gt;
   1737   00:00:01 Festival 3.1         OK                           149      30 SvenSE_1797&lt;br /&gt;
   1738   00:00:01 Festival 3.1         OK                            82      10 SvenSE_1798&lt;br /&gt;
   1739   00:00:00 Festival 3.1         OK                           135      17 SvenSE_1799&lt;br /&gt;
   1740   00:00:02 Festival 3.1         OK                          1602     554 SvenSE_18&lt;br /&gt;
   1741   00:00:01 Festival 3.1         OK                            67      10 SvenSE_180&lt;br /&gt;
   1742   00:00:01 Festival 3.1         OK                           186      45 SvenSE_1800&lt;br /&gt;
   1743   00:00:00 Festival 3.1         OK                            45      11 SvenSE_1801&lt;br /&gt;
   1744   00:00:01 Festival 3.1         OK                           106      10 SvenSE_1802&lt;br /&gt;
   1745   00:00:01 Festival 3.1         OK                           127      20 SvenSE_1803&lt;br /&gt;
   1746   00:00:00 Festival 3.1         OK                           105      11 SvenSE_1804&lt;br /&gt;
   1747   00:00:01 Festival 3.1         OK                            69      25 SvenSE_1805&lt;br /&gt;
   1748   00:00:00 Festival 3.1         OK                           183      43 SvenSE_1806&lt;br /&gt;
   1749   00:00:01 Festival 3.1         OK                           189      33 SvenSE_1807&lt;br /&gt;
   1750   00:00:01 Festival 3.1         OK                            91      18 SvenSE_1808&lt;br /&gt;
   1751   00:00:00 Festival 3.1         OK                           159      53 SvenSE_1809&lt;br /&gt;
   1752   00:00:01 Festival 3.1         OK                           143      20 SvenSE_181&lt;br /&gt;
   1753   00:00:01 Festival 3.1         OK                            99      28 SvenSE_1810&lt;br /&gt;
   1754   00:00:00 Festival 3.1         OK                           310     101 SvenSE_1811&lt;br /&gt;
   1755   00:00:01 Festival 3.1         OK                            93      27 SvenSE_1812&lt;br /&gt;
   1756   00:00:01 Festival 3.1         OK                            32       9 SvenSE_1813&lt;br /&gt;
   1757   00:00:00 Festival 3.1         OK                            41      14 SvenSE_1814&lt;br /&gt;
   1758   00:00:01 Festival 3.1         OK                            88      30 SvenSE_1815&lt;br /&gt;
   1759   00:00:01 Festival 3.1         OK                            83      18 SvenSE_1816&lt;br /&gt;
   1760   00:00:00 Festival 3.1         OK                           164      17 SvenSE_1817&lt;br /&gt;
   1761   00:00:01 Festival 3.1         OK                           431      78 SvenSE_1818&lt;br /&gt;
   1762   00:00:01 Festival 3.1         OK                           201      37 SvenSE_1819&lt;br /&gt;
   1763   00:00:00 Festival 3.1         OK                           471      82 SvenSE_182&lt;br /&gt;
   1764   00:00:02 Festival 3.1         OK                           261      32 SvenSE_1820&lt;br /&gt;
   1765   00:00:00 Festival 3.1         OK                           135      30 SvenSE_1821&lt;br /&gt;
   1766   00:00:01 Festival 3.1         OK                            45      22 SvenSE_1822&lt;br /&gt;
   1767   00:00:01 Festival 3.1         OK                           242      48 SvenSE_1823&lt;br /&gt;
   1768   00:00:00 Festival 3.1         OK                           128      21 SvenSE_1824&lt;br /&gt;
   1769   00:00:02 Festival 3.1         OK                           435      84 SvenSE_1825&lt;br /&gt;
   1770   00:00:01 Festival 3.1         OK                           254      49 SvenSE_1826&lt;br /&gt;
   1771   00:00:01 Festival 3.1         OK                           517      72 SvenSE_1827&lt;br /&gt;
   1772   00:00:01 Festival 3.1         OK                            57      12 SvenSE_1828&lt;br /&gt;
   1773   00:00:00 Festival 3.1         OK                           203      44 SvenSE_1829&lt;br /&gt;
   1774   00:00:03 Festival 3.1         OK                           989     170 SvenSE_183&lt;br /&gt;
   1775   00:00:02 Festival 3.1         OK                           886     212 SvenSE_1830&lt;br /&gt;
   1776   00:00:00 Festival 3.1         OK                           433     119 SvenSE_1831&lt;br /&gt;
   1777   00:00:01 Festival 3.1         OK                           262      58 SvenSE_1832&lt;br /&gt;
   1778   00:00:01 Festival 3.1         OK                           213      35 SvenSE_1833&lt;br /&gt;
   1779   00:00:01 Festival 3.1         OK                           305      86 SvenSE_1834&lt;br /&gt;
   1780   00:00:06 Festival 3.1         OK                           538     118 SvenSE_1835&lt;br /&gt;
   1781   00:00:01 Festival 3.1         OK                           369     132 SvenSE_1836&lt;br /&gt;
   1782   00:00:00 Festival 3.1         OK                            54      16 SvenSE_1837&lt;br /&gt;
   1783   00:00:01 Festival 3.1         OK                           302      42 SvenSE_1838&lt;br /&gt;
   1784   00:00:00 Festival 3.1         OK                           160      34 SvenSE_1839&lt;br /&gt;
   1785   00:00:06 Festival 3.1         OK                           268      53 SvenSE_184&lt;br /&gt;
   1786   00:00:01 Festival 3.1         OK                           182      22 SvenSE_1840&lt;br /&gt;
   1787   00:00:01 Festival 3.1         OK                           318      44 SvenSE_1841&lt;br /&gt;
   1788   00:00:01 Festival 3.1         OK                           413      57 SvenSE_1842&lt;br /&gt;
   1789   00:00:26 Festival 3.1         OK                           815     162 SvenSE_1843&lt;br /&gt;
   1790   00:00:00 Festival 3.1         OK                           148      38 SvenSE_1844&lt;br /&gt;
   1791   00:00:02 Festival 3.1         OK                           556     110 SvenSE_1845&lt;br /&gt;
   1792   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1846&lt;br /&gt;
   1793   00:00:00 Festival 3.1         OK                           213      46 SvenSE_1847&lt;br /&gt;
   1794   00:00:01 Festival 3.1         OK                           439      79 SvenSE_1848&lt;br /&gt;
   1795   00:00:01 Festival 3.1         OK                           362      81 SvenSE_1849&lt;br /&gt;
   1796   00:00:00 Festival 3.1         OK                           174      57 SvenSE_185&lt;br /&gt;
   1797   00:00:02 Festival 3.1         OK                           336      83 SvenSE_1850&lt;br /&gt;
   1798   00:00:00 Festival 3.1         OK                           435      98 SvenSE_1851&lt;br /&gt;
   1799   00:00:02 Festival 3.1         OK                           557     110 SvenSE_1852&lt;br /&gt;
   1800   00:00:02 Festival 3.1         OK                           585     116 SvenSE_1853&lt;br /&gt;
   1801   00:00:00 Festival 3.1         OK                            70      14 SvenSE_1854&lt;br /&gt;
   1802   00:00:01 Festival 3.1         OK                           385      72 SvenSE_1855&lt;br /&gt;
   1803   00:00:00 Festival 3.1         OK                           174      50 SvenSE_1856&lt;br /&gt;
   1804   00:00:02 Festival 3.1         OK                           789      65 SvenSE_1857&lt;br /&gt;
   1805   00:00:06 Festival 3.1         OK                           568      70 SvenSE_1858&lt;br /&gt;
   1806   00:00:06 Festival 3.1         OK                           360      64 SvenSE_1859&lt;br /&gt;
   1807   00:00:01 Festival 3.1         OK                           152      49 SvenSE_186&lt;br /&gt;
   1808   00:00:01 Festival 3.1         OK                           246      50 SvenSE_1860&lt;br /&gt;
   1809   00:00:00 Festival 3.1         OK                           173      52 SvenSE_1861&lt;br /&gt;
   1810   00:00:01 Festival 3.1         OK                           174      38 SvenSE_1862&lt;br /&gt;
   1811   00:00:00 Festival 3.1         OK                           153      20 SvenSE_1863&lt;br /&gt;
   1812   00:00:01 Festival 3.1         OK                           302      78 SvenSE_1864&lt;br /&gt;
   1813   00:00:00 Festival 3.1         OK                           372      67 SvenSE_1865&lt;br /&gt;
   1814   00:00:08 Festival 3.1         OK                           511     108 SvenSE_1866&lt;br /&gt;
   1815   00:00:01 Festival 3.1         OK                           130      26 SvenSE_1867&lt;br /&gt;
   1816   00:03:22 Festival 3.1         OK                           830     101 SvenSE_1868&lt;br /&gt;
   1817   00:00:01 Festival 3.1         OK                           260      26 SvenSE_1869&lt;br /&gt;
   1818   00:00:10 Festival 3.1         OK                          1446     268 SvenSE_187&lt;br /&gt;
   1819   00:00:00 Festival 3.1         OK                           120      14 SvenSE_1870&lt;br /&gt;
   1820   00:00:01 Festival 3.1         OK                            55       9 SvenSE_1871&lt;br /&gt;
   1821   00:00:01 Festival 3.1         OK                           249      30 SvenSE_1872&lt;br /&gt;
   1822   00:00:01 Festival 3.1         OK                           415      54 SvenSE_1873&lt;br /&gt;
   1823   00:00:01 Festival 3.1         OK                           277      27 SvenSE_1874&lt;br /&gt;
   1824   00:00:00 Festival 3.1         OK                           225      56 SvenSE_1875&lt;br /&gt;
   1825   00:00:01 Festival 3.1         OK                           340      48 SvenSE_1876&lt;br /&gt;
   1826   00:00:01 Festival 3.1         OK                           213      57 SvenSE_1877&lt;br /&gt;
   1827   00:00:01 Festival 3.1         OK                           185      41 SvenSE_1878&lt;br /&gt;
   1828   00:00:02 Festival 3.1         OK                           295      50 SvenSE_1879&lt;br /&gt;
   1829   00:01:45 Festival 3.1         OK                           933     140 SvenSE_188&lt;br /&gt;
   1830   00:00:09 Festival 3.1         OK                           821     106 SvenSE_1880&lt;br /&gt;
   1831   00:00:01 Festival 3.1         OK                           633     111 SvenSE_1881&lt;br /&gt;
   1832   00:00:00 Festival 3.1         OK                           219      50 SvenSE_1882&lt;br /&gt;
   1833   00:00:01 Festival 3.1         OK                           927     208 SvenSE_1883&lt;br /&gt;
   1834   00:00:01 Festival 3.1         OK                           558      80 SvenSE_1884&lt;br /&gt;
   1835   00:00:01 Festival 3.1         OK                           308      26 SvenSE_1885&lt;br /&gt;
   1836   00:00:02 Festival 3.1         OK                          1092     240 SvenSE_1886&lt;br /&gt;
   1837   00:00:01 Festival 3.1         OK                           670     142 SvenSE_1887&lt;br /&gt;
   1838   00:00:01 Festival 3.1         OK                           197      40 SvenSE_1888&lt;br /&gt;
   1839   00:00:00 Festival 3.1         OK                           101      20 SvenSE_1889&lt;br /&gt;
   1840   00:01:09 Festival 3.1         OK                           756     128 SvenSE_189&lt;br /&gt;
   1841   00:00:01 Festival 3.1         OK                           598     153 SvenSE_1890&lt;br /&gt;
   1842   00:00:01 Festival 3.1         OK                           396     189 SvenSE_1891&lt;br /&gt;
   1843   00:00:01 Festival 3.1         OK                          1073     211 SvenSE_1892&lt;br /&gt;
   1844   00:00:01 Festival 3.1         OK                            52      15 SvenSE_1893&lt;br /&gt;
   1845   00:00:00 Festival 3.1         OK                            64      14 SvenSE_1894&lt;br /&gt;
   1846   00:00:01 Festival 3.1         OK                           100      24 SvenSE_1895&lt;br /&gt;
   1847   00:00:00 Festival 3.1         OK                            71      23 SvenSE_1896&lt;br /&gt;
   1848   00:00:01 Festival 3.1         OK                            36      12 SvenSE_1897&lt;br /&gt;
   1849   00:00:01 Festival 3.1         OK                            64      17 SvenSE_1898&lt;br /&gt;
   1850   00:03:10 Festival 3.1         OK                          1704     198 SvenSE_1899&lt;br /&gt;
   1851   00:00:02 Festival 3.1         OK                          2094     650 SvenSE_19&lt;br /&gt;
   1852   00:00:00 Festival 3.1         OK                            24       8 SvenSE_190&lt;br /&gt;
   1853   00:00:02 Festival 3.1         OK                           260      48 SvenSE_1900&lt;br /&gt;
   1854   00:00:02 Festival 3.1         OK                           553      98 SvenSE_1901&lt;br /&gt;
   1855   00:00:01 Festival 3.1         OK                           157      33 SvenSE_1902&lt;br /&gt;
   1856   00:00:05 Festival 3.1         OK                           606      78 SvenSE_1903&lt;br /&gt;
   1857   00:00:02 Festival 3.1         OK                           426     116 SvenSE_1904&lt;br /&gt;
   1858   00:00:01 Festival 3.1         OK                           445      68 SvenSE_1905&lt;br /&gt;
   1859   00:01:34 Festival 3.1         OK                           731     114 SvenSE_1906&lt;br /&gt;
   1860   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_1907&lt;br /&gt;
   1861   00:00:00 Festival 3.1         OK                           149      33 SvenSE_1908&lt;br /&gt;
   1862   00:00:01 Festival 3.1         OK                           283      47 SvenSE_1909&lt;br /&gt;
   1863   00:00:01 Festival 3.1         OK                           238      36 SvenSE_191&lt;br /&gt;
   1864   00:00:01 Festival 3.1         OK                           295      46 SvenSE_1910&lt;br /&gt;
   1865   00:00:05 Festival 3.1         OK                           386      70 SvenSE_1911&lt;br /&gt;
   1866   00:00:01 Festival 3.1         OK                           476      86 SvenSE_192&lt;br /&gt;
   1867   00:00:01 Festival 3.1         OK                           196      43 SvenSE_193&lt;br /&gt;
   1868   00:00:01 Festival 3.1         OK                           248      42 SvenSE_194&lt;br /&gt;
   1869   00:00:00 Festival 3.1         OK                           228      80 SvenSE_195&lt;br /&gt;
   1870   00:00:44 Festival 3.1         OK                          5694     723 SvenSE_196&lt;br /&gt;
   1871   00:01:03 Festival 3.1         OK                          7182     952 SvenSE_197&lt;br /&gt;
   1872   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_198&lt;br /&gt;
   1873   00:01:56 Festival 3.1         OK                          1388     158 SvenSE_199&lt;br /&gt;
   1874   00:00:02 Festival 3.1         OK                          2035     872 SvenSE_2&lt;br /&gt;
   1875   00:00:01 Festival 3.1         OK                          2184     154 SvenSE_20&lt;br /&gt;
   1876   00:00:11 Festival 3.1         OK                           442      69 SvenSE_200&lt;br /&gt;
   1877   00:00:49 Festival 3.1         OK                           678     199 SvenSE_201&lt;br /&gt;
   1878   00:00:14 Festival 3.1         OK                          1443     341 SvenSE_202&lt;br /&gt;
   1879   00:00:02 Festival 3.1         OK                           380      48 SvenSE_203&lt;br /&gt;
   1880   00:00:05 Festival 3.1         OK                           632      94 SvenSE_204&lt;br /&gt;
   1881   00:03:44 Festival 3.1         OK                          9697    1267 SvenSE_205&lt;br /&gt;
   1882   00:03:38 Festival 3.1         OK                          5038     613 SvenSE_206&lt;br /&gt;
   1883   00:01:36 Festival 3.1         OK                          7938    1043 SvenSE_207&lt;br /&gt;
   1884   00:03:22 Festival 3.1         OK                          9947    1311 SvenSE_208&lt;br /&gt;
   1885   00:00:39 Festival 3.1         OK                          2048     257 SvenSE_209&lt;br /&gt;
   1886   00:00:03 Festival 3.1         OK                          2085     541 SvenSE_21&lt;br /&gt;
   1887   00:00:00 Festival 3.1         OK                           127      41 SvenSE_210&lt;br /&gt;
   1888   00:00:20 Festival 3.1         OK                           774      88 SvenSE_211&lt;br /&gt;
   1889   00:00:02 Festival 3.1         OK                           220      26 SvenSE_212&lt;br /&gt;
   1890   00:00:13 Festival 3.1         OK                           244      36 SvenSE_213&lt;br /&gt;
   1891   00:00:24 Festival 3.1         OK                           466      84 SvenSE_214&lt;br /&gt;
   1892   00:00:32 Festival 3.1         OK                           710      96 SvenSE_215&lt;br /&gt;
   1893   00:04:46 Festival 3.1         OK                          1924     216 SvenSE_216&lt;br /&gt;
   1894   00:04:44 Festival 3.1         OK                          1246     124 SvenSE_217&lt;br /&gt;
   1895   00:08:02 Festival 3.1         OK                          3292     396 SvenSE_218&lt;br /&gt;
   1896   00:03:25 Festival 3.1         OK                           730     126 SvenSE_219&lt;br /&gt;
   1897   00:00:01 Festival 3.1         OK                           874     186 SvenSE_22&lt;br /&gt;
   1898   00:01:47 Festival 3.1         OK                           948     142 SvenSE_220&lt;br /&gt;
   1899   00:02:50 Festival 3.1         OK                          2040     236 SvenSE_221&lt;br /&gt;
   1900   00:03:51 Festival 3.1         OK                          4844     414 SvenSE_222&lt;br /&gt;
   1901   00:02:57 Festival 3.1         OK                          3280     284 SvenSE_223&lt;br /&gt;
   1902   00:05:35 Festival 3.1         OK                          2916     260 SvenSE_224&lt;br /&gt;
   1903   00:06:24 Festival 3.1         OK                          3876     412 SvenSE_225&lt;br /&gt;
   1904   00:02:57 Festival 3.1         OK                          7398     781 SvenSE_226&lt;br /&gt;
   1905   00:04:39 Festival 3.1         OK                          5759     662 SvenSE_227&lt;br /&gt;
   1906   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_228&lt;br /&gt;
   1907   00:00:02 Festival 3.1         OK                           566     138 SvenSE_229&lt;br /&gt;
   1908   00:00:44 Festival 3.1         OK                          4883    1695 SvenSE_23&lt;br /&gt;
   1909   00:00:00 Festival 3.1         OK                           726     214 SvenSE_230&lt;br /&gt;
   1910   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_231&lt;br /&gt;
   1911   00:02:12 Festival 3.1         OK                          2382     222 SvenSE_232&lt;br /&gt;
   1912   00:05:31 Festival 3.1         OK                          1626     178 SvenSE_233&lt;br /&gt;
   1913   00:00:02 Festival 3.1         OK                          1661     625 SvenSE_234&lt;br /&gt;
   1914   00:00:03 Festival 3.1         OK                          1375     445 SvenSE_235&lt;br /&gt;
   1915   00:00:00 Festival 3.1         OK                           468      85 SvenSE_236&lt;br /&gt;
   1916   00:00:01 Festival 3.1         OK                           598      82 SvenSE_237&lt;br /&gt;
   1917   00:00:01 Festival 3.1         OK                           746     125 SvenSE_238&lt;br /&gt;
   1918   00:03:27 Festival 3.1         OK                          1147     297 SvenSE_239&lt;br /&gt;
   1919   00:00:34 Festival 3.1         OK                          3622     651 SvenSE_24&lt;br /&gt;
   1920   00:00:06 Festival 3.1         OK                          1341     401 SvenSE_240&lt;br /&gt;
   1921   00:00:02 Festival 3.1         OK                           499     142 SvenSE_241&lt;br /&gt;
   1922   00:00:01 Festival 3.1         OK                           623     150 SvenSE_242&lt;br /&gt;
   1923   00:00:08 Festival 3.1         OK                          1041     123 SvenSE_243&lt;br /&gt;
   1924   00:00:12 Festival 3.1         OK                          1142     134 SvenSE_244&lt;br /&gt;
   1925   00:00:01 Festival 3.1         OK                           241      58 SvenSE_245&lt;br /&gt;
   1926   00:00:01 Festival 3.1         OK                            88      16 SvenSE_246&lt;br /&gt;
   1927   00:00:02 Festival 3.1         OK                           282      22 SvenSE_247&lt;br /&gt;
   1928   00:00:00 Festival 3.1         OK                            67      16 SvenSE_248&lt;br /&gt;
   1929   00:00:47 Festival 3.1         OK                           835     106 SvenSE_249&lt;br /&gt;
   1930   00:00:01 Festival 3.1         OK                           415      87 SvenSE_25&lt;br /&gt;
   1931   00:00:03 Festival 3.1         OK                           729      82 SvenSE_250&lt;br /&gt;
   1932   00:00:00 Festival 3.1         OK                            54      14 SvenSE_251&lt;br /&gt;
   1933   00:00:01 Festival 3.1         OK                            73      16 SvenSE_252&lt;br /&gt;
   1934   00:00:00 Festival 3.1         OK                            57      14 SvenSE_253&lt;br /&gt;
   1935   00:00:01 Festival 3.1         OK                            45      12 SvenSE_254&lt;br /&gt;
   1936   00:00:00 Festival 3.1         OK                            43      12 SvenSE_255&lt;br /&gt;
   1937   00:00:01 Festival 3.1         OK                           132      28 SvenSE_256&lt;br /&gt;
   1938   00:00:01 Festival 3.1         OK                           440      74 SvenSE_257&lt;br /&gt;
   1939   00:00:00 Festival 3.1         OK                           214      22 SvenSE_258&lt;br /&gt;
   1940   00:00:02 Festival 3.1         OK                           455     162 SvenSE_259&lt;br /&gt;
   1941   00:00:01 Festival 3.1         OK                           256      56 SvenSE_26&lt;br /&gt;
   1942   00:00:01 Festival 3.1         OK                           261      50 SvenSE_260&lt;br /&gt;
   1943   00:00:01 Festival 3.1         OK                           511     121 SvenSE_261&lt;br /&gt;
   1944   00:00:01 Festival 3.1         OK                            33      10 SvenSE_262&lt;br /&gt;
   1945   00:00:00 Festival 3.1         OK                            39      12 SvenSE_263&lt;br /&gt;
   1946   00:00:01 Festival 3.1         OK                            35      12 SvenSE_264&lt;br /&gt;
   1947   00:00:01 Festival 3.1         OK                            59      14 SvenSE_265&lt;br /&gt;
   1948   00:00:00 Festival 3.1         OK                            47      14 SvenSE_266&lt;br /&gt;
   1949   00:00:01 Festival 3.1         OK                           709     185 SvenSE_267&lt;br /&gt;
   1950   00:03:24 Festival 3.1         OK                           645      96 SvenSE_268&lt;br /&gt;
   1951   00:00:01 Festival 3.1         OK                            89      23 SvenSE_269&lt;br /&gt;
   1952   00:00:00 Festival 3.1         OK                           310      40 SvenSE_27&lt;br /&gt;
   1953   00:04:33 Festival 3.1         OK                          1227     198 SvenSE_270&lt;br /&gt;
   1954   00:08:45 Festival 3.1         OK                          2828     753 SvenSE_271&lt;br /&gt;
   1955   00:00:01 Festival 3.1         OK                          1523     474 SvenSE_272&lt;br /&gt;
   1956   00:00:03 Festival 3.1         OK                          2491     430 SvenSE_273&lt;br /&gt;
   1957   00:01:08 Festival 3.1         OK                          2294     513 SvenSE_274&lt;br /&gt;
   1958   00:00:00 Festival 3.1         OK                           217      28 SvenSE_275&lt;br /&gt;
   1959   00:00:01 Festival 3.1         OK                            95      14 SvenSE_276&lt;br /&gt;
   1960   00:00:01 Festival 3.1         OK                           239      38 SvenSE_277&lt;br /&gt;
   1961   00:00:34 Festival 3.1         OK                          3771    1372 SvenSE_278&lt;br /&gt;
   1962   00:07:01 Festival 3.1         OK                          8153    1555 SvenSE_279&lt;br /&gt;
   1963   00:00:01 Festival 3.1         OK                           276      46 SvenSE_28&lt;br /&gt;
   1964   00:02:11 Festival 3.1         OK                          1791     306 SvenSE_280&lt;br /&gt;
   1965   00:00:01 Festival 3.1         OK                           536     124 SvenSE_281&lt;br /&gt;
   1966   00:00:02 Festival 3.1         OK                           412      70 SvenSE_282&lt;br /&gt;
   1967   00:01:34 Festival 3.1         OK                          1175     286 SvenSE_283&lt;br /&gt;
   1968   00:00:01 Festival 3.1         OK                           402      75 SvenSE_284&lt;br /&gt;
   1969   00:00:10 Festival 3.1         OK                           518      99 SvenSE_285&lt;br /&gt;
   1970   00:00:03 Festival 3.1         OK                           405      69 SvenSE_286&lt;br /&gt;
   1971   00:00:10 Festival 3.1         OK                           403      60 SvenSE_287&lt;br /&gt;
   1972   00:00:01 Festival 3.1         OK                           452      82 SvenSE_288&lt;br /&gt;
   1973   00:00:01 Festival 3.1         OK                          1116     230 SvenSE_289&lt;br /&gt;
   1974   00:00:00 Festival 3.1         OK                           360      69 SvenSE_29&lt;br /&gt;
   1975   00:00:01 Festival 3.1         OK                           393     123 SvenSE_290&lt;br /&gt;
   1976   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_291&lt;br /&gt;
   1977   00:00:40 Festival 3.1         OK                          2257     580 SvenSE_292&lt;br /&gt;
   1978   00:08:55 Festival 3.1         OK                           986     174 SvenSE_293&lt;br /&gt;
   1979   00:00:01 Festival 3.1         OK                            79      29 SvenSE_294&lt;br /&gt;
   1980   00:03:28 Festival 3.1         OK                          3586     807 SvenSE_295&lt;br /&gt;
   1981   00:00:01 Festival 3.1         OK                           257      68 SvenSE_296&lt;br /&gt;
   1982   00:00:05 Festival 3.1         OK                           409     118 SvenSE_297&lt;br /&gt;
   1983   00:00:00 Festival 3.1         OK                            50       8 SvenSE_298&lt;br /&gt;
   1984   00:00:02 Festival 3.1         OK                           588      96 SvenSE_299&lt;br /&gt;
   1985   00:00:01 Festival 3.1         OK                           669     129 SvenSE_3&lt;br /&gt;
   1986   00:00:25 Festival 3.1         OK                          3399     655 SvenSE_30&lt;br /&gt;
   1987   00:00:19 Festival 3.1         OK                           605     184 SvenSE_300&lt;br /&gt;
   1988   00:07:34 Festival 3.1         OK                          4770     943 SvenSE_301&lt;br /&gt;
   1989   00:00:01 Festival 3.1         OK                           114      15 SvenSE_302&lt;br /&gt;
   1990   00:00:00 Festival 3.1         OK                           106      14 SvenSE_303&lt;br /&gt;
   1991   00:00:02 Festival 3.1         OK                           331      44 SvenSE_304&lt;br /&gt;
   1992   00:00:01 Festival 3.1         OK                           311      40 SvenSE_305&lt;br /&gt;
   1993   00:00:01 Festival 3.1         OK                           131      23 SvenSE_306&lt;br /&gt;
   1994   00:00:01 Festival 3.1         OK                           180      27 SvenSE_307&lt;br /&gt;
   1995   00:00:01 Festival 3.1         OK                           220      38 SvenSE_308&lt;br /&gt;
   1996   00:00:01 Festival 3.1         OK                           296      55 SvenSE_309&lt;br /&gt;
   1997   00:00:02 Festival 3.1         OK                          2536     703 SvenSE_31&lt;br /&gt;
   1998   00:00:00 Festival 3.1         OK                           237      51 SvenSE_310&lt;br /&gt;
   1999   00:00:01 Festival 3.1         OK                           240      50 SvenSE_311&lt;br /&gt;
   2000   00:00:03 Festival 3.1         OK                           476      58 SvenSE_312&lt;br /&gt;
   2001   00:00:06 Festival 3.1         OK                           575      86 SvenSE_313&lt;br /&gt;
   2002   00:00:01 Festival 3.1         OK                            94      26 SvenSE_314&lt;br /&gt;
   2003   00:00:00 Festival 3.1         OK                            60      17 SvenSE_315&lt;br /&gt;
   2004   00:00:00 Festival 3.1         OK                           138      37 SvenSE_316&lt;br /&gt;
   2005   00:00:01 Festival 3.1         OK                           119      26 SvenSE_317&lt;br /&gt;
   2006   00:00:00 Festival 3.1         OK                           189      50 SvenSE_318&lt;br /&gt;
   2007   00:00:01 Festival 3.1         OK                           296      83 SvenSE_319&lt;br /&gt;
   2008   00:00:00 Festival 3.1         OK                           350      36 SvenSE_32&lt;br /&gt;
   2009   00:00:01 Festival 3.1         OK                           399     105 SvenSE_320&lt;br /&gt;
   2010   00:00:01 Festival 3.1         OK                           168      22 SvenSE_321&lt;br /&gt;
   2011   00:00:00 Festival 3.1         OK                           140      17 SvenSE_322&lt;br /&gt;
   2012   00:00:01 Festival 3.1         OK                           110      17 SvenSE_323&lt;br /&gt;
   2013   00:00:00 Festival 3.1         OK                           412      66 SvenSE_324&lt;br /&gt;
   2014   00:00:02 Festival 3.1         OK                           406      76 SvenSE_325&lt;br /&gt;
   2015   00:00:10 Festival 3.1         OK                          1270     226 SvenSE_326&lt;br /&gt;
   2016   00:01:35 Festival 3.1         OK                           842      92 SvenSE_327&lt;br /&gt;
   2017   00:00:01 Festival 3.1         OK                           404      70 SvenSE_328&lt;br /&gt;
   2018   00:00:01 Festival 3.1         OK                           272      80 SvenSE_329&lt;br /&gt;
   2019   00:00:00 Festival 3.1         OK                           730      95 SvenSE_33&lt;br /&gt;
   2020   00:00:01 Festival 3.1         OK                           132      18 SvenSE_330&lt;br /&gt;
   2021   00:00:02 Festival 3.1         OK                           303      55 SvenSE_331&lt;br /&gt;
   2022   00:00:02 Festival 3.1         OK                           345      48 SvenSE_332&lt;br /&gt;
   2023   00:00:01 Festival 3.1         OK                           341      54 SvenSE_333&lt;br /&gt;
   2024   00:00:12 Festival 3.1         OK                           174      32 SvenSE_334&lt;br /&gt;
   2025   00:00:01 Festival 3.1         OK                            43      15 SvenSE_335&lt;br /&gt;
   2026   00:00:00 Festival 3.1         OK                            58      19 SvenSE_336&lt;br /&gt;
   2027   00:00:01 Festival 3.1         OK                           250      49 SvenSE_337&lt;br /&gt;
   2028   00:00:01 Festival 3.1         OK                           121      15 SvenSE_338&lt;br /&gt;
   2029   00:00:01 Festival 3.1         OK                           340      28 SvenSE_339&lt;br /&gt;
   2030   00:03:28 Festival 3.1         OK                          2186     494 SvenSE_34&lt;br /&gt;
   2031   00:01:19 Festival 3.1         OK                           715      70 SvenSE_340&lt;br /&gt;
   2032   00:04:54 Festival 3.1         OK                          1151     167 SvenSE_341&lt;br /&gt;
   2033   00:00:01 Festival 3.1         OK                           514      84 SvenSE_342&lt;br /&gt;
   2034   00:02:05 Festival 3.1         OK                          1526     262 SvenSE_343&lt;br /&gt;
   2035   00:00:00 Festival 3.1         OK                           113      18 SvenSE_344&lt;br /&gt;
   2036   00:00:04 Festival 3.1         OK                           385      40 SvenSE_345&lt;br /&gt;
   2037   00:00:01 Festival 3.1         OK                            41      10 SvenSE_346&lt;br /&gt;
   2038   00:00:01 Festival 3.1         OK                           405      64 SvenSE_347&lt;br /&gt;
   2039   00:00:01 Festival 3.1         OK                           142      30 SvenSE_348&lt;br /&gt;
   2040   00:00:00 Festival 3.1         OK                           146      28 SvenSE_349&lt;br /&gt;
   2041   00:00:01 Festival 3.1         OK                           190      23 SvenSE_35&lt;br /&gt;
   2042   00:00:01 Festival 3.1         OK                            80      14 SvenSE_350&lt;br /&gt;
   2043   00:00:00 Festival 3.1         OK                            56      16 SvenSE_351&lt;br /&gt;
   2044   00:00:01 Festival 3.1         OK                           181      42 SvenSE_352&lt;br /&gt;
   2045   00:00:00 Festival 3.1         OK                           232      45 SvenSE_353&lt;br /&gt;
   2046   00:00:01 Festival 3.1         OK                           167      32 SvenSE_354&lt;br /&gt;
   2047   00:00:00 Festival 3.1         OK                            97      18 SvenSE_355&lt;br /&gt;
   2048   00:00:00 Festival 3.1         OK                           128      27 SvenSE_356&lt;br /&gt;
   2049   00:00:01 Festival 3.1         OK                           277      42 SvenSE_357&lt;br /&gt;
   2050   00:00:01 Festival 3.1         OK                           168      50 SvenSE_358&lt;br /&gt;
   2051   00:00:00 Festival 3.1         OK                           194      39 SvenSE_359&lt;br /&gt;
   2052   00:00:01 Festival 3.1         OK                           318      54 SvenSE_36&lt;br /&gt;
   2053   00:00:01 Festival 3.1         OK                            75      20 SvenSE_360&lt;br /&gt;
   2054   00:00:00 Festival 3.1         OK                            81      20 SvenSE_361&lt;br /&gt;
   2055   00:00:01 Festival 3.1         OK                            70      21 SvenSE_362&lt;br /&gt;
   2056   00:00:01 Festival 3.1         OK                           263      41 SvenSE_363&lt;br /&gt;
   2057   00:00:01 Festival 3.1         OK                            73      17 SvenSE_364&lt;br /&gt;
   2058   00:00:00 Festival 3.1         OK                           191      46 SvenSE_365&lt;br /&gt;
   2059   00:00:01 Festival 3.1         OK                            97      48 SvenSE_366&lt;br /&gt;
   2060   00:00:00 Festival 3.1         OK                           104      50 SvenSE_367&lt;br /&gt;
   2061   00:00:01 Festival 3.1         OK                           275      78 SvenSE_368&lt;br /&gt;
   2062   00:00:01 Festival 3.1         OK                           177      36 SvenSE_369&lt;br /&gt;
   2063   00:00:00 Festival 3.1         OK                          1054     214 SvenSE_37&lt;br /&gt;
   2064   00:00:01 Festival 3.1         OK                           149      32 SvenSE_370&lt;br /&gt;
   2065   00:00:01 Festival 3.1         OK                           135      29 SvenSE_371&lt;br /&gt;
   2066   00:00:00 Festival 3.1         OK                           141      35 SvenSE_372&lt;br /&gt;
   2067   00:00:01 Festival 3.1         OK                           185      38 SvenSE_373&lt;br /&gt;
   2068   00:00:00 Festival 3.1         OK                           273      57 SvenSE_374&lt;br /&gt;
   2069   00:00:01 Festival 3.1         OK                           265      55 SvenSE_375&lt;br /&gt;
   2070   00:00:01 Festival 3.1         OK                           145      38 SvenSE_376&lt;br /&gt;
   2071   00:00:00 Festival 3.1         OK                           214      58 SvenSE_377&lt;br /&gt;
   2072   00:00:01 Festival 3.1         OK                           219      39 SvenSE_378&lt;br /&gt;
   2073   00:00:00 Festival 3.1         OK                           113      35 SvenSE_379&lt;br /&gt;
   2074   00:00:01 Festival 3.1         OK                           426      62 SvenSE_38&lt;br /&gt;
   2075   00:00:00 Festival 3.1         OK                           233      53 SvenSE_380&lt;br /&gt;
   2076   00:00:01 Festival 3.1         OK                            82      26 SvenSE_381&lt;br /&gt;
   2077   00:00:01 Festival 3.1         OK                           170      42 SvenSE_382&lt;br /&gt;
   2078   00:00:00 Festival 3.1         OK                           185      46 SvenSE_383&lt;br /&gt;
   2079   00:00:01 Festival 3.1         OK                           127      36 SvenSE_384&lt;br /&gt;
   2080   00:00:00 Festival 3.1         OK                           115      22 SvenSE_385&lt;br /&gt;
   2081   00:00:02 Festival 3.1         OK                           222      26 SvenSE_386&lt;br /&gt;
   2082   00:00:01 Festival 3.1         OK                           182      29 SvenSE_387&lt;br /&gt;
   2083   00:00:00 Festival 3.1         OK                           268      48 SvenSE_388&lt;br /&gt;
   2084   00:00:01 Festival 3.1         OK                           256      39 SvenSE_389&lt;br /&gt;
   2085   00:00:01 Festival 3.1         OK                          1110     157 SvenSE_39&lt;br /&gt;
   2086   00:00:01 Festival 3.1         OK                           288      38 SvenSE_390&lt;br /&gt;
   2087   00:00:01 Festival 3.1         OK                           356      42 SvenSE_391&lt;br /&gt;
   2088   00:00:01 Festival 3.1         OK                           224      25 SvenSE_392&lt;br /&gt;
   2089   00:00:01 Festival 3.1         OK                           342      37 SvenSE_393&lt;br /&gt;
   2090   00:00:00 Festival 3.1         OK                           134      20 SvenSE_394&lt;br /&gt;
   2091   00:00:01 Festival 3.1         OK                           201      39 SvenSE_395&lt;br /&gt;
   2092   00:00:00 Festival 3.1         OK                           241      37 SvenSE_396&lt;br /&gt;
   2093   00:00:01 Festival 3.1         OK                           123      28 SvenSE_397&lt;br /&gt;
   2094   00:00:01 Festival 3.1         OK                           218      51 SvenSE_398&lt;br /&gt;
   2095   00:00:03 Festival 3.1         OK                           190      40 SvenSE_399&lt;br /&gt;
   2096   00:00:03 Festival 3.1         OK                           951     148 SvenSE_4&lt;br /&gt;
   2097   00:00:00 Festival 3.1         OK                           882      54 SvenSE_40&lt;br /&gt;
   2098   00:00:03 Festival 3.1         OK                           211      38 SvenSE_400&lt;br /&gt;
   2099   00:00:01 Festival 3.1         OK                           139      34 SvenSE_401&lt;br /&gt;
   2100   00:00:00 Festival 3.1         OK                           138      29 SvenSE_402&lt;br /&gt;
   2101   00:00:01 Festival 3.1         OK                           220      43 SvenSE_403&lt;br /&gt;
   2102   00:00:01 Festival 3.1         OK                           150      35 SvenSE_404&lt;br /&gt;
   2103   00:00:00 Festival 3.1         OK                            89      20 SvenSE_405&lt;br /&gt;
   2104   00:00:01 Festival 3.1         OK                            63      17 SvenSE_406&lt;br /&gt;
   2105   00:00:00 Festival 3.1         OK                            27      10 SvenSE_407&lt;br /&gt;
   2106   00:00:01 Festival 3.1         OK                            56      15 SvenSE_408&lt;br /&gt;
   2107   00:00:01 Festival 3.1         OK                            49      15 SvenSE_409&lt;br /&gt;
   2108   00:00:00 Festival 3.1         OK                           120      15 SvenSE_41&lt;br /&gt;
   2109   00:00:01 Festival 3.1         OK                            57      17 SvenSE_410&lt;br /&gt;
   2110   00:00:00 Festival 3.1         OK                            44      15 SvenSE_411&lt;br /&gt;
   2111   00:00:01 Festival 3.1         OK                            45      15 SvenSE_412&lt;br /&gt;
   2112   00:00:01 Festival 3.1         OK                            71      20 SvenSE_413&lt;br /&gt;
   2113   00:00:00 Festival 3.1         OK                            76      23 SvenSE_414&lt;br /&gt;
   2114   00:00:01 Festival 3.1         OK                            72      23 SvenSE_415&lt;br /&gt;
   2115   00:00:00 Festival 3.1         OK                            78      21 SvenSE_416&lt;br /&gt;
   2116   00:00:01 Festival 3.1         OK                            88      23 SvenSE_417&lt;br /&gt;
   2117   00:00:01 Festival 3.1         OK                            62      19 SvenSE_418&lt;br /&gt;
   2118   00:00:00 Festival 3.1         OK                            46      15 SvenSE_419&lt;br /&gt;
   2119   00:03:07 Festival 3.1         OK                          4080     399 SvenSE_42&lt;br /&gt;
   2120   00:00:00 Festival 3.1         OK                            50      16 SvenSE_420&lt;br /&gt;
   2121   00:00:01 Festival 3.1         OK                            50      16 SvenSE_421&lt;br /&gt;
   2122   00:00:00 Festival 3.1         OK                            43      13 SvenSE_422&lt;br /&gt;
   2123   00:00:01 Festival 3.1         OK                            79      20 SvenSE_423&lt;br /&gt;
   2124   00:00:01 Festival 3.1         OK                            60      17 SvenSE_424&lt;br /&gt;
   2125   00:00:00 Festival 3.1         OK                            58      17 SvenSE_425&lt;br /&gt;
   2126   00:00:01 Festival 3.1         OK                            45      14 SvenSE_426&lt;br /&gt;
   2127   00:00:01 Festival 3.1         OK                            45      14 SvenSE_427&lt;br /&gt;
   2128   00:00:00 Festival 3.1         OK                            38       9 SvenSE_428&lt;br /&gt;
   2129   00:00:01 Festival 3.1         OK                            58       9 SvenSE_429&lt;br /&gt;
   2130   00:00:01 Festival 3.1         OK                           893     254 SvenSE_43&lt;br /&gt;
   2131   00:00:01 Festival 3.1         OK                            45      10 SvenSE_430&lt;br /&gt;
   2132   00:00:01 Festival 3.1         OK                           220      40 SvenSE_431&lt;br /&gt;
   2133   00:00:00 Festival 3.1         OK                           376      84 SvenSE_432&lt;br /&gt;
   2134   00:00:01 Festival 3.1         OK                           340      66 SvenSE_433&lt;br /&gt;
   2135   00:00:01 Festival 3.1         OK                           308      66 SvenSE_434&lt;br /&gt;
   2136   00:00:01 Festival 3.1         OK                           344      68 SvenSE_435&lt;br /&gt;
   2137   00:00:00 Festival 3.1         OK                           107      20 SvenSE_436&lt;br /&gt;
   2138   00:00:01 Festival 3.1         OK                           122      24 SvenSE_437&lt;br /&gt;
   2139   00:00:00 Festival 3.1         OK                           176      30 SvenSE_438&lt;br /&gt;
   2140   00:00:01 Festival 3.1         OK                           208      32 SvenSE_439&lt;br /&gt;
   2141   00:00:01 Festival 3.1         OK                            55      10 SvenSE_44&lt;br /&gt;
   2142   00:00:00 Festival 3.1         OK                           184      28 SvenSE_440&lt;br /&gt;
   2143   00:00:01 Festival 3.1         OK                           334      68 SvenSE_441&lt;br /&gt;
   2144   00:00:01 Festival 3.1         OK                           328      68 SvenSE_442&lt;br /&gt;
   2145   00:00:01 Festival 3.1         OK                           290      68 SvenSE_443&lt;br /&gt;
   2146   00:00:01 Festival 3.1         OK                           372      84 SvenSE_444&lt;br /&gt;
   2147   00:00:00 Festival 3.1         OK                           231      51 SvenSE_445&lt;br /&gt;
   2148   00:00:01 Festival 3.1         OK                           309      65 SvenSE_446&lt;br /&gt;
   2149   00:00:01 Festival 3.1         OK                           163      28 SvenSE_447&lt;br /&gt;
   2150   00:00:00 Festival 3.1         OK                            93      28 SvenSE_448&lt;br /&gt;
   2151   00:00:01 Festival 3.1         OK                            91      36 SvenSE_449&lt;br /&gt;
   2152   00:00:00 Festival 3.1         OK                          1571     442 SvenSE_45&lt;br /&gt;
   2153   00:00:01 Festival 3.1         OK                           189      67 SvenSE_450&lt;br /&gt;
   2154   00:00:01 Festival 3.1         OK                            85      27 SvenSE_451&lt;br /&gt;
   2155   00:00:01 Festival 3.1         OK                            96      27 SvenSE_452&lt;br /&gt;
   2156   00:00:01 Festival 3.1         OK                            75      27 SvenSE_453&lt;br /&gt;
   2157   00:00:01 Festival 3.1         OK                            30      10 SvenSE_454&lt;br /&gt;
   2158   00:00:00 Festival 3.1         OK                            51       9 SvenSE_455&lt;br /&gt;
   2159   00:00:01 Festival 3.1         OK                           212      71 SvenSE_456&lt;br /&gt;
   2160   00:00:00 Festival 3.1         OK                            65      25 SvenSE_457&lt;br /&gt;
   2161   00:00:01 Festival 3.1         OK                           182      27 SvenSE_458&lt;br /&gt;
   2162   00:00:01 Festival 3.1         OK                           216      33 SvenSE_459&lt;br /&gt;
   2163   00:00:02 Festival 3.1         OK                          1152     226 SvenSE_46&lt;br /&gt;
   2164   00:00:00 Festival 3.1         OK                            83      22 SvenSE_460&lt;br /&gt;
   2165   00:00:01 Festival 3.1         OK                            61      17 SvenSE_461&lt;br /&gt;
   2166   00:00:01 Festival 3.1         OK                            94      23 SvenSE_462&lt;br /&gt;
   2167   00:00:00 Festival 3.1         OK                           102      23 SvenSE_463&lt;br /&gt;
   2168   00:00:01 Festival 3.1         OK                           155      29 SvenSE_464&lt;br /&gt;
   2169   00:00:01 Festival 3.1         OK                           176      37 SvenSE_465&lt;br /&gt;
   2170   00:00:00 Festival 3.1         OK                           195      31 SvenSE_466&lt;br /&gt;
   2171   00:00:01 Festival 3.1         OK                           192      31 SvenSE_467&lt;br /&gt;
   2172   00:00:01 Festival 3.1         OK                           197      32 SvenSE_468&lt;br /&gt;
   2173   00:00:01 Festival 3.1         OK                           214      32 SvenSE_469&lt;br /&gt;
   2174   00:00:00 Festival 3.1         OK                          3311     504 SvenSE_47&lt;br /&gt;
   2175   00:00:01 Festival 3.1         OK                            85      20 SvenSE_470&lt;br /&gt;
   2176   00:00:02 Festival 3.1         OK                           415      76 SvenSE_471&lt;br /&gt;
   2177   00:00:01 Festival 3.1         OK                           491      90 SvenSE_472&lt;br /&gt;
   2178   00:00:01 Festival 3.1         OK                            98      35 SvenSE_473&lt;br /&gt;
   2179   00:00:00 Festival 3.1         OK                           102      37 SvenSE_474&lt;br /&gt;
   2180   00:00:01 Festival 3.1         OK                           156      33 SvenSE_475&lt;br /&gt;
   2181   00:00:01 Festival 3.1         OK                            62      18 SvenSE_476&lt;br /&gt;
   2182   00:00:01 Festival 3.1         OK                            81      22 SvenSE_477&lt;br /&gt;
   2183   00:00:01 Festival 3.1         OK                            76      21 SvenSE_478&lt;br /&gt;
   2184   00:00:01 Festival 3.1         OK                            70      21 SvenSE_479&lt;br /&gt;
   2185   00:00:02 Festival 3.1         OK                           458     118 SvenSE_48&lt;br /&gt;
   2186   00:00:01 Festival 3.1         OK                            83      23 SvenSE_480&lt;br /&gt;
   2187   00:00:00 Festival 3.1         OK                           250      28 SvenSE_481&lt;br /&gt;
   2188   00:00:01 Festival 3.1         OK                           195      26 SvenSE_482&lt;br /&gt;
   2189   00:00:01 Festival 3.1         OK                           220      26 SvenSE_483&lt;br /&gt;
   2190   00:00:01 Festival 3.1         OK                           183      26 SvenSE_484&lt;br /&gt;
   2191   00:00:01 Festival 3.1         OK                           147      36 SvenSE_485&lt;br /&gt;
   2192   00:00:00 Festival 3.1         OK                           125      32 SvenSE_486&lt;br /&gt;
   2193   00:00:01 Festival 3.1         OK                           154      40 SvenSE_487&lt;br /&gt;
   2194   00:00:00 Festival 3.1         OK                           121      26 SvenSE_488&lt;br /&gt;
   2195   00:00:01 Festival 3.1         OK                           110      22 SvenSE_489&lt;br /&gt;
   2196   00:00:02 Festival 3.1         OK                           981     329 SvenSE_49&lt;br /&gt;
   2197   00:00:01 Festival 3.1         OK                           159      32 SvenSE_490&lt;br /&gt;
   2198   00:00:01 Festival 3.1         OK                           107      35 SvenSE_491&lt;br /&gt;
   2199   00:00:00 Festival 3.1         OK                           133      37 SvenSE_492&lt;br /&gt;
   2200   00:00:01 Festival 3.1         OK                           146      37 SvenSE_493&lt;br /&gt;
   2201   00:00:01 Festival 3.1         OK                           229      49 SvenSE_494&lt;br /&gt;
   2202   00:00:00 Festival 3.1         OK                           200      42 SvenSE_495&lt;br /&gt;
   2203   00:00:01 Festival 3.1         OK                           211      42 SvenSE_496&lt;br /&gt;
   2204   00:00:01 Festival 3.1         OK                           199      42 SvenSE_497&lt;br /&gt;
   2205   00:00:01 Festival 3.1         OK                           257      58 SvenSE_498&lt;br /&gt;
   2206   00:00:00 Festival 3.1         OK                           111      31 SvenSE_499&lt;br /&gt;
   2207   00:00:08 Festival 3.1         OK                           754     123 SvenSE_5&lt;br /&gt;
   2208   00:00:01 Festival 3.1         OK                           330      55 SvenSE_50&lt;br /&gt;
   2209   00:00:01 Festival 3.1         OK                            83      28 SvenSE_500&lt;br /&gt;
   2210   00:00:00 Festival 3.1         OK                            71      25 SvenSE_501&lt;br /&gt;
   2211   00:00:01 Festival 3.1         OK                           101      36 SvenSE_502&lt;br /&gt;
   2212   00:00:01 Festival 3.1         OK                            83      28 SvenSE_503&lt;br /&gt;
   2213   00:00:00 Festival 3.1         OK                            81      27 SvenSE_504&lt;br /&gt;
   2214   00:00:01 Festival 3.1         OK                           166      51 SvenSE_505&lt;br /&gt;
   2215   00:00:01 Festival 3.1         OK                           158      47 SvenSE_506&lt;br /&gt;
   2216   00:00:00 Festival 3.1         OK                           362     102 SvenSE_507&lt;br /&gt;
   2217   00:00:01 Festival 3.1         OK                           142      47 SvenSE_508&lt;br /&gt;
   2218   00:00:01 Festival 3.1         OK                           166      51 SvenSE_509&lt;br /&gt;
   2219   00:00:00 Festival 3.1         OK                            69       7 SvenSE_51&lt;br /&gt;
   2220   00:00:01 Festival 3.1         OK                            96      26 SvenSE_510&lt;br /&gt;
   2221   00:00:01 Festival 3.1         OK                           123      34 SvenSE_511&lt;br /&gt;
   2222   00:00:01 Festival 3.1         OK                           270      64 SvenSE_512&lt;br /&gt;
   2223   00:00:01 Festival 3.1         OK                           154      44 SvenSE_513&lt;br /&gt;
   2224   00:00:01 Festival 3.1         OK                           293      70 SvenSE_514&lt;br /&gt;
   2225   00:00:01 Festival 3.1         OK                           355      73 SvenSE_515&lt;br /&gt;
   2226   00:00:02 Festival 3.1         OK                           341      73 SvenSE_516&lt;br /&gt;
   2227   00:00:00 Festival 3.1         OK                           167      34 SvenSE_517&lt;br /&gt;
   2228   00:00:01 Festival 3.1         OK                           103      27 SvenSE_518&lt;br /&gt;
   2229   00:00:01 Festival 3.1         OK                           204      56 SvenSE_519&lt;br /&gt;
   2230   00:00:01 Festival 3.1         OK                           384     108 SvenSE_52&lt;br /&gt;
   2231   00:00:01 Festival 3.1         OK                           175      64 SvenSE_520&lt;br /&gt;
   2232   00:00:00 Festival 3.1         OK                           223      64 SvenSE_521&lt;br /&gt;
   2233   00:00:01 Festival 3.1         OK                           339     106 SvenSE_522&lt;br /&gt;
   2234   00:00:01 Festival 3.1         OK                           284      76 SvenSE_523&lt;br /&gt;
   2235   00:00:01 Festival 3.1         OK                           293      50 SvenSE_524&lt;br /&gt;
   2236   00:00:01 Festival 3.1         OK                           123      32 SvenSE_525&lt;br /&gt;
   2237   00:00:01 Festival 3.1         OK                           179      48 SvenSE_526&lt;br /&gt;
   2238   00:00:02 Festival 3.1         OK                           215      49 SvenSE_527&lt;br /&gt;
   2239   00:00:02 Festival 3.1         OK                           189      43 SvenSE_528&lt;br /&gt;
   2240   00:00:00 Festival 3.1         OK                           227      61 SvenSE_529&lt;br /&gt;
   2241   00:00:00 Festival 3.1         OK                           152      54 SvenSE_53&lt;br /&gt;
   2242   00:00:01 Festival 3.1         OK                           153      45 SvenSE_530&lt;br /&gt;
   2243   00:00:02 Festival 3.1         OK                           169      41 SvenSE_531&lt;br /&gt;
   2244   00:00:01 Festival 3.1         OK                           219      61 SvenSE_532&lt;br /&gt;
   2245   00:00:01 Festival 3.1         OK                           179      46 SvenSE_533&lt;br /&gt;
   2246   00:00:01 Festival 3.1         OK                           119      29 SvenSE_534&lt;br /&gt;
   2247   00:00:00 Festival 3.1         OK                           104      38 SvenSE_535&lt;br /&gt;
   2248   00:00:01 Festival 3.1         OK                            91      29 SvenSE_536&lt;br /&gt;
   2249   00:00:02 Festival 3.1         OK                           199      46 SvenSE_537&lt;br /&gt;
   2250   00:00:02 Festival 3.1         OK                           178      48 SvenSE_538&lt;br /&gt;
   2251   00:00:02 Festival 3.1         OK                           149      34 SvenSE_539&lt;br /&gt;
   2252   00:00:01 Festival 3.1         OK                           335      80 SvenSE_54&lt;br /&gt;
   2253   00:00:00 Festival 3.1         OK                           237      73 SvenSE_540&lt;br /&gt;
   2254   00:00:01 Festival 3.1         OK                           129      34 SvenSE_541&lt;br /&gt;
   2255   00:00:01 Festival 3.1         OK                           279      48 SvenSE_542&lt;br /&gt;
   2256   00:00:00 Festival 3.1         OK                           253      44 SvenSE_543&lt;br /&gt;
   2257   00:00:01 Festival 3.1         OK                           255      48 SvenSE_544&lt;br /&gt;
   2258   00:00:00 Festival 3.1         OK                           275      36 SvenSE_545&lt;br /&gt;
   2259   00:00:01 Festival 3.1         OK                           221      36 SvenSE_546&lt;br /&gt;
   2260   00:00:01 Festival 3.1         OK                           243      37 SvenSE_547&lt;br /&gt;
   2261   00:00:00 Festival 3.1         OK                           244      34 SvenSE_548&lt;br /&gt;
   2262   00:00:01 Festival 3.1         OK                           347      60 SvenSE_549&lt;br /&gt;
   2263   00:01:11 Festival 3.1         OK                           822     266 SvenSE_55&lt;br /&gt;
   2264   00:00:00 Festival 3.1         OK                           239      39 SvenSE_550&lt;br /&gt;
   2265   00:00:01 Festival 3.1         OK                           276      40 SvenSE_551&lt;br /&gt;
   2266   00:00:00 Festival 3.1         OK                           153      22 SvenSE_552&lt;br /&gt;
   2267   00:00:01 Festival 3.1         OK                           123      20 SvenSE_553&lt;br /&gt;
   2268   00:00:01 Festival 3.1         OK                           121      22 SvenSE_554&lt;br /&gt;
   2269   00:00:00 Festival 3.1         OK                           107      21 SvenSE_555&lt;br /&gt;
   2270   00:00:01 Festival 3.1         OK                           140      28 SvenSE_556&lt;br /&gt;
   2271   00:00:00 Festival 3.1         OK                           168      28 SvenSE_557&lt;br /&gt;
   2272   00:00:01 Festival 3.1         OK                           157      22 SvenSE_558&lt;br /&gt;
   2273   00:00:01 Festival 3.1         OK                           441      88 SvenSE_559&lt;br /&gt;
   2274   00:00:00 Festival 3.1         OK                           184      24 SvenSE_56&lt;br /&gt;
   2275   00:00:05 Festival 3.1         OK                           276      64 SvenSE_560&lt;br /&gt;
   2276   00:00:00 Festival 3.1         OK                           434      90 SvenSE_561&lt;br /&gt;
   2277   00:00:01 Festival 3.1         OK                           306      76 SvenSE_562&lt;br /&gt;
   2278   00:00:00 Festival 3.1         OK                           401      95 SvenSE_563&lt;br /&gt;
   2279   00:00:01 Festival 3.1         OK                           357      82 SvenSE_564&lt;br /&gt;
   2280   00:00:00 Festival 3.1         OK                           228      54 SvenSE_565&lt;br /&gt;
   2281   00:00:01 Festival 3.1         OK                           329      90 SvenSE_566&lt;br /&gt;
   2282   00:00:01 Festival 3.1         OK                           501     130 SvenSE_567&lt;br /&gt;
   2283   00:00:00 Festival 3.1         OK                           253      66 SvenSE_568&lt;br /&gt;
   2284   00:00:01 Festival 3.1         OK                           187      48 SvenSE_569&lt;br /&gt;
   2285   00:00:01 Festival 3.1         OK                           302      48 SvenSE_57&lt;br /&gt;
   2286   00:00:00 Festival 3.1         OK                           192      24 SvenSE_570&lt;br /&gt;
   2287   00:00:01 Festival 3.1         OK                           176      24 SvenSE_571&lt;br /&gt;
   2288   00:00:01 Festival 3.1         OK                            77      16 SvenSE_572&lt;br /&gt;
   2289   00:00:00 Festival 3.1         OK                            45      10 SvenSE_573&lt;br /&gt;
   2290   00:00:01 Festival 3.1         OK                           154      28 SvenSE_574&lt;br /&gt;
   2291   00:00:00 Festival 3.1         OK                            90      14 SvenSE_575&lt;br /&gt;
   2292   00:00:01 Festival 3.1         OK                           245      52 SvenSE_576&lt;br /&gt;
   2293   00:00:00 Festival 3.1         OK                           143      48 SvenSE_577&lt;br /&gt;
   2294   00:00:01 Festival 3.1         OK                           136      40 SvenSE_578&lt;br /&gt;
   2295   00:00:00 Festival 3.1         OK                           109      38 SvenSE_579&lt;br /&gt;
   2296   00:00:01 Festival 3.1         OK                           160      24 SvenSE_58&lt;br /&gt;
   2297   00:00:01 Festival 3.1         OK                           120      40 SvenSE_580&lt;br /&gt;
   2298   00:00:00 Festival 3.1         OK                           144      42 SvenSE_581&lt;br /&gt;
   2299   00:00:01 Festival 3.1         OK                           140      26 SvenSE_582&lt;br /&gt;
   2300   00:00:01 Festival 3.1         OK                           167      30 SvenSE_583&lt;br /&gt;
   2301   00:00:01 Festival 3.1         OK                           157      28 SvenSE_584&lt;br /&gt;
   2302   00:00:01 Festival 3.1         OK                           111      32 SvenSE_585&lt;br /&gt;
   2303   00:00:00 Festival 3.1         OK                            51      14 SvenSE_586&lt;br /&gt;
   2304   00:00:01 Festival 3.1         OK                           101      28 SvenSE_587&lt;br /&gt;
   2305   00:00:00 Festival 3.1         OK                           106      30 SvenSE_588&lt;br /&gt;
   2306   00:00:01 Festival 3.1         OK                           119      27 SvenSE_589&lt;br /&gt;
   2307   00:00:01 Festival 3.1         OK                           566     110 SvenSE_59&lt;br /&gt;
   2308   00:00:00 Festival 3.1         OK                           129      25 SvenSE_590&lt;br /&gt;
   2309   00:00:01 Festival 3.1         OK                           131      32 SvenSE_591&lt;br /&gt;
   2310   00:00:00 Festival 3.1         OK                           175      50 SvenSE_592&lt;br /&gt;
   2311   00:00:01 Festival 3.1         OK                           232      42 SvenSE_593&lt;br /&gt;
   2312   00:00:01 Festival 3.1         OK                           203      58 SvenSE_594&lt;br /&gt;
   2313   00:00:01 Festival 3.1         OK                           363      65 SvenSE_595&lt;br /&gt;
   2314   00:00:01 Festival 3.1         OK                            92      24 SvenSE_596&lt;br /&gt;
   2315   00:00:00 Festival 3.1         OK                           182      30 SvenSE_597&lt;br /&gt;
   2316   00:00:01 Festival 3.1         OK                           306      68 SvenSE_598&lt;br /&gt;
   2317   00:00:02 Festival 3.1         OK                           164      44 SvenSE_599&lt;br /&gt;
   2318   00:00:15 Festival 3.1         OK                          1541     500 SvenSE_6&lt;br /&gt;
   2319   00:00:01 Festival 3.1         OK                           155      20 SvenSE_60&lt;br /&gt;
   2320   00:00:01 Festival 3.1         OK                           183      46 SvenSE_600&lt;br /&gt;
   2321   00:00:01 Festival 3.1         OK                           151      34 SvenSE_601&lt;br /&gt;
   2322   00:00:01 Festival 3.1         OK                           114      28 SvenSE_602&lt;br /&gt;
   2323   00:00:01 Festival 3.1         OK                           115      28 SvenSE_603&lt;br /&gt;
   2324   00:00:01 Festival 3.1         OK                           151      32 SvenSE_604&lt;br /&gt;
   2325   00:00:02 Festival 3.1         OK                           167      38 SvenSE_605&lt;br /&gt;
   2326   00:00:01 Festival 3.1         OK                           183      34 SvenSE_606&lt;br /&gt;
   2327   00:00:02 Festival 3.1         OK                           181      35 SvenSE_607&lt;br /&gt;
   2328   00:00:01 Festival 3.1         OK                           123      18 SvenSE_608&lt;br /&gt;
   2329   00:00:00 Festival 3.1         OK                           183      28 SvenSE_609&lt;br /&gt;
   2330   00:00:01 Festival 3.1         OK                           448      80 SvenSE_61&lt;br /&gt;
   2331   00:00:01 Festival 3.1         OK                           114      20 SvenSE_610&lt;br /&gt;
   2332   00:00:01 Festival 3.1         OK                           216      38 SvenSE_611&lt;br /&gt;
   2333   00:00:01 Festival 3.1         OK                           218      30 SvenSE_612&lt;br /&gt;
   2334   00:00:02 Festival 3.1         OK                           159      35 SvenSE_613&lt;br /&gt;
   2335   00:00:00 Festival 3.1         OK                            59      16 SvenSE_614&lt;br /&gt;
   2336   00:00:01 Festival 3.1         OK                            53      14 SvenSE_615&lt;br /&gt;
   2337   00:00:01 Festival 3.1         OK                           133      19 SvenSE_616&lt;br /&gt;
   2338   00:00:00 Festival 3.1         OK                            91      16 SvenSE_617&lt;br /&gt;
   2339   00:00:01 Festival 3.1         OK                           281      58 SvenSE_618&lt;br /&gt;
   2340   00:00:01 Festival 3.1         OK                           184      32 SvenSE_619&lt;br /&gt;
   2341   00:00:00 Festival 3.1         OK                           452      84 SvenSE_62&lt;br /&gt;
   2342   00:00:01 Festival 3.1         OK                           110      18 SvenSE_620&lt;br /&gt;
   2343   00:00:01 Festival 3.1         OK                           118      20 SvenSE_621&lt;br /&gt;
   2344   00:00:00 Festival 3.1         OK                           151      26 SvenSE_622&lt;br /&gt;
   2345   00:00:01 Festival 3.1         OK                           100      26 SvenSE_623&lt;br /&gt;
   2346   00:00:01 Festival 3.1         OK                            48      15 SvenSE_624&lt;br /&gt;
   2347   00:00:00 Festival 3.1         OK                           100      22 SvenSE_625&lt;br /&gt;
   2348   00:00:01 Festival 3.1         OK                           116      24 SvenSE_626&lt;br /&gt;
   2349   00:00:01 Festival 3.1         OK                           221      49 SvenSE_627&lt;br /&gt;
   2350   00:00:01 Festival 3.1         OK                           127      32 SvenSE_628&lt;br /&gt;
   2351   00:00:00 Festival 3.1         OK                            94      28 SvenSE_629&lt;br /&gt;
   2352   00:00:01 Festival 3.1         OK                           328      64 SvenSE_63&lt;br /&gt;
   2353   00:00:01 Festival 3.1         OK                           223      41 SvenSE_630&lt;br /&gt;
   2354   00:00:00 Festival 3.1         OK                            79      21 SvenSE_631&lt;br /&gt;
   2355   00:00:01 Festival 3.1         OK                           162      34 SvenSE_632&lt;br /&gt;
   2356   00:00:01 Festival 3.1         OK                           162      34 SvenSE_633&lt;br /&gt;
   2357   00:00:01 Festival 3.1         OK                           180      48 SvenSE_634&lt;br /&gt;
   2358   00:00:00 Festival 3.1         OK                           123      30 SvenSE_635&lt;br /&gt;
   2359   00:00:01 Festival 3.1         OK                           215      45 SvenSE_636&lt;br /&gt;
   2360   00:00:01 Festival 3.1         OK                            59      16 SvenSE_637&lt;br /&gt;
   2361   00:00:01 Festival 3.1         OK                           145      38 SvenSE_638&lt;br /&gt;
   2362   00:00:01 Festival 3.1         OK                           325      68 SvenSE_639&lt;br /&gt;
   2363   00:00:00 Festival 3.1         OK                           524      72 SvenSE_64&lt;br /&gt;
   2364   00:00:01 Festival 3.1         OK                           344      82 SvenSE_640&lt;br /&gt;
   2365   00:00:01 Festival 3.1         OK                            43       8 SvenSE_641&lt;br /&gt;
   2366   00:00:00 Festival 3.1         OK                           188      40 SvenSE_642&lt;br /&gt;
   2367   00:00:01 Festival 3.1         OK                           239      44 SvenSE_643&lt;br /&gt;
   2368   00:00:03 Festival 3.1         OK                           504      88 SvenSE_644&lt;br /&gt;
   2369   00:00:02 Festival 3.1         OK                           448      83 SvenSE_645&lt;br /&gt;
   2370   00:00:01 Festival 3.1         OK                            68      15 SvenSE_646&lt;br /&gt;
   2371   00:00:00 Festival 3.1         OK                            44      11 SvenSE_647&lt;br /&gt;
   2372   00:00:01 Festival 3.1         OK                           127      27 SvenSE_648&lt;br /&gt;
   2373   00:00:01 Festival 3.1         OK                           179      29 SvenSE_649&lt;br /&gt;
   2374   00:00:00 Festival 3.1         OK                           174      28 SvenSE_65&lt;br /&gt;
   2375   00:00:01 Festival 3.1         OK                           115      17 SvenSE_650&lt;br /&gt;
   2376   00:00:00 Festival 3.1         OK                            55      11 SvenSE_651&lt;br /&gt;
   2377   00:00:01 Festival 3.1         OK                            54      14 SvenSE_652&lt;br /&gt;
   2378   00:00:01 Festival 3.1         OK                            92      20 SvenSE_653&lt;br /&gt;
   2379   00:00:00 Festival 3.1         OK                            95      19 SvenSE_654&lt;br /&gt;
   2380   00:00:01 Festival 3.1         OK                           174      32 SvenSE_655&lt;br /&gt;
   2381   00:00:02 Festival 3.1         OK                           199      37 SvenSE_656&lt;br /&gt;
   2382   00:00:01 Festival 3.1         OK                           338      52 SvenSE_657&lt;br /&gt;
   2383   00:00:01 Festival 3.1         OK                           425      71 SvenSE_658&lt;br /&gt;
   2384   00:00:01 Festival 3.1         OK                            97      18 SvenSE_659&lt;br /&gt;
   2385   00:00:01 Festival 3.1         OK                           181      54 SvenSE_66&lt;br /&gt;
   2386   00:00:01 Festival 3.1         OK                           141      19 SvenSE_660&lt;br /&gt;
   2387   00:00:00 Festival 3.1         OK                           155      20 SvenSE_661&lt;br /&gt;
   2388   00:00:01 Festival 3.1         OK                           124      15 SvenSE_662&lt;br /&gt;
   2389   00:00:00 Festival 3.1         OK                           133      19 SvenSE_663&lt;br /&gt;
   2390   00:00:01 Festival 3.1         OK                           172      26 SvenSE_664&lt;br /&gt;
   2391   00:00:01 Festival 3.1         OK                           229      31 SvenSE_665&lt;br /&gt;
   2392   00:00:00 Festival 3.1         OK                           142      32 SvenSE_666&lt;br /&gt;
   2393   00:00:02 Festival 3.1         OK                           299      51 SvenSE_667&lt;br /&gt;
   2394   00:00:00 Festival 3.1         OK                            92      22 SvenSE_668&lt;br /&gt;
   2395   00:00:00 Festival 3.1         OK                           118      20 SvenSE_669&lt;br /&gt;
   2396   00:00:01 Festival 3.1         OK                           141      32 SvenSE_67&lt;br /&gt;
   2397   00:00:01 Festival 3.1         OK                           223      49 SvenSE_670&lt;br /&gt;
   2398   00:00:01 Festival 3.1         OK                           299      38 SvenSE_671&lt;br /&gt;
   2399   00:00:01 Festival 3.1         OK                           102      23 SvenSE_672&lt;br /&gt;
   2400   00:00:00 Festival 3.1         OK                           101      21 SvenSE_673&lt;br /&gt;
   2401   00:00:02 Festival 3.1         OK                           211      41 SvenSE_674&lt;br /&gt;
   2402   00:00:01 Festival 3.1         OK                           206      37 SvenSE_675&lt;br /&gt;
   2403   00:00:00 Festival 3.1         OK                           247      53 SvenSE_676&lt;br /&gt;
   2404   00:00:01 Festival 3.1         OK                           157      27 SvenSE_677&lt;br /&gt;
   2405   00:00:01 Festival 3.1         OK                            89      24 SvenSE_678&lt;br /&gt;
   2406   00:00:00 Festival 3.1         OK                           155      37 SvenSE_679&lt;br /&gt;
   2407   00:00:01 Festival 3.1         OK                           128      34 SvenSE_68&lt;br /&gt;
   2408   00:00:01 Festival 3.1         OK                           143      38 SvenSE_680&lt;br /&gt;
   2409   00:00:00 Festival 3.1         OK                           141      28 SvenSE_681&lt;br /&gt;
   2410   00:00:01 Festival 3.1         OK                           133      34 SvenSE_682&lt;br /&gt;
   2411   00:00:01 Festival 3.1         OK                            85      23 SvenSE_683&lt;br /&gt;
   2412   00:00:00 Festival 3.1         OK                            83      17 SvenSE_684&lt;br /&gt;
   2413   00:00:01 Festival 3.1         OK                            92      18 SvenSE_685&lt;br /&gt;
   2414   00:00:00 Festival 3.1         OK                            70      22 SvenSE_686&lt;br /&gt;
   2415   00:00:00 Festival 3.1         OK                           369      70 SvenSE_687&lt;br /&gt;
   2416   00:00:01 Festival 3.1         OK                            56      18 SvenSE_688&lt;br /&gt;
   2417   00:00:01 Festival 3.1         OK                           629     104 SvenSE_689&lt;br /&gt;
   2418   00:00:01 Festival 3.1         OK                           218      52 SvenSE_69&lt;br /&gt;
   2419   00:00:01 Festival 3.1         OK                           598      84 SvenSE_690&lt;br /&gt;
   2420   00:00:02 Festival 3.1         OK                           589     112 SvenSE_691&lt;br /&gt;
   2421   00:00:01 Festival 3.1         OK                           330      52 SvenSE_692&lt;br /&gt;
   2422   00:00:01 Festival 3.1         OK                           289      39 SvenSE_693&lt;br /&gt;
   2423   00:00:02 Festival 3.1         OK                           339      52 SvenSE_694&lt;br /&gt;
   2424   00:00:02 Festival 3.1         OK                           307      43 SvenSE_695&lt;br /&gt;
   2425   00:00:01 Festival 3.1         OK                            83      22 SvenSE_696&lt;br /&gt;
   2426   00:00:00 Festival 3.1         OK                            97      26 SvenSE_697&lt;br /&gt;
   2427   00:00:01 Festival 3.1         OK                           117      26 SvenSE_698&lt;br /&gt;
   2428   00:00:01 Festival 3.1         OK                           125      28 SvenSE_699&lt;br /&gt;
   2429   00:00:04 Festival 3.1         OK                          1449     482 SvenSE_7&lt;br /&gt;
   2430   00:00:01 Festival 3.1         OK                           208      34 SvenSE_70&lt;br /&gt;
   2431   00:00:00 Festival 3.1         OK                           147      40 SvenSE_700&lt;br /&gt;
   2432   00:00:01 Festival 3.1         OK                           169      30 SvenSE_701&lt;br /&gt;
   2433   00:00:01 Festival 3.1         OK                           118      26 SvenSE_702&lt;br /&gt;
   2434   00:00:01 Festival 3.1         OK                           113      26 SvenSE_703&lt;br /&gt;
   2435   00:00:01 Festival 3.1         OK                           121      31 SvenSE_704&lt;br /&gt;
   2436   00:00:01 Festival 3.1         OK                            96      27 SvenSE_705&lt;br /&gt;
   2437   00:00:00 Festival 3.1         OK                            76      25 SvenSE_706&lt;br /&gt;
   2438   00:00:01 Festival 3.1         OK                            76      25 SvenSE_707&lt;br /&gt;
   2439   00:00:01 Festival 3.1         OK                            91      23 SvenSE_708&lt;br /&gt;
   2440   00:00:00 Festival 3.1         OK                            91      23 SvenSE_709&lt;br /&gt;
   2441   00:00:01 Festival 3.1         OK                           107      30 SvenSE_71&lt;br /&gt;
   2442   00:00:01 Festival 3.1         OK                            87      26 SvenSE_710&lt;br /&gt;
   2443   00:00:01 Festival 3.1         OK                            89      26 SvenSE_711&lt;br /&gt;
   2444   00:00:01 Festival 3.1         OK                           159      33 SvenSE_712&lt;br /&gt;
   2445   00:00:00 Festival 3.1         OK                            81      21 SvenSE_713&lt;br /&gt;
   2446   00:00:01 Festival 3.1         OK                            96      29 SvenSE_714&lt;br /&gt;
   2447   00:00:01 Festival 3.1         OK                            97      26 SvenSE_715&lt;br /&gt;
   2448   00:00:00 Festival 3.1         OK                            97      30 SvenSE_716&lt;br /&gt;
   2449   00:00:01 Festival 3.1         OK                           177      35 SvenSE_717&lt;br /&gt;
   2450   00:00:01 Festival 3.1         OK                           193      41 SvenSE_718&lt;br /&gt;
   2451   00:00:01 Festival 3.1         OK                           150      41 SvenSE_719&lt;br /&gt;
   2452   00:00:00 Festival 3.1         OK                           120      32 SvenSE_72&lt;br /&gt;
   2453   00:00:01 Festival 3.1         OK                           128      31 SvenSE_720&lt;br /&gt;
   2454   00:00:00 Festival 3.1         OK                           160      44 SvenSE_721&lt;br /&gt;
   2455   00:00:01 Festival 3.1         OK                           102      30 SvenSE_722&lt;br /&gt;
   2456   00:00:01 Festival 3.1         OK                           155      34 SvenSE_723&lt;br /&gt;
   2457   00:00:01 Festival 3.1         OK                           128      32 SvenSE_724&lt;br /&gt;
   2458   00:00:01 Festival 3.1         OK                            92      29 SvenSE_725&lt;br /&gt;
   2459   00:00:01 Festival 3.1         OK                            63      24 SvenSE_726&lt;br /&gt;
   2460   00:00:00 Festival 3.1         OK                           131      32 SvenSE_727&lt;br /&gt;
   2461   00:00:01 Festival 3.1         OK                           121      30 SvenSE_728&lt;br /&gt;
   2462   00:00:01 Festival 3.1         OK                           133      31 SvenSE_729&lt;br /&gt;
   2463   00:00:00 Festival 3.1         OK                           345      62 SvenSE_73&lt;br /&gt;
   2464   00:00:01 Festival 3.1         OK                           100      35 SvenSE_730&lt;br /&gt;
   2465   00:00:01 Festival 3.1         OK                           123      42 SvenSE_731&lt;br /&gt;
   2466   00:00:01 Festival 3.1         OK                           127      38 SvenSE_732&lt;br /&gt;
   2467   00:00:00 Festival 3.1         OK                           115      26 SvenSE_733&lt;br /&gt;
   2468   00:00:01 Festival 3.1         OK                           131      31 SvenSE_734&lt;br /&gt;
   2469   00:00:01 Festival 3.1         OK                            98      26 SvenSE_735&lt;br /&gt;
   2470   00:00:01 Festival 3.1         OK                           116      26 SvenSE_736&lt;br /&gt;
   2471   00:00:01 Festival 3.1         OK                           113      24 SvenSE_737&lt;br /&gt;
   2472   00:00:01 Festival 3.1         OK                            78      26 SvenSE_738&lt;br /&gt;
   2473   00:00:01 Festival 3.1         OK                            87      23 SvenSE_739&lt;br /&gt;
   2474   00:00:00 Festival 3.1         OK                           453      76 SvenSE_74&lt;br /&gt;
   2475   00:00:01 Festival 3.1         OK                            44      23 SvenSE_740&lt;br /&gt;
   2476   00:00:01 Festival 3.1         OK                           149      41 SvenSE_741&lt;br /&gt;
   2477   00:00:00 Festival 3.1         OK                            71      13 SvenSE_742&lt;br /&gt;
   2478   00:00:01 Festival 3.1         OK                            63      24 SvenSE_743&lt;br /&gt;
   2479   00:03:46 Festival 3.1         OK                          4164     370 SvenSE_744&lt;br /&gt;
   2480   00:00:02 Festival 3.1         OK                           248      47 SvenSE_745&lt;br /&gt;
   2481   00:00:01 Festival 3.1         OK                           169      47 SvenSE_746&lt;br /&gt;
   2482   00:00:00 Festival 3.1         OK                           130      43 SvenSE_747&lt;br /&gt;
   2483   00:00:01 Festival 3.1         OK                           128      32 SvenSE_748&lt;br /&gt;
   2484   00:00:01 Festival 3.1         OK                           113      28 SvenSE_749&lt;br /&gt;
   2485   00:00:00 Festival 3.1         OK                            61      10 SvenSE_75&lt;br /&gt;
   2486   00:00:01 Festival 3.1         OK                           107      28 SvenSE_750&lt;br /&gt;
   2487   00:00:01 Festival 3.1         OK                            89      28 SvenSE_751&lt;br /&gt;
   2488   00:00:00 Festival 3.1         OK                           100      32 SvenSE_752&lt;br /&gt;
   2489   00:00:01 Festival 3.1         OK                            98      20 SvenSE_753&lt;br /&gt;
   2490   00:00:01 Festival 3.1         OK                            84      37 SvenSE_754&lt;br /&gt;
   2491   00:00:00 Festival 3.1         OK                            77      35 SvenSE_755&lt;br /&gt;
   2492   00:00:01 Festival 3.1         OK                            94      47 SvenSE_756&lt;br /&gt;
   2493   00:00:00 Festival 3.1         OK                            90      26 SvenSE_757&lt;br /&gt;
   2494   00:00:01 Festival 3.1         OK                            63      25 SvenSE_758&lt;br /&gt;
   2495   00:00:01 Festival 3.1         OK                            90      24 SvenSE_759&lt;br /&gt;
   2496   00:00:00 Festival 3.1         OK                            43       9 SvenSE_76&lt;br /&gt;
   2497   00:00:01 Festival 3.1         OK                           114      48 SvenSE_760&lt;br /&gt;
   2498   00:00:00 Festival 3.1         OK                           114      36 SvenSE_761&lt;br /&gt;
   2499   00:00:01 Festival 3.1         OK                            94      26 SvenSE_762&lt;br /&gt;
   2500   00:00:00 Festival 3.1         OK                            63      24 SvenSE_763&lt;br /&gt;
   2501   00:00:01 Festival 3.1         OK                            89      24 SvenSE_764&lt;br /&gt;
   2502   00:00:00 Festival 3.1         OK                            98      41 SvenSE_765&lt;br /&gt;
   2503   00:00:01 Festival 3.1         OK                           189      53 SvenSE_766&lt;br /&gt;
   2504   00:00:01 Festival 3.1         OK                            96      24 SvenSE_767&lt;br /&gt;
   2505   00:00:00 Festival 3.1         OK                           123      29 SvenSE_768&lt;br /&gt;
   2506   00:00:01 Festival 3.1         OK                           124      38 SvenSE_769&lt;br /&gt;
   2507   00:00:00 Festival 3.1         OK                            39       9 SvenSE_77&lt;br /&gt;
   2508   00:00:01 Festival 3.1         OK                           176      46 SvenSE_770&lt;br /&gt;
   2509   00:00:00 Festival 3.1         OK                           146      49 SvenSE_771&lt;br /&gt;
   2510   00:00:01 Festival 3.1         OK                           146      46 SvenSE_772&lt;br /&gt;
   2511   00:00:01 Festival 3.1         OK                           147      47 SvenSE_773&lt;br /&gt;
   2512   00:00:00 Festival 3.1         OK                           181      73 SvenSE_774&lt;br /&gt;
   2513   00:00:01 Festival 3.1         OK                            82      23 SvenSE_775&lt;br /&gt;
   2514   00:00:00 Festival 3.1         OK                            81      24 SvenSE_776&lt;br /&gt;
   2515   00:00:01 Festival 3.1         OK                           200      44 SvenSE_777&lt;br /&gt;
   2516   00:00:01 Festival 3.1         OK                            91      30 SvenSE_778&lt;br /&gt;
   2517   00:00:04 Festival 3.1         OK                           200      47 SvenSE_779&lt;br /&gt;
   2518   00:00:01 Festival 3.1         OK                            43      15 SvenSE_78&lt;br /&gt;
   2519   00:00:00 Festival 3.1         OK                           173      45 SvenSE_780&lt;br /&gt;
   2520   00:00:02 Festival 3.1         OK                           208      48 SvenSE_781&lt;br /&gt;
   2521   00:00:01 Festival 3.1         OK                           195      46 SvenSE_782&lt;br /&gt;
   2522   00:00:01 Festival 3.1         OK                           182      43 SvenSE_783&lt;br /&gt;
   2523   00:00:01 Festival 3.1         OK                           103      24 SvenSE_784&lt;br /&gt;
   2524   00:00:01 Festival 3.1         OK                           114      24 SvenSE_785&lt;br /&gt;
   2525   00:00:01 Festival 3.1         OK                           118      22 SvenSE_786&lt;br /&gt;
   2526   00:00:00 Festival 3.1         OK                           143      33 SvenSE_787&lt;br /&gt;
   2527   00:00:01 Festival 3.1         OK                           107      30 SvenSE_788&lt;br /&gt;
   2528   00:00:00 Festival 3.1         OK                            98      26 SvenSE_789&lt;br /&gt;
   2529   00:00:01 Festival 3.1         OK                           107      22 SvenSE_79&lt;br /&gt;
   2530   00:00:01 Festival 3.1         OK                            77      16 SvenSE_790&lt;br /&gt;
   2531   00:00:00 Festival 3.1         OK                            60      19 SvenSE_791&lt;br /&gt;
   2532   00:00:01 Festival 3.1         OK                            62      17 SvenSE_792&lt;br /&gt;
   2533   00:00:00 Festival 3.1         OK                           120      25 SvenSE_793&lt;br /&gt;
   2534   00:00:01 Festival 3.1         OK                            66      19 SvenSE_794&lt;br /&gt;
   2535   00:00:01 Festival 3.1         OK                           142      36 SvenSE_795&lt;br /&gt;
   2536   00:00:00 Festival 3.1         OK                            74      23 SvenSE_796&lt;br /&gt;
   2537   00:00:01 Festival 3.1         OK                            69      19 SvenSE_797&lt;br /&gt;
   2538   00:00:00 Festival 3.1         OK                           283      50 SvenSE_798&lt;br /&gt;
   2539   00:00:01 Festival 3.1         OK                           155      46 SvenSE_799&lt;br /&gt;
   2540   00:00:01 Festival 3.1         OK                          1050     289 SvenSE_8&lt;br /&gt;
   2541   00:00:01 Festival 3.1         OK                           164      52 SvenSE_80&lt;br /&gt;
   2542   00:00:01 Festival 3.1         OK                           159      50 SvenSE_800&lt;br /&gt;
   2543   00:00:01 Festival 3.1         OK                           186      47 SvenSE_801&lt;br /&gt;
   2544   00:00:01 Festival 3.1         OK                           210      41 SvenSE_802&lt;br /&gt;
   2545   00:00:00 Festival 3.1         OK                            92      22 SvenSE_803&lt;br /&gt;
   2546   00:00:01 Festival 3.1         OK                           554     115 SvenSE_804&lt;br /&gt;
   2547   00:00:01 Festival 3.1         OK                           298      80 SvenSE_805&lt;br /&gt;
   2548   00:00:00 Festival 3.1         OK                           314      94 SvenSE_806&lt;br /&gt;
   2549   00:00:01 Festival 3.1         OK                           551     110 SvenSE_807&lt;br /&gt;
   2550   00:00:01 Festival 3.1         OK                           424      76 SvenSE_808&lt;br /&gt;
   2551   00:00:00 Festival 3.1         OK                           580      94 SvenSE_809&lt;br /&gt;
   2552   00:00:01 Festival 3.1         OK                           473      70 SvenSE_81&lt;br /&gt;
   2553   00:00:01 Festival 3.1         OK                           498      82 SvenSE_810&lt;br /&gt;
   2554   00:00:00 Festival 3.1         OK                           269      42 SvenSE_811&lt;br /&gt;
   2555   00:00:01 Festival 3.1         OK                           149      24 SvenSE_812&lt;br /&gt;
   2556   00:00:00 Festival 3.1         OK                           139      25 SvenSE_813&lt;br /&gt;
   2557   00:00:01 Festival 3.1         OK                           345      41 SvenSE_814&lt;br /&gt;
   2558   00:00:00 Festival 3.1         OK                           164      36 SvenSE_815&lt;br /&gt;
   2559   00:00:01 Festival 3.1         OK                           137      30 SvenSE_816&lt;br /&gt;
   2560   00:00:01 Festival 3.1         OK                           123      26 SvenSE_817&lt;br /&gt;
   2561   00:00:00 Festival 3.1         OK                           104      19 SvenSE_818&lt;br /&gt;
   2562   00:00:01 Festival 3.1         OK                           150      22 SvenSE_819&lt;br /&gt;
   2563   00:00:03 Festival 3.1         OK                          1333     318 SvenSE_82&lt;br /&gt;
   2564   00:00:00 Festival 3.1         OK                            74      22 SvenSE_820&lt;br /&gt;
   2565   00:03:46 Festival 3.1         OK                          1520     150 SvenSE_821&lt;br /&gt;
   2566   00:00:04 Festival 3.1         OK                          1002      80 SvenSE_822&lt;br /&gt;
   2567   00:03:34 Festival 3.1         OK                          4942     475 SvenSE_823&lt;br /&gt;
   2568   00:00:05 Festival 3.1         OK                          3335     785 SvenSE_824&lt;br /&gt;
   2569   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_825&lt;br /&gt;
   2570   00:00:08 Festival 3.1         OK                           701      90 SvenSE_826&lt;br /&gt;
   2571   00:01:07 Festival 3.1         OK                           980     144 SvenSE_827&lt;br /&gt;
   2572   00:04:49 Festival 3.1         OK                          2020     208 SvenSE_828&lt;br /&gt;
   2573   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_829&lt;br /&gt;
   2574   00:00:01 Festival 3.1         OK                           263      28 SvenSE_83&lt;br /&gt;
   2575   00:00:15 Festival 3.1         OK                           398      70 SvenSE_830&lt;br /&gt;
   2576   00:00:02 Festival 3.1         OK                           485      68 SvenSE_831&lt;br /&gt;
   2577   00:03:43 Festival 3.1         OK                          1526     188 SvenSE_832&lt;br /&gt;
   2578   00:00:00 Festival 3.1         OK                           194      28 SvenSE_833&lt;br /&gt;
   2579   00:00:01 Festival 3.1         OK                           155      28 SvenSE_834&lt;br /&gt;
   2580   00:00:00 Festival 3.1         OK                           237      28 SvenSE_835&lt;br /&gt;
   2581   00:00:01 Festival 3.1         OK                           109      22 SvenSE_836&lt;br /&gt;
   2582   00:04:01 Festival 3.1         OK                          5350     348 SvenSE_837&lt;br /&gt;
   2583   00:00:01 Festival 3.1         OK                           382      93 SvenSE_838&lt;br /&gt;
   2584   00:00:01 Festival 3.1         OK                           467     114 SvenSE_839&lt;br /&gt;
   2585   00:00:01 Festival 3.1         OK                           295      32 SvenSE_84&lt;br /&gt;
   2586   00:00:50 Festival 3.1         OK                          1177     195 SvenSE_840&lt;br /&gt;
   2587   00:00:01 Festival 3.1         OK                           641     166 SvenSE_841&lt;br /&gt;
   2588   00:03:11 Festival 3.1         OK                          2981    1146 SvenSE_842&lt;br /&gt;
   2589   00:03:26 Festival 3.1         OK                          2235     644 SvenSE_843&lt;br /&gt;
   2590   00:00:04 Festival 3.1         OK                          1860     357 SvenSE_844&lt;br /&gt;
   2591   00:00:01 Festival 3.1         OK                           232      38 SvenSE_845&lt;br /&gt;
   2592   00:00:01 Festival 3.1         OK                           213      42 SvenSE_846&lt;br /&gt;
   2593   00:00:01 Festival 3.1         OK                           281      70 SvenSE_847&lt;br /&gt;
   2594   00:00:09 Festival 3.1         OK                           364      54 SvenSE_848&lt;br /&gt;
   2595   00:00:01 Festival 3.1         OK                           120      40 SvenSE_849&lt;br /&gt;
   2596   00:00:00 Festival 3.1         OK                           279      34 SvenSE_85&lt;br /&gt;
   2597   00:00:02 Festival 3.1         OK                           661     118 SvenSE_850&lt;br /&gt;
   2598   00:00:00 Festival 3.1         OK                           394      66 SvenSE_851&lt;br /&gt;
   2599   00:00:01 Festival 3.1         OK                           230      44 SvenSE_852&lt;br /&gt;
   2600   00:00:01 Festival 3.1         OK                           121      24 SvenSE_853&lt;br /&gt;
   2601   00:00:01 Festival 3.1         OK                           340      62 SvenSE_854&lt;br /&gt;
   2602   00:00:03 Festival 3.1         OK                           524      62 SvenSE_855&lt;br /&gt;
   2603   00:00:11 Festival 3.1         OK                           306      66 SvenSE_856&lt;br /&gt;
   2604   00:00:01 Festival 3.1         OK                           233      50 SvenSE_857&lt;br /&gt;
   2605   00:00:03 Festival 3.1         OK                           258      45 SvenSE_858&lt;br /&gt;
   2606   00:00:07 Festival 3.1         OK                           532      78 SvenSE_859&lt;br /&gt;
   2607   00:00:01 Festival 3.1         OK                           431      36 SvenSE_86&lt;br /&gt;
   2608   00:00:01 Festival 3.1         OK                           759     152 SvenSE_860&lt;br /&gt;
   2609   00:00:01 Festival 3.1         OK                           584     117 SvenSE_861&lt;br /&gt;
   2610   00:03:26 Festival 3.1         OK                          1640     212 SvenSE_862&lt;br /&gt;
   2611   00:03:00 Festival 3.1         OK                          1880     320 SvenSE_863&lt;br /&gt;
   2612   00:00:07 Festival 3.1         OK                           629      88 SvenSE_864&lt;br /&gt;
   2613   00:00:08 Festival 3.1         OK                           714      60 SvenSE_865&lt;br /&gt;
   2614   00:00:23 Festival 3.1         OK                           663      76 SvenSE_866&lt;br /&gt;
   2615   00:00:10 Festival 3.1         OK                           980     204 SvenSE_867&lt;br /&gt;
   2616   00:00:00 Festival 3.1         OK                           136      28 SvenSE_868&lt;br /&gt;
   2617   00:00:01 Festival 3.1         OK                           120      40 SvenSE_869&lt;br /&gt;
   2618   00:00:01 Festival 3.1         OK                           103      12 SvenSE_87&lt;br /&gt;
   2619   00:00:00 Festival 3.1         OK                           161      31 SvenSE_870&lt;br /&gt;
   2620   00:00:02 Festival 3.1         OK                          1255     314 SvenSE_871&lt;br /&gt;
   2621   00:00:01 Festival 3.1         OK                           187      34 SvenSE_872&lt;br /&gt;
   2622   00:00:01 Festival 3.1         OK                           175      30 SvenSE_873&lt;br /&gt;
   2623   00:00:17 Festival 3.1         OK                           439      76 SvenSE_874&lt;br /&gt;
   2624   00:00:01 Festival 3.1         OK                           295      54 SvenSE_875&lt;br /&gt;
   2625   00:00:01 Festival 3.1         OK                            69      16 SvenSE_876&lt;br /&gt;
   2626   00:00:00 Festival 3.1         OK                            62      14 SvenSE_877&lt;br /&gt;
   2627   00:00:10 Festival 3.1         OK                           688      65 SvenSE_878&lt;br /&gt;
   2628   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_879&lt;br /&gt;
   2629   00:00:00 Festival 3.1         OK                           148      16 SvenSE_88&lt;br /&gt;
   2630   00:00:08 Festival 3.1         OK                          2093     445 SvenSE_880&lt;br /&gt;
   2631   00:00:03 Festival 3.1         OK                          2475     651 SvenSE_881&lt;br /&gt;
   2632   00:00:00 Festival 3.1         OK                           363     124 SvenSE_882&lt;br /&gt;
   2633   00:00:01 Festival 3.1         OK                           373     126 SvenSE_883&lt;br /&gt;
   2634   00:00:01 Festival 3.1         OK                           104      15 SvenSE_884&lt;br /&gt;
   2635   00:00:00 Festival 3.1         OK                           144      17 SvenSE_885&lt;br /&gt;
   2636   00:00:04 Festival 3.1         OK                           334      51 SvenSE_886&lt;br /&gt;
   2637   00:04:31 Festival 3.1         OK                           962     109 SvenSE_887&lt;br /&gt;
   2638   00:00:34 Festival 3.1         OK                           538      45 SvenSE_888&lt;br /&gt;
   2639   00:00:02 Festival 3.1         OK                           436      47 SvenSE_889&lt;br /&gt;
   2640   00:00:00 Festival 3.1         OK                            86      12 SvenSE_89&lt;br /&gt;
   2641   00:00:01 Festival 3.1         OK                           234      33 SvenSE_890&lt;br /&gt;
   2642   00:00:01 Festival 3.1         OK                           253      38 SvenSE_891&lt;br /&gt;
   2643   00:00:01 Festival 3.1         OK                           222      37 SvenSE_892&lt;br /&gt;
   2644   00:00:02 Festival 3.1         OK                           208      43 SvenSE_893&lt;br /&gt;
   2645   00:00:00 Festival 3.1         OK                            77      24 SvenSE_894&lt;br /&gt;
   2646   00:00:02 Festival 3.1         OK                           470     102 SvenSE_895&lt;br /&gt;
   2647   00:00:02 Festival 3.1         OK                           867     130 SvenSE_896&lt;br /&gt;
   2648   00:00:02 Festival 3.1         OK                           429      99 SvenSE_897&lt;br /&gt;
   2649   00:00:01 Festival 3.1         OK                           281      72 SvenSE_898&lt;br /&gt;
   2650   00:00:31 Festival 3.1         OK                           493      59 SvenSE_899&lt;br /&gt;
   2651   00:00:01 Festival 3.1         OK                           472      51 SvenSE_9&lt;br /&gt;
   2652   00:00:00 Festival 3.1         OK                           122      22 SvenSE_90&lt;br /&gt;
   2653   00:00:04 Festival 3.1         OK                           365      46 SvenSE_900&lt;br /&gt;
   2654   00:00:01 Festival 3.1         OK                           346      24 SvenSE_901&lt;br /&gt;
   2655   00:00:01 Festival 3.1         OK                            78      14 SvenSE_902&lt;br /&gt;
   2656   00:00:01 Festival 3.1         OK                           244      40 SvenSE_903&lt;br /&gt;
   2657   00:00:02 Festival 3.1         OK                            75      25 SvenSE_904&lt;br /&gt;
   2658   00:03:20 Festival 3.1         OK                          1440     116 SvenSE_905&lt;br /&gt;
   2659   00:00:01 Festival 3.1         OK                           101      32 SvenSE_906&lt;br /&gt;
   2660   00:00:04 Festival 3.1         OK                           224      50 SvenSE_907&lt;br /&gt;
   2661   00:00:01 Festival 3.1         OK                           109      34 SvenSE_908&lt;br /&gt;
   2662   00:00:00 Festival 3.1         OK                           164      24 SvenSE_909&lt;br /&gt;
   2663   00:00:01 Festival 3.1         OK                           435      72 SvenSE_91&lt;br /&gt;
   2664   00:07:49 Festival 3.1         OK                           803     166 SvenSE_910&lt;br /&gt;
   2665   00:00:03 Festival 3.1         OK                           462      44 SvenSE_911&lt;br /&gt;
   2666   00:00:02 Festival 3.1         OK                           228      48 SvenSE_912&lt;br /&gt;
   2667   00:00:04 Festival 3.1         OK                           316      66 SvenSE_913&lt;br /&gt;
   2668   00:00:00 Festival 3.1         OK                           255      48 SvenSE_914&lt;br /&gt;
   2669   00:00:01 Festival 3.1         OK                           275      44 SvenSE_915&lt;br /&gt;
   2670   00:00:02 Festival 3.1         OK                           645      92 SvenSE_916&lt;br /&gt;
   2671   00:00:01 Festival 3.1         OK                           102      18 SvenSE_917&lt;br /&gt;
   2672   00:00:01 Festival 3.1         OK                           344      32 SvenSE_918&lt;br /&gt;
   2673   00:00:08 Festival 3.1         OK                           295      52 SvenSE_919&lt;br /&gt;
   2674   00:00:00 Festival 3.1         OK                           353      44 SvenSE_92&lt;br /&gt;
   2675   00:00:56 Festival 3.1         OK                           584      90 SvenSE_920&lt;br /&gt;
   2676   00:03:24 Festival 3.1         OK                          1090     112 SvenSE_921&lt;br /&gt;
   2677   00:00:44 Festival 3.1         OK                           410      68 SvenSE_922&lt;br /&gt;
   2678   00:00:06 Festival 3.1         OK                           275      58 SvenSE_923&lt;br /&gt;
   2679   00:00:01 Festival 3.1         OK                           140      30 SvenSE_924&lt;br /&gt;
   2680   00:00:03 Festival 3.1         OK                           214      54 SvenSE_925&lt;br /&gt;
   2681   00:00:01 Festival 3.1         OK                           293      53 SvenSE_926&lt;br /&gt;
   2682   00:00:08 Festival 3.1         OK                           709     154 SvenSE_927&lt;br /&gt;
   2683   00:00:01 Festival 3.1         OK                           113      23 SvenSE_928&lt;br /&gt;
   2684   00:00:01 Festival 3.1         OK                           187      33 SvenSE_929&lt;br /&gt;
   2685   00:00:00 Festival 3.1         OK                           203      47 SvenSE_93&lt;br /&gt;
   2686   00:00:01 Festival 3.1         OK                           875     214 SvenSE_930&lt;br /&gt;
   2687   00:00:02 Festival 3.1         OK                           333      55 SvenSE_931&lt;br /&gt;
   2688   00:00:01 Festival 3.1         OK                          1200     228 SvenSE_932&lt;br /&gt;
   2689   00:00:01 Festival 3.1         OK                           304      58 SvenSE_933&lt;br /&gt;
   2690   00:00:00 Festival 3.1         OK                           140      28 SvenSE_934&lt;br /&gt;
   2691   00:00:01 Festival 3.1         OK                           188      34 SvenSE_935&lt;br /&gt;
   2692   00:00:01 Festival 3.1         OK                           118      30 SvenSE_936&lt;br /&gt;
   2693   00:00:01 Festival 3.1         OK                           260      38 SvenSE_937&lt;br /&gt;
   2694   00:00:00 Festival 3.1         OK                           151      28 SvenSE_938&lt;br /&gt;
   2695   00:00:01 Festival 3.1         OK                           162      24 SvenSE_939&lt;br /&gt;
   2696   00:00:01 Festival 3.1         OK                           247      51 SvenSE_94&lt;br /&gt;
   2697   00:00:01 Festival 3.1         OK                           161      37 SvenSE_940&lt;br /&gt;
   2698   00:00:01 Festival 3.1         OK                           561     114 SvenSE_941&lt;br /&gt;
   2699   00:00:02 Festival 3.1         OK                           596     114 SvenSE_942&lt;br /&gt;
   2700   00:00:01 Festival 3.1         OK                           376      60 SvenSE_943&lt;br /&gt;
   2701   00:00:01 Festival 3.1         OK                           610      73 SvenSE_944&lt;br /&gt;
   2702   00:00:01 Festival 3.1         OK                           419     130 SvenSE_945&lt;br /&gt;
   2703   00:00:01 Festival 3.1         OK                           391      46 SvenSE_946&lt;br /&gt;
   2704   00:00:11 Festival 3.1         OK                           563     112 SvenSE_947&lt;br /&gt;
   2705   00:00:20 Festival 3.1         OK                           852     128 SvenSE_948&lt;br /&gt;
   2706   00:00:08 Festival 3.1         OK                           581      76 SvenSE_949&lt;br /&gt;
   2707   00:00:00 Festival 3.1         OK                           271      69 SvenSE_95&lt;br /&gt;
   2708   00:00:01 Festival 3.1         OK                           366      54 SvenSE_950&lt;br /&gt;
   2709   00:00:04 Festival 3.1         OK                           527     124 SvenSE_951&lt;br /&gt;
   2710   00:00:01 Festival 3.1         OK                            28      11 SvenSE_952&lt;br /&gt;
   2711   00:00:01 Festival 3.1         OK                           338      74 SvenSE_953&lt;br /&gt;
   2712   00:00:01 Festival 3.1         OK                           269      48 SvenSE_954&lt;br /&gt;
   2713   00:00:01 Festival 3.1         OK                           304      61 SvenSE_955&lt;br /&gt;
   2714   00:00:02 Festival 3.1         OK                           380      61 SvenSE_956&lt;br /&gt;
   2715   00:00:17 Festival 3.1         OK                           608      75 SvenSE_957&lt;br /&gt;
   2716   00:01:13 Festival 3.1         OK                           647      75 SvenSE_958&lt;br /&gt;
   2717   00:00:04 Festival 3.1         OK                           419     121 SvenSE_959&lt;br /&gt;
   2718   00:00:01 Festival 3.1         OK                           203      52 SvenSE_96&lt;br /&gt;
   2719   00:00:01 Festival 3.1         OK                           452     149 SvenSE_960&lt;br /&gt;
   2720   00:00:01 Festival 3.1         OK                           464     144 SvenSE_961&lt;br /&gt;
   2721   00:00:00 Festival 3.1         OK                           308      46 SvenSE_962&lt;br /&gt;
   2722   00:00:01 Festival 3.1         OK                           245      40 SvenSE_963&lt;br /&gt;
   2723   00:00:04 Festival 3.1         OK                          1054      92 SvenSE_964&lt;br /&gt;
   2724   00:04:50 Festival 3.1         OK                          1264     198 SvenSE_965&lt;br /&gt;
   2725   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_966&lt;br /&gt;
   2726   00:00:01 Festival 3.1         OK                           772     165 SvenSE_967&lt;br /&gt;
   2727   00:00:01 Festival 3.1         OK                           216      56 SvenSE_968&lt;br /&gt;
   2728   00:00:01 Festival 3.1         OK                           331      52 SvenSE_969&lt;br /&gt;
   2729   00:00:03 Festival 3.1         OK                           225      48 SvenSE_97&lt;br /&gt;
   2730   00:00:01 Festival 3.1         OK                           288      56 SvenSE_970&lt;br /&gt;
   2731   00:00:01 Festival 3.1         OK                           241      48 SvenSE_971&lt;br /&gt;
   2732   00:00:01 Festival 3.1         OK                           250      57 SvenSE_972&lt;br /&gt;
   2733   00:00:02 Festival 3.1         OK                           261      46 SvenSE_973&lt;br /&gt;
   2734   00:00:02 Festival 3.1         OK                           529     124 SvenSE_974&lt;br /&gt;
   2735   00:00:02 Festival 3.1         OK                           575      88 SvenSE_975&lt;br /&gt;
   2736   00:00:03 Festival 3.1         OK                           377      84 SvenSE_976&lt;br /&gt;
   2737   00:00:12 Festival 3.1         OK                           799      80 SvenSE_977&lt;br /&gt;
   2738   00:02:58 Festival 3.1         OK                          1413     282 SvenSE_978&lt;br /&gt;
   2739   00:01:01 Festival 3.1         OK                          2101     204 SvenSE_979&lt;br /&gt;
   2740   00:00:15 Festival 3.1         OK                           195      46 SvenSE_98&lt;br /&gt;
   2741   00:00:14 Festival 3.1         OK                           600     128 SvenSE_980&lt;br /&gt;
   2742   00:00:12 Festival 3.1         OK                           627     118 SvenSE_981&lt;br /&gt;
   2743   00:00:01 Festival 3.1         OK                           411      48 SvenSE_982&lt;br /&gt;
   2744   00:00:01 Festival 3.1         OK                           191      44 SvenSE_983&lt;br /&gt;
   2745   00:03:02 Festival 3.1         OK                          2182     366 SvenSE_984&lt;br /&gt;
   2746   00:03:18 Festival 3.1         OK                          1619     190 SvenSE_985&lt;br /&gt;
   2747   00:00:48 Festival 3.1         OK                          1003     169 SvenSE_986&lt;br /&gt;
   2748   00:00:02 Festival 3.1         OK                           410     140 SvenSE_987&lt;br /&gt;
   2749   00:03:21 Festival 3.1         OK                           555     129 SvenSE_988&lt;br /&gt;
   2750   00:03:26 Festival 3.1         OK                           396      85 SvenSE_989&lt;br /&gt;
   2751   00:00:09 Festival 3.1         OK                           258      48 SvenSE_99&lt;br /&gt;
   2752   00:00:02 Festival 3.1         OK                           615      62 SvenSE_990&lt;br /&gt;
   2753   00:00:01 Festival 3.1         OK                           733     130 SvenSE_991&lt;br /&gt;
   2754   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_992&lt;br /&gt;
   2755   00:10:01 Festival 3.1         Time limit exceeded                      SvenSE_993&lt;br /&gt;
   2756   00:00:00 Festival 3.1         OK                           152      48 SvenSE_994&lt;br /&gt;
   2757   00:00:02 Festival 3.1         OK                           520     104 SvenSE_995&lt;br /&gt;
   2758   00:00:00 Festival 3.1         OK                           154      49 SvenSE_996&lt;br /&gt;
   2759   00:00:01 Festival 3.1         OK                           450      98 SvenSE_997&lt;br /&gt;
   2760   00:00:01 Festival 3.1         OK                           454     102 SvenSE_998&lt;br /&gt;
   2761   00:00:04 Festival 3.1         OK                           360     114 SvenSE_999&lt;br /&gt;
   2762   00:00:00 Festival 3.1         OK                           264      99 XSokoban1&lt;br /&gt;
   2763   00:00:02 Festival 3.1         OK                          1627     582 XSokoban10&lt;br /&gt;
   2764   00:00:03 Festival 3.1         OK                           951     267 XSokoban11&lt;br /&gt;
   2765   00:00:00 Festival 3.1         OK                           881     242 XSokoban12&lt;br /&gt;
   2766   00:00:01 Festival 3.1         OK                           842     266 XSokoban13&lt;br /&gt;
   2767   00:00:01 Festival 3.1         OK                          1156     283 XSokoban14&lt;br /&gt;
   2768   00:00:05 Festival 3.1         OK                           941     220 XSokoban15&lt;br /&gt;
   2769   00:00:04 Festival 3.1         OK                           974     318 XSokoban16&lt;br /&gt;
   2770   00:00:01 Festival 3.1         OK                           565     221 XSokoban17&lt;br /&gt;
   2771   00:00:01 Festival 3.1         OK                          1062     212 XSokoban18&lt;br /&gt;
   2772   00:00:01 Festival 3.1         OK                          1085     412 XSokoban19&lt;br /&gt;
   2773   00:00:01 Festival 3.1         OK                           563     147 XSokoban2&lt;br /&gt;
   2774   00:00:02 Festival 3.1         OK                          2161     546 XSokoban20&lt;br /&gt;
   2775   00:00:00 Festival 3.1         OK                           536     177 XSokoban21&lt;br /&gt;
   2776   00:00:02 Festival 3.1         OK                          1606     590 XSokoban22&lt;br /&gt;
   2777   00:00:02 Festival 3.1         OK                          1317     494 XSokoban23&lt;br /&gt;
   2778   00:00:02 Festival 3.1         OK                          1678     600 XSokoban24&lt;br /&gt;
   2779   00:00:02 Festival 3.1         OK                          1458     408 XSokoban25&lt;br /&gt;
   2780   00:00:01 Festival 3.1         OK                           627     229 XSokoban26&lt;br /&gt;
   2781   00:00:01 Festival 3.1         OK                          1446     383 XSokoban27&lt;br /&gt;
   2782   00:00:01 Festival 3.1         OK                          1013     336 XSokoban28&lt;br /&gt;
   2783   00:03:21 Festival 3.1         OK                          1211     302 XSokoban29&lt;br /&gt;
   2784   00:00:01 Festival 3.1         OK                           388     142 XSokoban3&lt;br /&gt;
   2785   00:00:01 Festival 3.1         OK                          1569     533 XSokoban30&lt;br /&gt;
   2786   00:00:02 Festival 3.1         OK                           952     346 XSokoban31&lt;br /&gt;
   2787   00:00:01 Festival 3.1         OK                           535     177 XSokoban32&lt;br /&gt;
   2788   00:00:01 Festival 3.1         OK                          1232     258 XSokoban33&lt;br /&gt;
   2789   00:00:04 Festival 3.1         OK                          1046     222 XSokoban34&lt;br /&gt;
   2790   00:00:01 Festival 3.1         OK                          1230     420 XSokoban35&lt;br /&gt;
   2791   00:00:06 Festival 3.1         OK                          1881     565 XSokoban36&lt;br /&gt;
   2792   00:00:02 Festival 3.1         OK                          1149     508 XSokoban37&lt;br /&gt;
   2793   00:00:01 Festival 3.1         OK                           410     117 XSokoban38&lt;br /&gt;
   2794   00:00:01 Festival 3.1         OK                          1892     726 XSokoban39&lt;br /&gt;
   2795   00:00:01 Festival 3.1         OK                          1003     383 XSokoban4&lt;br /&gt;
   2796   00:00:12 Festival 3.1         OK                          1483     366 XSokoban40&lt;br /&gt;
   2797   00:00:02 Festival 3.1         OK                           789     271 XSokoban41&lt;br /&gt;
   2798   00:00:02 Festival 3.1         OK                          1202     382 XSokoban42&lt;br /&gt;
   2799   00:00:00 Festival 3.1         OK                           634     156 XSokoban43&lt;br /&gt;
   2800   00:00:02 Festival 3.1         OK                           643     195 XSokoban44&lt;br /&gt;
   2801   00:00:01 Festival 3.1         OK                           977     334 XSokoban45&lt;br /&gt;
   2802   00:00:00 Festival 3.1         OK                          1095     295 XSokoban46&lt;br /&gt;
   2803   00:00:01 Festival 3.1         OK                           650     215 XSokoban47&lt;br /&gt;
   2804   00:00:01 Festival 3.1         OK                           897     248 XSokoban48&lt;br /&gt;
   2805   00:00:01 Festival 3.1         OK                           523     136 XSokoban49&lt;br /&gt;
   2806   00:00:00 Festival 3.1         OK                           465     159 XSokoban5&lt;br /&gt;
   2807   00:00:01 Festival 3.1         OK                          1228     442 XSokoban50&lt;br /&gt;
   2808   00:00:01 Festival 3.1         OK                           483     130 XSokoban51&lt;br /&gt;
   2809   00:00:02 Festival 3.1         OK                          2393     531 XSokoban52&lt;br /&gt;
   2810   00:00:01 Festival 3.1         OK                           681     240 XSokoban53&lt;br /&gt;
   2811   00:00:01 Festival 3.1         OK                           888     279 XSokoban54&lt;br /&gt;
   2812   00:00:02 Festival 3.1         OK                           712     234 XSokoban55&lt;br /&gt;
   2813   00:00:01 Festival 3.1         OK                           723     251 XSokoban56&lt;br /&gt;
   2814   00:00:01 Festival 3.1         OK                           783     261 XSokoban57&lt;br /&gt;
   2815   00:00:01 Festival 3.1         OK                           900     287 XSokoban58&lt;br /&gt;
   2816   00:00:00 Festival 3.1         OK                           712     256 XSokoban59&lt;br /&gt;
   2817   00:00:01 Festival 3.1         OK                           352     116 XSokoban6&lt;br /&gt;
   2818   00:00:01 Festival 3.1         OK                           503     162 XSokoban60&lt;br /&gt;
   2819   00:00:01 Festival 3.1         OK                          1059     297 XSokoban61&lt;br /&gt;
   2820   00:00:01 Festival 3.1         OK                           746     255 XSokoban62&lt;br /&gt;
   2821   00:00:01 Festival 3.1         OK                          1585     477 XSokoban63&lt;br /&gt;
   2822   00:00:00 Festival 3.1         OK                          1169     401 XSokoban64&lt;br /&gt;
   2823   00:00:01 Festival 3.1         OK                           767     227 XSokoban65&lt;br /&gt;
   2824   00:00:02 Festival 3.1         OK                          1440     415 XSokoban66&lt;br /&gt;
   2825   00:00:01 Festival 3.1         OK                          1155     435 XSokoban67&lt;br /&gt;
   2826   00:00:01 Festival 3.1         OK                          1399     367 XSokoban68&lt;br /&gt;
   2827   00:00:01 Festival 3.1         OK                          1585     535 XSokoban69&lt;br /&gt;
   2828   00:00:01 Festival 3.1         OK                           367     118 XSokoban7&lt;br /&gt;
   2829   00:00:00 Festival 3.1         OK                          1173     367 XSokoban70&lt;br /&gt;
   2830   00:00:22 Festival 3.1         OK                          1296     382 XSokoban71&lt;br /&gt;
   2831   00:00:01 Festival 3.1         OK                          1301     404 XSokoban72&lt;br /&gt;
   2832   00:00:01 Festival 3.1         OK                          1649     469 XSokoban73&lt;br /&gt;
   2833   00:00:01 Festival 3.1         OK                           830     270 XSokoban74&lt;br /&gt;
   2834   00:00:04 Festival 3.1         OK                          1533     359 XSokoban75&lt;br /&gt;
   2835   00:00:02 Festival 3.1         OK                          1056     364 XSokoban76&lt;br /&gt;
   2836   00:00:03 Festival 3.1         OK                          2419     436 XSokoban77&lt;br /&gt;
   2837   00:00:01 Festival 3.1         OK                           515     174 XSokoban78&lt;br /&gt;
   2838   00:00:01 Festival 3.1         OK                           568     208 XSokoban79&lt;br /&gt;
   2839   00:00:01 Festival 3.1         OK                           787     286 XSokoban8&lt;br /&gt;
   2840   00:00:01 Festival 3.1         OK                           659     263 XSokoban80&lt;br /&gt;
   2841   00:00:02 Festival 3.1         OK                           631     203 XSokoban81&lt;br /&gt;
   2842   00:00:01 Festival 3.1         OK                           480     201 XSokoban82&lt;br /&gt;
   2843   00:00:01 Festival 3.1         OK                           669     252 XSokoban83&lt;br /&gt;
   2844   00:00:01 Festival 3.1         OK                           535     189 XSokoban84&lt;br /&gt;
   2845   00:00:01 Festival 3.1         OK                          1825     395 XSokoban85&lt;br /&gt;
   2846   00:00:01 Festival 3.1         OK                           576     146 XSokoban86&lt;br /&gt;
   2847   00:00:00 Festival 3.1         OK                          1124     295 XSokoban87&lt;br /&gt;
   2848   00:00:01 Festival 3.1         OK                          1214     426 XSokoban88&lt;br /&gt;
   2849   00:00:02 Festival 3.1         OK                          1753     467 XSokoban89&lt;br /&gt;
   2850   00:00:00 Festival 3.1         OK                           670     255 XSokoban9&lt;br /&gt;
   2851   00:00:02 Festival 3.1         OK                          2204     560 XSokoban90&lt;br /&gt;
&lt;br /&gt;
   2851   28:19:51 Total                OK: 2766 Failed: 85      1687264  318638&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=General_Sokoban_information&amp;diff=8054</id>
		<title>General Sokoban information</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=General_Sokoban_information&amp;diff=8054"/>
		<updated>2023-01-23T22:04:36Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: /* Pushes parity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Moves parity ==&lt;br /&gt;
&lt;br /&gt;
The parity of the number of moves of a solution depends on the position of the player when the level has been solved.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
[[File:MoveParityExample1.png]]&lt;br /&gt;
&lt;br /&gt;
In this level the move parity is always even when the level has been solved, no matter how the player is moved, since the player must always end at the position left to the box.&lt;br /&gt;
&lt;br /&gt;
The reason for this is that the player can only move up, down, left and right:&lt;br /&gt;
&lt;br /&gt;
[[File:MoveParityExampleWithCheckerboardOverlay.png]]&lt;br /&gt;
&lt;br /&gt;
in the above picture, the squares are alternately colored.&lt;br /&gt;
With every move the player moves to a square of the other color, no matter how the player moves.&amp;lt;br&amp;gt;&lt;br /&gt;
This means all darker squares are reached with an odd number of moves and all brighter squares are reached with an even number of moves.&amp;lt;br&amp;gt;&lt;br /&gt;
Since the player start position is fixed for every level the move parity only depends on the end position of the player.&lt;br /&gt;
&lt;br /&gt;
This information is sometimes useful, since for certain levels it may be helpful to now where the player ended.&lt;br /&gt;
For example Original level 12:&lt;br /&gt;
&lt;br /&gt;
[[File:Original12.png]]&lt;br /&gt;
&lt;br /&gt;
The best known move solution contains 601 moves.&lt;br /&gt;
Since the player starts on a darker square, he must end on a lighter square so that the total number of moves is odd.&amp;lt;br&amp;gt;&lt;br /&gt;
Since there is just one such square the player can end on when the level is solved, the last push of a solution having an odd number of moves is known.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pushes parity ==&lt;br /&gt;
&lt;br /&gt;
The number of pushes needed to solve a specific Sokoban level is always either odd or even.&lt;br /&gt;
&lt;br /&gt;
This can be shown by alternately coloring the squares:&lt;br /&gt;
&lt;br /&gt;
[[File:pushesParityDescriptionLevel.png]]&lt;br /&gt;
&lt;br /&gt;
With every push the boxes reach a square of the other color, no matter in which direction the boxes are pushed.&amp;lt;br&amp;gt;&lt;br /&gt;
Adding walls to the level woudn&#039;t change this.&amp;lt;br&amp;gt;&lt;br /&gt;
A box on a darker colored square can reach a darker colored goal with an even number of pushes and a lighter colored square with an odd number of pushes.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this level one of the boxes must be pushed to a goal having a different color than the start position of the box. Hence, the total number of pushes needed to solve the level must be odd.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property of Sokoban solutions can be leveraged in a Sokoban solver.&amp;lt;br&amp;gt;&lt;br /&gt;
A solver that searches for a solution having the least number of pushes can increase the search depth by 2 each time no solution has been found for the current search depth when the parity of the solution is calculated first.&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
	<entry>
		<id>http://sokobano.de/wiki/index.php?title=File:PushesParityDescriptionLevel.png&amp;diff=8049</id>
		<title>File:PushesParityDescriptionLevel.png</title>
		<link rel="alternate" type="text/html" href="http://sokobano.de/wiki/index.php?title=File:PushesParityDescriptionLevel.png&amp;diff=8049"/>
		<updated>2023-01-23T21:45:14Z</updated>

		<summary type="html">&lt;p&gt;Matthias Meger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Matthias Meger</name></author>
	</entry>
</feed>