Debug: expansions: refactor ascii-art/UTF8; mark up space & nl
authorJeremy Harris <jgh146exb@wizmail.org>
Fri, 8 Mar 2024 01:59:34 +0000 (01:59 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Fri, 8 Mar 2024 01:59:34 +0000 (01:59 +0000)
19 files changed:
src/src/expand.c
src/src/macros.h
src/src/os.c
src/src/string.c
test/runtest
test/scripts/0000-Basic/0002
test/stderr/0002
test/stderr/0092
test/stderr/0402
test/stderr/0544
test/stderr/0620
test/stderr/0628
test/stderr/0630
test/stderr/0632
test/stderr/2610
test/stderr/3000
test/stderr/5410
test/stderr/5420
test/stdout/0002

index 6be5cca0edc6bc564acf8f79c7fa98129dd6e487..a916eee64175707951c8dbf66a07e3012b011165 100644 (file)
@@ -4496,30 +4496,17 @@ return yield;
 /************************************************/
 static void
 debug_expansion_interim(const uschar * what, const uschar * value, int nchar,
 /************************************************/
 static void
 debug_expansion_interim(const uschar * what, const uschar * value, int nchar,
-  BOOL skipping)
+  esi_flags flags)
 {
 {
-DEBUG(D_noutf8)
-  debug_printf_indent("|");
-else
-  debug_printf_indent(UTF8_VERT_RIGHT);
+debug_printf_indent("%V", "K");
 
 for (int fill = 11 - Ustrlen(what); fill > 0; fill--)
 
 for (int fill = 11 - Ustrlen(what); fill > 0; fill--)
-  DEBUG(D_noutf8)
-    debug_printf("-");
-  else
-    debug_printf(UTF8_HORIZ);
+  debug_printf("%V", "-");
 
 
-debug_printf("%s: %.*s\n", what, nchar, value);
+debug_printf("%s: %.*W\n", what, nchar, value);
 if (is_tainted(value))
 if (is_tainted(value))
-  {
-  DEBUG(D_noutf8)
-    debug_printf_indent("%s     \\__", skipping ? "|     " : "      ");
-  else
-    debug_printf_indent("%s",
-      skipping
-      ? UTF8_VERT "             " : "           " UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ);
-  debug_printf("(tainted)\n");
-  }
+  debug_printf_indent("%V          %V(tainted)\n",
+    flags & ESI_SKIPPING ? "|" : " ", "\\__");
 }
 
 
 }
 
 
@@ -4618,17 +4605,10 @@ while (*s)
 
   DEBUG(D_expand)
     {
 
   DEBUG(D_expand)
     {
-    DEBUG(D_noutf8)
-      debug_printf_indent("%c%s: %s\n",
-       first ? '/' : '|',
-       flags & ESI_SKIPPING ? "---scanning" : "considering", s);
-    else
-      debug_printf_indent("%s%s: %s\n",
-       first ? UTF8_DOWN_RIGHT : UTF8_VERT_RIGHT,
-       flags & ESI_SKIPPING
-       ? UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ "scanning"
-       : "considering",
-       s);
+    debug_printf_indent("%V%V%s: %W\n",
+      first ? "/" : "K",
+      flags & ESI_SKIPPING ? "---" : "",
+      flags & ESI_SKIPPING ? "scanning" : "considering", s);
     first = FALSE;
     }
 
     first = FALSE;
     }
 
@@ -4651,21 +4631,20 @@ while (*s)
       for (s = t; *s ; s++) if (*s == '\\' && s[1] == 'N') break;
 
       DEBUG(D_expand)
       for (s = t; *s ; s++) if (*s == '\\' && s[1] == 'N') break;
 
       DEBUG(D_expand)
-       debug_expansion_interim(US"protected", t, (int)(s - t), !!(flags & ESI_SKIPPING));
-      yield = string_catn(yield, t, s - t);
+       debug_expansion_interim(US"protected", t, (int)(s - t), flags);
+      if (!(flags & ESI_SKIPPING))
+       yield = string_catn(yield, t, s - t);
       if (*s) s += 2;
       }
     else
       {
       uschar ch[1];
       DEBUG(D_expand)
       if (*s) s += 2;
       }
     else
       {
       uschar ch[1];
       DEBUG(D_expand)
-       DEBUG(D_noutf8)
-         debug_printf_indent("|backslashed: '\\%c'\n", s[1]);
-       else
-         debug_printf_indent(UTF8_VERT_RIGHT "backslashed: '\\%c'\n", s[1]);
+       debug_printf_indent("%Vbackslashed: '\\%c'\n", "K", s[1]);
       ch[0] = string_interpret_escape(&s);
       ch[0] = string_interpret_escape(&s);
+      if (!(flags & ESI_SKIPPING))
+       yield = string_catn(yield, ch, 1);
       s++;
       s++;
-      yield = string_catn(yield, ch, 1);
       }
     continue;
     }
       }
     continue;
     }
@@ -4682,9 +4661,10 @@ while (*s)
     for (const uschar * t = s+1;
        *t && *t != '$' && *t != '}' && *t != '\\'; t++) i++;
 
     for (const uschar * t = s+1;
        *t && *t != '$' && *t != '}' && *t != '\\'; t++) i++;
 
-    DEBUG(D_expand) debug_expansion_interim(US"text", s, i, !!(flags & ESI_SKIPPING));
+    DEBUG(D_expand) debug_expansion_interim(US"text", s, i, flags);
 
 
-    yield = string_catn(yield, s, i);
+    if (!(flags & ESI_SKIPPING))
+      yield = string_catn(yield, s, i);
     s += i;
     continue;
     }
     s += i;
     continue;
     }
@@ -4710,15 +4690,16 @@ while (*s)
     /* If this is the first thing to be expanded, release the pre-allocated
     buffer. */
 
     /* If this is the first thing to be expanded, release the pre-allocated
     buffer. */
 
-    if (!yield)
-      g = store_get(sizeof(gstring), GET_UNTAINTED);
-    else if (yield->ptr == 0)
-      {
-      if (resetok) reset_point = store_reset(reset_point);
-      yield = NULL;
-      reset_point = store_mark();
-      g = store_get(sizeof(gstring), GET_UNTAINTED);   /* alloc _before_ calling find_variable() */
-      }
+    if (!(flags & ESI_SKIPPING))
+      if (!yield)
+       g = store_get(sizeof(gstring), GET_UNTAINTED);
+      else if (yield->ptr == 0)
+       {
+       if (resetok) reset_point = store_reset(reset_point);
+       yield = NULL;
+       reset_point = store_mark();
+       g = store_get(sizeof(gstring), GET_UNTAINTED);  /* alloc _before_ calling find_variable() */
+       }
 
     /* Header */
 
 
     /* Header */
 
@@ -4767,16 +4748,17 @@ while (*s)
     reset in the middle of the buffer will make it inaccessible. */
 
     len = Ustrlen(value);
     reset in the middle of the buffer will make it inaccessible. */
 
     len = Ustrlen(value);
-    DEBUG(D_expand) debug_expansion_interim(US"value", value, len, !!(flags & ESI_SKIPPING));
-    if (!yield && newsize != 0)
-      {
-      yield = g;
-      yield->size = newsize;
-      yield->ptr = len;
-      yield->s = US value; /* known to be in new store i.e. a copy, so deconst safe */
-      }
-    else
-      yield = string_catn(yield, value, len);
+    DEBUG(D_expand) debug_expansion_interim(US"value", value, len, flags);
+    if (!(flags & ESI_SKIPPING))
+      if (!yield && newsize != 0)
+       {
+       yield = g;
+       yield->size = newsize;
+       yield->ptr = len;
+       yield->s = US value; /* known to be in new store i.e. a copy, so deconst safe */
+       }
+      else
+       yield = string_catn(yield, value, len);
 
     continue;
     }
 
     continue;
     }
@@ -4787,8 +4769,9 @@ while (*s)
     s = read_cnumber(&n, s);
     if (n >= 0 && n <= expand_nmax)
       {
     s = read_cnumber(&n, s);
     if (n >= 0 && n <= expand_nmax)
       {
-      DEBUG(D_expand) debug_expansion_interim(US"value", expand_nstring[n], expand_nlength[n], !!(flags & ESI_SKIPPING));
-      yield = string_catn(yield, expand_nstring[n], expand_nlength[n]);
+      DEBUG(D_expand) debug_expansion_interim(US"value", expand_nstring[n], expand_nlength[n], flags);
+      if (!(flags & ESI_SKIPPING))
+       yield = string_catn(yield, expand_nstring[n], expand_nlength[n]);
       }
     continue;
     }
       }
     continue;
     }
@@ -4815,8 +4798,9 @@ while (*s)
       }
     if (n >= 0 && n <= expand_nmax)
       {
       }
     if (n >= 0 && n <= expand_nmax)
       {
-      DEBUG(D_expand) debug_expansion_interim(US"value", expand_nstring[n], expand_nlength[n], !!(flags & ESI_SKIPPING));
-      yield = string_catn(yield, expand_nstring[n], expand_nlength[n]);
+      DEBUG(D_expand) debug_expansion_interim(US"value", expand_nstring[n], expand_nlength[n], flags);
+      if (!(flags & ESI_SKIPPING))
+       yield = string_catn(yield, expand_nstring[n], expand_nlength[n]);
       }
     continue;
     }
       }
     continue;
     }
@@ -4941,9 +4925,9 @@ while (*s)
 
       DEBUG(D_expand)
        {
 
       DEBUG(D_expand)
        {
-       debug_expansion_interim(US"condition", s, (int)(next_s - s), !!(flags & ESI_SKIPPING));
+       debug_expansion_interim(US"condition", s, (int)(next_s - s), flags);
        debug_expansion_interim(US"result",
        debug_expansion_interim(US"result",
-         cond ? US"true" : US"false", cond ? 4 : 5, !!(flags & ESI_SKIPPING));
+         cond ? US"true" : US"false", cond ? 4 : 5, flags);
        }
 
       s = next_s;
        }
 
       s = next_s;
@@ -7162,7 +7146,7 @@ while (*s)
     if (yield && (expansion_start > 0 || *s))
       debug_expansion_interim(US"item-res",
          yield->s + expansion_start, yield->ptr - expansion_start,
     if (yield && (expansion_start > 0 || *s))
       debug_expansion_interim(US"item-res",
          yield->s + expansion_start, yield->ptr - expansion_start,
-         !!(flags & ESI_SKIPPING));
+         flags);
   continue;
 
 NOT_ITEM: ;
   continue;
 
 NOT_ITEM: ;
@@ -8347,27 +8331,13 @@ NOT_ITEM: ;
        int i = gstring_length(yield) - expansion_start;
        BOOL tainted = is_tainted(s);
 
        int i = gstring_length(yield) - expansion_start;
        BOOL tainted = is_tainted(s);
 
-       DEBUG(D_noutf8)
-         {
-         debug_printf_indent("|-----op-res: %.*s\n", i, s);
-         if (tainted)
-           {
-           debug_printf_indent("%s     \\__", flags & ESI_SKIPPING ? "|     " : "      ");
-           debug_print_taint(res);
-           }
-         }
-       else
+       debug_printf_indent("%Vop-res: %.*s\n", "K-----", i, s);
+       if (tainted)
          {
          {
-         debug_printf_indent(UTF8_VERT_RIGHT
-           UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
-           "op-res: %.*s\n", i, s);
-         if (tainted)
-           {
-           debug_printf_indent("%s",
-             flags & ESI_SKIPPING
-             ? UTF8_VERT "             " : "           " UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ);
-           debug_print_taint(res);
-           }
+         debug_printf_indent("%V          %V",
+           flags & ESI_SKIPPING ? "|" : " ",
+           "\\__");
+         debug_print_taint(res);
          }
        }
        continue;
          }
        }
        continue;
@@ -8459,39 +8429,25 @@ left != NULL, return a pointer to the terminator. */
   DEBUG(D_expand)
     {
     BOOL tainted = is_tainted(res);
   DEBUG(D_expand)
     {
     BOOL tainted = is_tainted(res);
-    DEBUG(D_noutf8)
-      {
-      debug_printf_indent("|--expanding: %.*s\n", (int)(s - string), string);
-      debug_printf_indent("%sresult: %s\n",
-       flags & ESI_SKIPPING ? "|-----" : "\\_____", res);
-      if (tainted)
-       {
-       debug_printf_indent("%s     \\__", flags & ESI_SKIPPING ? "|     " : "      ");
-       debug_print_taint(res);
-       }
-      if (flags & ESI_SKIPPING)
-       debug_printf_indent("\\___skipping: result is not used\n");
-      }
+    debug_printf_indent("%Vexpanded: %.*W\n",
+      "K---",
+      (int)(s - string), string);
+    debug_printf_indent("%Vresult: ",
+      flags & ESI_SKIPPING ? "K-----" : "\\_____");
+    if (*res || !(flags & ESI_SKIPPING))
+      debug_printf("%W\n", res);
     else
     else
+      debug_printf(" %Vskipped%V\n", "<", ">");
+    if (tainted)
       {
       {
-      debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
-       "expanding: %.*s\n",
-       (int)(s - string), string);
-      debug_printf_indent("%s" UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
-       "result: %s\n",
-       flags & ESI_SKIPPING ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT,
-       res);
-      if (tainted)
-       {
-       debug_printf_indent("%s",
-         flags & ESI_SKIPPING
-         ? UTF8_VERT "             " : "           " UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ);
-       debug_print_taint(res);
-       }
-      if (flags & ESI_SKIPPING)
-       debug_printf_indent(UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
-         "skipping: result is not used\n");
+      debug_printf_indent("%V          %V",
+       flags & ESI_SKIPPING ? "|" : " ",
+       "\\__"
+       );
+      debug_print_taint(res);
       }
       }
+    if (flags & ESI_SKIPPING)
+      debug_printf_indent("%Vskipping: result is not used\n", "\\___");
     }
   if (textonly_p) *textonly_p = textonly;
   expand_level--;
     }
   if (textonly_p) *textonly_p = textonly;
   expand_level--;
@@ -8517,25 +8473,11 @@ EXPAND_FAILED:
 if (left) *left = s;
 DEBUG(D_expand)
   {
 if (left) *left = s;
 DEBUG(D_expand)
   {
-  DEBUG(D_noutf8)
-    {
-    debug_printf_indent("|failed to expand: %s\n", string);
-    debug_printf_indent("%serror message: %s\n",
-      f.expand_string_forcedfail ? "|---" : "\\___", expand_string_message);
-    if (f.expand_string_forcedfail)
-      debug_printf_indent("\\failure was forced\n");
-    }
-  else
-    {
-    debug_printf_indent(UTF8_VERT_RIGHT "failed to expand: %s\n",
-      string);
-    debug_printf_indent("%s" UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
-      "error message: %s\n",
-      f.expand_string_forcedfail ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT,
-      expand_string_message);
-    if (f.expand_string_forcedfail)
-      debug_printf_indent(UTF8_UP_RIGHT "failure was forced\n");
-    }
+  debug_printf_indent("%Vfailed to expand: %s\n", "K", string);
+  debug_printf_indent("%Verror message: %s\n",
+    f.expand_string_forcedfail ? "K---" : "\\___", expand_string_message);
+  if (f.expand_string_forcedfail)
+    debug_printf_indent("%Vfailure was forced\n", "\\");
   }
 if (resetok_p && !resetok) *resetok_p = FALSE;
 expand_level--;
   }
 if (resetok_p && !resetok) *resetok_p = FALSE;
 expand_level--;
index 902cdd1655e03c6dd3d9239324dff0e75d182a48..3341f5f412c52b332e5aacb527dc3e4d3963c7c9 100644 (file)
@@ -107,8 +107,9 @@ don't make the file descriptors two-way. */
 /* Debugging control */
 
 #define LOG_NAME_SIZE 256
 /* Debugging control */
 
 #define LOG_NAME_SIZE 256
-#define DEBUG(x)      if (debug_selector & (x))
-#define HDEBUG(x)     if (host_checking || debug_selector & (x))
+#define IS_DEBUG(x)    (debug_selector & (x))
+#define DEBUG(x)       if (IS_DEBUG(x))
+#define HDEBUG(x)      if (host_checking || IS_DEBUG(x))
 
 /* The default From: text for DSNs */
 
 
 /* The default From: text for DSNs */
 
@@ -1057,6 +1058,10 @@ enum { FILTER_UNSET, FILTER_FORWARD, FILTER_EXIM, FILTER_SIEVE };
 #define UTF8_VERT_RIGHT                "\xE2\x94\x9C"
 #define UTF8_UP_RIGHT          "\xE2\x95\xB0"
 #define UTF8_VERT_2DASH                "\xE2\x95\x8E"
 #define UTF8_VERT_RIGHT                "\xE2\x94\x9C"
 #define UTF8_UP_RIGHT          "\xE2\x95\xB0"
 #define UTF8_VERT_2DASH                "\xE2\x95\x8E"
+#define UTF8_LEFT_TRIANGLE     "\xE2\x97\x80"
+#define UTF8_RIGHT_TRIANGLE    "\xE2\x96\xB6"
+#define UTF8_LIGHT_SHADE       "\xE2\x96\x91"
+#define UTF8_L_ARROW_HOOK      "\xE2\x86\xA9"
 
 
 /* Options on tls_close */
 
 
 /* Options on tls_close */
index c6d1e06c2a2841615478fa7a12416c7bc2bfc68e..3b49e4b9e980755b418e45e534f79229b1d9fcbc 100644 (file)
@@ -12,7 +12,8 @@
 # include <stdio.h>
 # include <time.h>
 #else
 # include <stdio.h>
 # include <time.h>
 #else
-# define DEBUG(x) if (debug_selector & (x))
+# define IS_DEBUG(x) (debug_selector & (x))
+# define DEBUG(x) if (IS_DEBUG(x))
 #endif
 
 #ifndef CS
 #endif
 
 #ifndef CS
index 3bf2f1df780eb04dfc6de691195816e4b4ee210e..af187c1992e13384795091e03946117bc2c2a584 100644 (file)
@@ -1348,7 +1348,7 @@ The return value can be NULL to signify overflow.
 Field width:           decimal digits, or *
 Precision:             dot, followed by decimal digits or *
 Length modifiers:      h  L  l  ll  z
 Field width:           decimal digits, or *
 Precision:             dot, followed by decimal digits or *
 Length modifiers:      h  L  l  ll  z
-Conversion specifiers: n d o u x X p f e E g G % c s S T Y D M
+Conversion specifiers: n d o u x X p f e E g G % c s S T W V Y D M
 
 Returns the possibly-new (if copy for growth or taint-handling was needed)
 string, not nul-terminated.
 
 Returns the possibly-new (if copy for growth or taint-handling was needed)
 string, not nul-terminated.
@@ -1597,11 +1597,77 @@ while (*fp)
     case 'Y':                  /* gstring pointer */
       {
       gstring * zg = va_arg(ap, gstring *);
     case 'Y':                  /* gstring pointer */
       {
       gstring * zg = va_arg(ap, gstring *);
-      if (zg) { s = CS zg->s; slen = zg->ptr;    }
+      if (zg) { s = CS zg->s; slen = gstring_length(zg); }
       else    { s = null;     slen = Ustrlen(s); }
       goto INSERT_GSTRING;
       }
       else    { s = null;     slen = Ustrlen(s); }
       goto INSERT_GSTRING;
       }
+#ifndef COMPILE_UTILITY
+    case 'V':                  /* Maybe convert ascii-art to UTF-8 chars */
+      {
+      gstring * zg = NULL;
+      s = va_arg(ap, char *);
+      if (IS_DEBUG(D_noutf8))
+       for ( ; *s; s++)
+         zg = string_catn(zg, CUS (*s == 'K' ? "|" : s), 1);
+      else
+       for ( ; *s; s++) switch (*s)
+         {
+         case '\\': zg = string_catn(zg, US UTF8_UP_RIGHT,       3); break;
+         case '/':  zg = string_catn(zg, US UTF8_DOWN_RIGHT,     3); break;
+         case '-':
+         case '_':  zg = string_catn(zg, US UTF8_HORIZ,          3); break;
+         case '|':  zg = string_catn(zg, US UTF8_VERT,           3); break;
+         case 'K':  zg = string_catn(zg, US UTF8_VERT_RIGHT,     3); break;
+         case '<':  zg = string_catn(zg, US UTF8_LEFT_TRIANGLE,  3); break;
+         case '>':  zg = string_catn(zg, US UTF8_RIGHT_TRIANGLE, 3); break;
+         default:   zg = string_catn(zg, CUS s, 1);                  break;
+         }
 
 
+      if (!zg)
+       break;
+      s = CS zg->s;
+      slen = gstring_length(zg);
+      goto INSERT_GSTRING;
+      }
+
+    case 'W':                  /* Maybe mark up spaces & newlines */
+      s = va_arg(ap, char *);
+      if (Ustrpbrk(s, " \n") && !IS_DEBUG(D_noutf8))
+       {
+       gstring * zg = NULL;
+       int p = precision;
+       for ( ; *s; s++)
+         {
+         /* Take a given precision as applying to the input; expand
+         it for the transformed result */
+
+         if (p >= 0 && --p < 0) break;
+         switch (*s)
+           {
+           case ' ':
+             zg = string_catn(zg, CUS UTF8_LIGHT_SHADE, 3);
+             if (precision >= 0) precision += 2;
+             break;
+           case '\n':
+             zg = string_catn(zg, CUS UTF8_L_ARROW_HOOK "\n", 4);
+             if (precision >= 0) precision += 3;
+             break;
+           default:
+             zg = string_catn(zg, CUS s, 1);
+             break;
+           }
+         }
+       if (zg) { s = CS zg->s; slen = gstring_length(zg); }
+       else    { s = null;     slen = Ustrlen(s); }
+       }
+      else
+       {
+       if (!s) s = null;
+       slen = Ustrlen(s);
+       }
+      goto INSERT_GSTRING;
+
+#endif
     case 's':
     case 'S':                   /* Forces *lower* case */
     case 'T':                   /* Forces *upper* case */
     case 's':
     case 'S':                   /* Forces *lower* case */
     case 'T':                   /* Forces *upper* case */
@@ -1610,7 +1676,7 @@ while (*fp)
       if (!s) s = null;
       slen = Ustrlen(s);
 
       if (!s) s = null;
       slen = Ustrlen(s);
 
-    INSERT_GSTRING:            /* Coome to from %Y above */
+    INSERT_GSTRING:            /* Come to from %Y above */
 
       if (!(flags & SVFMT_TAINT_NOCHK) && is_incompatible(g->s, s))
        if (flags & SVFMT_REBUFFER)
 
       if (!(flags & SVFMT_TAINT_NOCHK) && is_incompatible(g->s, s))
        if (flags & SVFMT_REBUFFER)
@@ -1909,3 +1975,5 @@ return 0;
 #endif
 
 /* End of string.c */
 #endif
 
 /* End of string.c */
+/* vi: aw ai sw=2
+*/
index 07c499fa4f80bc729f0939464039e710d38f4d2c..98914d1715ed69c2cc5258129c4fd3783c46403d 100755 (executable)
@@ -515,8 +515,18 @@ RESET_AFTER_EXTRA_LINE_READ:
   # time used was fixed when I first started running automatic Exim tests.
 
   # Date/time in header lines and SMTP responses
   # time used was fixed when I first started running automatic Exim tests.
 
   # Date/time in header lines and SMTP responses
-  s/[A-Z][a-z]{2},\s\d\d?\s[A-Z][a-z]{2}\s\d{4}\s\d\d\:\d\d:\d\d\s[-+]\d{4}
-    /Tue, 2 Mar 1999 09:44:33 +0000/gx;
+  s/[A-Z][a-z]{2},
+      (\s|\xE2\x96\x91)
+      \d\d?
+      (\s|\xE2\x96\x91)
+      [A-Z][a-z]{2}
+      (\s|\xE2\x96\x91)
+      \d{4}
+      (\s|\xE2\x96\x91)
+      \d\d\:\d\d:\d\d
+      (\s|\xE2\x96\x91)
+      [-+]\d{4}
+    /Tue,${1}2${2}Mar${3}1999${4}09:44:33${5}+0000/gx;
   # and in a French locale
   s/\S{4},\s\d\d?\s[^,]+\s\d{4}\s\d\d\:\d\d:\d\d\s[-+]\d{4}
     /dim., 10 f\xE9vr 2019 20:05:49 +0000/gx;
   # and in a French locale
   s/\S{4},\s\d\d?\s[^,]+\s\d{4}\s\d\d\:\d\d:\d\d\s[-+]\d{4}
     /dim., 10 f\xE9vr 2019 20:05:49 +0000/gx;
@@ -535,8 +545,14 @@ RESET_AFTER_EXTRA_LINE_READ:
   s/((D|[RQD]T)=)\d\.\d{3}s/$1q.qqqs/g;
 
   # Date/time in message separators
   s/((D|[RQD]T)=)\d\.\d{3}s/$1q.qqqs/g;
 
   # Date/time in message separators
-  s/(?:[A-Z][a-z]{2}\s){2}\d\d\s\d\d:\d\d:\d\d\s\d\d\d\d
-    /Tue Mar 02 09:44:33 1999/gx;
+  s/(?:[A-Z][a-z]{2}
+      (\s|\xE2\x96\x91)
+    ){2}\d\d
+      (\s|\xE2\x96\x91)
+      \d\d:\d\d:\d\d
+      (\s|\xE2\x96\x91)
+      \d\d\d\d
+    /Tue${1}Mar${1}02${2}09:44:33${3}1999/gx;
 
   # Date of message arrival in spool file as shown by -Mvh
   s/^\d{9,10}\s0$/ddddddddd 0/;
 
   # Date of message arrival in spool file as shown by -Mvh
   s/^\d{9,10}\s0$/ddddddddd 0/;
@@ -1206,7 +1222,7 @@ RESET_AFTER_EXTRA_LINE_READ:
     next if /^TLS: not preloading (CA bundle|cipher list) for server$/;
     next if /^TLS: not preloading server certs$/;
 
     next if /^TLS: not preloading (CA bundle|cipher list) for server$/;
     next if /^TLS: not preloading server certs$/;
 
-    # some plaatforms are missing the standard CA bundle file
+    # some platforms are missing the standard CA bundle file
     next if /^tls_set_watch\(\) fail on '\/usr\/lib\/ssl\/cert.pem': No such file or directory$/;
 
     # drop lookups
     next if /^tls_set_watch\(\) fail on '\/usr\/lib\/ssl\/cert.pem': No such file or directory$/;
 
     # drop lookups
@@ -1378,7 +1394,7 @@ RESET_AFTER_EXTRA_LINE_READ:
       }
 
     # Different builds will have different lookup types included
       }
 
     # Different builds will have different lookup types included
-    s/^\s*search_type \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/;
+    s/search_type \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/;
     # and different numbers of lookup types result in different type-code letters,
     # so convert them all to "0"
     s%(?<!lsearch)[^ ](?=TESTSUITE/aux-fixed/(?:0414.list[12]|0464.domains)$)%0%;
     # and different numbers of lookup types result in different type-code letters,
     # so convert them all to "0"
     s%(?<!lsearch)[^ ](?=TESTSUITE/aux-fixed/(?:0414.list[12]|0464.domains)$)%0%;
index 9b1e5120ed15d6125bd101f711874d2edec28a32..a90e7ee9c2a901b11dec392da59fb2c2b13a9653 100644 (file)
@@ -1011,6 +1011,7 @@ match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
 match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
 ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
 match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
 match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
 ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
 match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+protected: ${expand:\N \N}
 ****
 exim -d-all+expand+noutf8 -be
 primary_hostname: $primary_hostname
 ****
 exim -d-all+expand+noutf8 -be
 primary_hostname: $primary_hostname
@@ -1018,6 +1019,7 @@ match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
 match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
 ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
 match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
 match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
 ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
 match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+protected: ${expand:\N \N}
 ****
 # Sender host name and address etc, all unset
 exim -be
 ****
 # Sender host name and address etc, all unset
 exim -be
index d258b26b439251e511ac33d4c5329d09d3574f5a..593731a8dd7e6113ea50f4a81643cd1373af108c 100644 (file)
@@ -7,32 +7,32 @@ dropping to exim gid; retaining priv uid
 try option gecos_pattern
 try option gecos_name
 try option unknown_login
 try option gecos_pattern
 try option gecos_name
 try option unknown_login
- ╭considering: primary_hostname: $primary_hostname
- ├───────text: primary_hostname: 
+ ╭considering: primary_hostname:$primary_hostname
+ ├───────text: primary_hostname:
  ├considering: $primary_hostname
  ├──────value: myhost.test.ex
  ├considering: $primary_hostname
  ├──────value: myhost.test.ex
- ├──expanding: primary_hostname: $primary_hostname
- ╰─────result: primary_hostname: myhost.test.ex
- ╭considering: sender_address: $sender_address
- ├───────text: sender_address: 
+ ├───expanded: primary_hostname:░$primary_hostname
+ ╰─────result: primary_hostname:myhost.test.ex
+ ╭considering: sender_address:$sender_address
+ ├───────text: sender_address:
  ├considering: $sender_address
  ├──────value: sndr@dom
             ╰──(tainted)
  ├considering: $sender_address
  ├──────value: sndr@dom
             ╰──(tainted)
- ├──expanding: sender_address: $sender_address
- ╰─────result: sender_address: sndr@dom
+ ├───expanded: sender_address:░$sender_address
+ ╰─────result: sender_address:sndr@dom
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├───────text: match:  
- ├considering: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ╭considering: match:░░${if░match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├───────text: match:░░
+ ├considering: ${ifmatch{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ╭considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├───────text: abcd
   ├considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ╭considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├───────text: abcd
   ├considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
-  ├──expanding: abcd
+  ├───expanded: abcd
   ╰─────result: abcd
   ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├──protected: ^([ab]+)(\w+)$
   ├considering: }{$2$1}fail}
   ╰─────result: abcd
   ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├──protected: ^([ab]+)(\w+)$
   ├considering: }{$2$1}fail}
