Browse code

Update to latest bytecode format.

Török Edvin authored on 2009/09/22 00:48:43
Showing 13 changed files
... ...
@@ -413,6 +413,17 @@ static int parseHeader(struct cli_bc *bc, unsigned char *buffer)
413 413
     return CL_SUCCESS;
414 414
 }
415 415
 
416
+static int parseLSig(struct cli_bc *bc, unsigned char *buffer)
417
+{
418
+    if (buffer[0] != 'L') {
419
+	cli_errmsg("Invalid logical signature header: %c\n", buffer[0]);
420
+	return CL_EMALFDB;
421
+    }
422
+    bc->lsig = NULL;
423
+    bc->lsig = cli_strdup(buffer[1]);
424
+    return CL_SUCCESS;
425
+}
426
+
416 427
 static uint16_t readTypeID(struct cli_bc *bc, unsigned char *buffer,
417 428
 			   unsigned *offset, unsigned len, char *ok)
418 429
 {
... ...
@@ -1016,6 +1027,7 @@ enum parse_state {
1016 1016
     PARSE_BC_TYPES,
1017 1017
     PARSE_BC_APIS,
1018 1018
     PARSE_BC_GLOBALS,
1019
+    PARSE_BC_LSIG,
1019 1020
     PARSE_FUNC_HEADER,
1020 1021
     PARSE_BB
1021 1022
 };
... ...
@@ -1045,6 +1057,18 @@ int cli_bytecode_load(struct cli_bc *bc, FILE *f, struct cli_dbio *dbio)
1045 1045
 		    cli_errmsg("Error at bytecode line %u\n", row);
1046 1046
 		    return rc;
1047 1047
 		}
1048
+		state = PARSE_BC_LSIG;
1049
+		break;
1050
+	    case PARSE_BC_LSIG:
1051
+		rc = parseLSig(bc, (unsigned char*)buffer);
1052
+		if (rc == CL_BREAK) /* skip */ {
1053
+		    bc->state = bc_skip;
1054
+		    return CL_SUCCESS;
1055
+		}
1056
+		if (rc != CL_SUCCESS) {
1057
+		    cli_errmsg("Error at bytecode line %u\n", row);
1058
+		    return rc;
1059
+		}
1048 1060
 		state = PARSE_BC_TYPES;
1049 1061
 		break;
1050 1062
 	    case PARSE_BC_TYPES:
... ...
@@ -1193,6 +1217,7 @@ void cli_bytecode_destroy(struct cli_bc *bc)
1193 1193
     free(bc->globaltys);
1194 1194
     if (bc->uses_apis)
1195 1195
 	cli_bitset_free(bc->uses_apis);
1196
+    free(bc->lsig);
1196 1197
 }
1197 1198
 
1198 1199
 #define MAP(val) do { operand_t o = val; \
... ...
@@ -55,6 +55,7 @@ struct cli_bc {
55 55
   enum bc_state state;
56 56
   uint16_t start_tid;
57 57
   struct bitset_tag *uses_apis;
58
+  char *lsig;
58 59
 };
59 60
 
60 61
 struct cli_all_bc {
... ...
@@ -70,7 +70,7 @@ int32_t cli_bcapi_seek(struct cli_bc_ctx* ctx, int32_t pos, uint32_t whence)
70 70
     return off;
71 71
 }
72 72
 
73
-uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, uint8_t *str, uint32_t len)
73
+uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, const uint8_t *str, uint32_t len)
74 74
 {
75 75
     cli_dbgmsg("bytecode debug: %s\n", str);
76 76
     return 0;
... ...
@@ -36,7 +36,7 @@ uint32_t test0(struct foo*, uint32_t);
36 36
 uint32_t test1(uint32_t, uint32_t);
37 37
 
38 38
 /* reads @size bytes from current file (if any) to @data, returns amount read */
39
-uint32_t read(uint8_t *data, uint32_t size);
39
+int32_t read(uint8_t *data, int32_t size);
40 40
 
41 41
 enum {
42 42
     SEEK_SET=0,
... ...
@@ -48,7 +48,8 @@ enum {
48 48
  * start of file */
49 49
 int32_t seek(int32_t pos, uint32_t whence);
50 50
 
51
-uint32_t debug_print_str(uint8_t *str, uint32_t len);
51
+uint32_t debug_print_str(const uint8_t *str, uint32_t len);
52 52
 uint32_t debug_print_uint(uint32_t a, uint32_t b);
53
+//const char *LogicalSignature;
53 54
 
54 55
 #endif
... ...
@@ -28,7 +28,7 @@ uint32_t cli_bcapi_test0(struct cli_bc_ctx *ctx, struct foo*, uint32_t);
28 28
 uint32_t cli_bcapi_test1(struct cli_bc_ctx *ctx, uint32_t, uint32_t);
29 29
 int32_t cli_bcapi_read(struct cli_bc_ctx *ctx, uint8_t*, int32_t);
30 30
 int32_t cli_bcapi_seek(struct cli_bc_ctx *ctx, int32_t, uint32_t);
31
-uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, uint8_t*, uint32_t);
31
+uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, const uint8_t*, uint32_t);
32 32
 uint32_t cli_bcapi_debug_print_uint(struct cli_bc_ctx *ctx, uint32_t, uint32_t);
33 33
 
34 34
 static uint16_t cli_tmp0[]={32, 70, 32};
... ...
@@ -25,5 +25,5 @@ uint32_t cli_bcapi_test1(struct cli_bc_ctx *, uint32_t, uint32_t);
25 25
 
26 26
 int32_t cli_bcapi_read(struct cli_bc_ctx*, uint8_t *data, int32_t size);
27 27
 int32_t cli_bcapi_seek(struct cli_bc_ctx*, int32_t pos, uint32_t whence);
28
-uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, uint8_t*, uint32_t);
28
+uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, const uint8_t*, uint32_t);
29 29
 uint32_t cli_bcapi_debug_print_uint(struct cli_bc_ctx *ctx, uint32_t, uint32_t);
