diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 2b221d8..4e2ea36 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -46,7 +46,7 @@ jobs: - name: Install project dependencies run: | - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + pip install .[test] - name: Lint with flake8 run: | diff --git a/setup.py b/setup.py index 9d7b945..78e763b 100644 --- a/setup.py +++ b/setup.py @@ -52,7 +52,7 @@ def read_files(files, delim: str = "\n") -> str: 'Topic :: Scientific/Engineering :: Visualization', 'Topic :: Multimedia :: Graphics :: Presentation'] -tests_require = ['pytest'] +tests_require = ['pytest', 'pytest-mock'] setup(name="tdvisu", version=version, diff --git a/tdvisu/construct_dpdb_visu.py b/tdvisu/construct_dpdb_visu.py index 02207cd..c2f10d3 100644 --- a/tdvisu/construct_dpdb_visu.py +++ b/tdvisu/construct_dpdb_visu.py @@ -104,14 +104,16 @@ def db_config(filename: str = 'database.ini', def query_problem(cur, problem): cur.execute("SELECT type FROM " "public.problem WHERE id=%s", (problem,)) - return cur.fetchone() + result = cur.fetchone() + return result def query_num_vars(cur, problem): cur.execute( "SELECT num_vertices FROM " "public.problem WHERE id=%s", (problem,)) - return cur.fetchone()[0] + result = cur.fetchone()[0] + return result def query_sat_clause(cur, problem): @@ -121,12 +123,14 @@ def query_sat_clause(cur, problem): LOGGER.error( "dpdb.py SHARPSAT needs to be run with '--store-formula'!") raise - return cur.fetchall() + result = cur.fetchall() + return result def query_td_bag_grouped(cur, problem): cur.execute("SELECT bag FROM public.p%d_td_bag GROUP BY bag" % problem) - return cur.fetchall() + result = cur.fetchall() + return result def query_td_node_status(cur, problem, bag): @@ -134,40 +138,46 @@ def query_td_node_status(cur, problem, bag): ("SELECT start_time,end_time-start_time " "FROM public.p%d_td_node_status" % problem) + " WHERE node=%s", (bag,)) - return cur.fetchone() + result = cur.fetchone() + return result def query_td_bag(cur, problem, bag): cur.execute( ("SELECT node FROM public.p%d_td_bag" % problem) + " WHERE bag=%s", (bag,)) - return cur.fetchall() + result = cur.fetchall() + return result def query_td_node_status_ordered(cur, problem): cur.execute( "SELECT node FROM public.p%d_td_node_status ORDER BY start_time" % problem) - return cur.fetchall() + result = cur.fetchall() + return result def query_column_name(cur, problem, bag): cur.execute( "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS " "WHERE TABLE_NAME = 'p%d_td_node_%d'" % (problem, bag)) - return cur.fetchall() + result = cur.fetchall() + return result def query_bag(cur, problem, bag): cur.execute( "SELECT * FROM public.p%d_td_node_%d" % (problem, bag)) - return cur.fetchall() + result = cur.fetchall() + return result def query_edgearray(cur, problem): cur.execute( "SELECT node,parent FROM public.p%d_td_edge" % problem) - return cur.fetchall() + result = cur.fetchall() + return result class IDpdbVisuConstruct(metaclass=abc.ABCMeta): diff --git a/tdvisu/dbjson9.json b/tdvisu/dbjson9.json deleted file mode 100644 index ff9ad4c..0000000 --- a/tdvisu/dbjson9.json +++ /dev/null @@ -1 +0,0 @@ -{"generalGraph": {"edges": [[26, 21], [18, 17], [16, 84], [13, 97], [99, 100], [78, 77], [91, 7], [70, 73], [55, 84], [48, 45], [5, 74], [40, 41], [83, 21], [29, 50], [75, 17], [6, 57], [48, 72], [9, 90], [33, 29], [85, 48], [2, 41], [54, 79], [73, 92], [3, 24], [65, 8], [76, 8], [57, 4], [98, 5], [4, 87], [22, 46], [57, 13], [85, 84], [3, 42], [86, 49], [98, 14], [23, 100], [66, 89], [55, 52], [51, 100], [1, 81], [71, 24], [47, 66], [70, 68], [27, 8], [36, 75], [30, 4], [71, 42], [91, 20], [30, 13], [94, 16], [28, 80], [58, 81], [48, 58], [77, 94], [40, 54], [21, 50], [58, 99], [84, 8], [95, 8], [81, 73], [87, 4], [25, 29], [64, 11], [87, 13], [56, 7], [85, 52], [12, 86], [31, 99], [32, 64], [51, 77], [35, 60], [23, 95], [43, 73], [26, 2], [38, 4], [15, 11], [26, 11], [1, 76], [18, 7], [13, 87], [100, 55], [55, 65], [79, 32], [63, 15], [9, 53], [83, 2], [40, 31], [69, 67], [9, 62], [83, 11], [17, 75], [58, 76], [58, 85], [61, 81], [33, 10], [41, 23], [52, 23], [44, 19], [8, 84], [42, 86], [93, 33], [64, 6], [33, 37], [2, 31], [86, 12], [2, 40], [14, 5], [56, 20], [23, 72], [74, 56], [23, 81], [85, 65], [72, 95], [67, 26], [16, 51], [23, 99], [16, 60], [90, 9], [96, 89], [79, 18], [59, 49], [55, 60], [76, 92], [46, 88], [77, 66], [57, 97], [92, 73], [26, 100], [21, 31], [81, 45], [80, 98], [52, 27], [25, 10], [27, 92], [93, 37], [73, 68], [2, 26], [10, 39], [23, 58], [32, 36], [20, 80], [43, 45], [4, 63], [66, 47], [23, 76], [32, 54], [67, 21], [23, 85], [1, 48], [36, 15], [32, 63], [24, 59], [16, 55], [28, 20], [79, 4], [56, 91], [79, 13], [37, 96], [96, 93], [47, 51], [58, 48], [5, 54], [17, 56], [28, 56], [48, 34], [61, 53], [68, 92], [92, 68], [38, 97], [21, 26], [61, 62], [7, 91], [18, 91], [58, 84], [8, 65], [54, 32], [73, 45], [81, 58], [50, 89], [10, 25], [74, 28], [8, 92], [2, 21], [73, 72], [51, 35], [66, 33], [32, 40], [72, 76], [51, 53], [1, 34], [13, 36], [59, 3], [66, 51], [12, 71], [1, 43], [59, 12], [43, 58], [16, 41], [55, 23], [31, 84], [65, 55], [53, 90], [13, 63], [59, 30], [53, 99], [55, 41], [100, 31], [92, 27], [65, 73], [76, 73], [46, 69], [14, 98], [77, 47], [99, 84], [58, 43], [92, 45], [100, 58], [50, 39], [58, 52], [9, 47], [46, 96], [29, 25], [58, 61], [27, 55], [50, 66], [39, 29], [81, 44], [27, 73], [74, 5], [42, 71], [54, 36], [74, 14], [85, 23], [30, 87], [2, 16], [31, 52], [11, 83], [23, 48], [84, 55], [85, 41], [97, 6], [67, 2], [64, 67], [43, 44], [67, 11], [34, 72], [24, 49], [99, 52], [55, 27], [34, 81], [35, 58], [45, 81], [100, 26], [22, 88], [36, 32], [76, 68], [22, 97], [17, 28], [57, 64], [96, 29], [34, 99], [68, 73], [40, 2], [63, 4], [15, 67], [26, 67], [77, 51], [57, 82], [61, 43], [80, 56], [38, 87], [49, 87], [58, 65], [8, 55], [27, 68], [39, 33], [62, 35], [81, 48], [83, 67], [91, 80], [8, 73], [54, 40], [19, 73], [11, 69], [23, 34], [51, 16], [2, 11], [4, 30], [74, 18], [84, 41], [85, 27], [20, 56], [91, 98], [99, 34], [23, 52], [95, 68], [96, 33], [53, 62], [4, 57], [34, 58], [67, 6], [33, 93], [16, 31], [35, 44], [47, 9], [76, 45], [34, 76], [28, 5], [45, 76], [36, 18], [92, 8], [34, 85], [46, 50], [65, 72], [48, 1], [76, 72], [69, 33], [50, 29], [21, 2], [27, 45], [39, 10], [8, 41], [81, 34], [54, 17], [82, 88], [30, 59], [48, 95], [27, 72], [39, 37], [82, 97], [39, 46], [11, 64], [96, 10], [24, 3], [72, 52], [24, 12], [1, 19], [64, 57], [43, 34], [87, 59], [95, 72], [13, 30], [96, 37], [55, 8], [96, 46], [36, 4], [65, 40], [22, 69], [2, 100], [36, 13], [99, 51], [56, 80], [5, 7], [100, 16], [65, 58], [14, 74], [76, 58], [28, 18], [58, 19], [99, 60], [57, 63], [80, 28], [49, 59], [68, 72], [69, 37], [50, 33], [69, 46], [8, 27], [15, 75], [98, 91], [11, 32], [7, 80], [8, 45], [19, 45], [27, 58], [63, 79], [18, 80], [48, 81], [60, 55], [30, 63], [20, 28], [84, 31], [94, 66], [12, 24], [85, 8], [63, 97], [32, 11], [12, 42], [4, 38], [84, 58], [72, 65], [34, 48], [45, 48], [53, 61], [46, 22], [57, 22], [25, 88], [88, 37], [22, 64], [100, 2], [88, 46], [77, 9], [56, 75], [17, 4], [80, 5], [22, 82], [80, 14], [50, 10], [58, 23], [3, 87], [61, 19], [59, 86], [70, 95], [42, 24], [50, 37], [82, 69], [28, 98], [18, 75], [48, 76], [20, 5], [9, 94], [91, 56], [48, 85], [20, 14], [71, 87], [31, 23], [6, 88], [41, 55], [52, 55], [91, 74], [6, 97], [44, 60], [33, 69], [45, 34], [87, 49], [34, 43], [45, 43], [37, 39], [99, 23], [34, 52], [38, 13], [66, 93], [86, 71], [2, 99], [65, 48], [76, 48], [80, 18], [58, 27], [36, 79], [78, 94], [81, 1], [82, 64], [5, 91], [19, 44], [94, 47], [52, 41], [40, 85], [33, 46], [43, 1], [37, 25], [72, 55], [16, 2], [97, 63], [53, 51], [2, 67], [93, 96], [97, 57], [65, 34], [49, 17], [76, 34], [51, 99], [3, 59], [46, 39], [7, 20], [79, 36], [95, 27], [30, 3], [79, 54], [30, 12], [17, 79], [79, 63], [7, 56], [18, 56], [71, 59], [91, 28], [73, 1], [11, 26], [6, 69], [87, 3], [21, 67], [84, 16], [94, 51], [87, 12], [60, 58], [72, 23], [29, 89], [75, 56], [25, 37], [33, 50], [84, 34], [25, 46], [87, 30], [72, 41], [52, 72], [20, 98], [37, 29], [49, 3], [43, 81], [49, 12], [51, 94], [46, 25], [24, 86], [18, 15], [92, 1], [38, 30], [78, 66], [89, 66], [58, 8], [91, 5], [59, 71], [16, 100], [63, 32], [47, 78], [48, 43], [91, 14], [28, 74], [29, 39], [48, 52], [75, 15], [100, 99], [11, 21], [60, 35], [84, 2], [6, 64], [52, 31], [41, 31], [60, 44], [40, 75], [41, 40], [52, 40], [60, 53], [81, 76], [34, 1], [45, 1], [6, 82], [81, 85], [44, 45], [72, 27], [41, 58], [52, 58], [73, 81], [39, 88], [34, 19], [45, 19], [64, 32], [85, 55], [62, 90], [56, 28], [97, 38], [37, 33], [32, 67], [43, 76], [66, 78], [74, 91], [3, 49], [79, 17], [35, 90], [82, 22], [15, 32], [13, 79], [90, 35], [18, 28], [35, 99], [90, 53], [63, 36], [91, 18], [71, 49], [92, 81], [41, 8], [52, 8], [40, 52], [69, 88], [48, 65], [50, 93], [10, 29], [53, 9], [73, 76], [56, 5], [37, 10], [34, 23], [86, 24], [2, 52], [76, 1], [51, 66], [23, 84], [84, 100], [89, 29], [57, 6], [86, 42], [98, 7], [78, 47], [18, 5], [7, 5], [15, 18], [7, 14], [63, 13], [1, 92], [65, 95], [55, 72], [27, 1], [76, 95], [88, 97], [9, 51], [16, 99], [47, 77], [77, 78], [94, 9], [11, 2], [75, 5], [80, 74], [60, 16], [5, 80], [69, 83], [92, 76], [60, 34], [62, 53], [75, 32], [27, 95], [72, 8], [10, 33], [44, 35], [39, 69], [81, 84], [20, 74], [56, 18], [3, 12], [43, 48], [66, 50], [67, 15], [39, 96], [85, 72], [35, 53], [68, 1], [3, 30], [55, 31], [89, 33], [35, 62], [32, 75], [16, 58], [66, 77], [24, 71], [98, 20], [71, 3], [78, 51], [65, 81], [71, 12], [55, 58], [76, 81], [36, 54], [40, 15], [63, 17], [36, 63], [21, 11], [71, 30], [6, 22], [58, 60], [16, 94], [68, 95], [29, 33], [100, 84], [5, 75], [81, 43], [41, 16], [75, 18], [27, 81], [73, 48], [81, 52], [81, 61], [8, 95], [10, 37], [85, 40], [51, 47], [23, 65], [14, 7], [84, 81], [85, 58], [87, 86], [43, 61], [4, 79], [84, 99], [13, 57], [59, 24], [89, 37], [17, 18], [88, 69], [4, 97], [56, 98], [1, 73], [59, 42], [65, 76], [17, 36], [65, 85], [76, 85], [100, 52], [29, 10], [92, 48], [48, 23], [17, 54], [58, 55], [49, 86], [63, 30], [69, 64], [61, 60], [29, 37], [41, 2], [52, 2], [50, 69], [73, 34], [69, 82], [7, 98], [27, 76], [73, 43], [80, 91], [8, 72], [27, 85], [39, 50], [8, 81], [19, 81], [81, 65], [62, 61], [50, 96], [31, 55], [73, 70], [60, 100], [22, 6], [54, 75], [95, 76], [84, 85], [95, 85], [51, 60], [96, 50], [12, 87], [64, 88], [36, 17], [99, 55], [67, 32], [34, 84], [35, 61], [88, 64], [64, 97], [5, 20], [1, 68], [37, 89], [55, 48], [79, 15], [92, 34], [88, 82], [68, 76], [58, 41], [92, 43], [17, 49], [28, 49], [69, 50], [48, 27], [50, 46], [5, 56], [40, 23], [15, 79], [40, 32], [92, 70], [8, 58], [19, 58], [8, 76], [31, 41], [81, 60], [8, 85], [42, 87], [32, 15], [73, 65], [2, 23], [23, 55], [97, 4], [41, 100], [1, 27], [97, 13], [33, 96], [52, 100], [13, 38], [97, 22], [99, 41], [55, 16], [1, 45], [64, 83], [55, 34], [28, 17], [14, 91], [82, 6], [37, 93], [65, 84], [100, 51], [100, 60], [81, 19], [26, 83], [27, 48], [18, 79], [74, 7], [30, 71], [81, 55], [11, 67], [60, 81], [93, 29], [95, 48], [23, 41], [75, 79], [54, 56], [43, 19], [85, 34], [66, 94], [60, 99], [12, 59], [53, 60], [93, 50], [72, 73], [52, 95], [64, 69], [87, 71], [34, 65], [24, 42], [76, 43], [25, 96], [56, 74], [35, 51], [65, 52], [76, 52], [68, 48], [34, 92], [45, 92], [69, 22], [3, 86], [37, 88], [5, 28], [48, 8], [9, 35], [27, 34], [26, 69], [49, 71], [27, 43], [7, 74], [18, 74], [81, 23], [27, 52], [73, 19], [8, 48], [54, 15], [71, 86], [42, 59], [83, 69], [23, 27], [51, 9], [31, 40], [94, 78], [41, 72], [74, 20], [84, 52], [95, 52], [52, 81], [1, 8], [86, 3], [88, 22], [72, 68], [95, 70], [41, 99], [52, 99], [99, 31], [34, 60], [64, 82], [99, 58], [100, 23], [5, 14], [97, 88], [76, 65], [69, 26], [38, 57], [89, 93], [68, 70], [58, 35], [100, 41], [55, 100], [58, 44], [98, 80], [43, 92], [58, 53], [8, 34], [19, 34], [8, 43], [19, 43], [61, 58], [81, 27], [8, 52], [27, 65], [19, 61], [31, 26], [83, 64], [29, 93], [23, 31], [23, 40], [41, 76], [52, 76], [4, 36], [12, 49], [41, 85], [52, 85], [43, 27], [44, 81], [84, 65], [95, 65], [34, 55], [96, 39], [2, 84], [99, 35], [46, 29], [34, 73], [57, 38], [45, 73], [37, 69], [99, 53], [5, 18], [69, 21], [90, 62], [69, 39], [61, 35], [61, 44], [62, 9], [30, 38], [54, 5], [42, 49], [39, 25], [23, 8], [73, 27], [31, 21], [48, 92], [4, 13], [94, 77], [44, 58], [87, 38], [60, 84], [35, 9], [84, 60], [34, 41], [96, 25], [37, 46], [22, 57], [85, 95], [88, 39], [46, 33], [80, 7], [3, 71], [15, 36], [76, 55], [86, 87], [58, 16], [14, 80], [55, 81], [67, 83], [15, 54], [50, 21], [58, 34], [15, 63], [55, 99], [81, 8], [79, 75], [28, 91], [5, 98], [40, 65], [30, 42], [20, 7], [12, 3], [31, 16], [54, 18], [52, 48], [60, 61], [64, 22], [4, 17], [44, 53], [12, 30], [43, 8], [34, 27], [45, 27], [13, 4], [87, 42], [41, 84], [52, 84], [99, 16], [34, 45], [46, 10], [53, 58], [65, 23], [76, 23], [56, 54], [85, 81], [2, 83], [37, 50], [88, 25], [33, 89], [10, 96], [97, 64], [65, 41], [49, 24], [76, 41], [46, 37], [7, 18], [26, 31], [67, 69], [97, 82], [69, 11], [15, 40], [49, 42], [55, 76], [18, 36], [8, 1], [19, 1], [42, 3], [80, 20], [55, 85], [42, 12], [89, 96], [27, 23], [98, 56], [18, 54], [48, 55], [82, 57], [70, 92], [11, 15], [98, 74], [42, 30], [73, 8], [48, 73], [31, 2], [6, 67], [52, 34], [41, 34], [75, 36], [33, 39], [84, 23], [41, 52], [75, 54], [21, 83], [10, 46], [95, 23], [29, 96], [53, 35], [99, 2], [33, 66], [72, 48], [53, 44], [85, 76], [93, 89], [65, 27], [76, 27], [32, 79], [86, 59], [49, 28], [67, 64], [69, 6], [17, 63], [59, 87], [29, 46], [47, 94], [8, 23], [9, 77], [83, 26], [63, 57], [48, 68], [58, 100], [23, 2], [75, 40], [60, 51], [44, 34], [21, 69], [44, 43], [34, 8], [45, 8], [25, 39], [81, 92], [10, 50], [56, 17], [41, 65], [52, 65], [72, 34], [44, 61], [93, 66], [20, 91], [14, 20], [88, 6], [31, 100], [34, 44], [45, 44], [51, 78], [74, 80], [89, 50], [74, 98], [68, 27], [98, 28], [72, 85]]}, "incidenceGraph": false, "tdTimeline": [[37], [37, [[["v25", "v29", "v33", "v37", "v39", "v46", "v50", "v96", "size"], [0, 1, 0, 1, 1, 1, 1, 1, 7], [1, 1, 1, 0, 1, 1, 1, 1, 8], [0, 1, 1, 1, 1, 1, 0, 1, 7], [1, 1, 1, 1, 1, 0, 1, 1, 8], [1, 1, 1, 1, 0, 1, 1, 1, 8], [1, 1, 1, 1, 1, 1, 1, 0, 8], [1, 1, 0, 1, 1, 1, 1, 1, 8], [1, 0, 1, 1, 1, 1, 1, 1, 8], [1, 1, 1, 1, 1, 1, 0, 1, 8], [0, 1, 1, 1, 1, 1, 1, 1, 8], [1, 1, 1, 1, 1, 1, 1, 1, 8]], "sol bag 37", "min-size: 7", true]], [38, [[["v29", "v33", "v37", "v50", "v66", "v96", "size"], [1, 1, 0, 1, 1, 1, 7], [0, 1, 1, 1, 1, 1, 7], [1, 1, 1, 1, 0, 1, 7], [1, 1, 1, 1, 0, 0, 6], [0, 1, 1, 1, 0, 1, 6], [1, 1, 0, 1, 0, 1, 6], [1, 1, 1, 1, 1, 0, 7], [1, 1, 1, 0, 1, 1, 7], [1, 1, 1, 1, 1, 1, 7], [1, 0, 1, 1, 1, 1, 7]], "sol bag 38", "min-size: 6", true]], [26, [[["v6", "v22", "v57", "v64", "v69", "v88", "v97", "size"], [1, 1, 0, 1, 1, 1, 1, 7], [1, 1, 1, 1, 1, 1, 0, 7], [1, 1, 1, 1, 1, 0, 1, 7], [1, 0, 1, 1, 1, 1, 1, 7], [0, 1, 1, 1, 1, 1, 1, 7], [1, 1, 0, 1, 1, 0, 1, 6], [1, 1, 1, 1, 0, 1, 1, 7], [1, 1, 1, 1, 1, 1, 1, 7], [1, 1, 1, 0, 1, 1, 1, 7], [1, 1, 0, 1, 0, 1, 1, 6], [1, 1, 1, 1, 0, 1, 0, 6]], "sol bag 26", "min-size: 6", true]], [35, [[["v25", "v33", "v37", "v39", "v46", "v50", "v66", "size"], [1, 0, 1, 1, 1, 1, 1, 11], [1, 1, 1, 0, 1, 1, 1, 10], [1, 1, 1, 1, 1, 1, 0, 10], [1, 1, 1, 1, 1, 0, 1, 11], [1, 1, 0, 1, 1, 1, 0, 10], [1, 1, 0, 1, 1, 1, 1, 11], [1, 1, 1, 1, 1, 1, 1, 10], [0, 1, 1, 1, 1, 0, 1, 10], [1, 1, 1, 0, 1, 1, 0, 10], [0, 0, 1, 1, 1, 1, 1, 10], [0, 1, 1, 1, 1, 1, 0, 10], [0, 1, 1, 1, 1, 1, 1, 10], [1, 1, 1, 1, 0, 1, 1, 10], [1, 1, 1, 1, 0, 1, 0, 10]], "sol bag 35", "min-size: 10", true]], [22, [[["v2", "v11", "v21", "v26", "v64", "v67", "v69", "size"], [1, 1, 1, 0, 0, 1, 1, 6], [1, 1, 0, 1, 1, 1, 1, 7], [1, 1, 1, 1, 1, 1, 0, 7], [1, 0, 1, 1, 1, 1, 1, 7], [1, 1, 1, 1, 1, 0, 1, 7], [0, 1, 1, 1, 1, 1, 0, 6], [0, 1, 1, 1, 1, 1, 1, 7], [1, 1, 1, 1, 0, 1, 1, 7], [1, 1, 1, 1, 1, 1, 1, 7], [1, 1, 1, 0, 1, 1, 1, 7], [0, 1, 1, 1, 0, 1, 1, 6], [1, 1, 0, 1, 0, 1, 1, 6]], "sol bag 22", "min-size: 6", true]], [32, [[["v25", "v37", "v39", "v46", "v50", "v66", "v69", "size"], [0, 1, 1, 1, 0, 1, 1, 11], [0, 1, 1, 1, 1, 0, 0, 10], [0, 1, 1, 1, 1, 0, 1, 11], [0, 1, 1, 1, 1, 1, 0, 10], [0, 1, 1, 1, 1, 1, 1, 11], [1, 0, 1, 1, 1, 0, 1, 11], [1, 0, 1, 1, 1, 1, 1, 12], [1, 1, 0, 1, 1, 0, 1, 11], [1, 1, 0, 1, 1, 1, 1, 11], [1, 1, 1, 0, 1, 0, 1, 11], [1, 1, 1, 0, 1, 1, 1, 11], [1, 1, 1, 1, 0, 1, 1, 12], [1, 1, 1, 1, 1, 0, 0, 10], [1, 1, 1, 1, 1, 0, 1, 11], [1, 1, 1, 1, 1, 1, 0, 10], [1, 1, 1, 1, 1, 1, 1, 11]], "sol bag 32", "min-size: 10", true]], [48, [[["v9", "v35", "v53", "v62", "size"], [0, 1, 1, 1, 4], [1, 1, 1, 1, 4], [1, 1, 1, 0, 4], [1, 1, 0, 1, 4], [1, 0, 1, 1, 4]], "sol bag 48", "min-size: 4", true]], [21, [[["v22", "v57", "v64", "v67", "v69", "v88", "v97", "size"], [0, 1, 1, 0, 1, 1, 1, 7], [0, 1, 1, 1, 1, 1, 1, 8], [1, 0, 1, 0, 1, 0, 1, 6], [1, 0, 1, 0, 1, 1, 1, 7], [1, 0, 1, 1, 0, 1, 1, 7], [1, 0, 1, 1, 1, 0, 1, 7], [1, 0, 1, 1, 1, 1, 1, 8], [1, 1, 0, 1, 1, 1, 1, 8], [1, 1, 1, 0, 1, 0, 1, 7], [1, 1, 1, 0, 1, 1, 0, 7], [1, 1, 1, 0, 1, 1, 1, 7], [1, 1, 1, 1, 0, 1, 0, 7], [1, 1, 1, 1, 0, 1, 1, 8], [1, 1, 1, 1, 1, 0, 1, 8], [1, 1, 1, 1, 1, 1, 0, 8], [1, 1, 1, 1, 1, 1, 1, 8]], "sol bag 21", "min-size: 6", true]], [51, [[["v47", "v51", "v66", "v77", "v94", "size"], [1, 1, 0, 1, 1, 5], [1, 1, 1, 1, 1, 5], [1, 0, 1, 1, 1, 5], [0, 1, 1, 1, 1, 5], [1, 1, 1, 1, 0, 5], [1, 1, 1, 0, 1, 5]], "sol bag 51", "min-size: 5", true]], [45, [[["v9", "v35", "v53", "v61", "size"], [1, 0, 1, 1, 5], [1, 1, 0, 1, 5], [0, 1, 1, 1, 5], [0, 1, 1, 0, 4], [1, 1, 1, 1, 5], [1, 1, 1, 0, 4]], "sol bag 45", "min-size: 4", true]], [29, [[["v46", "v50", "v66", "v69", "v88", "size"], [1, 1, 0, 1, 0, 11], [0, 1, 0, 1, 1, 12], [1, 1, 0, 1, 1, 12], [1, 1, 1, 1, 0, 11], [1, 1, 1, 0, 1, 11], [1, 0, 1, 1, 1, 12], [1, 1, 1, 1, 1, 12], [1, 0, 1, 1, 0, 12], [0, 1, 1, 1, 1, 12], [1, 1, 0, 0, 1, 11]], "sol bag 29", "min-size: 11", true]], [49, [[["v9", "v51", "v66", "v94", "size"], [1, 0, 1, 1, 6], [1, 1, 0, 1, 6], [0, 1, 0, 1, 5], [0, 1, 1, 1, 5], [1, 1, 1, 1, 6], [1, 1, 1, 0, 6]], "sol bag 49", "min-size: 5", true]], [46, [[["v9", "v16", "v51", "v66", "size"], [0, 0, 1, 1, 5], [1, 0, 1, 1, 6], [1, 1, 0, 1, 7], [0, 0, 1, 0, 5], [0, 1, 1, 1, 6], [1, 0, 1, 0, 6], [0, 1, 1, 0, 6], [1, 1, 1, 1, 7], [1, 1, 1, 0, 7]], "sol bag 46", "min-size: 5", true]], [61, [[["v68", "v73", "v92", "v95", "size"], [1, 0, 1, 1, 4], [1, 1, 0, 0, 3], [0, 1, 1, 1, 4], [1, 0, 1, 0, 3], [1, 1, 1, 1, 4], [1, 1, 0, 1, 4], [1, 1, 1, 0, 4]], "sol bag 61", "min-size: 3", true]], [25, [[["v22", "v50", "v66", "v69", "v88", "size"], [1, 1, 0, 1, 0, 12], [0, 1, 0, 1, 1, 12], [1, 1, 1, 1, 0, 12], [1, 1, 1, 1, 1, 13], [1, 0, 1, 1, 0, 13], [0, 1, 1, 1, 1, 12], [1, 1, 0, 0, 1, 12], [1, 1, 0, 1, 1, 13], [1, 1, 1, 0, 1, 12], [1, 0, 1, 1, 1, 13], [0, 0, 1, 1, 1, 12]], "sol bag 25", "min-size: 12", true]], [43, [[["v16", "v35", "v51", "v53", "v61", "v66", "size"], [1, 1, 1, 0, 1, 0, 11], [0, 1, 1, 1, 0, 0, 9], [0, 0, 1, 1, 1, 1, 10], [1, 0, 1, 1, 1, 1, 11], [0, 0, 1, 1, 1, 0, 10], [1, 1, 0, 1, 0, 1, 10], [0, 1, 1, 0, 1, 1, 10], [1, 1, 1, 1, 1, 1, 11], [1, 0, 1, 1, 1, 0, 11], [1, 1, 1, 1, 0, 1, 10], [0, 1, 1, 0, 1, 0, 10], [0, 1, 1, 1, 0, 1, 9], [0, 1, 1, 1, 1, 0, 10], [1, 1, 0, 1, 1, 1, 11], [1, 1, 1, 0, 1, 1, 11], [1, 1, 1, 1, 0, 0, 10], [1, 1, 1, 1, 1, 0, 11], [0, 1, 1, 1, 1, 1, 10]], "sol bag 43", "min-size: 9", true]], [60, [[["v1", "v27", "v48", "v72", "v73", "v76", "v92", "v95", "size"], [0, 1, 1, 0, 1, 1, 1, 1, 7], [0, 1, 1, 1, 1, 1, 1, 0, 8], [0, 1, 1, 1, 1, 1, 1, 1, 8], [1, 0, 1, 1, 1, 1, 1, 1, 8], [1, 1, 0, 1, 1, 1, 1, 1, 8], [1, 1, 1, 0, 1, 1, 0, 1, 8], [1, 1, 1, 0, 1, 1, 1, 1, 8], [1, 1, 1, 1, 0, 1, 1, 0, 8], [1, 1, 1, 1, 0, 1, 1, 1, 9], [1, 1, 1, 1, 1, 0, 1, 1, 8], [1, 1, 1, 1, 1, 1, 0, 0, 8], [1, 1, 1, 1, 1, 1, 0, 1, 9], [1, 1, 1, 1, 1, 1, 1, 0, 9], [1, 1, 1, 1, 1, 1, 1, 1, 9]], "sol bag 60", "min-size: 7", true]], [59, [[["size"], [8]], "sol bag 59", "min-size: 8", true]], [41, [[["v16", "v35", "v53", "v60", "v61", "v66", "v99", "v100", "size"], [0, 1, 1, 1, 0, 1, 1, 1, 12], [1, 1, 0, 1, 1, 1, 1, 0, 13], [1, 1, 1, 1, 1, 1, 1, 0, 13], [1, 1, 1, 1, 0, 0, 0, 1, 12], [0, 1, 1, 1, 1, 1, 1, 1, 13], [1, 0, 1, 1, 1, 1, 1, 1, 14], [1, 1, 0, 1, 1, 0, 1, 0, 13], [0, 0, 1, 1, 1, 1, 1, 1, 13], [1, 1, 1, 1, 0, 0, 1, 1, 13], [0, 1, 0, 1, 1, 0, 1, 1, 13], [1, 1, 1, 1, 1, 1, 0, 1, 13], [1, 1, 1, 1, 1, 1, 1, 1, 14], [0, 1, 0, 1, 1, 1, 1, 1, 13], [1, 1, 1, 1, 1, 0, 1, 1, 14], [1, 0, 1, 1, 1, 1, 1, 0, 13], [1, 1, 0, 1, 1, 0, 1, 1, 14], [0, 1, 1, 1, 1, 0, 1, 1, 13], [1, 1, 0, 1, 1, 1, 1, 1, 14], [1, 1, 1, 0, 1, 1, 1, 1, 13], [1, 1, 1, 0, 1, 0, 1, 1, 13], [1, 1, 1, 1, 0, 1, 1, 1, 13], [0, 1, 1, 1, 0, 0, 1, 1, 12], [1, 1, 1, 1, 1, 0, 1, 0, 13], [1, 1, 1, 1, 0, 0, 1, 0, 12], [1, 0, 1, 1, 1, 0, 1, 1, 14], [1, 1, 1, 1, 0, 1, 1, 0, 12], [1, 1, 1, 1, 1, 0, 0, 1, 13], [1, 0, 1, 1, 1, 0, 1, 0, 13], [1, 1, 1, 1, 0, 1, 0, 1, 12], [0, 0, 1, 1, 1, 0, 1, 1, 13]], "sol bag 41", "min-size: 12", true]], [20, [[["v21", "v22", "v66", "v69", "v88", "size"], [1, 1, 0, 1, 0, 13], [0, 1, 0, 1, 1, 13], [1, 0, 0, 1, 1, 13], [1, 1, 1, 1, 0, 13], [1, 1, 1, 1, 1, 14], [0, 1, 1, 1, 1, 13], [1, 1, 0, 0, 1, 13], [0, 1, 1, 1, 0, 12], [1, 1, 0, 1, 1, 14], [1, 1, 1, 0, 1, 13], [1, 0, 1, 1, 1, 13], [0, 0, 0, 1, 1, 12], [0, 1, 0, 1, 0, 12], [0, 0, 1, 1, 1, 12]], "sol bag 20", "min-size: 12", true]], [58, [[["v1", "v8", "v27", "v34", "v43", "v45", "v48", "v72", "v73", "v76", "v81", "v95", "size"], [0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 12], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 13], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 13], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 13], [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 12], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 13], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 13], [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 12], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 13], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 13], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 13], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 12], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 13], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 13], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 14], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 13], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 13], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 13], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 13], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14]], "sol bag 58", "min-size: 12", true]], [39, [[["v16", "v44", "v58", "v60", "v61", "v66", "v99", "v100", "size"], [0, 0, 1, 1, 1, 0, 1, 1, 14], [0, 0, 1, 1, 1, 1, 1, 1, 14], [0, 1, 1, 1, 0, 0, 1, 1, 14], [0, 1, 1, 1, 0, 1, 1, 1, 14], [0, 1, 1, 1, 1, 0, 1, 1, 15], [0, 1, 1, 1, 1, 1, 1, 1, 15], [1, 0, 1, 1, 1, 0, 0, 1, 14], [1, 0, 1, 1, 1, 0, 1, 0, 14], [1, 0, 1, 1, 1, 0, 1, 1, 15], [1, 0, 1, 1, 1, 1, 0, 1, 14], [1, 0, 1, 1, 1, 1, 1, 0, 14], [1, 0, 1, 1, 1, 1, 1, 1, 15], [1, 1, 0, 1, 1, 0, 1, 1, 15], [1, 1, 0, 1, 1, 1, 1, 1, 15], [1, 1, 1, 0, 1, 0, 1, 1, 15], [1, 1, 1, 0, 1, 1, 1, 1, 15], [1, 1, 1, 1, 0, 0, 0, 1, 14], [1, 1, 1, 1, 0, 0, 1, 0, 14], [1, 1, 1, 1, 0, 0, 1, 1, 15], [1, 1, 1, 1, 0, 1, 0, 1, 14], [1, 1, 1, 1, 0, 1, 1, 0, 14], [1, 1, 1, 1, 0, 1, 1, 1, 15], [1, 1, 1, 1, 1, 0, 0, 1, 15], [1, 1, 1, 1, 1, 0, 1, 0, 15], [1, 1, 1, 1, 1, 0, 1, 1, 16], [1, 1, 1, 1, 1, 1, 0, 1, 15], [1, 1, 1, 1, 1, 1, 1, 0, 15], [1, 1, 1, 1, 1, 1, 1, 1, 16]], "sol bag 39", "min-size: 14", true]], [57, [[["v8", "v19", "v27", "v34", "v43", "v45", "v48", "v72", "v73", "v76", "v81", "v95", "size"], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 22], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 22], [1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 21], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 22], [1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 21], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 22], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 22], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 22], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 22], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 21], [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 21], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 21], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 22], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 22], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 22], [1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 21], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 22], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 22], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 22], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 21], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 22], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 23], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 22], [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 22], [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 21], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21]], "sol bag 57", "min-size: 21", true]], [17, [[["v21", "v57", "v64", "v66", "v67", "v69", "v97", "size"], [1, 0, 1, 0, 1, 1, 1, 18], [0, 1, 1, 0, 1, 1, 1, 18], [0, 1, 0, 1, 1, 1, 1, 18], [1, 1, 1, 1, 0, 1, 0, 18], [1, 0, 1, 1, 1, 0, 1, 18], [1, 1, 1, 0, 1, 0, 1, 19], [1, 1, 1, 0, 1, 0, 0, 18], [0, 0, 1, 0, 1, 1, 1, 17], [0, 0, 1, 1, 1, 1, 1, 17], [0, 1, 1, 1, 1, 1, 0, 18], [1, 1, 1, 1, 0, 1, 1, 18], [0, 1, 1, 0, 1, 1, 0, 18], [1, 1, 1, 1, 1, 0, 0, 18], [1, 1, 1, 0, 1, 1, 1, 19], [1, 0, 1, 0, 0, 1, 1, 17], [1, 0, 1, 0, 1, 0, 1, 18], [1, 1, 0, 1, 1, 1, 1, 19], [1, 1, 1, 1, 1, 1, 1, 19], [1, 1, 1, 0, 1, 1, 0, 19], [1, 1, 0, 0, 1, 1, 1, 19], [1, 0, 1, 1, 0, 1, 1, 17], [1, 0, 1, 1, 1, 1, 1, 18], [0, 1, 0, 0, 1, 1, 1, 18], [1, 1, 1, 1, 1, 1, 0, 19], [1, 1, 1, 1, 1, 0, 1, 19], [1, 1, 1, 0, 0, 1, 1, 18], [1, 1, 1, 0, 0, 1, 0, 18], [0, 1, 1, 1, 1, 1, 1, 18]], "sol bag 17", "min-size: 17", true]], [56, [[["v8", "v19", "v27", "v34", "v43", "v45", "v48", "v65", "v72", "v76", "v81", "v95", "size"], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 22], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23], [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 22], [1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 22], [1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 22], [1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 22], [1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 22], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 22], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 23], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 23], [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 22], [1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 22], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 23], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 23], [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 22], [1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 22], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 23], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 23], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 23], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 22], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 22], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 22], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 23], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 23], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 23], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 23], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23]], "sol bag 56", "min-size: 22", true]], [55, [[["v8", "v19", "v27", "v34", "v43", "v44", "v48", "v65", "v72", "v76", "v81", "v95", "size"], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23], [0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 23], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 24], [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23], [1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 23], [1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 23], [1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 23], [1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 23], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 23], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 24], [1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 23], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 24], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 24], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 24], [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 23], [1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 23], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 24], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 24], [1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 23], [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 22], [1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 22], [1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 23], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 23], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 23], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 24], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 23], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 23], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 23], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 24], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 24], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 24], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 24], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 24]], "sol bag 55", "min-size: 22", true]], [54, [[["v8", "v19", "v23", "v27", "v34", "v43", "v44", "v48", "v52", "v65", "v72", "v76", "v81", "v85", "size"], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 26], [0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 26], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27], [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 26], [1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 26], [1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 26], [1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 26], [1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 26], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 26], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 26], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 26], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 26], [1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 26], [1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 25], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 26], [1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 26], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27], [1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 26], [1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 26], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 26], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 26], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 27], [1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 26], [1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 25], [1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 25], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 25], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 26], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 25], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 26], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 27], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 26], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 26], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 26], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 26], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 27], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 27], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 26], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27]], "sol bag 54", "min-size: 25", true]], [53, [[["v8", "v19", "v23", "v34", "v43", "v44", "v52", "v55", "v58", "v65", "v72", "v76", "v81", "v85", "size"], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28], [0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 28], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29], [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28], [1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 28], [1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 27], [1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 28], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 28], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 28], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 28], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28], [1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28], [1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 27], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 28], [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 28], [1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 28], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 28], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 28], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 27], [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 27], [1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 27], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 27], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 28], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 27], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 27], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 28], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 29], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 29], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 28], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29]], "sol bag 53", "min-size: 27", true]], [52, [[["v8", "v19", "v23", "v34", "v41", "v43", "v44", "v52", "v55", "v58", "v65", "v81", "v85", "size"], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29], [0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 29], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 30], [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29], [1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 28], [1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 29], [1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 28], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 29], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 29], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 28], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 28], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 29], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 29], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 29], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 28], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 28], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 28], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 29], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 29], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 29], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29]], "sol bag 52", "min-size: 28", true]], [50, [[["v19", "v23", "v34", "v41", "v43", "v44", "v52", "v55", "v58", "v65", "v81", "v84", "v85", "size"], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 30], [0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29], [0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 30], [0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 29], [0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 30], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 29], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 30], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 30], [1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 30], [1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 29], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 30], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 31], [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 30], [1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 30], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 30], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 29], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 30], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 29], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 28], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 29], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 29], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 30], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 30], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 29], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 30], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 30]], "sol bag 50", "min-size: 28", true]], [47, [[["v19", "v23", "v34", "v40", "v41", "v43", "v44", "v52", "v55", "v58", "v81", "v84", "size"], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 31], [0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 29], [0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 29], [0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 30], [0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 30], [0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 31], [0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 30], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 30], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 31], [1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 31], [1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 30], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 31], [1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 31], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 32], [1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 30], [1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 29], [1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 30], [1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 29], [1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 28], [1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 29], [1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 30], [1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 29], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 30], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 29], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 31], [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 31], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 31], [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 31], [1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 31], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 30], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 31], [1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 30], [1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 30], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 29], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 30], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 31], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 31], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 30], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 31], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 30], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 31]], "sol bag 47", "min-size: 28", true]], [44, [[["v23", "v34", "v40", "v41", "v44", "v52", "v55", "v58", "v61", "v81", "v84", "size"], [0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 31], [0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 31], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 32], [1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 31], [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 32], [1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 32], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 33], [1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 30], [1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 29], [1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 30], [1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 30], [1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 30], [1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 30], [1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 29], [1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 30], [1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 31], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 30], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 31], [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 31], [1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 31], [1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 32], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 31], [1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 31], [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 31], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 30], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 31], [1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 31], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 32], [1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 31], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 31], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 31], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 30], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 31], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 32], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 31], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 32]], "sol bag 44", "min-size: 29", true]], [42, [[["v23", "v34", "v40", "v41", "v44", "v52", "v55", "v58", "v60", "v61", "v84", "size"], [0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 32], [0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 32], [0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 32], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 33], [1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 32], [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 33], [1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 33], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 34], [1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 31], [1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 30], [1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 31], [1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 31], [1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 31], [1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 31], [1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 31], [1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 30], [1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 31], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 31], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 32], [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 32], [1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 31], [1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 32], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 32], [1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 32], [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 32], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 31], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 32], [1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 32], [1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 32], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 33], [1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 32], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 32], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 32], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 32], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 31], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 32], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 32], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 33]], "sol bag 42", "min-size: 30", true]], [40, [[["v23", "v40", "v41", "v44", "v52", "v55", "v58", "v60", "v61", "v84", "v99", "size"], [0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 33], [0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 33], [0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 33], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 34], [1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 32], [1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 31], [1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 31], [1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 32], [1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 32], [1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 32], [1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 32], [1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 32], [1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 31], [1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 31], [1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 32], [1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 32], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 32], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 33], [1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 33], [1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 32], [1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 33], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 33], [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 33], [1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 33], [1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 32], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 32], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 33], [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 33], [1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 33], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 34], [1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 33], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 33], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 33], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 33], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 32], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 32], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 33], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 33], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 33], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 34]], "sol bag 40", "min-size: 31", true]], [36, [[["v16", "v23", "v40", "v41", "v52", "v55", "v66", "v84", "v99", "v100", "size"], [0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 43], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 43], [0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 42], [0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 42], [0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 43], [0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 43], [0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 43], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 43], [1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 44], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 44], [1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 43], [1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 43], [1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 42], [1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 42], [1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 42], [1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 43], [1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 42], [1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 42], [1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 42], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 43], [1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 43], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 43], [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 44], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 44], [1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 44], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 44], [1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 43], [1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 43], [1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 43], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 44], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 43], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 43], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 43], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 44]], "sol bag 36", "min-size: 42", true]], [33, [[["v16", "v23", "v31", "v40", "v41", "v52", "v66", "v84", "v99", "v100", "size"], [0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 44], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 44], [0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 43], [0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 43], [0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 44], [0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 44], [0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 44], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 44], [1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 45], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 45], [1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 44], [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 44], [1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 43], [1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 43], [1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 43], [1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 44], [1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 43], [1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 43], [1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 43], [1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 44], [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 44], [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 44], [1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 45], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 45], [1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 44], [1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 44], [1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 44], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 45], [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 44], [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 44], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 44], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 45]], "sol bag 33", "min-size: 43", true]], [34, [[["v5", "v7", "v20", "v74", "v80", "v91", "v98", "size"], [1, 1, 0, 1, 1, 1, 1, 7], [1, 1, 1, 1, 1, 1, 0, 7], [1, 1, 1, 1, 1, 0, 1, 7], [1, 0, 1, 1, 1, 1, 1, 7], [0, 1, 1, 1, 1, 1, 1, 7], [1, 1, 1, 1, 0, 1, 1, 7], [1, 1, 1, 1, 1, 1, 1, 7], [1, 1, 1, 0, 1, 1, 1, 7]], "sol bag 34", "min-size: 7", true]], [30, [[["v2", "v31", "v40", "v66", "v100", "size"], [0, 1, 1, 0, 1, 45], [0, 1, 1, 1, 1, 45], [1, 0, 1, 0, 1, 45], [1, 0, 1, 1, 1, 45], [1, 1, 0, 0, 0, 44], [1, 1, 0, 0, 1, 44], [1, 1, 0, 1, 0, 44], [1, 1, 0, 1, 1, 44], [1, 1, 1, 0, 0, 45], [1, 1, 1, 0, 1, 45], [1, 1, 1, 1, 0, 45], [1, 1, 1, 1, 1, 45]], "sol bag 30", "min-size: 44", true]], [31, [[["v5", "v7", "v28", "v56", "v74", "v80", "v91", "size"], [0, 1, 1, 1, 1, 1, 1, 9], [1, 0, 0, 1, 1, 1, 1, 8], [1, 0, 1, 1, 1, 1, 1, 9], [1, 1, 0, 1, 1, 1, 1, 8], [1, 1, 1, 0, 1, 1, 1, 8], [1, 1, 1, 1, 0, 1, 1, 9], [1, 1, 1, 1, 1, 0, 1, 9], [1, 1, 1, 1, 1, 1, 0, 9], [1, 1, 1, 1, 1, 1, 1, 9]], "sol bag 31", "min-size: 8", true]], [28, [[["v5", "v18", "v28", "v56", "size"], [0, 1, 1, 1, 10], [1, 0, 1, 1, 9], [1, 1, 0, 1, 9], [1, 1, 1, 0, 9], [1, 1, 1, 1, 10]], "sol bag 28", "min-size: 9", true]], [27, [[["v2", "v26", "v31", "v40", "v66", "size"], [1, 1, 0, 1, 0, 46], [1, 0, 1, 0, 1, 44], [1, 1, 1, 1, 0, 46], [1, 1, 1, 1, 1, 46], [1, 0, 1, 1, 0, 45], [0, 1, 1, 1, 1, 46], [0, 1, 1, 1, 0, 46], [1, 1, 0, 1, 1, 46], [1, 1, 1, 0, 1, 45], [1, 1, 1, 0, 0, 45], [1, 0, 1, 1, 1, 45], [1, 0, 1, 0, 0, 44]], "sol bag 27", "min-size: 44", true]], [24, [[["v18", "v28", "v54", "v56", "v75", "size"], [1, 0, 0, 1, 1, 10], [1, 1, 1, 1, 0, 11], [1, 1, 1, 1, 1, 12], [1, 0, 1, 1, 0, 10], [0, 1, 1, 1, 1, 11], [1, 1, 0, 1, 1, 11], [1, 1, 1, 0, 1, 11], [1, 0, 1, 1, 1, 11]], "sol bag 24", "min-size: 10", true]], [23, [[["v2", "v21", "v26", "v40", "v66", "size"], [1, 1, 0, 1, 0, 46], [1, 0, 1, 0, 1, 45], [1, 1, 1, 1, 0, 47], [1, 1, 1, 1, 1, 47], [0, 1, 1, 1, 1, 47], [1, 0, 1, 1, 0, 46], [1, 1, 0, 0, 1, 45], [0, 1, 1, 1, 0, 47], [1, 1, 0, 1, 1, 46], [1, 1, 1, 0, 0, 46], [1, 1, 1, 0, 1, 46], [1, 1, 0, 0, 0, 45], [1, 0, 1, 0, 0, 45], [1, 0, 1, 1, 1, 46]], "sol bag 23", "min-size: 45", true]], [18, [[["v11", "v21", "v40", "v64", "v66", "v67", "v69", "size"], [1, 0, 0, 0, 0, 1, 1, 49], [1, 0, 1, 0, 1, 1, 1, 50], [1, 1, 0, 1, 1, 0, 1, 50], [1, 1, 0, 1, 0, 1, 1, 50], [1, 1, 1, 1, 0, 0, 1, 51], [1, 0, 0, 1, 1, 1, 1, 50], [0, 1, 0, 1, 1, 1, 1, 50], [1, 1, 1, 1, 0, 1, 0, 51], [1, 1, 0, 1, 0, 0, 1, 50], [0, 1, 0, 1, 0, 1, 1, 50], [1, 0, 0, 1, 0, 1, 1, 50], [1, 1, 1, 1, 0, 1, 1, 51], [1, 1, 1, 0, 1, 1, 1, 50], [1, 0, 1, 0, 0, 1, 1, 50], [1, 1, 0, 1, 0, 1, 0, 50], [1, 1, 0, 1, 1, 1, 1, 50], [1, 1, 0, 0, 0, 1, 1, 49], [1, 1, 1, 1, 1, 1, 1, 51], [1, 1, 0, 0, 1, 1, 1, 49], [1, 0, 0, 0, 1, 1, 1, 49], [1, 0, 1, 1, 0, 1, 1, 51], [1, 0, 1, 1, 1, 1, 1, 51], [0, 1, 1, 1, 0, 1, 1, 51], [1, 1, 1, 1, 1, 1, 0, 51], [1, 1, 1, 1, 1, 0, 1, 51], [1, 1, 0, 1, 1, 1, 0, 50], [1, 1, 1, 0, 0, 1, 1, 50], [0, 1, 1, 1, 1, 1, 1, 51]], "sol bag 18", "min-size: 49", true]], [19, [[["v17", "v18", "v28", "v54", "v75", "size"], [1, 1, 0, 1, 0, 11], [1, 1, 1, 1, 0, 12], [1, 1, 1, 1, 1, 12], [0, 1, 1, 1, 1, 12], [1, 1, 0, 0, 1, 11], [1, 1, 0, 1, 1, 12], [1, 1, 1, 0, 1, 12], [1, 0, 1, 1, 1, 12]], "sol bag 19", "min-size: 11", true]], [16, [[["v17", "v18", "v49", "v54", "v75", "size"], [1, 1, 0, 1, 0, 12], [1, 0, 0, 1, 1, 12], [1, 1, 1, 1, 0, 12], [1, 1, 1, 1, 1, 13], [0, 1, 1, 1, 1, 13], [1, 1, 0, 0, 1, 12], [1, 1, 0, 1, 1, 12], [1, 1, 1, 0, 1, 12], [1, 0, 1, 1, 1, 13]], "sol bag 16", "min-size: 12", true]], [15, [[["v11", "v40", "v57", "v64", "v67", "v97", "size"], [1, 0, 1, 1, 0, 1, 64], [0, 0, 1, 1, 1, 1, 64], [1, 0, 1, 1, 1, 1, 64], [0, 0, 1, 1, 1, 0, 64], [1, 1, 0, 1, 0, 1, 64], [1, 0, 0, 1, 0, 1, 63], [1, 1, 1, 1, 1, 1, 65], [1, 0, 1, 1, 1, 0, 64], [1, 0, 0, 1, 1, 1, 63], [1, 1, 1, 1, 0, 1, 65], [1, 0, 1, 0, 1, 1, 64], [0, 1, 0, 1, 1, 1, 64], [0, 1, 1, 1, 1, 0, 65], [1, 1, 0, 1, 1, 1, 64], [0, 0, 0, 1, 1, 1, 63], [1, 1, 1, 0, 1, 1, 65], [1, 1, 1, 1, 0, 0, 65], [1, 1, 1, 1, 1, 0, 65], [0, 1, 1, 1, 1, 1, 65], [1, 0, 1, 1, 0, 0, 64]], "sol bag 15", "min-size: 63", true]], [14, [[["v15", "v17", "v36", "v49", "v54", "v75", "v79", "size"], [1, 0, 1, 1, 1, 1, 1, 16], [1, 1, 1, 0, 1, 0, 1, 15], [1, 1, 1, 0, 1, 1, 1, 15], [0, 1, 1, 0, 1, 1, 1, 14], [1, 1, 1, 1, 1, 1, 0, 15], [1, 1, 1, 1, 1, 0, 1, 15], [1, 1, 0, 1, 1, 1, 1, 15], [1, 1, 1, 1, 1, 1, 1, 16], [1, 1, 1, 0, 1, 1, 0, 14], [0, 0, 1, 1, 1, 1, 1, 15], [1, 1, 0, 0, 1, 1, 1, 14], [1, 1, 1, 0, 0, 1, 1, 15], [0, 1, 1, 1, 1, 1, 1, 15], [1, 1, 1, 1, 0, 1, 1, 15]], "sol bag 14", "min-size: 14", true]], [12, [[["v15", "v17", "v32", "v36", "v40", "v49", "v79", "size"], [0, 0, 1, 1, 1, 1, 1, 17], [0, 1, 1, 1, 1, 0, 1, 16], [0, 1, 1, 1, 1, 1, 1, 17], [1, 0, 0, 1, 1, 1, 1, 17], [1, 0, 1, 1, 0, 1, 1, 17], [1, 0, 1, 1, 1, 1, 1, 18], [1, 1, 0, 1, 1, 0, 1, 16], [1, 1, 0, 1, 1, 1, 1, 17], [1, 1, 1, 0, 0, 0, 1, 15], [1, 1, 1, 0, 0, 1, 1, 16], [1, 1, 1, 0, 1, 0, 1, 16], [1, 1, 1, 0, 1, 1, 1, 17], [1, 1, 1, 1, 0, 0, 0, 15], [1, 1, 1, 1, 0, 0, 1, 16], [1, 1, 1, 1, 0, 1, 0, 16], [1, 1, 1, 1, 0, 1, 1, 17], [1, 1, 1, 1, 1, 0, 0, 16], [1, 1, 1, 1, 1, 0, 1, 17], [1, 1, 1, 1, 1, 1, 0, 17], [1, 1, 1, 1, 1, 1, 1, 17]], "sol bag 12", "min-size: 15", true]], [13, [[["v11", "v32", "v40", "v57", "v67", "v97", "size"], [1, 0, 1, 1, 1, 1, 65], [1, 1, 0, 1, 0, 1, 65], [0, 1, 1, 0, 1, 1, 65], [1, 1, 1, 1, 1, 1, 66], [1, 1, 0, 0, 0, 1, 64], [1, 0, 1, 1, 1, 0, 65], [0, 1, 0, 1, 1, 0, 65], [1, 1, 1, 1, 0, 1, 66], [1, 1, 0, 0, 1, 1, 64], [1, 0, 1, 0, 1, 1, 64], [1, 1, 0, 1, 1, 0, 65], [0, 1, 0, 1, 1, 1, 65], [0, 1, 1, 1, 1, 0, 66], [1, 1, 0, 1, 0, 0, 65], [1, 1, 0, 1, 1, 1, 65], [1, 1, 1, 0, 1, 1, 65], [0, 1, 0, 0, 1, 1, 64], [1, 1, 1, 1, 0, 0, 66], [1, 1, 1, 1, 1, 0, 66], [1, 1, 1, 0, 0, 1, 65], [0, 1, 1, 1, 1, 1, 66]], "sol bag 13", "min-size: 64", true]], [9, [[["v3", "v12", "v42", "v49", "v59", "v71", "v86", "size"], [1, 1, 0, 1, 1, 1, 1, 7], [1, 1, 1, 1, 1, 1, 0, 7], [1, 0, 1, 1, 1, 1, 1, 7], [1, 1, 1, 1, 1, 0, 1, 7], [0, 1, 1, 1, 1, 1, 1, 7], [1, 1, 1, 1, 0, 1, 1, 7], [1, 1, 1, 1, 1, 1, 1, 7], [1, 1, 1, 0, 1, 1, 1, 7]], "sol bag 9", "min-size: 7", true]], [11, [[["v15", "v32", "v40", "v57", "v97", "size"], [1, 1, 0, 1, 0, 66], [1, 0, 1, 0, 1, 65], [1, 1, 1, 1, 0, 67], [1, 1, 1, 1, 1, 67], [1, 0, 1, 1, 0, 66], [0, 1, 1, 1, 1, 66], [1, 1, 0, 0, 1, 65], [0, 1, 1, 1, 0, 66], [1, 1, 0, 1, 1, 66], [1, 1, 1, 0, 1, 66], [1, 0, 1, 1, 1, 66], [0, 1, 1, 0, 1, 65]], "sol bag 11", "min-size: 65", true]], [10, [[["v15", "v17", "v32", "v36", "v49", "v57", "v79", "v97", "size"], [0, 1, 1, 1, 1, 1, 1, 1, 81], [1, 1, 0, 1, 0, 1, 1, 1, 80], [1, 1, 0, 1, 0, 0, 1, 1, 79], [0, 1, 1, 1, 1, 0, 1, 1, 80], [0, 1, 1, 1, 0, 0, 1, 1, 79], [1, 1, 1, 1, 0, 1, 0, 1, 79], [0, 0, 1, 1, 1, 0, 1, 1, 80], [1, 0, 0, 1, 1, 1, 1, 0, 81], [1, 1, 1, 1, 1, 0, 1, 1, 80], [1, 0, 1, 1, 1, 1, 1, 0, 81], [1, 1, 1, 1, 1, 0, 0, 1, 79], [1, 1, 1, 0, 1, 1, 1, 0, 80], [1, 0, 1, 1, 1, 1, 1, 1, 81], [0, 0, 1, 1, 1, 1, 1, 1, 81], [1, 1, 1, 0, 0, 0, 1, 1, 78], [1, 1, 0, 1, 0, 1, 1, 0, 80], [1, 1, 1, 1, 1, 1, 0, 0, 80], [1, 0, 1, 1, 1, 0, 1, 1, 80], [1, 0, 0, 1, 1, 1, 1, 1, 81], [0, 1, 1, 1, 0, 1, 1, 1, 80], [1, 1, 1, 1, 1, 1, 1, 0, 81], [1, 1, 1, 0, 1, 1, 1, 1, 80], [1, 1, 1, 0, 1, 0, 1, 1, 79], [0, 0, 1, 1, 1, 1, 1, 0, 81], [1, 1, 1, 1, 1, 1, 0, 1, 80], [1, 0, 0, 1, 1, 0, 1, 1, 80], [1, 1, 0, 1, 1, 1, 1, 1, 81], [1, 1, 1, 1, 0, 1, 0, 0, 79], [1, 1, 1, 1, 0, 1, 1, 1, 80], [1, 1, 1, 0, 0, 1, 1, 0, 79], [0, 1, 1, 1, 1, 1, 1, 0, 81], [1, 1, 1, 1, 0, 1, 1, 0, 80], [1, 1, 1, 0, 0, 1, 1, 1, 79], [0, 1, 1, 1, 0, 1, 1, 0, 80], [1, 1, 0, 1, 1, 1, 1, 0, 81], [1, 1, 1, 1, 0, 0, 0, 1, 78], [1, 1, 1, 1, 0, 0, 1, 1, 79], [1, 1, 1, 1, 1, 1, 1, 1, 81], [1, 1, 0, 1, 1, 0, 1, 1, 80]], "sol bag 10", "min-size: 78", true]], [8, [[["v17", "v36", "v49", "v57", "v63", "v79", "v97", "size"], [1, 0, 1, 0, 1, 1, 1, 80], [1, 0, 0, 0, 1, 1, 1, 79], [1, 0, 1, 1, 1, 1, 1, 81], [1, 1, 1, 0, 1, 0, 1, 80], [1, 1, 0, 1, 1, 0, 1, 80], [1, 1, 1, 1, 1, 0, 0, 81], [1, 1, 1, 0, 1, 1, 1, 81], [1, 1, 0, 1, 0, 1, 1, 80], [1, 1, 0, 0, 1, 0, 1, 79], [1, 1, 1, 1, 1, 1, 0, 82], [0, 1, 1, 0, 1, 1, 1, 81], [1, 1, 1, 1, 1, 0, 1, 81], [1, 1, 0, 1, 1, 1, 0, 81], [1, 1, 0, 1, 1, 1, 1, 81], [1, 1, 0, 1, 1, 0, 0, 80], [1, 1, 1, 1, 1, 1, 1, 82], [1, 1, 0, 0, 1, 1, 1, 80], [1, 0, 0, 1, 1, 1, 1, 80], [1, 0, 0, 1, 1, 1, 0, 80], [0, 1, 1, 1, 1, 1, 0, 82], [0, 1, 1, 1, 1, 1, 1, 82], [1, 1, 1, 1, 0, 1, 1, 81], [1, 0, 1, 1, 1, 1, 0, 81]], "sol bag 8", "min-size: 79", true]], [7, [[["v3", "v12", "v42", "v49", "v59", "v71", "v87", "size"], [0, 1, 1, 1, 1, 1, 1, 8], [1, 0, 1, 1, 1, 1, 1, 8], [1, 1, 0, 1, 1, 1, 1, 8], [1, 1, 1, 0, 1, 1, 1, 8], [1, 1, 1, 1, 0, 1, 1, 8], [1, 1, 1, 1, 1, 0, 1, 8], [1, 1, 1, 1, 1, 1, 0, 7], [1, 1, 1, 1, 1, 1, 1, 8]], "sol bag 7", "min-size: 7", true]], [6, [[["v4", "v36", "v49", "v57", "v63", "v79", "v97", "size"], [1, 0, 1, 0, 1, 1, 1, 81], [1, 0, 0, 0, 1, 1, 1, 80], [1, 0, 1, 1, 1, 1, 1, 82], [1, 1, 1, 0, 1, 0, 1, 81], [1, 1, 0, 1, 1, 0, 1, 81], [1, 1, 1, 1, 1, 0, 0, 82], [1, 1, 1, 0, 1, 1, 1, 82], [1, 1, 0, 1, 0, 1, 1, 81], [1, 1, 0, 0, 1, 0, 1, 80], [1, 1, 1, 1, 1, 1, 0, 83], [1, 1, 1, 1, 1, 0, 1, 82], [1, 1, 0, 1, 1, 1, 0, 82], [1, 1, 0, 1, 1, 1, 1, 82], [1, 1, 0, 1, 1, 0, 0, 81], [1, 1, 1, 1, 1, 1, 1, 83], [1, 1, 0, 0, 1, 1, 1, 81], [1, 0, 0, 1, 1, 1, 1, 81], [1, 0, 0, 1, 1, 1, 0, 81], [0, 1, 1, 1, 1, 1, 1, 82], [1, 1, 1, 1, 0, 1, 1, 82], [1, 0, 1, 1, 1, 1, 0, 82], [0, 1, 0, 1, 1, 1, 1, 81]], "sol bag 6", "min-size: 80", true]], [5, [[["v30", "v49", "v87", "size"], [0, 0, 1, 8], [0, 1, 1, 8], [1, 0, 1, 9], [1, 1, 0, 8], [1, 1, 1, 9]], "sol bag 5", "min-size: 8", true]], [4, [[["v4", "v13", "v49", "v57", "v63", "v97", "size"], [0, 1, 0, 1, 1, 1, 82], [1, 0, 1, 1, 1, 1, 83], [1, 1, 0, 1, 1, 1, 82], [1, 1, 0, 1, 0, 1, 82], [1, 1, 1, 0, 1, 1, 82], [1, 1, 1, 1, 1, 1, 83], [1, 0, 0, 1, 1, 1, 82], [1, 1, 1, 1, 1, 0, 83], [1, 1, 1, 1, 0, 1, 83], [0, 1, 1, 1, 1, 1, 83], [1, 1, 0, 0, 1, 1, 81], [1, 1, 0, 1, 1, 0, 82]], "sol bag 4", "min-size: 81", true]], [3, [[["v4", "v13", "v30", "v38", "v49", "size"], [1, 1, 0, 1, 0, 11], [1, 1, 1, 1, 0, 12], [1, 1, 1, 1, 1, 11], [0, 1, 1, 1, 1, 11], [1, 0, 1, 1, 0, 11], [0, 1, 1, 1, 0, 11], [1, 1, 0, 1, 1, 11], [1, 1, 1, 0, 1, 11], [1, 1, 1, 0, 0, 11], [1, 0, 1, 1, 1, 11]], "sol bag 3", "min-size: 11", true]], [2, [[["v4", "v13", "v38", "v49", "v63", "size"], [1, 1, 0, 1, 0, 83], [1, 0, 1, 0, 1, 83], [1, 1, 1, 1, 0, 84], [1, 1, 1, 1, 1, 83], [0, 1, 1, 1, 1, 84], [1, 1, 0, 0, 1, 82], [1, 1, 0, 1, 1, 83], [1, 1, 1, 0, 0, 83], [1, 1, 1, 0, 1, 82], [1, 1, 0, 0, 0, 82], [1, 0, 1, 1, 1, 84], [0, 1, 1, 0, 1, 83]], "sol bag 2", "min-size: 82", true]], [1, [[["v4", "v13", "v30", "v38", "v49", "v63", "size"], [1, 0, 1, 1, 0, 1, 92], [1, 1, 1, 0, 1, 0, 91], [1, 0, 1, 1, 1, 1, 92], [1, 1, 0, 1, 0, 1, 90], [1, 1, 1, 1, 1, 1, 90], [1, 1, 1, 1, 0, 1, 91], [0, 1, 1, 1, 0, 1, 92], [1, 1, 0, 1, 1, 1, 90], [1, 1, 1, 0, 0, 0, 91], [1, 1, 1, 0, 1, 1, 91], [1, 1, 1, 1, 0, 0, 92], [1, 1, 1, 1, 1, 0, 91], [1, 1, 1, 0, 0, 1, 91], [0, 1, 1, 1, 1, 1, 92]], "sol bag 1", "min-size: 90", true]]], "treeDecJson": {"bagpre": "bag %s", "edgearray": [[2, 1], [3, 1], [4, 2], [5, 3], [6, 4], [7, 5], [8, 6], [9, 7], [10, 8], [11, 10], [12, 10], [13, 11], [14, 12], [15, 13], [16, 14], [17, 15], [18, 15], [19, 16], [20, 17], [21, 17], [22, 18], [23, 18], [24, 19], [25, 20], [26, 21], [27, 23], [28, 24], [29, 25], [30, 27], [31, 28], [32, 29], [33, 30], [34, 31], [35, 32], [36, 33], [37, 35], [38, 35], [39, 36], [40, 36], [41, 39], [42, 40], [43, 41], [44, 42], [45, 43], [46, 43], [47, 44], [48, 45], [49, 46], [50, 47], [51, 49], [52, 50], [53, 52], [54, 53], [55, 54], [56, 55], [57, 56], [58, 57], [59, 57], [60, 58], [61, 60]], "labeldict": [{"id": 1, "items": [4, 13, 30, 38, 49, 63], "labels": ["[4, 13, 30, 38, 49, 63]", "dtime=0.0017s"]}, {"id": 2, "items": [4, 13, 38, 49, 57, 63, 97], "labels": ["[4, 13, 38, 49, 57, 63, 97]", "dtime=0.0009s"]}, {"id": 3, "items": [4, 13, 30, 38, 49, 87], "labels": ["[4, 13, 30, 38, 49, 87]", "dtime=0.0010s"]}, {"id": 4, "items": [4, 13, 36, 49, 57, 63, 79, 97], "labels": ["[4, 13, 36, 49, 57, 63, 79, 97]", "dtime=0.0010s"]}, {"id": 5, "items": [3, 12, 30, 42, 49, 59, 71, 87], "labels": ["[3, 12, 30, 42, 49, 59, 71, 87]", "dtime=0.0012s"]}, {"id": 6, "items": [4, 17, 36, 49, 57, 63, 79, 97], "labels": ["[4, 17, 36, 49, 57, 63, 79, 97]", "dtime=0.0011s"]}, {"id": 7, "items": [3, 12, 42, 49, 59, 71, 86, 87], "labels": ["[3, 12, 42, 49, 59, 71, 86, 87]", "dtime=0.0011s"]}, {"id": 8, "items": [15, 17, 32, 36, 49, 57, 63, 79, 97], "labels": ["[15, 17, 32, 36, 49, 57, 63, 79, 97]", "dtime=0.0011s"]}, {"id": 9, "items": [3, 12, 24, 42, 49, 59, 71, 86], "labels": ["[3, 12, 24, 42, 49, 59, 71, 86]", "dtime=0.0043s"]}, {"id": 10, "items": [15, 17, 32, 36, 40, 49, 57, 79, 97], "labels": ["[15, 17, 32, 36, 40, 49, 57, 79, 97]", "dtime=0.0021s"]}, {"id": 11, "items": [11, 15, 32, 40, 57, 67, 97], "labels": ["[11, 15, 32, 40, 57, 67, 97]", "dtime=0.0009s"]}, {"id": 12, "items": [15, 17, 32, 36, 40, 49, 54, 75, 79], "labels": ["[15, 17, 32, 36, 40, 49, 54, 75, 79]", "dtime=0.0012s"]}, {"id": 13, "items": [11, 32, 40, 57, 64, 67, 97], "labels": ["[11, 32, 40, 57, 64, 67, 97]", "dtime=0.0010s"]}, {"id": 14, "items": [15, 17, 18, 36, 49, 54, 75, 79], "labels": ["[15, 17, 18, 36, 49, 54, 75, 79]", "dtime=0.0011s"]}, {"id": 15, "items": [11, 21, 40, 57, 64, 66, 67, 69, 97], "labels": ["[11, 21, 40, 57, 64, 66, 67, 69, 97]", "dtime=0.0023s"]}, {"id": 16, "items": [17, 18, 28, 49, 54, 75], "labels": ["[17, 18, 28, 49, 54, 75]", "dtime=0.0013s"]}, {"id": 17, "items": [21, 22, 57, 64, 66, 67, 69, 88, 97], "labels": ["[21, 22, 57, 64, 66, 67, 69, 88, 97]", "dtime=0.0035s"]}, {"id": 18, "items": [2, 11, 21, 26, 40, 64, 66, 67, 69], "labels": ["[2, 11, 21, 26, 40, 64, 66, 67, 69]", "dtime=0.0031s"]}, {"id": 19, "items": [17, 18, 28, 54, 56, 75], "labels": ["[17, 18, 28, 54, 56, 75]", "dtime=0.0021s"]}, {"id": 20, "items": [21, 22, 50, 66, 69, 88], "labels": ["[21, 22, 50, 66, 69, 88]", "dtime=0.0028s"]}, {"id": 21, "items": [6, 22, 57, 64, 67, 69, 88, 97], "labels": ["[6, 22, 57, 64, 67, 69, 88, 97]", "dtime=0.0031s"]}, {"id": 22, "items": [2, 11, 21, 26, 64, 67, 69, 83], "labels": ["[2, 11, 21, 26, 64, 67, 69, 83]", "dtime=0.0039s"]}, {"id": 23, "items": [2, 21, 26, 31, 40, 66], "labels": ["[2, 21, 26, 31, 40, 66]", "dtime=0.0010s"]}, {"id": 24, "items": [5, 18, 28, 54, 56, 75], "labels": ["[5, 18, 28, 54, 56, 75]", "dtime=0.0014s"]}, {"id": 25, "items": [22, 46, 50, 66, 69, 88], "labels": ["[22, 46, 50, 66, 69, 88]", "dtime=0.0036s"]}, {"id": 26, "items": [6, 22, 57, 64, 69, 82, 88, 97], "labels": ["[6, 22, 57, 64, 69, 82, 88, 97]", "dtime=0.0050s"]}, {"id": 27, "items": [2, 26, 31, 40, 66, 100], "labels": ["[2, 26, 31, 40, 66, 100]", "dtime=0.0010s"]}, {"id": 28, "items": [5, 7, 18, 28, 56, 74, 80, 91], "labels": ["[5, 7, 18, 28, 56, 74, 80, 91]", "dtime=0.0016s"]}, {"id": 29, "items": [25, 37, 39, 46, 50, 66, 69, 88], "labels": ["[25, 37, 39, 46, 50, 66, 69, 88]", "dtime=0.0028s"]}, {"id": 30, "items": [2, 16, 23, 31, 40, 41, 52, 66, 84, 99, 100], "labels": ["[2, 16, 23, 31, 40, 41, 52, 66, 84, 99, 100]", "dtime=0.0032s"]}, {"id": 31, "items": [5, 7, 20, 28, 56, 74, 80, 91, 98], "labels": ["[5, 7, 20, 28, 56, 74, 80, 91, 98]", "dtime=0.0021s"]}, {"id": 32, "items": [25, 33, 37, 39, 46, 50, 66, 69], "labels": ["[25, 33, 37, 39, 46, 50, 66, 69]", "dtime=0.0029s"]}, {"id": 33, "items": [16, 23, 31, 40, 41, 52, 55, 66, 84, 99, 100], "labels": ["[16, 23, 31, 40, 41, 52, 55, 66, 84, 99, 100]", "dtime=0.0012s"]}, {"id": 34, "items": [5, 7, 14, 20, 74, 80, 91, 98], "labels": ["[5, 7, 14, 20, 74, 80, 91, 98]", "dtime=0.0042s"]}, {"id": 35, "items": [25, 29, 33, 37, 39, 46, 50, 66, 96], "labels": ["[25, 29, 33, 37, 39, 46, 50, 66, 96]", "dtime=0.0024s"]}, {"id": 36, "items": [16, 23, 40, 41, 44, 52, 55, 58, 60, 61, 66, 84, 99, 100], "labels": ["[16, 23, 40, 41, 44, 52, 55, 58, 60, 61, 66, 84, 99, 100]", "dtime=0.0021s"]}, {"id": 37, "items": [10, 25, 29, 33, 37, 39, 46, 50, 96], "labels": ["[10, 25, 29, 33, 37, 39, 46, 50, 96]", "dtime=0.0129s"]}, {"id": 38, "items": [29, 33, 37, 50, 66, 89, 93, 96], "labels": ["[29, 33, 37, 50, 66, 89, 93, 96]", "dtime=0.0048s"]}, {"id": 39, "items": [16, 35, 44, 53, 58, 60, 61, 66, 99, 100], "labels": ["[16, 35, 44, 53, 58, 60, 61, 66, 99, 100]", "dtime=0.0029s"]}, {"id": 40, "items": [23, 34, 40, 41, 44, 52, 55, 58, 60, 61, 84, 99], "labels": ["[23, 34, 40, 41, 44, 52, 55, 58, 60, 61, 84, 99]", "dtime=0.0012s"]}, {"id": 41, "items": [16, 35, 51, 53, 60, 61, 66, 99, 100], "labels": ["[16, 35, 51, 53, 60, 61, 66, 99, 100]", "dtime=0.0028s"]}, {"id": 42, "items": [23, 34, 40, 41, 44, 52, 55, 58, 60, 61, 81, 84], "labels": ["[23, 34, 40, 41, 44, 52, 55, 58, 60, 61, 81, 84]", "dtime=0.0012s"]}, {"id": 43, "items": [9, 16, 35, 51, 53, 61, 66], "labels": ["[9, 16, 35, 51, 53, 61, 66]", "dtime=0.0026s"]}, {"id": 44, "items": [19, 23, 34, 40, 41, 43, 44, 52, 55, 58, 61, 81, 84], "labels": ["[19, 23, 34, 40, 41, 43, 44, 52, 55, 58, 61, 81, 84]", "dtime=0.0013s"]}, {"id": 45, "items": [9, 35, 53, 61, 62], "labels": ["[9, 35, 53, 61, 62]", "dtime=0.0027s"]}, {"id": 46, "items": [9, 16, 51, 66, 94], "labels": ["[9, 16, 51, 66, 94]", "dtime=0.0011s"]}, {"id": 47, "items": [19, 23, 34, 40, 41, 43, 44, 52, 55, 58, 65, 81, 84, 85], "labels": ["[19, 23, 34, 40, 41, 43, 44, 52, 55, 58, 65, 81, 84, 85]", "dtime=0.0014s"]}, {"id": 48, "items": [9, 35, 53, 62, 90], "labels": ["[9, 35, 53, 62, 90]", "dtime=0.0013s"]}, {"id": 49, "items": [9, 47, 51, 66, 77, 94], "labels": ["[9, 47, 51, 66, 77, 94]", "dtime=0.0013s"]}, {"id": 50, "items": [8, 19, 23, 34, 41, 43, 44, 52, 55, 58, 65, 81, 84, 85], "labels": ["[8, 19, 23, 34, 41, 43, 44, 52, 55, 58, 65, 81, 84, 85]", "dtime=0.0015s"]}, {"id": 51, "items": [47, 51, 66, 77, 78, 94], "labels": ["[47, 51, 66, 77, 78, 94]", "dtime=0.0017s"]}, {"id": 52, "items": [8, 19, 23, 34, 41, 43, 44, 52, 55, 58, 65, 72, 76, 81, 85], "labels": ["[8, 19, 23, 34, 41, 43, 44, 52, 55, 58, 65, 72, 76, 81, 85]", "dtime=0.0016s"]}, {"id": 53, "items": [8, 19, 23, 27, 34, 43, 44, 48, 52, 55, 58, 65, 72, 76, 81, 85], "labels": ["[8, 19, 23, 27, 34, 43, 44, 48, 52, 55, 58, 65, 72, 76, 81, 85]", "dtime=0.0019s"]}, {"id": 54, "items": [8, 19, 23, 27, 34, 43, 44, 48, 52, 65, 72, 76, 81, 85, 95], "labels": ["[8, 19, 23, 27, 34, 43, 44, 48, 52, 65, 72, 76, 81, 85, 95]", "dtime=0.0026s"]}, {"id": 55, "items": [8, 19, 27, 34, 43, 44, 45, 48, 65, 72, 76, 81, 95], "labels": ["[8, 19, 27, 34, 43, 44, 45, 48, 65, 72, 76, 81, 95]", "dtime=0.0014s"]}, {"id": 56, "items": [8, 19, 27, 34, 43, 45, 48, 65, 72, 73, 76, 81, 95], "labels": ["[8, 19, 27, 34, 43, 45, 48, 65, 72, 73, 76, 81, 95]", "dtime=0.0027s"]}, {"id": 57, "items": [1, 8, 19, 27, 34, 43, 45, 48, 72, 73, 76, 81, 95], "labels": ["[1, 8, 19, 27, 34, 43, 45, 48, 72, 73, 76, 81, 95]", "dtime=0.0028s"]}, {"id": 58, "items": [1, 8, 27, 34, 43, 45, 48, 72, 73, 76, 81, 92, 95], "labels": ["[1, 8, 27, 34, 43, 45, 48, 72, 73, 76, 81, 92, 95]", "dtime=0.0024s"]}, {"id": 59, "items": [16, 23, 40, 41, 52, 55, 60, 61, 66, 84, 99, 100], "labels": ["[16, 23, 40, 41, 52, 55, 60, 61, 66, 84, 99, 100]", "dtime=0.0107s"]}, {"id": 60, "items": [1, 27, 48, 68, 72, 73, 76, 92, 95], "labels": ["[1, 27, 48, 68, 72, 73, 76, 92, 95]", "dtime=0.0040s"]}, {"id": 61, "items": [68, 70, 73, 92, 95], "labels": ["[68, 70, 73, 92, 95]", "dtime=0.0011s"]}], "num_vars": 100}} \ No newline at end of file diff --git a/test/expected_files/expected_test-construct_dpdb_visu-main.json b/test/expected_files/expected_test-construct_dpdb_visu-main.json new file mode 100644 index 0000000..728bfb1 --- /dev/null +++ b/test/expected_files/expected_test-construct_dpdb_visu-main.json @@ -0,0 +1 @@ +{"incidenceGraph": {"edges": [{"id": 1, "list": [1, 4, 6]}, {"id": 2, "list": [1, -5]}, {"id": 3, "list": [-1, 7]}, {"id": 4, "list": [2, 3]}, {"id": 5, "list": [2, 5]}, {"id": 6, "list": [2, -6]}, {"id": 7, "list": [3, -8]}, {"id": 8, "list": [4, -8]}, {"id": 9, "list": [-4, 6]}, {"id": 10, "list": [-4, 7]}], "infer_primal": true, "var_name_one": "c_", "var_name_two": "v_"}, "tdTimeline": [[3], [3, [[["v1", "v4"], [0, 0], [1, 1], [0, 1], [1, 0]], "sol bag 3", "", true]], [5, [[["v1", "v4"], [0, 0], [1, 1], [0, 1], [1, 0]], "sol bag 5", "", true]], [4, [[["v1", "v4"], [0, 0], [1, 1], [0, 1], [1, 0]], "sol bag 4", "", true]], [2, [[["v1", "v4"], [0, 0], [1, 1], [0, 1], [1, 0]], "sol bag 2", "", true]], [1, [[["v1", "v4"], [0, 0], [1, 1], [0, 1], [1, 0]], "sol bag 1", "", true]]], "treeDecJson": {"bagpre": "bag %s", "edgearray": [[2, 1], [3, 2], [4, 2], [5, 4]], "labeldict": [{"id": 1, "items": [1, 2, 4, 6], "labels": ["[1, 2, 4, 6]", "dtime=0.0008s"]}, {"id": 2, "items": [1, 2, 4, 6], "labels": ["[1, 2, 4, 6]", "dtime=0.0008s"]}, {"id": 3, "items": [1, 2, 4, 6], "labels": ["[1, 2, 4, 6]", "dtime=0.0008s"]}, {"id": 4, "items": [1, 2, 4, 6], "labels": ["[1, 2, 4, 6]", "dtime=0.0008s"]}, {"id": 5, "items": [1, 2, 4, 6], "labels": ["[1, 2, 4, 6]", "dtime=0.0008s"]}], "num_vars": 8}} \ No newline at end of file diff --git a/test/expected_files/real_test-construct_dpdb_visu-main.json b/test/expected_files/real_test-construct_dpdb_visu-main.json new file mode 100644 index 0000000..b3a105d --- /dev/null +++ b/test/expected_files/real_test-construct_dpdb_visu-main.json @@ -0,0 +1 @@ +{"incidenceGraph": {"edges": [{"id": 1, "list": [1, 4, 6]}, {"id": 2, "list": [1, -5]}, {"id": 3, "list": [-1, 7]}, {"id": 4, "list": [2, 3]}, {"id": 5, "list": [2, 5]}, {"id": 6, "list": [2, -6]}, {"id": 7, "list": [3, -8]}, {"id": 8, "list": [4, -8]}, {"id": 9, "list": [-4, 6]}, {"id": 10, "list": [-4, 7]}], "infer_primal": true, "var_name_one": "c_", "var_name_two": "v_"}, "tdTimeline": [[3], [3, [[["v1", "v2"], [1, 1], [1, 0], [0, 1]], "sol bag 3", "", true]], [5, [[["v2", "v8"], [0, 0], [1, 1], [0, 1], [1, 0]], "sol bag 5", "", true]], [4, [[["v2", "v4"], [1, 1], [0, 0], [1, 0], [0, 1]], "sol bag 4", "", true]], [2, [[["v1", "v4"], [0, 0], [1, 1], [0, 1], [1, 0]], "sol bag 2", "", true]], [1, [[["v1", "v4", "v7"], [0, 0, 1], [1, 0, 1], [0, 0, 0], [1, 1, 1], [0, 1, 1]], "sol bag 1", "", true]]], "treeDecJson": {"bagpre": "bag %s", "edgearray": [[2, 1], [3, 2], [4, 2], [5, 4]], "labeldict": [{"id": 1, "items": [1, 4, 7], "labels": ["[1, 4, 7]", "dtime=0.0008s"]}, {"id": 2, "items": [1, 2, 4, 6], "labels": ["[1, 2, 4, 6]", "dtime=0.0009s"]}, {"id": 3, "items": [1, 2, 5], "labels": ["[1, 2, 5]", "dtime=0.0031s"]}, {"id": 4, "items": [2, 4, 8], "labels": ["[2, 4, 8]", "dtime=0.0017s"]}, {"id": 5, "items": [2, 3, 8], "labels": ["[2, 3, 8]", "dtime=0.0016s"]}], "num_vars": 8}} \ No newline at end of file diff --git a/test/expected_images/test_sat_and_join/IncidenceGraphStep1 b/test/expected_files/test_sat_and_join/IncidenceGraphStep1 similarity index 100% rename from test/expected_images/test_sat_and_join/IncidenceGraphStep1 rename to test/expected_files/test_sat_and_join/IncidenceGraphStep1 diff --git a/test/expected_images/test_sat_and_join/IncidenceGraphStep2 b/test/expected_files/test_sat_and_join/IncidenceGraphStep2 similarity index 100% rename from test/expected_images/test_sat_and_join/IncidenceGraphStep2 rename to test/expected_files/test_sat_and_join/IncidenceGraphStep2 diff --git a/test/expected_images/test_sat_and_join/IncidenceGraphStep3 b/test/expected_files/test_sat_and_join/IncidenceGraphStep3 similarity index 100% rename from test/expected_images/test_sat_and_join/IncidenceGraphStep3 rename to test/expected_files/test_sat_and_join/IncidenceGraphStep3 diff --git a/test/expected_images/test_sat_and_join/IncidenceGraphStep4 b/test/expected_files/test_sat_and_join/IncidenceGraphStep4 similarity index 100% rename from test/expected_images/test_sat_and_join/IncidenceGraphStep4 rename to test/expected_files/test_sat_and_join/IncidenceGraphStep4 diff --git a/test/expected_images/test_sat_and_join/IncidenceGraphStep5 b/test/expected_files/test_sat_and_join/IncidenceGraphStep5 similarity index 100% rename from test/expected_images/test_sat_and_join/IncidenceGraphStep5 rename to test/expected_files/test_sat_and_join/IncidenceGraphStep5 diff --git a/test/expected_images/test_sat_and_join/IncidenceGraphStep6 b/test/expected_files/test_sat_and_join/IncidenceGraphStep6 similarity index 100% rename from test/expected_images/test_sat_and_join/IncidenceGraphStep6 rename to test/expected_files/test_sat_and_join/IncidenceGraphStep6 diff --git a/test/expected_images/test_sat_and_join/PrimalGraphStep1 b/test/expected_files/test_sat_and_join/PrimalGraphStep1 similarity index 100% rename from test/expected_images/test_sat_and_join/PrimalGraphStep1 rename to test/expected_files/test_sat_and_join/PrimalGraphStep1 diff --git a/test/expected_images/test_sat_and_join/PrimalGraphStep2 b/test/expected_files/test_sat_and_join/PrimalGraphStep2 similarity index 100% rename from test/expected_images/test_sat_and_join/PrimalGraphStep2 rename to test/expected_files/test_sat_and_join/PrimalGraphStep2 diff --git a/test/expected_images/test_sat_and_join/PrimalGraphStep3 b/test/expected_files/test_sat_and_join/PrimalGraphStep3 similarity index 100% rename from test/expected_images/test_sat_and_join/PrimalGraphStep3 rename to test/expected_files/test_sat_and_join/PrimalGraphStep3 diff --git a/test/expected_images/test_sat_and_join/PrimalGraphStep4 b/test/expected_files/test_sat_and_join/PrimalGraphStep4 similarity index 100% rename from test/expected_images/test_sat_and_join/PrimalGraphStep4 rename to test/expected_files/test_sat_and_join/PrimalGraphStep4 diff --git a/test/expected_images/test_sat_and_join/PrimalGraphStep5 b/test/expected_files/test_sat_and_join/PrimalGraphStep5 similarity index 100% rename from test/expected_images/test_sat_and_join/PrimalGraphStep5 rename to test/expected_files/test_sat_and_join/PrimalGraphStep5 diff --git a/test/expected_images/test_sat_and_join/PrimalGraphStep6 b/test/expected_files/test_sat_and_join/PrimalGraphStep6 similarity index 100% rename from test/expected_images/test_sat_and_join/PrimalGraphStep6 rename to test/expected_files/test_sat_and_join/PrimalGraphStep6 diff --git a/test/expected_images/test_sat_and_join/TDStep1 b/test/expected_files/test_sat_and_join/TDStep1 similarity index 100% rename from test/expected_images/test_sat_and_join/TDStep1 rename to test/expected_files/test_sat_and_join/TDStep1 diff --git a/test/expected_images/test_sat_and_join/TDStep2 b/test/expected_files/test_sat_and_join/TDStep2 similarity index 100% rename from test/expected_images/test_sat_and_join/TDStep2 rename to test/expected_files/test_sat_and_join/TDStep2 diff --git a/test/expected_images/test_sat_and_join/TDStep3 b/test/expected_files/test_sat_and_join/TDStep3 similarity index 100% rename from test/expected_images/test_sat_and_join/TDStep3 rename to test/expected_files/test_sat_and_join/TDStep3 diff --git a/test/expected_images/test_sat_and_join/TDStep4 b/test/expected_files/test_sat_and_join/TDStep4 similarity index 100% rename from test/expected_images/test_sat_and_join/TDStep4 rename to test/expected_files/test_sat_and_join/TDStep4 diff --git a/test/expected_images/test_sat_and_join/TDStep5 b/test/expected_files/test_sat_and_join/TDStep5 similarity index 100% rename from test/expected_images/test_sat_and_join/TDStep5 rename to test/expected_files/test_sat_and_join/TDStep5 diff --git a/test/expected_images/test_sat_and_join/TDStep6 b/test/expected_files/test_sat_and_join/TDStep6 similarity index 100% rename from test/expected_images/test_sat_and_join/TDStep6 rename to test/expected_files/test_sat_and_join/TDStep6 diff --git a/test/expected_images/test_sat_and_join/result_0p2_up_padding0_reverse=False.svg b/test/expected_files/test_sat_and_join/result_0p2_up_padding0_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_0p2_up_padding0_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_0p2_up_padding0_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_0p2_up_padding200_reverse=False.svg b/test/expected_files/test_sat_and_join/result_0p2_up_padding200_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_0p2_up_padding200_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_0p2_up_padding200_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_0p2_up_padding50_reverse=False.svg b/test/expected_files/test_sat_and_join/result_0p2_up_padding50_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_0p2_up_padding50_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_0p2_up_padding50_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_1p5_down_padding0_reverse=False.svg b/test/expected_files/test_sat_and_join/result_1p5_down_padding0_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_1p5_down_padding0_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_1p5_down_padding0_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_1p5_down_padding200_reverse=False.svg b/test/expected_files/test_sat_and_join/result_1p5_down_padding200_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_1p5_down_padding200_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_1p5_down_padding200_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_1p5_down_padding50_reverse=False.svg b/test/expected_files/test_sat_and_join/result_1p5_down_padding50_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_1p5_down_padding50_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_1p5_down_padding50_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_centered_join_scale10to10_reverse=False.svg b/test/expected_files/test_sat_and_join/result_centered_join_scale10to10_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_centered_join_scale10to10_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_centered_join_scale10to10_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_centered_join_scale10to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_centered_join_scale10to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_centered_join_scale10to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_centered_join_scale10to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_centered_join_scale20to10_reverse=False.svg b/test/expected_files/test_sat_and_join/result_centered_join_scale20to10_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_centered_join_scale20to10_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_centered_join_scale20to10_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_centered_join_scale20to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_centered_join_scale20to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_centered_join_scale20to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_centered_join_scale20to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_centered_join_scale2to10_reverse=False.svg b/test/expected_files/test_sat_and_join/result_centered_join_scale2to10_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_centered_join_scale2to10_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_centered_join_scale2to10_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_centered_join_scale2to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_centered_join_scale2to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_centered_join_scale2to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_centered_join_scale2to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_centered_join_scale5to10_reverse=False.svg b/test/expected_files/test_sat_and_join/result_centered_join_scale5to10_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_centered_join_scale5to10_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_centered_join_scale5to10_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_centered_join_scale5to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_centered_join_scale5to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_centered_join_scale5to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_centered_join_scale5to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_lower_half_padding0_reverse=False.svg b/test/expected_files/test_sat_and_join/result_lower_half_padding0_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_lower_half_padding0_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_lower_half_padding0_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_lower_half_padding200_reverse=False.svg b/test/expected_files/test_sat_and_join/result_lower_half_padding200_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_lower_half_padding200_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_lower_half_padding200_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_lower_half_padding50_reverse=False.svg b/test/expected_files/test_sat_and_join/result_lower_half_padding50_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_lower_half_padding50_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_lower_half_padding50_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_same_size_padding0_reverse=False.svg b/test/expected_files/test_sat_and_join/result_same_size_padding0_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_same_size_padding0_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_same_size_padding0_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_same_size_padding0_reverse=True.svg b/test/expected_files/test_sat_and_join/result_same_size_padding0_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_same_size_padding0_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_same_size_padding0_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_same_size_padding200_reverse=False.svg b/test/expected_files/test_sat_and_join/result_same_size_padding200_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_same_size_padding200_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_same_size_padding200_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_same_size_padding200_reverse=True.svg b/test/expected_files/test_sat_and_join/result_same_size_padding200_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_same_size_padding200_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_same_size_padding200_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_same_size_padding50_reverse=False.svg b/test/expected_files/test_sat_and_join/result_same_size_padding50_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_same_size_padding50_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_same_size_padding50_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_same_size_padding50_reverse=True.svg b/test/expected_files/test_sat_and_join/result_same_size_padding50_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_same_size_padding50_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_same_size_padding50_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_padding_scale10to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_simple_join_padding_scale10to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_padding_scale10to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_simple_join_padding_scale10to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_padding_scale20to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_simple_join_padding_scale20to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_padding_scale20to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_simple_join_padding_scale20to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_padding_scale2to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_simple_join_padding_scale2to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_padding_scale2to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_simple_join_padding_scale2to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_padding_scale5to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_simple_join_padding_scale5to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_padding_scale5to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_simple_join_padding_scale5to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_scale10to10_reverse=False.svg b/test/expected_files/test_sat_and_join/result_simple_join_scale10to10_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_scale10to10_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_simple_join_scale10to10_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_scale10to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_simple_join_scale10to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_scale10to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_simple_join_scale10to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_scale20to10_reverse=False.svg b/test/expected_files/test_sat_and_join/result_simple_join_scale20to10_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_scale20to10_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_simple_join_scale20to10_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_scale20to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_simple_join_scale20to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_scale20to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_simple_join_scale20to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_scale2to10_reverse=False.svg b/test/expected_files/test_sat_and_join/result_simple_join_scale2to10_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_scale2to10_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_simple_join_scale2to10_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_scale2to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_simple_join_scale2to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_scale2to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_simple_join_scale2to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_scale5to10_reverse=False.svg b/test/expected_files/test_sat_and_join/result_simple_join_scale5to10_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_scale5to10_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_simple_join_scale5to10_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_simple_join_scale5to10_reverse=True.svg b/test/expected_files/test_sat_and_join/result_simple_join_scale5to10_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_simple_join_scale5to10_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_simple_join_scale5to10_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_top_up_padding0_reverse=False.svg b/test/expected_files/test_sat_and_join/result_top_up_padding0_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_top_up_padding0_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_top_up_padding0_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_top_up_padding200_reverse=False.svg b/test/expected_files/test_sat_and_join/result_top_up_padding200_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_top_up_padding200_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_top_up_padding200_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_top_up_padding50_reverse=False.svg b/test/expected_files/test_sat_and_join/result_top_up_padding50_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_top_up_padding50_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_top_up_padding50_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_upper_half_padding0_reverse=False.svg b/test/expected_files/test_sat_and_join/result_upper_half_padding0_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_upper_half_padding0_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_upper_half_padding0_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_upper_half_padding0_reverse=True.svg b/test/expected_files/test_sat_and_join/result_upper_half_padding0_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_upper_half_padding0_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_upper_half_padding0_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_upper_half_padding200_reverse=False.svg b/test/expected_files/test_sat_and_join/result_upper_half_padding200_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_upper_half_padding200_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_upper_half_padding200_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_upper_half_padding200_reverse=True.svg b/test/expected_files/test_sat_and_join/result_upper_half_padding200_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_upper_half_padding200_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_upper_half_padding200_reverse=True.svg diff --git a/test/expected_images/test_sat_and_join/result_upper_half_padding50_reverse=False.svg b/test/expected_files/test_sat_and_join/result_upper_half_padding50_reverse=False.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_upper_half_padding50_reverse=False.svg rename to test/expected_files/test_sat_and_join/result_upper_half_padding50_reverse=False.svg diff --git a/test/expected_images/test_sat_and_join/result_upper_half_padding50_reverse=True.svg b/test/expected_files/test_sat_and_join/result_upper_half_padding50_reverse=True.svg similarity index 100% rename from test/expected_images/test_sat_and_join/result_upper_half_padding50_reverse=True.svg rename to test/expected_files/test_sat_and_join/result_upper_half_padding50_reverse=True.svg diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep1 b/test/expected_files/test_vc_multiple_and_join/TDStep1 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep1 rename to test/expected_files/test_vc_multiple_and_join/TDStep1 diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep1.svg b/test/expected_files/test_vc_multiple_and_join/TDStep1.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep1.svg rename to test/expected_files/test_vc_multiple_and_join/TDStep1.svg diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep2 b/test/expected_files/test_vc_multiple_and_join/TDStep2 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep2 rename to test/expected_files/test_vc_multiple_and_join/TDStep2 diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep2.svg b/test/expected_files/test_vc_multiple_and_join/TDStep2.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep2.svg rename to test/expected_files/test_vc_multiple_and_join/TDStep2.svg diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep3 b/test/expected_files/test_vc_multiple_and_join/TDStep3 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep3 rename to test/expected_files/test_vc_multiple_and_join/TDStep3 diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep3.svg b/test/expected_files/test_vc_multiple_and_join/TDStep3.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep3.svg rename to test/expected_files/test_vc_multiple_and_join/TDStep3.svg diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep4 b/test/expected_files/test_vc_multiple_and_join/TDStep4 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep4 rename to test/expected_files/test_vc_multiple_and_join/TDStep4 diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep4.svg b/test/expected_files/test_vc_multiple_and_join/TDStep4.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep4.svg rename to test/expected_files/test_vc_multiple_and_join/TDStep4.svg diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep5 b/test/expected_files/test_vc_multiple_and_join/TDStep5 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep5 rename to test/expected_files/test_vc_multiple_and_join/TDStep5 diff --git a/test/expected_images/test_vc_multiple_and_join/TDStep5.svg b/test/expected_files/test_vc_multiple_and_join/TDStep5.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/TDStep5.svg rename to test/expected_files/test_vc_multiple_and_join/TDStep5.svg diff --git a/test/expected_images/test_vc_multiple_and_join/combined1.svg b/test/expected_files/test_vc_multiple_and_join/combined1.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/combined1.svg rename to test/expected_files/test_vc_multiple_and_join/combined1.svg diff --git a/test/expected_images/test_vc_multiple_and_join/combined2.svg b/test/expected_files/test_vc_multiple_and_join/combined2.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/combined2.svg rename to test/expected_files/test_vc_multiple_and_join/combined2.svg diff --git a/test/expected_images/test_vc_multiple_and_join/combined3.svg b/test/expected_files/test_vc_multiple_and_join/combined3.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/combined3.svg rename to test/expected_files/test_vc_multiple_and_join/combined3.svg diff --git a/test/expected_images/test_vc_multiple_and_join/combined4.svg b/test/expected_files/test_vc_multiple_and_join/combined4.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/combined4.svg rename to test/expected_files/test_vc_multiple_and_join/combined4.svg diff --git a/test/expected_images/test_vc_multiple_and_join/combined5.svg b/test/expected_files/test_vc_multiple_and_join/combined5.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/combined5.svg rename to test/expected_files/test_vc_multiple_and_join/combined5.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph1 b/test/expected_files/test_vc_multiple_and_join/graph1 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph1 rename to test/expected_files/test_vc_multiple_and_join/graph1 diff --git a/test/expected_images/test_vc_multiple_and_join/graph1.svg b/test/expected_files/test_vc_multiple_and_join/graph1.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph1.svg rename to test/expected_files/test_vc_multiple_and_join/graph1.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph2 b/test/expected_files/test_vc_multiple_and_join/graph2 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph2 rename to test/expected_files/test_vc_multiple_and_join/graph2 diff --git a/test/expected_images/test_vc_multiple_and_join/graph2.svg b/test/expected_files/test_vc_multiple_and_join/graph2.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph2.svg rename to test/expected_files/test_vc_multiple_and_join/graph2.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph3 b/test/expected_files/test_vc_multiple_and_join/graph3 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph3 rename to test/expected_files/test_vc_multiple_and_join/graph3 diff --git a/test/expected_images/test_vc_multiple_and_join/graph3.svg b/test/expected_files/test_vc_multiple_and_join/graph3.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph3.svg rename to test/expected_files/test_vc_multiple_and_join/graph3.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph4 b/test/expected_files/test_vc_multiple_and_join/graph4 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph4 rename to test/expected_files/test_vc_multiple_and_join/graph4 diff --git a/test/expected_images/test_vc_multiple_and_join/graph4.svg b/test/expected_files/test_vc_multiple_and_join/graph4.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph4.svg rename to test/expected_files/test_vc_multiple_and_join/graph4.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph5 b/test/expected_files/test_vc_multiple_and_join/graph5 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph5 rename to test/expected_files/test_vc_multiple_and_join/graph5 diff --git a/test/expected_images/test_vc_multiple_and_join/graph5.svg b/test/expected_files/test_vc_multiple_and_join/graph5.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph5.svg rename to test/expected_files/test_vc_multiple_and_join/graph5.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted1 b/test/expected_files/test_vc_multiple_and_join/graph_sorted1 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted1 rename to test/expected_files/test_vc_multiple_and_join/graph_sorted1 diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted1.svg b/test/expected_files/test_vc_multiple_and_join/graph_sorted1.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted1.svg rename to test/expected_files/test_vc_multiple_and_join/graph_sorted1.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted2 b/test/expected_files/test_vc_multiple_and_join/graph_sorted2 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted2 rename to test/expected_files/test_vc_multiple_and_join/graph_sorted2 diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted2.svg b/test/expected_files/test_vc_multiple_and_join/graph_sorted2.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted2.svg rename to test/expected_files/test_vc_multiple_and_join/graph_sorted2.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted3 b/test/expected_files/test_vc_multiple_and_join/graph_sorted3 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted3 rename to test/expected_files/test_vc_multiple_and_join/graph_sorted3 diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted3.svg b/test/expected_files/test_vc_multiple_and_join/graph_sorted3.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted3.svg rename to test/expected_files/test_vc_multiple_and_join/graph_sorted3.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted4 b/test/expected_files/test_vc_multiple_and_join/graph_sorted4 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted4 rename to test/expected_files/test_vc_multiple_and_join/graph_sorted4 diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted4.svg b/test/expected_files/test_vc_multiple_and_join/graph_sorted4.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted4.svg rename to test/expected_files/test_vc_multiple_and_join/graph_sorted4.svg diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted5 b/test/expected_files/test_vc_multiple_and_join/graph_sorted5 similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted5 rename to test/expected_files/test_vc_multiple_and_join/graph_sorted5 diff --git a/test/expected_images/test_vc_multiple_and_join/graph_sorted5.svg b/test/expected_files/test_vc_multiple_and_join/graph_sorted5.svg similarity index 100% rename from test/expected_images/test_vc_multiple_and_join/graph_sorted5.svg rename to test/expected_files/test_vc_multiple_and_join/graph_sorted5.svg diff --git a/test/test_construct_dpdb.py b/test/test_construct_dpdb.py index 3bfb182..251c6ce 100644 --- a/test/test_construct_dpdb.py +++ b/test/test_construct_dpdb.py @@ -21,10 +21,16 @@ """ +import argparse +import datetime +import tempfile + from pathlib import Path +import psycopg2 as pg + from tdvisu.construct_dpdb_visu import (read_cfg, db_config, DEFAULT_DBCONFIG, IDpdbVisuConstruct, DpdbSharpSatVisu, - DpdbSatVisu, DpdbMinVcVisu) + DpdbSatVisu, DpdbMinVcVisu, main) DIR = Path(__file__).parent SECTION = 'postgresql' @@ -73,3 +79,92 @@ def test_problem_interface(): assert issubclass(DpdbSatVisu, IDpdbVisuConstruct) assert issubclass(DpdbSharpSatVisu, IDpdbVisuConstruct) assert issubclass(DpdbMinVcVisu, IDpdbVisuConstruct) + + +def test_main(mocker): + """Test behaviour of construct_dpdb_visu.main""" + + mock_connect = mocker.patch('tdvisu.construct_dpdb_visu.pg.connect') + ta_status = mock_connect.return_value.__enter__.return_value.get_transaction_status + ta_status.return_value = pg.extensions.TRANSACTION_STATUS_IDLE + + query_problem = mocker.patch( + 'tdvisu.construct_dpdb_visu.query_problem', + return_value=('Sat',)) + query_num_vars = mocker.patch('tdvisu.construct_dpdb_visu.query_num_vars', + return_value=8) + query_td_node_status_ordered= mocker.patch( + 'tdvisu.construct_dpdb_visu.query_td_node_status_ordered', + return_value=[(3,), (5,), (4,), (2,), (1,)]) + query_sat_clause=mocker.patch( + 'tdvisu.construct_dpdb_visu.query_sat_clause', + return_value=[(True, None, None, True, None, True, None, None, None, None), + (True, None, None, None, False, + None, None, None, None, None), + (False, None, None, None, None, + None, True, None, None, None), + (None, True, True, None, None, None, None, None, None, None), + (None, True, None, None, True, None, None, None, None, None), + (None, True, None, None, None, + False, None, None, None, None), + (None, None, True, None, None, + None, None, False, None, None), + (None, None, None, True, None, + None, None, False, None, None), + (None, None, None, False, None, + True, None, None, None, None), + (None, None, None, False, None, None, True, None, None, None)]) + + query_td_bag_grouped=mocker.patch('tdvisu.construct_dpdb_visu.query_td_bag_grouped', + return_value=[[1, 2, 3, 4, 5]]) + query_td_node_status=mocker.patch('tdvisu.construct_dpdb_visu.query_td_node_status', return_value=( + "2020-07-13 02:06:18.053880", datetime.timedelta(microseconds=768))) + query_td_bag=mocker.patch('tdvisu.construct_dpdb_visu.query_td_bag', + return_value=[(1,), (2,), (4,), (6,)]) + query_column_name=mocker.patch('tdvisu.construct_dpdb_visu.query_column_name', + return_value=[('v1',), ('v2',), ('v4',), ('v6',)]) + query_bag=mocker.patch( + 'tdvisu.construct_dpdb_visu.query_bag', + return_value=[(False, None, False, None), + (True, None, True, None), + (False, None, True, None), + (True, None, False, None)]) + + query_edgearray=mocker.patch('tdvisu.construct_dpdb_visu.query_edgearray', + return_value=[(2, 1), (3, 2), (4, 2), (5, 4)]) + + parser = argparse.ArgumentParser() + parser.add_argument('problemnumber', type=int, + help="selected problem-id in the postgres-database.") + parser.add_argument('--twfile', + type=argparse.FileType('r', encoding='UTF-8'), + help="tw-file containing the edges of the graph - " + "obtained from dpdb with option --gr-file GR_FILE.") + parser.add_argument('--loglevel', help="set the minimal loglevel for root") + parser.add_argument('--outfile', default='dbjson%d.json', + help="default:'dbjson%%d.json'") + parser.add_argument('--pretty', action='store_true', + help="pretty-print the JSON.") + parser.add_argument('--inter-nodes', action='store_true', + help="calculate and animate the shortest path between " + "successive bags in the order of evaluation.") + + with tempfile.TemporaryDirectory() as tmpdirname: + # set cmd-arguments + outfile = str(Path(tmpdirname) / 'test_main.json') + _args = parser.parse_args(['1', '--outfile', outfile]) + # one mocked run + main(_args) + + # Assertions + mock_connect.assert_called_once() + query_problem.assert_called_once() + query_num_vars.assert_called_once() + query_td_bag_grouped.assert_called_once() + query_sat_clause.assert_called_once() + query_td_node_status_ordered.assert_called_once() + assert query_bag.call_count == 5 + assert query_column_name.call_count == 5 + assert query_td_bag.call_count == 5 + assert query_td_node_status.call_count == 5 + diff --git a/test/test_svgjoin.py b/test/test_svgjoin.py index fcfccb9..0df7727 100644 --- a/test/test_svgjoin.py +++ b/test/test_svgjoin.py @@ -34,7 +34,7 @@ WRITE = False # ??? Write Testimages instead of just reading them ??? -IMAGE_FOLDER = join('expected_images', 'test_sat_and_join') +IMAGE_FOLDER = join('expected_files', 'test_sat_and_join') DIR = join(dirname(__file__), IMAGE_FOLDER) FILE1 = join(dirname(__file__), 'IncidenceGraphStep11.svg') FILE2 = join(dirname(__file__), 'PrimalGraphStep11.svg') diff --git a/test/test_visualization.py b/test/test_visualization.py index 02488b1..8cc174a 100644 --- a/test/test_visualization.py +++ b/test/test_visualization.py @@ -26,7 +26,7 @@ from tdvisu.visualization import main -EXPECT_DIR = Path(__file__).parent / 'expected_images' +EXPECT_DIR = Path(__file__).parent / 'expected_files' def test_sat_and_join(tmpdir):