-  ├──expanding: \N^([ab]+)(\w+)$\N
+  ├───expanded: \N^([ab]+)(\w+)$\N
   ╰─────result: ^([ab]+)(\w+)$
  compiled RE '^([ab]+)(\w+)$' not found in local cache
  compiling RE '^([ab]+)(\w+)$'
   ╰─────result: ^([ab]+)(\w+)$
  compiled RE '^([ab]+)(\w+)$' not found in local cache
  compiling RE '^([ab]+)(\w+)$'
@@ -44,23 +44,23 @@ try option unknown_login
   ├considering: $1}fail}
   ├──────value: ab
   ├considering: }fail}
   ├considering: $1}fail}
   ├──────value: ab
   ├considering: }fail}
-  ├──expanding: $2$1
+  ├───expanded: $2$1
   ╰─────result: cdab
  ├───item-res: cdab
   ╰─────result: cdab
  ├───item-res: cdab
- ├──expanding: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ╰─────result: match:  cdab
- ╭considering: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├───────text: match:  
- ├considering: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├───expanded: match:░░${if░match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ╰─────result: match:░░cdab
+ ╭considering: match:░░${if░match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├───────text: match:░░
+ ├considering: ${ifmatch{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ╭considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├───────text: wxyz
   ├considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ╭considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├───────text: wxyz
   ├considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
-  ├──expanding: wxyz
+  ├───expanded: wxyz
   ╰─────result: wxyz
   ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├──protected: ^([ab]+)(\w+)$
   ├considering: }{$2$1}fail}
   ╰─────result: wxyz
   ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├──protected: ^([ab]+)(\w+)$
   ├considering: }{$2$1}fail}
-  ├──expanding: \N^([ab]+)(\w+)$\N
+  ├───expanded: \N^([ab]+)(\w+)$\N
   ╰─────result: ^([ab]+)(\w+)$
  compiled RE '^([ab]+)(\w+)$' found in local cache
  ├──condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
   ╰─────result: ^([ab]+)(\w+)$
  compiled RE '^([ab]+)(\w+)$' found in local cache
  ├──condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
@@ -68,61 +68,61 @@ try option unknown_login
   ╭───scanning: $2$1}fail}
   ├───scanning: $1}fail}
   ├───scanning: }fail}
   ╭───scanning: $2$1}fail}
   ├───scanning: $1}fail}
   ├───scanning: }fail}
-  ├──expanding: $2$1
-  ├─────result: 
+  ├───expanded: $2$1
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├failed to expand: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  ├───error message: "if" failed and "fail" requested
  ╰failure was forced
   ╰───skipping: result is not used
  ├failed to expand: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  ├───error message: "if" failed and "fail" requested
  ╰failure was forced
- ╭considering: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ╭considering: ${if░eq░{1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   ╭considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   ├───────text: 1
   ├considering: }{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   ╭considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   ├───────text: 1
   ├considering: }{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
-  ├──expanding: 1
+  ├───expanded: 1
   ╰─────result: 1
   ╭considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   ├───────text: 1
   ├considering: }{yes}{${lookup{xx}lsearch{/non/exist}}}}
   ╰─────result: 1
   ╭considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   ├───────text: 1
   ├considering: }{yes}{${lookup{xx}lsearch{/non/exist}}}}
-  ├──expanding: 1
+  ├───expanded: 1
   ╰─────result: 1
   ╰─────result: 1
- ├──condition: eq {1}{1}
+ ├──condition: eq{1}{1}
  ├─────result: true
   ╭considering: yes}{${lookup{xx}lsearch{/non/exist}}}}
   ├───────text: yes
   ├considering: }{${lookup{xx}lsearch{/non/exist}}}}
  ├─────result: true
   ╭considering: yes}{${lookup{xx}lsearch{/non/exist}}}}
   ├───────text: yes
   ├considering: }{${lookup{xx}lsearch{/non/exist}}}}
-  ├──expanding: yes
+  ├───expanded: yes
   ╰─────result: yes
   ╭───scanning: ${lookup{xx}lsearch{/non/exist}}}}
    ╭───scanning: xx}lsearch{/non/exist}}}}
    ├───────text: xx
    ├───scanning: }lsearch{/non/exist}}}}
   ╰─────result: yes
   ╭───scanning: ${lookup{xx}lsearch{/non/exist}}}}
    ╭───scanning: xx}lsearch{/non/exist}}}}
    ├───────text: xx
    ├───scanning: }lsearch{/non/exist}}}}
-   ├──expanding: xx
-   ├─────result: xx
+   ├───expanded: xx
+   ├─────result:  ◀skipped▶
    ╰───skipping: result is not used
    ╭───scanning: /non/exist}}}}
    ├───────text: /non/exist
    ├───scanning: }}}}
    ╰───skipping: result is not used
    ╭───scanning: /non/exist}}}}
    ├───────text: /non/exist
    ├───scanning: }}}}
-   ├──expanding: /non/exist
-   ├─────result: /non/exist
+   ├───expanded: /non/exist
+   ├─────result:  ◀skipped▶
    ╰───skipping: result is not used
   ├───scanning: }}
    ╰───skipping: result is not used
   ├───scanning: }}
-  ├──expanding: ${lookup{xx}lsearch{/non/exist}}
-  ├─────result: 
+  ├───expanded: ${lookup{xx}lsearch{/non/exist}}
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ├───expanded: ${if░eq░{1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
  ╰─────result: yes
  ╰─────result: yes
- ╭considering: match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
- ├───────text: match_address:   
- ├considering: ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+ ╭considering: match_address:░░░${if░match_address{a.b.c}{a.b.c}{yes}{no}}
+ ├───────text: match_address:░░░
+ ├considering: ${ifmatch_address{a.b.c}{a.b.c}{yes}{no}}
   ╭considering: a.b.c}{a.b.c}{yes}{no}}
   ├───────text: a.b.c
   ├considering: }{a.b.c}{yes}{no}}
   ╭considering: a.b.c}{a.b.c}{yes}{no}}
   ├───────text: a.b.c
   ├considering: }{a.b.c}{yes}{no}}
-  ├──expanding: a.b.c
+  ├───expanded: a.b.c
   ╰─────result: a.b.c
   ╭considering: a.b.c}{yes}{no}}
   ├───────text: a.b.c
   ├considering: }{yes}{no}}
   ╰─────result: a.b.c
   ╭considering: a.b.c}{yes}{no}}
   ├───────text: a.b.c
   ├considering: }{yes}{no}}
-  ├──expanding: a.b.c
+  ├───expanded: a.b.c
   ╰─────result: a.b.c
 LOG: MAIN PANIC
   no @ found in the subject of an address list match: subject="a.b.c" pattern="a.b.c"
   ╰─────result: a.b.c
 LOG: MAIN PANIC
   no @ found in the subject of an address list match: subject="a.b.c" pattern="a.b.c"
@@ -131,17 +131,32 @@ LOG: MAIN PANIC
   ╭───scanning: yes}{no}}
   ├───────text: yes
   ├───scanning: }{no}}
   ╭───scanning: yes}{no}}
   ├───────text: yes
   ├───scanning: }{no}}
-  ├──expanding: yes
-  ├─────result: yes
+  ├───expanded: yes
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: no}}
   ├───────text: no
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: no}}
   ├───────text: no
   ├considering: }}
-  ├──expanding: no
+  ├───expanded: no
   ╰─────result: no
  ├───item-res: no
   ╰─────result: no
  ├───item-res: no
- ├──expanding: match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
- ╰─────result: match_address:   no
+ ├───expanded: match_address:░░░${if░match_address{a.b.c}{a.b.c}{yes}{no}}
+ ╰─────result: match_address:░░░no
+ ╭considering: protected:░${expand:\N░\N}
+ ├───────text: protected:░
+ ├considering: ${expand:\N░\N}
+  ╭considering: \N░\N}
+  ├──protected: ░
+  ├considering: }
+  ├───expanded: \N░\N
+  ╰─────result: ░
+  ╭considering: ░
+  ├───────text: ░
+  ├───expanded: ░
+  ╰─────result: ░
+ ├─────op-res:  
+ ├───expanded: protected:░${expand:\N░\N}
+ ╰─────result: protected:░░
 >>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 environment after trimming:
 >>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 environment after trimming:
@@ -156,7 +171,7 @@ try option unknown_login
  |-------text: primary_hostname: 
  |considering: $primary_hostname
  |------value: myhost.test.ex
  |-------text: primary_hostname: 
  |considering: $primary_hostname
  |------value: myhost.test.ex
- |--expanding: primary_hostname: $primary_hostname
+ |---expanded: primary_hostname: $primary_hostname
  \_____result: primary_hostname: myhost.test.ex
  /considering: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  |-------text: match:  
  \_____result: primary_hostname: myhost.test.ex
  /considering: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  |-------text: match:  
@@ -164,12 +179,12 @@ try option unknown_login
   /considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   |-------text: abcd
   |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   /considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   |-------text: abcd
   |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
-  |--expanding: abcd
+  |---expanded: abcd
   \_____result: abcd
   /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   |--protected: ^([ab]+)(\w+)$
   |considering: }{$2$1}fail}
   \_____result: abcd
   /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   |--protected: ^([ab]+)(\w+)$
   |considering: }{$2$1}fail}
-  |--expanding: \N^([ab]+)(\w+)$\N
+  |---expanded: \N^([ab]+)(\w+)$\N
   \_____result: ^([ab]+)(\w+)$
  compiled RE '^([ab]+)(\w+)$' not found in local cache
  compiling RE '^([ab]+)(\w+)$'
   \_____result: ^([ab]+)(\w+)$
  compiled RE '^([ab]+)(\w+)$' not found in local cache
  compiling RE '^([ab]+)(\w+)$'
@@ -181,10 +196,10 @@ try option unknown_login
   |considering: $1}fail}
   |------value: ab
   |considering: }fail}
   |considering: $1}fail}
   |------value: ab
   |considering: }fail}
-  |--expanding: $2$1
+  |---expanded: $2$1
   \_____result: cdab
  |---item-res: cdab
   \_____result: cdab
  |---item-res: cdab
- |--expanding: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ |---expanded: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  \_____result: match:  cdab
  /considering: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  |-------text: match:  
  \_____result: match:  cdab
  /considering: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  |-------text: match:  
@@ -192,12 +207,12 @@ try option unknown_login
   /considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   |-------text: wxyz
   |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   /considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   |-------text: wxyz
   |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
-  |--expanding: wxyz
+  |---expanded: wxyz
   \_____result: wxyz
   /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   |--protected: ^([ab]+)(\w+)$
   |considering: }{$2$1}fail}
   \_____result: wxyz
   /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   |--protected: ^([ab]+)(\w+)$
   |considering: }{$2$1}fail}
-  |--expanding: \N^([ab]+)(\w+)$\N
+  |---expanded: \N^([ab]+)(\w+)$\N
   \_____result: ^([ab]+)(\w+)$
  compiled RE '^([ab]+)(\w+)$' found in local cache
  |--condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
   \_____result: ^([ab]+)(\w+)$
  compiled RE '^([ab]+)(\w+)$' found in local cache
  |--condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
@@ -205,8 +220,8 @@ try option unknown_login
   /---scanning: $2$1}fail}
   |---scanning: $1}fail}
   |---scanning: }fail}
   /---scanning: $2$1}fail}
   |---scanning: $1}fail}
   |---scanning: }fail}
-  |--expanding: $2$1
-  |-----result: 
+  |---expanded: $2$1
+  |-----result:  <skipped>
   \___skipping: result is not used
  |failed to expand: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  |---error message: "if" failed and "fail" requested
   \___skipping: result is not used
  |failed to expand: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  |---error message: "if" failed and "fail" requested
@@ -215,38 +230,38 @@ try option unknown_login
   /considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   |-------text: 1
   |considering: }{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   /considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   |-------text: 1
   |considering: }{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
-  |--expanding: 1
+  |---expanded: 1
   \_____result: 1
   /considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   |-------text: 1
   |considering: }{yes}{${lookup{xx}lsearch{/non/exist}}}}
   \_____result: 1
   /considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   |-------text: 1
   |considering: }{yes}{${lookup{xx}lsearch{/non/exist}}}}
-  |--expanding: 1
+  |---expanded: 1
   \_____result: 1
  |--condition: eq {1}{1}
  |-----result: true
   /considering: yes}{${lookup{xx}lsearch{/non/exist}}}}
   |-------text: yes
   |considering: }{${lookup{xx}lsearch{/non/exist}}}}
   \_____result: 1
  |--condition: eq {1}{1}
  |-----result: true
   /considering: yes}{${lookup{xx}lsearch{/non/exist}}}}
   |-------text: yes
   |considering: }{${lookup{xx}lsearch{/non/exist}}}}
-  |--expanding: yes
+  |---expanded: yes
   \_____result: yes
   /---scanning: ${lookup{xx}lsearch{/non/exist}}}}
    /---scanning: xx}lsearch{/non/exist}}}}
    |-------text: xx
    |---scanning: }lsearch{/non/exist}}}}
   \_____result: yes
   /---scanning: ${lookup{xx}lsearch{/non/exist}}}}
    /---scanning: xx}lsearch{/non/exist}}}}
    |-------text: xx
    |---scanning: }lsearch{/non/exist}}}}
-   |--expanding: xx
-   |-----result: xx
+   |---expanded: xx
+   |-----result:  <skipped>
    \___skipping: result is not used
    /---scanning: /non/exist}}}}
    |-------text: /non/exist
    |---scanning: }}}}
    \___skipping: result is not used
    /---scanning: /non/exist}}}}
    |-------text: /non/exist
    |---scanning: }}}}
-   |--expanding: /non/exist
-   |-----result: /non/exist
+   |---expanded: /non/exist
+   |-----result:  <skipped>
    \___skipping: result is not used
   |---scanning: }}
    \___skipping: result is not used
   |---scanning: }}
-  |--expanding: ${lookup{xx}lsearch{/non/exist}}
-  |-----result: 
+  |---expanded: ${lookup{xx}lsearch{/non/exist}}
+  |-----result:  <skipped>
   \___skipping: result is not used
   \___skipping: result is not used
- |--expanding: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ |---expanded: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
  \_____result: yes
  /considering: match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
  |-------text: match_address:   
  \_____result: yes
  /considering: match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
  |-------text: match_address:   
@@ -254,12 +269,12 @@ try option unknown_login
   /considering: a.b.c}{a.b.c}{yes}{no}}
   |-------text: a.b.c
   |considering: }{a.b.c}{yes}{no}}
   /considering: a.b.c}{a.b.c}{yes}{no}}
   |-------text: a.b.c
   |considering: }{a.b.c}{yes}{no}}
-  |--expanding: a.b.c
+  |---expanded: a.b.c
   \_____result: a.b.c
   /considering: a.b.c}{yes}{no}}
   |-------text: a.b.c
   |considering: }{yes}{no}}
   \_____result: a.b.c
   /considering: a.b.c}{yes}{no}}
   |-------text: a.b.c
   |considering: }{yes}{no}}
-  |--expanding: a.b.c
+  |---expanded: a.b.c
   \_____result: a.b.c
 LOG: MAIN PANIC
   no @ found in the subject of an address list match: subject="a.b.c" pattern="a.b.c"
   \_____result: a.b.c
 LOG: MAIN PANIC
   no @ found in the subject of an address list match: subject="a.b.c" pattern="a.b.c"
@@ -268,17 +283,32 @@ LOG: MAIN PANIC
   /---scanning: yes}{no}}
   |-------text: yes
   |---scanning: }{no}}
   /---scanning: yes}{no}}
   |-------text: yes
   |---scanning: }{no}}
-  |--expanding: yes
-  |-----result: yes
+  |---expanded: yes
+  |-----result:  <skipped>
   \___skipping: result is not used
   /considering: no}}
   |-------text: no
   |considering: }}
   \___skipping: result is not used
   /considering: no}}
   |-------text: no
   |considering: }}
-  |--expanding: no
+  |---expanded: no
   \_____result: no
  |---item-res: no
   \_____result: no
  |---item-res: no
- |--expanding: match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+ |---expanded: match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
  \_____result: match_address:   no
  \_____result: match_address:   no
+ /considering: protected: ${expand:\N \N}
+ |-------text: protected: 
+ |considering: ${expand:\N \N}
+  /considering: \N \N}
+  |--protected:  
+  |considering: }
+  |---expanded: \N \N
+  \_____result:  
+  /considering:  
+  |-------text:  
+  |---expanded:  
+  \_____result:  
+ |-----op-res:  
+ |---expanded: protected: ${expand:\N \N}
+ \_____result: protected:  
 >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 environment after trimming:
 >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 environment after trimming:
@@ -289,73 +319,73 @@ dropping to exim gid; retaining priv uid
 try option gecos_pattern
 try option gecos_name
 try option unknown_login
 try option gecos_pattern
 try option gecos_name
 try option unknown_login
- ╭considering: -oMa  sender_host_address = $sender_host_address
- ├───────text: -oMa  sender_host_address = 
+ ╭considering: -oMa░░sender_host_address░=░$sender_host_address
+ ├───────text: -oMa░░sender_host_address░=░
  ├considering: $sender_host_address
  ├──────value: V4NET.0.0.1
             ╰──(tainted)
  ├considering: $sender_host_address
  ├──────value: V4NET.0.0.1
             ╰──(tainted)
- ├──expanding: -oMa  sender_host_address = $sender_host_address
- ╰─────result: -oMa  sender_host_address = V4NET.0.0.1
+ ├───expanded: -oMa░░sender_host_address░=░$sender_host_address
+ ╰─────result: -oMa░░sender_host_address░=░V4NET.0.0.1
             ╰──(tainted)
             ╰──(tainted)
- ╭considering:       sender_host_port = $sender_host_port
- ├───────text:       sender_host_port = 
+ ╭considering: ░░░░░░sender_host_port░=░$sender_host_port
+ ├───────text: ░░░░░░sender_host_port░=░
  ├considering: $sender_host_port
  ├──────value: 1234
  ├considering: $sender_host_port
  ├──────value: 1234
- ├──expanding:       sender_host_port = $sender_host_port
- ╰─────result:       sender_host_port = 1234
- ╭considering: -oMaa sender_host_authenticated = $sender_host_authenticated
- ├───────text: -oMaa sender_host_authenticated = 
+ ├───expanded: ░░░░░░sender_host_port░=░$sender_host_port
+ ╰─────result: ░░░░░░sender_host_port░=░1234
+ ╭considering: -oMaa░sender_host_authenticated░=░$sender_host_authenticated
+ ├───────text: -oMaa░sender_host_authenticated░=░
  ├considering: $sender_host_authenticated
  ├──────value: AAA
             ╰──(tainted)
  ├considering: $sender_host_authenticated
  ├──────value: AAA
             ╰──(tainted)
- ├──expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
- ╰─────result: -oMaa sender_host_authenticated = AAA
+ ├───expanded: -oMaa░sender_host_authenticated░=░$sender_host_authenticated
+ ╰─────result: -oMaa░sender_host_authenticated░=░AAA
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: -oMai authenticated_id = $authenticated_id
- ├───────text: -oMai authenticated_id = 
+ ╭considering: -oMai░authenticated_id░=░$authenticated_id
+ ├───────text: -oMai░authenticated_id░=░
  ├considering: $authenticated_id
  ├──────value: philip
             ╰──(tainted)
  ├considering: $authenticated_id
  ├──────value: philip
             ╰──(tainted)
- ├──expanding: -oMai authenticated_id = $authenticated_id
- ╰─────result: -oMai authenticated_id = philip
+ ├───expanded: -oMai░authenticated_id░=░$authenticated_id
+ ╰─────result: -oMai░authenticated_id░=░philip
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: -oMas authenticated_sender = $authenticated_sender
- ├───────text: -oMas authenticated_sender = 
+ ╭considering: -oMas░authenticated_sender░=░$authenticated_sender
+ ├───────text: -oMas░authenticated_sender░=░
  ├considering: $authenticated_sender
  ├──────value: xx@yy.zz
             ╰──(tainted)
  ├considering: $authenticated_sender
  ├──────value: xx@yy.zz
             ╰──(tainted)
- ├──expanding: -oMas authenticated_sender = $authenticated_sender
- ╰─────result: -oMas authenticated_sender = xx@yy.zz
+ ├───expanded: -oMas░authenticated_sender░=░$authenticated_sender
+ ╰─────result: -oMas░authenticated_sender░=░xx@yy.zz
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: -oMi  interface_address = $interface_address
- ├───────text: -oMi  interface_address = 
+ ╭considering: -oMi░░interface_address░=░$interface_address
+ ├───────text: -oMi░░interface_address░=░
  ├considering: $interface_address
  ├──────value: 1.1.1.1
             ╰──(tainted)
  ├considering: $interface_address
  ├──────value: 1.1.1.1
             ╰──(tainted)
- ├──expanding: -oMi  interface_address = $interface_address
- ╰─────result: -oMi  interface_address = 1.1.1.1
+ ├───expanded: -oMi░░interface_address░=░$interface_address
+ ╰─────result: -oMi░░interface_address░=░1.1.1.1
             ╰──(tainted)
             ╰──(tainted)
- ╭considering:       interface_port = $interface_port
- ├───────text:       interface_port = 
+ ╭considering: ░░░░░░interface_port░=░$interface_port
+ ├───────text: ░░░░░░interface_port░=░
  ├considering: $interface_port
  ├──────value: 99
  ├considering: $interface_port
  ├──────value: 99
- ├──expanding:       interface_port = $interface_port
- ╰─────result:       interface_port = 99
- ╭considering: -oMr  received_protocol = $received_protocol
- ├───────text: -oMr  received_protocol = 
+ ├───expanded: ░░░░░░interface_port░=░$interface_port
+ ╰─────result: ░░░░░░interface_port░=░99
+ ╭considering: -oMr░░received_protocol░=░$received_protocol
+ ├───────text: -oMr░░received_protocol░=░
  ├considering: $received_protocol
  ├──────value: special
             ╰──(tainted)
  ├considering: $received_protocol
  ├──────value: special
             ╰──(tainted)
- ├──expanding: -oMr  received_protocol = $received_protocol
- ╰─────result: -oMr  received_protocol = special
+ ├───expanded: -oMr░░received_protocol░=░$received_protocol
+ ╰─────result: -oMr░░received_protocol░=░special
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: -oMt  sender_ident = $sender_ident
- ├───────text: -oMt  sender_ident = 
+ ╭considering: -oMt░░sender_ident░=░$sender_ident
+ ├───────text: -oMt░░sender_ident░=░
  ├considering: $sender_ident
  ├──────value: me
             ╰──(tainted)
  ├considering: $sender_ident
  ├──────value: me
             ╰──(tainted)
- ├──expanding: -oMt  sender_ident = $sender_ident
- ╰─────result: -oMt  sender_ident = me
+ ├───expanded: -oMt░░sender_ident░=░$sender_ident
+ ╰─────result: -oMt░░sender_ident░=░me
             ╰──(tainted)
 >>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 1999-03-02 09:44:33 no host name found for IP address V4NET.11.12.13
             ╰──(tainted)
 >>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 1999-03-02 09:44:33 no host name found for IP address V4NET.11.12.13
@@ -368,97 +398,97 @@ dropping to exim gid; retaining priv uid
 try option gecos_pattern
 try option gecos_name
 try option unknown_login
 try option gecos_pattern
 try option gecos_name
 try option unknown_login
- ╭considering: -oMa  sender_host_address = $sender_host_address
- ├───────text: -oMa  sender_host_address = 
+ ╭considering: -oMa░░sender_host_address░=░$sender_host_address
+ ├───────text: -oMa░░sender_host_address░=░
  ├considering: $sender_host_address
  ├──────value: V4NET.0.0.1
             ╰──(tainted)
  ├considering: $sender_host_address
  ├──────value: V4NET.0.0.1
             ╰──(tainted)
- ├──expanding: -oMa  sender_host_address = $sender_host_address
- ╰─────result: -oMa  sender_host_address = V4NET.0.0.1
+ ├───expanded: -oMa░░sender_host_address░=░$sender_host_address
+ ╰─────result: -oMa░░sender_host_address░=░V4NET.0.0.1
             ╰──(tainted)
             ╰──(tainted)
- ╭considering:       sender_host_port = $sender_host_port
- ├───────text:       sender_host_port = 
+ ╭considering: ░░░░░░sender_host_port░=░$sender_host_port
+ ├───────text: ░░░░░░sender_host_port░=░
  ├considering: $sender_host_port
  ├──────value: 1234
  ├considering: $sender_host_port
  ├──────value: 1234
- ├──expanding:       sender_host_port = $sender_host_port
- ╰─────result:       sender_host_port = 1234
- ╭considering: -oMaa sender_host_authenticated = $sender_host_authenticated
- ├───────text: -oMaa sender_host_authenticated = 
+ ├───expanded: ░░░░░░sender_host_port░=░$sender_host_port
+ ╰─────result: ░░░░░░sender_host_port░=░1234
+ ╭considering: -oMaa░sender_host_authenticated░=░$sender_host_authenticated
+ ├───────text: -oMaa░sender_host_authenticated░=░
  ├considering: $sender_host_authenticated
  ├──────value: AAA
             ╰──(tainted)
  ├considering: $sender_host_authenticated
  ├──────value: AAA
             ╰──(tainted)
- ├──expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
- ╰─────result: -oMaa sender_host_authenticated = AAA
+ ├───expanded: -oMaa░sender_host_authenticated░=░$sender_host_authenticated
+ ╰─────result: -oMaa░sender_host_authenticated░=░AAA
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: -oMai authenticated_id = $authenticated_id
- ├───────text: -oMai authenticated_id = 
+ ╭considering: -oMai░authenticated_id░=░$authenticated_id
+ ├───────text: -oMai░authenticated_id░=░
  ├considering: $authenticated_id
  ├──────value: philip
             ╰──(tainted)
  ├considering: $authenticated_id
  ├──────value: philip
             ╰──(tainted)
- ├──expanding: -oMai authenticated_id = $authenticated_id
- ╰─────result: -oMai authenticated_id = philip
+ ├───expanded: -oMai░authenticated_id░=░$authenticated_id
+ ╰─────result: -oMai░authenticated_id░=░philip
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: -oMas authenticated_sender = $authenticated_sender
- ├───────text: -oMas authenticated_sender = 
+ ╭considering: -oMas░authenticated_sender░=░$authenticated_sender
+ ├───────text: -oMas░authenticated_sender░=░
  ├considering: $authenticated_sender
  ├──────value: xx@yy.zz
             ╰──(tainted)
  ├considering: $authenticated_sender
  ├──────value: xx@yy.zz
             ╰──(tainted)
- ├──expanding: -oMas authenticated_sender = $authenticated_sender
- ╰─────result: -oMas authenticated_sender = xx@yy.zz
+ ├───expanded: -oMas░authenticated_sender░=░$authenticated_sender
+ ╰─────result: -oMas░authenticated_sender░=░xx@yy.zz
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: -oMi  interface_address = $interface_address
- ├───────text: -oMi  interface_address = 
+ ╭considering: -oMi░░interface_address░=░$interface_address
+ ├───────text: -oMi░░interface_address░=░
  ├considering: $interface_address
  ├──────value: 1.1.1.1
             ╰──(tainted)
  ├considering: $interface_address
  ├──────value: 1.1.1.1
             ╰──(tainted)
- ├──expanding: -oMi  interface_address = $interface_address
- ╰─────result: -oMi  interface_address = 1.1.1.1
+ ├───expanded: -oMi░░interface_address░=░$interface_address
+ ╰─────result: -oMi░░interface_address░=░1.1.1.1
             ╰──(tainted)
             ╰──(tainted)
- ╭considering:       interface_port = $interface_port
- ├───────text:       interface_port = 
+ ╭considering: ░░░░░░interface_port░=░$interface_port
+ ├───────text: ░░░░░░interface_port░=░
  ├considering: $interface_port
  ├──────value: 99
  ├considering: $interface_port
  ├──────value: 99
- ├──expanding:       interface_port = $interface_port
- ╰─────result:       interface_port = 99
- ╭considering: -oMr  received_protocol = $received_protocol
- ├───────text: -oMr  received_protocol = 
+ ├───expanded: ░░░░░░interface_port░=░$interface_port
+ ╰─────result: ░░░░░░interface_port░=░99
+ ╭considering: -oMr░░received_protocol░=░$received_protocol
+ ├───────text: -oMr░░received_protocol░=░
  ├considering: $received_protocol
  ├──────value: special
             ╰──(tainted)
  ├considering: $received_protocol
  ├──────value: special
             ╰──(tainted)
- ├──expanding: -oMr  received_protocol = $received_protocol
- ╰─────result: -oMr  received_protocol = special
+ ├───expanded: -oMr░░received_protocol░=░$received_protocol
+ ╰─────result: -oMr░░received_protocol░=░special
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
- ├───────text: ----> No lookup yet: 
- ├considering: ${if eq{black}{white}{$sender_host_name}{No}}
+ ╭considering: ---->░No░lookup░yet:░${if░eq{black}{white}{$sender_host_name}{No}}
+ ├───────text: ---->░No░lookup░yet:░
+ ├considering: ${ifeq{black}{white}{$sender_host_name}{No}}
   ╭considering: black}{white}{$sender_host_name}{No}}
   ├───────text: black
   ├considering: }{white}{$sender_host_name}{No}}
   ╭considering: black}{white}{$sender_host_name}{No}}
   ├───────text: black
   ├considering: }{white}{$sender_host_name}{No}}