... ...
@@ -53,6 +53,7 @@ enum bc_opcode {
53 53
   OP_BRANCH,
54 54
   OP_JMP,
55 55
   OP_RET,
56
+  OP_RET_VOID,
56 57
 
57 58
   OP_ICMP_EQ,
58 59
   OP_ICMP_NE,
... ...
@@ -83,7 +84,7 @@ static const unsigned char operand_counts[] = {
83 83
   /* TRUNC -> ZEXT */
84 84
   1, 1, 1,
85 85
   /* BRANCH, JMP, RET */
86
-  3, 1, 1,
86
+  3, 1, 1, 0,
87 87
   /* ICMP */
88 88
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
89 89
   /* SELECT */
... ...
@@ -96,6 +97,9 @@ static const unsigned char operand_counts[] = {
96 96
   2, 3, 0, 2, 1
97 97
 };
98 98
 
99
-#define BC_START_TID 69
99
+enum {
100
+  GLOBAL_MATCH_COUNTS = 0x8000
101
+};
100 102
 
103
+#define BC_START_TID 69
101 104
 #endif
... ...
@@ -1,15 +1,17 @@
1 1
 ClamBCaa`|`````|`afafp`clamcoincidencejb
2
+L
2 3
 Tedacb`bb`bb`b
3 4
 Eabaaabbed|afdgefcgdgac``
5
+G`
4 6
 A`b`bLacb`baab`bFadaa
5
-Bb`b``bbabHonnkm``odHm``oonnkdaaaadab`b`Hhgfedcbadb`babnaaaDm``odDmjnmdTcab`babE
7
+Bb`b`abbabHonnkm``odHm``oonnkdaaaaeab`b`Hhgfedcbadb`baboaaaDm``odDmjnmdTcab`babE
6 8
 Aab`bLabahaab`bFacaa
7
-Baaaadaah`Bgaab`babnaaaDm``odDmjnmdTcab`babE
9
+Baaaaeaah`Bgaab`baboaaaDm``odDmjnmdTcab`babE
8 10
 Aab`bLabb`aaab`bFacaa
9
-Baaaadab`a`Dhbgabb`babnaaaDm``odDmjnmdTcab`babE
11
+Baaaaeab`a`Dhbgabb`baboaaaDm``odDmjnmdTcab`babE
10 12
 Aab`bLabb`baab`bFacaa
11
-Baaaadab`b`Fichbgadb`babnaaaDm``odDmjnmdTcab`babE
13
+Baaaaeab`b`Fichbgadb`baboaaaDm``odDmjnmdTcab`babE
12 14
 Aab`bLabb`daab`bFacaa
13
-Baaaadab`d`Ncgbfae`dichbgahb`babnaaaDm``odDmjnmdTcab`babE
15
+Baaaaeab`d`Ncgbfae`dichbgahb`baboaaaDm``odDmjnmdTcab`babE
14 16
 Abb`bLadahb`aaaaaaab`bFaeaa
15
-Baaabdaah`Bhbaaaacdab`aaaDdcbabaaadk`acabb`baenaadDm``odDmjnmdTcab`baeE
17
+Baaabeaah`Bhbaaaaceab`aaaDdcbabaaadk`acabb`baeoaadDm``odDmjnmdTcab`baeE
... ...
@@ -1,17 +1,19 @@
1 1
 ClamBCaa`|`````|`ajafp`clamcoincidencejb
2
+L
2 3
 Tedcabidebidacb`bb`bb`bacb`bbidb`bebed
3 4
 Eabababbgd|afdgefcgdgac``aabhd|afdgefcgdg`c``
5
+G`
4 6
 A`b`bLahbedbfd`b`baab`baab`bFajac
5
-Bbfdaacb`@d@d``eb`aab`bac`bbabHonnkm``odHm``oonnkdaaaddab`bacHhgfedcbadTaaadaaab
6
-Bb`bae`bbaa`Honnkmjnmdaaafdab`baeHhgfedcbadb`bagnaafDm``odDmjnmdTcab`bag
7
+Bbfdaadb`@d@d``fb`aab`bacabbabHonnkm``odHm``oonnkdaaadeab`bacHhgfedcbadTaaadaaab
8
+Bb`baeabbaa`Honnkmjnmdaaafeab`baeHhgfedcbadb`bagoaafDm``odDmjnmdTcab`bag
7 9
 BTcab`bDmjnmdE
8 10
 Aab`bLabahaab`bFacaa
9
-Baaaadaah`Bgaab`babnaaaDm``odDmjnmdTcab`babE
11
+Baaaaeaah`Bgaab`baboaaaDm``odDmjnmdTcab`babE
10 12
 Aab`bLabb`aaab`bFacaa
11
-Baaaadab`a`Dhbgabb`babnaaaDm``odDmjnmdTcab`babE
13
+Baaaaeab`a`Dhbgabb`baboaaaDm``odDmjnmdTcab`babE
12 14
 Aab`bLabb`baab`bFacaa
13
-Baaaadab`b`Fichbgadb`babnaaaDm``odDmjnmdTcab`babE
15
+Baaaaeab`b`Fichbgadb`baboaaaDm``odDmjnmdTcab`babE
14 16
 Aab`bLabb`daab`bFacaa
15
-Baaaadab`d`Ncgbfae`dichbgahb`babnaaaDm``odDmjnmdTcab`babE
17
+Baaaaeab`d`Ncgbfae`dichbgahb`baboaaaDm``odDmjnmdTcab`babE
16 18
 Abb`bLadahb`aaaaaaab`bFaeaa
17
-Baaabdaah`Bhbaaaacdab`aaaDdcbabaaadk`acabb`baenaadDm``odDmjnmdTcab`baeE
19
+Baaabeaah`Bhbaaaaceab`aaaDdcbabaaadk`acabb`baeoaadDm``odDmjnmdTcab`baeE
... ...
@@ -1,227 +1,229 @@
1 1
 ClamBCaa`|`````|`aebbep`clamcoincidencejb
2
+L
2 3
 Ted
3 4
 E``
5
+G`
4 6
 A`b`bLbabb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bFbbbaa
5
-Bb`b`oa`abb`baaoa`acb`baboa`adb`bacoa`aeb`badoa`afb`baeoa`agb`bafoa`ahb`bagoa`aib`bahoa`ajb`baioa`akb`bajoa`alb`bakoa`amb`baloa`anb`bamoa`aob`banoa`b`ab`baooa`baab`bb`aoa`bbab`bbaaa`aa`b`bbbaa`baaabb`bbcaa`bbaacb`bbdaa`bcaadb`bbeaa`bdaaeb`bbfaa`beaafb`bbgaa`bfaagb`bbhaa`bgaahb`bbiaa`bhaaib`bbjaa`biaajb`bbkaa`bjaakb`bblaa`bkaalb`bbmaa`blaamb`bbnaa`bmaanb`bboaa`bnaaob`bb`ba`boab`aTcab`bb`bE
7
+Bb`b``b`abb`baa`b`acb`bab`b`adb`bac`b`aeb`bad`b`afb`bae`b`agb`baf`b`ahb`bag`b`aib`bah`b`ajb`bai`b`akb`baj`b`alb`bak`b`amb`bal`b`anb`bam`b`aob`ban`b`b`ab`bao`b`baab`bb`a`b`bbab`bbaaa`aa`b`bbbaa`baaabb`bbcaa`bbaacb`bbdaa`bcaadb`bbeaa`bdaaeb`bbfaa`beaafb`bbgaa`bfaagb`bbhaa`bgaahb`bbiaa`bhaaib`bbjaa`biaajb`bbkaa`bjaakb`bblaa`bkaalb`bbmaa`blaamb`bbnaa`bmaanb`bboaa`bnaaob`bb`ba`boab`aTcab`bb`bE
6 8
 A`b`bLb`cahaab`bahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bb`daab`bFbaebab
7
-Bah`oabbcaAaaAaaaaaadaah`AbaTaaaaabaa
8
-Bb`baboaabga@dTcab`bab
9
-BahacoabbcaAaaBooaaaaddaahac@aTaaadadac
10
-Bb`baeoaabga@dTcab`bae
11
-BahafoabbcaBooaBooaaaagdaahafBnoaTaaagafae
12
-Bb`bahoaabga@dTcab`bah
13
-BahaioabbcaBooaAaaaaajdaahai@aTaaajahag
14
-Bb`bakoaabga@dTcab`bak
15
-Bb`aaloabbdaAabAabaaamdab`aalAbbTaaamajai
16
-Bb`banoaabga@dTcab`ban
17
-Bb`aaooabbdaAabDoooobaab`adab`aao@bTaab`aalak
18
-Bb`bbaaoaabga@dTcab`bbaa
19
-Bb`abbaoabbdaDoooobDoooobaabcadab`abbaDnooobTaabcaanam
20
-Bb`bbdaoaabga@dTcab`bbda
21
-Bb`abeaoabbdaDoooobAabaabfadab`abea@bTaabfab`aao
22
-Bb`bbgaoaabga@dTcab`bbga
23
-Bb`bbhaoabbeaAadAadaabiadab`bbhaAbdTaabiabbabaa
24
-Bb`bbjaoaabga@dTcab`bbja
25
-Bb`bbkaoabbeaAadHoooooooodaabladab`bbka@dTaablabdabca
26
-Bb`bbmaoaabga@dTcab`bbma
27
-Bb`bbnaoabbeaHoooooooodHoooooooodaaboadab`bbnaHnooooooodTaaboabfabea
28
-Bb`bb`boaabga@dTcab`bb`b
29
-Bb`bbaboabbeaHoooooooodAadaabbbdab`bbab@dTaabbbbhabga
30
-Bb`bbcboaabga@dTcab`bbcb
31
-Bb`dbdboabbfaAahAahaabebdab`dbdbAbhTaabebbjabia
32
-Bb`bbfboaabga@dTcab`bbfb
33
-Bb`dbgboabbfaAahPoooooooooooooooohaabhbdab`dbgb@hTaabhbblabka
34
-Bb`bbiboaabga@dTcab`bbib
35
-Bb`dbjboabbfaPoooooooooooooooohPoooooooooooooooohaabkbdab`dbjbPnooooooooooooooohTaabkbbnabma
36
-Bb`bblboaabga@dTcab`bblb
37
-Bb`dbmboabbfaPoooooooooooooooohAahaabnbdab`dbmb@hTaabnbb`bboa
38
-Bb`bboboaabga@dTcab`bbob
9
+Bah``bbbcaAaaAaaaaaaeaah`AbaTaaaaabaa
10
+Bb`bab`babga@dTcab`bab
11
+Bahac`bbbcaAaaBooaaaadeaahac@aTaaadadac
12
+Bb`bae`babga@dTcab`bae
13
+Bahaf`bbbcaBooaBooaaaageaahafBnoaTaaagafae
14
+Bb`bah`babga@dTcab`bah
15
+Bahai`bbbcaBooaAaaaaajeaahai@aTaaajahag
16
+Bb`bak`babga@dTcab`bak
17
+Bb`aal`bbbdaAabAabaaameab`aalAbbTaaamajai
18
+Bb`ban`babga@dTcab`ban
19
+Bb`aao`bbbdaAabDoooobaab`aeab`aao@bTaab`aalak
20
+Bb`bbaa`babga@dTcab`bbaa
21
+Bb`abba`bbbdaDoooobDoooobaabcaeab`abbaDnooobTaabcaanam
22
+Bb`bbda`babga@dTcab`bbda
23
+Bb`abea`bbbdaDoooobAabaabfaeab`abea@bTaabfab`aao
24
+Bb`bbga`babga@dTcab`bbga
25
+Bb`bbha`bbbeaAadAadaabiaeab`bbhaAbdTaabiabbabaa
26
+Bb`bbja`babga@dTcab`bbja
27
+Bb`bbka`bbbeaAadHoooooooodaablaeab`bbka@dTaablabdabca
28
+Bb`bbma`babga@dTcab`bbma
29
+Bb`bbna`bbbeaHoooooooodHoooooooodaaboaeab`bbnaHnooooooodTaaboabfabea
30
+Bb`bb`b`babga@dTcab`bb`b
31
+Bb`bbab`bbbeaHoooooooodAadaabbbeab`bbab@dTaabbbbhabga
32
+Bb`bbcb`babga@dTcab`bbcb
33
+Bb`dbdb`bbbfaAahAahaabebeab`dbdbAbhTaabebbjabia
34
+Bb`bbfb`babga@dTcab`bbfb
35
+Bb`dbgb`bbbfaAahPoooooooooooooooohaabhbeab`dbgb@hTaabhbblabka
36
+Bb`bbib`babga@dTcab`bbib
37
+Bb`dbjb`bbbfaPoooooooooooooooohPoooooooooooooooohaabkbeab`dbjbPnooooooooooooooohTaabkbbnabma
38
+Bb`bblb`babga@dTcab`bblb
39
+Bb`dbmb`bbbfaPoooooooooooooooohAahaabnbeab`dbmb@hTaabnbb`bboa
40
+Bb`bbob`babga@dTcab`bbob
39 41
 BTcab`bAadE
40 42
 A`b`bLbdbahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bFbmcbia
41
-Bah`oabbhaBooaAaaaaaadaah`BnoaTaaaaabaa
42
-Bb`baboaabga@dTcab`bab
43
-BahacoabbhaAaaBooaaaaddaahacAbaTaaadadac
44
-Bb`baeoaabga@dTcab`bae
45
-BahafoabbhaAaaAaaaaagdaahaf@aTaaagafae
46
-Bb`bahoaabga@dTcab`bah
47
-Bb`aaioabbiaDoooobAabaaajdab`aaiDnooobTaaajahag
48
-Bb`bakoaabga@dTcab`bak
49
-Bb`aaloabbiaAabDoooobaaamdab`aalAbbTaaamajai
50
-Bb`banoaabga@dTcab`ban
51
-Bb`aaooabbiaAabAabaab`adab`aao@bTaab`aalak
52
-Bb`bbaaoaabga@dTcab`bbaa
53
-Bb`bbbaoabbjaHoooooooodAadaabcadab`bbbaHnooooooodTaabcaanam
54
-Bb`bbdaoaabga@dTcab`bbda
55
-Bb`bbeaoabbjaAadHoooooooodaabfadab`bbeaAbdTaabfab`aao
56
-Bb`bbgaoaabga@dTcab`bbga
57
-Bb`bbhaoabbjaAadAadaabiadab`bbha@dTaabiabbabaa
58
-Bb`bbjaoaabga@dTcab`bbja
59
-Bb`dbkaoabbkaPoooooooooooooooohAahaabladab`dbkaPnooooooooooooooohTaablabdabca
60
-Bb`bbmaoaabga@dTcab`bbma
61
-Bb`dbnaoabbkaAahPoooooooooooooooohaaboadab`dbnaAbhTaaboabfabea
62
-Bb`bb`boaabga@dTcab`bb`b
63
-Bb`dbaboabbkaAahAahaabbbdab`dbab@hTaabbbbhabga
64
-Bb`bbcboaabga@dTcab`bbcb
43
+Bah``bbbhaBooaAaaaaaaeaah`BnoaTaaaaabaa
44
+Bb`bab`babga@dTcab`bab
45
+Bahac`bbbhaAaaBooaaaadeaahacAbaTaaadadac
46
+Bb`bae`babga@dTcab`bae
47
+Bahaf`bbbhaAaaAaaaaageaahaf@aTaaagafae
48
+Bb`bah`babga@dTcab`bah
49
+Bb`aai`bbbiaDoooobAabaaajeab`aaiDnooobTaaajahag
50
+Bb`bak`babga@dTcab`bak
51
+Bb`aal`bbbiaAabDoooobaaameab`aalAbbTaaamajai
52
+Bb`ban`babga@dTcab`ban
53
+Bb`aao`bbbiaAabAabaab`aeab`aao@bTaab`aalak
54
+Bb`bbaa`babga@dTcab`bbaa
55
+Bb`bbba`bbbjaHoooooooodAadaabcaeab`bbbaHnooooooodTaabcaanam
56
+Bb`bbda`babga@dTcab`bbda
57
+Bb`bbea`bbbjaAadHoooooooodaabfaeab`bbeaAbdTaabfab`aao
58
+Bb`bbga`babga@dTcab`bbga
59
+Bb`bbha`bbbjaAadAadaabiaeab`bbha@dTaabiabbabaa
60
+Bb`bbja`babga@dTcab`bbja
61
+Bb`dbka`bbbkaPoooooooooooooooohAahaablaeab`dbkaPnooooooooooooooohTaablabdabca
62
+Bb`bbma`babga@dTcab`bbma
63
+Bb`dbna`bbbkaAahPoooooooooooooooohaaboaeab`dbnaAbhTaaboabfabea
64
+Bb`bb`b`babga@dTcab`bb`b
65
+Bb`dbab`bbbkaAahAahaabbbeab`dbab@hTaabbbbhabga
66
+Bb`bbcb`babga@dTcab`bbcb
65 67
 BTcab`bAddE
66 68
 A`b`bLb`cahaab`bahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bb`daab`bFbaebab
67
-Bah`oabblaBooaAaaaaaadaah`BooaTaaaaabaa
68
-Bb`baboaabga@dTcab`bab
69
-BahacoabblaBooaBooaaaaddaahacAaaTaaadadac
70
-Bb`baeoaabga@dTcab`bae
71
-BahafoabblaAaaAaaaaagdaahafAaaTaaagafae
72
-Bb`bahoaabga@dTcab`bah
73
-BahaioabblaBaaaBcbaaaajdaahaiBceaTaaajahag
74
-Bb`bakoaabga@dTcab`bak
75
-Bb`aaloabbmaDoooobAabaaamdab`aalDoooobTaaamajai
76
-Bb`banoaabga@dTcab`ban
77
-Bb`aaooabbmaDoooobDoooobaab`adab`aaoAabTaab`aalak
78
-Bb`bbaaoaabga@dTcab`bbaa
79
-Bb`abbaoabbmaAabAabaabcadab`abbaAabTaabcaanam
80
-Bb`bbdaoaabga@dTcab`bbda
81
-Bb`abeaoabbmaBckbCgfcbaabfadab`abeaDe`afbTaabfab`aao
82
-Bb`bbgaoaabga@dTcab`bbga
83
-Bb`bbhaoabbnaHoooooooodAadaabiadab`bbhaHoooooooodTaabiabbabaa
84
-Bb`bbjaoaabga@dTcab`bbja
85
-Bb`bbkaoabbnaHoooooooodHoooooooodaabladab`bbkaAadTaablabdabca
86
-Bb`bbmaoaabga@dTcab`bbma
87
-Bb`bbnaoabbnaAadAadaaboadab`bbnaAadTaaboabfabea
88
-Bb`bb`boaabga@dTcab`bb`b
89
-Bb`bbaboabbnaE`emkbdEhnmdmdaabbbdab`bbabH`h`jlgbgdTaabbbbhabga
90
-Bb`bbcboaabga@dTcab`bbcb
91
-Bb`dbdboabboaPoooooooooooooooohAahaabebdab`dbdbPoooooooooooooooohTaabebbjabia
92
-Bb`bbfboaabga@dTcab`bbfb
93
-Bb`dbgboabboaPoooooooooooooooohPoooooooooooooooohaabhbdab`dbgbAahTaabhbblabka
94
-Bb`bbiboaabga@dTcab`bbib
95
-Bb`dbjboabboaAahAahaabkbdab`dbjbAahTaabkbbnabma
96
-Bb`bblboaabga@dTcab`bblb
97
-Bb`dbmboabboaImaghnanbdhIogjdckg`bhaabnbdab`dbmbPcfifjghokjjemflghTaabnbb`bboa
98
-Bb`bboboaabga@dTcab`bbob
69
+Bah``bbblaBooaAaaaaaaeaah`BooaTaaaaabaa
70
+Bb`bab`babga@dTcab`bab
71
+Bahac`bbblaBooaBooaaaadeaahacAaaTaaadadac
72
+Bb`bae`babga@dTcab`bae
73
+Bahaf`bbblaAaaAaaaaageaahafAaaTaaagafae
74
+Bb`bah`babga@dTcab`bah
75
+Bahai`bbblaBaaaBcbaaaajeaahaiBceaTaaajahag
76
+Bb`bak`babga@dTcab`bak
77
+Bb`aal`bbbmaDoooobAabaaameab`aalDoooobTaaamajai
78
+Bb`ban`babga@dTcab`ban
79
+Bb`aao`bbbmaDoooobDoooobaab`aeab`aaoAabTaab`aalak
80
+Bb`bbaa`babga@dTcab`bbaa
81
+Bb`abba`bbbmaAabAabaabcaeab`abbaAabTaabcaanam
82
+Bb`bbda`babga@dTcab`bbda
83
+Bb`abea`bbbmaBckbCgfcbaabfaeab`abeaDe`afbTaabfab`aao
84
+Bb`bbga`babga@dTcab`bbga
85
+Bb`bbha`bbbnaHoooooooodAadaabiaeab`bbhaHoooooooodTaabiabbabaa
86
+Bb`bbja`babga@dTcab`bbja
87
+Bb`bbka`bbbnaHoooooooodHoooooooodaablaeab`bbkaAadTaablabdabca
88
+Bb`bbma`babga@dTcab`bbma
89
+Bb`bbna`bbbnaAadAadaaboaeab`bbnaAadTaaboabfabea
90
+Bb`bb`b`babga@dTcab`bb`b
91
+Bb`bbab`bbbnaE`emkbdEhnmdmdaabbbeab`bbabH`h`jlgbgdTaabbbbhabga
92
+Bb`bbcb`babga@dTcab`bbcb
93
+Bb`dbdb`bbboaPoooooooooooooooohAahaabebeab`dbdbPoooooooooooooooohTaabebbjabia
94
+Bb`bbfb`babga@dTcab`bbfb
95
+Bb`dbgb`bbboaPoooooooooooooooohPoooooooooooooooohaabhbeab`dbgbAahTaabhbblabka
96
+Bb`bbib`babga@dTcab`bbib
97
+Bb`dbjb`bbboaAahAahaabkbeab`dbjbAahTaabkbbnabma
98
+Bb`bblb`babga@dTcab`bblb
99
+Bb`dbmb`bbboaImaghnanbdhIogjdckg`bhaabnbeab`dbmbPcfifjghokjjemflghTaabnbb`bboa
100
+Bb`bbob`babga@dTcab`bbob
99 101
 BTcab`bB`adE
100 102
 A`b`bLacb`aaab`bFafac
101
-Bb`a`oabbabDjnmobAgbaaaadab`a`DfddbbTaaaaabaa
102
-Bb`baboaabga@dTcab`bab
103
+Bb`a``bbbabDjnmobAgbaaaaeab`a`DfddbbTaaaaabaa
104
+Bb`bab`babga@dTcab`bab
103 105
 BTcab`bB`ddE
104 106
 A`b`bLbfaahaab`bahaab`bahaab`bahaab`bahahaab`bahaab`bb`aaab`bFbebao
105
-Bah`oabbdbAaaBooaaaaadaah`BooaTaaaaabaa
106
-Bb`baboaabga@dTcab`bab
107
-BahacoabbdbBooaAaaaaaddaahacBooaTaaadadac
108
-Bb`baeoaabga@dTcab`bae
109
-BahafoabbdbBooaBooaaaagdaahafAaaTaaagafae
110
-Bb`bahoaabga@dTcab`bah
111
-BahaioabbdbAaaAaaaaajdaahaiAaaTaaajahag
112
-Bb`bakoaabga@dTcab`bak
113
-BahaloabbcaBnoaAeaahamoabbdbAfaalaaandaahamAbaTaaanajai
114
-Bb`baooaabga@dTcab`bao
115
-Bahb`aoabbdbalAbaaabaadaahb`aAaaTaabaaalak
116
-Bb`bbbaoaabga@dTcab`bbba
117
-Bb`abcaoabbebDjnmobAgbaabdadab`abcaDdkoobTaabdaanam
118
-Bb`bbeaoaabga@dTcab`bbea
107
+Bah``bbbdbAaaBooaaaaaeaah`BooaTaaaaabaa
108
+Bb`bab`babga@dTcab`bab
109
+Bahac`bbbdbBooaAaaaaadeaahacBooaTaaadadac
110
+Bb`bae`babga@dTcab`bae
111
+Bahaf`bbbdbBooaBooaaaageaahafAaaTaaagafae
112
+Bb`bah`babga@dTcab`bah
113
+Bahai`bbbdbAaaAaaaaajeaahaiAaaTaaajahag
114
+Bb`bak`babga@dTcab`bak
115
+Bahal`bbbcaBnoaAeaaham`bbbdbAfaalaaaneaahamAbaTaaanajai
116
+Bb`bao`babga@dTcab`bao
117
+Bahb`a`bbbdbalAbaaabaaeaahb`aAaaTaabaaalak
118
+Bb`bbba`babga@dTcab`bbba
119
+Bb`abca`bbbebDjnmobAgbaabdaeab`abcaDdkoobTaabdaanam
120
+Bb`bbea`babga@dTcab`bbea
119 121
 BTcab`bC``adE
120 122
 A`b`bLaoahaab`bahaab`bahaab`bb`aaab`bb`aaab`bFbjaak
121
-Bah`oabblbBooaAaaaaaadaah`@aTaaaaabaa
122
-Bb`baboaabga@dTcab`bab
123
-BahacoabbhbBooaAaaaaaddaahac@aTaaadadac
124
-Bb`baeoaabga@dTcab`bae
125
-BahafoabblbAaaBooaaaagdaahaf@aTaaagafae
126
-Bb`bahoaabga@dTcab`bah
127
-Bb`aaioabbmbDinmobAgbaaajdab`aaiDmooobTaaajahag
128
-Bb`bakoaabga@dTcab`bak
129
-Bb`aaloabbibDinmobAgbaaamdab`aalAfbTaaamajai
130
-Bb`banoaabga@dTcab`ban
123
+Bah``bbblbBooaAaaaaaaeaah`@aTaaaaabaa
124
+Bb`bab`babga@dTcab`bab
125
+Bahac`bbbhbBooaAaaaaadeaahac@aTaaadadac
126
+Bb`bae`babga@dTcab`bae
127
+Bahaf`bbblbAaaBooaaaageaahaf@aTaaagafae
128
+Bb`bah`babga@dTcab`bah
129
+Bb`aai`bbbmbDinmobAgbaaajeab`aaiDmooobTaaajahag
130
+Bb`bak`babga@dTcab`bak
131
+Bb`aal`bbbibDinmobAgbaaameab`aalAfbTaaamajai
132
+Bb`ban`babga@dTcab`ban
131 133
 BTcab`bC``ddE
132 134
 A`b`bLalahaab`bahaab`bahaab`bb`aaab`bFbeaai
133
-Bah`oabb`cAaaAadaaaadaah`AbaTaaaaabaa
134
-Bb`baboaabga@dTcab`bab
135
-Bahacoabb`cAaa@daaaddaahacAaaTaaadadac
136
-Bb`baeoaabga@dTcab`bae
137
-Bahafoabb`cBnoaAbdaaagdaahafBhoaTaaagafae
138
-Bb`bahoaabga@dTcab`bah
139
-Bb`aaioabbacDnojobAbdaaajdab`aaiDhoknbTaaajahag
140
-Bb`bakoaabga@dTcab`bak
135
+Bah``bbb`cAaaAadaaaaeaah`AbaTaaaaabaa
136
+Bb`bab`babga@dTcab`bab
137
+Bahac`bbb`cAaa@daaadeaahacAaaTaaadadac
138
+Bb`bae`babga@dTcab`bae
139
+Bahaf`bbb`cBnoaAbdaaageaahafBhoaTaaagafae
140
+Bb`bah`babga@dTcab`bah
141
+Bb`aai`bbbacDnojobAbdaaajeab`aaiDhoknbTaaajahag
142
+Bb`bak`babga@dTcab`bak
141 143
 BTcab`bD```adE
142 144
 A`b`bLagahaab`bahahaab`bFalae
143
-Bah`oabbdcBnoaAadaaaadaah`BogaTaaaaabaa
144
-Bb`baboaabga@dTcab`bab
145
-BahacoabbcaBnoaAeaahadoabbdcacAadaaaedaahadAaaTaaaeadac
146
-Bb`bafoaabga@dTcab`baf
145
+Bah``bbbdcBnoaAadaaaaeaah`BogaTaaaaabaa
146
+Bb`bab`babga@dTcab`bab
147
+Bahac`bbbcaBnoaAeaahad`bbbdcacAadaaaeeaahadAaaTaaaeadac
148
+Bb`baf`babga@dTcab`baf
147 149
 BTcab`bD```ddE
148 150
 A`b`bLafahaab`bahaab`bFakae
149
-Bah`oabbhcBnoaAaaaaaadaah`BooaTaaaaabaa
150
-Bb`baboaabga@dTcab`bab
151
-BahacoabbhcBngaAaaaaaddaahacBocaTaaadadac
152
-Bb`baeoaabga@dTcab`bae
151
+Bah``bbbhcBnoaAaaaaaaeaah`BooaTaaaaabaa
152
+Bb`bab`babga@dTcab`bab
153
+Bahac`bbbhcBngaAaaaaadeaahacBocaTaaadadac
154
+Bb`bae`babga@dTcab`bae
153 155
 BTcab`bE````adE
154 156
 A`b`bLalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
155
-Bah`oabblcBjeaAoaaaaadaah`AjaTaaaaabaa
156
-Bb`baboaabga@dTcab`bab
157
-Bb`aacoabbmcDlkjebD```obaaaddab`aacD```ebTaaadadac
158
-Bb`baeoaabga@dTcab`bae
159
-Bb`bafoabbncHdcbalkjedG``````odaaagdab`bafG``````jdTaaagafae
160
-Bb`bahoaabga@dTcab`bah
161
-Bb`daioabbocPdcbahgfedcbalkjehG``````ohaaajdab`daiG``````fhTaaajahag
162
-Bb`bakoaabga@dTcab`bak
157
+Bah``bbblcBjeaAoaaaaaeaah`AjaTaaaaabaa
158
+Bb`bab`babga@dTcab`bab
159
+Bb`aac`bbbmcDlkjebD```obaaadeab`aacD```ebTaaadadac
160
+Bb`bae`babga@dTcab`bae
161
+Bb`baf`bbbncHdcbalkjedG``````odaaageab`bafG``````jdTaaagafae
162
+Bb`bah`babga@dTcab`bah
163
+Bb`dai`bbbocPdcbahgfedcbalkjehG``````ohaaajeab`daiG``````fhTaaajahag
164
+Bb`bak`babga@dTcab`bak
163 165
 BTcab`bE````ddE
164 166
 A`b`bLalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
165
-Bah`oabb`dBjeaAoaaaaadaah`BoeaTaaaaabaa
166
-Bb`baboaabga@dTcab`bab
167
-Bb`aacoabbadDlkjebD```obaaaddab`aacDlkjobTaaadadac
168
-Bb`baeoaabga@dTcab`bae
169
-Bb`bafoabbbdHdcbalkjedG``````odaaagdab`bafHdcbalkoedTaaagafae
170
-Bb`bahoaabga@dTcab`bah
171
-Bb`daioabbcdPdcbahgfedcbalkjehG``````ohaaajdab`daiPdcbahgoedcbalkjehTaaajahag
172
-Bb`bakoaabga@dTcab`bak
167
+Bah``bbb`dBjeaAoaaaaaeaah`BoeaTaaaaabaa
168
+Bb`bab`babga@dTcab`bab
169
+Bb`aac`bbbadDlkjebD```obaaadeab`aacDlkjobTaaadadac
170
+Bb`bae`babga@dTcab`bae
171
+Bb`baf`bbbbdHdcbalkjedG``````odaaageab`bafHdcbalkoedTaaagafae
172
+Bb`bah`babga@dTcab`bah
173
+Bb`dai`bbbcdPdcbahgfedcbalkjehG``````ohaaajeab`daiPdcbahgoedcbalkjehTaaajahag
174
+Bb`bak`babga@dTcab`bak
173 175
 BTcab`bF`````adE
174 176
 A`b`bLalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
175
-Bah`oabbddBjeaB`oaaaaadaah`BjjaTaaaaabaa
176
-Bb`baboaabga@dTcab`bab
177
-Bb`aacoabbedDjejebD``oobaaaddab`aacDjeejbTaaadadac
178
-Bb`baeoaabga@dTcab`bae
179
-Bb`bafoabbfdHjejejejedH``oooooodaaagdab`bafHjeejejejdTaaagafae
180
-Bb`bahoaabga@dTcab`bah
181
-Bb`daioabbgdPjejejejejejejejehP``oooooooooooooohaaajdab`daiPjeejejejejejejejhTaaajahag
182
-Bb`bakoaabga@dTcab`bak
177
+Bah``bbbddBjeaB`oaaaaaeaah`BjjaTaaaaabaa
178
+Bb`bab`babga@dTcab`bab
179
+Bb`aac`bbbedDjejebD``oobaaadeab`aacDjeejbTaaadadac
180
+Bb`bae`babga@dTcab`bae
181
+Bb`baf`bbbfdHjejejejedH``oooooodaaageab`bafHjeejejejdTaaagafae
182
+Bb`bah`babga@dTcab`bah
183
+Bb`dai`bbbgdPjejejejejejejejehP``oooooooooooooohaaajeab`daiPjeejejejejejejejhTaaajahag
184
+Bb`bak`babga@dTcab`bak
183 185
 BTcab`bF`````ddE
184 186
 A`b`bLaib`aaab`bb`baab`bb`daab`bFb`aag
185
-Bb`a`oaabhdBloaaaaadab`a`DlooobTaaaaabaa
186
-Bb`baboaabga@dTcab`bab
187
-Bb`bacoaabidDjooobaaaddab`bacHjooooooodTaaadadac
188
-Bb`baeoaabga@dTcab`bae
189
-Bb`dafoaabjdHjooooooodaaagdab`dafPjooooooooooooooohTaaagafae
190
-Bb`bahoaabga@dTcab`bah
187
+Bb`a``babhdBloaaaaaeab`a`DlooobTaaaaabaa
188
+Bb`bab`babga@dTcab`bab
189
+Bb`bac`babidDjooobaaadeab`bacHjooooooodTaaadadac
190
+Bb`bae`babga@dTcab`bae
191
+Bb`daf`babjdHjooooooodaaageab`dafPjooooooooooooooohTaaagafae
192
+Bb`bah`babga@dTcab`bah
191 193
 BTcab`bG``````adE
192 194
 A`b`bLaib`aaab`bb`baab`bb`daab`bFb`aag
193
-Bb`a`oaabkdBloaaaaadab`a`BlobTaaaaabaa
194
-Bb`baboaabga@dTcab`bab
195
-Bb`bacoaabldDlooobaaaddab`bacDlooodTaaadadac
196
-Bb`baeoaabga@dTcab`bae
197
-Bb`dafoaabmdHlooooooodaaagdab`dafHlooooooohTaaagafae
198
-Bb`bahoaabga@dTcab`bah
195
+Bb`a``babkdBloaaaaaeab`a`BlobTaaaaabaa
196
+Bb`bab`babga@dTcab`bab
197
+Bb`bac`babldDlooobaaadeab`bacDlooodTaaadadac
198
+Bb`bae`babga@dTcab`bae
199
+Bb`daf`babmdHlooooooodaaageab`dafHlooooooohTaaagafae
200
+Bb`bah`babga@dTcab`bah
199 201
 BTcab`bG``````ddE
200 202
 A`b`bLaiahaab`bb`aaab`bb`baab`bFb`aag
201
-Bah`oaabndDmnnobaaaadaah`BmnaTaaaaabaa
202
-Bb`baboaabga@dTcab`bab
203
-Bb`aacoaabodHmnnomjnmdaaaddab`aacDmnnobTaaadadac
204
-Bb`baeoaabga@dTcab`bae
205
-Bb`bafoaab`ePonnkmnnomjnmonnkhaaagdab`bafHonnkmnnodTaaagafae
206
-Bb`bahoaabga@dTcab`bah
203
+Bah``babndDmnnobaaaaeaah`BmnaTaaaaabaa
204
+Bb`bab`babga@dTcab`bab
205
+Bb`aac`babodHmnnomjnmdaaadeab`aacDmnnobTaaadadac
206
+Bb`bae`babga@dTcab`bae
207
+Bb`baf`bab`ePonnkmnnomjnmonnkhaaageab`bafHonnkmnnodTaaagafae
208
+Bb`bah`babga@dTcab`bah
207 209
 BTcab`bH```````adE
208 210
 A`b`bLaob`baab`bb`baab`bb`baab`bb`baab`bb`baab`bFbjaak
209
-Bb`b`oadbaeHoooooooodAbd@dAddaaaadab`b`CijbdTaaaaabaa
210
-Bb`baboaabga@dTcab`bab
211
-Bb`bacoadbaeHoooooooodHoooooooodAadHoooooooodaaaddab`bacCbbcdTaaadadac
212
-Bb`baeoaabga@dTcab`bae
213
-Bb`bafoadbaeHooooooood@dAcdHnooooooodaaagdab`bafCcjbdTaaagafae
214
-Bb`bahoaabga@dTcab`bah
215
-Bb`baioadbaeHooooooood@dAcd@daaajdab`baiCcnbdTaaajahag
216
-Bb`bakoaabga@dTcab`bak
217
-Bb`baloadbaeHooooooood@d@dHoooooooodaaamdab`balBkbdTaaamajai
218
-Bb`banoaabga@dTcab`ban
211
+Bb`b``bdbaeHoooooooodAbd@dAddaaaaeab`b`CijbdTaaaaabaa
212
+Bb`bab`babga@dTcab`bab
213
+Bb`bac`bdbaeHoooooooodHoooooooodAadHoooooooodaaadeab`bacCbbcdTaaadadac
214
+Bb`bae`babga@dTcab`bae
215
+Bb`baf`bdbaeHooooooood@dAcdHnooooooodaaageab`bafCcjbdTaaagafae
216
+Bb`bah`babga@dTcab`bah
217
+Bb`bai`bdbaeHooooooood@dAcd@daaajeab`baiCcnbdTaaajahag
218
+Bb`bak`babga@dTcab`bak
219
+Bb`bal`bdbaeHooooooood@d@dHoooooooodaaameab`balBkbdTaaamajai
220
+Bb`ban`babga@dTcab`ban
219 221
 BTcab`bH```````ddE
220 222
 A`b`bLafb`baab`bb`baab`bFakae
221
-Bb`b`oacbbeAddAedAfdaaaadab`b`AedTaaaaabaa
222
-Bb`baboaabga@dTcab`bab
223
-Bb`bacoacbbe@dAedAfdaaaddab`bacAfdTaaadadac
224
-Bb`baeoaabga@dTcab`bae
223
+Bb`b``bcbbeAddAedAfdaaaaeab`b`AedTaaaaabaa
224
+Bb`bab`babga@dTcab`bab
225
+Bb`bac`bcbbe@dAedAfdaaadeab`bacAfdTaaadadac
226
+Bb`bae`babga@dTcab`bae
225 227
 BTcab`bH```````hdE
226 228
 AbahLaaahahahFabaa
227 229
 Bahaba`aa`TcaahabE
... ...
@@ -348,6 +350,6 @@ Bb`aaan``Tcab`aaaE
348 348
 Aab`bLaab`db`bFabaa
349 349
 Bb`baan``Tcab`baaE
350 350
 Adb`bLbmab`bb`bb`bb`baab`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`bFbnaaa
351
-Baaadmab`b`aab`bae`aadaaafjab`baaabb`bagl`aeAbdb`bahnaafaeagaaaijab`b`aab`bajl`ahAddb`baknaaiajahaaalmab`baaabb`baml`akAhdb`bannaalakamaaaohab`b`acb`bb`al`anB`adb`bbaanaaob`aanaabbafab`baaacb`bbcal`baaB`bdb`bbdanabbabaabcaaabeahab`babacb`bbfal`bdaB`ddb`bbganabeabdabfaaabhafab`b`acb`bbial`bgaB`hdb`bbjanabhabiabgaaabkadab`b`aab`bblal`bjaC``adb`bbmanabkablabjaaabnadab`baaabb`bboal`bmaC``bdb`bb`bnabnabmaboaTcab`bb`bE
351
+Baaadnab`b`aab`bae`aadaaafkab`baaabb`bagl`aeAbdb`bahoaafaeagaaaikab`b`aab`bajl`ahAddb`bakoaaiajahaaalnab`baaabb`baml`akAhdb`banoaalakamaaaoiab`b`acb`bb`al`anB`adb`bbaaoaaob`aanaabbagab`baaacb`bbcal`baaB`bdb`bbdaoabbabaabcaaabeaiab`babacb`bbfal`bdaB`ddb`bbgaoabeabdabfaaabhagab`b`acb`bbial`bgaB`hdb`bbjaoabhabiabgaaabkaeab`b`aab`bblal`bjaC``adb`bbmaoabkablabjaaabnaeab`baaabb`bboal`bmaC``bdb`bb`boabnabmaboaTcab`bb`bE
352 352
 Acb`bLabb`bb`bb`baab`bFacaa
353
-Baaaceab`b`@db`badnaacaaabTcab`badE
353
+Baaacfab`b`@db`badoaacaaabTcab`badE
... ...
@@ -1,7 +1,9 @@
1 1
 ClamBCaa`|`````|`aeabp`clamcoincidencejb
2
+L
2 3
 Ted
3 4
 E``
5
+G`
4 6
 A`b`bLaab`bFabaa
5
-Bb`b`oaaab@dTcab`b`E
7
+Bb`b``baab@dTcab`b`E
6 8
 Aab`bLaab`bb`bFabaa
7 9
 Bb`baae`Aad`Tcab`baaE
8 10
new file mode 100644
... ...
@@ -0,0 +1,7 @@
0
+ClamBCaa`|`````|`aoaap`clamcoincidencejb
1
+L;Target:0;((0|1|2)=42,2);aabb;ffffffff;aaccee;f00d
2
+Tedebndebmdebldebkdebadebcddadb`bdagahdaiahdaeah
3
+E``
4
+GalbndBafBafBbfBbf@`bmdBffBffBffBffBffBffBffBff@`bndBffB`cB`cBdf@`bldBafBafBcfBcfBefBef@`bad@@`bad@Aa`bad@Ab`bad@Ac`bcdAcD```h`bcdAbD```h`bcd@D```h`bcdAaD```h`
5
+A`b`bLacb`baab`bFadaa
6
+Bb`b`gbAh`aaaaeab`b`Abdb`bab`aaaTcab`babE
... ...
@@ -1,5 +1,7 @@
1 1
 ClamBCaa`|`````|`aeaap`clamcoincidencejb
2
+L
2 3
 Ted
3 4
 E``
5
+G`
4 6
 A`b`bL`Faaaa
5 7
 BTcab`bHm``odcbadE