summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/aux-fixed/0001.trusted2
-rw-r--r--test/aux-fixed/0002.alias12
-rw-r--r--test/aux-fixed/0002.alias22
-rw-r--r--test/aux-fixed/0002.aliases1
-rw-r--r--test/aux-fixed/0002.domains4
-rw-r--r--test/aux-fixed/0002.iplsearch5
-rw-r--r--test/aux-fixed/0002.lsearch2
-rw-r--r--test/aux-fixed/0002.matchip2
-rw-r--r--test/aux-fixed/0002.quoted9
-rw-r--r--test/aux-fixed/0002.readfile4
-rw-r--r--test/aux-fixed/0002.rec5
-rwxr-xr-xtest/aux-fixed/0002.runfile7
-rw-r--r--test/aux-fixed/0002.starat3
-rw-r--r--test/aux-fixed/0003.rej.bydomain2
-rw-r--r--test/aux-fixed/0003.rej.lsearch6
-rw-r--r--test/aux-fixed/0006-aliases2
-rw-r--r--test/aux-fixed/0014.usernames2
-rw-r--r--test/aux-fixed/0015.filter.userx12
-rw-r--r--test/aux-fixed/0015.realnames1
-rw-r--r--test/aux-fixed/0016.filter.userx11
-rw-r--r--test/aux-fixed/0023.acl12
-rw-r--r--test/aux-fixed/0023.doms1
-rw-r--r--test/aux-fixed/0033.list1
-rw-r--r--test/aux-fixed/0037.f-180
-rw-r--r--test/aux-fixed/0037.f-25
-rw-r--r--test/aux-fixed/0037.f-35
-rw-r--r--test/aux-fixed/0037.f-413
-rw-r--r--test/aux-fixed/0037.f-57
-rw-r--r--test/aux-fixed/0037.f-611
-rw-r--r--test/aux-fixed/0037.msg5
-rw-r--r--test/aux-fixed/0041.aliases2
-rw-r--r--test/aux-fixed/0043.aliases2
-rw-r--r--test/aux-fixed/0046.filter.userx4
-rw-r--r--test/aux-fixed/0047.routes5
-rw-r--r--test/aux-fixed/0051.domains5
-rw-r--r--test/aux-fixed/0051.notdomains2
-rw-r--r--test/aux-fixed/0053.aliases1
-rw-r--r--test/aux-fixed/0057.d11
-rw-r--r--test/aux-fixed/0057.d21
-rw-r--r--test/aux-fixed/0064.hosts3
-rw-r--r--test/aux-fixed/0065.nets5
-rw-r--r--test/aux-fixed/0066.nets5
-rw-r--r--test/aux-fixed/0066.nothosts2
-rw-r--r--test/aux-fixed/0067.not11
-rw-r--r--test/aux-fixed/0067.not21
-rw-r--r--test/aux-fixed/0067.rej.bydomain3
-rw-r--r--test/aux-fixed/0067.rej.lsearch3
-rw-r--r--test/aux-fixed/0067.rejrec9
-rw-r--r--test/aux-fixed/0079.aliases1
-rw-r--r--test/aux-fixed/0080.aliases1
-rw-r--r--test/aux-fixed/0084.yes1
-rw-r--r--test/aux-fixed/0085.data3
-rw-r--r--test/aux-fixed/0093.f-320
-rw-r--r--test/aux-fixed/0093.lsearch1
-rw-r--r--test/aux-fixed/0098.aliases1
-rw-r--r--test/aux-fixed/0098.forward7
-rw-r--r--test/aux-fixed/0098.wmf10
-rw-r--r--test/aux-fixed/0099.rlist2
-rw-r--r--test/aux-fixed/0099.rlist21
-rw-r--r--test/aux-fixed/0105.list2
-rw-r--r--test/aux-fixed/0107.filelist12
-rw-r--r--test/aux-fixed/0110.alias2
-rw-r--r--test/aux-fixed/0111.alias1
-rw-r--r--test/aux-fixed/0111.forward1
-rw-r--r--test/aux-fixed/0113.alias1
-rw-r--r--test/aux-fixed/0113.forward1
-rw-r--r--test/aux-fixed/0116.alias2
-rw-r--r--test/aux-fixed/0122.filter3
-rw-r--r--test/aux-fixed/0123.aliases10
-rw-r--r--test/aux-fixed/0123.aliases20
-rw-r--r--test/aux-fixed/0123.aliases30
-rw-r--r--test/aux-fixed/0123.aliases40
-rw-r--r--test/aux-fixed/0123.aliases50
-rw-r--r--test/aux-fixed/0123.aliases60
-rw-r--r--test/aux-fixed/0129.domains2
-rw-r--r--test/aux-fixed/0131.userx3
-rw-r--r--test/aux-fixed/0134.listD2
-rw-r--r--test/aux-fixed/0134.listR3
-rw-r--r--test/aux-fixed/0136.filter5
-rw-r--r--test/aux-fixed/0138.aliases1
-rw-r--r--test/aux-fixed/0139.aliases2
-rw-r--r--test/aux-fixed/0153.alias.exists1
-rw-r--r--test/aux-fixed/0153.list.yes1
-rw-r--r--test/aux-fixed/0156.alias7
-rw-r--r--test/aux-fixed/0166.aliases6
-rw-r--r--test/aux-fixed/0168.filter137
-rw-r--r--test/aux-fixed/0170.filter3
-rw-r--r--test/aux-fixed/0177.alias1
-rw-r--r--test/aux-fixed/0182.filter3
-rw-r--r--test/aux-fixed/0184.lsearch1
-rw-r--r--test/aux-fixed/0185.alias1
-rwxr-xr-xtest/aux-fixed/0194.ret5
-rw-r--r--test/aux-fixed/0198.locals2
-rw-r--r--test/aux-fixed/0212.aliases8
-rw-r--r--test/aux-fixed/0212.x.forward1
-rw-r--r--test/aux-fixed/0212.y.forward1
-rw-r--r--test/aux-fixed/0224.aliases4
-rw-r--r--test/aux-fixed/0224.haliases3
-rw-r--r--test/aux-fixed/0233.filter6
-rw-r--r--test/aux-fixed/0235.aliases0
-rw-r--r--test/aux-fixed/0241.filter10
-rw-r--r--test/aux-fixed/0243.algemeen1
-rw-r--r--test/aux-fixed/0243.antwoord-faq1
-rw-r--r--test/aux-fixed/0243.beantwoorders1
-rw-r--r--test/aux-fixed/0246.data1
-rw-r--r--test/aux-fixed/0246.file3
-rw-r--r--test/aux-fixed/0247.alias2
-rw-r--r--test/aux-fixed/0248.filter6
-rw-r--r--test/aux-fixed/0251.list.oklist1
-rw-r--r--test/aux-fixed/0251.restrict.oklist1
-rw-r--r--test/aux-fixed/0252.alias1
-rw-r--r--test/aux-fixed/0252.forward1
-rw-r--r--test/aux-fixed/0258.m13
-rw-r--r--test/aux-fixed/0258.m22
-rw-r--r--test/aux-fixed/0258.m39
-rw-r--r--test/aux-fixed/0258.m49
-rw-r--r--test/aux-fixed/0266.filter3
-rw-r--r--test/aux-fixed/0266.filter23
-rw-r--r--test/aux-fixed/0266.filter34
-rw-r--r--test/aux-fixed/0266.list5
-rw-r--r--test/aux-fixed/0266.list22
-rw-r--r--test/aux-fixed/0266.nmlist2
-rw-r--r--test/aux-fixed/0268.exim1
-rw-r--r--test/aux-fixed/0270.filter3
-rw-r--r--test/aux-fixed/0270.filter23
-rw-r--r--test/aux-fixed/0270.filter36
-rw-r--r--test/aux-fixed/0270.list5
-rw-r--r--test/aux-fixed/0270.list22
-rw-r--r--test/aux-fixed/0270.nmlist2
-rw-r--r--test/aux-fixed/0273.user0
-rw-r--r--test/aux-fixed/0290.inc12
-rw-r--r--test/aux-fixed/0290.inc21
-rw-r--r--test/aux-fixed/0290.inc31
-rw-r--r--test/aux-fixed/0296.Filter5
-rw-r--r--test/aux-fixed/0297.Filter5
-rw-r--r--test/aux-fixed/0298.Filter14
-rw-r--r--test/aux-fixed/0304.d12
-rw-r--r--test/aux-fixed/0304.d21
-rw-r--r--test/aux-fixed/0304.d31
-rw-r--r--test/aux-fixed/0304.d41
-rw-r--r--test/aux-fixed/0304.d51
-rw-r--r--test/aux-fixed/0306/list12
-rw-r--r--test/aux-fixed/0306/list1-request1
-rw-r--r--test/aux-fixed/0307/list12
-rw-r--r--test/aux-fixed/0307/list1-request1
-rw-r--r--test/aux-fixed/0316.f-user22
-rw-r--r--test/aux-fixed/0320.filter11
-rw-r--r--test/aux-fixed/0320.list5
-rw-r--r--test/aux-fixed/0323.lookup2
-rw-r--r--test/aux-fixed/0325.data2
-rw-r--r--test/aux-fixed/0328.F6
-rw-r--r--test/aux-fixed/0329.F6
-rw-r--r--test/aux-fixed/0330.forward1
-rw-r--r--test/aux-fixed/0335.aliases7
-rw-r--r--test/aux-fixed/0351.F7
-rw-r--r--test/aux-fixed/0352.F17
-rw-r--r--test/aux-fixed/0360.aliases2
-rw-r--r--test/aux-fixed/0382.F3
-rw-r--r--test/aux-fixed/0386.acl18
-rw-r--r--test/aux-fixed/0386.acl27
-rw-r--r--test/aux-fixed/0387.112
-rw-r--r--test/aux-fixed/0400.alias2
-rw-r--r--test/aux-fixed/0403.data2
-rw-r--r--test/aux-fixed/0406.f86
-rw-r--r--test/aux-fixed/0412.F7
-rw-r--r--test/aux-fixed/0414.list11
-rw-r--r--test/aux-fixed/0414.list21
-rw-r--r--test/aux-fixed/0418.acl8
-rw-r--r--test/aux-fixed/0421.F3
-rw-r--r--test/aux-fixed/0427.message30
-rw-r--r--test/aux-fixed/0427.message227
-rw-r--r--test/aux-fixed/0427.message320
-rw-r--r--test/aux-fixed/0437.ls3
-rw-r--r--test/aux-fixed/0442.acl3
-rw-r--r--test/aux-fixed/0442.routers4
-rw-r--r--test/aux-fixed/0442.transports3
-rw-r--r--test/aux-fixed/0444.sysfilter21
-rw-r--r--test/aux-fixed/0445.data2
-rw-r--r--test/aux-fixed/0452.filter-112
-rw-r--r--test/aux-fixed/0452.filter-212
-rw-r--r--test/aux-fixed/0454.filter3
-rw-r--r--test/aux-fixed/0464.domains1
-rw-r--r--test/aux-fixed/0471.rw1
-rw-r--r--test/aux-fixed/0472.F15
-rw-r--r--test/aux-fixed/0483.list2
-rw-r--r--test/aux-fixed/0484.aliases2
-rw-r--r--test/aux-fixed/0484.aliases21
-rw-r--r--test/aux-fixed/0485.data1
-rw-r--r--test/aux-fixed/0485.data21
-rw-r--r--test/aux-fixed/0485.data31
-rw-r--r--test/aux-fixed/0495.alias4
-rw-r--r--test/aux-fixed/0498.fudge59
-rw-r--r--test/aux-fixed/0504.script14
-rw-r--r--test/aux-fixed/0506.exim-filter3
-rw-r--r--test/aux-fixed/0506.sieve-filter4
-rw-r--r--test/aux-fixed/0510.sfilter10
-rw-r--r--test/aux-fixed/0510.ufilter9
-rw-r--r--test/aux-fixed/1002.filter3
-rw-r--r--test/aux-fixed/2400.cdbbin0 -> 2165 bytes
-rw-r--r--test/aux-fixed/2400.cdb.src3
-rw-r--r--test/aux-fixed/2500.tst0
-rw-r--r--test/aux-fixed/3000.pl27
-rw-r--r--test/aux-fixed/3202.acl12
-rw-r--r--test/aux-fixed/3202.doms1
-rw-r--r--test/aux-fixed/3212.aliases2
-rw-r--r--test/aux-fixed/3400.filter19
-rw-r--r--test/aux-fixed/3500.filter19
-rw-r--r--test/aux-fixed/4100.f27
-rw-r--r--test/aux-fixed/5001.filelist12
-rw-r--r--test/aux-fixed/5100.script.011
-rw-r--r--test/aux-fixed/5100.script.021
-rw-r--r--test/aux-fixed/5100.script.038
-rw-r--r--test/aux-fixed/5100.script.048
-rw-r--r--test/aux-fixed/5100.script.0527
-rw-r--r--test/aux-fixed/5100.script.0623
-rw-r--r--test/aux-fixed/5100.script.0720
-rw-r--r--test/aux-fixed/5100.script.0817
-rw-r--r--test/aux-fixed/5100.script.0918
-rwxr-xr-xtest/aux-fixed/5101.filter4
-rw-r--r--test/aux-fixed/5101.script20
-rw-r--r--test/aux-fixed/5103.script14
-rw-r--r--test/aux-fixed/5201.filter3
-rw-r--r--test/aux-fixed/5202.filter3
-rw-r--r--test/aux-fixed/9401.perl16
-rw-r--r--test/aux-fixed/9450.alias1012
-rw-r--r--test/aux-fixed/abcd-xyz2
-rw-r--r--test/aux-fixed/cert135
-rw-r--r--test/aux-fixed/cert235
-rw-r--r--test/aux-fixed/cert2.revoke20
-rw-r--r--test/aux-fixed/crl.pem10
-rw-r--r--test/aux-fixed/dh14
-rw-r--r--test/aux-fixed/gnutls-params16
-rwxr-xr-xtest/aux-fixed/resubmit23
-rwxr-xr-xtest/aux-fixed/resubmitB20
-rwxr-xr-xtest/aux-fixed/showenv38
-rw-r--r--test/aux-fixed/sqlitedbbin0 -> 2048 bytes
236 files changed, 2693 insertions, 0 deletions
diff --git a/test/aux-fixed/0001.trusted b/test/aux-fixed/0001.trusted
new file mode 100644
index 000000000..ae8c4c1e5
--- /dev/null
+++ b/test/aux-fixed/0001.trusted
@@ -0,0 +1,2 @@
+1234
+5678
diff --git a/test/aux-fixed/0002.alias1 b/test/aux-fixed/0002.alias1
new file mode 100644
index 000000000..d8b9543bb
--- /dev/null
+++ b/test/aux-fixed/0002.alias1
@@ -0,0 +1,2 @@
+one: 1-in-1
+both: both-in-1
diff --git a/test/aux-fixed/0002.alias2 b/test/aux-fixed/0002.alias2
new file mode 100644
index 000000000..f171e2d7f
--- /dev/null
+++ b/test/aux-fixed/0002.alias2
@@ -0,0 +1,2 @@
+two: 2-in-2
+both: both-in-2
diff --git a/test/aux-fixed/0002.aliases b/test/aux-fixed/0002.aliases
new file mode 100644
index 000000000..8b5eb5473
--- /dev/null
+++ b/test/aux-fixed/0002.aliases
@@ -0,0 +1 @@
+postmaster: CALLER
diff --git a/test/aux-fixed/0002.domains b/test/aux-fixed/0002.domains
new file mode 100644
index 000000000..61a28a67e
--- /dev/null
+++ b/test/aux-fixed/0002.domains
@@ -0,0 +1,4 @@
+a.b.c.d: data for a.b.c.d
+y.z: data for y.z
+*.p.q: data for *.p.q
+*: data for *
diff --git a/test/aux-fixed/0002.iplsearch b/test/aux-fixed/0002.iplsearch
new file mode 100644
index 000000000..1af03ce67
--- /dev/null
+++ b/test/aux-fixed/0002.iplsearch
@@ -0,0 +1,5 @@
+1.2.3.4: data for 1.2.3.4
+"abcd::cdab": data for abcd::cdab
+192.168.0.0/16 data for 192.168.0.0/16
+*: data for *
+"abcd:abcd::/32" data for abcd:abcd::/32
diff --git a/test/aux-fixed/0002.lsearch b/test/aux-fixed/0002.lsearch
new file mode 100644
index 000000000..dcf198b70
--- /dev/null
+++ b/test/aux-fixed/0002.lsearch
@@ -0,0 +1,2 @@
+ten-1.test.ex
+10.0.0.2
diff --git a/test/aux-fixed/0002.matchip b/test/aux-fixed/0002.matchip
new file mode 100644
index 000000000..90bb0ea09
--- /dev/null
+++ b/test/aux-fixed/0002.matchip
@@ -0,0 +1,2 @@
+1.2.3.4: data for 1.2.3.4
+5.6.7.0/24: data for 5.6.7.0/24
diff --git a/test/aux-fixed/0002.quoted b/test/aux-fixed/0002.quoted
new file mode 100644
index 000000000..6684c4e9b
--- /dev/null
+++ b/test/aux-fixed/0002.quoted
@@ -0,0 +1,9 @@
+"xyz": "xyz":
+"pqr" : "pqr" :
+a:b a:b unquoted
+"a:b" "a:b"
+ abc continued data (make sure not key)
+"abc" "abc"
+"\"quoted\"" "\"quoted\""
+"white space" "white space"
+"b\\s" "b\\s"
diff --git a/test/aux-fixed/0002.readfile b/test/aux-fixed/0002.readfile
new file mode 100644
index 000000000..82f6fc7f2
--- /dev/null
+++ b/test/aux-fixed/0002.readfile
@@ -0,0 +1,4 @@
+abcde
+12345
+
+xyz
diff --git a/test/aux-fixed/0002.rec b/test/aux-fixed/0002.rec
new file mode 100644
index 000000000..991f67223
--- /dev/null
+++ b/test/aux-fixed/0002.rec
@@ -0,0 +1,5 @@
+key1: key2
+key1f: Key 1 failed
+key2: The data for key1->key2
+key3: key4
+key3f: Key 3 failed
diff --git a/test/aux-fixed/0002.runfile b/test/aux-fixed/0002.runfile
new file mode 100755
index 000000000..74421b519
--- /dev/null
+++ b/test/aux-fixed/0002.runfile
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+echo abcd
+echo 1234
+
+exit $1
+
diff --git a/test/aux-fixed/0002.starat b/test/aux-fixed/0002.starat
new file mode 100644
index 000000000..79836caf6
--- /dev/null
+++ b/test/aux-fixed/0002.starat
@@ -0,0 +1,3 @@
+x@y ==X@Y
+*@z ==*@Z
+* ==*
diff --git a/test/aux-fixed/0003.rej.bydomain b/test/aux-fixed/0003.rej.bydomain
new file mode 100644
index 000000000..c52030794
--- /dev/null
+++ b/test/aux-fixed/0003.rej.bydomain
@@ -0,0 +1,2 @@
+aa.bb: AbCd : ^\Dx : ^\DY : >*
+*: BlOcKeD
diff --git a/test/aux-fixed/0003.rej.lsearch b/test/aux-fixed/0003.rej.lsearch
new file mode 100644
index 000000000..570c99840
--- /dev/null
+++ b/test/aux-fixed/0003.rej.lsearch
@@ -0,0 +1,6 @@
+*@AA.com
+*@bb.com
+Cc@Dd.com
+*@MM.com
+*@nn.com
+Pp@Qq.com
diff --git a/test/aux-fixed/0006-aliases b/test/aux-fixed/0006-aliases
new file mode 100644
index 000000000..e1c5e38c9
--- /dev/null
+++ b/test/aux-fixed/0006-aliases
@@ -0,0 +1,2 @@
+blackhole: :blackhole:
+devnull: /dev/null
diff --git a/test/aux-fixed/0014.usernames b/test/aux-fixed/0014.usernames
new file mode 100644
index 000000000..aa675b27f
--- /dev/null
+++ b/test/aux-fixed/0014.usernames
@@ -0,0 +1,2 @@
+jules@box1 J.Caesar
+jules@box2 J.Calendar
diff --git a/test/aux-fixed/0015.filter.userx b/test/aux-fixed/0015.filter.userx
new file mode 100644
index 000000000..b7ef2ed8d
--- /dev/null
+++ b/test/aux-fixed/0015.filter.userx
@@ -0,0 +1,12 @@
+# Exim filter
+
+if error_message then finish endif
+
+if
+ $local_part_prefix contains "page"
+then
+ unseen mail to userx text "callpager -r 108 PAGE:${l_50:$message_body}"
+ unseen pipe callpager
+endif
+
+# End
diff --git a/test/aux-fixed/0015.realnames b/test/aux-fixed/0015.realnames
new file mode 100644
index 000000000..40a313834
--- /dev/null
+++ b/test/aux-fixed/0015.realnames
@@ -0,0 +1 @@
+ux: userx
diff --git a/test/aux-fixed/0016.filter.userx b/test/aux-fixed/0016.filter.userx
new file mode 100644
index 000000000..a89551d03
--- /dev/null
+++ b/test/aux-fixed/0016.filter.userx
@@ -0,0 +1,11 @@
+# Exim filter
+
+if error_message then finish endif
+
+if
+ $local_part_suffix contains "page"
+then
+ unseen mail to userx text "callpager -r 108 PAGE:${l_50:$message_body}"
+endif
+
+# End
diff --git a/test/aux-fixed/0023.acl1 b/test/aux-fixed/0023.acl1
new file mode 100644
index 000000000..28085abd8
--- /dev/null
+++ b/test/aux-fixed/0023.acl1
@@ -0,0 +1,2 @@
+accept domains = y
+ local_parts = x
diff --git a/test/aux-fixed/0023.doms b/test/aux-fixed/0023.doms
new file mode 100644
index 000000000..ebc7f5fe1
--- /dev/null
+++ b/test/aux-fixed/0023.doms
@@ -0,0 +1 @@
+test.ex: userx : spqr
diff --git a/test/aux-fixed/0033.list b/test/aux-fixed/0033.list
new file mode 100644
index 000000000..40bf63a9d
--- /dev/null
+++ b/test/aux-fixed/0033.list
@@ -0,0 +1 @@
+one@remote, two@remote
diff --git a/test/aux-fixed/0037.f-1 b/test/aux-fixed/0037.f-1
new file mode 100644
index 000000000..bfe43b632
--- /dev/null
+++ b/test/aux-fixed/0037.f-1
@@ -0,0 +1,80 @@
+# Exim filter
+
+add 1 to n3
+add 3 to n4
+add $n3 to n4
+add $n4 to n4
+add 6 to n$n3
+testprint "n0=$n0 n1=$n1 n3=$n3 n4=$n4"
+
+testprint "${run{/bin/sh -c 'pwd'}}"
+
+deliver root@$qualify_domain
+save /tmp/$primary_hostname 444
+save /tmp/$qualify_domain
+pipe "/tmp/$primary_hostname"
+
+logfile /tmp/logfile logwrite "this is log text: $qualify_domain"
+
+if $qualify_domain contains $qualify_domain then
+ testprint "yes"
+else
+ testprint "no"
+endif
+
+if $qualify_domain CONTAINS $qualify_domain then
+ testprint "yes"
+else
+ testprint "no"
+endif
+
+if $qualify_domain contains ${uc:$qualify_domain} then
+ testprint "yes"
+else
+ testprint "no"
+endif
+
+if $qualify_domain does not contain ${uc:$qualify_domain} then
+ testprint "no"
+else
+ testprint "yes"
+endif
+
+if $qualify_domain DOES NOT CONTAIN ${uc:$qualify_domain} then
+ testprint "no"
+else
+ testprint "yes"
+endif
+
+if $qualify_domain CONTAINS ${uc:$qualify_domain} then
+ testprint "yes"
+else
+ testprint "no"
+endif
+
+if $qualify_domain is $qualify_domain then
+ testprint "qualify_domain is qualify_domain"
+else
+ testprint "NOT qualify_domain is qualify_domain"
+endif
+
+if $qualify_domain IS $qualify_domain then
+ testprint "qualify_domain IS qualify_domain"
+else
+ testprint "NOT qualify_domain IS qualify_domain"
+endif
+
+if $qualify_domain is not $qualify_domain then
+ testprint "qualify_domain is not qualify_domain"
+else
+ testprint "NOT qualify_domain is not qualify_domain"
+endif
+
+if $qualify_domain IS NOT $qualify_domain then
+ testprint "qualify_domain IS NOT qualify_domain"
+else
+ testprint "NOT qualify_domain IS NOT qualify_domain"
+endif
+
+
+
diff --git a/test/aux-fixed/0037.f-2 b/test/aux-fixed/0037.f-2
new file mode 100644
index 000000000..31d595fd0
--- /dev/null
+++ b/test/aux-fixed/0037.f-2
@@ -0,0 +1,5 @@
+# Exim filter
+
+deliver root@$qualify_domain errors_to root@$primary_hostname
+
+testprint End
diff --git a/test/aux-fixed/0037.f-3 b/test/aux-fixed/0037.f-3
new file mode 100644
index 000000000..31d595fd0
--- /dev/null
+++ b/test/aux-fixed/0037.f-3
@@ -0,0 +1,5 @@
+# Exim filter
+
+deliver root@$qualify_domain errors_to root@$primary_hostname
+
+testprint End
diff --git a/test/aux-fixed/0037.f-4 b/test/aux-fixed/0037.f-4
new file mode 100644
index 000000000..55f1063f4
--- /dev/null
+++ b/test/aux-fixed/0037.f-4
@@ -0,0 +1,13 @@
+# Exim filter
+
+if personal alias abcdefgh@ifi.uio.no alias abcdefgh@student.matnat.uio.no
+ alias xyz@fix.no alias xyzabcd@skjaeveland.com alias abcdefgh@e.fix.no
+ alias abcdefgh@skjermbrev.com alias abcdefgh@b.b.cl
+ alias abcdefgh@bzzzt.fix.no
+then
+ testprint "Personal"
+else
+ testprint "Not personal"
+endif
+
+testprint "\\$home = $home"
diff --git a/test/aux-fixed/0037.f-5 b/test/aux-fixed/0037.f-5
new file mode 100644
index 000000000..a848ddb9a
--- /dev/null
+++ b/test/aux-fixed/0037.f-5
@@ -0,0 +1,7 @@
+# Exim filter
+
+testprint "Before fail"
+
+fail text "This is a forced failure"
+
+testprint End
diff --git a/test/aux-fixed/0037.f-6 b/test/aux-fixed/0037.f-6
new file mode 100644
index 000000000..2b9df2a24
--- /dev/null
+++ b/test/aux-fixed/0037.f-6
@@ -0,0 +1,11 @@
+# Exim filter
+
+if $h_subject: is "This is a very long string which isn't likely to occur when\
+ testing for a fixed string, but might happen if a long and complicated\
+ regular expression and/or lookup gets used in somebody's filter file.\
+ Originally the limit was 256 characters, but now we have increased it to\
+ a larger figure. This should exceed the old limit and check that the new\
+ limit is in place."
+then
+ testprint "Won't happen"
+endif
diff --git a/test/aux-fixed/0037.msg b/test/aux-fixed/0037.msg
new file mode 100644
index 000000000..8196d9ed2
--- /dev/null
+++ b/test/aux-fixed/0037.msg
@@ -0,0 +1,5 @@
+From: abcd@xyz
+Subject: message for filter test
+
+This is the body of the message. It has some length. Indeed it does. We need to
+check that the body is correctly visible in the filter.
diff --git a/test/aux-fixed/0041.aliases b/test/aux-fixed/0041.aliases
new file mode 100644
index 000000000..ac6b83364
--- /dev/null
+++ b/test/aux-fixed/0041.aliases
@@ -0,0 +1,2 @@
+list: userx, usery
+postmaster: userx
diff --git a/test/aux-fixed/0043.aliases b/test/aux-fixed/0043.aliases
new file mode 100644
index 000000000..4befa4f3e
--- /dev/null
+++ b/test/aux-fixed/0043.aliases
@@ -0,0 +1,2 @@
+postmaster: userx
+fail: :fail: this alias is forced to fail
diff --git a/test/aux-fixed/0046.filter.userx b/test/aux-fixed/0046.filter.userx
new file mode 100644
index 000000000..c0044c993
--- /dev/null
+++ b/test/aux-fixed/0046.filter.userx
@@ -0,0 +1,4 @@
+# Exim filter
+
+testprint "Body: $message_body"
+testprint "End: $message_body_end"
diff --git a/test/aux-fixed/0047.routes b/test/aux-fixed/0047.routes
new file mode 100644
index 000000000..8ebfeb2dc
--- /dev/null
+++ b/test/aux-fixed/0047.routes
@@ -0,0 +1,5 @@
+# Testing route file for lookup from route_list in domainlist
+
+route1.ex: ten-2.test.ex
+
+# End
diff --git a/test/aux-fixed/0051.domains b/test/aux-fixed/0051.domains
new file mode 100644
index 000000000..3e787b5f0
--- /dev/null
+++ b/test/aux-fixed/0051.domains
@@ -0,0 +1,5 @@
+# This is a comment
+domain1.ex
+!domain2.ex
+*.domain5.ex
+^domain6\..*\.ex
diff --git a/test/aux-fixed/0051.notdomains b/test/aux-fixed/0051.notdomains
new file mode 100644
index 000000000..be1b61617
--- /dev/null
+++ b/test/aux-fixed/0051.notdomains
@@ -0,0 +1,2 @@
+domain3.ex
+domain4.ex
diff --git a/test/aux-fixed/0053.aliases b/test/aux-fixed/0053.aliases
new file mode 100644
index 000000000..0f0e25101
--- /dev/null
+++ b/test/aux-fixed/0053.aliases
@@ -0,0 +1 @@
+bar@domain1.ex: userx@test.ex
diff --git a/test/aux-fixed/0057.d1 b/test/aux-fixed/0057.d1
new file mode 100644
index 000000000..e4a4d755a
--- /dev/null
+++ b/test/aux-fixed/0057.d1
@@ -0,0 +1 @@
+c.test.ex
diff --git a/test/aux-fixed/0057.d2 b/test/aux-fixed/0057.d2
new file mode 100644
index 000000000..f3396f353
--- /dev/null
+++ b/test/aux-fixed/0057.d2
@@ -0,0 +1 @@
+d.test.ex
diff --git a/test/aux-fixed/0064.hosts b/test/aux-fixed/0064.hosts
new file mode 100644
index 000000000..4e2907aaf
--- /dev/null
+++ b/test/aux-fixed/0064.hosts
@@ -0,0 +1,3 @@
+# Lookup hosts file
+
+ten-2.test.ex
diff --git a/test/aux-fixed/0065.nets b/test/aux-fixed/0065.nets
new file mode 100644
index 000000000..0e15dfcd1
--- /dev/null
+++ b/test/aux-fixed/0065.nets
@@ -0,0 +1,5 @@
+# Indexed net list
+
+131.111.0.0/16
+192.152.98.0/24
+192.153.98.4
diff --git a/test/aux-fixed/0066.nets b/test/aux-fixed/0066.nets
new file mode 100644
index 000000000..0e15dfcd1
--- /dev/null
+++ b/test/aux-fixed/0066.nets
@@ -0,0 +1,5 @@
+# Indexed net list
+
+131.111.0.0/16
+192.152.98.0/24
+192.153.98.4
diff --git a/test/aux-fixed/0066.nothosts b/test/aux-fixed/0066.nothosts
new file mode 100644
index 000000000..e16a32ee2
--- /dev/null
+++ b/test/aux-fixed/0066.nothosts
@@ -0,0 +1,2 @@
+black-1.test.ex
+!ten-3.test.ex
diff --git a/test/aux-fixed/0067.not1 b/test/aux-fixed/0067.not1
new file mode 100644
index 000000000..1a7745881
--- /dev/null
+++ b/test/aux-fixed/0067.not1
@@ -0,0 +1 @@
+x@bbb.ccc
diff --git a/test/aux-fixed/0067.not2 b/test/aux-fixed/0067.not2
new file mode 100644
index 000000000..5b4eeb665
--- /dev/null
+++ b/test/aux-fixed/0067.not2
@@ -0,0 +1 @@
+y@bbb.ccc
diff --git a/test/aux-fixed/0067.rej.bydomain b/test/aux-fixed/0067.rej.bydomain
new file mode 100644
index 000000000..59d364208
--- /dev/null
+++ b/test/aux-fixed/0067.rej.bydomain
@@ -0,0 +1,3 @@
+z.z: abc : ^x : >*
+*: ^\d{8}
+xx.yy: !abc : *bc : ^a
diff --git a/test/aux-fixed/0067.rej.lsearch b/test/aux-fixed/0067.rej.lsearch
new file mode 100644
index 000000000..9496c5782
--- /dev/null
+++ b/test/aux-fixed/0067.rej.lsearch
@@ -0,0 +1,3 @@
+abc.def
+*@abc.def
+abc@d.e.f
diff --git a/test/aux-fixed/0067.rejrec b/test/aux-fixed/0067.rejrec
new file mode 100644
index 000000000..b83b8000c
--- /dev/null
+++ b/test/aux-fixed/0067.rejrec
@@ -0,0 +1,9 @@
+# List of addresses to reject.
+# Must have space after # because it is legal in
+# local parts.
+#
+rr01@a.b.c # comment
+!^qqq
+^qq
+^!excl
+sh#rp@y.p.s
diff --git a/test/aux-fixed/0079.aliases b/test/aux-fixed/0079.aliases
new file mode 100644
index 000000000..c65edd7fd
--- /dev/null
+++ b/test/aux-fixed/0079.aliases
@@ -0,0 +1 @@
+postmaster: userx
diff --git a/test/aux-fixed/0080.aliases b/test/aux-fixed/0080.aliases
new file mode 100644
index 000000000..c65edd7fd
--- /dev/null
+++ b/test/aux-fixed/0080.aliases
@@ -0,0 +1 @@
+postmaster: userx
diff --git a/test/aux-fixed/0084.yes b/test/aux-fixed/0084.yes
new file mode 100644
index 000000000..f6e5cf216
--- /dev/null
+++ b/test/aux-fixed/0084.yes
@@ -0,0 +1 @@
+userx@test.ex
diff --git a/test/aux-fixed/0085.data b/test/aux-fixed/0085.data
new file mode 100644
index 000000000..4fe46a734
--- /dev/null
+++ b/test/aux-fixed/0085.data
@@ -0,0 +1,3 @@
+smart.domain: x : y : abc@d.e.f
+test.ex: x : y : abc@d.e.f
+test.ex.files: /etc/passwd
diff --git a/test/aux-fixed/0093.f-3 b/test/aux-fixed/0093.f-3
new file mode 100644
index 000000000..ca139de10
--- /dev/null
+++ b/test/aux-fixed/0093.f-3
@@ -0,0 +1,20 @@
+#Exim filter
+
+testprint "From: is ${if def:h_from:{}{not }}defined"
+testprint "Absent: is ${if def:h_absent:{}{not }}defined"
+testprint "----------------------"
+testprint $message_headers
+testprint "----------------------"
+testprint $message_headers+++more
+testprint "----------------------"
+testprint "+++$message_headers+++"
+testprint "----------------------"
+testprint "From: >$h_from:<"
+testprint $h_repeated:
+testprint "----------------------"
+testprint +++$header_repeated:+++
+testprint "----------------------"
+testprint reply_address=$reply_address
+testprint empty=>$h_empty:<
+testprint repeated-empty=>$h_repeated-empty:<
+testprint "----------------------"
diff --git a/test/aux-fixed/0093.lsearch b/test/aux-fixed/0093.lsearch
new file mode 100644
index 000000000..b27516863
--- /dev/null
+++ b/test/aux-fixed/0093.lsearch
@@ -0,0 +1 @@
+key1: data for key1
diff --git a/test/aux-fixed/0098.aliases b/test/aux-fixed/0098.aliases
new file mode 100644
index 000000000..f7c09d88b
--- /dev/null
+++ b/test/aux-fixed/0098.aliases
@@ -0,0 +1 @@
+defer: :defer: This address has been forced to defer.
diff --git a/test/aux-fixed/0098.forward b/test/aux-fixed/0098.forward
new file mode 100644
index 000000000..bfe65ed08
--- /dev/null
+++ b/test/aux-fixed/0098.forward
@@ -0,0 +1,7 @@
+# Exim filter
+
+if error_message then finish endif
+
+# This forward is to a pipe that isn't going to work
+
+pipe /non/existing/file
diff --git a/test/aux-fixed/0098.wmf b/test/aux-fixed/0098.wmf
new file mode 100644
index 000000000..19fea5c21
--- /dev/null
+++ b/test/aux-fixed/0098.wmf
@@ -0,0 +1,10 @@
+Subject: Warning: message $message_id delayed by $warn_message_delay
+****
+warn_message_delay = $warn_message_delay
+warn_message_recipients = $warn_message_recipient
+warn_message_recipients = $warn_message_recipients
+warnmsg_delay = $warnmsg_delay
+warnmsg_recipient = $warnmsg_recipient
+warnmsg_recipients = $warnmsg_recipients
+****
+Final stuff.
diff --git a/test/aux-fixed/0099.rlist b/test/aux-fixed/0099.rlist
new file mode 100644
index 000000000..54e0e4589
--- /dev/null
+++ b/test/aux-fixed/0099.rlist
@@ -0,0 +1,2 @@
+*@a.b.c
+x.y.z
diff --git a/test/aux-fixed/0099.rlist2 b/test/aux-fixed/0099.rlist2
new file mode 100644
index 000000000..3ae16cd6d
--- /dev/null
+++ b/test/aux-fixed/0099.rlist2
@@ -0,0 +1 @@
+look.up
diff --git a/test/aux-fixed/0105.list b/test/aux-fixed/0105.list
new file mode 100644
index 000000000..7e1c854d8
--- /dev/null
+++ b/test/aux-fixed/0105.list
@@ -0,0 +1,2 @@
+firstuser this data is not used
+seconduser: neither is this
diff --git a/test/aux-fixed/0107.filelist b/test/aux-fixed/0107.filelist
new file mode 100644
index 000000000..39934a890
--- /dev/null
+++ b/test/aux-fixed/0107.filelist
@@ -0,0 +1,12 @@
+# These are used relative to the test suite directory
+userx: test-empty/userx
+usery: test-mail/../test-empty/usery
+sub1: test-mail/s/sub1
+sub2: test-empty/s/sub2
+sub3: test-mail/link/sub3
+
+maildir-userx: test-empty
+maildir-usery: test-mail/../test-empty
+maildir-sub1: test-mail/s
+maildir-sub2: test-empty/s
+maildir-sub3: test-mail/link
diff --git a/test/aux-fixed/0110.alias b/test/aux-fixed/0110.alias
new file mode 100644
index 000000000..c738913f2
--- /dev/null
+++ b/test/aux-fixed/0110.alias
@@ -0,0 +1,2 @@
+first: second
+second: :defer: deferred by aliasfile
diff --git a/test/aux-fixed/0111.alias b/test/aux-fixed/0111.alias
new file mode 100644
index 000000000..61eb38226
--- /dev/null
+++ b/test/aux-fixed/0111.alias
@@ -0,0 +1 @@
+Philip: userx
diff --git a/test/aux-fixed/0111.forward b/test/aux-fixed/0111.forward
new file mode 100644
index 000000000..31c24b345
--- /dev/null
+++ b/test/aux-fixed/0111.forward
@@ -0,0 +1 @@
+Philip
diff --git a/test/aux-fixed/0113.alias b/test/aux-fixed/0113.alias
new file mode 100644
index 000000000..3a01c258d
--- /dev/null
+++ b/test/aux-fixed/0113.alias
@@ -0,0 +1 @@
+second: :defer: deferred by aliasfile
diff --git a/test/aux-fixed/0113.forward b/test/aux-fixed/0113.forward
new file mode 100644
index 000000000..e019be006
--- /dev/null
+++ b/test/aux-fixed/0113.forward
@@ -0,0 +1 @@
+second
diff --git a/test/aux-fixed/0116.alias b/test/aux-fixed/0116.alias
new file mode 100644
index 000000000..ac9bc5d81
--- /dev/null
+++ b/test/aux-fixed/0116.alias
@@ -0,0 +1,2 @@
+acopy: alias1, alias2
+defer: :defer: forced to defer
diff --git a/test/aux-fixed/0122.filter b/test/aux-fixed/0122.filter
new file mode 100644
index 000000000..819a30b42
--- /dev/null
+++ b/test/aux-fixed/0122.filter
@@ -0,0 +1,3 @@
+# Exim filter
+
+if $recipients contains freeze then freeze endif
diff --git a/test/aux-fixed/0123.aliases1 b/test/aux-fixed/0123.aliases1
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/aux-fixed/0123.aliases1
diff --git a/test/aux-fixed/0123.aliases2 b/test/aux-fixed/0123.aliases2
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/aux-fixed/0123.aliases2
diff --git a/test/aux-fixed/0123.aliases3 b/test/aux-fixed/0123.aliases3
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/aux-fixed/0123.aliases3
diff --git a/test/aux-fixed/0123.aliases4 b/test/aux-fixed/0123.aliases4
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/aux-fixed/0123.aliases4
diff --git a/test/aux-fixed/0123.aliases5 b/test/aux-fixed/0123.aliases5
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/aux-fixed/0123.aliases5
diff --git a/test/aux-fixed/0123.aliases6 b/test/aux-fixed/0123.aliases6
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/aux-fixed/0123.aliases6
diff --git a/test/aux-fixed/0129.domains b/test/aux-fixed/0129.domains
new file mode 100644
index 000000000..584dbffbb
--- /dev/null
+++ b/test/aux-fixed/0129.domains
@@ -0,0 +1,2 @@
+test.ex: (It was test.ex)
+one.test.ex (It was one.test.ex)
diff --git a/test/aux-fixed/0131.userx b/test/aux-fixed/0131.userx
new file mode 100644
index 000000000..e110fe3c5
--- /dev/null
+++ b/test/aux-fixed/0131.userx
@@ -0,0 +1,3 @@
+# Exim filter
+
+unseen deliver copy@test.ex
diff --git a/test/aux-fixed/0134.listD b/test/aux-fixed/0134.listD
new file mode 100644
index 000000000..d4ccb4066
--- /dev/null
+++ b/test/aux-fixed/0134.listD
@@ -0,0 +1,2 @@
+test.ex data for test.ex
+userx data for userx
diff --git a/test/aux-fixed/0134.listR b/test/aux-fixed/0134.listR
new file mode 100644
index 000000000..60a7335f8
--- /dev/null
+++ b/test/aux-fixed/0134.listR
@@ -0,0 +1,3 @@
+userx data for userx
+USERX data for USERX
+known.domain data for known.domain
diff --git a/test/aux-fixed/0136.filter b/test/aux-fixed/0136.filter
new file mode 100644
index 000000000..ebef56734
--- /dev/null
+++ b/test/aux-fixed/0136.filter
@@ -0,0 +1,5 @@
+#Exim filter
+
+if error_message then finish endif
+
+deliver unknown@test.ex errors_to forwarder@test.ex
diff --git a/test/aux-fixed/0138.aliases b/test/aux-fixed/0138.aliases
new file mode 100644
index 000000000..c65edd7fd
--- /dev/null
+++ b/test/aux-fixed/0138.aliases
@@ -0,0 +1 @@
+postmaster: userx
diff --git a/test/aux-fixed/0139.aliases b/test/aux-fixed/0139.aliases
new file mode 100644
index 000000000..48477eae7
--- /dev/null
+++ b/test/aux-fixed/0139.aliases
@@ -0,0 +1,2 @@
+postmaster: userx
+list: userx, usery
diff --git a/test/aux-fixed/0153.alias.exists b/test/aux-fixed/0153.alias.exists
new file mode 100644
index 000000000..6b6fc9c42
--- /dev/null
+++ b/test/aux-fixed/0153.alias.exists
@@ -0,0 +1 @@
+yes: aliased@test.ex
diff --git a/test/aux-fixed/0153.list.yes b/test/aux-fixed/0153.list.yes
new file mode 100644
index 000000000..17c6a9c82
--- /dev/null
+++ b/test/aux-fixed/0153.list.yes
@@ -0,0 +1 @@
+listed@test.ex
diff --git a/test/aux-fixed/0156.alias b/test/aux-fixed/0156.alias
new file mode 100644
index 000000000..f7467abac
--- /dev/null
+++ b/test/aux-fixed/0156.alias
@@ -0,0 +1,7 @@
+defer: :defer: forced to defer
+fail: :fail: forced to fail
+blackhole: :blackhole: black holed
+unknown: :unknown:
+include: :include:/etc/aliases
+pipe: |/bin/date
+file: /dev/null
diff --git a/test/aux-fixed/0166.aliases b/test/aux-fixed/0166.aliases
new file mode 100644
index 000000000..3845a50d2
--- /dev/null
+++ b/test/aux-fixed/0166.aliases
@@ -0,0 +1,6 @@
+a: b, bb
+b: c
+bb: e
+c: d
+d: userx
+e: usery
diff --git a/test/aux-fixed/0168.filter b/test/aux-fixed/0168.filter
new file mode 100644
index 000000000..12b4bcecd
--- /dev/null
+++ b/test/aux-fixed/0168.filter
@@ -0,0 +1,137 @@
+# Exim filter
+
+freeze text "some error message"
+
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/test/aux-fixed/0170.filter b/test/aux-fixed/0170.filter
new file mode 100644
index 000000000..5978e6c03
--- /dev/null
+++ b/test/aux-fixed/0170.filter
@@ -0,0 +1,3 @@
+# Exim filter
+
+pipe "/source/exim4/AutoTest/non-exist"
diff --git a/test/aux-fixed/0177.alias b/test/aux-fixed/0177.alias
new file mode 100644
index 000000000..e8b091d80
--- /dev/null
+++ b/test/aux-fixed/0177.alias
@@ -0,0 +1 @@
+userz: userx@non.local.domain
diff --git a/test/aux-fixed/0182.filter b/test/aux-fixed/0182.filter
new file mode 100644
index 000000000..7e581d52b
--- /dev/null
+++ b/test/aux-fixed/0182.filter
@@ -0,0 +1,3 @@
+# System filter
+
+headers add "X-Added: by system filter"
diff --git a/test/aux-fixed/0184.lsearch b/test/aux-fixed/0184.lsearch
new file mode 100644
index 000000000..b4f46b72e
--- /dev/null
+++ b/test/aux-fixed/0184.lsearch
@@ -0,0 +1 @@
+key: value
diff --git a/test/aux-fixed/0185.alias b/test/aux-fixed/0185.alias
new file mode 100644
index 000000000..16de12212
--- /dev/null
+++ b/test/aux-fixed/0185.alias
@@ -0,0 +1 @@
+usery: userx@non.local.domain
diff --git a/test/aux-fixed/0194.ret b/test/aux-fixed/0194.ret
new file mode 100755
index 000000000..06714b806
--- /dev/null
+++ b/test/aux-fixed/0194.ret
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+echo This script generates this message and returns the value of its argument.
+
+exit $1
diff --git a/test/aux-fixed/0198.locals b/test/aux-fixed/0198.locals
new file mode 100644
index 000000000..6065f2ac7
--- /dev/null
+++ b/test/aux-fixed/0198.locals
@@ -0,0 +1,2 @@
+userx z
+x z
diff --git a/test/aux-fixed/0212.aliases b/test/aux-fixed/0212.aliases
new file mode 100644
index 000000000..064b67d58
--- /dev/null
+++ b/test/aux-fixed/0212.aliases
@@ -0,0 +1,8 @@
+a: a1, a2, a3
+a3: :fail: bad user
+b: b1
+f: f1
+f1: :fail: bad user
+p: userx
+pipe: |/bin/nosuchfile
+file: /tmp/junk
diff --git a/test/aux-fixed/0212.x.forward b/test/aux-fixed/0212.x.forward
new file mode 100644
index 000000000..354664565
--- /dev/null
+++ b/test/aux-fixed/0212.x.forward
@@ -0,0 +1 @@
+unknown
diff --git a/test/aux-fixed/0212.y.forward b/test/aux-fixed/0212.y.forward
new file mode 100644
index 000000000..c2dd42596
--- /dev/null
+++ b/test/aux-fixed/0212.y.forward
@@ -0,0 +1 @@
+unknown, unknown2
diff --git a/test/aux-fixed/0224.aliases b/test/aux-fixed/0224.aliases
new file mode 100644
index 000000000..0df4dbc75
--- /dev/null
+++ b/test/aux-fixed/0224.aliases
@@ -0,0 +1,4 @@
+userxx: bounce
+userxy: defer
+defer: :defer: not just yet
+file: /no/such/file
diff --git a/test/aux-fixed/0224.haliases b/test/aux-fixed/0224.haliases
new file mode 100644
index 000000000..0382fd264
--- /dev/null
+++ b/test/aux-fixed/0224.haliases
@@ -0,0 +1,3 @@
+useryx: hbounce
+useryy: hdefer
+hdefer: :defer: not just yet
diff --git a/test/aux-fixed/0233.filter b/test/aux-fixed/0233.filter
new file mode 100644
index 000000000..a60bcba1b
--- /dev/null
+++ b/test/aux-fixed/0233.filter
@@ -0,0 +1,6 @@
+if error_message then finish endif
+
+if $recipients contains userx then
+ mail to postmaster subject "System filter has frozen"
+ freeze "system filter freezes"
+endif
diff --git a/test/aux-fixed/0235.aliases b/test/aux-fixed/0235.aliases
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/aux-fixed/0235.aliases
diff --git a/test/aux-fixed/0241.filter b/test/aux-fixed/0241.filter
new file mode 100644
index 000000000..2775f9443
--- /dev/null
+++ b/test/aux-fixed/0241.filter
@@ -0,0 +1,10 @@
+# Exim filter
+
+if error_message then finish endif
+
+mail
+ to postmaster
+ subject "Filter is freezing"
+ text "I've frozen something"
+
+freeze "everything's freezing today"
diff --git a/test/aux-fixed/0243.algemeen b/test/aux-fixed/0243.algemeen
new file mode 100644
index 000000000..a56206a43
--- /dev/null
+++ b/test/aux-fixed/0243.algemeen
@@ -0,0 +1 @@
+faq: /dev/null
diff --git a/test/aux-fixed/0243.antwoord-faq b/test/aux-fixed/0243.antwoord-faq
new file mode 100644
index 000000000..9930cb890
--- /dev/null
+++ b/test/aux-fixed/0243.antwoord-faq
@@ -0,0 +1 @@
+Text of auto message. Expanded local_part is: $local_part.
diff --git a/test/aux-fixed/0243.beantwoorders b/test/aux-fixed/0243.beantwoorders
new file mode 100644
index 000000000..5bc70b280
--- /dev/null
+++ b/test/aux-fixed/0243.beantwoorders
@@ -0,0 +1 @@
+faq: local.part@some.domain
diff --git a/test/aux-fixed/0246.data b/test/aux-fixed/0246.data
new file mode 100644
index 000000000..6a1952631
--- /dev/null
+++ b/test/aux-fixed/0246.data
@@ -0,0 +1 @@
+1: Data from the file
diff --git a/test/aux-fixed/0246.file b/test/aux-fixed/0246.file
new file mode 100644
index 000000000..2fdfb3511
--- /dev/null
+++ b/test/aux-fixed/0246.file
@@ -0,0 +1,3 @@
+>>>>>>>>>>>>>>
+${if exists{/source/exim4/AutoTest/aux/284.data}{${lookup{1}lsearch{/source/exim4/AutoTest/aux/284.data}{$value}{NOT FOUND}}}{NOT EXISTS}}
+>>>>>>>>>>>>>>
diff --git a/test/aux-fixed/0247.alias b/test/aux-fixed/0247.alias
new file mode 100644
index 000000000..210b73e1f
--- /dev/null
+++ b/test/aux-fixed/0247.alias
@@ -0,0 +1,2 @@
+blackhole: :blackhole:
+devnull: /dev/null
diff --git a/test/aux-fixed/0248.filter b/test/aux-fixed/0248.filter
new file mode 100644
index 000000000..e320aee7d
--- /dev/null
+++ b/test/aux-fixed/0248.filter
@@ -0,0 +1,6 @@
+# Exim filter
+
+# The filter restricts strings to 1024, but we can get a longer one by
+# substituting a header line.
+
+freeze "X-Long header is >$h_X-Long:<"
diff --git a/test/aux-fixed/0251.list.oklist b/test/aux-fixed/0251.list.oklist
new file mode 100644
index 000000000..c939a70ea
--- /dev/null
+++ b/test/aux-fixed/0251.list.oklist
@@ -0,0 +1 @@
+xxx@listr.test.ex
diff --git a/test/aux-fixed/0251.restrict.oklist b/test/aux-fixed/0251.restrict.oklist
new file mode 100644
index 000000000..ed9cbc3bf
--- /dev/null
+++ b/test/aux-fixed/0251.restrict.oklist
@@ -0,0 +1 @@
+ok@sender
diff --git a/test/aux-fixed/0252.alias b/test/aux-fixed/0252.alias
new file mode 100644
index 000000000..e48ccc05b
--- /dev/null
+++ b/test/aux-fixed/0252.alias
@@ -0,0 +1 @@
+alias: from-alias@test.ex
diff --git a/test/aux-fixed/0252.forward b/test/aux-fixed/0252.forward
new file mode 100644
index 000000000..c468c5cc8
--- /dev/null
+++ b/test/aux-fixed/0252.forward
@@ -0,0 +1 @@
+from-forward@test.ex
diff --git a/test/aux-fixed/0258.m1 b/test/aux-fixed/0258.m1
new file mode 100644
index 000000000..82e734ed5
--- /dev/null
+++ b/test/aux-fixed/0258.m1
@@ -0,0 +1,3 @@
+
+Message with no
+terminating LF \ No newline at end of file
diff --git a/test/aux-fixed/0258.m2 b/test/aux-fixed/0258.m2
new file mode 100644
index 000000000..838755b14
--- /dev/null
+++ b/test/aux-fixed/0258.m2
@@ -0,0 +1,2 @@
+
+Message with terminating CR \ No newline at end of file
diff --git a/test/aux-fixed/0258.m3 b/test/aux-fixed/0258.m3
new file mode 100644
index 000000000..aa97035ce
--- /dev/null
+++ b/test/aux-fixed/0258.m3
@@ -0,0 +1,9 @@
+Mail from: x@y
+rcpt to: userx@test.ex
+data
+Subject: contains CR< > in the subject
+
+CR.CR . in some text should not
+terminate the message
+.
+quit
diff --git a/test/aux-fixed/0258.m4 b/test/aux-fixed/0258.m4
new file mode 100644
index 000000000..7ba96f4fa
--- /dev/null
+++ b/test/aux-fixed/0258.m4
@@ -0,0 +1,9 @@
+Mail from: x@y
+rcpt to: userx@test.ex
+data
+Subject: contains CR< > in the subject
+
+CR.CR . in some text should not
+terminate the message
+.
+quit
diff --git a/test/aux-fixed/0266.filter b/test/aux-fixed/0266.filter
new file mode 100644
index 000000000..cbf403d7f
--- /dev/null
+++ b/test/aux-fixed/0266.filter
@@ -0,0 +1,3 @@
+# Exim filter
+
+syntax error
diff --git a/test/aux-fixed/0266.filter2 b/test/aux-fixed/0266.filter2
new file mode 100644
index 000000000..42f00dfe6
--- /dev/null
+++ b/test/aux-fixed/0266.filter2
@@ -0,0 +1,3 @@
+# Exim filter
+
+deliver @@in.valid
diff --git a/test/aux-fixed/0266.filter3 b/test/aux-fixed/0266.filter3
new file mode 100644
index 000000000..d80e144c3
--- /dev/null
+++ b/test/aux-fixed/0266.filter3
@@ -0,0 +1,4 @@
+# Exim filter
+
+logfile test-private
+logwrite "Testing"
diff --git a/test/aux-fixed/0266.list b/test/aux-fixed/0266.list
new file mode 100644
index 000000000..09c6cd8a4
--- /dev/null
+++ b/test/aux-fixed/0266.list
@@ -0,0 +1,5 @@
+(This is just a comment)
+userx@test.ex
+@@test.ex (This has a syntax error)
+spqr@test.ex
+userx@test.ex (again)
diff --git a/test/aux-fixed/0266.list2 b/test/aux-fixed/0266.list2
new file mode 100644
index 000000000..1a01840ae
--- /dev/null
+++ b/test/aux-fixed/0266.list2
@@ -0,0 +1,2 @@
+(This is just a comment)
+@@test.ex (This has a syntax error)
diff --git a/test/aux-fixed/0266.nmlist b/test/aux-fixed/0266.nmlist
new file mode 100644
index 000000000..1a01840ae
--- /dev/null
+++ b/test/aux-fixed/0266.nmlist
@@ -0,0 +1,2 @@
+(This is just a comment)
+@@test.ex (This has a syntax error)
diff --git a/test/aux-fixed/0268.exim b/test/aux-fixed/0268.exim
new file mode 100644
index 000000000..97040ce0d
--- /dev/null
+++ b/test/aux-fixed/0268.exim
@@ -0,0 +1 @@
+:fail: Explictly Rejected
diff --git a/test/aux-fixed/0270.filter b/test/aux-fixed/0270.filter
new file mode 100644
index 000000000..cbf403d7f
--- /dev/null
+++ b/test/aux-fixed/0270.filter
@@ -0,0 +1,3 @@
+# Exim filter
+
+syntax error
diff --git a/test/aux-fixed/0270.filter2 b/test/aux-fixed/0270.filter2
new file mode 100644
index 000000000..42f00dfe6
--- /dev/null
+++ b/test/aux-fixed/0270.filter2
@@ -0,0 +1,3 @@
+# Exim filter
+
+deliver @@in.valid
diff --git a/test/aux-fixed/0270.filter3 b/test/aux-fixed/0270.filter3
new file mode 100644
index 000000000..88cb68768
--- /dev/null
+++ b/test/aux-fixed/0270.filter3
@@ -0,0 +1,6 @@
+# Exim filter
+
+# router_home_directory = DIR/
+
+logfile ${home}test-private
+logwrite "Testing"
diff --git a/test/aux-fixed/0270.list b/test/aux-fixed/0270.list
new file mode 100644
index 000000000..09c6cd8a4
--- /dev/null
+++ b/test/aux-fixed/0270.list
@@ -0,0 +1,5 @@
+(This is just a comment)
+userx@test.ex
+@@test.ex (This has a syntax error)
+spqr@test.ex
+userx@test.ex (again)
diff --git a/test/aux-fixed/0270.list2 b/test/aux-fixed/0270.list2
new file mode 100644
index 000000000..1a01840ae
--- /dev/null
+++ b/test/aux-fixed/0270.list2
@@ -0,0 +1,2 @@
+(This is just a comment)
+@@test.ex (This has a syntax error)
diff --git a/test/aux-fixed/0270.nmlist b/test/aux-fixed/0270.nmlist
new file mode 100644
index 000000000..1a01840ae
--- /dev/null
+++ b/test/aux-fixed/0270.nmlist
@@ -0,0 +1,2 @@
+(This is just a comment)
+@@test.ex (This has a syntax error)
diff --git a/test/aux-fixed/0273.user b/test/aux-fixed/0273.user
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/aux-fixed/0273.user
diff --git a/test/aux-fixed/0290.inc1 b/test/aux-fixed/0290.inc1
new file mode 100644
index 000000000..4fe0ef2ba
--- /dev/null
+++ b/test/aux-fixed/0290.inc1
@@ -0,0 +1,2 @@
+recipients_max = 1
+BAR
diff --git a/test/aux-fixed/0290.inc2 b/test/aux-fixed/0290.inc2
new file mode 100644
index 000000000..d8855bac2
--- /dev/null
+++ b/test/aux-fixed/0290.inc2
@@ -0,0 +1 @@
+message_size_limit = 500
diff --git a/test/aux-fixed/0290.inc3 b/test/aux-fixed/0290.inc3
new file mode 100644
index 000000000..82eed951a
--- /dev/null
+++ b/test/aux-fixed/0290.inc3
@@ -0,0 +1 @@
+ V4NET.1.2.3 : \
diff --git a/test/aux-fixed/0296.Filter b/test/aux-fixed/0296.Filter
new file mode 100644
index 000000000..48e02c04b
--- /dev/null
+++ b/test/aux-fixed/0296.Filter
@@ -0,0 +1,5 @@
+# Exim filter
+
+if $recipients contains failure then
+ fail "this message is a failure (filter fail)"
+endif
diff --git a/test/aux-fixed/0297.Filter b/test/aux-fixed/0297.Filter
new file mode 100644
index 000000000..e911ce75c
--- /dev/null
+++ b/test/aux-fixed/0297.Filter
@@ -0,0 +1,5 @@
+# Exim filter
+
+if $sender_address is not fil@ter then finish endif
+
+save ${local_part:$recipients}
diff --git a/test/aux-fixed/0298.Filter b/test/aux-fixed/0298.Filter
new file mode 100644
index 000000000..b17fceef6
--- /dev/null
+++ b/test/aux-fixed/0298.Filter
@@ -0,0 +1,14 @@
+# Exim filter
+
+if error_message then finish endif
+
+if $recipients contains failure1 then
+
+fail "<<MSG1>>This message is being failed and there's a long and tortuous\n\
+ explanation about is that is being sent back to the user."
+
+else
+
+fail "<<MSG2>>"
+
+endif
diff --git a/test/aux-fixed/0304.d1 b/test/aux-fixed/0304.d1
new file mode 100644
index 000000000..b88bdd47f
--- /dev/null
+++ b/test/aux-fixed/0304.d1
@@ -0,0 +1,2 @@
+*@a.b.c
+abc@d.e.f
diff --git a/test/aux-fixed/0304.d2 b/test/aux-fixed/0304.d2
new file mode 100644
index 000000000..6781b6c5a
--- /dev/null
+++ b/test/aux-fixed/0304.d2
@@ -0,0 +1 @@
+at.1: abc : *xyz
diff --git a/test/aux-fixed/0304.d3 b/test/aux-fixed/0304.d3
new file mode 100644
index 000000000..f43df7d0e
--- /dev/null
+++ b/test/aux-fixed/0304.d3
@@ -0,0 +1 @@
+domain5
diff --git a/test/aux-fixed/0304.d4 b/test/aux-fixed/0304.d4
new file mode 100644
index 000000000..a3f9a4bb0
--- /dev/null
+++ b/test/aux-fixed/0304.d4
@@ -0,0 +1 @@
+domain6
diff --git a/test/aux-fixed/0304.d5 b/test/aux-fixed/0304.d5
new file mode 100644
index 000000000..3273629a6
--- /dev/null
+++ b/test/aux-fixed/0304.d5
@@ -0,0 +1 @@
+*@domain7
diff --git a/test/aux-fixed/0306/list1 b/test/aux-fixed/0306/list1
new file mode 100644
index 000000000..833034c73
--- /dev/null
+++ b/test/aux-fixed/0306/list1
@@ -0,0 +1,2 @@
+sub1@test.ex
+sub2@test.ex
diff --git a/test/aux-fixed/0306/list1-request b/test/aux-fixed/0306/list1-request
new file mode 100644
index 000000000..a66a9dae3
--- /dev/null
+++ b/test/aux-fixed/0306/list1-request
@@ -0,0 +1 @@
+manager-list1@test.ex
diff --git a/test/aux-fixed/0307/list1 b/test/aux-fixed/0307/list1
new file mode 100644
index 000000000..833034c73
--- /dev/null
+++ b/test/aux-fixed/0307/list1
@@ -0,0 +1,2 @@
+sub1@test.ex
+sub2@test.ex
diff --git a/test/aux-fixed/0307/list1-request b/test/aux-fixed/0307/list1-request
new file mode 100644
index 000000000..a66a9dae3
--- /dev/null
+++ b/test/aux-fixed/0307/list1-request
@@ -0,0 +1 @@
+manager-list1@test.ex
diff --git a/test/aux-fixed/0316.f-user b/test/aux-fixed/0316.f-user
new file mode 100644
index 000000000..a110ec05b
--- /dev/null
+++ b/test/aux-fixed/0316.f-user
@@ -0,0 +1,22 @@
+# Exim filter
+
+if foranyaddress "a@b, c@d" ( $thisaddress matches ^c ) then
+ testprint "1 Matched $thisaddress"
+endif
+
+if foranyaddress "Group name: a@b, c@d;, cc@dd" ( $thisaddress matches ^c )
+then
+ testprint "2 Matched $thisaddress"
+endif
+
+if foranyaddress "Group name: a@b, c@d;, cc@dd" ( $thisaddress matches ^cc )
+then
+ testprint "3 Matched $thisaddress"
+endif
+
+if foranyaddress "Group name: a@b, c@d;, cc@dd, N2: e@f;, ee@ff"
+ ( $thisaddress matches ^e )
+then
+ testprint "4 Matched $thisaddress"
+endif
+
diff --git a/test/aux-fixed/0320.filter b/test/aux-fixed/0320.filter
new file mode 100644
index 000000000..be51aa5fa
--- /dev/null
+++ b/test/aux-fixed/0320.filter
@@ -0,0 +1,11 @@
+# Exim filter
+
+if error_message then finish endif
+
+if $h_subject: contains "discard" then seen finish endif
+
+if $h_subject: contains "file" then
+ save /source/exim4/AutoTest/test-mail/saved
+endif
+
+finish
diff --git a/test/aux-fixed/0320.list b/test/aux-fixed/0320.list
new file mode 100644
index 000000000..c8e06cfe2
--- /dev/null
+++ b/test/aux-fixed/0320.list
@@ -0,0 +1,5 @@
+lp1 # this is a comment
+lp2
+# The # in the next line is not a comment
+lp#3
+lp#4# # but this is a comment
diff --git a/test/aux-fixed/0323.lookup b/test/aux-fixed/0323.lookup
new file mode 100644
index 000000000..2d4754060
--- /dev/null
+++ b/test/aux-fixed/0323.lookup
@@ -0,0 +1,2 @@
+'y': quoted.y
+y: unquoted.y
diff --git a/test/aux-fixed/0325.data b/test/aux-fixed/0325.data
new file mode 100644
index 000000000..30a881a10
--- /dev/null
+++ b/test/aux-fixed/0325.data
@@ -0,0 +1,2 @@
+a.b.c: DOMAIN DATA
+xxx: LOCAL PART DATA
diff --git a/test/aux-fixed/0328.F b/test/aux-fixed/0328.F
new file mode 100644
index 000000000..7b0d88687
--- /dev/null
+++ b/test/aux-fixed/0328.F
@@ -0,0 +1,6 @@
+# Exim filter
+
+headers remove remove
+headers add "added: this header is added"
+headers add "adrem: this header is added and then removed"
+headers remove adrem
diff --git a/test/aux-fixed/0329.F b/test/aux-fixed/0329.F
new file mode 100644
index 000000000..7b0d88687
--- /dev/null
+++ b/test/aux-fixed/0329.F
@@ -0,0 +1,6 @@
+# Exim filter
+
+headers remove remove
+headers add "added: this header is added"
+headers add "adrem: this header is added and then removed"
+headers remove adrem
diff --git a/test/aux-fixed/0330.forward b/test/aux-fixed/0330.forward
new file mode 100644
index 000000000..0e481b069
--- /dev/null
+++ b/test/aux-fixed/0330.forward
@@ -0,0 +1 @@
+UserY
diff --git a/test/aux-fixed/0335.aliases b/test/aux-fixed/0335.aliases
new file mode 100644
index 000000000..bf6b1ab3b
--- /dev/null
+++ b/test/aux-fixed/0335.aliases
@@ -0,0 +1,7 @@
+intermediate: final
+top1: intermediate
+top2: intermediate
+onelevel1: final
+onelevel2: final
+batch: batch-a, batch-b
+c2: clone
diff --git a/test/aux-fixed/0351.F b/test/aux-fixed/0351.F
new file mode 100644
index 000000000..0560cd331
--- /dev/null
+++ b/test/aux-fixed/0351.F
@@ -0,0 +1,7 @@
+# Exim filter
+
+if foranyaddress $h_to: ($thisaddress contains usery) then
+ headers add "Found: yes\nFound2: yes"
+else
+ headers add "Found: no"
+endif
diff --git a/test/aux-fixed/0352.F b/test/aux-fixed/0352.F
new file mode 100644
index 000000000..31c01a652
--- /dev/null
+++ b/test/aux-fixed/0352.F
@@ -0,0 +1,17 @@
+# Exim filter
+
+if foranyaddress $h_to: ($thisaddress contains abcd) then
+ headers add "Found: abcd yes"
+else
+ headers add "Found: abcd no"
+endif
+
+if foranyaddress $h_to: ($thisaddress contains xyz) then
+ headers add "Found: xyz yes"
+else
+ headers add "Found: xyz no"
+endif
+
+headers add "TO: >$h_to:<"
+
+
diff --git a/test/aux-fixed/0360.aliases b/test/aux-fixed/0360.aliases
new file mode 100644
index 000000000..d58b70b1a
--- /dev/null
+++ b/test/aux-fixed/0360.aliases
@@ -0,0 +1,2 @@
+cms: unknown@recurse.test.ex, defer
+defer: :defer: Forcibly deferred
diff --git a/test/aux-fixed/0382.F b/test/aux-fixed/0382.F
new file mode 100644
index 000000000..fdcfee036
--- /dev/null
+++ b/test/aux-fixed/0382.F
@@ -0,0 +1,3 @@
+# Exim filter for test 443
+
+# Actually does nothing
diff --git a/test/aux-fixed/0386.acl1 b/test/aux-fixed/0386.acl1
new file mode 100644
index 000000000..c6425c04d
--- /dev/null
+++ b/test/aux-fixed/0386.acl1
@@ -0,0 +1,8 @@
+accept hosts = :
+deny local_parts = ^.*[@%!/|]
+require log_message = Invalid sender
+ message = Couldn't verify the sender
+# This is a comment
+ verify = sender/defer_ok
+
+deny message = No such user here
diff --git a/test/aux-fixed/0386.acl2 b/test/aux-fixed/0386.acl2
new file mode 100644
index 000000000..396568d69
--- /dev/null
+++ b/test/aux-fixed/0386.acl2
@@ -0,0 +1,7 @@
+# Warn with a message that involves an expansion
+
+warn message = X-Warning: $sender_host_address is listed at $dnslist_domain\nX-Warning: $dnslist_text
+ log_message = found in $dnslist_domain: $dnslist_text
+
+ dnslists = rbl.test.ex
+accept
diff --git a/test/aux-fixed/0387.1 b/test/aux-fixed/0387.1
new file mode 100644
index 000000000..1bc214295
--- /dev/null
+++ b/test/aux-fixed/0387.1
@@ -0,0 +1,12 @@
+*b.c [*b.c]
+b.c [b.c]
+.b.c [.b.c]
+*.b.c [*.b.c]
+*.c [*.c]
+* [*]
+. [.]
+*@y.c [*@y.c]
+10.9.8.7 [10.9.8.7]
+192.168.0.0/16 [192.168.0.0/16]
+++aa.bb [++aa.bb]
+++ [++]
diff --git a/test/aux-fixed/0400.alias b/test/aux-fixed/0400.alias
new file mode 100644
index 000000000..752d372dc
--- /dev/null
+++ b/test/aux-fixed/0400.alias
@@ -0,0 +1,2 @@
+alias1: \spqr
+alias2: spqr
diff --git a/test/aux-fixed/0403.data b/test/aux-fixed/0403.data
new file mode 100644
index 000000000..9bdfc6f2b
--- /dev/null
+++ b/test/aux-fixed/0403.data
@@ -0,0 +1,2 @@
+test.ex: [DOMAINDATA_test.ex]
+userx: [LOCALPARTDATA_userx]
diff --git a/test/aux-fixed/0406.f b/test/aux-fixed/0406.f
new file mode 100644
index 000000000..6dae29b4a
--- /dev/null
+++ b/test/aux-fixed/0406.f
@@ -0,0 +1,86 @@
+# Exim filter
+
+testprint "subject = >$h_subject:<"
+testprint "raw subject = >$rh_subject:<"
+testprint "to = >$h_to:<"
+testprint "raw to = >$rheader_to:<"
+
+testprint "rX-1: >$rh_X-1:<"
+testprint "bX-1: >$bh_X-1:<"
+testprint " X-1: >$h_X-1:<"
+
+testprint "rX-2: >$rh_X-2:<"
+testprint "bX-2: >$bh_X-2:<"
+testprint " X-2: >$h_X-2:<"
+
+testprint "rX-3: >$rh_X-3:<"
+testprint "bX-3: >$bh_X-3:<"
+testprint " X-3: >$h_X-3:<"
+
+testprint "rX-4: >$rh_X-4:<"
+testprint "bX-4: >$bh_X-4:<"
+testprint " X-4: >$h_X-4:<"
+
+testprint "rX-5: >$rh_X-5:<"
+testprint "bX-5: >$bh_X-5:<"
+testprint " X-5: >$h_X-5:<"
+
+testprint "rX-6: >$rh_X-6:<"
+testprint "bX-6: >$bh_X-6:<"
+testprint " X-6: >$h_X-6:<"
+
+testprint "rX-7: >$rh_X-7:<"
+testprint "bX-7: >$bh_X-7:<"
+testprint " X-7: >$h_X-7:<"
+
+testprint "rX-8: >$rh_X-8:<"
+testprint "bX-8: >$bh_X-8:<"
+testprint " X-8: >$h_X-8:<"
+
+testprint "rX-9: >$rh_X-9:<"
+testprint "bX-9: >$bh_X-9:<"
+testprint " X-9: >$h_X-9:<"
+
+testprint "rX-10: >$rh_X-10:<"
+testprint "bX-10: >$bh_X-10:<"
+testprint " X-10: >$h_X-10:<"
+
+testprint "rX-11: >$rh_X-11:<"
+testprint "bX-11: >$bh_X-11:<"
+testprint " X-11: >$h_X-11:<"
+
+testprint "rX-12: >$rh_X-12:<"
+testprint "bX-12: >$bh_X-12:<"
+testprint " X-12: >$h_X-12:<"
+
+testprint "rX-13: >$rh_X-13:<"
+testprint "bX-13: >$bh_X-13:<"
+testprint " X-13: >$h_X-13:<"
+
+testprint "rX-14: >$rh_X-14:<"
+testprint "bX-14: >$bh_X-14:<"
+testprint " X-14: >$h_X-14:<"
+
+testprint "rX-15: >$rh_X-15:<"
+testprint "bX-15: >$bh_X-15:<"
+testprint " X-15: >$h_X-15:<"
+
+testprint "rX-16: >$rh_X-16:<"
+testprint "bX-16: >$bh_X-16:<"
+testprint " X-16: >$h_X-16:<"
+
+testprint "rX-17: >$rh_X-17:<"
+testprint "bX-17: >$bh_X-17:<"
+testprint " X-17: >$h_X-17:<"
+
+testprint "rX-18: >$rh_X-18:<"
+testprint "bX-18: >$bh_X-18:<"
+testprint " X-18: >$h_X-18:<"
+
+testprint "rX-19: >$rh_X-19:<"
+testprint "bX-19: >$bh_X-19:<"
+testprint " X-19: >$h_X-19:<"
+
+testprint "rX-20: >$rh_X-20:<"
+testprint "bX-20: >$bh_X-20:<"
+testprint " X-20: >$h_X-20:<"
diff --git a/test/aux-fixed/0412.F b/test/aux-fixed/0412.F
new file mode 100644
index 000000000..0560cd331
--- /dev/null
+++ b/test/aux-fixed/0412.F
@@ -0,0 +1,7 @@
+# Exim filter
+
+if foranyaddress $h_to: ($thisaddress contains usery) then
+ headers add "Found: yes\nFound2: yes"
+else
+ headers add "Found: no"
+endif
diff --git a/test/aux-fixed/0414.list1 b/test/aux-fixed/0414.list1
new file mode 100644
index 000000000..191dc4e08
--- /dev/null
+++ b/test/aux-fixed/0414.list1
@@ -0,0 +1 @@
+a.domain a.domain-data
diff --git a/test/aux-fixed/0414.list2 b/test/aux-fixed/0414.list2
new file mode 100644
index 000000000..4c8bfbef5
--- /dev/null
+++ b/test/aux-fixed/0414.list2
@@ -0,0 +1 @@
+b.domain b.domain-data
diff --git a/test/aux-fixed/0418.acl b/test/aux-fixed/0418.acl
new file mode 100644
index 000000000..bb0517a03
--- /dev/null
+++ b/test/aux-fixed/0418.acl
@@ -0,0 +1,8 @@
+# This is an ACL in a file for testing continuations
+
+deny message = This is a message which \
+ is continued over several \
+ # comment
+ lines, with an interspersed comment\
+
+deny message = This line should not be joined onto the above
diff --git a/test/aux-fixed/0421.F b/test/aux-fixed/0421.F
new file mode 100644
index 000000000..c4175e113
--- /dev/null
+++ b/test/aux-fixed/0421.F
@@ -0,0 +1,3 @@
+# Exim filter
+
+headers add "Reply-to: rr@q.s"
diff --git a/test/aux-fixed/0427.message b/test/aux-fixed/0427.message
new file mode 100644
index 000000000..fce284df6
--- /dev/null
+++ b/test/aux-fixed/0427.message
@@ -0,0 +1,30 @@
+From offerqn@bpk.example.com Wed Feb 05 10:47:05 2003
+Delivered-To: michael@nostromo.somenet-ag.example
+From: () c, "A.N. Other" <offerqn@bpk.example.com>, spam@aaaa.example
+To: marian@abcdefgh.example
+Subject: =?iso-8859-1?q?abcdef?=
+ =?iso-8859-1?q?ghi?=
+X-Priority: 3
+X-MSMail-Priority: Normal
+X-BasAga: 8sDTRgF1RyrcCxLg0m2c
+X-AgaUtu: 2Vi3TgrEIwL3KWqSoI7
+X-IdiTegUtuUtu: EY4XogFnkpH1P06d
+X-RosHrIdiNa: Vu8pFqH5hFK05kD5opU3
+X-BasAgaNa: T1LeD56uyN
+X-Mailer: MMailer v3.0
+X-Special1: ?a=?ISO-8859-1?Q?=00?=cx*
+X-Special2: 1a*cx2
+Date: Wed, 5 Feb 2003 0:37:30 +-0800
+Mime-Version: 1.0
+Content-Type: text/html; charset="Windows-1251"
+X-Warning: 204.29.65.132 is listed at list.dsbl.org
+X-Warning: 204.29.65.132 is listed at unconfirmed.dsbl.org
+X-Warning: 204.29.65.132 is listed at singlestage.dnsbl.somenet.example
+X-Warning: bpk.example.com is listed at postmaster.rfc-ignorant.org
+Delivered-To: irc@01019somenet.example
+Delivered-To: irc@irc.somenet.example
+Delivered-To: some.one@somenet-ag.example
+
+<HTML>
+<HEAD><TITLE></TITLE><STYLE type="text/css"><!--
+
diff --git a/test/aux-fixed/0427.message2 b/test/aux-fixed/0427.message2
new file mode 100644
index 000000000..fcbda4e1a
--- /dev/null
+++ b/test/aux-fixed/0427.message2
@@ -0,0 +1,27 @@
+From offerqn@bpk.example.com Wed Feb 05 10:47:05 2003
+Delivered-To: michael@nostromo.somenet-ag.example
+From: () c, "A.N. Other" <offerqn@bpk.example.com>, spam@aaaa.example
+BCC: <arthur_dellea@hotmail.com>,<pgodman@netscape.net>,<artbridgea@hotmail.com>,<pets@hiwaay.net>,<isared@yahoo.com>,<arswit@hotmail.com>,<pgy@correoweb.com>,<art.stevens@hotmail.com>,<irvi_g_pete@yahoo.com>,<art4love@hotmail.com>,<artamp@hotmail.com>,<arthur364@hotmail.com>,<pberger47@attbi.com>,<arosewall@hotmail.com>,<arth16@hotmail.com>
+Subject: =?iso-8859-1?q?abcdef?=
+ =?iso-8859-1?q?ghi?=
+X-Priority: 3
+X-MSMail-Priority: Normal
+X-BasAga: 8sDTRgF1RyrcCxLg0m2c
+X-AgaUtu: 2Vi3TgrEIwL3KWqSoI7
+X-IdiTegUtuUtu: EY4XogFnkpH1P06d
+X-RosHrIdiNa: Vu8pFqH5hFK05kD5opU3
+X-BasAgaNa: T1LeD56uyN
+X-Mailer: MMailer v3.0
+Date: Wed, 5 Feb 2003 0:37:30 +-0800
+Mime-Version: 1.0
+Content-Type: text/html; charset="Windows-1251"
+X-Warning: 204.29.65.132 is listed at list.dsbl.org
+X-Warning: 204.29.65.132 is listed at unconfirmed.dsbl.org
+X-Warning: 204.29.65.132 is listed at singlestage.dnsbl.somenet.example
+X-Warning: bpk.example.com is listed at postmaster.rfc-ignorant.org
+Delivered-To: irc@01019somenet.example
+Delivered-To: irc@irc.somenet.example
+Delivered-To: some.one@somenet-ag.example
+
+<HTML>
+<HEAD><TITLE></TITLE><STYLE type="text/css"><!--
diff --git a/test/aux-fixed/0427.message3 b/test/aux-fixed/0427.message3
new file mode 100644
index 000000000..951e90f3e
--- /dev/null
+++ b/test/aux-fixed/0427.message3
@@ -0,0 +1,20 @@
+From offerqn@bpk.example.com Wed Feb 05 10:47:05 2003
+Subject: =?iso-8859-1?q?abcdef?=
+ =?iso-8859-1?q?ghi?=
+X-0: =?ISO-8859-1?Q?=00?=
+X-1: =?ISO-8859-1?Q?=31?=
+X-1b: =?ISO-8859-1?Q?=31=
+X-Wrapped: eins
+ zwei
+ drei
+X-NoMimeWrap: =?iso-8859-1?q?abc
+ def
+ ghi?=
+X-Mixed: =?iso-8859-1?q?abc?=
+ def
+X-B64: =?iso-8859-1?b?VGhpcyBpcyBCQVNFNjQ=?=
+X-B64-Broken: =?iso-8859-1?b?VGhpcyBpcyBCQVNFNjQ?=
+X-Q75total: =?ISO-8859-1?Q?0123456789012345678901234567890123456789012345678901234567?=
+X-Q76total: =?ISO-8859-1?Q?01234567890123456789012345678901234567890123456789012345678?=
+
+empty body
diff --git a/test/aux-fixed/0437.ls b/test/aux-fixed/0437.ls
new file mode 100644
index 000000000..20aae6b82
--- /dev/null
+++ b/test/aux-fixed/0437.ls
@@ -0,0 +1,3 @@
+spool spool
+transport t1
+file file
diff --git a/test/aux-fixed/0442.acl b/test/aux-fixed/0442.acl
new file mode 100644
index 000000000..5ff1d477b
--- /dev/null
+++ b/test/aux-fixed/0442.acl
@@ -0,0 +1,3 @@
+begin acl
+abcd:
+ deny
diff --git a/test/aux-fixed/0442.routers b/test/aux-fixed/0442.routers
new file mode 100644
index 000000000..14e83c13e
--- /dev/null
+++ b/test/aux-fixed/0442.routers
@@ -0,0 +1,4 @@
+begin routers
+r1:
+ driver = accept
+ transport = t1
diff --git a/test/aux-fixed/0442.transports b/test/aux-fixed/0442.transports
new file mode 100644
index 000000000..c61658dff
--- /dev/null
+++ b/test/aux-fixed/0442.transports
@@ -0,0 +1,3 @@
+begin transports
+t1:
+ driver = smtp
diff --git a/test/aux-fixed/0444.sysfilter b/test/aux-fixed/0444.sysfilter
new file mode 100644
index 000000000..521d3200f
--- /dev/null
+++ b/test/aux-fixed/0444.sysfilter
@@ -0,0 +1,21 @@
+# Exim system filter file for XXX
+
+if $h_X-XXX-Original-Host: is not "" then
+ unseen mail to $return_path from Mailer-Daemon reply_to postmaster
+ subject "Submission of mail from $return_path directly to the XXX hosts"
+ text "You sent the message below from the host\n\
+ \n $h_X-XXX-Original-Host:\n\n\
+ directly to one of the XXX hosts. It will be delivered without any further\n\
+ action on your part.\n\n\
+ However, this indicates some mis-configuration, as new mail should be sent\n\
+ (if XXX is involved at all) to smtp.xxx.example, which no longer refers\n\
+ to the XXX hosts. It may be that your mail user agent has been configured to\n\
+ use (for example) xxx.example or pop.xxx.example where smtp.xxx.example\n\
+ would have been correct.\n\n\
+ Eventually attempts to send messages directly to the XXX hosts in this way\n\
+ will be rejected. You should modify the configuration of your mail user agent\n\
+ to correct the fault described above."
+ return message
+ headers remove X-XXX-Original-Host
+endif
+
diff --git a/test/aux-fixed/0445.data b/test/aux-fixed/0445.data
new file mode 100644
index 000000000..58152bbc7
--- /dev/null
+++ b/test/aux-fixed/0445.data
@@ -0,0 +1,2 @@
+lp1@x.y:
+lp2@x.y: This is a message
diff --git a/test/aux-fixed/0452.filter-1 b/test/aux-fixed/0452.filter-1
new file mode 100644
index 000000000..eecadff74
--- /dev/null
+++ b/test/aux-fixed/0452.filter-1
@@ -0,0 +1,12 @@
+# Exim filter
+
+mail
+ to $sender_address
+ subject "Auto generated"
+ text "This is some body text"
+ extra_headers "h1: the first added header\n\
+ h2: the second added header\n \
+ continued on another line\n\
+ h3: the third added header"
+
+# End
diff --git a/test/aux-fixed/0452.filter-2 b/test/aux-fixed/0452.filter-2
new file mode 100644
index 000000000..bb45ea834
--- /dev/null
+++ b/test/aux-fixed/0452.filter-2
@@ -0,0 +1,12 @@
+# Exim filter
+
+mail
+ to $sender_address
+ subject "Auto generated"
+ text "This is some body text"
+ extra_headers "h1: the first added header\n\
+ h2: the second added header\n \
+ continued on another line\n\
+ h3 the third added header is missing a colon"
+
+# End
diff --git a/test/aux-fixed/0454.filter b/test/aux-fixed/0454.filter
new file mode 100644
index 000000000..6d49eb636
--- /dev/null
+++ b/test/aux-fixed/0454.filter
@@ -0,0 +1,3 @@
+# Exim filter
+
+deliver xx@cam
diff --git a/test/aux-fixed/0464.domains b/test/aux-fixed/0464.domains
new file mode 100644
index 000000000..4f8b3e4e5
--- /dev/null
+++ b/test/aux-fixed/0464.domains
@@ -0,0 +1 @@
+domain1: data for domain1
diff --git a/test/aux-fixed/0471.rw b/test/aux-fixed/0471.rw
new file mode 100644
index 000000000..82ade19be
--- /dev/null
+++ b/test/aux-fixed/0471.rw
@@ -0,0 +1 @@
+test.example: rwtest.example
diff --git a/test/aux-fixed/0472.F b/test/aux-fixed/0472.F
new file mode 100644
index 000000000..4a9c2a00a
--- /dev/null
+++ b/test/aux-fixed/0472.F
@@ -0,0 +1,15 @@
+# Exim system filter
+
+add 99 to n1
+
+add 10 to n0
+add 2 to n2
+add 3 to n3
+add 4 to n4
+add 5 to n5
+add 6 to n6
+add 7 to n7
+add 8 to n8
+add 9 to n9
+
+# End
diff --git a/test/aux-fixed/0483.list b/test/aux-fixed/0483.list
new file mode 100644
index 000000000..9c2717b8b
--- /dev/null
+++ b/test/aux-fixed/0483.list
@@ -0,0 +1,2 @@
+sender@domain1 SenderData
+recip@domain2 RecipData
diff --git a/test/aux-fixed/0484.aliases b/test/aux-fixed/0484.aliases
new file mode 100644
index 000000000..e466cef49
--- /dev/null
+++ b/test/aux-fixed/0484.aliases
@@ -0,0 +1,2 @@
+list: userx, usery
+root: userx
diff --git a/test/aux-fixed/0484.aliases2 b/test/aux-fixed/0484.aliases2
new file mode 100644
index 000000000..5a8b9b46b
--- /dev/null
+++ b/test/aux-fixed/0484.aliases2
@@ -0,0 +1 @@
+list: userx2, usery2
diff --git a/test/aux-fixed/0485.data b/test/aux-fixed/0485.data
new file mode 100644
index 000000000..611a24bfe
--- /dev/null
+++ b/test/aux-fixed/0485.data
@@ -0,0 +1 @@
+1.2.3.4: LOOKEDUPDATA
diff --git a/test/aux-fixed/0485.data2 b/test/aux-fixed/0485.data2
new file mode 100644
index 000000000..513138cdc
--- /dev/null
+++ b/test/aux-fixed/0485.data2
@@ -0,0 +1 @@
+1.2.3.4: LOOKEDUPDATA2
diff --git a/test/aux-fixed/0485.data3 b/test/aux-fixed/0485.data3
new file mode 100644
index 000000000..cb7fa265a
--- /dev/null
+++ b/test/aux-fixed/0485.data3
@@ -0,0 +1 @@
+xyz: data for xyz
diff --git a/test/aux-fixed/0495.alias b/test/aux-fixed/0495.alias
new file mode 100644
index 000000000..29893ce5d
--- /dev/null
+++ b/test/aux-fixed/0495.alias
@@ -0,0 +1,4 @@
+postmaster: pm@p.q
+file: /some/file
+fail: :fail: forcible fail message
+defer: :defer: forcible defer message
diff --git a/test/aux-fixed/0498.fudge b/test/aux-fixed/0498.fudge
new file mode 100644
index 000000000..f8f1dd648
--- /dev/null
+++ b/test/aux-fixed/0498.fudge
@@ -0,0 +1,59 @@
+# This is a little perl script for test 581. It reads the first failed time
+# from test-stdout, turns it back into an integer, and forces the received
+# time in the -H file of the current message.
+
+use Time::Local;
+
+opendir(DIR, "spool/input");
+while (($_ = readdir(DIR)))
+ {
+ if (/.*-H$/)
+ {
+ $hfile = $_;
+ break;
+ }
+ }
+closedir(DIR);
+
+@months = ("Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
+
+open(IN, "test-stdout") || die "can't open test-stdout\n";
+
+$_ = <IN>;
+$_ = <IN>;
+$_ = <IN>;
+
+close(IN);
+
+($mday,$mon,$year,$hour,$min,$sec) =
+ /(\d\d)-(\w\w\w)-(\d\d\d\d) (\d\d):(\d\d):(\d\d)/;
+
+for ($i = 0; $i < 12; $i++)
+ {
+ if ($mon eq $months[$i])
+ {
+ $mon = $i;
+ break;
+ }
+ }
+
+$t = timelocal($sec,$min,$hour,$mday,$mon,$year);
+
+open(IN, "spool/input/$hfile") || die "can't open spool/input/$hfile";
+
+open(OUT, ">test-H");
+
+$_ = <IN>; print OUT;
+$_ = <IN>; print OUT;
+$_ = <IN>; print OUT;
+$_ = <IN>;
+print OUT "$t 0\n";
+print OUT while (<IN>);
+
+close(IN);
+close(OUT);
+
+rename("test-H", "spool/input/$hfile") || die "rename failed\n";
+
+# End
diff --git a/test/aux-fixed/0504.script b/test/aux-fixed/0504.script
new file mode 100644
index 000000000..6a899d4e6
--- /dev/null
+++ b/test/aux-fixed/0504.script
@@ -0,0 +1,14 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+QUIT
+250 OK
diff --git a/test/aux-fixed/0506.exim-filter b/test/aux-fixed/0506.exim-filter
new file mode 100644
index 000000000..b502c0908
--- /dev/null
+++ b/test/aux-fixed/0506.exim-filter
@@ -0,0 +1,3 @@
+# Exim filter
+
+seen finish
diff --git a/test/aux-fixed/0506.sieve-filter b/test/aux-fixed/0506.sieve-filter
new file mode 100644
index 000000000..7a69e423c
--- /dev/null
+++ b/test/aux-fixed/0506.sieve-filter
@@ -0,0 +1,4 @@
+# Sieve filter
+
+discard;
+
diff --git a/test/aux-fixed/0510.sfilter b/test/aux-fixed/0510.sfilter
new file mode 100644
index 000000000..b8f2c5c1a
--- /dev/null
+++ b/test/aux-fixed/0510.sfilter
@@ -0,0 +1,10 @@
+# Exim filter - testing system filter
+
+testprint "--------System filter---------"
+testprint "Sender: $sender_address"
+testprint "Subject: $h_Subject:"
+testprint "Body: $message_body"
+
+headers add "X-Header: Added in a system filter"
+add 3 to n1
+testprint "n1: $n1"
diff --git a/test/aux-fixed/0510.ufilter b/test/aux-fixed/0510.ufilter
new file mode 100644
index 000000000..2bad322c7
--- /dev/null
+++ b/test/aux-fixed/0510.ufilter
@@ -0,0 +1,9 @@
+# Exim filter - testing user filter
+
+testprint "--------User filter---------"
+testprint "Sender: $sender_address"
+testprint "Subject: $header_Subject:"
+testprint "Body: $message_body"
+testprint "X-Header: $h_X-Header:"
+testprint "sn1: $sn1"
+
diff --git a/test/aux-fixed/1002.filter b/test/aux-fixed/1002.filter
new file mode 100644
index 000000000..7e581d52b
--- /dev/null
+++ b/test/aux-fixed/1002.filter
@@ -0,0 +1,3 @@
+# System filter
+
+headers add "X-Added: by system filter"
diff --git a/test/aux-fixed/2400.cdb b/test/aux-fixed/2400.cdb
new file mode 100644
index 000000000..73ce7e42d
--- /dev/null
+++ b/test/aux-fixed/2400.cdb
Binary files differ
diff --git a/test/aux-fixed/2400.cdb.src b/test/aux-fixed/2400.cdb.src
new file mode 100644
index 000000000..957952720
--- /dev/null
+++ b/test/aux-fixed/2400.cdb.src
@@ -0,0 +1,3 @@
+first: data for first
+second: A=1 B=2
+third: A1:B2:C3
diff --git a/test/aux-fixed/2500.tst b/test/aux-fixed/2500.tst
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/aux-fixed/2500.tst
diff --git a/test/aux-fixed/3000.pl b/test/aux-fixed/3000.pl
new file mode 100644
index 000000000..a4fbe5955
--- /dev/null
+++ b/test/aux-fixed/3000.pl
@@ -0,0 +1,27 @@
+use POSIX qw(locale_h);
+
+sub foo { "Subroutine foo called with args: @_"; }
+
+sub foo_undef { $x; }
+
+sub foo_die { die "expiring..."; }
+
+sub readvar { Exim::expand_string("\$$_[0]"); }
+
+sub return_scalar { 42; }
+
+sub return_list { (10,20,30); }
+
+sub return_variable_vector { @x = (4,5,6); @x; }
+
+sub return_hash { %x = ("a", 4, "b", 5); %x; }
+
+sub debug_write { Exim::debug_write("$_[0]"); "Wrote debug"; }
+
+sub log_write { Exim::log_write("$_[0]"); "Wrote log"; }
+
+sub change_locale { setlocale(LC_TIME, "fr_FR"); "Changed locale"; }
+
+sub foo_warn { warn "this is a warning"; "Wrote warning"; }
+
+sub no_warn { $SIG{__WARN__} = sub { }; "Discarded warnings"; }
diff --git a/test/aux-fixed/3202.acl1 b/test/aux-fixed/3202.acl1
new file mode 100644
index 000000000..28085abd8
--- /dev/null
+++ b/test/aux-fixed/3202.acl1
@@ -0,0 +1,2 @@
+accept domains = y
+ local_parts = x
diff --git a/test/aux-fixed/3202.doms b/test/aux-fixed/3202.doms
new file mode 100644
index 000000000..ebc7f5fe1
--- /dev/null
+++ b/test/aux-fixed/3202.doms
@@ -0,0 +1 @@
+test.ex: userx : spqr
diff --git a/test/aux-fixed/3212.aliases b/test/aux-fixed/3212.aliases
new file mode 100644
index 000000000..e466cef49
--- /dev/null
+++ b/test/aux-fixed/3212.aliases
@@ -0,0 +1,2 @@
+list: userx, usery
+root: userx
diff --git a/test/aux-fixed/3400.filter b/test/aux-fixed/3400.filter
new file mode 100644
index 000000000..329bb81aa
--- /dev/null
+++ b/test/aux-fixed/3400.filter
@@ -0,0 +1,19 @@
+# Exim filter
+
+if
+ $sender_host_authenticated is not ""
+then
+ headers add "X-Host-Authenticated: $sender_host_authenticated"
+endif
+
+if
+ $authenticated_sender is not ""
+then
+ headers add "X-Authenticated-Sender: $authenticated_sender"
+endif
+
+if
+ $authenticated_id is not ""
+then
+ headers add "X-Authenticated-ID: $authenticated_id"
+endif
diff --git a/test/aux-fixed/3500.filter b/test/aux-fixed/3500.filter
new file mode 100644
index 000000000..329bb81aa
--- /dev/null
+++ b/test/aux-fixed/3500.filter
@@ -0,0 +1,19 @@
+# Exim filter
+
+if
+ $sender_host_authenticated is not ""
+then
+ headers add "X-Host-Authenticated: $sender_host_authenticated"
+endif
+
+if
+ $authenticated_sender is not ""
+then
+ headers add "X-Authenticated-Sender: $authenticated_sender"
+endif
+
+if
+ $authenticated_id is not ""
+then
+ headers add "X-Authenticated-ID: $authenticated_id"
+endif
diff --git a/test/aux-fixed/4100.f b/test/aux-fixed/4100.f
new file mode 100644
index 000000000..5f6c4cd31
--- /dev/null
+++ b/test/aux-fixed/4100.f
@@ -0,0 +1,27 @@
+# Exim filter
+
+testprint "subject = >$h_subject:<"
+testprint "raw subject = >$rh_subject:<"
+testprint "to = >$h_to:<"
+testprint "raw to = >$rheader_to:<"
+
+testprint "rX-8: >$rh_X-8:<"
+testprint "bX-8: >$bh_X-8:<"
+testprint " X-8: >$h_X-8:<"
+
+testprint "rX-9: >$rh_X-9:<"
+testprint "bX-9: >$bh_X-9:<"
+testprint " X-9: >$h_X-9:<"
+
+testprint "rX-10: >$rh_X-10:<"
+testprint "bX-10: >$bh_X-10:<"
+testprint " X-10: >$h_X-10:<"
+
+headers charset "UTF-8"
+testprint " X-8: >$h_X-8:<"
+testprint " X-9: >$h_X-9:<"
+testprint " X-10: >$h_X-10:<"
+
+headers charset "ISO-8859-1//IGNORE"
+testprint " X-8: >$h_X-8:<"
+
diff --git a/test/aux-fixed/5001.filelist b/test/aux-fixed/5001.filelist
new file mode 100644
index 000000000..39934a890
--- /dev/null
+++ b/test/aux-fixed/5001.filelist
@@ -0,0 +1,12 @@
+# These are used relative to the test suite directory
+userx: test-empty/userx
+usery: test-mail/../test-empty/usery
+sub1: test-mail/s/sub1
+sub2: test-empty/s/sub2
+sub3: test-mail/link/sub3
+
+maildir-userx: test-empty
+maildir-usery: test-mail/../test-empty
+maildir-sub1: test-mail/s
+maildir-sub2: test-empty/s
+maildir-sub3: test-mail/link
diff --git a/test/aux-fixed/5100.script.01 b/test/aux-fixed/5100.script.01
new file mode 100644
index 000000000..ff37f5203
--- /dev/null
+++ b/test/aux-fixed/5100.script.01
@@ -0,0 +1 @@
+*sleep 5
diff --git a/test/aux-fixed/5100.script.02 b/test/aux-fixed/5100.script.02
new file mode 100644
index 000000000..7b3ae5094
--- /dev/null
+++ b/test/aux-fixed/5100.script.02
@@ -0,0 +1 @@
+440 Sorry, there's a problem here
diff --git a/test/aux-fixed/5100.script.03 b/test/aux-fixed/5100.script.03
new file mode 100644
index 000000000..bfd507a40
--- /dev/null
+++ b/test/aux-fixed/5100.script.03
@@ -0,0 +1,8 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+550 Don't like that sender
+QUIT
+250 OK
diff --git a/test/aux-fixed/5100.script.04 b/test/aux-fixed/5100.script.04
new file mode 100644
index 000000000..c6459fd9d
--- /dev/null
+++ b/test/aux-fixed/5100.script.04
@@ -0,0 +1,8 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+450 Don't like that sender just at the moment
+QUIT
+250 OK
diff --git a/test/aux-fixed/5100.script.05 b/test/aux-fixed/5100.script.05
new file mode 100644
index 000000000..9d55b163a
--- /dev/null
+++ b/test/aux-fixed/5100.script.05
@@ -0,0 +1,27 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+450 This one is delayed on RCPT
+RCPT TO
+550 This one is unknown on RCPT
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+450 Number 2 is now delayed
+550 Number 3 is now rejected
+250 Number 6 is OK
+QUIT
+250 OK
diff --git a/test/aux-fixed/5100.script.06 b/test/aux-fixed/5100.script.06
new file mode 100644
index 000000000..63a9f1dad
--- /dev/null
+++ b/test/aux-fixed/5100.script.06
@@ -0,0 +1,23 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+450 This one is delayed on RCPT
+RCPT TO
+550 This one is unknown on RCPT
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+*sleep 5
diff --git a/test/aux-fixed/5100.script.07 b/test/aux-fixed/5100.script.07
new file mode 100644
index 000000000..b06d1c481
--- /dev/null
+++ b/test/aux-fixed/5100.script.07
@@ -0,0 +1,20 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+450 This one is delayed on RCPT
+RCPT TO
+550 This one is unknown on RCPT
+RCPT TO
+250 OK
+DATA
+*sleep 5
diff --git a/test/aux-fixed/5100.script.08 b/test/aux-fixed/5100.script.08
new file mode 100644
index 000000000..79edc7711
--- /dev/null
+++ b/test/aux-fixed/5100.script.08
@@ -0,0 +1,17 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+DATA
+354 GO AHEAD
+.
+250 OK
+250 OK
+QUIT
+220 OK
diff --git a/test/aux-fixed/5100.script.09 b/test/aux-fixed/5100.script.09
new file mode 100644
index 000000000..3684ceedb
--- /dev/null
+++ b/test/aux-fixed/5100.script.09
@@ -0,0 +1,18 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250-IGNOREQUOTA
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+DATA
+354 GO AHEAD
+.
+250 OK
+250 OK
+QUIT
+220 OK
diff --git a/test/aux-fixed/5101.filter b/test/aux-fixed/5101.filter
new file mode 100755
index 000000000..a48681b04
--- /dev/null
+++ b/test/aux-fixed/5101.filter
@@ -0,0 +1,4 @@
+#! /bin/sh
+
+cat
+echo "Here's a new line."
diff --git a/test/aux-fixed/5101.script b/test/aux-fixed/5101.script
new file mode 100644
index 000000000..fb4adc03e
--- /dev/null
+++ b/test/aux-fixed/5101.script
@@ -0,0 +1,20 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+550 Number 2 fails
+250 Number 3 is OK
+QUIT
+250 OK
diff --git a/test/aux-fixed/5103.script b/test/aux-fixed/5103.script
new file mode 100644
index 000000000..6a899d4e6
--- /dev/null
+++ b/test/aux-fixed/5103.script
@@ -0,0 +1,14 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+QUIT
+250 OK
diff --git a/test/aux-fixed/5201.filter b/test/aux-fixed/5201.filter
new file mode 100644
index 000000000..819a30b42
--- /dev/null
+++ b/test/aux-fixed/5201.filter
@@ -0,0 +1,3 @@
+# Exim filter
+
+if $recipients contains freeze then freeze endif
diff --git a/test/aux-fixed/5202.filter b/test/aux-fixed/5202.filter
new file mode 100644
index 000000000..819a30b42
--- /dev/null
+++ b/test/aux-fixed/5202.filter
@@ -0,0 +1,3 @@
+# Exim filter
+
+if $recipients contains freeze then freeze endif
diff --git a/test/aux-fixed/9401.perl b/test/aux-fixed/9401.perl
new file mode 100644
index 000000000..9a5f368f8
--- /dev/null
+++ b/test/aux-fixed/9401.perl
@@ -0,0 +1,16 @@
+# Perl script to print all lines starting "-local" from -H files
+
+opendir(DIR, "spool/input") || die "failed to opendir spool/input\n";
+@spools = readdir(DIR);
+closedir(DIR);
+
+foreach $f (@spools)
+ {
+ next if $f !~ /-H$/;
+ open(IN, "<spool/input/$f") || die "failed to open spool/input/$f\n";
+ print "$f\n";
+ while(<IN>) { print if /^-local/; }
+ close(IN);
+ }
+
+####
diff --git a/test/aux-fixed/9450.alias b/test/aux-fixed/9450.alias
new file mode 100644
index 000000000..987719493
--- /dev/null
+++ b/test/aux-fixed/9450.alias
@@ -0,0 +1,1012 @@
+alias: aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
+ aaaaaaaaaaaa@bbbbbbbbb,
diff --git a/test/aux-fixed/abcd-xyz b/test/aux-fixed/abcd-xyz
new file mode 100644
index 000000000..46dff77db
--- /dev/null
+++ b/test/aux-fixed/abcd-xyz
@@ -0,0 +1,2 @@
+abcd
+xyz
diff --git a/test/aux-fixed/cert1 b/test/aux-fixed/cert1
new file mode 100644
index 000000000..25a96776b
--- /dev/null
+++ b/test/aux-fixed/cert1
@@ -0,0 +1,35 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC4eIDtpcY7ff5P3yCnXXdLWNcewKgUBj6GuNqHAFrfbZq6tDlS
+Z3FXVvOwU4Rgn6ciGP5REYuR4TB26/PY+bJEVUMyAb8OmcE+l6aeG0kQlM3Wa0UU
+fo3GNt9U7+VU7puS3SwLjKYSI6ny17xyFcukBkiRTOo3H6z0yM742wPFeQIDAQAB
+AoGAHOHZJdw/tk7aw3ym6y1qISTuwYTejAwSPBuzM1Ht6G+Lu1G+a9WAXHFjxCa/
+YjV9AIyzPNQnaxa79NKqoj0uGNqixYPI4A3M6T5nmawXXivAbV2fNX1Pg0LQ4DMh
+EdaPwtkghavuPz2CFvIcvsG/XGNo1rUkGrCIpWldPF8bynUCQQDn/x3bdnHpSL7X
+RlFsTRqyiW3/ZFgJnyQvOCDpUcscPPZMD/M+hWqxIIpJAGSrZPIols2kMFUPXkUX
++8PzNfrjAkEAy46SegCQWQahpiipZq52ffuhFDfhMYU1uANWwRyu1IAOyQ+M+saI
+3cI0ok1bkWsOtNKRr+QgK54zGJIyU8Dg8wJBALjKoxOucumpAiojXrPvbraLdUya
+tu1jD8V05fIzLp/dhynrAovoZaWVD9E6OPW0wJbIGCESRo6pPkvuRJSziJUCQQCE
+rz99dSaiUTdHVtPtUaV9Q2thAXexztIQS2TeZfL0IzEAEDnmMUl/u5qRfPlGFdG1
+PlimnX320J0f1BQoEd7PAkAqp9yNGAjKTqOicyYJ2m87EeudvUzryt0fO3yA5W76
+p0YX7ETgqQqDNOWHrJGHntEXMGhirx7lV5nzva5ypQmt
+-----END RSA PRIVATE KEY-----
+-----BEGIN CERTIFICATE-----
+MIIDNjCCAp+gAwIBAgIBADANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJVSzES
+MBAGA1UEBxMJQ2FtYnJpZGdlMSAwHgYDVQQKExdVbml2ZXJzaXR5IG9mIENhbWJy
+aWRnZTEaMBgGA1UECxMRQ29tcHV0aW5nIFNlcnZpY2UxFTATBgNVBAMTDFBoaWxp
+cCBIYXplbDAeFw0wMjA0MTUwODA0MThaFw0yOTA4MzAwODA0MThaMHYxCzAJBgNV
+BAYTAlVLMRIwEAYDVQQHEwlDYW1icmlkZ2UxIDAeBgNVBAoTF1VuaXZlcnNpdHkg
+b2YgQ2FtYnJpZGdlMRowGAYDVQQLExFDb21wdXRpbmcgU2VydmljZTEVMBMGA1UE
+AxMMUGhpbGlwIEhhemVsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4eIDt
+pcY7ff5P3yCnXXdLWNcewKgUBj6GuNqHAFrfbZq6tDlSZ3FXVvOwU4Rgn6ciGP5R
+EYuR4TB26/PY+bJEVUMyAb8OmcE+l6aeG0kQlM3Wa0UUfo3GNt9U7+VU7puS3SwL
+jKYSI6ny17xyFcukBkiRTOo3H6z0yM742wPFeQIDAQABo4HTMIHQMB0GA1UdDgQW
+BBTEcwEd5VFb4YlzEKcvHKP/s4gpVDCBoAYDVR0jBIGYMIGVgBTEcwEd5VFb4Ylz
+EKcvHKP/s4gpVKF6pHgwdjELMAkGA1UEBhMCVUsxEjAQBgNVBAcTCUNhbWJyaWRn
+ZTEgMB4GA1UEChMXVW5pdmVyc2l0eSBvZiBDYW1icmlkZ2UxGjAYBgNVBAsTEUNv
+bXB1dGluZyBTZXJ2aWNlMRUwEwYDVQQDEwxQaGlsaXAgSGF6ZWyCAQAwDAYDVR0T
+BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQBpuWb36BAO+aDbCWVSnt8C2rAz3Ii7
+05kmrTugCiDj4VLHk6DL126Q6AuBWs9HKM/ynOOTcYTz20WkgpXaYf6Cdq/Z538d
+tqD1gAAL2M04O6K41RLcIicVFeXWjjwp5tfQc+AMI7rD0FCHSbhY67+UHUFyoyFK
+x8LiaV5jYIFfbg==
+-----END CERTIFICATE-----
diff --git a/test/aux-fixed/cert2 b/test/aux-fixed/cert2
new file mode 100644
index 000000000..e41499e13
--- /dev/null
+++ b/test/aux-fixed/cert2
@@ -0,0 +1,35 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQDUN6wesp5nny2A5IAy9PqN9pajhpMLWhggY7Sx7uG5v7bPpupH
+zQ9/Hq0K6vQevCp62Mi2lN5xM4kRwMyd8q8gH5hgt23dJFSkBKmmK067TZ53/yOZ
+y270sisQNELlqRfws9CvX/AFXMVs6SjVsLIuAD3sn6x+yeMW/ipr450nXQIDAQAB
+AoGAYZZsTv2CfFIlgaUSEty2rzuaz/3ddpXqjFJtUHlyUZGIhnrSN0xj+OfpWSDs
+O4n52t3/hn50wAeb248WSPfFcaClKMGdCBAMQnbwSoQR4oNiSZQqGw8vyF2PQ2CQ
+FOqQzwnBffimRGInpanoysRazxs6JzsmcLC4a94uIFt7/uECQQDzScFkxUATse5P
+ekilv5Zge2cNa7LO5hACLp9eP46Lxd/0S8eMNlGlftYpqmXhxu6zMUuRyKQAu0Y/
+C14EHIl5AkEA305QKgfzVbo6EWmOvGwIBo3pLWuyI7IntNtLrIE728mankRbnW0f
+mfx+FWmNKgbIXC803X2vAxQwIpnWldw4BQJAcejdqO4GI3KS7xmFPD3pDcGZrZn4
+fZEQe8USj1FYz67VPg/hHZAtSDyLz7RdwYmgJ7xz8o0r5L/KkygiW/B0mQJBAJgH
+LxiOdSImOSZloSGywvwDXX7o1UzsG5BLxIdbLK+D39pkW6MgCeXCOuzFAbBdEceA
+9BLfYGlOMz87URaR6SkCQQCyAwDmaBjF8OiUDQVl4JqJaGNhagocA3h7NIGeccSt
+NtO+qfBHfW7qCBQ7LTgAB6v9CGasRbkrZvglCxRVg6Mj
+-----END RSA PRIVATE KEY-----
+-----BEGIN CERTIFICATE-----
+MIIDNjCCAp+gAwIBAgIBADANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJVSzES
+MBAGA1UEBxMJQ2FtYnJpZGdlMSAwHgYDVQQKExdVbml2ZXJzaXR5IG9mIENhbWJy
+aWRnZTEaMBgGA1UECxMRQ29tcHV0aW5nIFNlcnZpY2UxFTATBgNVBAMTDFBoaWxp
+cCBIYXplbDAeFw0wMjA0MTUwODA0NTBaFw0yOTA4MzAwODA0NTBaMHYxCzAJBgNV
+BAYTAlVLMRIwEAYDVQQHEwlDYW1icmlkZ2UxIDAeBgNVBAoTF1VuaXZlcnNpdHkg
+b2YgQ2FtYnJpZGdlMRowGAYDVQQLExFDb21wdXRpbmcgU2VydmljZTEVMBMGA1UE
+AxMMUGhpbGlwIEhhemVsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUN6we
+sp5nny2A5IAy9PqN9pajhpMLWhggY7Sx7uG5v7bPpupHzQ9/Hq0K6vQevCp62Mi2
+lN5xM4kRwMyd8q8gH5hgt23dJFSkBKmmK067TZ53/yOZy270sisQNELlqRfws9Cv
+X/AFXMVs6SjVsLIuAD3sn6x+yeMW/ipr450nXQIDAQABo4HTMIHQMB0GA1UdDgQW
+BBRgFqRZUo+RgbAGSGs4mLA+eW0WDjCBoAYDVR0jBIGYMIGVgBRgFqRZUo+RgbAG
+SGs4mLA+eW0WDqF6pHgwdjELMAkGA1UEBhMCVUsxEjAQBgNVBAcTCUNhbWJyaWRn
+ZTEgMB4GA1UEChMXVW5pdmVyc2l0eSBvZiBDYW1icmlkZ2UxGjAYBgNVBAsTEUNv
+bXB1dGluZyBTZXJ2aWNlMRUwEwYDVQQDEwxQaGlsaXAgSGF6ZWyCAQAwDAYDVR0T
+BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQDDU60ui0hP3WIvFWqV/eDVpEN1wRoo
+NcNDfOLhAavQQOKrhrIwcFHIh2mm727z4+uzKBghssrQ+9mVx/VbUKH1QCCJkdSp
+Gy5mp5Uym/piVcGEuNqZ8SkOg4+f+1LCqcVl+tgNaT7+NoPFWcu2Vn5MYZHkd4Mw
+oCabzXDoxmo0lQ==
+-----END CERTIFICATE-----
diff --git a/test/aux-fixed/cert2.revoke b/test/aux-fixed/cert2.revoke
new file mode 100644
index 000000000..9371735ea
--- /dev/null
+++ b/test/aux-fixed/cert2.revoke
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDNjCCAp+gAwIBAgIBADANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJVSzES
+MBAGA1UEBxMJQ2FtYnJpZGdlMSAwHgYDVQQKExdVbml2ZXJzaXR5IG9mIENhbWJy
+aWRnZTEaMBgGA1UECxMRQ29tcHV0aW5nIFNlcnZpY2UxFTATBgNVBAMTDFBoaWxp
+cCBIYXplbDAeFw0wMjA0MTUwODA0NTBaFw0yOTA4MzAwODA0NTBaMHYxCzAJBgNV
+BAYTAlVLMRIwEAYDVQQHEwlDYW1icmlkZ2UxIDAeBgNVBAoTF1VuaXZlcnNpdHkg
+b2YgQ2FtYnJpZGdlMRowGAYDVQQLExFDb21wdXRpbmcgU2VydmljZTEVMBMGA1UE
+AxMMUGhpbGlwIEhhemVsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUN6we
+sp5nny2A5IAy9PqN9pajhpMLWhggY7Sx7uG5v7bPpupHzQ9/Hq0K6vQevCp62Mi2
+lN5xM4kRwMyd8q8gH5hgt23dJFSkBKmmK067TZ53/yOZy270sisQNELlqRfws9Cv
+X/AFXMVs6SjVsLIuAD3sn6x+yeMW/ipr450nXQIDAQABo4HTMIHQMB0GA1UdDgQW
+BBRgFqRZUo+RgbAGSGs4mLA+eW0WDjCBoAYDVR0jBIGYMIGVgBRgFqRZUo+RgbAG
+SGs4mLA+eW0WDqF6pHgwdjELMAkGA1UEBhMCVUsxEjAQBgNVBAcTCUNhbWJyaWRn
+ZTEgMB4GA1UEChMXVW5pdmVyc2l0eSBvZiBDYW1icmlkZ2UxGjAYBgNVBAsTEUNv
+bXB1dGluZyBTZXJ2aWNlMRUwEwYDVQQDEwxQaGlsaXAgSGF6ZWyCAQAwDAYDVR0T
+BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQDDU60ui0hP3WIvFWqV/eDVpEN1wRoo
+NcNDfOLhAavQQOKrhrIwcFHIh2mm727z4+uzKBghssrQ+9mVx/VbUKH1QCCJkdSp
+Gy5mp5Uym/piVcGEuNqZ8SkOg4+f+1LCqcVl+tgNaT7+NoPFWcu2Vn5MYZHkd4Mw
+oCabzXDoxmo0lQ==
+-----END CERTIFICATE-----
diff --git a/test/aux-fixed/crl.pem b/test/aux-fixed/crl.pem
new file mode 100644
index 000000000..c4ae33379
--- /dev/null
+++ b/test/aux-fixed/crl.pem
@@ -0,0 +1,10 @@
+-----BEGIN X509 CRL-----
+MIIBUTCBuzANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJVSzESMBAGA1UEBxMJ
+Q2FtYnJpZGdlMSAwHgYDVQQKExdVbml2ZXJzaXR5IG9mIENhbWJyaWRnZTEaMBgG
+A1UECxMRQ29tcHV0aW5nIFNlcnZpY2UxFTATBgNVBAMTDFBoaWxpcCBIYXplbBcN
+MDQwMjI3MTIxNDEyWhcNMzEwNzE0MTIxNDEyWjAUMBICAQAXDTA0MDIyNzEyMDU0
+M1owDQYJKoZIhvcNAQEEBQADgYEAzoMDrsieUPRMPNzc0jzMmL0DKgxeUcyKPGNS
+cvJbh5z3obcCDq1HUAGb9k+J5jtWEMIqt27PN/qvmaeXJEsgoKvXnWAPIAF49UaT
+JfuRUztWJYMGPOzaYxivcHVp4oqMxyZhy89PdPaJJAtd/ovMHoaURUjoxfL/H5tZ
+TbLmzSE=
+-----END X509 CRL-----
diff --git a/test/aux-fixed/dh1 b/test/aux-fixed/dh1
new file mode 100644
index 000000000..19790719c
--- /dev/null
+++ b/test/aux-fixed/dh1
@@ -0,0 +1,4 @@
+-----BEGIN DH PARAMETERS-----
+MEYCQQDvm7YRO1eI8/KvUDLgSUYCXJD4wbcrK1W4LN943KQa3jquluhNuJhYIgzY
+yq1N9SdKxoz3aOctoib4Mq6If0HbAgEC
+-----END DH PARAMETERS-----
diff --git a/test/aux-fixed/gnutls-params b/test/aux-fixed/gnutls-params
new file mode 100644
index 000000000..5fd15f841
--- /dev/null
+++ b/test/aux-fixed/gnutls-params
@@ -0,0 +1,16 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIBOgIBAAJBANaJrAW82pGvpnCZtUm1gGYBkQU7IT4FHuBu/f6TaakRt2Tl6jPm
+STeFY7HCxeKO+NaxrRqGj+77bdW1McEaPg8CAwEAAQJAUC8Dft9/d40FcbdZVRPD
+yhxSxfg8K/CBAlQplXEmQBxiJ7zDsdqJC2C8qO/HYzgLNNKKMFsq+SkiwRuP0ZoH
+DQIhAN/aWQpj1Z7MhNervDKNx3mVbsJb59Cw51Z7TE8CpU/NAiEA9VjdkywEyJox
+MTh5kWx/0USTvf+Tm5Lr1BCivrocUUsCIFL8uZxPWf5gml6Fd5QF2uW34nTS0qeF
+2AE4s6OGtf0NAiEA31nePV0S8lHQUuxqiNMjBylbVjPFzLDIJ3HKQWQZ8wcCIBRy
+w144Nd8BGkUPlChqoW1y1XU43Wz5VI8g5ZFiuzPk
+-----END RSA PRIVATE KEY-----
+
+-----BEGIN DH PARAMETERS-----
+MGUCYKCtXam0x/2mj+EibbOu+m/WAR33VA+YHPYQZuqr6PrwYnUcex5Hm4/QNsGy
+b0o6BgckIFopfTgrUUANGuOlqAbGAwfzV2FxnEorKXTCP36hBFSWtFDbEcFVxQqr
+jfVLwwIBBg==
+-----END DH PARAMETERS-----
+
diff --git a/test/aux-fixed/resubmit b/test/aux-fixed/resubmit
new file mode 100755
index 000000000..a7ea2430d
--- /dev/null
+++ b/test/aux-fixed/resubmit
@@ -0,0 +1,23 @@
+#! /usr/bin/perl -w
+
+# A test script that reads a message and resubmits it to Exim (having
+# notionally checked it - but there's no checking here).
+
+# The message is on the standard input.
+# The sender is in the first argument.
+# The recipients are comma separated in the second argument.
+# The number of the test is in the third argument - so we can call Exim
+# with the appropriate configuration file.
+
+($sender,$recipients,$dir,$caller) = @ARGV;
+
+$cmd =
+ "$dir/eximdir/exim -C $dir/test-config -DCALLER=$caller -DDIR=$dir " .
+ "-DEXIM_PATH=$dir/eximdir/exim " .
+ "-odi -oi -oMr scanned-ok -f $sender '$recipients'";
+
+open(OUT, "|$cmd") || die "Failed to set up Exim process\n";
+print OUT while (<STDIN>);
+close(OUT);
+
+# End
diff --git a/test/aux-fixed/resubmitB b/test/aux-fixed/resubmitB
new file mode 100755
index 000000000..f92596864
--- /dev/null
+++ b/test/aux-fixed/resubmitB
@@ -0,0 +1,20 @@
+#! /usr/bin/perl -w
+
+# A test script that reads a message and resubmits it to Exim (having
+# notionally checked it - but there's no checking here). This version
+# uses BSMTP for input and output.
+
+# The number of the test is in the only argument - so we can call Exim
+# with the appropriate configuration file.
+
+($dir,$caller) = @ARGV;
+
+$cmd =
+ "$dir/eximdir/exim -C $dir/test-config -DCALLER=$caller -DDIR=$dir " .
+ "-DEXIM_PATH=$dir/eximdir/exim -odi -bS -oMr scanned-ok";
+
+open(OUT, "|$cmd") || die "Failed to set up Exim process\n";
+print OUT while (<STDIN>);
+close(OUT);
+
+# End
diff --git a/test/aux-fixed/showenv b/test/aux-fixed/showenv
new file mode 100755
index 000000000..a49833ada
--- /dev/null
+++ b/test/aux-fixed/showenv
@@ -0,0 +1,38 @@
+#! /bin/sh
+
+# This script outputs certain information about the environment, for use when
+# testing pipe transports.
+
+echo Test pipe script
+echo Running as: `whoami`
+echo ------------------
+echo Args:
+while [ "$1" != "" ]; do
+ echo " $1"
+ shift
+done
+echo ----------current-----------
+pwd
+echo ----------env-----------
+echo A=$A
+echo B=$B
+echo C=$C
+echo COLON=$COLON
+echo DOMAIN=$DOMAIN
+echo HOME=$HOME
+echo LOCAL_PART=$LOCAL_PART
+echo LOCAL_PART_PREFIX=$LOCAL_PART_PREFIX
+echo LOCAL_PART_SUFFIX=$LOCAL_PART_SUFFIX
+echo LOGNAME=$LOGNAME
+echo ME=$ME
+echo MESSAGE_ID=$MESSAGE_ID
+echo PATH=$PATH
+echo QUALIFY_DOMAIN=$QUALIFY_DOMAIN
+echo RECIPIENT=$RECIPIENT
+echo SENDER=$SENDER
+echo SHELL=$SHELL
+echo USER=$USER
+echo ----------cat-----------
+cat
+echo ------------------
+
diff --git a/test/aux-fixed/sqlitedb b/test/aux-fixed/sqlitedb
new file mode 100644
index 000000000..b894044a3
--- /dev/null
+++ b/test/aux-fixed/sqlitedb
Binary files differ