-  ├──expanding: black
+  ├───expanded: black
   ╰─────result: black
   ╭considering: white}{$sender_host_name}{No}}
   ├───────text: white
   ├considering: }{$sender_host_name}{No}}
   ╰─────result: black
   ╭considering: white}{$sender_host_name}{No}}
   ├───────text: white
   ├considering: }{$sender_host_name}{No}}
-  ├──expanding: white
+  ├───expanded: white
   ╰─────result: white
  ├──condition: eq{black}{white}
  ├─────result: false
   ╭───scanning: $sender_host_name}{No}}
   ├──────value: 
   ├───scanning: }{No}}
   ╰─────result: white
  ├──condition: eq{black}{white}
  ├─────result: false
   ╭───scanning: $sender_host_name}{No}}
   ├──────value: 
   ├───scanning: }{No}}
-  ├──expanding: $sender_host_name
-  ├─────result: 
+  ├───expanded: $sender_host_name
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: No}}
   ├───────text: No
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: No}}
   ├───────text: No
   ├considering: }}
-  ├──expanding: No
+  ├───expanded: No
   ╰─────result: No
  ├───item-res: No
   ╰─────result: No
  ├───item-res: No
- ├──expanding: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
- ╰─────result: ----> No lookup yet: No
- ╭considering: -oMs  sender_host_name = $sender_host_name
- ├───────text: -oMs  sender_host_name = 
+ ├───expanded: ---->░No░lookup░yet:░${if░eq{black}{white}{$sender_host_name}{No}}
+ ╰─────result: ---->░No░lookup░yet:░No
+ ╭considering: -oMs░░sender_host_name░=░$sender_host_name
+ ├───────text: -oMs░░sender_host_name░=░
  ├considering: $sender_host_name
 looking up host name for V4NET.0.0.1
 IP address lookup yielded "ten-1.test.ex"
  ├considering: $sender_host_name
 looking up host name for V4NET.0.0.1
 IP address lookup yielded "ten-1.test.ex"
@@ -469,16 +499,16 @@ sender_fullhost = ten-1.test.ex [V4NET.0.0.1]
 sender_rcvhost = ten-1.test.ex ([V4NET.0.0.1] ident=me)
  ├──────value: ten-1.test.ex
             ╰──(tainted)
 sender_rcvhost = ten-1.test.ex ([V4NET.0.0.1] ident=me)
  ├──────value: ten-1.test.ex
             ╰──(tainted)
- ├──expanding: -oMs  sender_host_name = $sender_host_name
- ╰─────result: -oMs  sender_host_name = ten-1.test.ex
+ ├───expanded: -oMs░░sender_host_name░=░$sender_host_name
+ ╰─────result: -oMs░░sender_host_name░=░ten-1.test.ex
             ╰──(tainted)
             ╰──(tainted)
- ╭considering: -oMt  sender_ident = $sender_ident
- ├───────text: -oMt  sender_ident = 
+ ╭considering: -oMt░░sender_ident░=░$sender_ident
+ ├───────text: -oMt░░sender_ident░=░
  ├considering: $sender_ident
  ├──────value: me
             ╰──(tainted)
  ├considering: $sender_ident
  ├──────value: me
             ╰──(tainted)
- ├──expanding: -oMt  sender_ident = $sender_ident
- ╰─────result: -oMt  sender_ident = me
+ ├───expanded: -oMt░░sender_ident░=░$sender_ident
+ ╰─────result: -oMt░░sender_ident░=░me
             ╰──(tainted)
 >>>>>>>>>>>>>>>> Exim pid=p1237 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
             ╰──(tainted)
 >>>>>>>>>>>>>>>> Exim pid=p1237 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
index 96616f098c47eb36a015e728fd443d1ba2dd0dc7..b41de549f96539b733b13f14def26b1a1765f7e2 100644 (file)
@@ -68,34 +68,34 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 host in host_lookup? no (option unset)
 set_process_info: pppp handling incoming connection from [V4NET.0.0.1]
 try option message_size_limit
 host in host_lookup? no (option unset)
 set_process_info: pppp handling incoming connection from [V4NET.0.0.1]
- ╭considering: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s
-  ╭considering: V4NET.0.0.1} {$sender_host_address} {2} {30}}s
+ ╭considering: ${if░eq░{V4NET.0.0.1}░{$sender_host_address}░{2}░{30}}s
+  ╭considering: V4NET.0.0.1}░{$sender_host_address}░{2}░{30}}s
   ├───────text: V4NET.0.0.1
   ├───────text: V4NET.0.0.1
-  ├considering: } {$sender_host_address} {2} {30}}s
-  ├──expanding: V4NET.0.0.1
+  ├considering: }░{$sender_host_address}░{2}░{30}}s
+  ├───expanded: V4NET.0.0.1
   ╰─────result: V4NET.0.0.1
   ╰─────result: V4NET.0.0.1
-  ╭considering: $sender_host_address} {2} {30}}s
+  ╭considering: $sender_host_address}░{2}░{30}}s
   ├──────value: V4NET.0.0.1
   ├──────value: V4NET.0.0.1
-  ├considering: } {2} {30}}s
-  ├──expanding: $sender_host_address
+  ├considering: }░{2}░{30}}s
+  ├───expanded: $sender_host_address
   ╰─────result: V4NET.0.0.1
   ╰─────result: V4NET.0.0.1
- ├──condition: eq {V4NET.0.0.1} {$sender_host_address}
+ ├──condition: eq░{V4NET.0.0.1}░{$sender_host_address}
  ├─────result: true
  ├─────result: true
-  ╭considering: 2} {30}}s
+  ╭considering: 2}{30}}s
   ├───────text: 2
   ├───────text: 2
-  ├considering: } {30}}s
-  ├──expanding: 2
+  ├considering: }{30}}s
+  ├───expanded: 2
   ╰─────result: 2
   ╭───scanning: 30}}s
   ├───────text: 30
   ├───scanning: }}s
   ╰─────result: 2
   ╭───scanning: 30}}s
   ├───────text: 30
   ├───scanning: }}s
-  ├──expanding: 30
-  ├─────result: 30
+  ├───expanded: 30
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 2
  ├considering: s
  ├───────text: s
   ╰───skipping: result is not used
  ├───item-res: 2
  ├considering: s
  ├───────text: s
- ├──expanding: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s
+ ├───expanded: ${if░eq░{V4NET.0.0.1}░{$sender_host_address}░{2}░{30}}s
  ╰─────result: 2s
 host in host_reject_connection? no (option unset)
 host in sender_unqualified_hosts? no (option unset)
  ╰─────result: 2s
 host in host_reject_connection? no (option unset)
 host in sender_unqualified_hosts? no (option unset)
@@ -105,18 +105,18 @@ host in helo_try_verify_hosts? no (option unset)
 host in helo_accept_junk_hosts? no (option unset)
 try option acl_smtp_connect
 try option smtp_banner
 host in helo_accept_junk_hosts? no (option unset)
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 smtp_setup_msg entered
 SMTP<< helo test
 SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 smtp_setup_msg entered
 SMTP<< helo test
index 07863fac72129bcfde116b54460809aca31016de..0d00c73e5a2d04d30917c0a05b1a9d52480a59bd 100644 (file)
@@ -51,339 +51,335 @@ search_tidyup called
 Data file name: TESTSUITE/spool//input//10HmaX-000000005vi-0000-D
 Data file written for message 10HmaX-000000005vi-0000
  ╭considering: ${tod_full}
 Data file name: TESTSUITE/spool//input//10HmaX-000000005vi-0000-D
 Data file written for message 10HmaX-000000005vi-0000
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 try option received_header_text
 try option received_header_text
- ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: Received: 
- ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: Received:
+ ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ╭───scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: from 
-  ├───scanning: $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: from
+  ├───scanning: $sender_rcvhost
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
+  ├───scanning: 
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
        
        
-  ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: from $sender_rcvhost
-       
-  ├─────result: from 
+  ├───scanning: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: from░$sender_rcvhost↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
   ├──condition: def:sender_ident
   ├─────result: true
-   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: from 
-   ├considering: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
+   ╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: from
+   ├considering: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ╎╭considering: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
    ╎├──────value: CALLER
    ╎├──────value: CALLER
-   ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
-   ╎├──expanding: $sender_ident
+   ╎├considering: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
+   ╎├───expanded: $sender_ident
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
-   ├considering:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text:  
-   ├considering: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: from ${quote_local_part:$sender_ident} 
-   ╰─────result: from CALLER 
-  ├───item-res: from CALLER 
-  ├considering: ${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: 
+   ├considering: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: from░${quote_local_part:$sender_ident}░
+   ╰─────result: from░CALLER░
+  ├───item-res: from░CALLER░
+  ├considering: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_helo_name
   ├─────result: false
   ├──condition: def:sender_helo_name
   ├─────result: false
-   ╭───scanning: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ╭───scanning: (helo=$sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├───────text: (helo=
    ├───────text: (helo=
-   ├───scanning: $sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├───scanning: $sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├──────value: 
    ├──────value: 
-   ├───scanning: )
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: )
-       
-   ├───scanning: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: (helo=$sender_helo_name)
+   ├───scanning: )↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+   ├───────text: )↩
        
        
-   ├─────result: (helo=)
+   ├───scanning: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+   ├───expanded: (helo=$sender_helo_name)↩
        
        
+   ├─────result:  ◀skipped▶
    ╰───skipping: result is not used
   ├───item-res: 
    ╰───skipping: result is not used
   ├───item-res: 
-  ├considering: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ├considering: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
        }}
        }}
-  ╰─────result: from CALLER 
- ├───item-res: from CALLER 
- ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: by 
- ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╰─────result: from░CALLER░
+ ├───item-res: from░CALLER░
+ ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: by
+ ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: mail.test.ex
  ├──────value: mail.test.ex
- ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text:  
- ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: 
+ ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: with 
-  ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: with
+  ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: local
   ├──────value: local
-  ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  
-  ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: with $received_protocol 
-  ╰─────result: with local 
- ├───item-res: with local 
- ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  ($tls_in_ver)
-  ├─────result:  ()
+  ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
+  ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: with░$received_protocol░
+  ╰─────result: with░local░
+ ├───item-res: with░local░
+ ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ░($tls_in_ver)
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
   ╰───skipping: result is not used
  ├───item-res: 
- ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ╭───scanning:  tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  tls 
-  ├───scanning: $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: ░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: ░tls░
+  ├───scanning: $tls_in_cipher_std
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  tls $tls_in_cipher_std
+  ├───scanning: ↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───────text: ↩
        
        
-  ├─────result:  tls 
+  ├───scanning: }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: ░tls░$tls_in_cipher_std↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
   ╰───skipping: result is not used
  ├───item-res: 
- ├considering: (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: (Exim 
- ├considering: $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: (Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering: )
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: )
+ ├considering: )
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: )
        
        
- ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ╭considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: (envelope-from <
-  ├considering: $sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: (envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: (envelope-from<
+  ├considering: $sender_address>)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: CALLER@test.ex
   ├──────value: CALLER@test.ex
-  ├considering: >)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: >)
+  ├considering: >)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: >)
        
        
-  ├considering: }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: (envelope-from <$sender_address>)
+  ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: (envelope-from░<$sender_address>)↩
        
        
-  ╰─────result: (envelope-from <CALLER@test.ex>)
+  ╰─────result: (envelope-from░<CALLER@test.ex>)↩
        
        
- ├───item-res: (envelope-from <CALLER@test.ex>)
+ ├───item-res: (envelope-from░<CALLER@test.ex>)↩
        
        
- ├considering: id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: id 
- ├considering: $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: id
+ ├considering: $message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: 10HmaX-000000005vi-0000
  ├──────value: 10HmaX-000000005vi-0000
- ├considering: ${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_for
  ├─────result: false
  ├──condition: def:received_for
  ├─────result: false
-  ╭───scanning: 
-       for $received_for}}
-  ├───────text: 
-       for 
+  ╭───scanning: 
+       for$received_for}}
+  ├───────text: 
+       for
   ├───scanning: $received_for}}
   ├──────value: 
   ├───scanning: }}
   ├───scanning: $received_for}}
   ├──────value: 
   ├───scanning: }}
-  ├──expanding: 
-       for $received_for
-  ├─────result: 
-       for 
+  ├───expanded: ↩
+       for░$received_for
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
   ╰───skipping: result is not used
  ├───item-res: 
- ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ╰─────result: Received: from CALLER by mail.test.ex with local (Exim x.yz)
-       (envelope-from <CALLER@test.ex>)
-       id 10HmaX-000000005vi-0000
+ ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ╰─────result: Received:░from░CALLER░by░mail.test.ex░with░local░(Exim░x.yz)↩
+       (envelope-from░<CALLER@test.ex>)↩
+       id10HmaX-000000005vi-0000
 >>Generated Received: header line
 P Received: from CALLER by mail.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@test.ex>)
 >>Generated Received: header line
 P Received: from CALLER by mail.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@test.ex>)
@@ -391,8 +387,8 @@ P Received: from CALLER by mail.test.ex with local (Exim x.yz)
        Tue, 2 Mar 1999 09:44:33 +0000
 try option acl_not_smtp
  ╭considering: ${tod_full}
        Tue, 2 Mar 1999 09:44:33 +0000
 try option acl_not_smtp
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-000000005vi-0000
 DSN: **** SPOOL_OUT - address: <CALLER@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 DSN: **** SPOOL_OUT - address: <usery@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-000000005vi-0000
 DSN: **** SPOOL_OUT - address: <CALLER@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 DSN: **** SPOOL_OUT - address: <usery@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
@@ -529,7 +525,7 @@ try option router_home_directory
  ├considering: $domain
  ├──────value: test.ex
             ╰──(tainted)
  ├considering: $domain
  ├──────value: test.ex
             ╰──(tainted)
- ├──expanding: /non-exist/$domain
+ ├───expanded: /non-exist/$domain
  ╰─────result: /non-exist/test.ex
             ╰──(tainted)
 try option set
  ╰─────result: /non-exist/test.ex
             ╰──(tainted)
 try option set
@@ -588,7 +584,7 @@ try option router_home_directory
  ├considering: $local_part
  ├──────value: CALLER
             ╰──(tainted)
  ├considering: $local_part
  ├──────value: CALLER
             ╰──(tainted)
- ├──expanding: /non-exist/$local_part
+ ├───expanded: /non-exist/$local_part
  ╰─────result: /non-exist/CALLER
             ╰──(tainted)
 try option set
  ╰─────result: /non-exist/CALLER
             ╰──(tainted)
 try option set
@@ -639,7 +635,7 @@ try option router_home_directory
  ├considering: $domain
  ├──────value: test.ex
             ╰──(tainted)
  ├considering: $domain
  ├──────value: test.ex
             ╰──(tainted)
- ├──expanding: /non-exist/$domain
+ ├───expanded: /non-exist/$domain
  ╰─────result: /non-exist/test.ex
             ╰──(tainted)
 try option set
  ╰─────result: /non-exist/test.ex
             ╰──(tainted)
 try option set
@@ -678,7 +674,7 @@ try option router_home_directory
  ├considering: $domain
  ├──────value: test.ex
             ╰──(tainted)
  ├considering: $domain
  ├──────value: test.ex
             ╰──(tainted)
- ├──expanding: /non-exist/$domain
+ ├───expanded: /non-exist/$domain
  ╰─────result: /non-exist/test.ex
             ╰──(tainted)
 try option set
  ╰─────result: /non-exist/test.ex
             ╰──(tainted)
 try option set
@@ -710,7 +706,7 @@ try option router_home_directory
  ├considering: $local_part
  ├──────value: CALLER
             ╰──(tainted)
  ├considering: $local_part
  ├──────value: CALLER
             ╰──(tainted)
- ├──expanding: /non-exist/$local_part
+ ├───expanded: /non-exist/$local_part
  ╰─────result: /non-exist/CALLER
             ╰──(tainted)
 try option set
  ╰─────result: /non-exist/CALLER
             ╰──(tainted)
 try option set
@@ -770,7 +766,7 @@ try option home_directory
  ├considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ├considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: /non-exist/$local_part
+ ├───expanded: /non-exist/$local_part
  ╰─────result: /non-exist/usery
             ╰──(tainted)
 try option current_directory
  ╰─────result: /non-exist/usery
             ╰──(tainted)
 try option current_directory
@@ -787,7 +783,7 @@ set_process_info: pppp delivering 10HmaX-000000005vi-0000 to TESTSUITE/test-mail
 appendfile transport entered
  ╭considering: $address_file
  ├──────value: TESTSUITE/test-mail/junk
 appendfile transport entered
  ╭considering: $address_file
  ├──────value: TESTSUITE/test-mail/junk
- ├──expanding: $address_file
+ ├───expanded: $address_file
  ╰─────result: TESTSUITE/test-mail/junk
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
  ╰─────result: TESTSUITE/test-mail/junk
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
@@ -801,44 +797,44 @@ lock file created
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
 try option message_prefix
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
 try option message_prefix
- ╭considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ╭considering: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
  
- ├───────text: From 
- ├considering: ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├───────text: From
+ ├considering: ${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
  ├──condition: def:return_path
  ├─────result: true
  
  ├──condition: def:return_path
  ├─────result: true
-  ╭considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+  ╭considering: $return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   ├──────value: CALLER@test.ex
              ╰──(tainted)
   
   ├──────value: CALLER@test.ex
              ╰──(tainted)
-  ├considering: }{MAILER-DAEMON}} ${tod_bsdinbox}
+  ├considering: }{MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   
-  ├──expanding: $return_path
+  ├───expanded: $return_path
   ╰─────result: CALLER@test.ex
              ╰──(tainted)
   ╰─────result: CALLER@test.ex
              ╰──(tainted)
-  ╭───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+  ╭───scanning: MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   ├───────text: MAILER-DAEMON
   
   ├───────text: MAILER-DAEMON
-  ├───scanning: }} ${tod_bsdinbox}
+  ├───scanning: }}░${tod_bsdinbox}↩
   
   
-  ├──expanding: MAILER-DAEMON
-  ├─────result: MAILER-DAEMON
+  ├───expanded: MAILER-DAEMON
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: CALLER@test.ex
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: CALLER@test.ex
             ╰──(tainted)
- ├considering:  ${tod_bsdinbox}
+ ├considering: ░${tod_bsdinbox}↩
  
  
- ├───────text:  
- ├considering: ${tod_bsdinbox}
+ ├───────text: 
+ ├considering: ${tod_bsdinbox}
  
  
- ├considering: 
+ ├considering: 
  
  
- ├───────text: 
+ ├───────text: 
  
  
- ├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├───expanded: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
  
- ╰─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
+ ╰─────result: From░CALLER@test.ex░Tue░Mar░02░09:44:33░1999↩
  
             ╰──(tainted)
 writing data block fd=dddd size=sss timeout=0
  
             ╰──(tainted)
 writing data block fd=dddd size=sss timeout=0
@@ -879,7 +875,7 @@ set_process_info: pppp delivering 10HmaX-000000005vi-0000 to TESTSUITE/test-mail
 appendfile transport entered
  ╭considering: $address_file
  ├──────value: TESTSUITE/test-mail/junk
 appendfile transport entered
  ╭considering: $address_file
  ├──────value: TESTSUITE/test-mail/junk
- ├──expanding: $address_file
+ ├───expanded: $address_file
  ╰─────result: TESTSUITE/test-mail/junk
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
  ╰─────result: TESTSUITE/test-mail/junk
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
@@ -893,44 +889,44 @@ lock file created
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
 try option message_prefix
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
 try option message_prefix
- ╭considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ╭considering: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
  
- ├───────text: From 
- ├considering: ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├───────text: From
+ ├considering: ${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
  ├──condition: def:return_path
  ├─────result: true
  
  ├──condition: def:return_path
  ├─────result: true
-  ╭considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+  ╭considering: $return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   ├──────value: CALLER@test.ex
              ╰──(tainted)
   
   ├──────value: CALLER@test.ex
              ╰──(tainted)
-  ├considering: }{MAILER-DAEMON}} ${tod_bsdinbox}
+  ├considering: }{MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   
-  ├──expanding: $return_path
+  ├───expanded: $return_path
   ╰─────result: CALLER@test.ex
              ╰──(tainted)
   ╰─────result: CALLER@test.ex
              ╰──(tainted)
-  ╭───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+  ╭───scanning: MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   ├───────text: MAILER-DAEMON
   
   ├───────text: MAILER-DAEMON
-  ├───scanning: }} ${tod_bsdinbox}
+  ├───scanning: }}░${tod_bsdinbox}↩
   
   
-  ├──expanding: MAILER-DAEMON
-  ├─────result: MAILER-DAEMON
+  ├───expanded: MAILER-DAEMON
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: CALLER@test.ex
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: CALLER@test.ex
             ╰──(tainted)
- ├considering:  ${tod_bsdinbox}
+ ├considering: ░${tod_bsdinbox}↩
  
  
- ├───────text:  
- ├considering: ${tod_bsdinbox}
+ ├───────text: 
+ ├considering: ${tod_bsdinbox}
  
  
- ├considering: 
+ ├considering: 
  
  
- ├───────text: 
+ ├───────text: 
  
  
- ├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├───expanded: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
  
- ╰─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
+ ╰─────result: From░CALLER@test.ex░Tue░Mar░02░09:44:33░1999↩
  
             ╰──(tainted)
 writing data block fd=dddd size=sss timeout=0
  
             ╰──(tainted)
 writing data block fd=dddd size=sss timeout=0
@@ -997,7 +993,7 @@ try option home_directory
  ├considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ├considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: /non-exist/$local_part
+ ├───expanded: /non-exist/$local_part
  ╰─────result: /non-exist/usery
             ╰──(tainted)
 try option current_directory
  ╰─────result: /non-exist/usery
             ╰──(tainted)
 try option current_directory
@@ -1040,7 +1036,7 @@ try option home_directory
  ├considering: $local_part
  ├──────value: userz
             ╰──(tainted)
  ├considering: $local_part
  ├──────value: userz
             ╰──(tainted)
- ├──expanding: /$local_part
+ ├───expanded: /$local_part
  ╰─────result: /userz
             ╰──(tainted)
 try option current_directory
  ╰─────result: /userz
             ╰──(tainted)
 try option current_directory
index 4763a38a432b192c1dd78d20774598ab9aab74ea..3e5fbe13e275903c15eb354e1a51fb7ad6a02f5b 100644 (file)
@@ -13,343 +13,339 @@ try option acl_not_smtp_start
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 try option received_header_text
 try option received_header_text
- ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: Received: 
- ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: Received:
+ ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ╭───scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: from 
-  ├───scanning: $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: from
+  ├───scanning: $sender_rcvhost
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
+  ├───scanning: 
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
        
        
-  ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: from $sender_rcvhost
-       
-  ├─────result: from 
+  ├───scanning: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: from░$sender_rcvhost↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
   ├──condition: def:sender_ident
   ├─────result: true
-   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: from 
-   ├considering: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
+   ╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: from
+   ├considering: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ╎╭considering: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
    ╎├──────value: CALLER
    ╎├──────value: CALLER
-   ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
-   ╎├──expanding: $sender_ident
+   ╎├considering: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
+   ╎├───expanded: $sender_ident
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
-   ├considering:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text:  
-   ├considering: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: from ${quote_local_part:$sender_ident} 
-   ╰─────result: from CALLER 
-  ├───item-res: from CALLER 
-  ├considering: ${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: 
+   ├considering: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: from░${quote_local_part:$sender_ident}░
+   ╰─────result: from░CALLER░
+  ├───item-res: from░CALLER░
+  ├considering: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_helo_name
   ├─────result: false
   ├──condition: def:sender_helo_name
   ├─────result: false
-   ╭───scanning: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ╭───scanning: (helo=$sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├───────text: (helo=
    ├───────text: (helo=
-   ├───scanning: $sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├───scanning: $sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├──────value: 
    ├──────value: 
-   ├───scanning: )
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: )
-       
-   ├───scanning: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: (helo=$sender_helo_name)
+   ├───scanning: )↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+   ├───────text: )↩
        
        
-   ├─────result: (helo=)
+   ├───scanning: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+   ├───expanded: (helo=$sender_helo_name)↩
        
        
+   ├─────result:  ◀skipped▶
    ╰───skipping: result is not used
   ├───item-res: 
    ╰───skipping: result is not used
   ├───item-res: 
-  ├considering: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ├considering: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
        }}
        }}
-  ╰─────result: from CALLER 
- ├───item-res: from CALLER 
- ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: by 
- ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╰─────result: from░CALLER░
+ ├───item-res: from░CALLER░
+ ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: by
+ ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: the.local.host.name
  ├──────value: the.local.host.name
- ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text:  
- ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: 
+ ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: with 
-  ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: with
+  ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: local
   ├──────value: local
-  ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  
-  ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: with $received_protocol 
-  ╰─────result: with local 
- ├───item-res: with local 
- ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  ($tls_in_ver)
-  ├─────result:  ()
+  ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
+  ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: with░$received_protocol░
+  ╰─────result: with░local░
+ ├───item-res: with░local░
+ ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ░($tls_in_ver)
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
   ╰───skipping: result is not used
  ├───item-res: 
- ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ╭───scanning:  tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  tls 
-  ├───scanning: $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: ░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: ░tls░
+  ├───scanning: $tls_in_cipher_std
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  tls $tls_in_cipher_std
+  ├───scanning: ↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───────text: ↩
        
        
-  ├─────result:  tls 
+  ├───scanning: }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: ░tls░$tls_in_cipher_std↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
   ╰───skipping: result is not used
  ├───item-res: 
- ├considering: (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: (Exim 
- ├considering: $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: (Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering: )
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: )
+ ├considering: )
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: )
        
        
- ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ╭considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: (envelope-from <
-  ├considering: $sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: (envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: (envelope-from<
+  ├considering: $sender_address>)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: CALLER@test.ex
   ├──────value: CALLER@test.ex
-  ├considering: >)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: >)
+  ├considering: >)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: >)
        
        
-  ├considering: }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: (envelope-from <$sender_address>)
+  ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: (envelope-from░<$sender_address>)↩
        
        
-  ╰─────result: (envelope-from <CALLER@test.ex>)
+  ╰─────result: (envelope-from░<CALLER@test.ex>)↩
        
        
- ├───item-res: (envelope-from <CALLER@test.ex>)
+ ├───item-res: (envelope-from░<CALLER@test.ex>)↩
        
        
- ├considering: id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: id 
- ├considering: $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: id
+ ├considering: $message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: 10HmaX-000000005vi-0000
  ├──────value: 10HmaX-000000005vi-0000
- ├considering: ${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_for
  ├─────result: false
  ├──condition: def:received_for
  ├─────result: false
-  ╭───scanning: 
-       for $received_for}}
-  ├───────text: 
-       for 
+  ╭───scanning: 
+       for$received_for}}
+  ├───────text: 
+       for
   ├───scanning: $received_for}}
   ├──────value: 
   ├───scanning: }}
   ├───scanning: $received_for}}
   ├──────value: 
   ├───scanning: }}
-  ├──expanding: 
-       for $received_for
-  ├─────result: 
-       for 
+  ├───expanded: ↩
+       for░$received_for
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
   ╰───skipping: result is not used
  ├───item-res: 
- ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ╰─────result: Received: from CALLER by the.local.host.name with local (Exim x.yz)
-       (envelope-from <CALLER@test.ex>)
-       id 10HmaX-000000005vi-0000
+ ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ╰─────result: Received:░from░CALLER░by░the.local.host.name░with░local░(Exim░x.yz)↩
+       (envelope-from░<CALLER@test.ex>)↩
+       id10HmaX-000000005vi-0000
 try option acl_not_smtp
  ╭considering: ${tod_full}
 try option acl_not_smtp
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 LOG: MAIN
   <= CALLER@test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 LOG: MAIN
   <= CALLER@test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
@@ -378,7 +374,7 @@ try option return_path
  ╭considering: $domain
  ├──────value: domain1.ex
             ╰──(tainted)
  ╭considering: $domain
  ├──────value: domain1.ex
             ╰──(tainted)
- ├──expanding: $domain
+ ├───expanded: $domain
  ╰─────result: domain1.ex
             ╰──(tainted)
 LOG: MAIN
  ╰─────result: domain1.ex
             ╰──(tainted)
 LOG: MAIN
@@ -386,54 +382,54 @@ LOG: MAIN
 LOG: MAIN
   == userx@domain2.ex R=smarthost T=smtp defer (-1): first-pass only routing due to -odqs, queue_smtp_domains or control=queue
 try option delay_warning_condition
 LOG: MAIN
   == userx@domain2.ex R=smarthost T=smtp defer (-1): first-pass only routing due to -odqs, queue_smtp_domains or control=queue
 try option delay_warning_condition
- ╭considering: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ╭considering: $h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├considering: $h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├considering: $h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├considering: }{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├──expanding: $h_list-id:$h_list-post:$h_list-subscribe:
+ ╭considering: ${if░or░{{░!eq{$h_list-id:$h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ╭considering: $h_list-id:$h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├considering: $h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├considering: $h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├considering: }{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├───expanded: $h_list-id:$h_list-post:$h_list-subscribe:
   ╰─────result: 
   ╰─────result: 
-  ╭considering: } }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├──expanding
+  ╭considering: }░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├───expanded
   ╰─────result: 
   ╰─────result: 
-  ╭considering: $h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├considering: }{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├──expanding: $h_precedence:
+  ╭considering: $h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├considering: }{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├───expanded: $h_precedence:
   ╰─────result: 
   ╰─────result: 
-  ╭considering: (?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  ╭considering: (?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
   ├───────text: (?i)bulk|list|junk
   ├───────text: (?i)bulk|list|junk
-  ├considering: } }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├──expanding: (?i)bulk|list|junk
+  ├considering: }░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├───expanded: (?i)bulk|list|junk
   ╰─────result: (?i)bulk|list|junk
  compiled RE '(?i)bulk|list|junk' not found in local cache
  compiling RE '(?i)bulk|list|junk'
  compiled RE '(?i)bulk|list|junk' saved in local cache
   ╰─────result: (?i)bulk|list|junk
  compiled RE '(?i)bulk|list|junk' not found in local cache
  compiling RE '(?i)bulk|list|junk'
  compiled RE '(?i)bulk|list|junk' saved in local cache
-  ╭considering: $h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├considering: }{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ├──expanding: $h_auto-submitted:
+  ╭considering: $h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├considering: }{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
+  ├───expanded: $h_auto-submitted:
   ╰─────result: 
   ╰─────result: 
-  ╭considering: (?i)auto-generated|auto-replied} }} {no}{yes}}
+  ╭considering: (?i)auto-generated|auto-replied}░}}░{no}{yes}}
   ├───────text: (?i)auto-generated|auto-replied
   ├───────text: (?i)auto-generated|auto-replied
-  ├considering: } }} {no}{yes}}
-  ├──expanding: (?i)auto-generated|auto-replied
+  ├considering: }░}}░{no}{yes}}
+  ├───expanded: (?i)auto-generated|auto-replied
   ╰─────result: (?i)auto-generated|auto-replied
  compiled RE '(?i)auto-generated|auto-replied' not found in local cache
  compiling RE '(?i)auto-generated|auto-replied'
  compiled RE '(?i)auto-generated|auto-replied' saved in local cache
   ╰─────result: (?i)auto-generated|auto-replied
  compiled RE '(?i)auto-generated|auto-replied' not found in local cache
  compiling RE '(?i)auto-generated|auto-replied'
  compiled RE '(?i)auto-generated|auto-replied' saved in local cache
- ├──condition: or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }}
+ ├──condition: or░{{░!eq{$h_list-id:$h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}
  ├─────result: false
   ╭───scanning: no}{yes}}
   ├───────text: no
   ├───scanning: }{yes}}
  ├─────result: false
   ╭───scanning: no}{yes}}
   ├───────text: no
   ├───scanning: }{yes}}
-  ├──expanding: no
-  ├─────result: no
+  ├───expanded: no
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: yes}}
   ├───────text: yes
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: yes}}
   ├───────text: yes
   ├considering: }}
-  ├──expanding: yes
+  ├───expanded: yes
   ╰─────result: yes
   ╰─────result: yes
- ├──expanding: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ ├───expanded: ${if░or░{{░!eq{$h_list-id:$h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}}
  ╰─────result: yes
 >>>>>>>>>>>>>>>> Exim pid=p1235 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 >>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
  ╰─────result: yes
 >>>>>>>>>>>>>>>> Exim pid=p1235 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 >>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -452,41 +448,41 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: the.local.host.name
  ├──────value: the.local.host.name
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: the.local.host.name░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 try option acl_smtp_helo
 try option acl_smtp_helo
- ╭considering: ${if match_domain {$sender_helo_name}{+dlist}}
+ ╭considering: ${if░match_domain░{$sender_helo_name}{+dlist}}
   ╭considering: $sender_helo_name}{+dlist}}
   ├──────value: ehlo.domain
              ╰──(tainted)
   ├considering: }{+dlist}}
   ╭considering: $sender_helo_name}{+dlist}}
   ├──────value: ehlo.domain
              ╰──(tainted)
   ├considering: }{+dlist}}
-  ├──expanding: $sender_helo_name
+  ├───expanded: $sender_helo_name
   ╰─────result: ehlo.domain
              ╰──(tainted)
   ╭considering: +dlist}}
   ├───────text: +dlist
   ├considering: }}
   ╰─────result: ehlo.domain
              ╰──(tainted)
   ╭considering: +dlist}}
   ├───────text: +dlist
   ├considering: }}
-  ├──expanding: +dlist
+  ├───expanded: +dlist
   ╰─────result: +dlist
   ╭considering: $domain
   ├──────value: ehlo.domain
              ╰──(tainted)
   ╰─────result: +dlist
   ╭considering: $domain
   ├──────value: ehlo.domain
              ╰──(tainted)
-  ├──expanding: $domain
+  ├───expanded: $domain
   ╰─────result: ehlo.domain
              ╰──(tainted)
   ╰─────result: ehlo.domain
              ╰──(tainted)
- ├──condition: match_domain {$sender_helo_name}{+dlist}
+ ├──condition: match_domain{$sender_helo_name}{+dlist}
  ├─────result: true
  ├─────result: true
- ├──expanding: ${if match_domain {$sender_helo_name}{+dlist}}
+ ├───expanded: ${if░match_domain░{$sender_helo_name}{+dlist}}
  ╰─────result: true
 try option acl_smtp_etrn
 try option acl_smtp_vrfy
  ╰─────result: true
 try option acl_smtp_etrn
 try option acl_smtp_vrfy
@@ -501,7 +497,7 @@ try option acl_smtp_mail
  ├considering: $sender_address_domain
  ├──────value: sender.domain
             ╰──(tainted)
  ├considering: $sender_address_domain
  ├──────value: sender.domain
             ╰──(tainted)
- ├──expanding: domain=$domain/sender_domain=$sender_address_domain
+ ├───expanded: domain=$domain/sender_domain=$sender_address_domain
  ╰─────result: domain=/sender_domain=sender.domain
             ╰──(tainted)
 try option acl_smtp_rcpt
  ╰─────result: domain=/sender_domain=sender.domain
             ╰──(tainted)
 try option acl_smtp_rcpt
@@ -515,7 +511,7 @@ try option acl_smtp_rcpt
  ├considering: $sender_address_domain
  ├──────value: sender.domain
             ╰──(tainted)
  ├considering: $sender_address_domain
  ├──────value: sender.domain
             ╰──(tainted)
- ├──expanding: domain=$domain/sender_domain=$sender_address_domain
+ ├───expanded: domain=$domain/sender_domain=$sender_address_domain
  ╰─────result: domain=recipient.domain/sender_domain=sender.domain
             ╰──(tainted)
  ╭considering: domain=$domain/sender_domain=$sender_address_domain
  ╰─────result: domain=recipient.domain/sender_domain=sender.domain
             ╰──(tainted)
  ╭considering: domain=$domain/sender_domain=$sender_address_domain
@@ -528,7 +524,7 @@ try option acl_smtp_rcpt
  ├considering: $sender_address_domain
  ├──────value: sender.domain
             ╰──(tainted)
  ├considering: $sender_address_domain
  ├──────value: sender.domain
             ╰──(tainted)
- ├──expanding: domain=$domain/sender_domain=$sender_address_domain
+ ├───expanded: domain=$domain/sender_domain=$sender_address_domain
  ╰─────result: domain=recipient.domain/sender_domain=sender.domain
             ╰──(tainted)
 try option acl_smtp_quit
  ╰─────result: domain=recipient.domain/sender_domain=sender.domain
             ╰──(tainted)
 try option acl_smtp_quit
index d2e76db191f77169c83b1157b6c0c87c6e9957d2..8b59ca9a690da51513e141c20f42f8a632a2cce3 100644 (file)
@@ -13,58 +13,58 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: primaryhostname.ex
  ├──────value: primaryhostname.ex
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: primaryhostname.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: primaryhostname.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 try option acl_smtp_helo
 try option acl_smtp_mail
 try option acl_smtp_rcpt
 try option acl_smtp_helo
 try option acl_smtp_mail
 try option acl_smtp_rcpt
- ╭considering: domain $domain
- ├───────text: domain 
+ ╭considering: domain$domain
+ ├───────text: domain
  ├considering: $domain
  ├──────value: trythiskey.ex
             ╰──(tainted)
  ├considering: $domain
  ├──────value: trythiskey.ex
             ╰──(tainted)
- ├──expanding: domain $domain
- ╰─────result: domain trythiskey.ex
+ ├───expanded: domain░$domain
+ ╰─────result: domaintrythiskey.ex
             ╰──(tainted)
 LOG: MAIN
   domain trythiskey.ex
 created log directory TESTSUITE/spool/log
             ╰──(tainted)
 LOG: MAIN
   domain trythiskey.ex
 created log directory TESTSUITE/spool/log
- ╭considering: value  $domain_data
- ├───────text: value  
+ ╭considering: value░░$domain_data
+ ├───────text: value░░
  ├considering: $domain_data
  ├considering: $domain_data
- ├──────value: has this data
- ├──expanding: value  $domain_data
- ╰─────result: value  has this data
+ ├──────value: has░this░data
+ ├───expanded: value░░$domain_data
+ ╰─────result: value░░has░this░data
 LOG: MAIN
   value  has this data
 LOG: MAIN
   value  has this data
- ╭considering: \$0 '$0'  \$1 '$1'
+ ╭considering: \$0░'$0'░░\$1░'$1'
  ├backslashed: '\$'
  ├backslashed: '\$'
- ├considering: 0 '$0'  \$1 '$1'
- ├───────text: 0 '
- ├considering: $0'  \$1 '$1'
+ ├considering: 0░'$0'░░\$1░'$1'
+ ├───────text: 0'
+ ├considering: $0'░░\$1░'$1'
  ├──────value: trythiskey.ex
             ╰──(tainted)
  ├──────value: trythiskey.ex
             ╰──(tainted)
- ├considering: '  \$1 '$1'
- ├───────text: '  
- ├considering: \$1 '$1'
+ ├considering: '░░\$1░'$1'
+ ├───────text: '░░
+ ├considering: \$1'$1'
  ├backslashed: '\$'
  ├backslashed: '\$'
- ├considering: 1 '$1'
- ├───────text: 1 '
+ ├considering: 1'$1'
+ ├───────text: 1'
  ├considering: $1'
  ├considering: '
  ├───────text: '
  ├considering: $1'
  ├considering: '
  ├───────text: '
- ├──expanding: \$0 '$0'  \$1 '$1'
- ╰─────result: $0 'trythiskey.ex'  $1 ''
+ ├───expanded: \$0░'$0'░░\$1░'$1'
+ ╰─────result: $0░'trythiskey.ex'░░$1░''
             ╰──(tainted)
 LOG: MAIN
   $0 'trythiskey.ex'  $1 ''
             ╰──(tainted)
 LOG: MAIN
   $0 'trythiskey.ex'  $1 ''
@@ -87,57 +87,57 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: primaryhostname.ex
  ├──────value: primaryhostname.ex
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: primaryhostname.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: primaryhostname.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 try option acl_smtp_helo
 try option acl_smtp_mail
 try option acl_smtp_rcpt
 try option acl_smtp_helo
 try option acl_smtp_mail
 try option acl_smtp_rcpt
- ╭considering: domain $domain
- ├───────text: domain 
+ ╭considering: domain$domain
+ ├───────text: domain
  ├considering: $domain
  ├──────value: trythiskey.ex
             ╰──(tainted)
  ├considering: $domain
  ├──────value: trythiskey.ex
             ╰──(tainted)
- ├──expanding: domain $domain
- ╰─────result: domain trythiskey.ex
+ ├───expanded: domain░$domain
+ ╰─────result: domaintrythiskey.ex
             ╰──(tainted)
 LOG: MAIN
   domain trythiskey.ex
             ╰──(tainted)
 LOG: MAIN
   domain trythiskey.ex
- ╭considering: value  $domain_data
- ├───────text: value  
+ ╭considering: value░░$domain_data
+ ├───────text: value░░
  ├considering: $domain_data
  ├──────value: trythiskey.ex
  ├considering: $domain_data
  ├──────value: trythiskey.ex
- ├──expanding: value  $domain_data
- ╰─────result: value  trythiskey.ex
+ ├───expanded: value░░$domain_data
+ ╰─────result: value░░trythiskey.ex
 LOG: MAIN
   value  trythiskey.ex
 LOG: MAIN
   value  trythiskey.ex
- ╭considering: \$0 '$0'  \$1 '$1'
+ ╭considering: \$0░'$0'░░\$1░'$1'
  ├backslashed: '\$'
  ├backslashed: '\$'
- ├considering: 0 '$0'  \$1 '$1'
- ├───────text: 0 '
- ├considering: $0'  \$1 '$1'
+ ├considering: 0░'$0'░░\$1░'$1'
+ ├───────text: 0'
+ ├considering: $0'░░\$1░'$1'
  ├──────value: trythiskey.ex
             ╰──(tainted)
  ├──────value: trythiskey.ex
             ╰──(tainted)
- ├considering: '  \$1 '$1'
- ├───────text: '  
- ├considering: \$1 '$1'
+ ├considering: '░░\$1░'$1'
+ ├───────text: '░░
+ ├considering: \$1'$1'
  ├backslashed: '\$'
  ├backslashed: '\$'
- ├considering: 1 '$1'
- ├───────text: 1 '
+ ├considering: 1'$1'
+ ├───────text: 1'
  ├considering: $1'
  ├considering: '
  ├───────text: '
  ├considering: $1'
  ├considering: '
  ├───────text: '
- ├──expanding: \$0 '$0'  \$1 '$1'
- ╰─────result: $0 'trythiskey.ex'  $1 ''
+ ├───expanded: \$0░'$0'░░\$1░'$1'
+ ╰─────result: $0░'trythiskey.ex'░░$1░''
             ╰──(tainted)
 LOG: MAIN
   $0 'trythiskey.ex'  $1 ''
             ╰──(tainted)
 LOG: MAIN
   $0 'trythiskey.ex'  $1 ''
index 9c2db0ec327402cfcd78923b9b088c449fb779ef..5424c5664039923443bc1a41bdd02928d7b6a04a 100644 (file)
@@ -3,8 +3,8 @@
 01:01:01 p1237  accept: condition test succeeded in ACL "chk_data"
 01:01:01 p1237  end of ACL "chk_data": ACCEPT
 01:01:01 p1237   ╭considering: ${tod_full}
 01:01:01 p1237  accept: condition test succeeded in ACL "chk_data"
 01:01:01 p1237  end of ACL "chk_data": ACCEPT
 01:01:01 p1237   ╭considering: ${tod_full}
-01:01:01 p1237   ├──expanding: ${tod_full}
-01:01:01 p1237   ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+01:01:01 p1237   ├───expanded: ${tod_full}
+01:01:01 p1237   ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 01:01:01 p1237  Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-000000005vi-0000
 01:01:01 p1237  DSN: **** SPOOL_OUT - address: <dest@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 01:01:01 p1237  Renaming spool header file: TESTSUITE/spool//input//10HmaX-000000005vi-0000-H
 01:01:01 p1237  Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-000000005vi-0000
 01:01:01 p1237  DSN: **** SPOOL_OUT - address: <dest@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 01:01:01 p1237  Renaming spool header file: TESTSUITE/spool//input//10HmaX-000000005vi-0000-H
 01:01:01 p1240  accept: condition test succeeded in ACL "chk_data"
 01:01:01 p1240  end of ACL "chk_data": ACCEPT
 01:01:01 p1240   ╭considering: ${tod_full}
 01:01:01 p1240  accept: condition test succeeded in ACL "chk_data"
 01:01:01 p1240  end of ACL "chk_data": ACCEPT
 01:01:01 p1240   ╭considering: ${tod_full}
-01:01:01 p1240   ├──expanding: ${tod_full}
-01:01:01 p1240   ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+01:01:01 p1240   ├───expanded: ${tod_full}
+01:01:01 p1240   ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 01:01:01 p1240  Writing spool header file: TESTSUITE/spool//input//hdr.10HmaY-000000005vi-0000
 01:01:01 p1240  DSN: **** SPOOL_OUT - address: <dest2@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 01:01:01 p1240  Renaming spool header file: TESTSUITE/spool//input//10HmaY-000000005vi-0000-H
 01:01:01 p1240  Writing spool header file: TESTSUITE/spool//input//hdr.10HmaY-000000005vi-0000
 01:01:01 p1240  DSN: **** SPOOL_OUT - address: <dest2@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 01:01:01 p1240  Renaming spool header file: TESTSUITE/spool//input//10HmaY-000000005vi-0000-H
index 3ecc9dcbd37fd6300812a671000057225568179d..aef9cabb0940625eb91cc3439ef093d38b3208ca 100644 (file)
@@ -1,4 +1,3 @@
-01:01:01 p1235  no   domain  retry record
 01:01:01 p1235  no   address retry record
 01:01:01 p1235  dest3@test.ex: queued for routing
 01:01:01 p1235  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 01:01:01 p1235  no   address retry record
 01:01:01 p1235  dest3@test.ex: queued for routing
 01:01:01 p1235  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@@ -11,7 +10,7 @@
 01:01:01 p1235   ├considering: $local_part
 01:01:01 p1235   ├──────value: dest3
 01:01:01 p1235              ╰──(tainted)
 01:01:01 p1235   ├considering: $local_part
 01:01:01 p1235   ├──────value: dest3
 01:01:01 p1235              ╰──(tainted)
-01:01:01 p1235   ├──expanding: /$local_part
+01:01:01 p1235   ├───expanded: /$local_part
 01:01:01 p1235   ╰─────result: /dest3
 01:01:01 p1235              ╰──(tainted)
 01:01:01 p1235  dest3 in "/dest3"?
 01:01:01 p1235   ╰─────result: /dest3
 01:01:01 p1235              ╰──(tainted)
 01:01:01 p1235  dest3 in "/dest3"?
index 25b675dab948a16555d1279b64f05689afed0ef6..c19620b80909813aad95ef795e02b22c31915dc3 100644 (file)
@@ -18,7 +18,7 @@ try option notifier_socket
  ├──────value: TESTSUITE/spool
  ├considering: /exim_daemon_notify
  ├───────text: /exim_daemon_notify
  ├──────value: TESTSUITE/spool
  ├considering: /exim_daemon_notify
  ├───────text: /exim_daemon_notify
- ├──expanding: $spool_directory/exim_daemon_notify
+ ├───expanded: $spool_directory/exim_daemon_notify
  ╰─────result: TESTSUITE/spool/exim_daemon_notify
  TESTSUITE/spool/exim_daemon_notify
 listening on all interfaces (IPv6) port PORT_D
  ╰─────result: TESTSUITE/spool/exim_daemon_notify
  TESTSUITE/spool/exim_daemon_notify
 listening on all interfaces (IPv6) port PORT_D
@@ -36,18 +36,18 @@ p1235 Process p1235 is handling incoming connection from [127.0.0.1]
 p1235 try option message_size_limit
 p1235 try option acl_smtp_connect
 p1235 try option smtp_banner
 p1235 try option message_size_limit
 p1235 try option acl_smtp_connect
 p1235 try option smtp_banner
-p1235  ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+p1235  ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
 p1235  ├──────value: myhost.test.ex
 p1235  ├──────value: myhost.test.ex
-p1235  ├considering:  ESMTP Exim $version_number $tod_full
-p1235  ├───────text:  ESMTP Exim 
-p1235  ├considering: $version_number $tod_full
+p1235  ├considering: ░ESMTP░Exim░$version_number░$tod_full
+p1235  ├───────text: ░ESMTP░Exim░
+p1235  ├considering: $version_number$tod_full
 p1235  ├──────value: x.yz
 p1235  ├──────value: x.yz
-p1235  ├considering:  $tod_full
-p1235  ├───────text:  
+p1235  ├considering: $tod_full
+p1235  ├───────text: 
 p1235  ├considering: $tod_full
 p1235  ├considering: $tod_full
-p1235  ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
-p1235  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
-p1235  ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+p1235  ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+p1235  ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+p1235  ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 p1235 Process p1235 is ready for new message
 p1235 try option acl_smtp_helo
 p1235 try option acl_smtp_mail
 p1235 Process p1235 is ready for new message
 p1235 try option acl_smtp_helo
 p1235 try option acl_smtp_mail
@@ -60,18 +60,18 @@ p1235  ╭considering: $spool_directory/exim_daemon_notify
 p1235  ├──────value: TESTSUITE/spool
 p1235  ├considering: /exim_daemon_notify
 p1235  ├───────text: /exim_daemon_notify
 p1235  ├──────value: TESTSUITE/spool
 p1235  ├considering: /exim_daemon_notify
 p1235  ├───────text: /exim_daemon_notify
-p1235  ├──expanding: $spool_directory/exim_daemon_notify
+p1235  ├───expanded: $spool_directory/exim_daemon_notify
 p1235  ╰─────result: TESTSUITE/spool/exim_daemon_notify
 p1235  ╰─────result: TESTSUITE/spool/exim_daemon_notify
-p1235  ╭considering: ${if match {a_random_string} {static_RE}}
-p1235   ╭considering: a_random_string} {static_RE}}
+p1235  ╭considering: ${if░match░{a_random_string}░{static_RE}}
+p1235   ╭considering: a_random_string}{static_RE}}
 p1235   ├───────text: a_random_string
 p1235   ├───────text: a_random_string
-p1235   ├considering: } {static_RE}}
-p1235   ├──expanding: a_random_string
+p1235   ├considering: }{static_RE}}
+p1235   ├───expanded: a_random_string
 p1235   ╰─────result: a_random_string
 p1235   ╭considering: static_RE}}
 p1235   ├───────text: static_RE
 p1235   ├considering: }}
 p1235   ╰─────result: a_random_string
 p1235   ╭considering: static_RE}}
 p1235   ├───────text: static_RE
 p1235   ├considering: }}
-p1235   ├──expanding: static_RE
+p1235   ├───expanded: static_RE
 p1235   ╰─────result: static_RE
 p1235  compiled RE 'static_RE' not found in local cache
 p1235  compiling RE 'static_RE'
 p1235   ╰─────result: static_RE
 p1235  compiled RE 'static_RE' not found in local cache
 p1235  compiling RE 'static_RE'
@@ -82,24 +82,24 @@ p1235   ╭considering: $spool_directory/exim_daemon_notify
 p1235   ├──────value: TESTSUITE/spool
 p1235   ├considering: /exim_daemon_notify
 p1235   ├───────text: /exim_daemon_notify
 p1235   ├──────value: TESTSUITE/spool
 p1235   ├considering: /exim_daemon_notify
 p1235   ├───────text: /exim_daemon_notify
-p1235   ├──expanding: $spool_directory/exim_daemon_notify
+p1235   ├───expanded: $spool_directory/exim_daemon_notify
 p1235   ╰─────result: TESTSUITE/spool/exim_daemon_notify
 p1235   ╰─────result: TESTSUITE/spool/exim_daemon_notify
-p1235  ├──condition: match {a_random_string} {static_RE}
+p1235  ├──condition: match░{a_random_string}░{static_RE}
 p1235  ├─────result: false
 p1235  ├─────result: false
-p1235  ├──expanding: ${if match {a_random_string} {static_RE}}
+p1235  ├───expanded: ${if░match░{a_random_string}░{static_RE}}
 p1235  ╰─────result: 
 p1235  ╰─────result: 
-p1235  ╭considering: ${if match {a_random_string} {tricky_static_RE\$}}
-p1235   ╭considering: a_random_string} {tricky_static_RE\$}}
+p1235  ╭considering: ${if░match░{a_random_string}░{tricky_static_RE\$}}
+p1235   ╭considering: a_random_string}{tricky_static_RE\$}}
 p1235   ├───────text: a_random_string
 p1235   ├───────text: a_random_string
-p1235   ├considering: } {tricky_static_RE\$}}
-p1235   ├──expanding: a_random_string
+p1235   ├considering: }{tricky_static_RE\$}}
+p1235   ├───expanded: a_random_string
 p1235   ╰─────result: a_random_string
 p1235   ╭considering: tricky_static_RE\$}}
 p1235   ├───────text: tricky_static_RE
 p1235   ├considering: \$}}
 p1235   ├backslashed: '\$'
 p1235   ├considering: }}
 p1235   ╰─────result: a_random_string
 p1235   ╭considering: tricky_static_RE\$}}
 p1235   ├───────text: tricky_static_RE
 p1235   ├considering: \$}}
 p1235   ├backslashed: '\$'
 p1235   ├considering: }}
-p1235   ├──expanding: tricky_static_RE\$
+p1235   ├───expanded: tricky_static_RE\$
 p1235   ╰─────result: tricky_static_RE$
 p1235  compiled RE 'tricky_static_RE$' not found in local cache
 p1235  compiling RE 'tricky_static_RE$'
 p1235   ╰─────result: tricky_static_RE$
 p1235  compiled RE 'tricky_static_RE$' not found in local cache
 p1235  compiling RE 'tricky_static_RE$'
@@ -110,391 +110,389 @@ p1235   ╭considering: $spool_directory/exim_daemon_notify
 p1235   ├──────value: TESTSUITE/spool
 p1235   ├considering: /exim_daemon_notify
 p1235   ├───────text: /exim_daemon_notify
 p1235   ├──────value: TESTSUITE/spool
 p1235   ├considering: /exim_daemon_notify
 p1235   ├───────text: /exim_daemon_notify
-p1235   ├──expanding: $spool_directory/exim_daemon_notify
+p1235   ├───expanded: $spool_directory/exim_daemon_notify
 p1235   ╰─────result: TESTSUITE/spool/exim_daemon_notify
 p1235   ╰─────result: TESTSUITE/spool/exim_daemon_notify
-p1235  ├──condition: match {a_random_string} {tricky_static_RE\$}
+p1235  ├──condition: match░{a_random_string}░{tricky_static_RE\$}
 p1235  ├─────result: false
 p1235  ├─────result: false
-p1235  ├──expanding: ${if match {a_random_string} {tricky_static_RE\$}}
+p1235  ├───expanded: ${if░match░{a_random_string}░{tricky_static_RE\$}}
 p1235  ╰─────result: 
 p1235  ╰─────result: 
-p1235  ╭considering: ${if match {a_random_string} {pid=${pid} uncacheable_RE}}
-p1235   ╭considering: a_random_string} {pid=${pid} uncacheable_RE}}
+p1235  ╭considering: ${if░match░{a_random_string}░{pid=${pid}░uncacheable_RE}}
+p1235   ╭considering: a_random_string}░{pid=${pid}░uncacheable_RE}}
 p1235   ├───────text: a_random_string
 p1235   ├───────text: a_random_string
-p1235   ├considering: } {pid=${pid} uncacheable_RE}}
-p1235   ├──expanding: a_random_string
+p1235   ├considering: }░{pid=${pid}░uncacheable_RE}}
+p1235   ├───expanded: a_random_string
 p1235   ╰─────result: a_random_string
 p1235   ╰─────result: a_random_string
-p1235   ╭considering: pid=${pid} uncacheable_RE}}
+p1235   ╭considering: pid=${pid}uncacheable_RE}}
 p1235   ├───────text: pid=
 p1235   ├───────text: pid=
-p1235   ├considering: ${pid} uncacheable_RE}}
-p1235   ├considering:  uncacheable_RE}}
-p1235   ├───────text:  uncacheable_RE
+p1235   ├considering: ${pid}uncacheable_RE}}
+p1235   ├considering: uncacheable_RE}}
+p1235   ├───────text: uncacheable_RE
 p1235   ├considering: }}
 p1235   ├considering: }}
-p1235   ├──expanding: pid=${pid} uncacheable_RE
-p1235   ╰─────result: pid=p1235 uncacheable_RE
+p1235   ├───expanded: pid=${pid}░uncacheable_RE
+p1235   ╰─────result: pid=p1235uncacheable_RE
 p1235  compiling RE 'pid=p1235 uncacheable_RE'
 p1235  compiling RE 'pid=p1235 uncacheable_RE'
-p1235  ├──condition: match {a_random_string} {pid=${pid} uncacheable_RE}
+p1235  ├──condition: match░{a_random_string}░{pid=${pid}░uncacheable_RE}
 p1235  ├─────result: false
 p1235  ├─────result: false
-p1235  ├──expanding: ${if match {a_random_string} {pid=${pid} uncacheable_RE}}
+p1235  ├───expanded: ${if░match░{a_random_string}░{pid=${pid}░uncacheable_RE}}
 p1235  ╰─────result: 
 p1235 try option acl_smtp_predata
 p1235 search_tidyup called
 p1235 search_tidyup called
 p1235  ╭considering: ${tod_full}
 p1235  ╰─────result: 
 p1235 try option acl_smtp_predata
 p1235 search_tidyup called
 p1235 search_tidyup called
 p1235  ╭considering: ${tod_full}
-p1235  ├──expanding: ${tod_full}
-p1235  ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+p1235  ├───expanded: ${tod_full}
+p1235  ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 p1235 try option received_header_text
 p1235 try option received_header_text
-p1235  ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-p1235          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235  ├───────text: Received: 
-p1235  ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-p1235          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235  ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+p1235          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235  ├───────text: Received:
+p1235  ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+p1235          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235  ├──condition: def:sender_rcvhost
 p1235  ├─────result: true
 p1235  ├──condition: def:sender_rcvhost
 p1235  ├─────result: true
-p1235   ╭considering: from $sender_rcvhost
-p1235          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├───────text: from 
-p1235   ├considering: $sender_rcvhost
-p1235          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├──────value: [127.0.0.1] (helo=test.ex)
+p1235   ╭considering: from░$sender_rcvhost↩
+p1235          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───────text: from
+p1235   ├considering: $sender_rcvhost
+p1235          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├──────value: [127.0.0.1](helo=test.ex)
 p1235              ╰──(tainted)
 p1235              ╰──(tainted)
-p1235   ├considering: 
-p1235          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├───────text: 
+p1235   ├considering: 
+p1235          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───────text: 
 p1235          
 p1235          
-p1235   ├considering: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├──expanding: from $sender_rcvhost
+p1235   ├considering: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───expanded: from░$sender_rcvhost↩
 p1235          
 p1235          
-p1235   ╰─────result: from [127.0.0.1] (helo=test.ex)
+p1235   ╰─────result: from░[127.0.0.1]░(helo=test.ex)↩
 p1235          
 p1235              ╰──(tainted)
 p1235          
 p1235              ╰──(tainted)
-p1235   ╭───scanning: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235   ╭───scanning: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235   ├──condition: def:sender_ident
 p1235   ├─────result: false
 p1235   ├──condition: def:sender_ident
 p1235   ├─────result: false
-p1235    ╭───scanning: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235    ├───────text: from 
-p1235    ├───scanning: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235    ╎╭───scanning: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235    ╎   }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235    ╎   }}(Exim $version_number)
-p1235    ╎   ${if def:sender_address {(envelope-from <$sender_address>)
-p1235    ╎   }}id $message_exim_id${if def:received_for {
-p1235    ╎   for $received_for}}
+p1235    ╭───scanning: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235    ├───────text: from
+p1235    ├───scanning: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235    ╎╭───scanning: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235    ╎   }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235    ╎   }}(Exim░$version_number)↩
+p1235    ╎   ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235    ╎   }}id░$message_exim_id${if░def:received_for░{↩
+p1235    ╎   for$received_for}}
 p1235    ╎├──────value: 
 p1235    ╎├──────value: 
-p1235    ╎├───scanning: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235    ╎   }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235    ╎   }}(Exim $version_number)
-p1235    ╎   ${if def:sender_address {(envelope-from <$sender_address>)
-p1235    ╎   }}id $message_exim_id${if def:received_for {
-p1235    ╎   for $received_for}}
-p1235    ╎├──expanding: $sender_ident
-p1235    ╎├─────result: 
+p1235    ╎├───scanning: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235    ╎   }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235    ╎   }}(Exim░$version_number)↩
+p1235    ╎   ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235    ╎   }}id░$message_exim_id${if░def:received_for░{↩
+p1235    ╎   for$received_for}}
+p1235    ╎├───expanded: $sender_ident
+p1235    ╎├─────result:  ◀skipped▶
 p1235    ╎╰───skipping: result is not used
 p1235    ╎╰───skipping: result is not used
-p1235    ├───scanning:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235    ├───────text:  
-p1235    ├───scanning: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235    ├──expanding: from ${quote_local_part:$sender_ident} 
-p1235    ├─────result: from  
+p1235    ├───scanning: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235    ├───────text: 
+p1235    ├───scanning: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235    ├───expanded: from░${quote_local_part:$sender_ident}░
+p1235    ├─────result:  ◀skipped▶
 p1235    ╰───skipping: result is not used
 p1235   ├───item-res: 
 p1235    ╰───skipping: result is not used
 p1235   ├───item-res: 
-p1235   ├───scanning: ${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235   ├───scanning: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235   ├──condition: def:sender_helo_name
 p1235   ├─────result: false
 p1235   ├──condition: def:sender_helo_name
 p1235   ├─────result: false
-p1235    ╭───scanning: (helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235    ╭───scanning: (helo=$sender_helo_name)
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235    ├───────text: (helo=
 p1235    ├───────text: (helo=
-p1235    ├───scanning: $sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235    ├───scanning: $sender_helo_name)
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235    ├──────value: 
 p1235    ├──────value: 
-p1235    ├───scanning: )
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235    ├───────text: )
+p1235    ├───scanning: )
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235    ├───────text: )
 p1235          
 p1235          
-p1235    ├───scanning: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235    ├──expanding: (helo=$sender_helo_name)
-p1235          
-p1235    ├─────result: (helo=)
+p1235    ├───scanning: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for░$received_for}}
+p1235    ├───expanded: (helo=$sender_helo_name)↩
 p1235          
 p1235          
+p1235    ├─────result:  ◀skipped▶
 p1235    ╰───skipping: result is not used
 p1235   ├───item-res: 
 p1235    ╰───skipping: result is not used
 p1235   ├───item-res: 
-p1235   ├───scanning: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+p1235   ├───scanning: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
 p1235          }}
 p1235          }}
-p1235   ├─────result: 
+p1235   ├─────result:  ◀skipped▶
 p1235   ╰───skipping: result is not used
 p1235   ╰───skipping: result is not used
-p1235  ├───item-res: from [127.0.0.1] (helo=test.ex)
+p1235  ├───item-res: from░[127.0.0.1]░(helo=test.ex)↩
 p1235          
 p1235             ╰──(tainted)
 p1235          
 p1235             ╰──(tainted)
-p1235  ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235  ├───────text: by 
-p1235  ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235  ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235  ├───────text: by
+p1235  ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235  ├──────value: myhost.test.ex
 p1235  ├──────value: myhost.test.ex
-p1235  ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235  ├───────text:  
-p1235  ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235  ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235  ├───────text: 
+p1235  ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235  ├──condition: def:received_protocol
 p1235  ├─────result: true
 p1235  ├──condition: def:received_protocol
 p1235  ├─────result: true
-p1235   ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├───────text: with 
-p1235   ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235   ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───────text: with
+p1235   ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235   ├──────value: smtp
 p1235   ├──────value: smtp
-p1235   ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├───────text:  
-p1235   ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├──expanding: with $received_protocol 
-p1235   ╰─────result: with smtp 
-p1235  ├───item-res: with smtp 
+p1235   ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───────text: 
+p1235   ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───expanded: with░$received_protocol░
+p1235   ╰─────result: with░smtp░
+p1235  ├───item-res: with░smtp░
 p1235             ╰──(tainted)
 p1235             ╰──(tainted)
-p1235  ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├──expanding:  ($tls_in_ver)
-p1235   ├─────result:  ()
+p1235  ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───expanded: ░($tls_in_ver)
+p1235   ├─────result:  ◀skipped▶
 p1235   ╰───skipping: result is not used
 p1235  ├───item-res: 
 p1235             ╰──(tainted)
 p1235   ╰───skipping: result is not used
 p1235  ├───item-res: 
 p1235             ╰──(tainted)
-p1235  ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235  ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235  ├──condition: def:tls_in_cipher_std
 p1235  ├─────result: false
 p1235  ├──condition: def:tls_in_cipher_std
 p1235  ├─────result: false
-p1235   ╭───scanning:  tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├───────text:  tls 
-p1235   ├───scanning: $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235   ╭───scanning: ░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───────text: ░tls░
+p1235   ├───scanning: $tls_in_cipher_std
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235   ├──────value: 
 p1235   ├──────value: 
-p1235   ├───scanning: 
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├───────text: 
-p1235          
-p1235   ├───scanning: }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├──expanding:  tls $tls_in_cipher_std
+p1235   ├───scanning: ↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for░$received_for}}
+p1235   ├───────text: ↩
 p1235          
 p1235          
-p1235   ├─────result:  tls 
+p1235   ├───scanning: }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for░$received_for}}
+p1235   ├───expanded: ░tls░$tls_in_cipher_std↩
 p1235          
 p1235          
+p1235   ├─────result:  ◀skipped▶
 p1235   ╰───skipping: result is not used
 p1235  ├───item-res: 
 p1235             ╰──(tainted)
 p1235   ╰───skipping: result is not used
 p1235  ├───item-res: 
 p1235             ╰──(tainted)
-p1235  ├considering: (Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235  ├───────text: (Exim 
-p1235  ├considering: $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235  ├considering: (Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235  ├───────text: (Exim
+p1235  ├considering: $version_number)
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235  ├──────value: x.yz
 p1235  ├──────value: x.yz
-p1235  ├considering: )
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235  ├───────text: )
+p1235  ├considering: )
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235  ├───────text: )
 p1235          
 p1235          
-p1235  ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235  ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235  ├──condition: def:sender_address
 p1235  ├─────result: true
 p1235  ├──condition: def:sender_address
 p1235  ├─────result: true
-p1235   ╭considering: (envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├───────text: (envelope-from <
-p1235   ├considering: $sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235   ╭considering: (envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───────text: (envelope-from<
+p1235   ├considering: $sender_address>)
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235   ├──────value: CALLER@test.ex
 p1235              ╰──(tainted)
 p1235   ├──────value: CALLER@test.ex
 p1235              ╰──(tainted)
-p1235   ├considering: >)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├───────text: >)
+p1235   ├considering: >)
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───────text: >)
 p1235          
 p1235          
-p1235   ├considering: }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235   ├──expanding: (envelope-from <$sender_address>)
+p1235   ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235   ├───expanded: (envelope-from░<$sender_address>)↩
 p1235          
 p1235          
-p1235   ╰─────result: (envelope-from <CALLER@test.ex>)
+p1235   ╰─────result: (envelope-from░<CALLER@test.ex>)↩
 p1235          
 p1235              ╰──(tainted)
 p1235          
 p1235              ╰──(tainted)
-p1235  ├───item-res: (envelope-from <CALLER@test.ex>)
+p1235  ├───item-res: (envelope-from░<CALLER@test.ex>)↩
 p1235          
 p1235             ╰──(tainted)
 p1235          
 p1235             ╰──(tainted)
-p1235  ├considering: id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235  ├───────text: id 
-p1235  ├considering: $message_exim_id${if def:received_for {
-p1235          for $received_for}}
+p1235  ├considering: id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235  ├───────text: id
+p1235  ├considering: $message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235  ├──────value: 10HmaX-000000005vi-0000
 p1235  ├──────value: 10HmaX-000000005vi-0000
-p1235  ├considering: ${if def:received_for {
-p1235          for $received_for}}
+p1235  ├considering: ${if░def:received_for░{↩
+p1235          for$received_for}}
 p1235  ├──condition: def:received_for
 p1235  ├─────result: true
 p1235  ├──condition: def:received_for
 p1235  ├─────result: true
-p1235   ╭considering: 
-p1235          for $received_for}}
-p1235   ├───────text: 
-p1235          for 
+p1235   ╭considering: 
+p1235          for$received_for}}
+p1235   ├───────text: 
+p1235          for
 p1235   ├considering: $received_for}}
 p1235   ├──────value: dest_1@test.ex
 p1235              ╰──(tainted)
 p1235   ├considering: }}
 p1235   ├considering: $received_for}}
 p1235   ├──────value: dest_1@test.ex
 p1235              ╰──(tainted)
 p1235   ├considering: }}
-p1235   ├──expanding: 
-p1235          for $received_for
-p1235   ╰─────result: 
-p1235          for dest_1@test.ex
+p1235   ├───expanded: ↩
+p1235          for$received_for
+p1235   ╰─────result: 
+p1235          fordest_1@test.ex
 p1235              ╰──(tainted)
 p1235              ╰──(tainted)
-p1235  ├───item-res: 
-p1235          for dest_1@test.ex
+p1235  ├───item-res: 
+p1235          fordest_1@test.ex
 p1235             ╰──(tainted)
 p1235             ╰──(tainted)
-p1235  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-p1235          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1235          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1235          }}(Exim $version_number)
-p1235          ${if def:sender_address {(envelope-from <$sender_address>)
-p1235          }}id $message_exim_id${if def:received_for {
-p1235          for $received_for}}
-p1235  ╰─────result: Received: from [127.0.0.1] (helo=test.ex)
-p1235          by myhost.test.ex with smtp (Exim x.yz)
-p1235          (envelope-from <CALLER@test.ex>)
-p1235          id 10HmaX-000000005vi-0000
-p1235          for dest_1@test.ex
+p1235  ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+p1235          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1235          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1235          }}(Exim░$version_number)↩
+p1235          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1235          }}id░$message_exim_id${if░def:received_for░{↩
+p1235          for$received_for}}
+p1235  ╰─────result: Received:░from░[127.0.0.1]░(helo=test.ex)↩
+p1235          by░myhost.test.ex░with░smtp░(Exim░x.yz)↩
+p1235          (envelope-from░<CALLER@test.ex>)↩
+p1235          id░10HmaX-000000005vi-0000↩
+p1235          fordest_1@test.ex
 p1235             ╰──(tainted)
 p1235 try option acl_smtp_dkim
 p1235 try option acl_smtp_mime
 p1235 try option acl_smtp_data
 p1235  ╭considering: ${tod_full}
 p1235             ╰──(tainted)
 p1235 try option acl_smtp_dkim
 p1235 try option acl_smtp_mime
 p1235 try option acl_smtp_data
 p1235  ╭considering: ${tod_full}
-p1235  ├──expanding: ${tod_full}
-p1235  ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+p1235  ├───expanded: ${tod_full}
+p1235  ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 LOG: MAIN
   <= CALLER@test.ex H=(test.ex) [127.0.0.1] Ci=p1235 P=smtp S=sss
 search_tidyup called
 LOG: MAIN
   <= CALLER@test.ex H=(test.ex) [127.0.0.1] Ci=p1235 P=smtp S=sss
 search_tidyup called
@@ -533,436 +531,434 @@ p1236 Process p1236 is handling incoming connection from [127.0.0.1]
 p1236 try option message_size_limit
 p1236 try option acl_smtp_connect
 p1236 try option smtp_banner
 p1236 try option message_size_limit
 p1236 try option acl_smtp_connect
 p1236 try option smtp_banner
-p1236  ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+p1236  ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
 p1236  ├──────value: myhost.test.ex
 p1236  ├──────value: myhost.test.ex
-p1236  ├considering:  ESMTP Exim $version_number $tod_full
-p1236  ├───────text:  ESMTP Exim 
-p1236  ├considering: $version_number $tod_full
+p1236  ├considering: ░ESMTP░Exim░$version_number░$tod_full
+p1236  ├───────text: ░ESMTP░Exim░
+p1236  ├considering: $version_number$tod_full
 p1236  ├──────value: x.yz
 p1236  ├──────value: x.yz
-p1236  ├considering:  $tod_full
-p1236  ├───────text:  
+p1236  ├considering: $tod_full
+p1236  ├───────text: 
 p1236  ├considering: $tod_full
 p1236  ├considering: $tod_full
-p1236  ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
-p1236  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
-p1236  ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+p1236  ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+p1236  ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+p1236  ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 p1236 Process p1236 is ready for new message
 p1236 try option acl_smtp_helo
 p1236 try option acl_smtp_mail
 p1236 try option acl_smtp_rcpt
 p1236 compiled caseless RE '^nomatch_list' found in local cache
 p1236 Process p1236 is ready for new message
 p1236 try option acl_smtp_helo
 p1236 try option acl_smtp_mail
 p1236 try option acl_smtp_rcpt
 p1236 compiled caseless RE '^nomatch_list' found in local cache
-p1236  ╭considering: ${if match {a_random_string} {static_RE}}
-p1236   ╭considering: a_random_string} {static_RE}}
+p1236  ╭considering: ${if░match░{a_random_string}░{static_RE}}
+p1236   ╭considering: a_random_string}{static_RE}}
 p1236   ├───────text: a_random_string
 p1236   ├───────text: a_random_string
-p1236   ├considering: } {static_RE}}
-p1236   ├──expanding: a_random_string
+p1236   ├considering: }{static_RE}}
+p1236   ├───expanded: a_random_string
 p1236   ╰─────result: a_random_string
 p1236   ╭considering: static_RE}}
 p1236   ├───────text: static_RE
 p1236   ├considering: }}
 p1236   ╰─────result: a_random_string
 p1236   ╭considering: static_RE}}
 p1236   ├───────text: static_RE
 p1236   ├considering: }}
-p1236   ├──expanding: static_RE
+p1236   ├───expanded: static_RE
 p1236   ╰─────result: static_RE
 p1236  compiled RE 'static_RE' found in local cache
 p1236   ╰─────result: static_RE
 p1236  compiled RE 'static_RE' found in local cache
-p1236  ├──condition: match {a_random_string} {static_RE}
+p1236  ├──condition: match░{a_random_string}░{static_RE}
 p1236  ├─────result: false
 p1236  ├─────result: false
-p1236  ├──expanding: ${if match {a_random_string} {static_RE}}
+p1236  ├───expanded: ${if░match░{a_random_string}░{static_RE}}
 p1236  ╰─────result: 
 p1236  ╰─────result: 
-p1236  ╭considering: ${if match {a_random_string} {tricky_static_RE\$}}
-p1236   ╭considering: a_random_string} {tricky_static_RE\$}}
+p1236  ╭considering: ${if░match░{a_random_string}░{tricky_static_RE\$}}
+p1236   ╭considering: a_random_string}{tricky_static_RE\$}}
 p1236   ├───────text: a_random_string
 p1236   ├───────text: a_random_string
-p1236   ├considering: } {tricky_static_RE\$}}
-p1236   ├──expanding: a_random_string
+p1236   ├considering: }{tricky_static_RE\$}}
+p1236   ├───expanded: a_random_string
 p1236   ╰─────result: a_random_string
 p1236   ╭considering: tricky_static_RE\$}}
 p1236   ├───────text: tricky_static_RE
 p1236   ├considering: \$}}
 p1236   ├backslashed: '\$'
 p1236   ├considering: }}
 p1236   ╰─────result: a_random_string
 p1236   ╭considering: tricky_static_RE\$}}
 p1236   ├───────text: tricky_static_RE
 p1236   ├considering: \$}}
 p1236   ├backslashed: '\$'
 p1236   ├considering: }}
-p1236   ├──expanding: tricky_static_RE\$
+p1236   ├───expanded: tricky_static_RE\$
 p1236   ╰─────result: tricky_static_RE$
 p1236  compiled RE 'tricky_static_RE$' found in local cache
 p1236   ╰─────result: tricky_static_RE$
 p1236  compiled RE 'tricky_static_RE$' found in local cache
-p1236  ├──condition: match {a_random_string} {tricky_static_RE\$}
+p1236  ├──condition: match░{a_random_string}░{tricky_static_RE\$}
 p1236  ├─────result: false
 p1236  ├─────result: false
-p1236  ├──expanding: ${if match {a_random_string} {tricky_static_RE\$}}
+p1236  ├───expanded: ${if░match░{a_random_string}░{tricky_static_RE\$}}
 p1236  ╰─────result: 
 p1236  ╰─────result: 
-p1236  ╭considering: ${if match {a_random_string} {pid=${pid} uncacheable_RE}}
-p1236   ╭considering: a_random_string} {pid=${pid} uncacheable_RE}}
+p1236  ╭considering: ${if░match░{a_random_string}░{pid=${pid}░uncacheable_RE}}
+p1236   ╭considering: a_random_string}░{pid=${pid}░uncacheable_RE}}
 p1236   ├───────text: a_random_string
 p1236   ├───────text: a_random_string
-p1236   ├considering: } {pid=${pid} uncacheable_RE}}
-p1236   ├──expanding: a_random_string
+p1236   ├considering: }░{pid=${pid}░uncacheable_RE}}
+p1236   ├───expanded: a_random_string
 p1236   ╰─────result: a_random_string
 p1236   ╰─────result: a_random_string
-p1236   ╭considering: pid=${pid} uncacheable_RE}}
+p1236   ╭considering: pid=${pid}uncacheable_RE}}
 p1236   ├───────text: pid=
 p1236   ├───────text: pid=
-p1236   ├considering: ${pid} uncacheable_RE}}
-p1236   ├considering:  uncacheable_RE}}
-p1236   ├───────text:  uncacheable_RE
+p1236   ├considering: ${pid}uncacheable_RE}}
+p1236   ├considering: uncacheable_RE}}
+p1236   ├───────text: uncacheable_RE
 p1236   ├considering: }}
 p1236   ├considering: }}
-p1236   ├──expanding: pid=${pid} uncacheable_RE
-p1236   ╰─────result: pid=p1236 uncacheable_RE
+p1236   ├───expanded: pid=${pid}░uncacheable_RE
+p1236   ╰─────result: pid=p1236uncacheable_RE
 p1236  compiling RE 'pid=p1236 uncacheable_RE'
 p1236  compiling RE 'pid=p1236 uncacheable_RE'
-p1236  ├──condition: match {a_random_string} {pid=${pid} uncacheable_RE}
+p1236  ├──condition: match░{a_random_string}░{pid=${pid}░uncacheable_RE}
 p1236  ├─────result: false
 p1236  ├─────result: false
-p1236  ├──expanding: ${if match {a_random_string} {pid=${pid} uncacheable_RE}}
+p1236  ├───expanded: ${if░match░{a_random_string}░{pid=${pid}░uncacheable_RE}}
 p1236  ╰─────result: 
 p1236 try option acl_smtp_predata
 p1236 search_tidyup called
 p1236 search_tidyup called
 p1236  ╭considering: ${tod_full}
 p1236  ╰─────result: 
 p1236 try option acl_smtp_predata
 p1236 search_tidyup called
 p1236 search_tidyup called
 p1236  ╭considering: ${tod_full}
-p1236  ├──expanding: ${tod_full}
-p1236  ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+p1236  ├───expanded: ${tod_full}
+p1236  ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 p1236 try option received_header_text
 p1236 try option received_header_text
-p1236  ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-p1236          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236  ├───────text: Received: 
-p1236  ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-p1236          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236  ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+p1236          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236  ├───────text: Received:
+p1236  ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+p1236          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236  ├──condition: def:sender_rcvhost
 p1236  ├─────result: true
 p1236  ├──condition: def:sender_rcvhost
 p1236  ├─────result: true
-p1236   ╭considering: from $sender_rcvhost
-p1236          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├───────text: from 
-p1236   ├considering: $sender_rcvhost
-p1236          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├──────value: [127.0.0.1] (helo=test.ex)
+p1236   ╭considering: from░$sender_rcvhost↩
+p1236          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───────text: from
+p1236   ├considering: $sender_rcvhost
+p1236          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├──────value: [127.0.0.1](helo=test.ex)
 p1236              ╰──(tainted)
 p1236              ╰──(tainted)
-p1236   ├considering: 
-p1236          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├───────text: 
+p1236   ├considering: 
+p1236          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───────text: 
 p1236          
 p1236          
-p1236   ├considering: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├──expanding: from $sender_rcvhost
+p1236   ├considering: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───expanded: from░$sender_rcvhost↩
 p1236          
 p1236          
-p1236   ╰─────result: from [127.0.0.1] (helo=test.ex)
+p1236   ╰─────result: from░[127.0.0.1]░(helo=test.ex)↩
 p1236          
 p1236              ╰──(tainted)
 p1236          
 p1236              ╰──(tainted)
-p1236   ╭───scanning: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236   ╭───scanning: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236   ├──condition: def:sender_ident
 p1236   ├─────result: false
 p1236   ├──condition: def:sender_ident
 p1236   ├─────result: false
-p1236    ╭───scanning: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236    ├───────text: from 
-p1236    ├───scanning: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236    ╎╭───scanning: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236    ╎   }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236    ╎   }}(Exim $version_number)
-p1236    ╎   ${if def:sender_address {(envelope-from <$sender_address>)
-p1236    ╎   }}id $message_exim_id${if def:received_for {
-p1236    ╎   for $received_for}}
+p1236    ╭───scanning: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236    ├───────text: from
+p1236    ├───scanning: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236    ╎╭───scanning: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236    ╎   }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236    ╎   }}(Exim░$version_number)↩
+p1236    ╎   ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236    ╎   }}id░$message_exim_id${if░def:received_for░{↩
+p1236    ╎   for$received_for}}
 p1236    ╎├──────value: 
 p1236    ╎├──────value: 
-p1236    ╎├───scanning: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236    ╎   }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236    ╎   }}(Exim $version_number)
-p1236    ╎   ${if def:sender_address {(envelope-from <$sender_address>)
-p1236    ╎   }}id $message_exim_id${if def:received_for {
-p1236    ╎   for $received_for}}
-p1236    ╎├──expanding: $sender_ident
-p1236    ╎├─────result: 
+p1236    ╎├───scanning: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236    ╎   }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236    ╎   }}(Exim░$version_number)↩
+p1236    ╎   ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236    ╎   }}id░$message_exim_id${if░def:received_for░{↩
+p1236    ╎   for$received_for}}
+p1236    ╎├───expanded: $sender_ident
+p1236    ╎├─────result:  ◀skipped▶
 p1236    ╎╰───skipping: result is not used
 p1236    ╎╰───skipping: result is not used
-p1236    ├───scanning:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236    ├───────text:  
-p1236    ├───scanning: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236    ├──expanding: from ${quote_local_part:$sender_ident} 
-p1236    ├─────result: from  
+p1236    ├───scanning: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236    ├───────text: 
+p1236    ├───scanning: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236    ├───expanded: from░${quote_local_part:$sender_ident}░
+p1236    ├─────result:  ◀skipped▶
 p1236    ╰───skipping: result is not used
 p1236   ├───item-res: 
 p1236    ╰───skipping: result is not used
 p1236   ├───item-res: 
-p1236   ├───scanning: ${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236   ├───scanning: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236   ├──condition: def:sender_helo_name
 p1236   ├─────result: false
 p1236   ├──condition: def:sender_helo_name
 p1236   ├─────result: false
-p1236    ╭───scanning: (helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236    ╭───scanning: (helo=$sender_helo_name)
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236    ├───────text: (helo=
 p1236    ├───────text: (helo=
-p1236    ├───scanning: $sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236    ├───scanning: $sender_helo_name)
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236    ├──────value: 
 p1236    ├──────value: 
-p1236    ├───scanning: )
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236    ├───────text: )
+p1236    ├───scanning: )
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236    ├───────text: )
 p1236          
 p1236          
-p1236    ├───scanning: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236    ├──expanding: (helo=$sender_helo_name)
-p1236          
-p1236    ├─────result: (helo=)
+p1236    ├───scanning: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for░$received_for}}
+p1236    ├───expanded: (helo=$sender_helo_name)↩
 p1236          
 p1236          
+p1236    ├─────result:  ◀skipped▶
 p1236    ╰───skipping: result is not used
 p1236   ├───item-res: 
 p1236    ╰───skipping: result is not used
 p1236   ├───item-res: 
-p1236   ├───scanning: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+p1236   ├───scanning: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
 p1236          }}
 p1236          }}
-p1236   ├─────result: 
+p1236   ├─────result:  ◀skipped▶
 p1236   ╰───skipping: result is not used
 p1236   ╰───skipping: result is not used
-p1236  ├───item-res: from [127.0.0.1] (helo=test.ex)
+p1236  ├───item-res: from░[127.0.0.1]░(helo=test.ex)↩
 p1236          
 p1236             ╰──(tainted)
 p1236          
 p1236             ╰──(tainted)
-p1236  ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236  ├───────text: by 
-p1236  ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236  ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236  ├───────text: by
+p1236  ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236  ├──────value: myhost.test.ex
 p1236  ├──────value: myhost.test.ex
-p1236  ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236  ├───────text:  
-p1236  ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236  ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236  ├───────text: 
+p1236  ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236  ├──condition: def:received_protocol
 p1236  ├─────result: true
 p1236  ├──condition: def:received_protocol
 p1236  ├─────result: true
-p1236   ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├───────text: with 
-p1236   ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236   ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───────text: with
+p1236   ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236   ├──────value: smtp
 p1236   ├──────value: smtp
-p1236   ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├───────text:  
-p1236   ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├──expanding: with $received_protocol 
-p1236   ╰─────result: with smtp 
-p1236  ├───item-res: with smtp 
+p1236   ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───────text: 
+p1236   ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───expanded: with░$received_protocol░
+p1236   ╰─────result: with░smtp░
+p1236  ├───item-res: with░smtp░
 p1236             ╰──(tainted)
 p1236             ╰──(tainted)
-p1236  ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├──expanding:  ($tls_in_ver)
-p1236   ├─────result:  ()
+p1236  ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───expanded: ░($tls_in_ver)
+p1236   ├─────result:  ◀skipped▶
 p1236   ╰───skipping: result is not used
 p1236  ├───item-res: 
 p1236             ╰──(tainted)
 p1236   ╰───skipping: result is not used
 p1236  ├───item-res: 
 p1236             ╰──(tainted)
-p1236  ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236  ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236  ├──condition: def:tls_in_cipher_std
 p1236  ├─────result: false
 p1236  ├──condition: def:tls_in_cipher_std
 p1236  ├─────result: false
-p1236   ╭───scanning:  tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├───────text:  tls 
-p1236   ├───scanning: $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236   ╭───scanning: ░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───────text: ░tls░
+p1236   ├───scanning: $tls_in_cipher_std
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236   ├──────value: 
 p1236   ├──────value: 
-p1236   ├───scanning: 
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├───────text: 
-p1236          
-p1236   ├───scanning: }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├──expanding:  tls $tls_in_cipher_std
+p1236   ├───scanning: ↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for░$received_for}}
+p1236   ├───────text: ↩
 p1236          
 p1236          
-p1236   ├─────result:  tls 
+p1236   ├───scanning: }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for░$received_for}}
+p1236   ├───expanded: ░tls░$tls_in_cipher_std↩
 p1236          
 p1236          
+p1236   ├─────result:  ◀skipped▶
 p1236   ╰───skipping: result is not used
 p1236  ├───item-res: 
 p1236             ╰──(tainted)
 p1236   ╰───skipping: result is not used
 p1236  ├───item-res: 
 p1236             ╰──(tainted)
-p1236  ├considering: (Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236  ├───────text: (Exim 
-p1236  ├considering: $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236  ├considering: (Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236  ├───────text: (Exim
+p1236  ├considering: $version_number)
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236  ├──────value: x.yz
 p1236  ├──────value: x.yz
-p1236  ├considering: )
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236  ├───────text: )
+p1236  ├considering: )
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236  ├───────text: )
 p1236          
 p1236          
-p1236  ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236  ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236  ├──condition: def:sender_address
 p1236  ├─────result: true
 p1236  ├──condition: def:sender_address
 p1236  ├─────result: true
-p1236   ╭considering: (envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├───────text: (envelope-from <
-p1236   ├considering: $sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236   ╭considering: (envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───────text: (envelope-from<
+p1236   ├considering: $sender_address>)
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236   ├──────value: CALLER@test.ex
 p1236              ╰──(tainted)
 p1236   ├──────value: CALLER@test.ex
 p1236              ╰──(tainted)
-p1236   ├considering: >)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├───────text: >)
+p1236   ├considering: >)
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───────text: >)
 p1236          
 p1236          
-p1236   ├considering: }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236   ├──expanding: (envelope-from <$sender_address>)
+p1236   ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236   ├───expanded: (envelope-from░<$sender_address>)↩
 p1236          
 p1236          
-p1236   ╰─────result: (envelope-from <CALLER@test.ex>)
+p1236   ╰─────result: (envelope-from░<CALLER@test.ex>)↩
 p1236          
 p1236              ╰──(tainted)
 p1236          
 p1236              ╰──(tainted)
-p1236  ├───item-res: (envelope-from <CALLER@test.ex>)
+p1236  ├───item-res: (envelope-from░<CALLER@test.ex>)↩
 p1236          
 p1236             ╰──(tainted)
 p1236          
 p1236             ╰──(tainted)
-p1236  ├considering: id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236  ├───────text: id 
-p1236  ├considering: $message_exim_id${if def:received_for {
-p1236          for $received_for}}
+p1236  ├considering: id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236  ├───────text: id
+p1236  ├considering: $message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236  ├──────value: 10HmaY-000000005vi-0000
 p1236  ├──────value: 10HmaY-000000005vi-0000
-p1236  ├considering: ${if def:received_for {
-p1236          for $received_for}}
+p1236  ├considering: ${if░def:received_for░{↩
+p1236          for$received_for}}
 p1236  ├──condition: def:received_for
 p1236  ├─────result: true
 p1236  ├──condition: def:received_for
 p1236  ├─────result: true
-p1236   ╭considering: 
-p1236          for $received_for}}
-p1236   ├───────text: 
-p1236          for 
+p1236   ╭considering: 
+p1236          for$received_for}}
+p1236   ├───────text: 
+p1236          for
 p1236   ├considering: $received_for}}
 p1236   ├──────value: dest_2@test.ex
 p1236              ╰──(tainted)
 p1236   ├considering: }}
 p1236   ├considering: $received_for}}
 p1236   ├──────value: dest_2@test.ex
 p1236              ╰──(tainted)
 p1236   ├considering: }}
-p1236   ├──expanding: 
-p1236          for $received_for
-p1236   ╰─────result: 
-p1236          for dest_2@test.ex
+p1236   ├───expanded: ↩
+p1236          for$received_for
+p1236   ╰─────result: 
+p1236          fordest_2@test.ex
 p1236              ╰──(tainted)
 p1236              ╰──(tainted)
-p1236  ├───item-res: 
-p1236          for dest_2@test.ex
+p1236  ├───item-res: 
+p1236          fordest_2@test.ex
 p1236             ╰──(tainted)
 p1236             ╰──(tainted)
-p1236  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-p1236          }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-p1236          }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-p1236          }}(Exim $version_number)
-p1236          ${if def:sender_address {(envelope-from <$sender_address>)
-p1236          }}id $message_exim_id${if def:received_for {
-p1236          for $received_for}}
-p1236  ╰─────result: Received: from [127.0.0.1] (helo=test.ex)
-p1236          by myhost.test.ex with smtp (Exim x.yz)
-p1236          (envelope-from <CALLER@test.ex>)
-p1236          id 10HmaY-000000005vi-0000
-p1236          for dest_2@test.ex
+p1236  ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+p1236          }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+p1236          }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+p1236          }}(Exim░$version_number)↩
+p1236          ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+p1236          }}id░$message_exim_id${if░def:received_for░{↩
+p1236          for$received_for}}
+p1236  ╰─────result: Received:░from░[127.0.0.1]░(helo=test.ex)↩
+p1236          by░myhost.test.ex░with░smtp░(Exim░x.yz)↩
+p1236          (envelope-from░<CALLER@test.ex>)↩
+p1236          id░10HmaY-000000005vi-0000↩
+p1236          fordest_2@test.ex
 p1236             ╰──(tainted)
 p1236 try option acl_smtp_dkim
 p1236 try option acl_smtp_mime
 p1236 try option acl_smtp_data
 p1236  ╭considering: ${tod_full}
 p1236             ╰──(tainted)
 p1236 try option acl_smtp_dkim
 p1236 try option acl_smtp_mime
 p1236 try option acl_smtp_data
 p1236  ╭considering: ${tod_full}
-p1236  ├──expanding: ${tod_full}
-p1236  ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+p1236  ├───expanded: ${tod_full}
+p1236  ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 LOG: MAIN
   <= CALLER@test.ex H=(test.ex) [127.0.0.1] Ci=p1236 P=smtp S=sss
 search_tidyup called
 LOG: MAIN
   <= CALLER@test.ex H=(test.ex) [127.0.0.1] Ci=p1236 P=smtp S=sss
 search_tidyup called
index dd45d50c35c1ccdb36e58757f821ee183efb5fb4..b08ea843f0fe142be70778b3d90d531579817107 100644 (file)
@@ -278,18 +278,18 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  host in helo_accept_junk_hosts? no (option unset)
 01:01:01 p1235  try option acl_smtp_connect
 01:01:01 p1235  try option smtp_banner
 01:01:01 p1235  host in helo_accept_junk_hosts? no (option unset)
 01:01:01 p1235  try option acl_smtp_connect
 01:01:01 p1235  try option smtp_banner
-01:01:01 p1235   ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+01:01:01 p1235   ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
 01:01:01 p1235   ├──────value: myhost.test.ex
 01:01:01 p1235   ├──────value: myhost.test.ex
-01:01:01 p1235   ├considering:  ESMTP Exim $version_number $tod_full
-01:01:01 p1235   ├───────text:  ESMTP Exim 
-01:01:01 p1235   ├considering: $version_number $tod_full
+01:01:01 p1235   ├considering: ░ESMTP░Exim░$version_number░$tod_full
+01:01:01 p1235   ├───────text: ░ESMTP░Exim░
+01:01:01 p1235   ├considering: $version_number$tod_full
 01:01:01 p1235   ├──────value: x.yz
 01:01:01 p1235   ├──────value: x.yz
-01:01:01 p1235   ├considering:  $tod_full
-01:01:01 p1235   ├───────text:  
+01:01:01 p1235   ├considering: $tod_full
+01:01:01 p1235   ├───────text: 
 01:01:01 p1235   ├considering: $tod_full
 01:01:01 p1235   ├considering: $tod_full
-01:01:01 p1235   ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
-01:01:01 p1235   ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
-01:01:01 p1235   ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+01:01:01 p1235   ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+01:01:01 p1235   ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+01:01:01 p1235   ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 01:01:01 p1235  host in pipelining_connect_advertise_hosts?
 01:01:01 p1235   list element: 
 01:01:01 p1235  SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 01:01:01 p1235  host in pipelining_connect_advertise_hosts?
 01:01:01 p1235   list element: 
 01:01:01 p1235  SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
@@ -315,17 +315,17 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  try option acl_smtp_rcpt
 01:01:01 p1235  using ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 26)
 01:01:01 p1235  try option acl_smtp_rcpt
 01:01:01 p1235  using ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 26)
-01:01:01 p1235   ╭considering: ok:    ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ├───────text: ok:    
-01:01:01 p1235   ├considering: ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ╭considering: select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ├───────text: select name from them where id = '
+01:01:01 p1235   ╭considering: ok:░░░░${lookup░mysql░░░░░░░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ├───────text: ok:░░░░
+01:01:01 p1235   ├considering: ${lookup░mysql░░░░░░░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ╭considering: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ├───────text: select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
-01:01:01 p1235     ├──expanding: $local_part
+01:01:01 p1235     ├───expanded: $local_part
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
@@ -333,8 +333,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: select name from them where id = '${quote_mysql:$local_part}'
-01:01:01 p1235    ╰─────result: select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'
+01:01:01 p1235    ╰─────result: select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235   search_find: file="NULL"
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235   search_find: file="NULL"
@@ -350,23 +350,23 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   creating new cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   creating new cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: ok:    ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ╰─────result: ok:    
+01:01:01 p1235   ├───expanded: ok:░░░░${lookup░mysql░░░░░░░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ╰─────result: ok:░░░░
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
-01:01:01 p1235   ╭considering: FAIL1: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
-01:01:01 p1235   ├───────text: FAIL1: 
-01:01:01 p1235   ├considering: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
-01:01:01 p1235    ╭considering: select name from them where id = '$local_part'}}
-01:01:01 p1235    ├───────text: select name from them where id = '
+01:01:01 p1235   ╭considering: FAIL1:░${lookup░mysql,no_rd░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235   ├───────text: FAIL1:
+01:01:01 p1235   ├considering: ${lookup░mysql,no_rd░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235    ╭considering: select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235    ├───────text: select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: $local_part'}}
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: $local_part'}}
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: select name from them where id = '$local_part'
-01:01:01 p1235    ╰─────result: select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: select░name░from░them░where░id░=░'$local_part'
+01:01:01 p1235    ╰─────result: select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -379,30 +379,30 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235                                (tainted)
 01:01:01 p1235  LOG: MAIN PANIC
 01:01:01 p1235    tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 26): select name from them where id = 'c'
 01:01:01 p1235                                (tainted)
 01:01:01 p1235  LOG: MAIN PANIC
 01:01:01 p1235    tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 26): select name from them where id = 'c'
-01:01:01 p1235   search_type 13 (mysql) quoting -1 (none)
+01:01:01 p1235   search_type NN (mysql) quoting -1 (none)
 01:01:01 p1235   MySQL query: "select name from them where id = 'c'" opts 'no_rd'
 01:01:01 p1235   MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   MYSQL: no data found
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   MySQL query: "select name from them where id = 'c'" opts 'no_rd'
 01:01:01 p1235   MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   MYSQL: no data found
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: FAIL1: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
-01:01:01 p1235   ╰─────result: FAIL1: 
+01:01:01 p1235   ├───expanded: FAIL1:░${lookup░mysql,no_rd░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235   ╰─────result: FAIL1:
 01:01:01 p1235  check set acl_m0 = FAIL1: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
 01:01:01 p1235                   = FAIL1: 
 01:01:01 p1235  warn: condition test succeeded in ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 31)
 01:01:01 p1235  check set acl_m0 = FAIL1: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
 01:01:01 p1235                   = FAIL1: 
 01:01:01 p1235  warn: condition test succeeded in ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 31)
-01:01:01 p1235   ╭considering: ok:    ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ├───────text: ok:    
-01:01:01 p1235   ├considering: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ╭considering: select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ├───────text: select name from them where id = '
+01:01:01 p1235   ╭considering: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N/test/root/pass░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ├───────text: ok:░░░░
+01:01:01 p1235   ├considering: ${lookup░mysql,servers=127.0.0.1::PORT_N/test/root/pass░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ╭considering: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ├───────text: select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
-01:01:01 p1235     ├──expanding: $local_part
+01:01:01 p1235     ├───expanded: $local_part
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
@@ -410,8 +410,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: select name from them where id = '${quote_mysql:$local_part}'
-01:01:01 p1235    ╰─────result: select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'
+01:01:01 p1235    ╰─────result: select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -428,21 +428,21 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: ok:    ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ╰─────result: ok:    
+01:01:01 p1235   ├───expanded: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N/test/root/pass░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ╰─────result: ok:░░░░
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
-01:01:01 p1235   ╭considering: ok:    ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ├───────text: ok:    
-01:01:01 p1235   ├considering: ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ╭considering: select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ├───────text: select name from them where id = '
+01:01:01 p1235   ╭considering: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ├───────text: ok:░░░░
+01:01:01 p1235   ├considering: ${lookup░mysql,servers=127.0.0.1::PORT_N░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ╭considering: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ├───────text: select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
-01:01:01 p1235     ├──expanding: $local_part
+01:01:01 p1235     ├───expanded: $local_part
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
@@ -450,8 +450,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: select name from them where id = '${quote_mysql:$local_part}'
-01:01:01 p1235    ╰─────result: select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'
+01:01:01 p1235    ╰─────result: select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -468,21 +468,21 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: ok:    ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ╰─────result: ok:    
+01:01:01 p1235   ├───expanded: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ╰─────result: ok:░░░░
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
-01:01:01 p1235   ╭considering: FAIL2: ${lookup mysql     {servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ├───────text: FAIL2: 
-01:01:01 p1235   ├considering: ${lookup mysql     {servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ╭considering: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ├───────text: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '
+01:01:01 p1235   ╭considering: FAIL2:░${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ├───────text: FAIL2:
+01:01:01 p1235   ├considering: ${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ╭considering: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ├───────text: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
-01:01:01 p1235     ├──expanding: $local_part
+01:01:01 p1235     ├───expanded: $local_part
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
@@ -490,8 +490,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'
-01:01:01 p1235    ╰─────result: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'
+01:01:01 p1235    ╰─────result: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -513,19 +513,19 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  LOG: MAIN
 01:01:01 p1235    H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 39)
 01:01:01 p1235  LOG: MAIN
 01:01:01 p1235    H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 39)
-01:01:01 p1235   ╭considering: FAIL3: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
-01:01:01 p1235   ├───────text: FAIL3: 
-01:01:01 p1235   ├considering: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
-01:01:01 p1235    ╭considering: servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
-01:01:01 p1235    ├───────text: servers=127.0.0.1::PORT_N; select name from them where id = '
+01:01:01 p1235   ╭considering: FAIL3:░${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235   ├───────text: FAIL3:
+01:01:01 p1235   ├considering: ${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235    ╭considering: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235    ├───────text: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: $local_part'}}
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: $local_part'}}
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'
-01:01:01 p1235    ╰─────result: servers=127.0.0.1::PORT_N; select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'
+01:01:01 p1235    ╰─────result: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -538,7 +538,7 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235                                (tainted)
 01:01:01 p1235  LOG: MAIN PANIC
 01:01:01 p1235    tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 39): select name from them where id = 'c'
 01:01:01 p1235                                (tainted)
 01:01:01 p1235  LOG: MAIN PANIC
 01:01:01 p1235    tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 39): select name from them where id = 'c'
-01:01:01 p1235   search_type 13 (mysql) quoting -1 (none)
+01:01:01 p1235   search_type NN (mysql) quoting -1 (none)
 01:01:01 p1235   MySQL query: "servers=127.0.0.1::PORT_N; select name from them where id = 'c'" opts 'NULL'
 01:01:01 p1235  LOG: MAIN
 01:01:01 p1235    Exim configuration error in line 89 of TESTSUITE/test-config:
 01:01:01 p1235   MySQL query: "servers=127.0.0.1::PORT_N; select name from them where id = 'c'" opts 'NULL'
 01:01:01 p1235  LOG: MAIN
 01:01:01 p1235    Exim configuration error in line 89 of TESTSUITE/test-config:
@@ -548,30 +548,30 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   creating new cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   creating new cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: FAIL3: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
-01:01:01 p1235   ╰─────result: FAIL3: 
+01:01:01 p1235   ├───expanded: FAIL3:░${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235   ╰─────result: FAIL3:
 01:01:01 p1235  check set acl_m0 = FAIL3: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
 01:01:01 p1235                   = FAIL3: 
 01:01:01 p1235  warn: condition test succeeded in ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 42)
 01:01:01 p1235  check set acl_m0 = ok:    hostlist
 01:01:01 p1235  check hosts = net-mysql;select * from them where id='${quote_mysql:$local_part}'
 01:01:01 p1235  check set acl_m0 = FAIL3: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
 01:01:01 p1235                   = FAIL3: 
 01:01:01 p1235  warn: condition test succeeded in ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 42)
 01:01:01 p1235  check set acl_m0 = ok:    hostlist
 01:01:01 p1235  check hosts = net-mysql;select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╭considering: net-mysql;select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ├───────text: net-mysql;select * from them where id='
+01:01:01 p1235   ╭considering: net-mysql;select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ├───────text: net-mysql;select░*░from░them░where░id='
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
-01:01:01 p1235    ├──expanding: $local_part
+01:01:01 p1235    ├───expanded: $local_part
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
-01:01:01 p1235   ├──expanding: net-mysql;select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╰─────result: net-mysql;select * from them where id='c'
+01:01:01 p1235   ├───expanded: net-mysql;select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ╰─────result: net-mysql;select░*░from░them░where░id='c'
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "net-mysql;select * from them where id='c'"?
 01:01:01 p1235   list element: net-mysql;select * from them where id='c'
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "net-mysql;select * from them where id='c'"?
 01:01:01 p1235   list element: net-mysql;select * from them where id='c'
@@ -594,22 +594,22 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 45)
 01:01:01 p1235  check set acl_m0 = FAIL4: hostlist
 01:01:01 p1235  check hosts = <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 45)
 01:01:01 p1235  check set acl_m0 = FAIL4: hostlist
 01:01:01 p1235  check hosts = <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╭considering: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ├───────text: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='
+01:01:01 p1235   ╭considering: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ├───────text: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
-01:01:01 p1235    ├──expanding: $local_part
+01:01:01 p1235    ├───expanded: $local_part
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
-01:01:01 p1235   ├──expanding: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╰─────result: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235   ├───expanded: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ╰─────result: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='c'
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "<& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
 01:01:01 p1235   list element: net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "<& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
 01:01:01 p1235   list element: net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
@@ -634,22 +634,22 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 50)
 01:01:01 p1235  check set acl_m0 = FAIL5: hostlist
 01:01:01 p1235  check hosts = <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 50)
 01:01:01 p1235  check set acl_m0 = FAIL5: hostlist
 01:01:01 p1235  check hosts = <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╭considering: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ├───────text: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='
+01:01:01 p1235   ╭considering: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ├───────text: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
-01:01:01 p1235    ├──expanding: $local_part
+01:01:01 p1235    ├───expanded: $local_part
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
-01:01:01 p1235   ├──expanding: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╰─────result: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235   ├───expanded: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ╰─────result: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='c'
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "<& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
 01:01:01 p1235   list element: net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "<& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
 01:01:01 p1235   list element: net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
@@ -684,14 +684,14 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  host in "+relay_hosts"?
 01:01:01 p1235   list element: +relay_hosts
 01:01:01 p1235    start sublist relay_hosts
 01:01:01 p1235  host in "+relay_hosts"?
 01:01:01 p1235   list element: +relay_hosts
 01:01:01 p1235    start sublist relay_hosts
-01:01:01 p1235     ╎╭considering: net-mysql;select * from them where id='$sender_host_address'
-01:01:01 p1235     ╎├───────text: net-mysql;select * from them where id='
+01:01:01 p1235     ╎╭considering: net-mysql;select░*░from░them░where░id='$sender_host_address'
+01:01:01 p1235     ╎├───────text: net-mysql;select░*░from░them░where░id='
 01:01:01 p1235     ╎├considering: $sender_host_address'
 01:01:01 p1235     ╎├──────value: 10.0.0.0
 01:01:01 p1235     ╎├considering: '
 01:01:01 p1235     ╎├───────text: '
 01:01:01 p1235     ╎├considering: $sender_host_address'
 01:01:01 p1235     ╎├──────value: 10.0.0.0
 01:01:01 p1235     ╎├considering: '
 01:01:01 p1235     ╎├───────text: '
-01:01:01 p1235     ╎├──expanding: net-mysql;select * from them where id='$sender_host_address'
-01:01:01 p1235     ╎╰─────result: net-mysql;select * from them where id='10.0.0.0'
+01:01:01 p1235     ╎├───expanded: net-mysql;select░*░from░them░where░id='$sender_host_address'
+01:01:01 p1235     ╎╰─────result: net-mysql;select░*░from░them░where░id='10.0.0.0'
 01:01:01 p1235     host in "net-mysql;select * from them where id='10.0.0.0'"?
 01:01:01 p1235     ╎list element: net-mysql;select * from them where id='10.0.0.0'
 01:01:01 p1235     ╎search_open: mysql "NULL"
 01:01:01 p1235     host in "net-mysql;select * from them where id='10.0.0.0'"?
 01:01:01 p1235     ╎list element: net-mysql;select * from them where id='10.0.0.0'
 01:01:01 p1235     ╎search_open: mysql "NULL"
index 6f8b2689d370ece3b567d37ddcffdf3e425c8cb3..c953369319e2431fb1031cc98501fb3e73fe08aa 100644 (file)
@@ -13,57 +13,57 @@ try option unknown_login
   ╭considering: foo}{arg1}}
   ├───────text: foo
   ├considering: }{arg1}}
   ╭considering: foo}{arg1}}
   ├───────text: foo
   ├considering: }{arg1}}
-  ├──expanding: foo
+  ├───expanded: foo
   ╰─────result: foo
   ╭considering: arg1}}
   ├───────text: arg1
   ├considering: }}
   ╰─────result: foo
   ╭considering: arg1}}
   ├───────text: arg1
   ├considering: }}
-  ├──expanding: arg1
+  ├───expanded: arg1
   ╰─────result: arg1
 Starting Perl interpreter
   ╰─────result: arg1
 Starting Perl interpreter
- ├──expanding: ${perl{foo}{arg1}}
- ╰─────result: Subroutine foo called with args: arg1
+ ├───expanded: ${perl{foo}{arg1}}
+ ╰─────result: Subroutine░foo░called░with░args:░arg1
  ╭considering: ${perl{foo_undef}}
   ╭considering: foo_undef}}
   ├───────text: foo_undef
   ├considering: }}
  ╭considering: ${perl{foo_undef}}
   ╭considering: foo_undef}}
   ├───────text: foo_undef
   ├considering: }}
-  ├──expanding: foo_undef
+  ├───expanded: foo_undef
   ╰─────result: foo_undef
  ├failed to expand: ${perl{foo_undef}}
  ├───error message: Perl subroutine "foo_undef" returned undef to force failure
  ╰failure was forced
   ╰─────result: foo_undef
  ├failed to expand: ${perl{foo_undef}}
  ├───error message: Perl subroutine "foo_undef" returned undef to force failure
  ╰failure was forced
- ╭considering: ${perl{debug_write}{debug from Perl\n}}
-  ╭considering: debug_write}{debug from Perl\n}}
+ ╭considering: ${perl{debug_write}{debug░from░Perl\n}}
+  ╭considering: debug_write}{debug░from░Perl\n}}
   ├───────text: debug_write
   ├───────text: debug_write
-  ├considering: }{debug from Perl\n}}
-  ├──expanding: debug_write
+  ├considering: }{debug░from░Perl\n}}
+  ├───expanded: debug_write
   ╰─────result: debug_write
   ╰─────result: debug_write
-  ╭considering: debug from Perl\n}}
-  ├───────text: debug from Perl
+  ╭considering: debug░from░Perl\n}}
+  ├───────text: debug░from░Perl
   ├considering: \n}}
   ├backslashed: '\n'
   ├considering: }}
   ├considering: \n}}
   ├backslashed: '\n'
   ├considering: }}
-  ├──expanding: debug from Perl\n
-  ╰─────result: debug from Perl
+  ├───expanded: debug░from░Perl\n
+  ╰─────result: debug░from░Perl↩
   
 debug from Perl
   
 debug from Perl
- ├──expanding: ${perl{debug_write}{debug from Perl\n}}
- ╰─────result: Wrote debug
- ╭considering: ${perl{log_write}{log from Perl}}
-  ╭considering: log_write}{log from Perl}}
+ ├───expanded: ${perl{debug_write}{debug░from░Perl\n}}
+ ╰─────result: Wrotedebug
+ ╭considering: ${perl{log_write}{log░from░Perl}}
+  ╭considering: log_write}{log░from░Perl}}
   ├───────text: log_write
   ├───────text: log_write
-  ├considering: }{log from Perl}}
-  ├──expanding: log_write
+  ├considering: }{log░from░Perl}}
+  ├───expanded: log_write
   ╰─────result: log_write
   ╰─────result: log_write
-  ╭considering: log from Perl}}
-  ├───────text: log from Perl
+  ╭considering: log░from░Perl}}
+  ├───────text: log░from░Perl
   ├considering: }}
   ├considering: }}
-  ├──expanding: log from Perl
-  ╰─────result: log from Perl
+  ├───expanded: log░from░Perl
+  ╰─────result: log░from░Perl
 LOG: MAIN
   log from Perl
 LOG: MAIN
   log from Perl
- ├──expanding: ${perl{log_write}{log from Perl}}
- ╰─────result: Wrote log
+ ├───expanded: ${perl{log_write}{log░from░Perl}}
+ ╰─────result: Wrotelog
 >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
 >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
index 63a5bb0965ce386a252201ba9846dd589648f11e..876846e0df1ea7ec2649d8cc3f993b90c29c67cf 100644 (file)
@@ -14,18 +14,18 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
@@ -42,31 +42,31 @@ try option acl_smtp_expn
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
- ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
-  ├──expanding: SERVER
+  ├───expanded: SERVER
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
-  ├──expanding: server
+  ├───expanded: server
   ╰─────result: server
   ╰─────result: server
- ├──condition: eq {SERVER}{server}
+ ├──condition: eq{SERVER}{server}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
-  ├──expanding: queue
-  ├─────result: queue
+  ├───expanded: queue
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
-  ├──expanding: cutthrough
+  ├───expanded: cutthrough
   ╰─────result: cutthrough
   ╰─────result: cutthrough
- ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
@@ -87,7 +87,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: userx
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: userx
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: userx
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: userx
             ╰──(tainted)
 domain.com in "*"?
@@ -115,7 +115,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: userx
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: userx
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: userx
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: userx
             ╰──(tainted)
 domain.com in "*"?
@@ -132,7 +132,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
- ├──expanding: $primary_hostname
+ ├───expanded: $primary_hostname
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
@@ -146,98 +146,98 @@ cmd buf flush ddd bytes
          250-STARTTLS
          250 HELP
 try option host_name_extract
          250-STARTTLS
          250 HELP
 try option host_name_extract
- ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ╭considering: $host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├──────value: 127.0.0.1
   ├──────value: 127.0.0.1
-  ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $host
+  ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: $host
   ╰─────result: 127.0.0.1
   ╰─────result: 127.0.0.1
-  ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├───────text: .outlook.com
   ├───────text: .outlook.com
-  ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├backslashed: '\$'
   ├backslashed: '\$'
-  ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: .outlook.com\$
+  ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: .outlook.com\$
   ╰─────result: .outlook.com$
   ╰─────result: .outlook.com$
-  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}{$1}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $item
-  ├─────result: 
+  ├───scanning: }{\N^250-([\w.]+)\s\N}}}{$1}}
+  ├───expanded: $item
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: \N^250-([\w.]+)\s\N}}}{$1}}
   ├──protected: ^250-([\w.]+)\s
   ├──protected: ^250-([\w.]+)\s
-  ├───scanning: }}} {$1}}
-  ├──expanding: \N^250-([\w.]+)\s\N
-  ├─────result: ^250-([\w.]+)\s
+  ├───scanning: }}}{$1}}
+  ├───expanded: \N^250-([\w.]+)\s\N
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
-  ├──expanding: $1
-  ├─────result: 
+  ├───expanded: $1
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
  ╰─────result: 
  ╰─────result: 
- ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+ ╭considering: ${if░eq░{$address_data}{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: userx
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: userx
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
-  ├──expanding: $address_data
+  ├───expanded: $address_data
   ╰─────result: userx
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
   ╰─────result: userx
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
-  ├──expanding: usery
+  ├───expanded: usery
   ╰─────result: usery
   ╰─────result: usery
- ├──condition: eq {$address_data}{usery}
+ ├──condition: eq{$address_data}{usery}
  ├─────result: false
   ╭───scanning: *}{:}}
   ├───────text: *
   ├───scanning: }{:}}
  ├─────result: false
   ╭───scanning: *}{:}}
   ├───────text: *
   ├───scanning: }{:}}
-  ├──expanding: *
-  ├─────result: *
+  ├───expanded: *
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: :}}
   ├───────text: :
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: :}}
   ├───────text: :
   ├considering: }}
-  ├──expanding: :
+  ├───expanded: :
   ╰─────result: :
   ╰─────result: :
- ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}}
  ╰─────result: :
 127.0.0.1 in hosts_avoid_tls?
  list element: 
 127.0.0.1 in hosts_avoid_tls? no (end of list)
  ╰─────result: :
 127.0.0.1 in hosts_avoid_tls?
  list element: 
 127.0.0.1 in hosts_avoid_tls? no (end of list)
- ╭considering: ${if eq {$address_data}{userz}{*}{:}}
+ ╭considering: ${if░eq░{$address_data}{userz}{*}{:}}
   ╭considering: $address_data}{userz}{*}{:}}
   ├──────value: userx
              ╰──(tainted)
   ├considering: }{userz}{*}{:}}
   ╭considering: $address_data}{userz}{*}{:}}
   ├──────value: userx
              ╰──(tainted)
   ├considering: }{userz}{*}{:}}
-  ├──expanding: $address_data
+  ├───expanded: $address_data
   ╰─────result: userx
              ╰──(tainted)
   ╭considering: userz}{*}{:}}
   ├───────text: userz
   ├considering: }{*}{:}}
   ╰─────result: userx
              ╰──(tainted)
   ╭considering: userz}{*}{:}}
   ├───────text: userz
   ├considering: }{*}{:}}
-  ├──expanding: userz
+  ├───expanded: userz
   ╰─────result: userz
   ╰─────result: userz
- ├──condition: eq {$address_data}{userz}
+ ├──condition: eq{$address_data}{userz}
  ├─────result: false
   ╭───scanning: *}{:}}
   ├───────text: *
   ├───scanning: }{:}}
  ├─────result: false
   ╭───scanning: *}{:}}
   ├───────text: *
   ├───scanning: }{:}}
-  ├──expanding: *
-  ├─────result: *
+  ├───expanded: *
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: :}}
   ├───────text: :
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: :}}
   ├───────text: :
   ├considering: }}
-  ├──expanding: :
+  ├───expanded: :
   ╰─────result: :
   ╰─────result: :
- ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
+ ├───expanded: ${if░eq░{$address_data}{userz}{*}{:}}
  ╰─────result: :
 127.0.0.1 in hosts_verify_avoid_tls?
  list element: 
  ╰─────result: :
 127.0.0.1 in hosts_verify_avoid_tls?
  list element: 
@@ -284,355 +284,353 @@ end of inline ACL: ACCEPT
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 try option received_header_text
 try option received_header_text
- ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: Received: 
- ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: Received:
+ ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ╭───scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: from 
-  ├───scanning: $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: from
+  ├───scanning: $sender_rcvhost
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
+  ├───scanning: 
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
        
        
-  ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: from $sender_rcvhost
-       
-  ├─────result: from 
+  ├───scanning: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: from░$sender_rcvhost↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
   ├──condition: def:sender_ident
   ├─────result: true
-   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: from 
-   ├considering: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
+   ╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: from
+   ├considering: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ╎╭considering: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
    ╎├──────value: CALLER
    ╎├──────value: CALLER
-   ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
-   ╎├──expanding: $sender_ident
+   ╎├considering: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
+   ╎├───expanded: $sender_ident
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
-   ├considering:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text:  
-   ├considering: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: from ${quote_local_part:$sender_ident} 
-   ╰─────result: from CALLER 
-  ├───item-res: from CALLER 
-  ├considering: ${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: 
+   ├considering: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: from░${quote_local_part:$sender_ident}░
+   ╰─────result: from░CALLER░
+  ├───item-res: from░CALLER░
+  ├considering: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_helo_name
   ├─────result: true
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ╭considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ╭considering: (helo=$sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├───────text: (helo=
    ├───────text: (helo=
-   ├considering: $sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: $sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├──────value: myhost.test.ex
               ╰──(tainted)
    ├──────value: myhost.test.ex
               ╰──(tainted)
-   ├considering: )
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: )
+   ├considering: )
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: )
        
        
-   ├considering: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: (helo=$sender_helo_name)
+   ├considering: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: (helo=$sender_helo_name)↩
        
        
-   ╰─────result: (helo=myhost.test.ex)
+   ╰─────result: (helo=myhost.test.ex)
        
               ╰──(tainted)
        
               ╰──(tainted)
-  ├───item-res: (helo=myhost.test.ex)
+  ├───item-res: (helo=myhost.test.ex)
        
              ╰──(tainted)
        
              ╰──(tainted)
-  ├considering: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ├considering: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
        }}
        }}
-  ╰─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from░CALLER░(helo=myhost.test.ex)↩
        
              ╰──(tainted)
        
              ╰──(tainted)
- ├───item-res: from CALLER (helo=myhost.test.ex)
+ ├───item-res: from░CALLER░(helo=myhost.test.ex)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: by 
- ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: by
+ ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text:  
- ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: 
+ ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: with 
-  ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: with
+  ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: local-esmtp
   ├──────value: local-esmtp
-  ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  
-  ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: with $received_protocol 
-  ╰─────result: with local-esmtp 
- ├───item-res: with local-esmtp 
+  ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
+  ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: with░$received_protocol░
+  ╰─────result: with░local-esmtp░
+ ├───item-res: with░local-esmtp░
             ╰──(tainted)
             ╰──(tainted)
- ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  ($tls_in_ver)
-  ├─────result:  ()
+ ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ░($tls_in_ver)
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ╭───scanning:  tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  tls 
-  ├───scanning: $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: ░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: ░tls░
+  ├───scanning: $tls_in_cipher_std
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  tls $tls_in_cipher_std
+  ├───scanning: ↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───────text: ↩
        
        
-  ├─────result:  tls 
+  ├───scanning: }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: ░tls░$tls_in_cipher_std↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: (Exim 
- ├considering: $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: (Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering: )
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: )
+ ├considering: )
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: )
        
        
- ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ╭considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: (envelope-from <
-  ├considering: $sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: (envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: (envelope-from<
+  ├considering: $sender_address>)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: CALLER@myhost.test.ex
   ├──────value: CALLER@myhost.test.ex
-  ├considering: >)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: >)
+  ├considering: >)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: >)
        
        
-  ├considering: }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: (envelope-from <$sender_address>)
+  ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: (envelope-from░<$sender_address>)↩
        
        
-  ╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+  ╰─────result: (envelope-from░<CALLER@myhost.test.ex>)↩
        
        
- ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+ ├───item-res: (envelope-from░<CALLER@myhost.test.ex>)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: id 
- ├considering: $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: id
+ ├considering: $message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: 10HmaX-000000005vi-0000
  ├──────value: 10HmaX-000000005vi-0000
- ├considering: ${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_for
  ├─────result: true
  ├──condition: def:received_for
  ├─────result: true
-  ╭considering: 
-       for $received_for}}
-  ├───────text: 
-       for 
+  ╭considering: 
+       for$received_for}}
+  ├───────text: 
+       for
   ├considering: $received_for}}
   ├──────value: userx@domain.com
              ╰──(tainted)
   ├considering: }}
   ├considering: $received_for}}
   ├──────value: userx@domain.com
              ╰──(tainted)
   ├considering: }}
-  ├──expanding: 
-       for $received_for
-  ╰─────result: 
-       for userx@domain.com
+  ├───expanded: ↩
+       for$received_for
+  ╰─────result: 
+       foruserx@domain.com
              ╰──(tainted)
              ╰──(tainted)
- ├───item-res: 
-       for userx@domain.com
+ ├───item-res: 
+       foruserx@domain.com
             ╰──(tainted)
             ╰──(tainted)
- ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ╰─────result: Received: from CALLER (helo=myhost.test.ex)
-       by myhost.test.ex with local-esmtp (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaX-000000005vi-0000
-       for userx@domain.com
+ ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ╰─────result: Received:░from░CALLER░(helo=myhost.test.ex)↩
+       by░myhost.test.ex░with░local-esmtp░(Exim░x.yz)↩
+       (envelope-from░<CALLER@myhost.test.ex>)↩
+       id░10HmaX-000000005vi-0000↩
+       foruserx@domain.com
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
@@ -640,8 +638,8 @@ try option acl_smtp_dkim
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
   SMTP>> .
   SMTP<< 250 OK id=10HmaY-000000005vi-0000
 LOG: MAIN
   SMTP>> .
   SMTP<< 250 OK id=10HmaY-000000005vi-0000
 LOG: MAIN
@@ -675,18 +673,18 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
@@ -703,31 +701,31 @@ try option acl_smtp_expn
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
- ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
-  ├──expanding: SERVER
+  ├───expanded: SERVER
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
-  ├──expanding: server
+  ├───expanded: server
   ╰─────result: server
   ╰─────result: server
- ├──condition: eq {SERVER}{server}
+ ├──condition: eq{SERVER}{server}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
-  ├──expanding: queue
-  ├─────result: queue
+  ├───expanded: queue
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
-  ├──expanding: cutthrough
+  ├───expanded: cutthrough
   ╰─────result: cutthrough
   ╰─────result: cutthrough
- ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
@@ -748,7 +746,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
@@ -776,7 +774,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
@@ -793,7 +791,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
- ├──expanding: $primary_hostname
+ ├───expanded: $primary_hostname
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
@@ -807,67 +805,67 @@ cmd buf flush ddd bytes
          250-STARTTLS
          250 HELP
 try option host_name_extract
          250-STARTTLS
          250 HELP
 try option host_name_extract
- ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ╭considering: $host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├──────value: 127.0.0.1
   ├──────value: 127.0.0.1
-  ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $host
+  ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: $host
   ╰─────result: 127.0.0.1
   ╰─────result: 127.0.0.1
-  ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├───────text: .outlook.com
   ├───────text: .outlook.com
-  ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├backslashed: '\$'
   ├backslashed: '\$'
-  ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: .outlook.com\$
+  ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: .outlook.com\$
   ╰─────result: .outlook.com$
   ╰─────result: .outlook.com$
-  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}{$1}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $item
-  ├─────result: 
+  ├───scanning: }{\N^250-([\w.]+)\s\N}}}{$1}}
+  ├───expanded: $item
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: \N^250-([\w.]+)\s\N}}}{$1}}
   ├──protected: ^250-([\w.]+)\s
   ├──protected: ^250-([\w.]+)\s
-  ├───scanning: }}} {$1}}
-  ├──expanding: \N^250-([\w.]+)\s\N
-  ├─────result: ^250-([\w.]+)\s
+  ├───scanning: }}}{$1}}
+  ├───expanded: \N^250-([\w.]+)\s\N
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
-  ├──expanding: $1
-  ├─────result: 
+  ├───expanded: $1
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
  ╰─────result: 
  ╰─────result: 
- ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+ ╭considering: ${if░eq░{$address_data}{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: usery
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: usery
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
-  ├──expanding: $address_data
+  ├───expanded: $address_data
   ╰─────result: usery
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
   ╰─────result: usery
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
-  ├──expanding: usery
+  ├───expanded: usery
   ╰─────result: usery
   ╰─────result: usery
- ├──condition: eq {$address_data}{usery}
+ ├──condition: eq{$address_data}{usery}
  ├─────result: true
   ╭considering: *}{:}}
   ├───────text: *
   ├considering: }{:}}
  ├─────result: true
   ╭considering: *}{:}}
   ├───────text: *
   ├considering: }{:}}
-  ├──expanding: *
+  ├───expanded: *
   ╰─────result: *
   ╭───scanning: :}}
   ├───────text: :
   ├───scanning: }}
   ╰─────result: *
   ╭───scanning: :}}
   ├───────text: :
   ├───scanning: }}
-  ├──expanding: :
-  ├─────result: :
+  ├───expanded: :
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}}
  ╰─────result: *
 127.0.0.1 in hosts_avoid_tls?
  list element: *
  ╰─────result: *
 127.0.0.1 in hosts_avoid_tls?
  list element: *
@@ -895,355 +893,353 @@ end of inline ACL: ACCEPT
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 try option received_header_text
 try option received_header_text
- ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: Received: 
- ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: Received:
+ ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ╭───scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: from 
-  ├───scanning: $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: from
+  ├───scanning: $sender_rcvhost
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
+  ├───scanning: 
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
        
        
-  ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: from $sender_rcvhost
-       
-  ├─────result: from 
+  ├───scanning: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: from░$sender_rcvhost↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
   ├──condition: def:sender_ident
   ├─────result: true
-   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: from 
-   ├considering: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
+   ╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: from
+   ├considering: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ╎╭considering: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
    ╎├──────value: CALLER
    ╎├──────value: CALLER
-   ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
-   ╎├──expanding: $sender_ident
+   ╎├considering: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
+   ╎├───expanded: $sender_ident
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
-   ├considering:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text:  
-   ├considering: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: from ${quote_local_part:$sender_ident} 
-   ╰─────result: from CALLER 
-  ├───item-res: from CALLER 
-  ├considering: ${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: 
+   ├considering: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: from░${quote_local_part:$sender_ident}░
+   ╰─────result: from░CALLER░
+  ├───item-res: from░CALLER░
+  ├considering: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_helo_name
   ├─────result: true
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ╭considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ╭considering: (helo=$sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├───────text: (helo=
    ├───────text: (helo=
-   ├considering: $sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: $sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├──────value: myhost.test.ex
               ╰──(tainted)
    ├──────value: myhost.test.ex
               ╰──(tainted)
-   ├considering: )
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: )
+   ├considering: )
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: )
        
        
-   ├considering: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: (helo=$sender_helo_name)
+   ├considering: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: (helo=$sender_helo_name)↩
        
        
-   ╰─────result: (helo=myhost.test.ex)
+   ╰─────result: (helo=myhost.test.ex)
        
               ╰──(tainted)
        
               ╰──(tainted)
-  ├───item-res: (helo=myhost.test.ex)
+  ├───item-res: (helo=myhost.test.ex)
        
              ╰──(tainted)
        
              ╰──(tainted)
-  ├considering: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ├considering: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
        }}
        }}
-  ╰─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from░CALLER░(helo=myhost.test.ex)↩
        
              ╰──(tainted)
        
              ╰──(tainted)
- ├───item-res: from CALLER (helo=myhost.test.ex)
+ ├───item-res: from░CALLER░(helo=myhost.test.ex)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: by 
- ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: by
+ ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text:  
- ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: 
+ ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: with 
-  ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: with
+  ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: local-esmtp
   ├──────value: local-esmtp
-  ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  
-  ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: with $received_protocol 
-  ╰─────result: with local-esmtp 
- ├───item-res: with local-esmtp 
+  ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
+  ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: with░$received_protocol░
+  ╰─────result: with░local-esmtp░
+ ├───item-res: with░local-esmtp░
             ╰──(tainted)
             ╰──(tainted)
- ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  ($tls_in_ver)
-  ├─────result:  ()
+ ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ░($tls_in_ver)
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ╭───scanning:  tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  tls 
-  ├───scanning: $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: ░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: ░tls░
+  ├───scanning: $tls_in_cipher_std
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  tls $tls_in_cipher_std
+  ├───scanning: ↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───────text: ↩
        
        
-  ├─────result:  tls 
+  ├───scanning: }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: ░tls░$tls_in_cipher_std↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: (Exim 
- ├considering: $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: (Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering: )
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: )
+ ├considering: )
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: )
        
        
- ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ╭considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: (envelope-from <
-  ├considering: $sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: (envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: (envelope-from<
+  ├considering: $sender_address>)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: CALLER@myhost.test.ex
   ├──────value: CALLER@myhost.test.ex
-  ├considering: >)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: >)
+  ├considering: >)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: >)
        
        
-  ├considering: }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: (envelope-from <$sender_address>)
+  ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: (envelope-from░<$sender_address>)↩
        
        
-  ╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+  ╰─────result: (envelope-from░<CALLER@myhost.test.ex>)↩
        
        
- ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+ ├───item-res: (envelope-from░<CALLER@myhost.test.ex>)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: id 
- ├considering: $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: id
+ ├considering: $message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: 10HmaZ-000000005vi-0000
  ├──────value: 10HmaZ-000000005vi-0000
- ├considering: ${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_for
  ├─────result: true
  ├──condition: def:received_for
  ├─────result: true
-  ╭considering: 
-       for $received_for}}
-  ├───────text: 
-       for 
+  ╭considering: 
+       for$received_for}}
+  ├───────text: 
+       for
   ├considering: $received_for}}
   ├──────value: usery@domain.com
              ╰──(tainted)
   ├considering: }}
   ├considering: $received_for}}
   ├──────value: usery@domain.com
              ╰──(tainted)
   ├considering: }}
-  ├──expanding: 
-       for $received_for
-  ╰─────result: 
-       for usery@domain.com
+  ├───expanded: ↩
+       for$received_for
+  ╰─────result: 
+       forusery@domain.com
              ╰──(tainted)
              ╰──(tainted)
- ├───item-res: 
-       for usery@domain.com
+ ├───item-res: 
+       forusery@domain.com
             ╰──(tainted)
             ╰──(tainted)
- ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ╰─────result: Received: from CALLER (helo=myhost.test.ex)
-       by myhost.test.ex with local-esmtp (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaZ-000000005vi-0000
-       for usery@domain.com
+ ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ╰─────result: Received:░from░CALLER░(helo=myhost.test.ex)↩
+       by░myhost.test.ex░with░local-esmtp░(Exim░x.yz)↩
+       (envelope-from░<CALLER@myhost.test.ex>)↩
+       id░10HmaZ-000000005vi-0000↩
+       forusery@domain.com
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
@@ -1251,8 +1247,8 @@ try option acl_smtp_dkim
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbA-000000005vi-0000
 LOG: MAIN
   SMTP>> .
   SMTP<< 250 OK id=10HmbA-000000005vi-0000
 LOG: MAIN
@@ -1286,18 +1282,18 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
@@ -1314,31 +1310,31 @@ try option acl_smtp_expn
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
- ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
-  ├──expanding: SERVER
+  ├───expanded: SERVER
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
-  ├──expanding: server
+  ├───expanded: server
   ╰─────result: server
   ╰─────result: server
- ├──condition: eq {SERVER}{server}
+ ├──condition: eq{SERVER}{server}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
-  ├──expanding: queue
-  ├─────result: queue
+  ├───expanded: queue
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
-  ├──expanding: cutthrough
+  ├───expanded: cutthrough
   ╰─────result: cutthrough
   ╰─────result: cutthrough
- ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
@@ -1359,7 +1355,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
@@ -1387,7 +1383,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
@@ -1404,7 +1400,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
- ├──expanding: $primary_hostname
+ ├───expanded: $primary_hostname
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
@@ -1418,67 +1414,67 @@ cmd buf flush ddd bytes
          250-STARTTLS
          250 HELP
 try option host_name_extract
          250-STARTTLS
          250 HELP
 try option host_name_extract
- ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ╭considering: $host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├──────value: 127.0.0.1
   ├──────value: 127.0.0.1
-  ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $host
+  ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: $host
   ╰─────result: 127.0.0.1
   ╰─────result: 127.0.0.1
-  ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├───────text: .outlook.com
   ├───────text: .outlook.com
-  ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├backslashed: '\$'
   ├backslashed: '\$'
-  ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: .outlook.com\$
+  ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: .outlook.com\$
   ╰─────result: .outlook.com$
   ╰─────result: .outlook.com$
-  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}{$1}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $item
-  ├─────result: 
+  ├───scanning: }{\N^250-([\w.]+)\s\N}}}{$1}}
+  ├───expanded: $item
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: \N^250-([\w.]+)\s\N}}}{$1}}
   ├──protected: ^250-([\w.]+)\s
   ├──protected: ^250-([\w.]+)\s
-  ├───scanning: }}} {$1}}
-  ├──expanding: \N^250-([\w.]+)\s\N
-  ├─────result: ^250-([\w.]+)\s
+  ├───scanning: }}}{$1}}
+  ├───expanded: \N^250-([\w.]+)\s\N
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
-  ├──expanding: $1
-  ├─────result: 
+  ├───expanded: $1
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
  ╰─────result: 
  ╰─────result: 
- ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+ ╭considering: ${if░eq░{$address_data}{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: usery
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: usery
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
-  ├──expanding: $address_data
+  ├───expanded: $address_data
   ╰─────result: usery
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
   ╰─────result: usery
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
-  ├──expanding: usery
+  ├───expanded: usery
   ╰─────result: usery
   ╰─────result: usery
- ├──condition: eq {$address_data}{usery}
+ ├──condition: eq{$address_data}{usery}
  ├─────result: true
   ╭considering: *}{:}}
   ├───────text: *
   ├considering: }{:}}
  ├─────result: true
   ╭considering: *}{:}}
   ├───────text: *
   ├considering: }{:}}
-  ├──expanding: *
+  ├───expanded: *
   ╰─────result: *
   ╭───scanning: :}}
   ├───────text: :
   ├───scanning: }}
   ╰─────result: *
   ╭───scanning: :}}
   ├───────text: :
   ├───scanning: }}
-  ├──expanding: :
-  ├─────result: :
+  ├───expanded: :
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}}
  ╰─────result: *
 127.0.0.1 in hosts_avoid_tls?
  list element: *
  ╰─────result: *
 127.0.0.1 in hosts_avoid_tls?
  list element: *
@@ -1506,355 +1502,353 @@ end of inline ACL: ACCEPT
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 try option received_header_text
 try option received_header_text
- ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: Received: 
- ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: Received:
+ ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ╭───scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: from 
-  ├───scanning: $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: from
+  ├───scanning: $sender_rcvhost
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: from $sender_rcvhost
+  ├───scanning: ↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───────text: ↩
        
        
-  ├─────result: from 
+  ├───scanning: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: from░$sender_rcvhost↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
   ├──condition: def:sender_ident
   ├─────result: true
-   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: from 
-   ├considering: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
+   ╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: from
+   ├considering: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ╎╭considering: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
    ╎├──────value: CALLER
    ╎├──────value: CALLER
-   ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
-   ╎├──expanding: $sender_ident
+   ╎├considering: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
+   ╎├───expanded: $sender_ident
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
-   ├considering:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text:  
-   ├considering: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: from ${quote_local_part:$sender_ident} 
-   ╰─────result: from CALLER 
-  ├───item-res: from CALLER 
-  ├considering: ${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: 
+   ├considering: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: from░${quote_local_part:$sender_ident}░
+   ╰─────result: from░CALLER░
+  ├───item-res: from░CALLER░
+  ├considering: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_helo_name
   ├─────result: true
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ╭considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ╭considering: (helo=$sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├───────text: (helo=
    ├───────text: (helo=
-   ├considering: $sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: $sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├──────value: myhost.test.ex
               ╰──(tainted)
    ├──────value: myhost.test.ex
               ╰──(tainted)
-   ├considering: )
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: )
+   ├considering: )
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: )
        
        
-   ├considering: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: (helo=$sender_helo_name)
+   ├considering: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: (helo=$sender_helo_name)↩
        
        
-   ╰─────result: (helo=myhost.test.ex)
+   ╰─────result: (helo=myhost.test.ex)
        
               ╰──(tainted)
        
               ╰──(tainted)
-  ├───item-res: (helo=myhost.test.ex)
+  ├───item-res: (helo=myhost.test.ex)
        
              ╰──(tainted)
        
              ╰──(tainted)
-  ├considering: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ├considering: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
        }}
        }}
-  ╰─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from░CALLER░(helo=myhost.test.ex)↩
        
              ╰──(tainted)
        
              ╰──(tainted)
- ├───item-res: from CALLER (helo=myhost.test.ex)
+ ├───item-res: from░CALLER░(helo=myhost.test.ex)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: by 
- ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: by
+ ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text:  
- ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: 
+ ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: with 
-  ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: with
+  ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: local-esmtp
   ├──────value: local-esmtp
-  ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  
-  ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: with $received_protocol 
-  ╰─────result: with local-esmtp 
- ├───item-res: with local-esmtp 
+  ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
+  ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: with░$received_protocol░
+  ╰─────result: with░local-esmtp░
+ ├───item-res: with░local-esmtp░
             ╰──(tainted)
             ╰──(tainted)
- ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  ($tls_in_ver)
-  ├─────result:  ()
+ ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ░($tls_in_ver)
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ╭───scanning:  tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  tls 
-  ├───scanning: $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: ░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: ░tls░
+  ├───scanning: $tls_in_cipher_std
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
+  ├───scanning: 
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
        
        
-  ├───scanning: }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  tls $tls_in_cipher_std
-       
-  ├─────result:  tls 
+  ├───scanning: }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: ░tls░$tls_in_cipher_std↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: (Exim 
- ├considering: $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: (Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering: )
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: )
+ ├considering: )
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: )
        
        
- ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ╭considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: (envelope-from <
-  ├considering: $sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: (envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: (envelope-from<
+  ├considering: $sender_address>)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: CALLER@myhost.test.ex
   ├──────value: CALLER@myhost.test.ex
-  ├considering: >)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: >)
+  ├considering: >)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: >)
        
        
-  ├considering: }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: (envelope-from <$sender_address>)
+  ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: (envelope-from░<$sender_address>)↩
        
        
-  ╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+  ╰─────result: (envelope-from░<CALLER@myhost.test.ex>)↩
        
        
- ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+ ├───item-res: (envelope-from░<CALLER@myhost.test.ex>)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: id 
- ├considering: $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: id
+ ├considering: $message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: 10HmbB-000000005vi-0000
  ├──────value: 10HmbB-000000005vi-0000
- ├considering: ${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_for
  ├─────result: true
  ├──condition: def:received_for
  ├─────result: true
-  ╭considering: 
-       for $received_for}}
-  ├───────text: 
-       for 
+  ╭considering: 
+       for$received_for}}
+  ├───────text: 
+       for
   ├considering: $received_for}}
   ├──────value: usery@domain.com
              ╰──(tainted)
   ├considering: }}
   ├considering: $received_for}}
   ├──────value: usery@domain.com
              ╰──(tainted)
   ├considering: }}
-  ├──expanding: 
-       for $received_for
-  ╰─────result: 
-       for usery@domain.com
+  ├───expanded: ↩
+       for$received_for
+  ╰─────result: 
+       forusery@domain.com
              ╰──(tainted)
              ╰──(tainted)
- ├───item-res: 
-       for usery@domain.com
+ ├───item-res: 
+       forusery@domain.com
             ╰──(tainted)
             ╰──(tainted)
- ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ╰─────result: Received: from CALLER (helo=myhost.test.ex)
-       by myhost.test.ex with local-esmtp (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmbB-000000005vi-0000
-       for usery@domain.com
+ ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ╰─────result: Received:░from░CALLER░(helo=myhost.test.ex)↩
+       by░myhost.test.ex░with░local-esmtp░(Exim░x.yz)↩
+       (envelope-from░<CALLER@myhost.test.ex>)↩
+       id░10HmbB-000000005vi-0000↩
+       forusery@domain.com
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
@@ -1862,8 +1856,8 @@ try option acl_smtp_dkim
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbC-000000005vi-0000
 LOG: MAIN
   SMTP>> .
   SMTP<< 250 OK id=10HmbC-000000005vi-0000
 LOG: MAIN
index e6eb222d787fa92bf2c947c73c1439bd9e5fc8d8..3ee112b8cf4c88c7569c743b3f873ecc332cb19f 100644 (file)
@@ -14,18 +14,18 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
@@ -42,31 +42,31 @@ try option acl_smtp_expn
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
- ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
-  ├──expanding: SERVER
+  ├───expanded: SERVER
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
-  ├──expanding: server
+  ├───expanded: server
   ╰─────result: server
   ╰─────result: server
- ├──condition: eq {SERVER}{server}
+ ├──condition: eq{SERVER}{server}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
-  ├──expanding: queue
-  ├─────result: queue
+  ├───expanded: queue
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
-  ├──expanding: cutthrough
+  ├───expanded: cutthrough
   ╰─────result: cutthrough
   ╰─────result: cutthrough
- ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
@@ -87,7 +87,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: userx
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: userx
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: userx
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: userx
             ╰──(tainted)
 domain.com in "*"?
@@ -115,7 +115,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: userx
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: userx
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: userx
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: userx
             ╰──(tainted)
 domain.com in "*"?
@@ -132,7 +132,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
- ├──expanding: $primary_hostname
+ ├───expanded: $primary_hostname
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
@@ -146,98 +146,98 @@ cmd buf flush ddd bytes
          250-STARTTLS
          250 HELP
 try option host_name_extract
          250-STARTTLS
          250 HELP
 try option host_name_extract
- ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ╭considering: $host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├──────value: 127.0.0.1
   ├──────value: 127.0.0.1
-  ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $host
+  ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: $host
   ╰─────result: 127.0.0.1
   ╰─────result: 127.0.0.1
-  ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├───────text: .outlook.com
   ├───────text: .outlook.com
-  ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├backslashed: '\$'
   ├backslashed: '\$'
-  ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: .outlook.com\$
+  ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: .outlook.com\$
   ╰─────result: .outlook.com$
   ╰─────result: .outlook.com$
-  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}{$1}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $item
-  ├─────result: 
+  ├───scanning: }{\N^250-([\w.]+)\s\N}}}{$1}}
+  ├───expanded: $item
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: \N^250-([\w.]+)\s\N}}}{$1}}
   ├──protected: ^250-([\w.]+)\s
   ├──protected: ^250-([\w.]+)\s
-  ├───scanning: }}} {$1}}
-  ├──expanding: \N^250-([\w.]+)\s\N
-  ├─────result: ^250-([\w.]+)\s
+  ├───scanning: }}}{$1}}
+  ├───expanded: \N^250-([\w.]+)\s\N
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
-  ├──expanding: $1
-  ├─────result: 
+  ├───expanded: $1
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
  ╰─────result: 
  ╰─────result: 
- ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+ ╭considering: ${if░eq░{$address_data}{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: userx
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: userx
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
-  ├──expanding: $address_data
+  ├───expanded: $address_data
   ╰─────result: userx
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
   ╰─────result: userx
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
-  ├──expanding: usery
+  ├───expanded: usery
   ╰─────result: usery
   ╰─────result: usery
- ├──condition: eq {$address_data}{usery}
+ ├──condition: eq{$address_data}{usery}
  ├─────result: false
   ╭───scanning: *}{:}}
   ├───────text: *
   ├───scanning: }{:}}
  ├─────result: false
   ╭───scanning: *}{:}}
   ├───────text: *
   ├───scanning: }{:}}
-  ├──expanding: *
-  ├─────result: *
+  ├───expanded: *
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: :}}
   ├───────text: :
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: :}}
   ├───────text: :
   ├considering: }}
-  ├──expanding: :
+  ├───expanded: :
   ╰─────result: :
   ╰─────result: :
- ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}}
  ╰─────result: :
 127.0.0.1 in hosts_avoid_tls?
  list element: 
 127.0.0.1 in hosts_avoid_tls? no (end of list)
  ╰─────result: :
 127.0.0.1 in hosts_avoid_tls?
  list element: 
 127.0.0.1 in hosts_avoid_tls? no (end of list)
- ╭considering: ${if eq {$address_data}{userz}{*}{:}}
+ ╭considering: ${if░eq░{$address_data}{userz}{*}{:}}
   ╭considering: $address_data}{userz}{*}{:}}
   ├──────value: userx
              ╰──(tainted)
   ├considering: }{userz}{*}{:}}
   ╭considering: $address_data}{userz}{*}{:}}
   ├──────value: userx
              ╰──(tainted)
   ├considering: }{userz}{*}{:}}
-  ├──expanding: $address_data
+  ├───expanded: $address_data
   ╰─────result: userx
              ╰──(tainted)
   ╭considering: userz}{*}{:}}
   ├───────text: userz
   ├considering: }{*}{:}}
   ╰─────result: userx
              ╰──(tainted)
   ╭considering: userz}{*}{:}}
   ├───────text: userz
   ├considering: }{*}{:}}
-  ├──expanding: userz
+  ├───expanded: userz
   ╰─────result: userz
   ╰─────result: userz
- ├──condition: eq {$address_data}{userz}
+ ├──condition: eq{$address_data}{userz}
  ├─────result: false
   ╭───scanning: *}{:}}
   ├───────text: *
   ├───scanning: }{:}}
  ├─────result: false
   ╭───scanning: *}{:}}
   ├───────text: *
   ├───scanning: }{:}}
-  ├──expanding: *
-  ├─────result: *
+  ├───expanded: *
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: :}}
   ├───────text: :
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: :}}
   ├───────text: :
   ├considering: }}
-  ├──expanding: :
+  ├───expanded: :
   ╰─────result: :
   ╰─────result: :
- ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
+ ├───expanded: ${if░eq░{$address_data}{userz}{*}{:}}
  ╰─────result: :
 127.0.0.1 in hosts_verify_avoid_tls?
  list element: 
  ╰─────result: :
 127.0.0.1 in hosts_verify_avoid_tls?
  list element: 
@@ -284,355 +284,353 @@ end of inline ACL: ACCEPT
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 try option received_header_text
 try option received_header_text
- ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: Received: 
- ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: Received:
+ ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ╭───scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: from 
-  ├───scanning: $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: from
+  ├───scanning: $sender_rcvhost
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
+  ├───scanning: 
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
        
        
-  ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: from $sender_rcvhost
-       
-  ├─────result: from 
+  ├───scanning: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: from░$sender_rcvhost↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
   ├──condition: def:sender_ident
   ├─────result: true
-   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: from 
-   ├considering: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
+   ╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: from
+   ├considering: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ╎╭considering: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
    ╎├──────value: CALLER
    ╎├──────value: CALLER
-   ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
-   ╎├──expanding: $sender_ident
+   ╎├considering: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
+   ╎├───expanded: $sender_ident
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
-   ├considering:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text:  
-   ├considering: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: from ${quote_local_part:$sender_ident} 
-   ╰─────result: from CALLER 
-  ├───item-res: from CALLER 
-  ├considering: ${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: 
+   ├considering: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: from░${quote_local_part:$sender_ident}░
+   ╰─────result: from░CALLER░
+  ├───item-res: from░CALLER░
+  ├considering: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_helo_name
   ├─────result: true
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ╭considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ╭considering: (helo=$sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├───────text: (helo=
    ├───────text: (helo=
-   ├considering: $sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: $sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├──────value: myhost.test.ex
               ╰──(tainted)
    ├──────value: myhost.test.ex
               ╰──(tainted)
-   ├considering: )
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: )
+   ├considering: )
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: )
        
        
-   ├considering: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: (helo=$sender_helo_name)
+   ├considering: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: (helo=$sender_helo_name)↩
        
        
-   ╰─────result: (helo=myhost.test.ex)
+   ╰─────result: (helo=myhost.test.ex)
        
               ╰──(tainted)
        
               ╰──(tainted)
-  ├───item-res: (helo=myhost.test.ex)
+  ├───item-res: (helo=myhost.test.ex)
        
              ╰──(tainted)
        
              ╰──(tainted)
-  ├considering: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ├considering: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
        }}
        }}
-  ╰─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from░CALLER░(helo=myhost.test.ex)↩
        
              ╰──(tainted)
        
              ╰──(tainted)
- ├───item-res: from CALLER (helo=myhost.test.ex)
+ ├───item-res: from░CALLER░(helo=myhost.test.ex)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: by 
- ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: by
+ ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text:  
- ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: 
+ ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: with 
-  ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: with
+  ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: local-esmtp
   ├──────value: local-esmtp
-  ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  
-  ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: with $received_protocol 
-  ╰─────result: with local-esmtp 
- ├───item-res: with local-esmtp 
+  ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
+  ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: with░$received_protocol░
+  ╰─────result: with░local-esmtp░
+ ├───item-res: with░local-esmtp░
             ╰──(tainted)
             ╰──(tainted)
- ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  ($tls_in_ver)
-  ├─────result:  ()
+ ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ░($tls_in_ver)
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ╭───scanning:  tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  tls 
-  ├───scanning: $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: ░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: ░tls░
+  ├───scanning: $tls_in_cipher_std
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  tls $tls_in_cipher_std
+  ├───scanning: ↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───────text: ↩
        
        
-  ├─────result:  tls 
+  ├───scanning: }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: ░tls░$tls_in_cipher_std↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: (Exim 
- ├considering: $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: (Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering: )
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: )
+ ├considering: )
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: )
        
        
- ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ╭considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: (envelope-from <
-  ├considering: $sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: (envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: (envelope-from<
+  ├considering: $sender_address>)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: CALLER@myhost.test.ex
   ├──────value: CALLER@myhost.test.ex
-  ├considering: >)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: >)
+  ├considering: >)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: >)
        
        
-  ├considering: }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: (envelope-from <$sender_address>)
+  ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: (envelope-from░<$sender_address>)↩
        
        
-  ╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+  ╰─────result: (envelope-from░<CALLER@myhost.test.ex>)↩
        
        
- ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+ ├───item-res: (envelope-from░<CALLER@myhost.test.ex>)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: id 
- ├considering: $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: id
+ ├considering: $message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: 10HmaX-000000005vi-0000
  ├──────value: 10HmaX-000000005vi-0000
- ├considering: ${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_for
  ├─────result: true
  ├──condition: def:received_for
  ├─────result: true
-  ╭considering: 
-       for $received_for}}
-  ├───────text: 
-       for 
+  ╭considering: 
+       for$received_for}}
+  ├───────text: 
+       for
   ├considering: $received_for}}
   ├──────value: userx@domain.com
              ╰──(tainted)
   ├considering: }}
   ├considering: $received_for}}
   ├──────value: userx@domain.com
              ╰──(tainted)
   ├considering: }}
-  ├──expanding: 
-       for $received_for
-  ╰─────result: 
-       for userx@domain.com
+  ├───expanded: ↩
+       for$received_for
+  ╰─────result: 
+       foruserx@domain.com
              ╰──(tainted)
              ╰──(tainted)
- ├───item-res: 
-       for userx@domain.com
+ ├───item-res: 
+       foruserx@domain.com
             ╰──(tainted)
             ╰──(tainted)
- ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ╰─────result: Received: from CALLER (helo=myhost.test.ex)
-       by myhost.test.ex with local-esmtp (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaX-000000005vi-0000
-       for userx@domain.com
+ ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ╰─────result: Received:░from░CALLER░(helo=myhost.test.ex)↩
+       by░myhost.test.ex░with░local-esmtp░(Exim░x.yz)↩
+       (envelope-from░<CALLER@myhost.test.ex>)↩
+       id░10HmaX-000000005vi-0000↩
+       foruserx@domain.com
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
@@ -640,8 +638,8 @@ try option acl_smtp_dkim
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
   SMTP>> .
   SMTP<< 250 OK id=10HmaY-000000005vi-0000
 LOG: MAIN
   SMTP>> .
   SMTP<< 250 OK id=10HmaY-000000005vi-0000
 LOG: MAIN
@@ -675,18 +673,18 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
@@ -703,31 +701,31 @@ try option acl_smtp_expn
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
- ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
-  ├──expanding: SERVER
+  ├───expanded: SERVER
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
-  ├──expanding: server
+  ├───expanded: server
   ╰─────result: server
   ╰─────result: server
- ├──condition: eq {SERVER}{server}
+ ├──condition: eq{SERVER}{server}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
-  ├──expanding: queue
-  ├─────result: queue
+  ├───expanded: queue
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
-  ├──expanding: cutthrough
+  ├───expanded: cutthrough
   ╰─────result: cutthrough
   ╰─────result: cutthrough
- ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
@@ -748,7 +746,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
@@ -776,7 +774,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
@@ -793,7 +791,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
- ├──expanding: $primary_hostname
+ ├───expanded: $primary_hostname
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
@@ -807,67 +805,67 @@ cmd buf flush ddd bytes
          250-STARTTLS
          250 HELP
 try option host_name_extract
          250-STARTTLS
          250 HELP
 try option host_name_extract
- ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ╭considering: $host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├──────value: 127.0.0.1
   ├──────value: 127.0.0.1
-  ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $host
+  ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: $host
   ╰─────result: 127.0.0.1
   ╰─────result: 127.0.0.1
-  ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├───────text: .outlook.com
   ├───────text: .outlook.com
-  ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├backslashed: '\$'
   ├backslashed: '\$'
-  ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: .outlook.com\$
+  ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: .outlook.com\$
   ╰─────result: .outlook.com$
   ╰─────result: .outlook.com$
-  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}{$1}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $item
-  ├─────result: 
+  ├───scanning: }{\N^250-([\w.]+)\s\N}}}{$1}}
+  ├───expanded: $item
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: \N^250-([\w.]+)\s\N}}}{$1}}
   ├──protected: ^250-([\w.]+)\s
   ├──protected: ^250-([\w.]+)\s
-  ├───scanning: }}} {$1}}
-  ├──expanding: \N^250-([\w.]+)\s\N
-  ├─────result: ^250-([\w.]+)\s
+  ├───scanning: }}}{$1}}
+  ├───expanded: \N^250-([\w.]+)\s\N
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
-  ├──expanding: $1
-  ├─────result: 
+  ├───expanded: $1
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
  ╰─────result: 
  ╰─────result: 
- ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+ ╭considering: ${if░eq░{$address_data}{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: usery
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: usery
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
-  ├──expanding: $address_data
+  ├───expanded: $address_data
   ╰─────result: usery
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
   ╰─────result: usery
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
-  ├──expanding: usery
+  ├───expanded: usery
   ╰─────result: usery
   ╰─────result: usery
- ├──condition: eq {$address_data}{usery}
+ ├──condition: eq{$address_data}{usery}
  ├─────result: true
   ╭considering: *}{:}}
   ├───────text: *
   ├considering: }{:}}
  ├─────result: true
   ╭considering: *}{:}}
   ├───────text: *
   ├considering: }{:}}
-  ├──expanding: *
+  ├───expanded: *
   ╰─────result: *
   ╭───scanning: :}}
   ├───────text: :
   ├───scanning: }}
   ╰─────result: *
   ╭───scanning: :}}
   ├───────text: :
   ├───scanning: }}
-  ├──expanding: :
-  ├─────result: :
+  ├───expanded: :
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}}
  ╰─────result: *
 127.0.0.1 in hosts_avoid_tls?
  list element: *
  ╰─────result: *
 127.0.0.1 in hosts_avoid_tls?
  list element: *
@@ -895,355 +893,353 @@ end of inline ACL: ACCEPT
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 try option received_header_text
 try option received_header_text
- ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: Received: 
- ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: Received:
+ ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ╭───scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: from 
-  ├───scanning: $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: from
+  ├───scanning: $sender_rcvhost
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
+  ├───scanning: 
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
        
        
-  ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: from $sender_rcvhost
-       
-  ├─────result: from 
+  ├───scanning: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: from░$sender_rcvhost↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
   ├──condition: def:sender_ident
   ├─────result: true
-   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: from 
-   ├considering: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
+   ╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: from
+   ├considering: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ╎╭considering: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
    ╎├──────value: CALLER
    ╎├──────value: CALLER
-   ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
-   ╎├──expanding: $sender_ident
+   ╎├considering: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
+   ╎├───expanded: $sender_ident
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
-   ├considering:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text:  
-   ├considering: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: from ${quote_local_part:$sender_ident} 
-   ╰─────result: from CALLER 
-  ├───item-res: from CALLER 
-  ├considering: ${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: 
+   ├considering: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: from░${quote_local_part:$sender_ident}░
+   ╰─────result: from░CALLER░
+  ├───item-res: from░CALLER░
+  ├considering: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_helo_name
   ├─────result: true
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ╭considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ╭considering: (helo=$sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├───────text: (helo=
    ├───────text: (helo=
-   ├considering: $sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: $sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├──────value: myhost.test.ex
               ╰──(tainted)
    ├──────value: myhost.test.ex
               ╰──(tainted)
-   ├considering: )
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: )
+   ├considering: )
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: )
        
        
-   ├considering: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: (helo=$sender_helo_name)
+   ├considering: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: (helo=$sender_helo_name)↩
        
        
-   ╰─────result: (helo=myhost.test.ex)
+   ╰─────result: (helo=myhost.test.ex)
        
               ╰──(tainted)
        
               ╰──(tainted)
-  ├───item-res: (helo=myhost.test.ex)
+  ├───item-res: (helo=myhost.test.ex)
        
              ╰──(tainted)
        
              ╰──(tainted)
-  ├considering: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ├considering: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
        }}
        }}
-  ╰─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from░CALLER░(helo=myhost.test.ex)↩
        
              ╰──(tainted)
        
              ╰──(tainted)
- ├───item-res: from CALLER (helo=myhost.test.ex)
+ ├───item-res: from░CALLER░(helo=myhost.test.ex)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: by 
- ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: by
+ ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text:  
- ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: 
+ ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: with 
-  ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: with
+  ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: local-esmtp
   ├──────value: local-esmtp
-  ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  
-  ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: with $received_protocol 
-  ╰─────result: with local-esmtp 
- ├───item-res: with local-esmtp 
+  ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
+  ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: with░$received_protocol░
+  ╰─────result: with░local-esmtp░
+ ├───item-res: with░local-esmtp░
             ╰──(tainted)
             ╰──(tainted)
- ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  ($tls_in_ver)
-  ├─────result:  ()
+ ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ░($tls_in_ver)
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ╭───scanning:  tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  tls 
-  ├───scanning: $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: ░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: ░tls░
+  ├───scanning: $tls_in_cipher_std
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  tls $tls_in_cipher_std
+  ├───scanning: ↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───────text: ↩
        
        
-  ├─────result:  tls 
+  ├───scanning: }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: ░tls░$tls_in_cipher_std↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: (Exim 
- ├considering: $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: (Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering: )
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: )
+ ├considering: )
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: )
        
        
- ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ╭considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: (envelope-from <
-  ├considering: $sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: (envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: (envelope-from<
+  ├considering: $sender_address>)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: CALLER@myhost.test.ex
   ├──────value: CALLER@myhost.test.ex
-  ├considering: >)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: >)
+  ├considering: >)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: >)
        
        
-  ├considering: }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: (envelope-from <$sender_address>)
+  ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: (envelope-from░<$sender_address>)↩
        
        
-  ╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+  ╰─────result: (envelope-from░<CALLER@myhost.test.ex>)↩
        
        
- ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+ ├───item-res: (envelope-from░<CALLER@myhost.test.ex>)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: id 
- ├considering: $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: id
+ ├considering: $message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: 10HmaZ-000000005vi-0000
  ├──────value: 10HmaZ-000000005vi-0000
- ├considering: ${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_for
  ├─────result: true
  ├──condition: def:received_for
  ├─────result: true
-  ╭considering: 
-       for $received_for}}
-  ├───────text: 
-       for 
+  ╭considering: 
+       for$received_for}}
+  ├───────text: 
+       for
   ├considering: $received_for}}
   ├──────value: usery@domain.com
              ╰──(tainted)
   ├considering: }}
   ├considering: $received_for}}
   ├──────value: usery@domain.com
              ╰──(tainted)
   ├considering: }}
-  ├──expanding: 
-       for $received_for
-  ╰─────result: 
-       for usery@domain.com
+  ├───expanded: ↩
+       for$received_for
+  ╰─────result: 
+       forusery@domain.com
              ╰──(tainted)
              ╰──(tainted)
- ├───item-res: 
-       for usery@domain.com
+ ├───item-res: 
+       forusery@domain.com
             ╰──(tainted)
             ╰──(tainted)
- ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ╰─────result: Received: from CALLER (helo=myhost.test.ex)
-       by myhost.test.ex with local-esmtp (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaZ-000000005vi-0000
-       for usery@domain.com
+ ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ╰─────result: Received:░from░CALLER░(helo=myhost.test.ex)↩
+       by░myhost.test.ex░with░local-esmtp░(Exim░x.yz)↩
+       (envelope-from░<CALLER@myhost.test.ex>)↩
+       id░10HmaZ-000000005vi-0000↩
+       forusery@domain.com
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
@@ -1251,8 +1247,8 @@ try option acl_smtp_dkim
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbA-000000005vi-0000
 LOG: MAIN
   SMTP>> .
   SMTP<< 250 OK id=10HmbA-000000005vi-0000
 LOG: MAIN
@@ -1286,18 +1282,18 @@ LOG: smtp_connection MAIN
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
 try option message_size_limit
 try option acl_smtp_connect
 try option smtp_banner
- ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ESMTP Exim $version_number $tod_full
- ├───────text:  ESMTP Exim 
- ├considering: $version_number $tod_full
+ ├considering: ░ESMTP░Exim░$version_number░$tod_full
+ ├───────text: ░ESMTP░Exim░
+ ├considering: $version_number$tod_full
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering:  $tod_full
- ├───────text:  
+ ├considering: $tod_full
+ ├───────text: 
  ├considering: $tod_full
  ├considering: $tod_full
- ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
- ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+ ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+ ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
 try option acl_smtp_helo
  list element: *
   in limits_advertise_hosts? yes (matched "*")
@@ -1314,31 +1310,31 @@ try option acl_smtp_expn
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
   in tls_advertise_hosts? yes (matched "*")
 try option acl_smtp_mail
 try option acl_smtp_rcpt
- ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
   ├considering: }{server}{queue}{cutthrough}}
-  ├──expanding: SERVER
+  ├───expanded: SERVER
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
   ╰─────result: SERVER
   ╭considering: server}{queue}{cutthrough}}
   ├───────text: server
   ├considering: }{queue}{cutthrough}}
-  ├──expanding: server
+  ├───expanded: server
   ╰─────result: server
   ╰─────result: server
- ├──condition: eq {SERVER}{server}
+ ├──condition: eq{SERVER}{server}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
  ├─────result: false
   ╭───scanning: queue}{cutthrough}}
   ├───────text: queue
   ├───scanning: }{cutthrough}}
-  ├──expanding: queue
-  ├─────result: queue
+  ├───expanded: queue
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
   ╰───skipping: result is not used
   ╭considering: cutthrough}}
   ├───────text: cutthrough
   ├considering: }}
-  ├──expanding: cutthrough
+  ├───expanded: cutthrough
   ╰─────result: cutthrough
   ╰─────result: cutthrough
- ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
  ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
@@ -1359,7 +1355,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
@@ -1387,7 +1383,7 @@ processing address_data
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
  ╭considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: $local_part
+ ├───expanded: $local_part
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
  ╰─────result: usery
             ╰──(tainted)
 domain.com in "*"?
@@ -1404,7 +1400,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
 try option helo_data
  ╭considering: $primary_hostname
  ├──────value: myhost.test.ex
- ├──expanding: $primary_hostname
+ ├───expanded: $primary_hostname
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
  ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
@@ -1418,67 +1414,67 @@ cmd buf flush ddd bytes
          250-STARTTLS
          250 HELP
 try option host_name_extract
          250-STARTTLS
          250 HELP
 try option host_name_extract
- ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ╭considering: $host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├──────value: 127.0.0.1
   ├──────value: 127.0.0.1
-  ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $host
+  ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: $host
   ╰─────result: 127.0.0.1
   ╰─────result: 127.0.0.1
-  ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├───────text: .outlook.com
   ├───────text: .outlook.com
-  ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
   ├backslashed: '\$'
   ├backslashed: '\$'
-  ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: .outlook.com\$
+  ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+  ├───expanded: .outlook.com\$
   ╰─────result: .outlook.com$
   ╰─────result: .outlook.com$
-  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}{$1}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
-  ├──expanding: $item
-  ├─────result: 
+  ├───scanning: }{\N^250-([\w.]+)\s\N}}}{$1}}
+  ├───expanded: $item
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+  ╭───scanning: \N^250-([\w.]+)\s\N}}}{$1}}
   ├──protected: ^250-([\w.]+)\s
   ├──protected: ^250-([\w.]+)\s
-  ├───scanning: }}} {$1}}
-  ├──expanding: \N^250-([\w.]+)\s\N
-  ├─────result: ^250-([\w.]+)\s
+  ├───scanning: }}}{$1}}
+  ├───expanded: \N^250-([\w.]+)\s\N
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
  ├─────result: false
   ╭───scanning: $1}}
   ├───scanning: }}
-  ├──expanding: $1
-  ├─────result: 
+  ├───expanded: $1
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}}
  ╰─────result: 
  ╰─────result: 
- ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+ ╭considering: ${if░eq░{$address_data}{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: usery
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
   ╭considering: $address_data}{usery}{*}{:}}
   ├──────value: usery
              ╰──(tainted)
   ├considering: }{usery}{*}{:}}
-  ├──expanding: $address_data
+  ├───expanded: $address_data
   ╰─────result: usery
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
   ╰─────result: usery
              ╰──(tainted)
   ╭considering: usery}{*}{:}}
   ├───────text: usery
   ├considering: }{*}{:}}
-  ├──expanding: usery
+  ├───expanded: usery
   ╰─────result: usery
   ╰─────result: usery
- ├──condition: eq {$address_data}{usery}
+ ├──condition: eq{$address_data}{usery}
  ├─────result: true
   ╭considering: *}{:}}
   ├───────text: *
   ├considering: }{:}}
  ├─────result: true
   ╭considering: *}{:}}
   ├───────text: *
   ├considering: }{:}}
-  ├──expanding: *
+  ├───expanded: *
   ╰─────result: *
   ╭───scanning: :}}
   ├───────text: :
   ├───scanning: }}
   ╰─────result: *
   ╭───scanning: :}}
   ├───────text: :
   ├───scanning: }}
-  ├──expanding: :
-  ├─────result: :
+  ├───expanded: :
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
- ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}}
  ╰─────result: *
 127.0.0.1 in hosts_avoid_tls?
  list element: *
  ╰─────result: *
 127.0.0.1 in hosts_avoid_tls?
  list element: *
@@ -1506,355 +1502,353 @@ end of inline ACL: ACCEPT
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
 try option message_id_header_domain
 try option message_id_header_text
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 try option received_header_text
 try option received_header_text
- ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: Received: 
- ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: Received:
+ ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ╭───scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: from 
-  ├───scanning: $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: from
+  ├───scanning: $sender_rcvhost
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: from $sender_rcvhost
+  ├───scanning: ↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───────text: ↩
        
        
-  ├─────result: from 
+  ├───scanning: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: from░$sender_rcvhost↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
   ╰───skipping: result is not used
-  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
   ├──condition: def:sender_ident
   ├─────result: true
-   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: from 
-   ├considering: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
+   ╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: from
+   ├considering: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ╎╭considering: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
    ╎├──────value: CALLER
    ╎├──────value: CALLER
-   ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
-   ╎├──expanding: $sender_ident
+   ╎├considering: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎ }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎ }}(Exim░$version_number)↩
+   ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎ }}id░$message_exim_id${if░def:received_for░{↩
+   ╎ for$received_for}}
+   ╎├───expanded: $sender_ident
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
-   ├considering:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text:  
-   ├considering: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: from ${quote_local_part:$sender_ident} 
-   ╰─────result: from CALLER 
-  ├───item-res: from CALLER 
-  ├considering: ${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: 
+   ├considering: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: from░${quote_local_part:$sender_ident}░
+   ╰─────result: from░CALLER░
+  ├───item-res: from░CALLER░
+  ├considering: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──condition: def:sender_helo_name
   ├─────result: true
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ╭considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ╭considering: (helo=$sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├───────text: (helo=
    ├───────text: (helo=
-   ├considering: $sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: $sender_helo_name)
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
    ├──────value: myhost.test.ex
               ╰──(tainted)
    ├──────value: myhost.test.ex
               ╰──(tainted)
-   ├considering: )
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: )
+   ├considering: )
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───────text: )
        
        
-   ├considering: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: (helo=$sender_helo_name)
+   ├considering: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+   ├───expanded: (helo=$sender_helo_name)↩
        
        
-   ╰─────result: (helo=myhost.test.ex)
+   ╰─────result: (helo=myhost.test.ex)
        
               ╰──(tainted)
        
               ╰──(tainted)
-  ├───item-res: (helo=myhost.test.ex)
+  ├───item-res: (helo=myhost.test.ex)
        
              ╰──(tainted)
        
              ╰──(tainted)
-  ├considering: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ├considering: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
        }}
        }}
-  ╰─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from░CALLER░(helo=myhost.test.ex)↩
        
              ╰──(tainted)
        
              ╰──(tainted)
- ├───item-res: from CALLER (helo=myhost.test.ex)
+ ├───item-res: from░CALLER░(helo=myhost.test.ex)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: by 
- ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: by
+ ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: myhost.test.ex
  ├──────value: myhost.test.ex
- ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text:  
- ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: 
+ ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: with 
-  ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: with
+  ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: local-esmtp
   ├──────value: local-esmtp
-  ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  
-  ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: with $received_protocol 
-  ╰─────result: with local-esmtp 
- ├───item-res: with local-esmtp 
+  ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
+  ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: with░$received_protocol░
+  ╰─────result: with░local-esmtp░
+ ├───item-res: with░local-esmtp░
             ╰──(tainted)
             ╰──(tainted)
- ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  ($tls_in_ver)
-  ├─────result:  ()
+ ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: ░($tls_in_ver)
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ╭───scanning:  tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  tls 
-  ├───scanning: $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: ░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: ░tls░
+  ├───scanning: $tls_in_cipher_std
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: 
   ├──────value: 
-  ├───scanning: 
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
+  ├───scanning: 
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: 
        
        
-  ├───scanning: }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  tls $tls_in_cipher_std
-       
-  ├─────result:  tls 
+  ├───scanning: }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for░$received_for}}
+  ├───expanded: ░tls░$tls_in_cipher_std↩
        
        
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
   ╰───skipping: result is not used
  ├───item-res: 
             ╰──(tainted)
- ├considering: (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: (Exim 
- ├considering: $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: (Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: x.yz
  ├──────value: x.yz
- ├considering: )
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: )
+ ├considering: )
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: )
        
        
- ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ╭considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: (envelope-from <
-  ├considering: $sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: (envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: (envelope-from<
+  ├considering: $sender_address>)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
   ├──────value: CALLER@myhost.test.ex
   ├──────value: CALLER@myhost.test.ex
-  ├considering: >)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: >)
+  ├considering: >)
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───────text: >)
        
        
-  ├considering: }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: (envelope-from <$sender_address>)
+  ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+  ├───expanded: (envelope-from░<$sender_address>)↩
        
        
-  ╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+  ╰─────result: (envelope-from░<CALLER@myhost.test.ex>)↩
        
        
- ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+ ├───item-res: (envelope-from░<CALLER@myhost.test.ex>)↩
        
             ╰──(tainted)
        
             ╰──(tainted)
- ├considering: id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: id 
- ├considering: $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ├───────text: id
+ ├considering: $message_exim_id${if░def:received_for░{↩
+       for$received_for}}
  ├──────value: 10HmbB-000000005vi-0000
  ├──────value: 10HmbB-000000005vi-0000
- ├considering: ${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:received_for░{↩
+       for$received_for}}
  ├──condition: def:received_for
  ├─────result: true
  ├──condition: def:received_for
  ├─────result: true
-  ╭considering: 
-       for $received_for}}
-  ├───────text: 
-       for 
+  ╭considering: 
+       for$received_for}}
+  ├───────text: 
+       for
   ├considering: $received_for}}
   ├──────value: usery@domain.com
              ╰──(tainted)
   ├considering: }}
   ├considering: $received_for}}
   ├──────value: usery@domain.com
              ╰──(tainted)
   ├considering: }}
-  ├──expanding: 
-       for $received_for
-  ╰─────result: 
-       for usery@domain.com
+  ├───expanded: ↩
+       for$received_for
+  ╰─────result: 
+       forusery@domain.com
              ╰──(tainted)
              ╰──(tainted)
- ├───item-res: 
-       for usery@domain.com
+ ├───item-res: 
+       forusery@domain.com
             ╰──(tainted)
             ╰──(tainted)
- ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ╰─────result: Received: from CALLER (helo=myhost.test.ex)
-       by myhost.test.ex with local-esmtp (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmbB-000000005vi-0000
-       for usery@domain.com
+ ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+       }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+       }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+       }}(Exim░$version_number)↩
+       ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+       }}id░$message_exim_id${if░def:received_for░{↩
+       for$received_for}}
+ ╰─────result: Received:░from░CALLER░(helo=myhost.test.ex)↩
+       by░myhost.test.ex░with░local-esmtp░(Exim░x.yz)↩
+       (envelope-from░<CALLER@myhost.test.ex>)↩
+       id░10HmbB-000000005vi-0000↩
+       forusery@domain.com
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
             ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
@@ -1862,8 +1856,8 @@ try option acl_smtp_dkim
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
 try option acl_smtp_mime
 try option acl_smtp_data
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbC-000000005vi-0000
 LOG: MAIN
   SMTP>> .
   SMTP<< 250 OK id=10HmbC-000000005vi-0000
 LOG: MAIN
index a79a5c733e66e4d8aef79316da65d54ab10b5985..0524afd7b87e0c7bc8b6eab21b99bc19569460ad 100644 (file)
@@ -970,12 +970,14 @@ xyz
 > Failed: "if" failed and "fail" requested
 > yes
 > match_address:   no
 > Failed: "if" failed and "fail" requested
 > yes
 > match_address:   no
+> protected:  
 > 
 > primary_hostname: myhost.test.ex
 > match:  cdab
 > Failed: "if" failed and "fail" requested
 > yes
 > match_address:   no
 > 
 > primary_hostname: myhost.test.ex
 > match:  cdab
 > Failed: "if" failed and "fail" requested
 > yes
 > match_address:   no
+> protected:  
 > 
 > -be Sender host name and address etc, all unset
 > -oMa  sender_host_address = 
 > 
 > -be Sender host name and address etc, all unset
 > -oMa  sender_host_address =