# Copyright (C) 2016, 2017, 2018, 2019  Stefan Vargyas
# 
# This file is part of Json-Type.
# 
# Json-Type is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# Json-Type is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with Json-Type.  If not, see <http://www.gnu.org/licenses/>.

#
# json-litex path library test suite:
#

$ . ~/regtest2.sh
$ alias json-litex-lib-regtest='regtest2-selftest -f test-json-litex-lib.txt -a exec=pipe -B'

# output all test names:
$ json-litex-lib-regtest -N
...

# run all tests:
$ json-litex-lib-regtest -A
...

--[ prereq ]--------------------------------------------------------------------

$ [ -n "$JSON_LITEX_TEST_PCRE2_LIB" ] || JSON_LITEX_TEST_PCRE2_LIB="/usr/local/lib"
$ json-litex() { set -o pipefail && LD_LIBRARY_PATH=../lib:"$JSON_LITEX_TEST_PCRE2_LIB" ../src/json --literal-value -VF -- ../lib/json-litex.so -A "$@"|sed -r 's/"size":[0-9]+,"bytes":\["[0-9a-f]+"(,"[0-9a-f]+")*\]//;s/("lookup":"0x)[0-9a-f]+(")/\1...\2/g'|LD_LIBRARY_PATH=../lib ../src/json --literal-value --from-ast-print --verbose --no-error; }
$

--[ basic ]---------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="$v"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d 'null'
json: error: <text>:1:1: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:1: null
json: error: <text>:1:1: ^
command failed: json-litex -d 'null'
$ json-litex -d 'false'
json: error: <text>:1:1: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:1: false
json: error: <text>:1:1: ^
command failed: json-litex -d 'false'
$ json-litex -d 'true'
json: error: <text>:1:1: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:1: true
json: error: <text>:1:1: ^
command failed: json-litex -d 'true'
$ json-litex -d '123'
json: error: <text>:1:1: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:1: 123
json: error: <text>:1:1: ^
command failed: json-litex -d '123'
$ json-litex -d '""'
json: error: <text>:1:1: filter library: attribute error: invalid string: is empty
json: error: <text>:1:1: ""
json: error: <text>:1:1: ^
command failed: json-litex -d '""'
$ json-litex -d '"``"'
json: error: <text>:1:2: filter library: expression error: empty string
json: error: <text>:1:2: "``"
json: error: <text>:1:2:  ^
command failed: json-litex -d '"``"'
$ json-litex -d '"//"'
json: error: <text>:1:2: filter library: expression error: empty regex
json: error: <text>:1:2: "//"
json: error: <text>:1:2:  ^
command failed: json-litex -d '"//"'
$ json-litex -d '"'\'''\''"'
json: error: <text>:1:2: filter library: expression error: empty regex
json: error: <text>:1:2: "''"
json: error: <text>:1:2:  ^
command failed: json-litex -d '"'\'''\''"'
$ json-litex -d '"foo"'
json: error: <text>:1:2: filter library: expression error: unknown builtin
json: error: <text>:1:2: "foo"
json: error: <text>:1:2:  ^
command failed: json-litex -d '"foo"'
$ json-litex -d '"`foo`"'
{
    "rexes": null,
    "node": {
        "id": 2,
        "type": "string",
        "node": {
            "val": "`foo`",
            "delim": null
        },
        "attr": {
            "size": 1,
            "nodes": [
                {
                    "type": "match_str",
                    "val": "foo"
                }
            ]
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '"/foo/"'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 5,
        "type": "string",
        "node": {
            "val": "/foo/",
            "delim": null
        },
        "attr": {
            "size": 1,
            "nodes": [
                {
                    "type": "match_rex",
                    "val": 0
                }
            ]
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '"'\''foo'\''"'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 5,
        "type": "string",
        "node": {
            "val": "'foo'",
            "delim": null
        },
        "attr": {
            "size": 1,
            "nodes": [
                {
                    "type": "match_rex",
                    "val": 0
                }
            ]
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{}'
json: error: <text>:1:1: filter library: meta error: empty objects are not allowed
json: error: <text>:1:1: {}
json: error: <text>:1:1: ^
command failed: json-litex -d '{}'
$ json-litex -d '[]'
json: error: <text>:1:1: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:1: []
json: error: <text>:1:1: ^
command failed: json-litex -d '[]'
$

--[ basic2 ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="{\"bar\":$v}"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '{"bar":null}'
json: error: <text>:1:8: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:8: {"bar":null}
json: error: <text>:1:8:        ^
command failed: json-litex -d '{"bar":null}'
$ json-litex -d '{"bar":false}'
json: error: <text>:1:8: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:8: {"bar":false}
json: error: <text>:1:8:        ^
command failed: json-litex -d '{"bar":false}'
$ json-litex -d '{"bar":true}'
json: error: <text>:1:8: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:8: {"bar":true}
json: error: <text>:1:8:        ^
command failed: json-litex -d '{"bar":true}'
$ json-litex -d '{"bar":123}'
json: error: <text>:1:8: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:8: {"bar":123}
json: error: <text>:1:8:        ^
command failed: json-litex -d '{"bar":123}'
$ json-litex -d '{"bar":""}'
json: error: <text>:1:8: filter library: attribute error: invalid string: is empty
json: error: <text>:1:8: {"bar":""}
json: error: <text>:1:8:        ^
command failed: json-litex -d '{"bar":""}'
$ json-litex -d '{"bar":"``"}'
json: error: <text>:1:9: filter library: expression error: empty string
json: error: <text>:1:9: {"bar":"``"}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":"``"}'
$ json-litex -d '{"bar":"//"}'
json: error: <text>:1:9: filter library: expression error: empty regex
json: error: <text>:1:9: {"bar":"//"}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":"//"}'
$ json-litex -d '{"bar":"'\'''\''"}'
json: error: <text>:1:9: filter library: expression error: empty regex
json: error: <text>:1:9: {"bar":"''"}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":"'\'''\''"}'
$ json-litex -d '{"bar":"foo"}'
json: error: <text>:1:9: filter library: expression error: unknown builtin
json: error: <text>:1:9: {"bar":"foo"}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":"foo"}'
$ json-litex -d '{"bar":"`foo`"}'
{
    "rexes": null,
    "node": {
        "id": 6,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "bar",
                        "delim": null
                    },
                    "val": {
                        "id": 2,
                        "type": "string",
                        "node": {
                            "val": "`foo`",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_str",
                                    "val": "foo"
                                }
                            ]
                        },
                        "parent": 6,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "r",
                        "lo": null,
                        "eq": {
                            "val": "`foo`",
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"bar":"/foo/"}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 9,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "bar",
                        "delim": null
                    },
                    "val": {
                        "id": 5,
                        "type": "string",
                        "node": {
                            "val": "/foo/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 0
                                }
                            ]
                        },
                        "parent": 9,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "r",
                        "lo": null,
                        "eq": {
                            "val": "/foo/",
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"bar":"'\''foo'\''"}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 9,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "bar",
                        "delim": null
                    },
                    "val": {
                        "id": 5,
                        "type": "string",
                        "node": {
                            "val": "'foo'",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 0
                                }
                            ]
                        },
                        "parent": 9,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "r",
                        "lo": null,
                        "eq": {
                            "val": "'foo'",
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"bar":{}}'
json: error: <text>:1:8: filter library: meta error: empty objects are not allowed
json: error: <text>:1:8: {"bar":{}}
json: error: <text>:1:8:        ^
command failed: json-litex -d '{"bar":{}}'
$ json-litex -d '{"bar":[]}'
json: error: <text>:1:8: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:8: {"bar":[]}
json: error: <text>:1:8:        ^
command failed: json-litex -d '{"bar":[]}'
$

--[ basic3 ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="{\"bar\":[$v]}"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '{"bar":[null]}'
json: error: <text>:1:9: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:9: {"bar":[null]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":[null]}'
$ json-litex -d '{"bar":[false]}'
json: error: <text>:1:9: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:9: {"bar":[false]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":[false]}'
$ json-litex -d '{"bar":[true]}'
json: error: <text>:1:9: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:9: {"bar":[true]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":[true]}'
$ json-litex -d '{"bar":[123]}'
json: error: <text>:1:9: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:9: {"bar":[123]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":[123]}'
$ json-litex -d '{"bar":[""]}'
json: error: <text>:1:9: filter library: attribute error: invalid string: is empty
json: error: <text>:1:9: {"bar":[""]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":[""]}'
$ json-litex -d '{"bar":["``"]}'
json: error: <text>:1:10: filter library: expression error: empty string
json: error: <text>:1:10: {"bar":["``"]}
json: error: <text>:1:10:          ^
command failed: json-litex -d '{"bar":["``"]}'
$ json-litex -d '{"bar":["//"]}'
json: error: <text>:1:10: filter library: expression error: empty regex
json: error: <text>:1:10: {"bar":["//"]}
json: error: <text>:1:10:          ^
command failed: json-litex -d '{"bar":["//"]}'
$ json-litex -d '{"bar":["'\'''\''"]}'
json: error: <text>:1:10: filter library: expression error: empty regex
json: error: <text>:1:10: {"bar":["''"]}
json: error: <text>:1:10:          ^
command failed: json-litex -d '{"bar":["'\'''\''"]}'
$ json-litex -d '{"bar":["foo"]}'
json: error: <text>:1:10: filter library: expression error: unknown builtin
json: error: <text>:1:10: {"bar":["foo"]}
json: error: <text>:1:10:          ^
command failed: json-litex -d '{"bar":["foo"]}'
$ json-litex -d '{"bar":["`foo`"]}'
{
    "rexes": null,
    "node": {
        "id": 9,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "bar",
                        "delim": null
                    },
                    "val": {
                        "id": 5,
                        "type": "array",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "id": 2,
                                    "type": "string",
                                    "node": {
                                        "val": "`foo`",
                                        "delim": null
                                    },
                                    "attr": {
                                        "size": 1,
                                        "nodes": [
                                            {
                                                "type": "match_str",
                                                "val": "foo"
                                            }
                                        ]
                                    },
                                    "parent": 5,
                                    "path": null
                                }
                            ]
                        },
                        "attr": {
                            "string": 2,
                            "object": null
                        },
                        "parent": 9,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "r",
                        "lo": null,
                        "eq": {
                            "val": [
                                "`foo`"
                            ],
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"bar":["/foo/"]}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 12,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "bar",
                        "delim": null
                    },
                    "val": {
                        "id": 8,
                        "type": "array",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "id": 5,
                                    "type": "string",
                                    "node": {
                                        "val": "/foo/",
                                        "delim": null
                                    },
                                    "attr": {
                                        "size": 1,
                                        "nodes": [
                                            {
                                                "type": "match_rex",
                                                "val": 0
                                            }
                                        ]
                                    },
                                    "parent": 8,
                                    "path": null
                                }
                            ]
                        },
                        "attr": {
                            "string": 5,
                            "object": null
                        },
                        "parent": 12,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "r",
                        "lo": null,
                        "eq": {
                            "val": [
                                "/foo/"
                            ],
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"bar":["'\''foo'\''"]}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 12,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "bar",
                        "delim": null
                    },
                    "val": {
                        "id": 8,
                        "type": "array",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "id": 5,
                                    "type": "string",
                                    "node": {
                                        "val": "'foo'",
                                        "delim": null
                                    },
                                    "attr": {
                                        "size": 1,
                                        "nodes": [
                                            {
                                                "type": "match_rex",
                                                "val": 0
                                            }
                                        ]
                                    },
                                    "parent": 8,
                                    "path": null
                                }
                            ]
                        },
                        "attr": {
                            "string": 5,
                            "object": null
                        },
                        "parent": 12,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "r",
                        "lo": null,
                        "eq": {
                            "val": [
                                "'foo'"
                            ],
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"bar":[{}]}'
json: error: <text>:1:9: filter library: meta error: empty objects are not allowed
json: error: <text>:1:9: {"bar":[{}]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":[{}]}'
$ json-litex -d '{"bar":[[]]}'
json: error: <text>:1:9: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:9: {"bar":[[]]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":[[]]}'
$

--[ basic4 ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="[$v]"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '[null]'
json: error: <text>:1:2: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:2: [null]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[null]'
$ json-litex -d '[false]'
json: error: <text>:1:2: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:2: [false]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[false]'
$ json-litex -d '[true]'
json: error: <text>:1:2: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:2: [true]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[true]'
$ json-litex -d '[123]'
json: error: <text>:1:2: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:2: [123]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[123]'
$ json-litex -d '[""]'
json: error: <text>:1:2: filter library: attribute error: invalid string: is empty
json: error: <text>:1:2: [""]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[""]'
$ json-litex -d '["``"]'
json: error: <text>:1:3: filter library: expression error: empty string
json: error: <text>:1:3: ["``"]
json: error: <text>:1:3:   ^
command failed: json-litex -d '["``"]'
$ json-litex -d '["//"]'
json: error: <text>:1:3: filter library: expression error: empty regex
json: error: <text>:1:3: ["//"]
json: error: <text>:1:3:   ^
command failed: json-litex -d '["//"]'
$ json-litex -d '["'\'''\''"]'
json: error: <text>:1:3: filter library: expression error: empty regex
json: error: <text>:1:3: ["''"]
json: error: <text>:1:3:   ^
command failed: json-litex -d '["'\'''\''"]'
$ json-litex -d '["foo"]'
json: error: <text>:1:3: filter library: expression error: unknown builtin
json: error: <text>:1:3: ["foo"]
json: error: <text>:1:3:   ^
command failed: json-litex -d '["foo"]'
$ json-litex -d '["`foo`"]'
{
    "rexes": null,
    "node": {
        "id": 5,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 2,
                    "type": "string",
                    "node": {
                        "val": "`foo`",
                        "delim": null
                    },
                    "attr": {
                        "size": 1,
                        "nodes": [
                            {
                                "type": "match_str",
                                "val": "foo"
                            }
                        ]
                    },
                    "parent": 5,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": 2,
            "object": null
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '["/foo/"]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 8,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 5,
                    "type": "string",
                    "node": {
                        "val": "/foo/",
                        "delim": null
                    },
                    "attr": {
                        "size": 1,
                        "nodes": [
                            {
                                "type": "match_rex",
                                "val": 0
                            }
                        ]
                    },
                    "parent": 8,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": 5,
            "object": null
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '["'\''foo'\''"]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 8,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 5,
                    "type": "string",
                    "node": {
                        "val": "'foo'",
                        "delim": null
                    },
                    "attr": {
                        "size": 1,
                        "nodes": [
                            {
                                "type": "match_rex",
                                "val": 0
                            }
                        ]
                    },
                    "parent": 8,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": 5,
            "object": null
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{}]'
json: error: <text>:1:2: filter library: meta error: empty objects are not allowed
json: error: <text>:1:2: [{}]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[{}]'
$ json-litex -d '[[]]'
json: error: <text>:1:2: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:2: [[]]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[[]]'
$

--[ basic5 ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="[{\"bar\":$v}]"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '[{"bar":null}]'
json: error: <text>:1:9: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:9: [{"bar":null}]
json: error: <text>:1:9:         ^
command failed: json-litex -d '[{"bar":null}]'
$ json-litex -d '[{"bar":false}]'
json: error: <text>:1:9: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:9: [{"bar":false}]
json: error: <text>:1:9:         ^
command failed: json-litex -d '[{"bar":false}]'
$ json-litex -d '[{"bar":true}]'
json: error: <text>:1:9: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:9: [{"bar":true}]
json: error: <text>:1:9:         ^
command failed: json-litex -d '[{"bar":true}]'
$ json-litex -d '[{"bar":123}]'
json: error: <text>:1:9: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:9: [{"bar":123}]
json: error: <text>:1:9:         ^
command failed: json-litex -d '[{"bar":123}]'
$ json-litex -d '[{"bar":""}]'
json: error: <text>:1:9: filter library: attribute error: invalid string: is empty
json: error: <text>:1:9: [{"bar":""}]
json: error: <text>:1:9:         ^
command failed: json-litex -d '[{"bar":""}]'
$ json-litex -d '[{"bar":"``"}]'
json: error: <text>:1:10: filter library: expression error: empty string
json: error: <text>:1:10: [{"bar":"``"}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":"``"}]'
$ json-litex -d '[{"bar":"//"}]'
json: error: <text>:1:10: filter library: expression error: empty regex
json: error: <text>:1:10: [{"bar":"//"}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":"//"}]'
$ json-litex -d '[{"bar":"'\'''\''"}]'
json: error: <text>:1:10: filter library: expression error: empty regex
json: error: <text>:1:10: [{"bar":"''"}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":"'\'''\''"}]'
$ json-litex -d '[{"bar":"foo"}]'
json: error: <text>:1:10: filter library: expression error: unknown builtin
json: error: <text>:1:10: [{"bar":"foo"}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":"foo"}]'
$ json-litex -d '[{"bar":"`foo`"}]'
{
    "rexes": null,
    "node": {
        "id": 9,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 6,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "bar",
                                    "delim": null
                                },
                                "val": {
                                    "id": 2,
                                    "type": "string",
                                    "node": {
                                        "val": "`foo`",
                                        "delim": null
                                    },
                                    "attr": {
                                        "size": 1,
                                        "nodes": [
                                            {
                                                "type": "match_str",
                                                "val": "foo"
                                            }
                                        ]
                                    },
                                    "parent": 6,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "r",
                                    "lo": null,
                                    "eq": {
                                        "val": "`foo`",
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 9,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 6
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"bar":"/foo/"}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 12,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 9,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "bar",
                                    "delim": null
                                },
                                "val": {
                                    "id": 5,
                                    "type": "string",
                                    "node": {
                                        "val": "/foo/",
                                        "delim": null
                                    },
                                    "attr": {
                                        "size": 1,
                                        "nodes": [
                                            {
                                                "type": "match_rex",
                                                "val": 0
                                            }
                                        ]
                                    },
                                    "parent": 9,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "r",
                                    "lo": null,
                                    "eq": {
                                        "val": "/foo/",
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 12,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 9
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"bar":"'\''foo'\''"}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 12,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 9,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "bar",
                                    "delim": null
                                },
                                "val": {
                                    "id": 5,
                                    "type": "string",
                                    "node": {
                                        "val": "'foo'",
                                        "delim": null
                                    },
                                    "attr": {
                                        "size": 1,
                                        "nodes": [
                                            {
                                                "type": "match_rex",
                                                "val": 0
                                            }
                                        ]
                                    },
                                    "parent": 9,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "r",
                                    "lo": null,
                                    "eq": {
                                        "val": "'foo'",
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 12,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 9
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"bar":{}}]'
json: error: <text>:1:9: filter library: meta error: empty objects are not allowed
json: error: <text>:1:9: [{"bar":{}}]
json: error: <text>:1:9:         ^
command failed: json-litex -d '[{"bar":{}}]'
$ json-litex -d '[{"bar":[]}]'
json: error: <text>:1:9: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:9: [{"bar":[]}]
json: error: <text>:1:9:         ^
command failed: json-litex -d '[{"bar":[]}]'
$

--[ basic6 ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="[{\"bar\":[$v]}]"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '[{"bar":[null]}]'
json: error: <text>:1:10: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:10: [{"bar":[null]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":[null]}]'
$ json-litex -d '[{"bar":[false]}]'
json: error: <text>:1:10: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:10: [{"bar":[false]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":[false]}]'
$ json-litex -d '[{"bar":[true]}]'
json: error: <text>:1:10: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:10: [{"bar":[true]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":[true]}]'
$ json-litex -d '[{"bar":[123]}]'
json: error: <text>:1:10: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:10: [{"bar":[123]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":[123]}]'
$ json-litex -d '[{"bar":[""]}]'
json: error: <text>:1:10: filter library: attribute error: invalid string: is empty
json: error: <text>:1:10: [{"bar":[""]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":[""]}]'
$ json-litex -d '[{"bar":["``"]}]'
json: error: <text>:1:11: filter library: expression error: empty string
json: error: <text>:1:11: [{"bar":["``"]}]
json: error: <text>:1:11:           ^
command failed: json-litex -d '[{"bar":["``"]}]'
$ json-litex -d '[{"bar":["//"]}]'
json: error: <text>:1:11: filter library: expression error: empty regex
json: error: <text>:1:11: [{"bar":["//"]}]
json: error: <text>:1:11:           ^
command failed: json-litex -d '[{"bar":["//"]}]'
$ json-litex -d '[{"bar":["'\'''\''"]}]'
json: error: <text>:1:11: filter library: expression error: empty regex
json: error: <text>:1:11: [{"bar":["''"]}]
json: error: <text>:1:11:           ^
command failed: json-litex -d '[{"bar":["'\'''\''"]}]'
$ json-litex -d '[{"bar":["foo"]}]'
json: error: <text>:1:11: filter library: expression error: unknown builtin
json: error: <text>:1:11: [{"bar":["foo"]}]
json: error: <text>:1:11:           ^
command failed: json-litex -d '[{"bar":["foo"]}]'
$ json-litex -d '[{"bar":["`foo`"]}]'
{
    "rexes": null,
    "node": {
        "id": 12,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 9,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "bar",
                                    "delim": null
                                },
                                "val": {
                                    "id": 5,
                                    "type": "array",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "id": 2,
                                                "type": "string",
                                                "node": {
                                                    "val": "`foo`",
                                                    "delim": null
                                                },
                                                "attr": {
                                                    "size": 1,
                                                    "nodes": [
                                                        {
                                                            "type": "match_str",
                                                            "val": "foo"
                                                        }
                                                    ]
                                                },
                                                "parent": 5,
                                                "path": null
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "string": 2,
                                        "object": null
                                    },
                                    "parent": 9,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "r",
                                    "lo": null,
                                    "eq": {
                                        "val": [
                                            "`foo`"
                                        ],
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 12,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 9
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"bar":["/foo/"]}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 15,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 12,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "bar",
                                    "delim": null
                                },
                                "val": {
                                    "id": 8,
                                    "type": "array",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "id": 5,
                                                "type": "string",
                                                "node": {
                                                    "val": "/foo/",
                                                    "delim": null
                                                },
                                                "attr": {
                                                    "size": 1,
                                                    "nodes": [
                                                        {
                                                            "type": "match_rex",
                                                            "val": 0
                                                        }
                                                    ]
                                                },
                                                "parent": 8,
                                                "path": null
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "string": 5,
                                        "object": null
                                    },
                                    "parent": 12,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "r",
                                    "lo": null,
                                    "eq": {
                                        "val": [
                                            "/foo/"
                                        ],
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 15,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 12
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"bar":["'\''foo'\''"]}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 15,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 12,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "bar",
                                    "delim": null
                                },
                                "val": {
                                    "id": 8,
                                    "type": "array",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "id": 5,
                                                "type": "string",
                                                "node": {
                                                    "val": "'foo'",
                                                    "delim": null
                                                },
                                                "attr": {
                                                    "size": 1,
                                                    "nodes": [
                                                        {
                                                            "type": "match_rex",
                                                            "val": 0
                                                        }
                                                    ]
                                                },
                                                "parent": 8,
                                                "path": null
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "string": 5,
                                        "object": null
                                    },
                                    "parent": 12,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "r",
                                    "lo": null,
                                    "eq": {
                                        "val": [
                                            "'foo'"
                                        ],
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 15,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 12
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"bar":[{}]}]'
json: error: <text>:1:10: filter library: meta error: empty objects are not allowed
json: error: <text>:1:10: [{"bar":[{}]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":[{}]}]'
$ json-litex -d '[{"bar":[[]]}]'
json: error: <text>:1:10: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:10: [{"bar":[[]]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":[[]]}]'
$

--[ basic7 ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="{\"baz\":{\"bar\":$v}}"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '{"baz":{"bar":null}}'
json: error: <text>:1:15: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:15: {"baz":{"bar":null}}
json: error: <text>:1:15:               ^
command failed: json-litex -d '{"baz":{"bar":null}}'
$ json-litex -d '{"baz":{"bar":false}}'
json: error: <text>:1:15: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:15: {"baz":{"bar":false}}
json: error: <text>:1:15:               ^
command failed: json-litex -d '{"baz":{"bar":false}}'
$ json-litex -d '{"baz":{"bar":true}}'
json: error: <text>:1:15: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:15: {"baz":{"bar":true}}
json: error: <text>:1:15:               ^
command failed: json-litex -d '{"baz":{"bar":true}}'
$ json-litex -d '{"baz":{"bar":123}}'
json: error: <text>:1:15: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:15: {"baz":{"bar":123}}
json: error: <text>:1:15:               ^
command failed: json-litex -d '{"baz":{"bar":123}}'
$ json-litex -d '{"baz":{"bar":""}}'
json: error: <text>:1:15: filter library: attribute error: invalid string: is empty
json: error: <text>:1:15: {"baz":{"bar":""}}
json: error: <text>:1:15:               ^
command failed: json-litex -d '{"baz":{"bar":""}}'
$ json-litex -d '{"baz":{"bar":"``"}}'
json: error: <text>:1:16: filter library: expression error: empty string
json: error: <text>:1:16: {"baz":{"bar":"``"}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":"``"}}'
$ json-litex -d '{"baz":{"bar":"//"}}'
json: error: <text>:1:16: filter library: expression error: empty regex
json: error: <text>:1:16: {"baz":{"bar":"//"}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":"//"}}'
$ json-litex -d '{"baz":{"bar":"'\'''\''"}}'
json: error: <text>:1:16: filter library: expression error: empty regex
json: error: <text>:1:16: {"baz":{"bar":"''"}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":"'\'''\''"}}'
$ json-litex -d '{"baz":{"bar":"foo"}}'
json: error: <text>:1:16: filter library: expression error: unknown builtin
json: error: <text>:1:16: {"baz":{"bar":"foo"}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":"foo"}}'
$ json-litex -d '{"baz":{"bar":"`foo`"}}'
{
    "rexes": null,
    "node": {
        "id": 10,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "baz",
                        "delim": null
                    },
                    "val": {
                        "id": 6,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "bar",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 2,
                                        "type": "string",
                                        "node": {
                                            "val": "`foo`",
                                            "delim": null
                                        },
                                        "attr": {
                                            "size": 1,
                                            "nodes": [
                                                {
                                                    "type": "match_str",
                                                    "val": "foo"
                                                }
                                            ]
                                        },
                                        "parent": 6,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": {
                                "sym": "b",
                                "lo": null,
                                "eq": {
                                    "sym": "a",
                                    "lo": null,
                                    "eq": {
                                        "sym": "r",
                                        "lo": null,
                                        "eq": {
                                            "val": "`foo`",
                                            "lo": null,
                                            "hi": null
                                        },
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            }
                        },
                        "parent": 10,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "z",
                        "lo": null,
                        "eq": {
                            "val": {
                                "bar": "`foo`"
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"baz":{"bar":"/foo/"}}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 13,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "baz",
                        "delim": null
                    },
                    "val": {
                        "id": 9,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "bar",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 5,
                                        "type": "string",
                                        "node": {
                                            "val": "/foo/",
                                            "delim": null
                                        },
                                        "attr": {
                                            "size": 1,
                                            "nodes": [
                                                {
                                                    "type": "match_rex",
                                                    "val": 0
                                                }
                                            ]
                                        },
                                        "parent": 9,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": {
                                "sym": "b",
                                "lo": null,
                                "eq": {
                                    "sym": "a",
                                    "lo": null,
                                    "eq": {
                                        "sym": "r",
                                        "lo": null,
                                        "eq": {
                                            "val": "/foo/",
                                            "lo": null,
                                            "hi": null
                                        },
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            }
                        },
                        "parent": 13,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "z",
                        "lo": null,
                        "eq": {
                            "val": {
                                "bar": "/foo/"
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"baz":{"bar":"'\''foo'\''"}}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 13,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "baz",
                        "delim": null
                    },
                    "val": {
                        "id": 9,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "bar",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 5,
                                        "type": "string",
                                        "node": {
                                            "val": "'foo'",
                                            "delim": null
                                        },
                                        "attr": {
                                            "size": 1,
                                            "nodes": [
                                                {
                                                    "type": "match_rex",
                                                    "val": 0
                                                }
                                            ]
                                        },
                                        "parent": 9,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": {
                                "sym": "b",
                                "lo": null,
                                "eq": {
                                    "sym": "a",
                                    "lo": null,
                                    "eq": {
                                        "sym": "r",
                                        "lo": null,
                                        "eq": {
                                            "val": "'foo'",
                                            "lo": null,
                                            "hi": null
                                        },
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            }
                        },
                        "parent": 13,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "z",
                        "lo": null,
                        "eq": {
                            "val": {
                                "bar": "'foo'"
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"baz":{"bar":{}}}'
json: error: <text>:1:15: filter library: meta error: empty objects are not allowed
json: error: <text>:1:15: {"baz":{"bar":{}}}
json: error: <text>:1:15:               ^
command failed: json-litex -d '{"baz":{"bar":{}}}'
$ json-litex -d '{"baz":{"bar":[]}}'
json: error: <text>:1:15: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:15: {"baz":{"bar":[]}}
json: error: <text>:1:15:               ^
command failed: json-litex -d '{"baz":{"bar":[]}}'
$

--[ basic8 ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="{\"baz\":{\"bar\":[$v]}}"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '{"baz":{"bar":[null]}}'
json: error: <text>:1:16: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:16: {"baz":{"bar":[null]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[null]}}'
$ json-litex -d '{"baz":{"bar":[false]}}'
json: error: <text>:1:16: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:16: {"baz":{"bar":[false]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[false]}}'
$ json-litex -d '{"baz":{"bar":[true]}}'
json: error: <text>:1:16: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:16: {"baz":{"bar":[true]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[true]}}'
$ json-litex -d '{"baz":{"bar":[123]}}'
json: error: <text>:1:16: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:16: {"baz":{"bar":[123]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[123]}}'
$ json-litex -d '{"baz":{"bar":[""]}}'
json: error: <text>:1:16: filter library: attribute error: invalid string: is empty
json: error: <text>:1:16: {"baz":{"bar":[""]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[""]}}'
$ json-litex -d '{"baz":{"bar":["``"]}}'
json: error: <text>:1:17: filter library: expression error: empty string
json: error: <text>:1:17: {"baz":{"bar":["``"]}}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":{"bar":["``"]}}'
$ json-litex -d '{"baz":{"bar":["//"]}}'
json: error: <text>:1:17: filter library: expression error: empty regex
json: error: <text>:1:17: {"baz":{"bar":["//"]}}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":{"bar":["//"]}}'
$ json-litex -d '{"baz":{"bar":["'\'''\''"]}}'
json: error: <text>:1:17: filter library: expression error: empty regex
json: error: <text>:1:17: {"baz":{"bar":["''"]}}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":{"bar":["'\'''\''"]}}'
$ json-litex -d '{"baz":{"bar":["foo"]}}'
json: error: <text>:1:17: filter library: expression error: unknown builtin
json: error: <text>:1:17: {"baz":{"bar":["foo"]}}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":{"bar":["foo"]}}'
$ json-litex -d '{"baz":{"bar":["`foo`"]}}'
{
    "rexes": null,
    "node": {
        "id": 13,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "baz",
                        "delim": null
                    },
                    "val": {
                        "id": 9,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "bar",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 5,
                                        "type": "array",
                                        "node": {
                                            "size": 1,
                                            "args": [
                                                {
                                                    "id": 2,
                                                    "type": "string",
                                                    "node": {
                                                        "val": "`foo`",
                                                        "delim": null
                                                    },
                                                    "attr": {
                                                        "size": 1,
                                                        "nodes": [
                                                            {
                                                                "type": "match_str",
                                                                "val": "foo"
                                                            }
                                                        ]
                                                    },
                                                    "parent": 5,
                                                    "path": null
                                                }
                                            ]
                                        },
                                        "attr": {
                                            "string": 2,
                                            "object": null
                                        },
                                        "parent": 9,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": {
                                "sym": "b",
                                "lo": null,
                                "eq": {
                                    "sym": "a",
                                    "lo": null,
                                    "eq": {
                                        "sym": "r",
                                        "lo": null,
                                        "eq": {
                                            "val": [
                                                "`foo`"
                                            ],
                                            "lo": null,
                                            "hi": null
                                        },
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            }
                        },
                        "parent": 13,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "z",
                        "lo": null,
                        "eq": {
                            "val": {
                                "bar": [
                                    "`foo`"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"baz":{"bar":["/foo/"]}}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 16,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "baz",
                        "delim": null
                    },
                    "val": {
                        "id": 12,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "bar",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 8,
                                        "type": "array",
                                        "node": {
                                            "size": 1,
                                            "args": [
                                                {
                                                    "id": 5,
                                                    "type": "string",
                                                    "node": {
                                                        "val": "/foo/",
                                                        "delim": null
                                                    },
                                                    "attr": {
                                                        "size": 1,
                                                        "nodes": [
                                                            {
                                                                "type": "match_rex",
                                                                "val": 0
                                                            }
                                                        ]
                                                    },
                                                    "parent": 8,
                                                    "path": null
                                                }
                                            ]
                                        },
                                        "attr": {
                                            "string": 5,
                                            "object": null
                                        },
                                        "parent": 12,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": {
                                "sym": "b",
                                "lo": null,
                                "eq": {
                                    "sym": "a",
                                    "lo": null,
                                    "eq": {
                                        "sym": "r",
                                        "lo": null,
                                        "eq": {
                                            "val": [
                                                "/foo/"
                                            ],
                                            "lo": null,
                                            "hi": null
                                        },
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            }
                        },
                        "parent": 16,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "z",
                        "lo": null,
                        "eq": {
                            "val": {
                                "bar": [
                                    "/foo/"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"baz":{"bar":["'\''foo'\''"]}}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 16,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "baz",
                        "delim": null
                    },
                    "val": {
                        "id": 12,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "bar",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 8,
                                        "type": "array",
                                        "node": {
                                            "size": 1,
                                            "args": [
                                                {
                                                    "id": 5,
                                                    "type": "string",
                                                    "node": {
                                                        "val": "'foo'",
                                                        "delim": null
                                                    },
                                                    "attr": {
                                                        "size": 1,
                                                        "nodes": [
                                                            {
                                                                "type": "match_rex",
                                                                "val": 0
                                                            }
                                                        ]
                                                    },
                                                    "parent": 8,
                                                    "path": null
                                                }
                                            ]
                                        },
                                        "attr": {
                                            "string": 5,
                                            "object": null
                                        },
                                        "parent": 12,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": {
                                "sym": "b",
                                "lo": null,
                                "eq": {
                                    "sym": "a",
                                    "lo": null,
                                    "eq": {
                                        "sym": "r",
                                        "lo": null,
                                        "eq": {
                                            "val": [
                                                "'foo'"
                                            ],
                                            "lo": null,
                                            "hi": null
                                        },
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            }
                        },
                        "parent": 16,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "z",
                        "lo": null,
                        "eq": {
                            "val": {
                                "bar": [
                                    "'foo'"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"baz":{"bar":[{}]}}'
json: error: <text>:1:16: filter library: meta error: empty objects are not allowed
json: error: <text>:1:16: {"baz":{"bar":[{}]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[{}]}}'
$ json-litex -d '{"baz":{"bar":[[]]}}'
json: error: <text>:1:16: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:16: {"baz":{"bar":[[]]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[[]]}}'
$

--[ basic9 ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="{\"baz\":[{\"bar\":$v}]}"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '{"baz":[{"bar":null}}]'
json: error: <text>:1:21: filter library: parse error: unexpected token
json: error: <text>:1:21: {"baz":[{"bar":null}}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"baz":[{"bar":null}}]'
$ json-litex -d '{"baz":[{"bar":false}}]'
json: error: <text>:1:22: filter library: parse error: unexpected token
json: error: <text>:1:22: {"baz":[{"bar":false}}]
json: error: <text>:1:22:                      ^
command failed: json-litex -d '{"baz":[{"bar":false}}]'
$ json-litex -d '{"baz":[{"bar":true}}]'
json: error: <text>:1:21: filter library: parse error: unexpected token
json: error: <text>:1:21: {"baz":[{"bar":true}}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"baz":[{"bar":true}}]'
$ json-litex -d '{"baz":[{"bar":123}}]'
json: error: <text>:1:20: filter library: parse error: unexpected token
json: error: <text>:1:20: {"baz":[{"bar":123}}]
json: error: <text>:1:20:                    ^
command failed: json-litex -d '{"baz":[{"bar":123}}]'
$ json-litex -d '{"baz":[{"bar":""}}]'
json: error: <text>:1:19: filter library: parse error: unexpected token
json: error: <text>:1:19: {"baz":[{"bar":""}}]
json: error: <text>:1:19:                   ^
command failed: json-litex -d '{"baz":[{"bar":""}}]'
$ json-litex -d '{"baz":[{"bar":"``"}}]'
json: error: <text>:1:21: filter library: parse error: unexpected token
json: error: <text>:1:21: {"baz":[{"bar":"``"}}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"baz":[{"bar":"``"}}]'
$ json-litex -d '{"baz":[{"bar":"//"}}]'
json: error: <text>:1:21: filter library: parse error: unexpected token
json: error: <text>:1:21: {"baz":[{"bar":"//"}}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"baz":[{"bar":"//"}}]'
$ json-litex -d '{"baz":[{"bar":"'\'''\''"}}]'
json: error: <text>:1:21: filter library: parse error: unexpected token
json: error: <text>:1:21: {"baz":[{"bar":"''"}}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"baz":[{"bar":"'\'''\''"}}]'
$ json-litex -d '{"baz":[{"bar":"foo"}}]'
json: error: <text>:1:22: filter library: parse error: unexpected token
json: error: <text>:1:22: {"baz":[{"bar":"foo"}}]
json: error: <text>:1:22:                      ^
command failed: json-litex -d '{"baz":[{"bar":"foo"}}]'
$ json-litex -d '{"baz":[{"bar":"`foo`"}}]'
json: error: <text>:1:24: filter library: parse error: unexpected token
json: error: <text>:1:24: {"baz":[{"bar":"`foo`"}}]
json: error: <text>:1:24:                        ^
command failed: json-litex -d '{"baz":[{"bar":"`foo`"}}]'
$ json-litex -d '{"baz":[{"bar":"/foo/"}}]'
json: error: <text>:1:24: filter library: parse error: unexpected token
json: error: <text>:1:24: {"baz":[{"bar":"/foo/"}}]
json: error: <text>:1:24:                        ^
command failed: json-litex -d '{"baz":[{"bar":"/foo/"}}]'
$ json-litex -d '{"baz":[{"bar":"'\''foo'\''"}}]'
json: error: <text>:1:24: filter library: parse error: unexpected token
json: error: <text>:1:24: {"baz":[{"bar":"'foo'"}}]
json: error: <text>:1:24:                        ^
command failed: json-litex -d '{"baz":[{"bar":"'\''foo'\''"}}]'
$ json-litex -d '{"baz":[{"bar":{}}}]'
json: error: <text>:1:19: filter library: parse error: unexpected token
json: error: <text>:1:19: {"baz":[{"bar":{}}}]
json: error: <text>:1:19:                   ^
command failed: json-litex -d '{"baz":[{"bar":{}}}]'
$ json-litex -d '{"baz":[{"bar":[]}}]'
json: error: <text>:1:19: filter library: parse error: unexpected token
json: error: <text>:1:19: {"baz":[{"bar":[]}}]
json: error: <text>:1:19:                   ^
command failed: json-litex -d '{"baz":[{"bar":[]}}]'
$

--[ basic10 ]-------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="{\"baz\":[{\"bar\":[$v]}]}"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '{"baz":[{"bar":[null]}]}'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: {"baz":[{"bar":[null]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"bar":[null]}]}'
$ json-litex -d '{"baz":[{"bar":[false]}]}'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: {"baz":[{"bar":[false]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"bar":[false]}]}'
$ json-litex -d '{"baz":[{"bar":[true]}]}'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: {"baz":[{"bar":[true]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"bar":[true]}]}'
$ json-litex -d '{"baz":[{"bar":[123]}]}'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: {"baz":[{"bar":[123]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"bar":[123]}]}'
$ json-litex -d '{"baz":[{"bar":[""]}]}'
json: error: <text>:1:17: filter library: attribute error: invalid string: is empty
json: error: <text>:1:17: {"baz":[{"bar":[""]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"bar":[""]}]}'
$ json-litex -d '{"baz":[{"bar":["``"]}]}'
json: error: <text>:1:18: filter library: expression error: empty string
json: error: <text>:1:18: {"baz":[{"bar":["``"]}]}
json: error: <text>:1:18:                  ^
command failed: json-litex -d '{"baz":[{"bar":["``"]}]}'
$ json-litex -d '{"baz":[{"bar":["//"]}]}'
json: error: <text>:1:18: filter library: expression error: empty regex
json: error: <text>:1:18: {"baz":[{"bar":["//"]}]}
json: error: <text>:1:18:                  ^
command failed: json-litex -d '{"baz":[{"bar":["//"]}]}'
$ json-litex -d '{"baz":[{"bar":["'\'''\''"]}]}'
json: error: <text>:1:18: filter library: expression error: empty regex
json: error: <text>:1:18: {"baz":[{"bar":["''"]}]}
json: error: <text>:1:18:                  ^
command failed: json-litex -d '{"baz":[{"bar":["'\'''\''"]}]}'
$ json-litex -d '{"baz":[{"bar":["foo"]}]}'
json: error: <text>:1:18: filter library: expression error: unknown builtin
json: error: <text>:1:18: {"baz":[{"bar":["foo"]}]}
json: error: <text>:1:18:                  ^
command failed: json-litex -d '{"baz":[{"bar":["foo"]}]}'
$ json-litex -d '{"baz":[{"bar":["`foo`"]}]}'
{
    "rexes": null,
    "node": {
        "id": 16,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "baz",
                        "delim": null
                    },
                    "val": {
                        "id": 12,
                        "type": "array",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "id": 9,
                                    "type": "object",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "key": {
                                                    "val": "bar",
                                                    "delim": null
                                                },
                                                "val": {
                                                    "id": 5,
                                                    "type": "array",
                                                    "node": {
                                                        "size": 1,
                                                        "args": [
                                                            {
                                                                "id": 2,
                                                                "type": "string",
                                                                "node": {
                                                                    "val": "`foo`",
                                                                    "delim": null
                                                                },
                                                                "attr": {
                                                                    "size": 1,
                                                                    "nodes": [
                                                                        {
                                                                            "type": "match_str",
                                                                            "val": "foo"
                                                                        }
                                                                    ]
                                                                },
                                                                "parent": 5,
                                                                "path": null
                                                            }
                                                        ]
                                                    },
                                                    "attr": {
                                                        "string": 2,
                                                        "object": null
                                                    },
                                                    "parent": 9,
                                                    "path": 0
                                                }
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "lookup": "0x...",
                                        "root": {
                                            "sym": "b",
                                            "lo": null,
                                            "eq": {
                                                "sym": "a",
                                                "lo": null,
                                                "eq": {
                                                    "sym": "r",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": [
                                                            "`foo`"
                                                        ],
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    },
                                    "parent": 12,
                                    "path": null
                                }
                            ]
                        },
                        "attr": {
                            "string": null,
                            "object": 9
                        },
                        "parent": 16,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "z",
                        "lo": null,
                        "eq": {
                            "val": [
                                {
                                    "bar": [
                                        "`foo`"
                                    ]
                                }
                            ],
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"baz":[{"bar":["/foo/"]}]}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 19,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "baz",
                        "delim": null
                    },
                    "val": {
                        "id": 15,
                        "type": "array",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "id": 12,
                                    "type": "object",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "key": {
                                                    "val": "bar",
                                                    "delim": null
                                                },
                                                "val": {
                                                    "id": 8,
                                                    "type": "array",
                                                    "node": {
                                                        "size": 1,
                                                        "args": [
                                                            {
                                                                "id": 5,
                                                                "type": "string",
                                                                "node": {
                                                                    "val": "/foo/",
                                                                    "delim": null
                                                                },
                                                                "attr": {
                                                                    "size": 1,
                                                                    "nodes": [
                                                                        {
                                                                            "type": "match_rex",
                                                                            "val": 0
                                                                        }
                                                                    ]
                                                                },
                                                                "parent": 8,
                                                                "path": null
                                                            }
                                                        ]
                                                    },
                                                    "attr": {
                                                        "string": 5,
                                                        "object": null
                                                    },
                                                    "parent": 12,
                                                    "path": 0
                                                }
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "lookup": "0x...",
                                        "root": {
                                            "sym": "b",
                                            "lo": null,
                                            "eq": {
                                                "sym": "a",
                                                "lo": null,
                                                "eq": {
                                                    "sym": "r",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": [
                                                            "/foo/"
                                                        ],
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    },
                                    "parent": 15,
                                    "path": null
                                }
                            ]
                        },
                        "attr": {
                            "string": null,
                            "object": 12
                        },
                        "parent": 19,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "z",
                        "lo": null,
                        "eq": {
                            "val": [
                                {
                                    "bar": [
                                        "/foo/"
                                    ]
                                }
                            ],
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"baz":[{"bar":["'\''foo'\''"]}]}'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 19,
        "type": "object",
        "node": {
            "size": 1,
            "args": [
                {
                    "key": {
                        "val": "baz",
                        "delim": null
                    },
                    "val": {
                        "id": 15,
                        "type": "array",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "id": 12,
                                    "type": "object",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "key": {
                                                    "val": "bar",
                                                    "delim": null
                                                },
                                                "val": {
                                                    "id": 8,
                                                    "type": "array",
                                                    "node": {
                                                        "size": 1,
                                                        "args": [
                                                            {
                                                                "id": 5,
                                                                "type": "string",
                                                                "node": {
                                                                    "val": "'foo'",
                                                                    "delim": null
                                                                },
                                                                "attr": {
                                                                    "size": 1,
                                                                    "nodes": [
                                                                        {
                                                                            "type": "match_rex",
                                                                            "val": 0
                                                                        }
                                                                    ]
                                                                },
                                                                "parent": 8,
                                                                "path": null
                                                            }
                                                        ]
                                                    },
                                                    "attr": {
                                                        "string": 5,
                                                        "object": null
                                                    },
                                                    "parent": 12,
                                                    "path": 0
                                                }
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "lookup": "0x...",
                                        "root": {
                                            "sym": "b",
                                            "lo": null,
                                            "eq": {
                                                "sym": "a",
                                                "lo": null,
                                                "eq": {
                                                    "sym": "r",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": [
                                                            "'foo'"
                                                        ],
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    },
                                    "parent": 15,
                                    "path": null
                                }
                            ]
                        },
                        "attr": {
                            "string": null,
                            "object": 12
                        },
                        "parent": 19,
                        "path": 0
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "sym": "a",
                    "lo": null,
                    "eq": {
                        "sym": "z",
                        "lo": null,
                        "eq": {
                            "val": [
                                {
                                    "bar": [
                                        "'foo'"
                                    ]
                                }
                            ],
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '{"baz":[{"bar":[{}]}]}'
json: error: <text>:1:17: filter library: meta error: empty objects are not allowed
json: error: <text>:1:17: {"baz":[{"bar":[{}]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"bar":[{}]}]}'
$ json-litex -d '{"baz":[{"bar":[[]]}]}'
json: error: <text>:1:17: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:17: {"baz":[{"bar":[[]]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"bar":[[]]}]}'
$

--[ basic11 ]-------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="[{\"baz\":{\"bar\":$v}}]"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '[{"baz":{"bar":null}}]'
json: error: <text>:1:16: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:16: [{"baz":{"bar":null}}]
json: error: <text>:1:16:                ^
command failed: json-litex -d '[{"baz":{"bar":null}}]'
$ json-litex -d '[{"baz":{"bar":false}}]'
json: error: <text>:1:16: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:16: [{"baz":{"bar":false}}]
json: error: <text>:1:16:                ^
command failed: json-litex -d '[{"baz":{"bar":false}}]'
$ json-litex -d '[{"baz":{"bar":true}}]'
json: error: <text>:1:16: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:16: [{"baz":{"bar":true}}]
json: error: <text>:1:16:                ^
command failed: json-litex -d '[{"baz":{"bar":true}}]'
$ json-litex -d '[{"baz":{"bar":123}}]'
json: error: <text>:1:16: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:16: [{"baz":{"bar":123}}]
json: error: <text>:1:16:                ^
command failed: json-litex -d '[{"baz":{"bar":123}}]'
$ json-litex -d '[{"baz":{"bar":""}}]'
json: error: <text>:1:16: filter library: attribute error: invalid string: is empty
json: error: <text>:1:16: [{"baz":{"bar":""}}]
json: error: <text>:1:16:                ^
command failed: json-litex -d '[{"baz":{"bar":""}}]'
$ json-litex -d '[{"baz":{"bar":"``"}}]'
json: error: <text>:1:17: filter library: expression error: empty string
json: error: <text>:1:17: [{"baz":{"bar":"``"}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":"``"}}]'
$ json-litex -d '[{"baz":{"bar":"//"}}]'
json: error: <text>:1:17: filter library: expression error: empty regex
json: error: <text>:1:17: [{"baz":{"bar":"//"}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":"//"}}]'
$ json-litex -d '[{"baz":{"bar":"'\'''\''"}}]'
json: error: <text>:1:17: filter library: expression error: empty regex
json: error: <text>:1:17: [{"baz":{"bar":"''"}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":"'\'''\''"}}]'
$ json-litex -d '[{"baz":{"bar":"foo"}}]'
json: error: <text>:1:17: filter library: expression error: unknown builtin
json: error: <text>:1:17: [{"baz":{"bar":"foo"}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":"foo"}}]'
$ json-litex -d '[{"baz":{"bar":"`foo`"}}]'
{
    "rexes": null,
    "node": {
        "id": 13,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 10,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 6,
                                    "type": "object",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "key": {
                                                    "val": "bar",
                                                    "delim": null
                                                },
                                                "val": {
                                                    "id": 2,
                                                    "type": "string",
                                                    "node": {
                                                        "val": "`foo`",
                                                        "delim": null
                                                    },
                                                    "attr": {
                                                        "size": 1,
                                                        "nodes": [
                                                            {
                                                                "type": "match_str",
                                                                "val": "foo"
                                                            }
                                                        ]
                                                    },
                                                    "parent": 6,
                                                    "path": 0
                                                }
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "lookup": "0x...",
                                        "root": {
                                            "sym": "b",
                                            "lo": null,
                                            "eq": {
                                                "sym": "a",
                                                "lo": null,
                                                "eq": {
                                                    "sym": "r",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": "`foo`",
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    },
                                    "parent": 10,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": {
                                            "bar": "`foo`"
                                        },
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 13,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 10
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":{"bar":"/foo/"}}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 16,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 13,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 9,
                                    "type": "object",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "key": {
                                                    "val": "bar",
                                                    "delim": null
                                                },
                                                "val": {
                                                    "id": 5,
                                                    "type": "string",
                                                    "node": {
                                                        "val": "/foo/",
                                                        "delim": null
                                                    },
                                                    "attr": {
                                                        "size": 1,
                                                        "nodes": [
                                                            {
                                                                "type": "match_rex",
                                                                "val": 0
                                                            }
                                                        ]
                                                    },
                                                    "parent": 9,
                                                    "path": 0
                                                }
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "lookup": "0x...",
                                        "root": {
                                            "sym": "b",
                                            "lo": null,
                                            "eq": {
                                                "sym": "a",
                                                "lo": null,
                                                "eq": {
                                                    "sym": "r",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": "/foo/",
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    },
                                    "parent": 13,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": {
                                            "bar": "/foo/"
                                        },
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 16,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 13
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":{"bar":"'\''foo'\''"}}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 16,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 13,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 9,
                                    "type": "object",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "key": {
                                                    "val": "bar",
                                                    "delim": null
                                                },
                                                "val": {
                                                    "id": 5,
                                                    "type": "string",
                                                    "node": {
                                                        "val": "'foo'",
                                                        "delim": null
                                                    },
                                                    "attr": {
                                                        "size": 1,
                                                        "nodes": [
                                                            {
                                                                "type": "match_rex",
                                                                "val": 0
                                                            }
                                                        ]
                                                    },
                                                    "parent": 9,
                                                    "path": 0
                                                }
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "lookup": "0x...",
                                        "root": {
                                            "sym": "b",
                                            "lo": null,
                                            "eq": {
                                                "sym": "a",
                                                "lo": null,
                                                "eq": {
                                                    "sym": "r",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": "'foo'",
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    },
                                    "parent": 13,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": {
                                            "bar": "'foo'"
                                        },
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 16,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 13
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":{"bar":{}}}]'
json: error: <text>:1:16: filter library: meta error: empty objects are not allowed
json: error: <text>:1:16: [{"baz":{"bar":{}}}]
json: error: <text>:1:16:                ^
command failed: json-litex -d '[{"baz":{"bar":{}}}]'
$ json-litex -d '[{"baz":{"bar":[]}}]'
json: error: <text>:1:16: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:16: [{"baz":{"bar":[]}}]
json: error: <text>:1:16:                ^
command failed: json-litex -d '[{"baz":{"bar":[]}}]'
$

--[ basic12 ]-------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="[{\"baz\":{\"bar\":[$v]}}]"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '[{"baz":{"bar":[null]}}]'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: [{"baz":{"bar":[null]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":[null]}}]'
$ json-litex -d '[{"baz":{"bar":[false]}}]'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: [{"baz":{"bar":[false]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":[false]}}]'
$ json-litex -d '[{"baz":{"bar":[true]}}]'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: [{"baz":{"bar":[true]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":[true]}}]'
$ json-litex -d '[{"baz":{"bar":[123]}}]'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: [{"baz":{"bar":[123]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":[123]}}]'
$ json-litex -d '[{"baz":{"bar":[""]}}]'
json: error: <text>:1:17: filter library: attribute error: invalid string: is empty
json: error: <text>:1:17: [{"baz":{"bar":[""]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":[""]}}]'
$ json-litex -d '[{"baz":{"bar":["``"]}}]'
json: error: <text>:1:18: filter library: expression error: empty string
json: error: <text>:1:18: [{"baz":{"bar":["``"]}}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":{"bar":["``"]}}]'
$ json-litex -d '[{"baz":{"bar":["//"]}}]'
json: error: <text>:1:18: filter library: expression error: empty regex
json: error: <text>:1:18: [{"baz":{"bar":["//"]}}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":{"bar":["//"]}}]'
$ json-litex -d '[{"baz":{"bar":["'\'''\''"]}}]'
json: error: <text>:1:18: filter library: expression error: empty regex
json: error: <text>:1:18: [{"baz":{"bar":["''"]}}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":{"bar":["'\'''\''"]}}]'
$ json-litex -d '[{"baz":{"bar":["foo"]}}]'
json: error: <text>:1:18: filter library: expression error: unknown builtin
json: error: <text>:1:18: [{"baz":{"bar":["foo"]}}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":{"bar":["foo"]}}]'
$ json-litex -d '[{"baz":{"bar":["`foo`"]}}]'
{
    "rexes": null,
    "node": {
        "id": 16,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 13,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 9,
                                    "type": "object",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "key": {
                                                    "val": "bar",
                                                    "delim": null
                                                },
                                                "val": {
                                                    "id": 5,
                                                    "type": "array",
                                                    "node": {
                                                        "size": 1,
                                                        "args": [
                                                            {
                                                                "id": 2,
                                                                "type": "string",
                                                                "node": {
                                                                    "val": "`foo`",
                                                                    "delim": null
                                                                },
                                                                "attr": {
                                                                    "size": 1,
                                                                    "nodes": [
                                                                        {
                                                                            "type": "match_str",
                                                                            "val": "foo"
                                                                        }
                                                                    ]
                                                                },
                                                                "parent": 5,
                                                                "path": null
                                                            }
                                                        ]
                                                    },
                                                    "attr": {
                                                        "string": 2,
                                                        "object": null
                                                    },
                                                    "parent": 9,
                                                    "path": 0
                                                }
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "lookup": "0x...",
                                        "root": {
                                            "sym": "b",
                                            "lo": null,
                                            "eq": {
                                                "sym": "a",
                                                "lo": null,
                                                "eq": {
                                                    "sym": "r",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": [
                                                            "`foo`"
                                                        ],
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    },
                                    "parent": 13,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": {
                                            "bar": [
                                                "`foo`"
                                            ]
                                        },
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 16,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 13
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":{"bar":["/foo/"]}}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 19,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 16,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 12,
                                    "type": "object",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "key": {
                                                    "val": "bar",
                                                    "delim": null
                                                },
                                                "val": {
                                                    "id": 8,
                                                    "type": "array",
                                                    "node": {
                                                        "size": 1,
                                                        "args": [
                                                            {
                                                                "id": 5,
                                                                "type": "string",
                                                                "node": {
                                                                    "val": "/foo/",
                                                                    "delim": null
                                                                },
                                                                "attr": {
                                                                    "size": 1,
                                                                    "nodes": [
                                                                        {
                                                                            "type": "match_rex",
                                                                            "val": 0
                                                                        }
                                                                    ]
                                                                },
                                                                "parent": 8,
                                                                "path": null
                                                            }
                                                        ]
                                                    },
                                                    "attr": {
                                                        "string": 5,
                                                        "object": null
                                                    },
                                                    "parent": 12,
                                                    "path": 0
                                                }
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "lookup": "0x...",
                                        "root": {
                                            "sym": "b",
                                            "lo": null,
                                            "eq": {
                                                "sym": "a",
                                                "lo": null,
                                                "eq": {
                                                    "sym": "r",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": [
                                                            "/foo/"
                                                        ],
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    },
                                    "parent": 16,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": {
                                            "bar": [
                                                "/foo/"
                                            ]
                                        },
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 19,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 16
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":{"bar":["'\''foo'\''"]}}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 19,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 16,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 12,
                                    "type": "object",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "key": {
                                                    "val": "bar",
                                                    "delim": null
                                                },
                                                "val": {
                                                    "id": 8,
                                                    "type": "array",
                                                    "node": {
                                                        "size": 1,
                                                        "args": [
                                                            {
                                                                "id": 5,
                                                                "type": "string",
                                                                "node": {
                                                                    "val": "'foo'",
                                                                    "delim": null
                                                                },
                                                                "attr": {
                                                                    "size": 1,
                                                                    "nodes": [
                                                                        {
                                                                            "type": "match_rex",
                                                                            "val": 0
                                                                        }
                                                                    ]
                                                                },
                                                                "parent": 8,
                                                                "path": null
                                                            }
                                                        ]
                                                    },
                                                    "attr": {
                                                        "string": 5,
                                                        "object": null
                                                    },
                                                    "parent": 12,
                                                    "path": 0
                                                }
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "lookup": "0x...",
                                        "root": {
                                            "sym": "b",
                                            "lo": null,
                                            "eq": {
                                                "sym": "a",
                                                "lo": null,
                                                "eq": {
                                                    "sym": "r",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": [
                                                            "'foo'"
                                                        ],
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    },
                                    "parent": 16,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": {
                                            "bar": [
                                                "'foo'"
                                            ]
                                        },
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 19,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 16
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":{"bar":[{}]}}]'
json: error: <text>:1:17: filter library: meta error: empty objects are not allowed
json: error: <text>:1:17: [{"baz":{"bar":[{}]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":[{}]}}]'
$ json-litex -d '[{"baz":{"bar":[[]]}}]'
json: error: <text>:1:17: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:17: [{"baz":{"bar":[[]]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":{"bar":[[]]}}]'
$

--[ basic13 ]-------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="[{\"baz\":[{\"bar\":$v}]}]"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '[{"baz":[{"bar":null}]}]'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: [{"baz":[{"bar":null}]}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":[{"bar":null}]}]'
$ json-litex -d '[{"baz":[{"bar":false}]}]'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: [{"baz":[{"bar":false}]}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":[{"bar":false}]}]'
$ json-litex -d '[{"baz":[{"bar":true}]}]'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: [{"baz":[{"bar":true}]}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":[{"bar":true}]}]'
$ json-litex -d '[{"baz":[{"bar":123}]}]'
json: error: <text>:1:17: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:17: [{"baz":[{"bar":123}]}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":[{"bar":123}]}]'
$ json-litex -d '[{"baz":[{"bar":""}]}]'
json: error: <text>:1:17: filter library: attribute error: invalid string: is empty
json: error: <text>:1:17: [{"baz":[{"bar":""}]}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":[{"bar":""}]}]'
$ json-litex -d '[{"baz":[{"bar":"``"}]}]'
json: error: <text>:1:18: filter library: expression error: empty string
json: error: <text>:1:18: [{"baz":[{"bar":"``"}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":"``"}]}]'
$ json-litex -d '[{"baz":[{"bar":"//"}]}]'
json: error: <text>:1:18: filter library: expression error: empty regex
json: error: <text>:1:18: [{"baz":[{"bar":"//"}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":"//"}]}]'
$ json-litex -d '[{"baz":[{"bar":"'\'''\''"}]}]'
json: error: <text>:1:18: filter library: expression error: empty regex
json: error: <text>:1:18: [{"baz":[{"bar":"''"}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":"'\'''\''"}]}]'
$ json-litex -d '[{"baz":[{"bar":"foo"}]}]'
json: error: <text>:1:18: filter library: expression error: unknown builtin
json: error: <text>:1:18: [{"baz":[{"bar":"foo"}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":"foo"}]}]'
$ json-litex -d '[{"baz":[{"bar":"`foo`"}]}]'
{
    "rexes": null,
    "node": {
        "id": 16,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 13,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 9,
                                    "type": "array",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "id": 6,
                                                "type": "object",
                                                "node": {
                                                    "size": 1,
                                                    "args": [
                                                        {
                                                            "key": {
                                                                "val": "bar",
                                                                "delim": null
                                                            },
                                                            "val": {
                                                                "id": 2,
                                                                "type": "string",
                                                                "node": {
                                                                    "val": "`foo`",
                                                                    "delim": null
                                                                },
                                                                "attr": {
                                                                    "size": 1,
                                                                    "nodes": [
                                                                        {
                                                                            "type": "match_str",
                                                                            "val": "foo"
                                                                        }
                                                                    ]
                                                                },
                                                                "parent": 6,
                                                                "path": 0
                                                            }
                                                        }
                                                    ]
                                                },
                                                "attr": {
                                                    "lookup": "0x...",
                                                    "root": {
                                                        "sym": "b",
                                                        "lo": null,
                                                        "eq": {
                                                            "sym": "a",
                                                            "lo": null,
                                                            "eq": {
                                                                "sym": "r",
                                                                "lo": null,
                                                                "eq": {
                                                                    "val": "`foo`",
                                                                    "lo": null,
                                                                    "hi": null
                                                                },
                                                                "hi": null
                                                            },
                                                            "hi": null
                                                        },
                                                        "hi": null
                                                    }
                                                },
                                                "parent": 9,
                                                "path": null
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "string": null,
                                        "object": 6
                                    },
                                    "parent": 13,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": [
                                            {
                                                "bar": "`foo`"
                                            }
                                        ],
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 16,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 13
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":[{"bar":"/foo/"}]}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 19,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 16,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 12,
                                    "type": "array",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "id": 9,
                                                "type": "object",
                                                "node": {
                                                    "size": 1,
                                                    "args": [
                                                        {
                                                            "key": {
                                                                "val": "bar",
                                                                "delim": null
                                                            },
                                                            "val": {
                                                                "id": 5,
                                                                "type": "string",
                                                                "node": {
                                                                    "val": "/foo/",
                                                                    "delim": null
                                                                },
                                                                "attr": {
                                                                    "size": 1,
                                                                    "nodes": [
                                                                        {
                                                                            "type": "match_rex",
                                                                            "val": 0
                                                                        }
                                                                    ]
                                                                },
                                                                "parent": 9,
                                                                "path": 0
                                                            }
                                                        }
                                                    ]
                                                },
                                                "attr": {
                                                    "lookup": "0x...",
                                                    "root": {
                                                        "sym": "b",
                                                        "lo": null,
                                                        "eq": {
                                                            "sym": "a",
                                                            "lo": null,
                                                            "eq": {
                                                                "sym": "r",
                                                                "lo": null,
                                                                "eq": {
                                                                    "val": "/foo/",
                                                                    "lo": null,
                                                                    "hi": null
                                                                },
                                                                "hi": null
                                                            },
                                                            "hi": null
                                                        },
                                                        "hi": null
                                                    }
                                                },
                                                "parent": 12,
                                                "path": null
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "string": null,
                                        "object": 9
                                    },
                                    "parent": 16,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": [
                                            {
                                                "bar": "/foo/"
                                            }
                                        ],
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 19,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 16
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":[{"bar":"'\''foo'\''"}]}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 19,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 16,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 12,
                                    "type": "array",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "id": 9,
                                                "type": "object",
                                                "node": {
                                                    "size": 1,
                                                    "args": [
                                                        {
                                                            "key": {
                                                                "val": "bar",
                                                                "delim": null
                                                            },
                                                            "val": {
                                                                "id": 5,
                                                                "type": "string",
                                                                "node": {
                                                                    "val": "'foo'",
                                                                    "delim": null
                                                                },
                                                                "attr": {
                                                                    "size": 1,
                                                                    "nodes": [
                                                                        {
                                                                            "type": "match_rex",
                                                                            "val": 0
                                                                        }
                                                                    ]
                                                                },
                                                                "parent": 9,
                                                                "path": 0
                                                            }
                                                        }
                                                    ]
                                                },
                                                "attr": {
                                                    "lookup": "0x...",
                                                    "root": {
                                                        "sym": "b",
                                                        "lo": null,
                                                        "eq": {
                                                            "sym": "a",
                                                            "lo": null,
                                                            "eq": {
                                                                "sym": "r",
                                                                "lo": null,
                                                                "eq": {
                                                                    "val": "'foo'",
                                                                    "lo": null,
                                                                    "hi": null
                                                                },
                                                                "hi": null
                                                            },
                                                            "hi": null
                                                        },
                                                        "hi": null
                                                    }
                                                },
                                                "parent": 12,
                                                "path": null
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "string": null,
                                        "object": 9
                                    },
                                    "parent": 16,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": [
                                            {
                                                "bar": "'foo'"
                                            }
                                        ],
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 19,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 16
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":[{"bar":{}}]}]'
json: error: <text>:1:17: filter library: meta error: empty objects are not allowed
json: error: <text>:1:17: [{"baz":[{"bar":{}}]}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":[{"bar":{}}]}]'
$ json-litex -d '[{"baz":[{"bar":[]}]}]'
json: error: <text>:1:17: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:17: [{"baz":[{"bar":[]}]}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"baz":[{"bar":[]}]}]'
$

--[ basic14 ]-------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '""' '"``"' '"//"' '"'\'\''"' '"foo"' '"`foo`"' '"/foo/"' '"'\'foo\''"' '{}' '[]'; do L="[{\"baz\":[{\"bar\":[$v]}]}]"; quote2 L; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json-litex -d '[{"baz":[{"bar":[null]}]}]'
json: error: <text>:1:18: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:18: [{"baz":[{"bar":[null]}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":[null]}]}]'
$ json-litex -d '[{"baz":[{"bar":[false]}]}]'
json: error: <text>:1:18: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:18: [{"baz":[{"bar":[false]}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":[false]}]}]'
$ json-litex -d '[{"baz":[{"bar":[true]}]}]'
json: error: <text>:1:18: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:18: [{"baz":[{"bar":[true]}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":[true]}]}]'
$ json-litex -d '[{"baz":[{"bar":[123]}]}]'
json: error: <text>:1:18: filter library: meta error: values must be either strings, objects or arrays
json: error: <text>:1:18: [{"baz":[{"bar":[123]}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":[123]}]}]'
$ json-litex -d '[{"baz":[{"bar":[""]}]}]'
json: error: <text>:1:18: filter library: attribute error: invalid string: is empty
json: error: <text>:1:18: [{"baz":[{"bar":[""]}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":[""]}]}]'
$ json-litex -d '[{"baz":[{"bar":["``"]}]}]'
json: error: <text>:1:19: filter library: expression error: empty string
json: error: <text>:1:19: [{"baz":[{"bar":["``"]}]}]
json: error: <text>:1:19:                   ^
command failed: json-litex -d '[{"baz":[{"bar":["``"]}]}]'
$ json-litex -d '[{"baz":[{"bar":["//"]}]}]'
json: error: <text>:1:19: filter library: expression error: empty regex
json: error: <text>:1:19: [{"baz":[{"bar":["//"]}]}]
json: error: <text>:1:19:                   ^
command failed: json-litex -d '[{"baz":[{"bar":["//"]}]}]'
$ json-litex -d '[{"baz":[{"bar":["'\'''\''"]}]}]'
json: error: <text>:1:19: filter library: expression error: empty regex
json: error: <text>:1:19: [{"baz":[{"bar":["''"]}]}]
json: error: <text>:1:19:                   ^
command failed: json-litex -d '[{"baz":[{"bar":["'\'''\''"]}]}]'
$ json-litex -d '[{"baz":[{"bar":["foo"]}]}]'
json: error: <text>:1:19: filter library: expression error: unknown builtin
json: error: <text>:1:19: [{"baz":[{"bar":["foo"]}]}]
json: error: <text>:1:19:                   ^
command failed: json-litex -d '[{"baz":[{"bar":["foo"]}]}]'
$ json-litex -d '[{"baz":[{"bar":["`foo`"]}]}]'
{
    "rexes": null,
    "node": {
        "id": 19,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 16,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 12,
                                    "type": "array",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "id": 9,
                                                "type": "object",
                                                "node": {
                                                    "size": 1,
                                                    "args": [
                                                        {
                                                            "key": {
                                                                "val": "bar",
                                                                "delim": null
                                                            },
                                                            "val": {
                                                                "id": 5,
                                                                "type": "array",
                                                                "node": {
                                                                    "size": 1,
                                                                    "args": [
                                                                        {
                                                                            "id": 2,
                                                                            "type": "string",
                                                                            "node": {
                                                                                "val": "`foo`",
                                                                                "delim": null
                                                                            },
                                                                            "attr": {
                                                                                "size": 1,
                                                                                "nodes": [
                                                                                    {
                                                                                        "type": "match_str",
                                                                                        "val": "foo"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "parent": 5,
                                                                            "path": null
                                                                        }
                                                                    ]
                                                                },
                                                                "attr": {
                                                                    "string": 2,
                                                                    "object": null
                                                                },
                                                                "parent": 9,
                                                                "path": 0
                                                            }
                                                        }
                                                    ]
                                                },
                                                "attr": {
                                                    "lookup": "0x...",
                                                    "root": {
                                                        "sym": "b",
                                                        "lo": null,
                                                        "eq": {
                                                            "sym": "a",
                                                            "lo": null,
                                                            "eq": {
                                                                "sym": "r",
                                                                "lo": null,
                                                                "eq": {
                                                                    "val": [
                                                                        "`foo`"
                                                                    ],
                                                                    "lo": null,
                                                                    "hi": null
                                                                },
                                                                "hi": null
                                                            },
                                                            "hi": null
                                                        },
                                                        "hi": null
                                                    }
                                                },
                                                "parent": 12,
                                                "path": null
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "string": null,
                                        "object": 9
                                    },
                                    "parent": 16,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": [
                                            {
                                                "bar": [
                                                    "`foo`"
                                                ]
                                            }
                                        ],
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 19,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 16
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":[{"bar":["/foo/"]}]}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 22,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 19,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 15,
                                    "type": "array",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "id": 12,
                                                "type": "object",
                                                "node": {
                                                    "size": 1,
                                                    "args": [
                                                        {
                                                            "key": {
                                                                "val": "bar",
                                                                "delim": null
                                                            },
                                                            "val": {
                                                                "id": 8,
                                                                "type": "array",
                                                                "node": {
                                                                    "size": 1,
                                                                    "args": [
                                                                        {
                                                                            "id": 5,
                                                                            "type": "string",
                                                                            "node": {
                                                                                "val": "/foo/",
                                                                                "delim": null
                                                                            },
                                                                            "attr": {
                                                                                "size": 1,
                                                                                "nodes": [
                                                                                    {
                                                                                        "type": "match_rex",
                                                                                        "val": 0
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "parent": 8,
                                                                            "path": null
                                                                        }
                                                                    ]
                                                                },
                                                                "attr": {
                                                                    "string": 5,
                                                                    "object": null
                                                                },
                                                                "parent": 12,
                                                                "path": 0
                                                            }
                                                        }
                                                    ]
                                                },
                                                "attr": {
                                                    "lookup": "0x...",
                                                    "root": {
                                                        "sym": "b",
                                                        "lo": null,
                                                        "eq": {
                                                            "sym": "a",
                                                            "lo": null,
                                                            "eq": {
                                                                "sym": "r",
                                                                "lo": null,
                                                                "eq": {
                                                                    "val": [
                                                                        "/foo/"
                                                                    ],
                                                                    "lo": null,
                                                                    "hi": null
                                                                },
                                                                "hi": null
                                                            },
                                                            "hi": null
                                                        },
                                                        "hi": null
                                                    }
                                                },
                                                "parent": 15,
                                                "path": null
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "string": null,
                                        "object": 12
                                    },
                                    "parent": 19,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": [
                                            {
                                                "bar": [
                                                    "/foo/"
                                                ]
                                            }
                                        ],
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 22,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 19
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":[{"bar":["'\''foo'\''"]}]}]'
{
    "rexes": {
        "size": 1,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "foo",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 22,
        "type": "array",
        "node": {
            "size": 1,
            "args": [
                {
                    "id": 19,
                    "type": "object",
                    "node": {
                        "size": 1,
                        "args": [
                            {
                                "key": {
                                    "val": "baz",
                                    "delim": null
                                },
                                "val": {
                                    "id": 15,
                                    "type": "array",
                                    "node": {
                                        "size": 1,
                                        "args": [
                                            {
                                                "id": 12,
                                                "type": "object",
                                                "node": {
                                                    "size": 1,
                                                    "args": [
                                                        {
                                                            "key": {
                                                                "val": "bar",
                                                                "delim": null
                                                            },
                                                            "val": {
                                                                "id": 8,
                                                                "type": "array",
                                                                "node": {
                                                                    "size": 1,
                                                                    "args": [
                                                                        {
                                                                            "id": 5,
                                                                            "type": "string",
                                                                            "node": {
                                                                                "val": "'foo'",
                                                                                "delim": null
                                                                            },
                                                                            "attr": {
                                                                                "size": 1,
                                                                                "nodes": [
                                                                                    {
                                                                                        "type": "match_rex",
                                                                                        "val": 0
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "parent": 8,
                                                                            "path": null
                                                                        }
                                                                    ]
                                                                },
                                                                "attr": {
                                                                    "string": 5,
                                                                    "object": null
                                                                },
                                                                "parent": 12,
                                                                "path": 0
                                                            }
                                                        }
                                                    ]
                                                },
                                                "attr": {
                                                    "lookup": "0x...",
                                                    "root": {
                                                        "sym": "b",
                                                        "lo": null,
                                                        "eq": {
                                                            "sym": "a",
                                                            "lo": null,
                                                            "eq": {
                                                                "sym": "r",
                                                                "lo": null,
                                                                "eq": {
                                                                    "val": [
                                                                        "'foo'"
                                                                    ],
                                                                    "lo": null,
                                                                    "hi": null
                                                                },
                                                                "hi": null
                                                            },
                                                            "hi": null
                                                        },
                                                        "hi": null
                                                    }
                                                },
                                                "parent": 15,
                                                "path": null
                                            }
                                        ]
                                    },
                                    "attr": {
                                        "string": null,
                                        "object": 12
                                    },
                                    "parent": 19,
                                    "path": 0
                                }
                            }
                        ]
                    },
                    "attr": {
                        "lookup": "0x...",
                        "root": {
                            "sym": "b",
                            "lo": null,
                            "eq": {
                                "sym": "a",
                                "lo": null,
                                "eq": {
                                    "sym": "z",
                                    "lo": null,
                                    "eq": {
                                        "val": [
                                            {
                                                "bar": [
                                                    "'foo'"
                                                ]
                                            }
                                        ],
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "parent": 22,
                    "path": null
                }
            ]
        },
        "attr": {
            "string": null,
            "object": 19
        },
        "parent": null,
        "path": null
    }
}
$ json-litex -d '[{"baz":[{"bar":[{}]}]}]'
json: error: <text>:1:18: filter library: meta error: empty objects are not allowed
json: error: <text>:1:18: [{"baz":[{"bar":[{}]}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":[{}]}]}]'
$ json-litex -d '[{"baz":[{"bar":[[]]}]}]'
json: error: <text>:1:18: filter library: meta error: empty arrays are not allowed
json: error: <text>:1:18: [{"baz":[{"bar":[[]]}]}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"baz":[{"bar":[[]]}]}]'
$

--[ empty-str ]-----------------------------------------------------------------

$ json-litex -d '""'
json: error: <text>:1:1: filter library: attribute error: invalid string: is empty
json: error: <text>:1:1: ""
json: error: <text>:1:1: ^
command failed: json-litex -d '""'
$ json-litex -d '{"foo":""}'
json: error: <text>:1:8: filter library: attribute error: invalid string: is empty
json: error: <text>:1:8: {"foo":""}
json: error: <text>:1:8:        ^
command failed: json-litex -d '{"foo":""}'
$ json-litex -d '[""]'
json: error: <text>:1:2: filter library: attribute error: invalid string: is empty
json: error: <text>:1:2: [""]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[""]'
$ json-litex -d '{"bar":{"foo":""}}'
json: error: <text>:1:15: filter library: attribute error: invalid string: is empty
json: error: <text>:1:15: {"bar":{"foo":""}}
json: error: <text>:1:15:               ^
command failed: json-litex -d '{"bar":{"foo":""}}'
$ json-litex -d '{"bar":[""]}'
json: error: <text>:1:9: filter library: attribute error: invalid string: is empty
json: error: <text>:1:9: {"bar":[""]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"bar":[""]}'
$ json-litex -d '[{"foo":""}]'
json: error: <text>:1:9: filter library: attribute error: invalid string: is empty
json: error: <text>:1:9: [{"foo":""}]
json: error: <text>:1:9:         ^
command failed: json-litex -d '[{"foo":""}]'
$ json-litex -d '{"baz":{"bar":{"foo":""}}}'
json: error: <text>:1:22: filter library: attribute error: invalid string: is empty
json: error: <text>:1:22: {"baz":{"bar":{"foo":""}}}
json: error: <text>:1:22:                      ^
command failed: json-litex -d '{"baz":{"bar":{"foo":""}}}'
$ json-litex -d '{"baz":{"bar":[""]}}'
json: error: <text>:1:16: filter library: attribute error: invalid string: is empty
json: error: <text>:1:16: {"baz":{"bar":[""]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[""]}}'
$ json-litex -d '{"baz":[{"foo":""}]}'
json: error: <text>:1:16: filter library: attribute error: invalid string: is empty
json: error: <text>:1:16: {"baz":[{"foo":""}]}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":[{"foo":""}]}'
$ json-litex -d '[{"bar":{"foo":""}}]'
json: error: <text>:1:16: filter library: attribute error: invalid string: is empty
json: error: <text>:1:16: [{"bar":{"foo":""}}]
json: error: <text>:1:16:                ^
command failed: json-litex -d '[{"bar":{"foo":""}}]'
$ json-litex -d '[{"bar":[""]}]'
json: error: <text>:1:10: filter library: attribute error: invalid string: is empty
json: error: <text>:1:10: [{"bar":[""]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"bar":[""]}]'
$

--[ empty-key ]-----------------------------------------------------------------

$ json-litex -d '{"":"`x`"}'
json: error: <text>:1:2: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:2: {"":"`x`"}
json: error: <text>:1:2:  ^
command failed: json-litex -d '{"":"`x`"}'
$ json-litex -d '{"foo":{"":"`x`"}}'
json: error: <text>:1:9: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:9: {"foo":{"":"`x`"}}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"foo":{"":"`x`"}}'
$ json-litex -d '[{"":"`x`"}]'
json: error: <text>:1:3: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:3: [{"":"`x`"}]
json: error: <text>:1:3:   ^
command failed: json-litex -d '[{"":"`x`"}]'
$ json-litex -d '{"bar":{"foo":{"":"`x`"}}}'
json: error: <text>:1:16: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:16: {"bar":{"foo":{"":"`x`"}}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"bar":{"foo":{"":"`x`"}}}'
$ json-litex -d '{"bar":[{"":"`x`"}]}'
json: error: <text>:1:10: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:10: {"bar":[{"":"`x`"}]}
json: error: <text>:1:10:          ^
command failed: json-litex -d '{"bar":[{"":"`x`"}]}'
$ json-litex -d '[{"foo":{"":"`x`"}}]'
json: error: <text>:1:10: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:10: [{"foo":{"":"`x`"}}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"foo":{"":"`x`"}}]'
$ json-litex -d '{"baz":{"bar":{"foo":{"":"`x`"}}}}'
json: error: <text>:1:23: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:23: {"baz":{"bar":{"foo":{"":"`x`"}}}}
json: error: <text>:1:23:                       ^
command failed: json-litex -d '{"baz":{"bar":{"foo":{"":"`x`"}}}}'
$ json-litex -d '{"baz":{"bar":[{"":"`x`"}]}}'
json: error: <text>:1:17: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:17: {"baz":{"bar":[{"":"`x`"}]}}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":{"bar":[{"":"`x`"}]}}'
$ json-litex -d '{"baz":[{"foo":{"":"`x`"}}]}'
json: error: <text>:1:17: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:17: {"baz":[{"foo":{"":"`x`"}}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"foo":{"":"`x`"}}]}'
$ json-litex -d '[{"bar":{"foo":{"":"`x`"}}}]'
json: error: <text>:1:17: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:17: [{"bar":{"foo":{"":"`x`"}}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"bar":{"foo":{"":"`x`"}}}]'
$ json-litex -d '[{"bar":[{"":"`x`"}]}]'
json: error: <text>:1:11: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:11: [{"bar":[{"":"`x`"}]}]
json: error: <text>:1:11:           ^
command failed: json-litex -d '[{"bar":[{"":"`x`"}]}]'
$ json-litex -d '{"a":"`y`","":"`x`"}'
json: error: <text>:1:12: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:12: {"a":"`y`","":"`x`"}
json: error: <text>:1:12:            ^
command failed: json-litex -d '{"a":"`y`","":"`x`"}'
$ json-litex -d '{"foo":{"a":"`y`","":"`x`"}}'
json: error: <text>:1:19: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:19: {"foo":{"a":"`y`","":"`x`"}}
json: error: <text>:1:19:                   ^
command failed: json-litex -d '{"foo":{"a":"`y`","":"`x`"}}'
$ json-litex -d '[{"a":"`y`","":"`x`"}]'
json: error: <text>:1:13: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:13: [{"a":"`y`","":"`x`"}]
json: error: <text>:1:13:             ^
command failed: json-litex -d '[{"a":"`y`","":"`x`"}]'
$ json-litex -d '{"bar":{"foo":{"a":"`y`","":"`x`"}}}'
json: error: <text>:1:26: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:26: {"bar":{"foo":{"a":"`y`","":"`x`"}}}
json: error: <text>:1:26:                          ^
command failed: json-litex -d '{"bar":{"foo":{"a":"`y`","":"`x`"}}}'
$ json-litex -d '{"bar":[{"a":"`y`","":"`x`"}]}'
json: error: <text>:1:20: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:20: {"bar":[{"a":"`y`","":"`x`"}]}
json: error: <text>:1:20:                    ^
command failed: json-litex -d '{"bar":[{"a":"`y`","":"`x`"}]}'
$ json-litex -d '[{"foo":{"a":"`y`","":"`x`"}}]'
json: error: <text>:1:20: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:20: [{"foo":{"a":"`y`","":"`x`"}}]
json: error: <text>:1:20:                    ^
command failed: json-litex -d '[{"foo":{"a":"`y`","":"`x`"}}]'
$ json-litex -d '{"baz":{"bar":{"foo":{"a":"`y`","":"`x`"}}}}'
json: error: <text>:1:33: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:33: {"baz":{"bar":{"foo":{"a":"`y`","":"`x`"}}}}
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":{"a":"`y`","":"`x`"}}}}'
$ json-litex -d '{"baz":{"bar":[{"a":"`y`","":"`x`"}]}}'
json: error: <text>:1:27: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:27: {"baz":{"bar":[{"a":"`y`","":"`x`"}]}}
json: error: <text>:1:27:                           ^
command failed: json-litex -d '{"baz":{"bar":[{"a":"`y`","":"`x`"}]}}'
$ json-litex -d '{"baz":[{"foo":{"a":"`y`","":"`x`"}}]}'
json: error: <text>:1:27: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:27: {"baz":[{"foo":{"a":"`y`","":"`x`"}}]}
json: error: <text>:1:27:                           ^
command failed: json-litex -d '{"baz":[{"foo":{"a":"`y`","":"`x`"}}]}'
$ json-litex -d '[{"bar":{"foo":{"a":"`y`","":"`x`"}}}]'
json: error: <text>:1:27: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:27: [{"bar":{"foo":{"a":"`y`","":"`x`"}}}]
json: error: <text>:1:27:                           ^
command failed: json-litex -d '[{"bar":{"foo":{"a":"`y`","":"`x`"}}}]'
$ json-litex -d '[{"bar":[{"a":"`y`","":"`x`"}]}]'
json: error: <text>:1:21: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:21: [{"bar":[{"a":"`y`","":"`x`"}]}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '[{"bar":[{"a":"`y`","":"`x`"}]}]'
$ json-litex -d '{"":"`x`","a":"`y`"}'
json: error: <text>:1:2: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:2: {"":"`x`","a":"`y`"}
json: error: <text>:1:2:  ^
command failed: json-litex -d '{"":"`x`","a":"`y`"}'
$ json-litex -d '{"foo":{"":"`x`","a":"`y`"}}'
json: error: <text>:1:9: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:9: {"foo":{"":"`x`","a":"`y`"}}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"foo":{"":"`x`","a":"`y`"}}'
$ json-litex -d '[{"":"`x`","a":"`y`"}]'
json: error: <text>:1:3: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:3: [{"":"`x`","a":"`y`"}]
json: error: <text>:1:3:   ^
command failed: json-litex -d '[{"":"`x`","a":"`y`"}]'
$ json-litex -d '{"bar":{"foo":{"":"`x`","a":"`y`"}}}'
json: error: <text>:1:16: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:16: {"bar":{"foo":{"":"`x`","a":"`y`"}}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"bar":{"foo":{"":"`x`","a":"`y`"}}}'
$ json-litex -d '{"bar":[{"":"`x`","a":"`y`"}]}'
json: error: <text>:1:10: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:10: {"bar":[{"":"`x`","a":"`y`"}]}
json: error: <text>:1:10:          ^
command failed: json-litex -d '{"bar":[{"":"`x`","a":"`y`"}]}'
$ json-litex -d '[{"foo":{"":"`x`","a":"`y`"}}]'
json: error: <text>:1:10: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:10: [{"foo":{"":"`x`","a":"`y`"}}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"foo":{"":"`x`","a":"`y`"}}]'
$ json-litex -d '{"baz":{"bar":{"foo":{"":"`x`","a":"`y`"}}}}'
json: error: <text>:1:23: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:23: {"baz":{"bar":{"foo":{"":"`x`","a":"`y`"}}}}
json: error: <text>:1:23:                       ^
command failed: json-litex -d '{"baz":{"bar":{"foo":{"":"`x`","a":"`y`"}}}}'
$ json-litex -d '{"baz":{"bar":[{"":"`x`","a":"`y`"}]}}'
json: error: <text>:1:17: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:17: {"baz":{"bar":[{"":"`x`","a":"`y`"}]}}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":{"bar":[{"":"`x`","a":"`y`"}]}}'
$ json-litex -d '{"baz":[{"foo":{"":"`x`","a":"`y`"}}]}'
json: error: <text>:1:17: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:17: {"baz":[{"foo":{"":"`x`","a":"`y`"}}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"foo":{"":"`x`","a":"`y`"}}]}'
$ json-litex -d '[{"bar":{"foo":{"":"`x`","a":"`y`"}}}]'
json: error: <text>:1:17: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:17: [{"bar":{"foo":{"":"`x`","a":"`y`"}}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"bar":{"foo":{"":"`x`","a":"`y`"}}}]'
$ json-litex -d '[{"bar":[{"":"`x`","a":"`y`"}]}]'
json: error: <text>:1:11: filter library: attribute error: invalid object: key is empty
json: error: <text>:1:11: [{"bar":[{"":"`x`","a":"`y`"}]}]
json: error: <text>:1:11:           ^
command failed: json-litex -d '[{"bar":[{"":"`x`","a":"`y`"}]}]'
$

--[ dup-key ]-------------------------------------------------------------------

$ json-litex -d '{"a":"`x`","a":"`y`"}'
json: error: <text>:1:12: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:2)
json: error: <text>:1:12: {"a":"`x`","a":"`y`"}
json: error: <text>:1:12:            ^
command failed: json-litex -d '{"a":"`x`","a":"`y`"}'
$ json-litex -d '{"foo":{"a":"`x`","a":"`y`"}}'
json: error: <text>:1:19: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:9)
json: error: <text>:1:19: {"foo":{"a":"`x`","a":"`y`"}}
json: error: <text>:1:19:                   ^
command failed: json-litex -d '{"foo":{"a":"`x`","a":"`y`"}}'
$ json-litex -d '[{"a":"`x`","a":"`y`"}]'
json: error: <text>:1:13: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:3)
json: error: <text>:1:13: [{"a":"`x`","a":"`y`"}]
json: error: <text>:1:13:             ^
command failed: json-litex -d '[{"a":"`x`","a":"`y`"}]'
$ json-litex -d '{"bar":{"foo":{"a":"`x`","a":"`y`"}}}'
json: error: <text>:1:26: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:16)
json: error: <text>:1:26: {"bar":{"foo":{"a":"`x`","a":"`y`"}}}
json: error: <text>:1:26:                          ^
command failed: json-litex -d '{"bar":{"foo":{"a":"`x`","a":"`y`"}}}'
$ json-litex -d '{"bar":[{"a":"`x`","a":"`y`"}]}'
json: error: <text>:1:20: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:10)
json: error: <text>:1:20: {"bar":[{"a":"`x`","a":"`y`"}]}
json: error: <text>:1:20:                    ^
command failed: json-litex -d '{"bar":[{"a":"`x`","a":"`y`"}]}'
$ json-litex -d '[{"foo":{"a":"`x`","a":"`y`"}}]'
json: error: <text>:1:20: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:10)
json: error: <text>:1:20: [{"foo":{"a":"`x`","a":"`y`"}}]
json: error: <text>:1:20:                    ^
command failed: json-litex -d '[{"foo":{"a":"`x`","a":"`y`"}}]'
$ json-litex -d '{"baz":{"bar":{"foo":{"a":"`x`","a":"`y`"}}}}'
json: error: <text>:1:33: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:23)
json: error: <text>:1:33: {"baz":{"bar":{"foo":{"a":"`x`","a":"`y`"}}}}
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":{"a":"`x`","a":"`y`"}}}}'
$ json-litex -d '{"baz":{"bar":[{"a":"`x`","a":"`y`"}]}}'
json: error: <text>:1:27: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:17)
json: error: <text>:1:27: {"baz":{"bar":[{"a":"`x`","a":"`y`"}]}}
json: error: <text>:1:27:                           ^
command failed: json-litex -d '{"baz":{"bar":[{"a":"`x`","a":"`y`"}]}}'
$ json-litex -d '{"baz":[{"foo":{"a":"`x`","a":"`y`"}}]}'
json: error: <text>:1:27: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:17)
json: error: <text>:1:27: {"baz":[{"foo":{"a":"`x`","a":"`y`"}}]}
json: error: <text>:1:27:                           ^
command failed: json-litex -d '{"baz":[{"foo":{"a":"`x`","a":"`y`"}}]}'
$ json-litex -d '[{"bar":{"foo":{"a":"`x`","a":"`y`"}}}]'
json: error: <text>:1:27: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:17)
json: error: <text>:1:27: [{"bar":{"foo":{"a":"`x`","a":"`y`"}}}]
json: error: <text>:1:27:                           ^
command failed: json-litex -d '[{"bar":{"foo":{"a":"`x`","a":"`y`"}}}]'
$ json-litex -d '[{"bar":[{"a":"`x`","a":"`y`"}]}]'
json: error: <text>:1:21: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:11)
json: error: <text>:1:21: [{"bar":[{"a":"`x`","a":"`y`"}]}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '[{"bar":[{"a":"`x`","a":"`y`"}]}]'
$ json-litex -d '{"b":"`z`","a":"`x`","a":"`y`"}'
json: error: <text>:1:22: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:12)
json: error: <text>:1:22: {"b":"`z`","a":"`x`","a":"`y`"}
json: error: <text>:1:22:                      ^
command failed: json-litex -d '{"b":"`z`","a":"`x`","a":"`y`"}'
$ json-litex -d '{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}'
json: error: <text>:1:29: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:19)
json: error: <text>:1:29: {"foo":{"b":"`z`","a":"`x`","a":"`y`"}}
json: error: <text>:1:29:                             ^
command failed: json-litex -d '{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}'
$ json-litex -d '[{"b":"`z`","a":"`x`","a":"`y`"}]'
json: error: <text>:1:23: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:13)
json: error: <text>:1:23: [{"b":"`z`","a":"`x`","a":"`y`"}]
json: error: <text>:1:23:                       ^
command failed: json-litex -d '[{"b":"`z`","a":"`x`","a":"`y`"}]'
$ json-litex -d '{"bar":{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}}'
json: error: <text>:1:36: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:26)
json: error: <text>:1:36: ar":{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}}
json: error: <text>:1:36:                                 ^
command failed: json-litex -d '{"bar":{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}}'
$ json-litex -d '{"bar":[{"b":"`z`","a":"`x`","a":"`y`"}]}'
json: error: <text>:1:30: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:20)
json: error: <text>:1:30: {"bar":[{"b":"`z`","a":"`x`","a":"`y`"}]}
json: error: <text>:1:30:                              ^
command failed: json-litex -d '{"bar":[{"b":"`z`","a":"`x`","a":"`y`"}]}'
$ json-litex -d '[{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}]'
json: error: <text>:1:30: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:20)
json: error: <text>:1:30: [{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}]
json: error: <text>:1:30:                              ^
command failed: json-litex -d '[{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}]'
$ json-litex -d '{"baz":{"bar":{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}}}'
json: error: <text>:1:43: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:33)
json: error: <text>:1:43: ar":{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}}}
json: error: <text>:1:43:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}}}'
$ json-litex -d '{"baz":{"bar":[{"b":"`z`","a":"`x`","a":"`y`"}]}}'
json: error: <text>:1:37: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:27)
json: error: <text>:1:37: z":{"bar":[{"b":"`z`","a":"`x`","a":"`y`"}]}}
json: error: <text>:1:37:                                 ^
command failed: json-litex -d '{"baz":{"bar":[{"b":"`z`","a":"`x`","a":"`y`"}]}}'
$ json-litex -d '{"baz":[{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}]}'
json: error: <text>:1:37: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:27)
json: error: <text>:1:37: z":[{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}]}
json: error: <text>:1:37:                                 ^
command failed: json-litex -d '{"baz":[{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}]}'
$ json-litex -d '[{"bar":{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}}]'
json: error: <text>:1:37: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:27)
json: error: <text>:1:37: ar":{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}}]
json: error: <text>:1:37:                                 ^
command failed: json-litex -d '[{"bar":{"foo":{"b":"`z`","a":"`x`","a":"`y`"}}}]'
$ json-litex -d '[{"bar":[{"b":"`z`","a":"`x`","a":"`y`"}]}]'
json: error: <text>:1:31: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:21)
json: error: <text>:1:31: [{"bar":[{"b":"`z`","a":"`x`","a":"`y`"}]}]
json: error: <text>:1:31:                               ^
command failed: json-litex -d '[{"bar":[{"b":"`z`","a":"`x`","a":"`y`"}]}]'
$ json-litex -d '{"a":"`x`","b":"`z`","a":"`y`"}'
json: error: <text>:1:22: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:2)
json: error: <text>:1:22: {"a":"`x`","b":"`z`","a":"`y`"}
json: error: <text>:1:22:                      ^
command failed: json-litex -d '{"a":"`x`","b":"`z`","a":"`y`"}'
$ json-litex -d '{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}'
json: error: <text>:1:29: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:9)
json: error: <text>:1:29: {"foo":{"a":"`x`","b":"`z`","a":"`y`"}}
json: error: <text>:1:29:                             ^
command failed: json-litex -d '{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}'
$ json-litex -d '[{"a":"`x`","b":"`z`","a":"`y`"}]'
json: error: <text>:1:23: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:3)
json: error: <text>:1:23: [{"a":"`x`","b":"`z`","a":"`y`"}]
json: error: <text>:1:23:                       ^
command failed: json-litex -d '[{"a":"`x`","b":"`z`","a":"`y`"}]'
$ json-litex -d '{"bar":{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}}'
json: error: <text>:1:36: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:16)
json: error: <text>:1:36: ar":{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}}
json: error: <text>:1:36:                                 ^
command failed: json-litex -d '{"bar":{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}}'
$ json-litex -d '{"bar":[{"a":"`x`","b":"`z`","a":"`y`"}]}'
json: error: <text>:1:30: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:10)
json: error: <text>:1:30: {"bar":[{"a":"`x`","b":"`z`","a":"`y`"}]}
json: error: <text>:1:30:                              ^
command failed: json-litex -d '{"bar":[{"a":"`x`","b":"`z`","a":"`y`"}]}'
$ json-litex -d '[{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}]'
json: error: <text>:1:30: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:10)
json: error: <text>:1:30: [{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}]
json: error: <text>:1:30:                              ^
command failed: json-litex -d '[{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}]'
$ json-litex -d '{"baz":{"bar":{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}}}'
json: error: <text>:1:43: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:23)
json: error: <text>:1:43: ar":{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}}}
json: error: <text>:1:43:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}}}'
$ json-litex -d '{"baz":{"bar":[{"a":"`x`","b":"`z`","a":"`y`"}]}}'
json: error: <text>:1:37: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:17)
json: error: <text>:1:37: z":{"bar":[{"a":"`x`","b":"`z`","a":"`y`"}]}}
json: error: <text>:1:37:                                 ^
command failed: json-litex -d '{"baz":{"bar":[{"a":"`x`","b":"`z`","a":"`y`"}]}}'
$ json-litex -d '{"baz":[{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}]}'
json: error: <text>:1:37: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:17)
json: error: <text>:1:37: z":[{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}]}
json: error: <text>:1:37:                                 ^
command failed: json-litex -d '{"baz":[{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}]}'
$ json-litex -d '[{"bar":{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}}]'
json: error: <text>:1:37: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:17)
json: error: <text>:1:37: ar":{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}}]
json: error: <text>:1:37:                                 ^
command failed: json-litex -d '[{"bar":{"foo":{"a":"`x`","b":"`z`","a":"`y`"}}}]'
$ json-litex -d '[{"bar":[{"a":"`x`","b":"`z`","a":"`y`"}]}]'
json: error: <text>:1:31: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:11)
json: error: <text>:1:31: [{"bar":[{"a":"`x`","b":"`z`","a":"`y`"}]}]
json: error: <text>:1:31:                               ^
command failed: json-litex -d '[{"bar":[{"a":"`x`","b":"`z`","a":"`y`"}]}]'
$ json-litex -d '{"a":"`x`","a":"`y`","b":"`z`"}'
json: error: <text>:1:12: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:2)
json: error: <text>:1:12: {"a":"`x`","a":"`y`","b":"`z`"}
json: error: <text>:1:12:            ^
command failed: json-litex -d '{"a":"`x`","a":"`y`","b":"`z`"}'
$ json-litex -d '{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}'
json: error: <text>:1:19: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:9)
json: error: <text>:1:19: {"foo":{"a":"`x`","a":"`y`","b":"`z`"}}
json: error: <text>:1:19:                   ^
command failed: json-litex -d '{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}'
$ json-litex -d '[{"a":"`x`","a":"`y`","b":"`z`"}]'
json: error: <text>:1:13: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:3)
json: error: <text>:1:13: [{"a":"`x`","a":"`y`","b":"`z`"}]
json: error: <text>:1:13:             ^
command failed: json-litex -d '[{"a":"`x`","a":"`y`","b":"`z`"}]'
$ json-litex -d '{"bar":{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}}'
json: error: <text>:1:26: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:16)
json: error: <text>:1:26: {"bar":{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}}
json: error: <text>:1:26:                          ^
command failed: json-litex -d '{"bar":{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}}'
$ json-litex -d '{"bar":[{"a":"`x`","a":"`y`","b":"`z`"}]}'
json: error: <text>:1:20: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:10)
json: error: <text>:1:20: {"bar":[{"a":"`x`","a":"`y`","b":"`z`"}]}
json: error: <text>:1:20:                    ^
command failed: json-litex -d '{"bar":[{"a":"`x`","a":"`y`","b":"`z`"}]}'
$ json-litex -d '[{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}]'
json: error: <text>:1:20: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:10)
json: error: <text>:1:20: [{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}]
json: error: <text>:1:20:                    ^
command failed: json-litex -d '[{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}]'
$ json-litex -d '{"baz":{"bar":{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}}}'
json: error: <text>:1:33: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:23)
json: error: <text>:1:33: {"baz":{"bar":{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}}}
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}}}'
$ json-litex -d '{"baz":{"bar":[{"a":"`x`","a":"`y`","b":"`z`"}]}}'
json: error: <text>:1:27: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:17)
json: error: <text>:1:27: {"baz":{"bar":[{"a":"`x`","a":"`y`","b":"`z`"}]}}
json: error: <text>:1:27:                           ^
command failed: json-litex -d '{"baz":{"bar":[{"a":"`x`","a":"`y`","b":"`z`"}]}}'
$ json-litex -d '{"baz":[{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}]}'
json: error: <text>:1:27: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:17)
json: error: <text>:1:27: {"baz":[{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}]}
json: error: <text>:1:27:                           ^
command failed: json-litex -d '{"baz":[{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}]}'
$ json-litex -d '[{"bar":{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}}]'
json: error: <text>:1:27: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:17)
json: error: <text>:1:27: [{"bar":{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}}]
json: error: <text>:1:27:                           ^
command failed: json-litex -d '[{"bar":{"foo":{"a":"`x`","a":"`y`","b":"`z`"}}}]'
$ json-litex -d '[{"bar":[{"a":"`x`","a":"`y`","b":"`z`"}]}]'
json: error: <text>:1:21: filter library: attribute error: invalid object: duplicated key name (previous defined at 1:11)
json: error: <text>:1:21: [{"bar":[{"a":"`x`","a":"`y`","b":"`z`"}]}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '[{"bar":[{"a":"`x`","a":"`y`","b":"`z`"}]}]'
$

--[ inner-array ]---------------------------------------------------------------

$ json-litex -d '[["`x`"]]'
json: error: <text>:1:2: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:1)
json: error: <text>:1:2: [["`x`"]]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[["`x`"]]'
$ json-litex -d '{"foo":[["`x`"]]}'
json: error: <text>:1:9: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:8)
json: error: <text>:1:9: {"foo":[["`x`"]]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"foo":[["`x`"]]}'
$ json-litex -d '{"bar":{"foo":[["`x`"]]}}'
json: error: <text>:1:16: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:16: {"bar":{"foo":[["`x`"]]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"bar":{"foo":[["`x`"]]}}'
$ json-litex -d '[{"foo":[["`x`"]]}]'
json: error: <text>:1:10: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:9)
json: error: <text>:1:10: [{"foo":[["`x`"]]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"foo":[["`x`"]]}]'
$ json-litex -d '{"baz":{"bar":{"foo":[["`x`"]]}}}'
json: error: <text>:1:23: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:22)
json: error: <text>:1:23: {"baz":{"bar":{"foo":[["`x`"]]}}}
json: error: <text>:1:23:                       ^
command failed: json-litex -d '{"baz":{"bar":{"foo":[["`x`"]]}}}'
$ json-litex -d '{"baz":{"bar":[["`x`"]]}}'
json: error: <text>:1:16: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:16: {"baz":{"bar":[["`x`"]]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[["`x`"]]}}'
$ json-litex -d '{"baz":[{"foo":[["`x`"]]}]}'
json: error: <text>:1:17: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:17: {"baz":[{"foo":[["`x`"]]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"foo":[["`x`"]]}]}'
$ json-litex -d '[{"bar":{"foo":[["`x`"]]}}]'
json: error: <text>:1:17: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:17: [{"bar":{"foo":[["`x`"]]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"bar":{"foo":[["`x`"]]}}]'
$ json-litex -d '["`y`",["`x`"]]'
json: error: <text>:1:8: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:1)
json: error: <text>:1:8: ["`y`",["`x`"]]
json: error: <text>:1:8:        ^
command failed: json-litex -d '["`y`",["`x`"]]'
$ json-litex -d '{"foo":["`y`",["`x`"]]}'
json: error: <text>:1:15: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:8)
json: error: <text>:1:15: {"foo":["`y`",["`x`"]]}
json: error: <text>:1:15:               ^
command failed: json-litex -d '{"foo":["`y`",["`x`"]]}'
$ json-litex -d '{"bar":{"foo":["`y`",["`x`"]]}}'
json: error: <text>:1:22: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:22: {"bar":{"foo":["`y`",["`x`"]]}}
json: error: <text>:1:22:                      ^
command failed: json-litex -d '{"bar":{"foo":["`y`",["`x`"]]}}'
$ json-litex -d '[{"foo":["`y`",["`x`"]]}]'
json: error: <text>:1:16: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:9)
json: error: <text>:1:16: [{"foo":["`y`",["`x`"]]}]
json: error: <text>:1:16:                ^
command failed: json-litex -d '[{"foo":["`y`",["`x`"]]}]'
$ json-litex -d '{"baz":{"bar":{"foo":["`y`",["`x`"]]}}}'
json: error: <text>:1:29: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:22)
json: error: <text>:1:29: {"baz":{"bar":{"foo":["`y`",["`x`"]]}}}
json: error: <text>:1:29:                             ^
command failed: json-litex -d '{"baz":{"bar":{"foo":["`y`",["`x`"]]}}}'
$ json-litex -d '{"baz":{"bar":["`y`",["`x`"]]}}'
json: error: <text>:1:22: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:22: {"baz":{"bar":["`y`",["`x`"]]}}
json: error: <text>:1:22:                      ^
command failed: json-litex -d '{"baz":{"bar":["`y`",["`x`"]]}}'
$ json-litex -d '{"baz":[{"foo":["`y`",["`x`"]]}]}'
json: error: <text>:1:23: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:23: {"baz":[{"foo":["`y`",["`x`"]]}]}
json: error: <text>:1:23:                       ^
command failed: json-litex -d '{"baz":[{"foo":["`y`",["`x`"]]}]}'
$ json-litex -d '[{"bar":{"foo":["`y`",["`x`"]]}}]'
json: error: <text>:1:23: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:23: [{"bar":{"foo":["`y`",["`x`"]]}}]
json: error: <text>:1:23:                       ^
command failed: json-litex -d '[{"bar":{"foo":["`y`",["`x`"]]}}]'
$ json-litex -d '[["`x`"],"`y`"]'
json: error: <text>:1:2: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:1)
json: error: <text>:1:2: [["`x`"],"`y`"]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[["`x`"],"`y`"]'
$ json-litex -d '{"foo":[["`x`"],"`y`"]}'
json: error: <text>:1:9: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:8)
json: error: <text>:1:9: {"foo":[["`x`"],"`y`"]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"foo":[["`x`"],"`y`"]}'
$ json-litex -d '{"bar":{"foo":[["`x`"],"`y`"]}}'
json: error: <text>:1:16: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:16: {"bar":{"foo":[["`x`"],"`y`"]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"bar":{"foo":[["`x`"],"`y`"]}}'
$ json-litex -d '[{"foo":[["`x`"],"`y`"]}]'
json: error: <text>:1:10: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:9)
json: error: <text>:1:10: [{"foo":[["`x`"],"`y`"]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"foo":[["`x`"],"`y`"]}]'
$ json-litex -d '{"baz":{"bar":{"foo":[["`x`"],"`y`"]}}}'
json: error: <text>:1:23: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:22)
json: error: <text>:1:23: {"baz":{"bar":{"foo":[["`x`"],"`y`"]}}}
json: error: <text>:1:23:                       ^
command failed: json-litex -d '{"baz":{"bar":{"foo":[["`x`"],"`y`"]}}}'
$ json-litex -d '{"baz":{"bar":[["`x`"],"`y`"]}}'
json: error: <text>:1:16: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:16: {"baz":{"bar":[["`x`"],"`y`"]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[["`x`"],"`y`"]}}'
$ json-litex -d '{"baz":[{"foo":[["`x`"],"`y`"]}]}'
json: error: <text>:1:17: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:17: {"baz":[{"foo":[["`x`"],"`y`"]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"foo":[["`x`"],"`y`"]}]}'
$ json-litex -d '[{"bar":{"foo":[["`x`"],"`y`"]}}]'
json: error: <text>:1:17: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:17: [{"bar":{"foo":[["`x`"],"`y`"]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"bar":{"foo":[["`x`"],"`y`"]}}]'
$ json-litex -d '[{"a":"`y`"},["`x`"]]'
json: error: <text>:1:14: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:1)
json: error: <text>:1:14: [{"a":"`y`"},["`x`"]]
json: error: <text>:1:14:              ^
command failed: json-litex -d '[{"a":"`y`"},["`x`"]]'
$ json-litex -d '{"foo":[{"a":"`y`"},["`x`"]]}'
json: error: <text>:1:21: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:8)
json: error: <text>:1:21: {"foo":[{"a":"`y`"},["`x`"]]}
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"foo":[{"a":"`y`"},["`x`"]]}'
$ json-litex -d '{"bar":{"foo":[{"a":"`y`"},["`x`"]]}}'
json: error: <text>:1:28: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:28: {"bar":{"foo":[{"a":"`y`"},["`x`"]]}}
json: error: <text>:1:28:                            ^
command failed: json-litex -d '{"bar":{"foo":[{"a":"`y`"},["`x`"]]}}'
$ json-litex -d '[{"foo":[{"a":"`y`"},["`x`"]]}]'
json: error: <text>:1:22: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:9)
json: error: <text>:1:22: [{"foo":[{"a":"`y`"},["`x`"]]}]
json: error: <text>:1:22:                      ^
command failed: json-litex -d '[{"foo":[{"a":"`y`"},["`x`"]]}]'
$ json-litex -d '{"baz":{"bar":{"foo":[{"a":"`y`"},["`x`"]]}}}'
json: error: <text>:1:35: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:22)
json: error: <text>:1:35: baz":{"bar":{"foo":[{"a":"`y`"},["`x`"]]}}}
json: error: <text>:1:35:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":[{"a":"`y`"},["`x`"]]}}}'
$ json-litex -d '{"baz":{"bar":[{"a":"`y`"},["`x`"]]}}'
json: error: <text>:1:28: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:28: {"baz":{"bar":[{"a":"`y`"},["`x`"]]}}
json: error: <text>:1:28:                            ^
command failed: json-litex -d '{"baz":{"bar":[{"a":"`y`"},["`x`"]]}}'
$ json-litex -d '{"baz":[{"foo":[{"a":"`y`"},["`x`"]]}]}'
json: error: <text>:1:29: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:29: {"baz":[{"foo":[{"a":"`y`"},["`x`"]]}]}
json: error: <text>:1:29:                             ^
command failed: json-litex -d '{"baz":[{"foo":[{"a":"`y`"},["`x`"]]}]}'
$ json-litex -d '[{"bar":{"foo":[{"a":"`y`"},["`x`"]]}}]'
json: error: <text>:1:29: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:29: [{"bar":{"foo":[{"a":"`y`"},["`x`"]]}}]
json: error: <text>:1:29:                             ^
command failed: json-litex -d '[{"bar":{"foo":[{"a":"`y`"},["`x`"]]}}]'
$ json-litex -d '[["`x`"],{"a":"`y`"}]'
json: error: <text>:1:2: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:1)
json: error: <text>:1:2: [["`x`"],{"a":"`y`"}]
json: error: <text>:1:2:  ^
command failed: json-litex -d '[["`x`"],{"a":"`y`"}]'
$ json-litex -d '{"foo":[["`x`"],{"a":"`y`"}]}'
json: error: <text>:1:9: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:8)
json: error: <text>:1:9: {"foo":[["`x`"],{"a":"`y`"}]}
json: error: <text>:1:9:         ^
command failed: json-litex -d '{"foo":[["`x`"],{"a":"`y`"}]}'
$ json-litex -d '{"bar":{"foo":[["`x`"],{"a":"`y`"}]}}'
json: error: <text>:1:16: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:16: {"bar":{"foo":[["`x`"],{"a":"`y`"}]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"bar":{"foo":[["`x`"],{"a":"`y`"}]}}'
$ json-litex -d '[{"foo":[["`x`"],{"a":"`y`"}]}]'
json: error: <text>:1:10: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:9)
json: error: <text>:1:10: [{"foo":[["`x`"],{"a":"`y`"}]}]
json: error: <text>:1:10:          ^
command failed: json-litex -d '[{"foo":[["`x`"],{"a":"`y`"}]}]'
$ json-litex -d '{"baz":{"bar":{"foo":[["`x`"],{"a":"`y`"}]}}}'
json: error: <text>:1:23: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:22)
json: error: <text>:1:23: {"baz":{"bar":{"foo":[["`x`"],{"a":"`y`"}]}}}
json: error: <text>:1:23:                       ^
command failed: json-litex -d '{"baz":{"bar":{"foo":[["`x`"],{"a":"`y`"}]}}}'
$ json-litex -d '{"baz":{"bar":[["`x`"],{"a":"`y`"}]}}'
json: error: <text>:1:16: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:15)
json: error: <text>:1:16: {"baz":{"bar":[["`x`"],{"a":"`y`"}]}}
json: error: <text>:1:16:                ^
command failed: json-litex -d '{"baz":{"bar":[["`x`"],{"a":"`y`"}]}}'
$ json-litex -d '{"baz":[{"foo":[["`x`"],{"a":"`y`"}]}]}'
json: error: <text>:1:17: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:17: {"baz":[{"foo":[["`x`"],{"a":"`y`"}]}]}
json: error: <text>:1:17:                 ^
command failed: json-litex -d '{"baz":[{"foo":[["`x`"],{"a":"`y`"}]}]}'
$ json-litex -d '[{"bar":{"foo":[["`x`"],{"a":"`y`"}]}}]'
json: error: <text>:1:17: filter library: attribute error: invalid array: inner arrays not allowed (the outer array begins at 1:16)
json: error: <text>:1:17: [{"bar":{"foo":[["`x`"],{"a":"`y`"}]}}]
json: error: <text>:1:17:                 ^
command failed: json-litex -d '[{"bar":{"foo":[["`x`"],{"a":"`y`"}]}}]'
$

--[ multi-str ]-----------------------------------------------------------------

$ json-litex -d '["a","b"]'
json: error: <text>:1:6: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:2)
json: error: <text>:1:6: ["a","b"]
json: error: <text>:1:6:      ^
command failed: json-litex -d '["a","b"]'
$ json-litex -d '{"foo":["a","b"]}'
json: error: <text>:1:13: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:9)
json: error: <text>:1:13: {"foo":["a","b"]}
json: error: <text>:1:13:             ^
command failed: json-litex -d '{"foo":["a","b"]}'
$ json-litex -d '{"bar":{"foo":["a","b"]}}'
json: error: <text>:1:20: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:16)
json: error: <text>:1:20: {"bar":{"foo":["a","b"]}}
json: error: <text>:1:20:                    ^
command failed: json-litex -d '{"bar":{"foo":["a","b"]}}'
$ json-litex -d '[{"foo":["a","b"]}]'
json: error: <text>:1:14: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:10)
json: error: <text>:1:14: [{"foo":["a","b"]}]
json: error: <text>:1:14:              ^
command failed: json-litex -d '[{"foo":["a","b"]}]'
$ json-litex -d '{"baz":{"bar":{"foo":["a","b"]}}}'
json: error: <text>:1:27: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:23)
json: error: <text>:1:27: {"baz":{"bar":{"foo":["a","b"]}}}
json: error: <text>:1:27:                           ^
command failed: json-litex -d '{"baz":{"bar":{"foo":["a","b"]}}}'
$ json-litex -d '{"baz":[{"foo":["a","b"]}]}'
json: error: <text>:1:21: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:17)
json: error: <text>:1:21: {"baz":[{"foo":["a","b"]}]}
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"baz":[{"foo":["a","b"]}]}'
$ json-litex -d '[{"bar":{"foo":["a","b"]}}]'
json: error: <text>:1:21: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:17)
json: error: <text>:1:21: [{"bar":{"foo":["a","b"]}}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '[{"bar":{"foo":["a","b"]}}]'
$ json-litex -d '[{"c":"`x`"},"a","b"]'
json: error: <text>:1:18: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:14)
json: error: <text>:1:18: [{"c":"`x`"},"a","b"]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"c":"`x`"},"a","b"]'
$ json-litex -d '{"foo":[{"c":"`x`"},"a","b"]}'
json: error: <text>:1:25: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:21)
json: error: <text>:1:25: {"foo":[{"c":"`x`"},"a","b"]}
json: error: <text>:1:25:                         ^
command failed: json-litex -d '{"foo":[{"c":"`x`"},"a","b"]}'
$ json-litex -d '{"bar":{"foo":[{"c":"`x`"},"a","b"]}}'
json: error: <text>:1:32: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:28)
json: error: <text>:1:32: {"bar":{"foo":[{"c":"`x`"},"a","b"]}}
json: error: <text>:1:32:                                ^
command failed: json-litex -d '{"bar":{"foo":[{"c":"`x`"},"a","b"]}}'
$ json-litex -d '[{"foo":[{"c":"`x`"},"a","b"]}]'
json: error: <text>:1:26: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:22)
json: error: <text>:1:26: [{"foo":[{"c":"`x`"},"a","b"]}]
json: error: <text>:1:26:                          ^
command failed: json-litex -d '[{"foo":[{"c":"`x`"},"a","b"]}]'
$ json-litex -d '{"baz":{"bar":{"foo":[{"c":"`x`"},"a","b"]}}}'
json: error: <text>:1:39: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:35)
json: error: <text>:1:39: :{"bar":{"foo":[{"c":"`x`"},"a","b"]}}}
json: error: <text>:1:39:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":[{"c":"`x`"},"a","b"]}}}'
$ json-litex -d '{"baz":[{"foo":[{"c":"`x`"},"a","b"]}]}'
json: error: <text>:1:33: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:29)
json: error: <text>:1:33: {"baz":[{"foo":[{"c":"`x`"},"a","b"]}]}
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '{"baz":[{"foo":[{"c":"`x`"},"a","b"]}]}'
$ json-litex -d '[{"bar":{"foo":[{"c":"`x`"},"a","b"]}}]'
json: error: <text>:1:33: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:29)
json: error: <text>:1:33: [{"bar":{"foo":[{"c":"`x`"},"a","b"]}}]
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '[{"bar":{"foo":[{"c":"`x`"},"a","b"]}}]'
$ json-litex -d '["a",{"c":"`x`"},"b"]'
json: error: <text>:1:18: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:2)
json: error: <text>:1:18: ["a",{"c":"`x`"},"b"]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '["a",{"c":"`x`"},"b"]'
$ json-litex -d '{"foo":["a",{"c":"`x`"},"b"]}'
json: error: <text>:1:25: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:9)
json: error: <text>:1:25: {"foo":["a",{"c":"`x`"},"b"]}
json: error: <text>:1:25:                         ^
command failed: json-litex -d '{"foo":["a",{"c":"`x`"},"b"]}'
$ json-litex -d '{"bar":{"foo":["a",{"c":"`x`"},"b"]}}'
json: error: <text>:1:32: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:16)
json: error: <text>:1:32: {"bar":{"foo":["a",{"c":"`x`"},"b"]}}
json: error: <text>:1:32:                                ^
command failed: json-litex -d '{"bar":{"foo":["a",{"c":"`x`"},"b"]}}'
$ json-litex -d '[{"foo":["a",{"c":"`x`"},"b"]}]'
json: error: <text>:1:26: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:10)
json: error: <text>:1:26: [{"foo":["a",{"c":"`x`"},"b"]}]
json: error: <text>:1:26:                          ^
command failed: json-litex -d '[{"foo":["a",{"c":"`x`"},"b"]}]'
$ json-litex -d '{"baz":{"bar":{"foo":["a",{"c":"`x`"},"b"]}}}'
json: error: <text>:1:39: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:23)
json: error: <text>:1:39: :{"bar":{"foo":["a",{"c":"`x`"},"b"]}}}
json: error: <text>:1:39:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":["a",{"c":"`x`"},"b"]}}}'
$ json-litex -d '{"baz":[{"foo":["a",{"c":"`x`"},"b"]}]}'
json: error: <text>:1:33: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:17)
json: error: <text>:1:33: {"baz":[{"foo":["a",{"c":"`x`"},"b"]}]}
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '{"baz":[{"foo":["a",{"c":"`x`"},"b"]}]}'
$ json-litex -d '[{"bar":{"foo":["a",{"c":"`x`"},"b"]}}]'
json: error: <text>:1:33: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:17)
json: error: <text>:1:33: [{"bar":{"foo":["a",{"c":"`x`"},"b"]}}]
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '[{"bar":{"foo":["a",{"c":"`x`"},"b"]}}]'
$ json-litex -d '["a","b",{"c":"`x`"}]'
json: error: <text>:1:6: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:2)
json: error: <text>:1:6: ["a","b",{"c":"`x`"}]
json: error: <text>:1:6:      ^
command failed: json-litex -d '["a","b",{"c":"`x`"}]'
$ json-litex -d '{"foo":["a","b",{"c":"`x`"}]}'
json: error: <text>:1:13: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:9)
json: error: <text>:1:13: {"foo":["a","b",{"c":"`x`"}]}
json: error: <text>:1:13:             ^
command failed: json-litex -d '{"foo":["a","b",{"c":"`x`"}]}'
$ json-litex -d '{"bar":{"foo":["a","b",{"c":"`x`"}]}}'
json: error: <text>:1:20: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:16)
json: error: <text>:1:20: {"bar":{"foo":["a","b",{"c":"`x`"}]}}
json: error: <text>:1:20:                    ^
command failed: json-litex -d '{"bar":{"foo":["a","b",{"c":"`x`"}]}}'
$ json-litex -d '[{"foo":["a","b",{"c":"`x`"}]}]'
json: error: <text>:1:14: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:10)
json: error: <text>:1:14: [{"foo":["a","b",{"c":"`x`"}]}]
json: error: <text>:1:14:              ^
command failed: json-litex -d '[{"foo":["a","b",{"c":"`x`"}]}]'
$ json-litex -d '{"baz":{"bar":{"foo":["a","b",{"c":"`x`"}]}}}'
json: error: <text>:1:27: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:23)
json: error: <text>:1:27: {"baz":{"bar":{"foo":["a","b",{"c":"`x`"}]}}}
json: error: <text>:1:27:                           ^
command failed: json-litex -d '{"baz":{"bar":{"foo":["a","b",{"c":"`x`"}]}}}'
$ json-litex -d '{"baz":[{"foo":["a","b",{"c":"`x`"}]}]}'
json: error: <text>:1:21: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:17)
json: error: <text>:1:21: {"baz":[{"foo":["a","b",{"c":"`x`"}]}]}
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"baz":[{"foo":["a","b",{"c":"`x`"}]}]}'
$ json-litex -d '[{"bar":{"foo":["a","b",{"c":"`x`"}]}}]'
json: error: <text>:1:21: filter library: attribute error: invalid array: multiple inner strings (previous defined at 1:17)
json: error: <text>:1:21: [{"bar":{"foo":["a","b",{"c":"`x`"}]}}]
json: error: <text>:1:21:                     ^
command failed: json-litex -d '[{"bar":{"foo":["a","b",{"c":"`x`"}]}}]'
$

--[ multi-obj ]-----------------------------------------------------------------

$ json-litex -d '[{"a":"`x`"},{"b":"`y`"}]'
json: error: <text>:1:14: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:2)
json: error: <text>:1:14: [{"a":"`x`"},{"b":"`y`"}]
json: error: <text>:1:14:              ^
command failed: json-litex -d '[{"a":"`x`"},{"b":"`y`"}]'
$ json-litex -d '{"foo":[{"a":"`x`"},{"b":"`y`"}]}'
json: error: <text>:1:21: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:9)
json: error: <text>:1:21: {"foo":[{"a":"`x`"},{"b":"`y`"}]}
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"foo":[{"a":"`x`"},{"b":"`y`"}]}'
$ json-litex -d '{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"}]}}'
json: error: <text>:1:28: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:16)
json: error: <text>:1:28: {"bar":{"foo":[{"a":"`x`"},{"b":"`y`"}]}}
json: error: <text>:1:28:                            ^
command failed: json-litex -d '{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"}]}}'
$ json-litex -d '[{"foo":[{"a":"`x`"},{"b":"`y`"}]}]'
json: error: <text>:1:22: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:10)
json: error: <text>:1:22: [{"foo":[{"a":"`x`"},{"b":"`y`"}]}]
json: error: <text>:1:22:                      ^
command failed: json-litex -d '[{"foo":[{"a":"`x`"},{"b":"`y`"}]}]'
$ json-litex -d '{"baz":{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"}]}}}'
json: error: <text>:1:35: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:23)
json: error: <text>:1:35: baz":{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"}]}}}
json: error: <text>:1:35:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"}]}}}'
$ json-litex -d '{"baz":[{"foo":[{"a":"`x`"},{"b":"`y`"}]}]}'
json: error: <text>:1:29: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:17)
json: error: <text>:1:29: {"baz":[{"foo":[{"a":"`x`"},{"b":"`y`"}]}]}
json: error: <text>:1:29:                             ^
command failed: json-litex -d '{"baz":[{"foo":[{"a":"`x`"},{"b":"`y`"}]}]}'
$ json-litex -d '[{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"}]}}]'
json: error: <text>:1:29: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:17)
json: error: <text>:1:29: [{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"}]}}]
json: error: <text>:1:29:                             ^
command failed: json-litex -d '[{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"}]}}]'
$ json-litex -d '["c",{"a":"`x`"},{"b":"`y`"}]'
json: error: <text>:1:18: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:6)
json: error: <text>:1:18: ["c",{"a":"`x`"},{"b":"`y`"}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '["c",{"a":"`x`"},{"b":"`y`"}]'
$ json-litex -d '{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}'
json: error: <text>:1:25: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:13)
json: error: <text>:1:25: {"foo":["c",{"a":"`x`"},{"b":"`y`"}]}
json: error: <text>:1:25:                         ^
command failed: json-litex -d '{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}'
$ json-litex -d '{"bar":{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}}'
json: error: <text>:1:32: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:20)
json: error: <text>:1:32: {"bar":{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}}
json: error: <text>:1:32:                                ^
command failed: json-litex -d '{"bar":{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}}'
$ json-litex -d '[{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}]'
json: error: <text>:1:26: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:14)
json: error: <text>:1:26: [{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}]
json: error: <text>:1:26:                          ^
command failed: json-litex -d '[{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}]'
$ json-litex -d '{"baz":{"bar":{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}}}'
json: error: <text>:1:39: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:27)
json: error: <text>:1:39: :{"bar":{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}}}
json: error: <text>:1:39:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}}}'
$ json-litex -d '{"baz":[{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}]}'
json: error: <text>:1:33: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:21)
json: error: <text>:1:33: {"baz":[{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}]}
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '{"baz":[{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}]}'
$ json-litex -d '[{"bar":{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}}]'
json: error: <text>:1:33: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:21)
json: error: <text>:1:33: [{"bar":{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}}]
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '[{"bar":{"foo":["c",{"a":"`x`"},{"b":"`y`"}]}}]'
$ json-litex -d '[{"a":"`x`"},"c",{"b":"`y`"}]'
json: error: <text>:1:18: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:2)
json: error: <text>:1:18: [{"a":"`x`"},"c",{"b":"`y`"}]
json: error: <text>:1:18:                  ^
command failed: json-litex -d '[{"a":"`x`"},"c",{"b":"`y`"}]'
$ json-litex -d '{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}'
json: error: <text>:1:25: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:9)
json: error: <text>:1:25: {"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}
json: error: <text>:1:25:                         ^
command failed: json-litex -d '{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}'
$ json-litex -d '{"bar":{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}}'
json: error: <text>:1:32: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:16)
json: error: <text>:1:32: {"bar":{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}}
json: error: <text>:1:32:                                ^
command failed: json-litex -d '{"bar":{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}}'
$ json-litex -d '[{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}]'
json: error: <text>:1:26: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:10)
json: error: <text>:1:26: [{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}]
json: error: <text>:1:26:                          ^
command failed: json-litex -d '[{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}]'
$ json-litex -d '{"baz":{"bar":{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}}}'
json: error: <text>:1:39: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:23)
json: error: <text>:1:39: :{"bar":{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}}}
json: error: <text>:1:39:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}}}'
$ json-litex -d '{"baz":[{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}]}'
json: error: <text>:1:33: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:17)
json: error: <text>:1:33: {"baz":[{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}]}
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '{"baz":[{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}]}'
$ json-litex -d '[{"bar":{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}}]'
json: error: <text>:1:33: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:17)
json: error: <text>:1:33: [{"bar":{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}}]
json: error: <text>:1:33:                                 ^
command failed: json-litex -d '[{"bar":{"foo":[{"a":"`x`"},"c",{"b":"`y`"}]}}]'
$ json-litex -d '[{"a":"`x`"},{"b":"`y`"},"c"]'
json: error: <text>:1:14: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:2)
json: error: <text>:1:14: [{"a":"`x`"},{"b":"`y`"},"c"]
json: error: <text>:1:14:              ^
command failed: json-litex -d '[{"a":"`x`"},{"b":"`y`"},"c"]'
$ json-litex -d '{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}'
json: error: <text>:1:21: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:9)
json: error: <text>:1:21: {"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}
json: error: <text>:1:21:                     ^
command failed: json-litex -d '{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}'
$ json-litex -d '{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}}'
json: error: <text>:1:28: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:16)
json: error: <text>:1:28: {"bar":{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}}
json: error: <text>:1:28:                            ^
command failed: json-litex -d '{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}}'
$ json-litex -d '[{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}]'
json: error: <text>:1:22: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:10)
json: error: <text>:1:22: [{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}]
json: error: <text>:1:22:                      ^
command failed: json-litex -d '[{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}]'
$ json-litex -d '{"baz":{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}}}'
json: error: <text>:1:35: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:23)
json: error: <text>:1:35: baz":{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}}}
json: error: <text>:1:35:                                 ^
command failed: json-litex -d '{"baz":{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}}}'
$ json-litex -d '{"baz":[{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}]}'
json: error: <text>:1:29: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:17)
json: error: <text>:1:29: {"baz":[{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}]}
json: error: <text>:1:29:                             ^
command failed: json-litex -d '{"baz":[{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}]}'
$ json-litex -d '[{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}}]'
json: error: <text>:1:29: filter library: attribute error: invalid array: multiple inner objects (previous defined at 1:17)
json: error: <text>:1:29: [{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}}]
json: error: <text>:1:29:                             ^
command failed: json-litex -d '[{"bar":{"foo":[{"a":"`x`"},{"b":"`y`"},"c"]}}]'
$

--[ error-pos ]-----------------------------------------------------------------

#
# # meta command:
# $ for w in '' ' ' '<' '(' '{'; do for x in '' '\t' '>' ')' '}'; do for y in '' '\n'; do for z in '' 'foo'; do L="\$'r\"(/\n\n\t\\\\g$w$x$y$z/X)\"'"; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done
#
$ json-litex -d $'r"(/\n\n\t\\g/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g/X)"'
$ json-litex -d $'r"(/\n\n\t\\gfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\gfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\gfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g\t/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g\t/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g\t/X)"'
$ json-litex -d $'r"(/\n\n\t\\g\tfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g\tfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g\tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g\t\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g\t\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g\t\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g\t\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g\t\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g\t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g>/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g>/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g>/X)"'
$ json-litex -d $'r"(/\n\n\t\\g>foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g>foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g>foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g>\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g>\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g>\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g>\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g>\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g>\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g)/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g)/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g)/X)"'
$ json-litex -d $'r"(/\n\n\t\\g)foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g)foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g)foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g)\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g)\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g)\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g)\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g)\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g)\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g}/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g}/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g}/X)"'
$ json-litex -d $'r"(/\n\n\t\\g}foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g}foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g}foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g}\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g}\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g}\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g}\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g}\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g}\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g /X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g /X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g /X)"'
$ json-litex -d $'r"(/\n\n\t\\g foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g \n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g \n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g \n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g \nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g \nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g \nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g \t/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g \t/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g \t/X)"'
$ json-litex -d $'r"(/\n\n\t\\g \tfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g \tfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g \tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g \t\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g \t\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g \t\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g \t\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g \t\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g \t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g >/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g >/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g >/X)"'
$ json-litex -d $'r"(/\n\n\t\\g >foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g >foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g >foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g >\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g >\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g >\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g >\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g >\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g >\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g )/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g )/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g )/X)"'
$ json-litex -d $'r"(/\n\n\t\\g )foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g )foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g )foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g )\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g )\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g )\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g )\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g )\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g )\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g }/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g }/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g }/X)"'
$ json-litex -d $'r"(/\n\n\t\\g }foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g }foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g }foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g }\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g }\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g }\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g }\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g }\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g }\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g</X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g</X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g</X)"'
$ json-litex -d $'r"(/\n\n\t\\g<foo/X)"'
json: error: <text>:3:8: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:3:8: r"(/\n\n\t\\g<foo/X)"
json: error: <text>:3:8:                  ^
command failed: json-litex -d $'r"(/\n\n\t\\g<foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<\t/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<\t/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<\t/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<\tfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<\tfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<\tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<\t\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<\t\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<\t\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<\t\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<\t\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<\t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<>/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<>/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<>/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<>foo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<>foo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<>foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<>\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<>\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<>\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<>\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<>\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<>\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<)/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<)/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<)/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<)foo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<)foo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<)foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<)\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<)\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<)\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<)\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<)\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<)\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<}/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<}/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<}/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<}foo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<}foo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<}foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<}\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<}\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<}\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g<}\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g<}\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g<}\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(\t/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(\t/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(\t/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(\tfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(\tfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(\tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(\t\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(\t\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(\t\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(\t\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(\t\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(\t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(>/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(>/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(>/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(>foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(>foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(>foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(>\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(>\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(>\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(>\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(>\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(>\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g()/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g()/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g()/X)"'
$ json-litex -d $'r"(/\n\n\t\\g()foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g()foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g()foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g()\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g()\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g()\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g()\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g()\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g()\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(}/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(}/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(}/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(}foo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(}foo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(}foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(}\n/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(}\n/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(}\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g(}\nfoo/X)"'
json: error: <text>:3:4: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:4: r"(/\n\n\t\\g(}\nfoo/X)"
json: error: <text>:3:4:              ^
command failed: json-litex -d $'r"(/\n\n\t\\g(}\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{foo/X)"'
json: error: <text>:3:8: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:3:8: r"(/\n\n\t\\g{foo/X)"
json: error: <text>:3:8:                  ^
command failed: json-litex -d $'r"(/\n\n\t\\g{foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{\t/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{\t/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{\t/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{\tfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{\tfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{\tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{\t\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{\t\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{\t\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{\t\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{\t\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{\t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{>/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{>/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{>/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{>foo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{>foo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{>foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{>\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{>\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{>\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{>\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{>\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{>\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{)/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{)/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{)/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{)foo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{)foo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{)foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{)\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{)\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{)\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{)\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{)\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{)\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{}/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{}/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{}/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{}foo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{}foo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{}foo/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{}\n/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{}\n/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{}\n/X)"'
$ json-litex -d $'r"(/\n\n\t\\g{}\nfoo/X)"'
json: error: <text>:3:5: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:5: r"(/\n\n\t\\g{}\nfoo/X)"
json: error: <text>:3:5:               ^
command failed: json-litex -d $'r"(/\n\n\t\\g{}\nfoo/X)"'
$

--[ error-pos2 ]----------------------------------------------------------------

#
# # meta command:
# $ for w in '' ' ' '<' '(' '{'; do for x in '' '\t' '>' ')' '}'; do for y in '' '\n'; do for z in '' 'foo'; do L="\$'r\"(/\n\n\t//////\\\\g$w$x$y$z/X)\"'"; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done
#
$ json-litex -d $'r"(/\n\n\t//////\\g/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\gfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\gfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\gfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g\t/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g\t/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g\t/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g\tfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g\tfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g\tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g\t\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g\t\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g\t\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g\t\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g\t\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g\t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g>/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g>/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g>/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g>foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g>foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g>foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g>\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g>\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g>\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g>\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g>\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g>\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g)/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g)/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g)/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g)foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g)foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g)foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g)\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g)\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g)\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g)\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g)\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g)\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g}/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g}/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g}/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g}foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g}foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g}foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g}\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g}\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g}\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g}\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g}\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g}\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g /X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g /X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g /X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g \n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g \n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g \n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g \nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g \nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g \nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g \t/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g \t/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g \t/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g \tfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g \tfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g \tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g \t\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g \t\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g \t\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g \t\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g \t\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g \t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g >/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g >/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g >/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g >foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g >foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g >foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g >\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g >\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g >\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g >\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g >\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g >\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g )/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g )/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g )/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g )foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g )foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g )foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g )\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g )\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g )\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g )\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g )\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g )\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g }/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g }/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g }/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g }foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g }foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g }foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g }\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g }\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g }\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g }\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g }\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g }\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g</X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g</X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g</X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<foo/X)"'
json: error: <text>:3:14: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:3:14: r"(/\n\n\t//////\\g<foo/X)"
json: error: <text>:3:14:                        ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<\t/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<\t/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<\t/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<\tfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<\tfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<\tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<\t\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<\t\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<\t\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<\t\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<\t\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<\t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<>/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<>/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<>/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<>foo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<>foo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<>foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<>\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<>\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<>\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<>\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<>\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<>\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<)/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<)/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<)/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<)foo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<)foo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<)foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<)\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<)\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<)\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<)\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<)\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<)\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<}/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<}/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<}/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<}foo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<}foo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<}foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<}\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<}\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<}\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g<}\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g<}\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g<}\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(\t/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(\t/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(\t/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(\tfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(\tfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(\tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(\t\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(\t\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(\t\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(\t\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(\t\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(\t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(>/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(>/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(>/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(>foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(>foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(>foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(>\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(>\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(>\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(>\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(>\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(>\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g()/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g()/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g()/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g()foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g()foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g()foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g()\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g()\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g()\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g()\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g()\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g()\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(}/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(}/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(}/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(}foo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(}foo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(}foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(}\n/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(}\n/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(}\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g(}\nfoo/X)"'
json: error: <text>:3:10: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:3:10: r"(/\n\n\t//////\\g(}\nfoo/X)"
json: error: <text>:3:10:                    ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g(}\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{foo/X)"'
json: error: <text>:3:14: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:3:14: r"(/\n\n\t//////\\g{foo/X)"
json: error: <text>:3:14:                        ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{\t/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{\t/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{\t/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{\tfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{\tfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{\tfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{\t\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{\t\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{\t\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{\t\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{\t\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{\t\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{>/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{>/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{>/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{>foo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{>foo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{>foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{>\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{>\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{>\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{>\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{>\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{>\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{)/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{)/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{)/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{)foo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{)foo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{)foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{)\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{)\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{)\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{)\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{)\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{)\nfoo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{}/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{}/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{}/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{}foo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{}foo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{}foo/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{}\n/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{}\n/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{}\n/X)"'
$ json-litex -d $'r"(/\n\n\t//////\\g{}\nfoo/X)"'
json: error: <text>:3:11: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:3:11: r"(/\n\n\t//////\\g{}\nfoo/X)"
json: error: <text>:3:11:                     ^
command failed: json-litex -d $'r"(/\n\n\t//////\\g{}\nfoo/X)"'
$

--[ error-pos3 ]----------------------------------------------------------------

#
# # meta command:
# $ for w in '' ' ' '<' '(' '{'; do for x in '' '\t' '>' ')' '}'; do for y in '' '\n'; do for z in '' 'foo'; do L="\$'r\"(///////\\\\g$w$x$y$z/X)\"'"; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done
#
$ json-litex -d $'r"(///////\\g/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g/X)"'
$ json-litex -d $'r"(///////\\gfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\gfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\gfoo/X)"'
$ json-litex -d $'r"(///////\\g\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g\n/X)"'
$ json-litex -d $'r"(///////\\g\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g\nfoo/X)"'
$ json-litex -d $'r"(///////\\g\t/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g\t/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g\t/X)"'
$ json-litex -d $'r"(///////\\g\tfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g\tfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g\tfoo/X)"'
$ json-litex -d $'r"(///////\\g\t\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g\t\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g\t\n/X)"'
$ json-litex -d $'r"(///////\\g\t\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g\t\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g\t\nfoo/X)"'
$ json-litex -d $'r"(///////\\g>/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g>/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g>/X)"'
$ json-litex -d $'r"(///////\\g>foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g>foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g>foo/X)"'
$ json-litex -d $'r"(///////\\g>\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g>\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g>\n/X)"'
$ json-litex -d $'r"(///////\\g>\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g>\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g>\nfoo/X)"'
$ json-litex -d $'r"(///////\\g)/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g)/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g)/X)"'
$ json-litex -d $'r"(///////\\g)foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g)foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g)foo/X)"'
$ json-litex -d $'r"(///////\\g)\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g)\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g)\n/X)"'
$ json-litex -d $'r"(///////\\g)\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g)\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g)\nfoo/X)"'
$ json-litex -d $'r"(///////\\g}/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g}/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g}/X)"'
$ json-litex -d $'r"(///////\\g}foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g}foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g}foo/X)"'
$ json-litex -d $'r"(///////\\g}\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g}\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g}\n/X)"'
$ json-litex -d $'r"(///////\\g}\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g}\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g}\nfoo/X)"'
$ json-litex -d $'r"(///////\\g /X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g /X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g /X)"'
$ json-litex -d $'r"(///////\\g foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g foo/X)"'
$ json-litex -d $'r"(///////\\g \n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g \n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g \n/X)"'
$ json-litex -d $'r"(///////\\g \nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g \nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g \nfoo/X)"'
$ json-litex -d $'r"(///////\\g \t/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g \t/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g \t/X)"'
$ json-litex -d $'r"(///////\\g \tfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g \tfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g \tfoo/X)"'
$ json-litex -d $'r"(///////\\g \t\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g \t\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g \t\n/X)"'
$ json-litex -d $'r"(///////\\g \t\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g \t\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g \t\nfoo/X)"'
$ json-litex -d $'r"(///////\\g >/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g >/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g >/X)"'
$ json-litex -d $'r"(///////\\g >foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g >foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g >foo/X)"'
$ json-litex -d $'r"(///////\\g >\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g >\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g >\n/X)"'
$ json-litex -d $'r"(///////\\g >\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g >\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g >\nfoo/X)"'
$ json-litex -d $'r"(///////\\g )/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g )/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g )/X)"'
$ json-litex -d $'r"(///////\\g )foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g )foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g )foo/X)"'
$ json-litex -d $'r"(///////\\g )\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g )\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g )\n/X)"'
$ json-litex -d $'r"(///////\\g )\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g )\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g )\nfoo/X)"'
$ json-litex -d $'r"(///////\\g }/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g }/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g }/X)"'
$ json-litex -d $'r"(///////\\g }foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g }foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g }foo/X)"'
$ json-litex -d $'r"(///////\\g }\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g }\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g }\n/X)"'
$ json-litex -d $'r"(///////\\g }\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g }\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g }\nfoo/X)"'
$ json-litex -d $'r"(///////\\g</X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g</X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g</X)"'
$ json-litex -d $'r"(///////\\g<foo/X)"'
json: error: <text>:1:17: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:1:17: r"(///////\\g<foo/X)"
json: error: <text>:1:17:                  ^
command failed: json-litex -d $'r"(///////\\g<foo/X)"'
$ json-litex -d $'r"(///////\\g<\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<\n/X)"'
$ json-litex -d $'r"(///////\\g<\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<\nfoo/X)"'
$ json-litex -d $'r"(///////\\g<\t/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<\t/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<\t/X)"'
$ json-litex -d $'r"(///////\\g<\tfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<\tfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<\tfoo/X)"'
$ json-litex -d $'r"(///////\\g<\t\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<\t\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<\t\n/X)"'
$ json-litex -d $'r"(///////\\g<\t\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<\t\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<\t\nfoo/X)"'
$ json-litex -d $'r"(///////\\g<>/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<>/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<>/X)"'
$ json-litex -d $'r"(///////\\g<>foo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<>foo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<>foo/X)"'
$ json-litex -d $'r"(///////\\g<>\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<>\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<>\n/X)"'
$ json-litex -d $'r"(///////\\g<>\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<>\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<>\nfoo/X)"'
$ json-litex -d $'r"(///////\\g<)/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<)/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<)/X)"'
$ json-litex -d $'r"(///////\\g<)foo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<)foo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<)foo/X)"'
$ json-litex -d $'r"(///////\\g<)\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<)\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<)\n/X)"'
$ json-litex -d $'r"(///////\\g<)\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<)\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<)\nfoo/X)"'
$ json-litex -d $'r"(///////\\g<}/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<}/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<}/X)"'
$ json-litex -d $'r"(///////\\g<}foo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<}foo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<}foo/X)"'
$ json-litex -d $'r"(///////\\g<}\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<}\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<}\n/X)"'
$ json-litex -d $'r"(///////\\g<}\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g<}\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g<}\nfoo/X)"'
$ json-litex -d $'r"(///////\\g(/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(/X)"'
$ json-litex -d $'r"(///////\\g(foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(foo/X)"'
$ json-litex -d $'r"(///////\\g(\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(\n/X)"'
$ json-litex -d $'r"(///////\\g(\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(\nfoo/X)"'
$ json-litex -d $'r"(///////\\g(\t/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(\t/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(\t/X)"'
$ json-litex -d $'r"(///////\\g(\tfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(\tfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(\tfoo/X)"'
$ json-litex -d $'r"(///////\\g(\t\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(\t\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(\t\n/X)"'
$ json-litex -d $'r"(///////\\g(\t\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(\t\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(\t\nfoo/X)"'
$ json-litex -d $'r"(///////\\g(>/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(>/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(>/X)"'
$ json-litex -d $'r"(///////\\g(>foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(>foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(>foo/X)"'
$ json-litex -d $'r"(///////\\g(>\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(>\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(>\n/X)"'
$ json-litex -d $'r"(///////\\g(>\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(>\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(>\nfoo/X)"'
$ json-litex -d $'r"(///////\\g()/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g()/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g()/X)"'
$ json-litex -d $'r"(///////\\g()foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g()foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g()foo/X)"'
$ json-litex -d $'r"(///////\\g()\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g()\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g()\n/X)"'
$ json-litex -d $'r"(///////\\g()\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g()\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g()\nfoo/X)"'
$ json-litex -d $'r"(///////\\g(}/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(}/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(}/X)"'
$ json-litex -d $'r"(///////\\g(}foo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(}foo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(}foo/X)"'
$ json-litex -d $'r"(///////\\g(}\n/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(}\n/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(}\n/X)"'
$ json-litex -d $'r"(///////\\g(}\nfoo/X)"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:13: r"(///////\\g(}\nfoo/X)"
json: error: <text>:1:13:              ^
command failed: json-litex -d $'r"(///////\\g(}\nfoo/X)"'
$ json-litex -d $'r"(///////\\g{/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{/X)"'
$ json-litex -d $'r"(///////\\g{foo/X)"'
json: error: <text>:1:17: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:1:17: r"(///////\\g{foo/X)"
json: error: <text>:1:17:                  ^
command failed: json-litex -d $'r"(///////\\g{foo/X)"'
$ json-litex -d $'r"(///////\\g{\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{\n/X)"'
$ json-litex -d $'r"(///////\\g{\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{\nfoo/X)"'
$ json-litex -d $'r"(///////\\g{\t/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{\t/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{\t/X)"'
$ json-litex -d $'r"(///////\\g{\tfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{\tfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{\tfoo/X)"'
$ json-litex -d $'r"(///////\\g{\t\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{\t\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{\t\n/X)"'
$ json-litex -d $'r"(///////\\g{\t\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{\t\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{\t\nfoo/X)"'
$ json-litex -d $'r"(///////\\g{>/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{>/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{>/X)"'
$ json-litex -d $'r"(///////\\g{>foo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{>foo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{>foo/X)"'
$ json-litex -d $'r"(///////\\g{>\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{>\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{>\n/X)"'
$ json-litex -d $'r"(///////\\g{>\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{>\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{>\nfoo/X)"'
$ json-litex -d $'r"(///////\\g{)/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{)/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{)/X)"'
$ json-litex -d $'r"(///////\\g{)foo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{)foo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{)foo/X)"'
$ json-litex -d $'r"(///////\\g{)\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{)\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{)\n/X)"'
$ json-litex -d $'r"(///////\\g{)\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{)\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{)\nfoo/X)"'
$ json-litex -d $'r"(///////\\g{}/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{}/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{}/X)"'
$ json-litex -d $'r"(///////\\g{}foo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{}foo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{}foo/X)"'
$ json-litex -d $'r"(///////\\g{}\n/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{}\n/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{}\n/X)"'
$ json-litex -d $'r"(///////\\g{}\nfoo/X)"'
json: error: <text>:1:14: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:14: r"(///////\\g{}\nfoo/X)"
json: error: <text>:1:14:               ^
command failed: json-litex -d $'r"(///////\\g{}\nfoo/X)"'
$

--[ error-pos4 ]----------------------------------------------------------------

#
# # meta command:
# $ for w in '' ' ' '<' '(' '{'; do for x in '' '\t' '>' ')' '}'; do for y in '' '\n'; do for z in '' 'foo'; do L="'\"/\n\n\t\\\\g$w$x$y$z/X\"'"; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done
#
$ json-litex -d '"/\n\n\t\\g/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g/X"'
$ json-litex -d '"/\n\n\t\\gfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\gfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\gfoo/X"'
$ json-litex -d '"/\n\n\t\\g\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g\n/X"'
$ json-litex -d '"/\n\n\t\\g\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g\t/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g\\t/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g\t/X"'
$ json-litex -d '"/\n\n\t\\g\tfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g\\tfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g\tfoo/X"'
$ json-litex -d '"/\n\n\t\\g\t\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g\\t\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g\t\n/X"'
$ json-litex -d '"/\n\n\t\\g\t\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g\\t\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g\t\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g>/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g>/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g>/X"'
$ json-litex -d '"/\n\n\t\\g>foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g>foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g>foo/X"'
$ json-litex -d '"/\n\n\t\\g>\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g>\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g>\n/X"'
$ json-litex -d '"/\n\n\t\\g>\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g>\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g>\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g)/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g)/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g)/X"'
$ json-litex -d '"/\n\n\t\\g)foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g)foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g)foo/X"'
$ json-litex -d '"/\n\n\t\\g)\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g)\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g)\n/X"'
$ json-litex -d '"/\n\n\t\\g)\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g)\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g)\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g}/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g}/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g}/X"'
$ json-litex -d '"/\n\n\t\\g}foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g}foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g}foo/X"'
$ json-litex -d '"/\n\n\t\\g}\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g}\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g}\n/X"'
$ json-litex -d '"/\n\n\t\\g}\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g}\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g}\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g /X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g /X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g /X"'
$ json-litex -d '"/\n\n\t\\g foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g foo/X"'
$ json-litex -d '"/\n\n\t\\g \n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g \\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g \n/X"'
$ json-litex -d '"/\n\n\t\\g \nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g \\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g \nfoo/X"'
$ json-litex -d '"/\n\n\t\\g \t/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g \\t/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g \t/X"'
$ json-litex -d '"/\n\n\t\\g \tfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g \\tfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g \tfoo/X"'
$ json-litex -d '"/\n\n\t\\g \t\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g \\t\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g \t\n/X"'
$ json-litex -d '"/\n\n\t\\g \t\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g \\t\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g \t\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g >/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g >/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g >/X"'
$ json-litex -d '"/\n\n\t\\g >foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g >foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g >foo/X"'
$ json-litex -d '"/\n\n\t\\g >\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g >\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g >\n/X"'
$ json-litex -d '"/\n\n\t\\g >\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g >\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g >\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g )/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g )/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g )/X"'
$ json-litex -d '"/\n\n\t\\g )foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g )foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g )foo/X"'
$ json-litex -d '"/\n\n\t\\g )\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g )\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g )\n/X"'
$ json-litex -d '"/\n\n\t\\g )\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g )\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g )\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g }/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g }/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g }/X"'
$ json-litex -d '"/\n\n\t\\g }foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g }foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g }foo/X"'
$ json-litex -d '"/\n\n\t\\g }\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g }\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g }\n/X"'
$ json-litex -d '"/\n\n\t\\g }\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g }\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g }\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g</X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g</X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g</X"'
$ json-litex -d '"/\n\n\t\\g<foo/X"'
json: error: <text>:1:16: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:1:16: "/\\n\\n\\t\\\\g<foo/X"
json: error: <text>:1:16:                     ^
command failed: json-litex -d '"/\n\n\t\\g<foo/X"'
$ json-litex -d '"/\n\n\t\\g<\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<\n/X"'
$ json-litex -d '"/\n\n\t\\g<\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g<\t/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<\\t/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<\t/X"'
$ json-litex -d '"/\n\n\t\\g<\tfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<\\tfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<\tfoo/X"'
$ json-litex -d '"/\n\n\t\\g<\t\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<\\t\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<\t\n/X"'
$ json-litex -d '"/\n\n\t\\g<\t\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<\\t\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<\t\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g<>/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<>/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<>/X"'
$ json-litex -d '"/\n\n\t\\g<>foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<>foo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<>foo/X"'
$ json-litex -d '"/\n\n\t\\g<>\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<>\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<>\n/X"'
$ json-litex -d '"/\n\n\t\\g<>\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<>\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<>\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g<)/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<)/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<)/X"'
$ json-litex -d '"/\n\n\t\\g<)foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<)foo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<)foo/X"'
$ json-litex -d '"/\n\n\t\\g<)\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<)\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<)\n/X"'
$ json-litex -d '"/\n\n\t\\g<)\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<)\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<)\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g<}/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<}/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<}/X"'
$ json-litex -d '"/\n\n\t\\g<}foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<}foo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<}foo/X"'
$ json-litex -d '"/\n\n\t\\g<}\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<}\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<}\n/X"'
$ json-litex -d '"/\n\n\t\\g<}\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g<}\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g<}\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g(/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(/X"'
$ json-litex -d '"/\n\n\t\\g(foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(foo/X"'
$ json-litex -d '"/\n\n\t\\g(\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(\n/X"'
$ json-litex -d '"/\n\n\t\\g(\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g(\t/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(\\t/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(\t/X"'
$ json-litex -d '"/\n\n\t\\g(\tfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(\\tfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(\tfoo/X"'
$ json-litex -d '"/\n\n\t\\g(\t\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(\\t\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(\t\n/X"'
$ json-litex -d '"/\n\n\t\\g(\t\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(\\t\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(\t\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g(>/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(>/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(>/X"'
$ json-litex -d '"/\n\n\t\\g(>foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(>foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(>foo/X"'
$ json-litex -d '"/\n\n\t\\g(>\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(>\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(>\n/X"'
$ json-litex -d '"/\n\n\t\\g(>\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(>\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(>\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g()/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g()/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g()/X"'
$ json-litex -d '"/\n\n\t\\g()foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g()foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g()foo/X"'
$ json-litex -d '"/\n\n\t\\g()\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g()\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g()\n/X"'
$ json-litex -d '"/\n\n\t\\g()\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g()\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g()\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g(}/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(}/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(}/X"'
$ json-litex -d '"/\n\n\t\\g(}foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(}foo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(}foo/X"'
$ json-litex -d '"/\n\n\t\\g(}\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(}\\n/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(}\n/X"'
$ json-litex -d '"/\n\n\t\\g(}\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "/\\n\\n\\t\\\\g(}\\nfoo/X"
json: error: <text>:1:12:                 ^
command failed: json-litex -d '"/\n\n\t\\g(}\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g{/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{/X"'
$ json-litex -d '"/\n\n\t\\g{foo/X"'
json: error: <text>:1:16: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:1:16: "/\\n\\n\\t\\\\g{foo/X"
json: error: <text>:1:16:                     ^
command failed: json-litex -d '"/\n\n\t\\g{foo/X"'
$ json-litex -d '"/\n\n\t\\g{\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{\n/X"'
$ json-litex -d '"/\n\n\t\\g{\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g{\t/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{\\t/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{\t/X"'
$ json-litex -d '"/\n\n\t\\g{\tfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{\\tfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{\tfoo/X"'
$ json-litex -d '"/\n\n\t\\g{\t\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{\\t\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{\t\n/X"'
$ json-litex -d '"/\n\n\t\\g{\t\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{\\t\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{\t\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g{>/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{>/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{>/X"'
$ json-litex -d '"/\n\n\t\\g{>foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{>foo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{>foo/X"'
$ json-litex -d '"/\n\n\t\\g{>\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{>\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{>\n/X"'
$ json-litex -d '"/\n\n\t\\g{>\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{>\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{>\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g{)/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{)/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{)/X"'
$ json-litex -d '"/\n\n\t\\g{)foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{)foo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{)foo/X"'
$ json-litex -d '"/\n\n\t\\g{)\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{)\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{)\n/X"'
$ json-litex -d '"/\n\n\t\\g{)\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{)\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{)\nfoo/X"'
$ json-litex -d '"/\n\n\t\\g{}/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{}/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{}/X"'
$ json-litex -d '"/\n\n\t\\g{}foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{}foo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{}foo/X"'
$ json-litex -d '"/\n\n\t\\g{}\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{}\\n/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{}\n/X"'
$ json-litex -d '"/\n\n\t\\g{}\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "/\\n\\n\\t\\\\g{}\\nfoo/X"
json: error: <text>:1:13:                  ^
command failed: json-litex -d '"/\n\n\t\\g{}\nfoo/X"'
$

--[ error-pos5 ]----------------------------------------------------------------

#
# # meta command:
# $ for w in '' ' ' '<' '(' '{'; do for x in '' '\t' '>' ')' '}'; do for y in '' '\n'; do for z in '' 'foo'; do L="'\"/\n\n\t//////\\\\g$w$x$y$z/X\"'"; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done
#
$ json-litex -d '"/\n\n\t//////\\g/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g/X"'
$ json-litex -d '"/\n\n\t//////\\gfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\gfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\gfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g\n/X"'
$ json-litex -d '"/\n\n\t//////\\g\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g\t/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g\\t/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g\t/X"'
$ json-litex -d '"/\n\n\t//////\\g\tfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g\\tfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g\tfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g\t\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g\\t\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g\t\n/X"'
$ json-litex -d '"/\n\n\t//////\\g\t\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g\\t\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g\t\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g>/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g>/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g>/X"'
$ json-litex -d '"/\n\n\t//////\\g>foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g>foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g>foo/X"'
$ json-litex -d '"/\n\n\t//////\\g>\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g>\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g>\n/X"'
$ json-litex -d '"/\n\n\t//////\\g>\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g>\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g>\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g)/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g)/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g)/X"'
$ json-litex -d '"/\n\n\t//////\\g)foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g)foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g)foo/X"'
$ json-litex -d '"/\n\n\t//////\\g)\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g)\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g)\n/X"'
$ json-litex -d '"/\n\n\t//////\\g)\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g)\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g)\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g}/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g}/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g}/X"'
$ json-litex -d '"/\n\n\t//////\\g}foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g}foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g}foo/X"'
$ json-litex -d '"/\n\n\t//////\\g}\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g}\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g}\n/X"'
$ json-litex -d '"/\n\n\t//////\\g}\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g}\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g}\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g /X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g /X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g /X"'
$ json-litex -d '"/\n\n\t//////\\g foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g foo/X"'
$ json-litex -d '"/\n\n\t//////\\g \n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g \\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g \n/X"'
$ json-litex -d '"/\n\n\t//////\\g \nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g \\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g \nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g \t/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g \\t/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g \t/X"'
$ json-litex -d '"/\n\n\t//////\\g \tfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g \\tfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g \tfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g \t\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g \\t\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g \t\n/X"'
$ json-litex -d '"/\n\n\t//////\\g \t\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g \\t\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g \t\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g >/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g >/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g >/X"'
$ json-litex -d '"/\n\n\t//////\\g >foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g >foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g >foo/X"'
$ json-litex -d '"/\n\n\t//////\\g >\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g >\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g >\n/X"'
$ json-litex -d '"/\n\n\t//////\\g >\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g >\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g >\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g )/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g )/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g )/X"'
$ json-litex -d '"/\n\n\t//////\\g )foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g )foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g )foo/X"'
$ json-litex -d '"/\n\n\t//////\\g )\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g )\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g )\n/X"'
$ json-litex -d '"/\n\n\t//////\\g )\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g )\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g )\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g }/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g }/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g }/X"'
$ json-litex -d '"/\n\n\t//////\\g }foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g }foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g }foo/X"'
$ json-litex -d '"/\n\n\t//////\\g }\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g }\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g }\n/X"'
$ json-litex -d '"/\n\n\t//////\\g }\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g }\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g }\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g</X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g</X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g</X"'
$ json-litex -d '"/\n\n\t//////\\g<foo/X"'
json: error: <text>:1:22: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:1:22: "/\\n\\n\\t//////\\\\g<foo/X"
json: error: <text>:1:22:                           ^
command failed: json-litex -d '"/\n\n\t//////\\g<foo/X"'
$ json-litex -d '"/\n\n\t//////\\g<\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<\n/X"'
$ json-litex -d '"/\n\n\t//////\\g<\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g<\t/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<\\t/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<\t/X"'
$ json-litex -d '"/\n\n\t//////\\g<\tfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<\\tfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<\tfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g<\t\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<\\t\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<\t\n/X"'
$ json-litex -d '"/\n\n\t//////\\g<\t\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<\\t\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<\t\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g<>/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<>/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<>/X"'
$ json-litex -d '"/\n\n\t//////\\g<>foo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<>foo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<>foo/X"'
$ json-litex -d '"/\n\n\t//////\\g<>\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<>\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<>\n/X"'
$ json-litex -d '"/\n\n\t//////\\g<>\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<>\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<>\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g<)/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<)/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<)/X"'
$ json-litex -d '"/\n\n\t//////\\g<)foo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<)foo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<)foo/X"'
$ json-litex -d '"/\n\n\t//////\\g<)\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<)\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<)\n/X"'
$ json-litex -d '"/\n\n\t//////\\g<)\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<)\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<)\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g<}/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<}/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<}/X"'
$ json-litex -d '"/\n\n\t//////\\g<}foo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<}foo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<}foo/X"'
$ json-litex -d '"/\n\n\t//////\\g<}\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<}\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<}\n/X"'
$ json-litex -d '"/\n\n\t//////\\g<}\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g<}\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g<}\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g(/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(/X"'
$ json-litex -d '"/\n\n\t//////\\g(foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(foo/X"'
$ json-litex -d '"/\n\n\t//////\\g(\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(\n/X"'
$ json-litex -d '"/\n\n\t//////\\g(\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g(\t/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(\\t/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(\t/X"'
$ json-litex -d '"/\n\n\t//////\\g(\tfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(\\tfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(\tfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g(\t\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(\\t\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(\t\n/X"'
$ json-litex -d '"/\n\n\t//////\\g(\t\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(\\t\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(\t\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g(>/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(>/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(>/X"'
$ json-litex -d '"/\n\n\t//////\\g(>foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(>foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(>foo/X"'
$ json-litex -d '"/\n\n\t//////\\g(>\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(>\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(>\n/X"'
$ json-litex -d '"/\n\n\t//////\\g(>\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(>\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(>\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g()/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g()/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g()/X"'
$ json-litex -d '"/\n\n\t//////\\g()foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g()foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g()foo/X"'
$ json-litex -d '"/\n\n\t//////\\g()\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g()\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g()\n/X"'
$ json-litex -d '"/\n\n\t//////\\g()\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g()\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g()\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g(}/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(}/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(}/X"'
$ json-litex -d '"/\n\n\t//////\\g(}foo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(}foo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(}foo/X"'
$ json-litex -d '"/\n\n\t//////\\g(}\n/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(}\\n/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(}\n/X"'
$ json-litex -d '"/\n\n\t//////\\g(}\nfoo/X"'
json: error: <text>:1:18: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:18: "/\\n\\n\\t//////\\\\g(}\\nfoo/X"
json: error: <text>:1:18:                       ^
command failed: json-litex -d '"/\n\n\t//////\\g(}\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g{/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{/X"'
$ json-litex -d '"/\n\n\t//////\\g{foo/X"'
json: error: <text>:1:22: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:1:22: "/\\n\\n\\t//////\\\\g{foo/X"
json: error: <text>:1:22:                           ^
command failed: json-litex -d '"/\n\n\t//////\\g{foo/X"'
$ json-litex -d '"/\n\n\t//////\\g{\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{\n/X"'
$ json-litex -d '"/\n\n\t//////\\g{\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g{\t/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{\\t/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{\t/X"'
$ json-litex -d '"/\n\n\t//////\\g{\tfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{\\tfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{\tfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g{\t\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{\\t\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{\t\n/X"'
$ json-litex -d '"/\n\n\t//////\\g{\t\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{\\t\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{\t\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g{>/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{>/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{>/X"'
$ json-litex -d '"/\n\n\t//////\\g{>foo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{>foo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{>foo/X"'
$ json-litex -d '"/\n\n\t//////\\g{>\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{>\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{>\n/X"'
$ json-litex -d '"/\n\n\t//////\\g{>\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{>\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{>\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g{)/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{)/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{)/X"'
$ json-litex -d '"/\n\n\t//////\\g{)foo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{)foo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{)foo/X"'
$ json-litex -d '"/\n\n\t//////\\g{)\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{)\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{)\n/X"'
$ json-litex -d '"/\n\n\t//////\\g{)\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{)\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{)\nfoo/X"'
$ json-litex -d '"/\n\n\t//////\\g{}/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{}/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{}/X"'
$ json-litex -d '"/\n\n\t//////\\g{}foo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{}foo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{}foo/X"'
$ json-litex -d '"/\n\n\t//////\\g{}\n/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{}\\n/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{}\n/X"'
$ json-litex -d '"/\n\n\t//////\\g{}\nfoo/X"'
json: error: <text>:1:19: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:19: "/\\n\\n\\t//////\\\\g{}\\nfoo/X"
json: error: <text>:1:19:                        ^
command failed: json-litex -d '"/\n\n\t//////\\g{}\nfoo/X"'
$

--[ error-pos6 ]----------------------------------------------------------------

#
# # meta command:
# $ for w in '' ' ' '<' '(' '{'; do for x in '' '\t' '>' ')' '}'; do for y in '' '\n'; do for z in '' 'foo'; do L="'\"///////\\\\g$w$x$y$z/X\"'"; c="json-litex -d $L"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done
#
$ json-litex -d '"///////\\g/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g/X"'
$ json-litex -d '"///////\\gfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\gfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\gfoo/X"'
$ json-litex -d '"///////\\g\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g\n/X"'
$ json-litex -d '"///////\\g\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g\nfoo/X"'
$ json-litex -d '"///////\\g\t/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g\\t/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g\t/X"'
$ json-litex -d '"///////\\g\tfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g\\tfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g\tfoo/X"'
$ json-litex -d '"///////\\g\t\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g\\t\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g\t\n/X"'
$ json-litex -d '"///////\\g\t\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g\\t\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g\t\nfoo/X"'
$ json-litex -d '"///////\\g>/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g>/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g>/X"'
$ json-litex -d '"///////\\g>foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g>foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g>foo/X"'
$ json-litex -d '"///////\\g>\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g>\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g>\n/X"'
$ json-litex -d '"///////\\g>\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g>\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g>\nfoo/X"'
$ json-litex -d '"///////\\g)/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g)/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g)/X"'
$ json-litex -d '"///////\\g)foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g)foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g)foo/X"'
$ json-litex -d '"///////\\g)\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g)\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g)\n/X"'
$ json-litex -d '"///////\\g)\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g)\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g)\nfoo/X"'
$ json-litex -d '"///////\\g}/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g}/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g}/X"'
$ json-litex -d '"///////\\g}foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g}foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g}foo/X"'
$ json-litex -d '"///////\\g}\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g}\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g}\n/X"'
$ json-litex -d '"///////\\g}\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g}\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g}\nfoo/X"'
$ json-litex -d '"///////\\g /X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g /X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g /X"'
$ json-litex -d '"///////\\g foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g foo/X"'
$ json-litex -d '"///////\\g \n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g \\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g \n/X"'
$ json-litex -d '"///////\\g \nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g \\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g \nfoo/X"'
$ json-litex -d '"///////\\g \t/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g \\t/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g \t/X"'
$ json-litex -d '"///////\\g \tfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g \\tfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g \tfoo/X"'
$ json-litex -d '"///////\\g \t\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g \\t\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g \t\n/X"'
$ json-litex -d '"///////\\g \t\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g \\t\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g \t\nfoo/X"'
$ json-litex -d '"///////\\g >/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g >/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g >/X"'
$ json-litex -d '"///////\\g >foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g >foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g >foo/X"'
$ json-litex -d '"///////\\g >\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g >\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g >\n/X"'
$ json-litex -d '"///////\\g >\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g >\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g >\nfoo/X"'
$ json-litex -d '"///////\\g )/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g )/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g )/X"'
$ json-litex -d '"///////\\g )foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g )foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g )foo/X"'
$ json-litex -d '"///////\\g )\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g )\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g )\n/X"'
$ json-litex -d '"///////\\g )\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g )\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g )\nfoo/X"'
$ json-litex -d '"///////\\g }/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g }/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g }/X"'
$ json-litex -d '"///////\\g }foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g }foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g }foo/X"'
$ json-litex -d '"///////\\g }\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g }\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g }\n/X"'
$ json-litex -d '"///////\\g }\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g }\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g }\nfoo/X"'
$ json-litex -d '"///////\\g</X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g</X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g</X"'
$ json-litex -d '"///////\\g<foo/X"'
json: error: <text>:1:16: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:1:16: "///////\\\\g<foo/X"
json: error: <text>:1:16:                  ^
command failed: json-litex -d '"///////\\g<foo/X"'
$ json-litex -d '"///////\\g<\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<\n/X"'
$ json-litex -d '"///////\\g<\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<\nfoo/X"'
$ json-litex -d '"///////\\g<\t/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<\\t/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<\t/X"'
$ json-litex -d '"///////\\g<\tfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<\\tfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<\tfoo/X"'
$ json-litex -d '"///////\\g<\t\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<\\t\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<\t\n/X"'
$ json-litex -d '"///////\\g<\t\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<\\t\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<\t\nfoo/X"'
$ json-litex -d '"///////\\g<>/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<>/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<>/X"'
$ json-litex -d '"///////\\g<>foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<>foo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<>foo/X"'
$ json-litex -d '"///////\\g<>\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<>\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<>\n/X"'
$ json-litex -d '"///////\\g<>\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<>\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<>\nfoo/X"'
$ json-litex -d '"///////\\g<)/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<)/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<)/X"'
$ json-litex -d '"///////\\g<)foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<)foo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<)foo/X"'
$ json-litex -d '"///////\\g<)\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<)\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<)\n/X"'
$ json-litex -d '"///////\\g<)\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<)\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<)\nfoo/X"'
$ json-litex -d '"///////\\g<}/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<}/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<}/X"'
$ json-litex -d '"///////\\g<}foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<}foo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<}foo/X"'
$ json-litex -d '"///////\\g<}\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<}\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<}\n/X"'
$ json-litex -d '"///////\\g<}\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g<}\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g<}\nfoo/X"'
$ json-litex -d '"///////\\g(/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(/X"'
$ json-litex -d '"///////\\g(foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(foo/X"'
$ json-litex -d '"///////\\g(\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(\n/X"'
$ json-litex -d '"///////\\g(\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(\nfoo/X"'
$ json-litex -d '"///////\\g(\t/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(\\t/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(\t/X"'
$ json-litex -d '"///////\\g(\tfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(\\tfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(\tfoo/X"'
$ json-litex -d '"///////\\g(\t\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(\\t\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(\t\n/X"'
$ json-litex -d '"///////\\g(\t\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(\\t\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(\t\nfoo/X"'
$ json-litex -d '"///////\\g(>/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(>/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(>/X"'
$ json-litex -d '"///////\\g(>foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(>foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(>foo/X"'
$ json-litex -d '"///////\\g(>\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(>\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(>\n/X"'
$ json-litex -d '"///////\\g(>\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(>\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(>\nfoo/X"'
$ json-litex -d '"///////\\g()/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g()/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g()/X"'
$ json-litex -d '"///////\\g()foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g()foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g()foo/X"'
$ json-litex -d '"///////\\g()\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g()\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g()\n/X"'
$ json-litex -d '"///////\\g()\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g()\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g()\nfoo/X"'
$ json-litex -d '"///////\\g(}/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(}/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(}/X"'
$ json-litex -d '"///////\\g(}foo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(}foo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(}foo/X"'
$ json-litex -d '"///////\\g(}\n/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(}\\n/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(}\n/X"'
$ json-litex -d '"///////\\g(}\nfoo/X"'
json: error: <text>:1:12: filter library: expression error: pcre2 compile: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
json: error: <text>:1:12: "///////\\\\g(}\\nfoo/X"
json: error: <text>:1:12:              ^
command failed: json-litex -d '"///////\\g(}\nfoo/X"'
$ json-litex -d '"///////\\g{/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{/X"'
$ json-litex -d '"///////\\g{foo/X"'
json: error: <text>:1:16: filter library: expression error: pcre2 compile: syntax error in subpattern name (missing terminator)
json: error: <text>:1:16: "///////\\\\g{foo/X"
json: error: <text>:1:16:                  ^
command failed: json-litex -d '"///////\\g{foo/X"'
$ json-litex -d '"///////\\g{\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{\n/X"'
$ json-litex -d '"///////\\g{\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{\nfoo/X"'
$ json-litex -d '"///////\\g{\t/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{\\t/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{\t/X"'
$ json-litex -d '"///////\\g{\tfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{\\tfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{\tfoo/X"'
$ json-litex -d '"///////\\g{\t\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{\\t\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{\t\n/X"'
$ json-litex -d '"///////\\g{\t\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{\\t\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{\t\nfoo/X"'
$ json-litex -d '"///////\\g{>/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{>/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{>/X"'
$ json-litex -d '"///////\\g{>foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{>foo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{>foo/X"'
$ json-litex -d '"///////\\g{>\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{>\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{>\n/X"'
$ json-litex -d '"///////\\g{>\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{>\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{>\nfoo/X"'
$ json-litex -d '"///////\\g{)/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{)/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{)/X"'
$ json-litex -d '"///////\\g{)foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{)foo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{)foo/X"'
$ json-litex -d '"///////\\g{)\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{)\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{)\n/X"'
$ json-litex -d '"///////\\g{)\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{)\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{)\nfoo/X"'
$ json-litex -d '"///////\\g{}/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{}/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{}/X"'
$ json-litex -d '"///////\\g{}foo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{}foo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{}foo/X"'
$ json-litex -d '"///////\\g{}\n/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{}\\n/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{}\n/X"'
$ json-litex -d '"///////\\g{}\nfoo/X"'
json: error: <text>:1:13: filter library: expression error: pcre2 compile: subpattern name expected
json: error: <text>:1:13: "///////\\\\g{}\\nfoo/X"
json: error: <text>:1:13:               ^
command failed: json-litex -d '"///////\\g{}\nfoo/X"'
$

$

--[ rex-dup ]-------------------------------------------------------------------

$ gen-litex() { local n=16; [[ "$1" =~ ^-[0-9]+$ ]] && n="${1:1}"; local m="$((n + 1))"; [[ "$2" =~ ^-[0-9]+$ ]] && m="${2:1}"; local i; echo -n '{'; for((i=0;i<n;i++));do printf '"%s":"/%s/"' $i $((i%m)); [ "$((n - i))" -gt 1 ] && echo -n ","; done; echo '}'; }
$ diff-litex() { local n=16; [[ "$1" =~ ^-[0-9]+$ ]] && n="${1:1}"; diff -u -L16 <(json-litex -d "$(gen-litex -16 -16)") -L$n <(json-litex -d "$(gen-litex -16 -$n)"); true; }
$ json-litex -d "$(gen-litex -16)"
{
    "rexes": {
        "size": 16,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "0",
                "opts": ""
            },
            {
                "text": "1",
                "opts": ""
            },
            {
                "text": "2",
                "opts": ""
            },
            {
                "text": "3",
                "opts": ""
            },
            {
                "text": "4",
                "opts": ""
            },
            {
                "text": "5",
                "opts": ""
            },
            {
                "text": "6",
                "opts": ""
            },
            {
                "text": "7",
                "opts": ""
            },
            {
                "text": "8",
                "opts": ""
            },
            {
                "text": "9",
                "opts": ""
            },
            {
                "text": "10",
                "opts": ""
            },
            {
                "text": "11",
                "opts": ""
            },
            {
                "text": "12",
                "opts": ""
            },
            {
                "text": "13",
                "opts": ""
            },
            {
                "text": "14",
                "opts": ""
            },
            {
                "text": "15",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 54,
        "type": "object",
        "node": {
            "size": 16,
            "args": [
                {
                    "key": {
                        "val": "0",
                        "delim": null
                    },
                    "val": {
                        "id": 5,
                        "type": "string",
                        "node": {
                            "val": "/0/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 0
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 0
                    }
                },
                {
                    "key": {
                        "val": "1",
                        "delim": null
                    },
                    "val": {
                        "id": 8,
                        "type": "string",
                        "node": {
                            "val": "/1/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 1
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 1
                    }
                },
                {
                    "key": {
                        "val": "2",
                        "delim": null
                    },
                    "val": {
                        "id": 11,
                        "type": "string",
                        "node": {
                            "val": "/2/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 2
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 2
                    }
                },
                {
                    "key": {
                        "val": "3",
                        "delim": null
                    },
                    "val": {
                        "id": 14,
                        "type": "string",
                        "node": {
                            "val": "/3/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 3
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 3
                    }
                },
                {
                    "key": {
                        "val": "4",
                        "delim": null
                    },
                    "val": {
                        "id": 17,
                        "type": "string",
                        "node": {
                            "val": "/4/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 4
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 4
                    }
                },
                {
                    "key": {
                        "val": "5",
                        "delim": null
                    },
                    "val": {
                        "id": 20,
                        "type": "string",
                        "node": {
                            "val": "/5/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 5
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 5
                    }
                },
                {
                    "key": {
                        "val": "6",
                        "delim": null
                    },
                    "val": {
                        "id": 23,
                        "type": "string",
                        "node": {
                            "val": "/6/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 6
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 6
                    }
                },
                {
                    "key": {
                        "val": "7",
                        "delim": null
                    },
                    "val": {
                        "id": 26,
                        "type": "string",
                        "node": {
                            "val": "/7/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 7
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 7
                    }
                },
                {
                    "key": {
                        "val": "8",
                        "delim": null
                    },
                    "val": {
                        "id": 29,
                        "type": "string",
                        "node": {
                            "val": "/8/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 8
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 8
                    }
                },
                {
                    "key": {
                        "val": "9",
                        "delim": null
                    },
                    "val": {
                        "id": 32,
                        "type": "string",
                        "node": {
                            "val": "/9/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 9
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 9
                    }
                },
                {
                    "key": {
                        "val": "10",
                        "delim": null
                    },
                    "val": {
                        "id": 35,
                        "type": "string",
                        "node": {
                            "val": "/10/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 10
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 10
                    }
                },
                {
                    "key": {
                        "val": "11",
                        "delim": null
                    },
                    "val": {
                        "id": 38,
                        "type": "string",
                        "node": {
                            "val": "/11/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 11
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 11
                    }
                },
                {
                    "key": {
                        "val": "12",
                        "delim": null
                    },
                    "val": {
                        "id": 41,
                        "type": "string",
                        "node": {
                            "val": "/12/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 12
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 12
                    }
                },
                {
                    "key": {
                        "val": "13",
                        "delim": null
                    },
                    "val": {
                        "id": 44,
                        "type": "string",
                        "node": {
                            "val": "/13/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 13
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 13
                    }
                },
                {
                    "key": {
                        "val": "14",
                        "delim": null
                    },
                    "val": {
                        "id": 47,
                        "type": "string",
                        "node": {
                            "val": "/14/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 14
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 14
                    }
                },
                {
                    "key": {
                        "val": "15",
                        "delim": null
                    },
                    "val": {
                        "id": 50,
                        "type": "string",
                        "node": {
                            "val": "/15/",
                            "delim": null
                        },
                        "attr": {
                            "size": 1,
                            "nodes": [
                                {
                                    "type": "match_rex",
                                    "val": 15
                                }
                            ]
                        },
                        "parent": 54,
                        "path": 15
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "0",
                "lo": null,
                "eq": {
                    "val": "/0/",
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "1",
                    "lo": null,
                    "eq": {
                        "val": "/1/",
                        "lo": null,
                        "hi": {
                            "sym": "0",
                            "lo": null,
                            "eq": {
                                "val": "/10/",
                                "lo": null,
                                "hi": null
                            },
                            "hi": {
                                "sym": "1",
                                "lo": null,
                                "eq": {
                                    "val": "/11/",
                                    "lo": null,
                                    "hi": null
                                },
                                "hi": {
                                    "sym": "2",
                                    "lo": null,
                                    "eq": {
                                        "val": "/12/",
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": {
                                        "sym": "3",
                                        "lo": null,
                                        "eq": {
                                            "val": "/13/",
                                            "lo": null,
                                            "hi": null
                                        },
                                        "hi": {
                                            "sym": "4",
                                            "lo": null,
                                            "eq": {
                                                "val": "/14/",
                                                "lo": null,
                                                "hi": null
                                            },
                                            "hi": {
                                                "sym": "5",
                                                "lo": null,
                                                "eq": {
                                                    "val": "/15/",
                                                    "lo": null,
                                                    "hi": null
                                                },
                                                "hi": null
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "hi": {
                        "sym": "2",
                        "lo": null,
                        "eq": {
                            "val": "/2/",
                            "lo": null,
                            "hi": null
                        },
                        "hi": {
                            "sym": "3",
                            "lo": null,
                            "eq": {
                                "val": "/3/",
                                "lo": null,
                                "hi": null
                            },
                            "hi": {
                                "sym": "4",
                                "lo": null,
                                "eq": {
                                    "val": "/4/",
                                    "lo": null,
                                    "hi": null
                                },
                                "hi": {
                                    "sym": "5",
                                    "lo": null,
                                    "eq": {
                                        "val": "/5/",
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": {
                                        "sym": "6",
                                        "lo": null,
                                        "eq": {
                                            "val": "/6/",
                                            "lo": null,
                                            "hi": null
                                        },
                                        "hi": {
                                            "sym": "7",
                                            "lo": null,
                                            "eq": {
                                                "val": "/7/",
                                                "lo": null,
                                                "hi": null
                                            },
                                            "hi": {
                                                "sym": "8",
                                                "lo": null,
                                                "eq": {
                                                    "val": "/8/",
                                                    "lo": null,
                                                    "hi": null
                                                },
                                                "hi": {
                                                    "sym": "9",
                                                    "lo": null,
                                                    "eq": {
                                                        "val": "/9/",
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "parent": null,
        "path": null
    }
}
#
# # meta command:
# $ for((i=1;i<16;i++)); do c="diff-litex -$i"; echo "$ $c"; eval "$c 2>&1"; done
#
$ diff-litex -1
--- 16
+++ 1
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 1,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -9,71 +9,11 @@
             {
                 "text": "0",
                 "opts": ""
-            },
-            {
-                "text": "1",
-                "opts": ""
-            },
-            {
-                "text": "2",
-                "opts": ""
-            },
-            {
-                "text": "3",
-                "opts": ""
-            },
-            {
-                "text": "4",
-                "opts": ""
-            },
-            {
-                "text": "5",
-                "opts": ""
-            },
-            {
-                "text": "6",
-                "opts": ""
-            },
-            {
-                "text": "7",
-                "opts": ""
-            },
-            {
-                "text": "8",
-                "opts": ""
-            },
-            {
-                "text": "9",
-                "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 24,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +39,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 0
                     }
                 },
@@ -109,10 +49,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 8,
+                        "id": 6,
                         "type": "string",
                         "node": {
-                            "val": "/1/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -120,11 +60,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 1
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 1
                     }
                 },
@@ -134,10 +74,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 11,
+                        "id": 7,
                         "type": "string",
                         "node": {
-                            "val": "/2/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -145,11 +85,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 2
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 2
                     }
                 },
@@ -159,10 +99,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 14,
+                        "id": 8,
                         "type": "string",
                         "node": {
-                            "val": "/3/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -170,11 +110,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 3
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 3
                     }
                 },
@@ -184,10 +124,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 17,
+                        "id": 9,
                         "type": "string",
                         "node": {
-                            "val": "/4/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -195,11 +135,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 4
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 4
                     }
                 },
@@ -209,10 +149,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 20,
+                        "id": 10,
                         "type": "string",
                         "node": {
-                            "val": "/5/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -220,11 +160,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 5
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 5
                     }
                 },
@@ -234,10 +174,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 23,
+                        "id": 11,
                         "type": "string",
                         "node": {
-                            "val": "/6/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -245,11 +185,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 6
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 6
                     }
                 },
@@ -259,10 +199,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 26,
+                        "id": 12,
                         "type": "string",
                         "node": {
-                            "val": "/7/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -270,11 +210,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 7
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 7
                     }
                 },
@@ -284,10 +224,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 29,
+                        "id": 13,
                         "type": "string",
                         "node": {
-                            "val": "/8/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -295,11 +235,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 8
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 8
                     }
                 },
@@ -309,10 +249,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 32,
+                        "id": 14,
                         "type": "string",
                         "node": {
-                            "val": "/9/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -320,11 +260,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 9
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 9
                     }
                 },
@@ -334,10 +274,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 15,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +285,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 10
                     }
                 },
@@ -359,10 +299,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 16,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +310,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 11
                     }
                 },
@@ -384,10 +324,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 17,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +335,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 12
                     }
                 },
@@ -409,10 +349,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 18,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +360,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 13
                     }
                 },
@@ -434,10 +374,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 19,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +385,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 14
                     }
                 },
@@ -459,10 +399,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 20,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +410,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 24,
                         "path": 15
                     }
                 }
@@ -494,13 +434,13 @@
                     "sym": "1",
                     "lo": null,
                     "eq": {
-                        "val": "/1/",
+                        "val": "/0/",
                         "lo": null,
                         "hi": {
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/0/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +448,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/0/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +456,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/0/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +464,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/0/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +472,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/0/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +480,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/0/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -556,7 +496,7 @@
                         "sym": "2",
                         "lo": null,
                         "eq": {
-                            "val": "/2/",
+                            "val": "/0/",
                             "lo": null,
                             "hi": null
                         },
@@ -564,7 +504,7 @@
                             "sym": "3",
                             "lo": null,
                             "eq": {
-                                "val": "/3/",
+                                "val": "/0/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -572,7 +512,7 @@
                                 "sym": "4",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/4/",
+                                    "val": "/0/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -580,7 +520,7 @@
                                     "sym": "5",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/5/",
+                                        "val": "/0/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -588,7 +528,7 @@
                                         "sym": "6",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/6/",
+                                            "val": "/0/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -596,7 +536,7 @@
                                             "sym": "7",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/7/",
+                                                "val": "/0/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -604,7 +544,7 @@
                                                 "sym": "8",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/8/",
+                                                    "val": "/0/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -612,7 +552,7 @@
                                                     "sym": "9",
                                                     "lo": null,
                                                     "eq": {
-                                                        "val": "/9/",
+                                                        "val": "/0/",
                                                         "lo": null,
                                                         "hi": null
                                                     },
$ diff-litex -2
--- 16
+++ 2
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 2,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -13,67 +13,11 @@
             {
                 "text": "1",
                 "opts": ""
-            },
-            {
-                "text": "2",
-                "opts": ""
-            },
-            {
-                "text": "3",
-                "opts": ""
-            },
-            {
-                "text": "4",
-                "opts": ""
-            },
-            {
-                "text": "5",
-                "opts": ""
-            },
-            {
-                "text": "6",
-                "opts": ""
-            },
-            {
-                "text": "7",
-                "opts": ""
-            },
-            {
-                "text": "8",
-                "opts": ""
-            },
-            {
-                "text": "9",
-                "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 26,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +43,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 0
                     }
                 },
@@ -124,7 +68,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 1
                     }
                 },
@@ -134,10 +78,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 11,
+                        "id": 9,
                         "type": "string",
                         "node": {
-                            "val": "/2/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -145,11 +89,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 2
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 2
                     }
                 },
@@ -159,10 +103,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 14,
+                        "id": 10,
                         "type": "string",
                         "node": {
-                            "val": "/3/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -170,11 +114,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 3
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 3
                     }
                 },
@@ -184,10 +128,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 17,
+                        "id": 11,
                         "type": "string",
                         "node": {
-                            "val": "/4/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -195,11 +139,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 4
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 4
                     }
                 },
@@ -209,10 +153,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 20,
+                        "id": 12,
                         "type": "string",
                         "node": {
-                            "val": "/5/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -220,11 +164,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 5
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 5
                     }
                 },
@@ -234,10 +178,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 23,
+                        "id": 13,
                         "type": "string",
                         "node": {
-                            "val": "/6/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -245,11 +189,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 6
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 6
                     }
                 },
@@ -259,10 +203,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 26,
+                        "id": 14,
                         "type": "string",
                         "node": {
-                            "val": "/7/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -270,11 +214,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 7
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 7
                     }
                 },
@@ -284,10 +228,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 29,
+                        "id": 15,
                         "type": "string",
                         "node": {
-                            "val": "/8/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -295,11 +239,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 8
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 8
                     }
                 },
@@ -309,10 +253,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 32,
+                        "id": 16,
                         "type": "string",
                         "node": {
-                            "val": "/9/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -320,11 +264,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 9
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 9
                     }
                 },
@@ -334,10 +278,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 17,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +289,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 10
                     }
                 },
@@ -359,10 +303,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 18,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +314,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 11
                     }
                 },
@@ -384,10 +328,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 19,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +339,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 12
                     }
                 },
@@ -409,10 +353,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 20,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +364,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 13
                     }
                 },
@@ -434,10 +378,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 21,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +389,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 14
                     }
                 },
@@ -459,10 +403,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 22,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +414,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 26,
                         "path": 15
                     }
                 }
@@ -500,7 +444,7 @@
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/0/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +452,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/1/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +460,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/0/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +468,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/1/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +476,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/0/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +484,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/1/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -556,7 +500,7 @@
                         "sym": "2",
                         "lo": null,
                         "eq": {
-                            "val": "/2/",
+                            "val": "/0/",
                             "lo": null,
                             "hi": null
                         },
@@ -564,7 +508,7 @@
                             "sym": "3",
                             "lo": null,
                             "eq": {
-                                "val": "/3/",
+                                "val": "/1/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -572,7 +516,7 @@
                                 "sym": "4",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/4/",
+                                    "val": "/0/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -580,7 +524,7 @@
                                     "sym": "5",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/5/",
+                                        "val": "/1/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -588,7 +532,7 @@
                                         "sym": "6",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/6/",
+                                            "val": "/0/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -596,7 +540,7 @@
                                             "sym": "7",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/7/",
+                                                "val": "/1/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -604,7 +548,7 @@
                                                 "sym": "8",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/8/",
+                                                    "val": "/0/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -612,7 +556,7 @@
                                                     "sym": "9",
                                                     "lo": null,
                                                     "eq": {
-                                                        "val": "/9/",
+                                                        "val": "/1/",
                                                         "lo": null,
                                                         "hi": null
                                                     },
$ diff-litex -3
--- 16
+++ 3
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 3,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -17,63 +17,11 @@
             {
                 "text": "2",
                 "opts": ""
-            },
-            {
-                "text": "3",
-                "opts": ""
-            },
-            {
-                "text": "4",
-                "opts": ""
-            },
-            {
-                "text": "5",
-                "opts": ""
-            },
-            {
-                "text": "6",
-                "opts": ""
-            },
-            {
-                "text": "7",
-                "opts": ""
-            },
-            {
-                "text": "8",
-                "opts": ""
-            },
-            {
-                "text": "9",
-                "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 28,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +47,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 0
                     }
                 },
@@ -124,7 +72,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 1
                     }
                 },
@@ -149,7 +97,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 2
                     }
                 },
@@ -159,10 +107,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 14,
+                        "id": 12,
                         "type": "string",
                         "node": {
-                            "val": "/3/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -170,11 +118,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 3
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 3
                     }
                 },
@@ -184,10 +132,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 17,
+                        "id": 13,
                         "type": "string",
                         "node": {
-                            "val": "/4/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -195,11 +143,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 4
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 4
                     }
                 },
@@ -209,10 +157,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 20,
+                        "id": 14,
                         "type": "string",
                         "node": {
-                            "val": "/5/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -220,11 +168,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 5
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 5
                     }
                 },
@@ -234,10 +182,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 23,
+                        "id": 15,
                         "type": "string",
                         "node": {
-                            "val": "/6/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -245,11 +193,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 6
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 6
                     }
                 },
@@ -259,10 +207,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 26,
+                        "id": 16,
                         "type": "string",
                         "node": {
-                            "val": "/7/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -270,11 +218,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 7
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 7
                     }
                 },
@@ -284,10 +232,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 29,
+                        "id": 17,
                         "type": "string",
                         "node": {
-                            "val": "/8/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -295,11 +243,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 8
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 8
                     }
                 },
@@ -309,10 +257,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 32,
+                        "id": 18,
                         "type": "string",
                         "node": {
-                            "val": "/9/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -320,11 +268,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 9
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 9
                     }
                 },
@@ -334,10 +282,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 19,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +293,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 10
                     }
                 },
@@ -359,10 +307,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 20,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +318,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 11
                     }
                 },
@@ -384,10 +332,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 21,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +343,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 12
                     }
                 },
@@ -409,10 +357,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 22,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +368,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 13
                     }
                 },
@@ -434,10 +382,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 23,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +393,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 14
                     }
                 },
@@ -459,10 +407,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 24,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +418,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 28,
                         "path": 15
                     }
                 }
@@ -500,7 +448,7 @@
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/1/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +456,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/2/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +464,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/0/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +472,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/1/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +480,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/2/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +488,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/0/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -564,7 +512,7 @@
                             "sym": "3",
                             "lo": null,
                             "eq": {
-                                "val": "/3/",
+                                "val": "/0/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -572,7 +520,7 @@
                                 "sym": "4",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/4/",
+                                    "val": "/1/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -580,7 +528,7 @@
                                     "sym": "5",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/5/",
+                                        "val": "/2/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -588,7 +536,7 @@
                                         "sym": "6",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/6/",
+                                            "val": "/0/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -596,7 +544,7 @@
                                             "sym": "7",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/7/",
+                                                "val": "/1/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -604,7 +552,7 @@
                                                 "sym": "8",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/8/",
+                                                    "val": "/2/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -612,7 +560,7 @@
                                                     "sym": "9",
                                                     "lo": null,
                                                     "eq": {
-                                                        "val": "/9/",
+                                                        "val": "/0/",
                                                         "lo": null,
                                                         "hi": null
                                                     },
$ diff-litex -4
--- 16
+++ 4
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 4,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -21,59 +21,11 @@
             {
                 "text": "3",
                 "opts": ""
-            },
-            {
-                "text": "4",
-                "opts": ""
-            },
-            {
-                "text": "5",
-                "opts": ""
-            },
-            {
-                "text": "6",
-                "opts": ""
-            },
-            {
-                "text": "7",
-                "opts": ""
-            },
-            {
-                "text": "8",
-                "opts": ""
-            },
-            {
-                "text": "9",
-                "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 30,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +51,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 0
                     }
                 },
@@ -124,7 +76,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 1
                     }
                 },
@@ -149,7 +101,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 2
                     }
                 },
@@ -174,7 +126,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 3
                     }
                 },
@@ -184,10 +136,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 17,
+                        "id": 15,
                         "type": "string",
                         "node": {
-                            "val": "/4/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -195,11 +147,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 4
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 4
                     }
                 },
@@ -209,10 +161,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 20,
+                        "id": 16,
                         "type": "string",
                         "node": {
-                            "val": "/5/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -220,11 +172,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 5
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 5
                     }
                 },
@@ -234,10 +186,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 23,
+                        "id": 17,
                         "type": "string",
                         "node": {
-                            "val": "/6/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -245,11 +197,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 6
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 6
                     }
                 },
@@ -259,10 +211,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 26,
+                        "id": 18,
                         "type": "string",
                         "node": {
-                            "val": "/7/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -270,11 +222,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 7
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 7
                     }
                 },
@@ -284,10 +236,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 29,
+                        "id": 19,
                         "type": "string",
                         "node": {
-                            "val": "/8/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -295,11 +247,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 8
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 8
                     }
                 },
@@ -309,10 +261,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 32,
+                        "id": 20,
                         "type": "string",
                         "node": {
-                            "val": "/9/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -320,11 +272,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 9
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 9
                     }
                 },
@@ -334,10 +286,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 21,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +297,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 10
                     }
                 },
@@ -359,10 +311,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 22,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +322,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 11
                     }
                 },
@@ -384,10 +336,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 23,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +347,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 12
                     }
                 },
@@ -409,10 +361,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 24,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +372,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 13
                     }
                 },
@@ -434,10 +386,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 25,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +397,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 14
                     }
                 },
@@ -459,10 +411,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 26,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +422,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 30,
                         "path": 15
                     }
                 }
@@ -500,7 +452,7 @@
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/2/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +460,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/3/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +468,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/0/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +476,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/1/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +484,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/2/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +492,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/3/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -572,7 +524,7 @@
                                 "sym": "4",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/4/",
+                                    "val": "/0/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -580,7 +532,7 @@
                                     "sym": "5",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/5/",
+                                        "val": "/1/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -588,7 +540,7 @@
                                         "sym": "6",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/6/",
+                                            "val": "/2/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -596,7 +548,7 @@
                                             "sym": "7",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/7/",
+                                                "val": "/3/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -604,7 +556,7 @@
                                                 "sym": "8",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/8/",
+                                                    "val": "/0/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -612,7 +564,7 @@
                                                     "sym": "9",
                                                     "lo": null,
                                                     "eq": {
-                                                        "val": "/9/",
+                                                        "val": "/1/",
                                                         "lo": null,
                                                         "hi": null
                                                     },
$ diff-litex -5
--- 16
+++ 5
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 5,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -25,55 +25,11 @@
             {
                 "text": "4",
                 "opts": ""
-            },
-            {
-                "text": "5",
-                "opts": ""
-            },
-            {
-                "text": "6",
-                "opts": ""
-            },
-            {
-                "text": "7",
-                "opts": ""
-            },
-            {
-                "text": "8",
-                "opts": ""
-            },
-            {
-                "text": "9",
-                "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 32,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +55,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 0
                     }
                 },
@@ -124,7 +80,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 1
                     }
                 },
@@ -149,7 +105,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 2
                     }
                 },
@@ -174,7 +130,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 3
                     }
                 },
@@ -199,7 +155,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 4
                     }
                 },
@@ -209,10 +165,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 20,
+                        "id": 18,
                         "type": "string",
                         "node": {
-                            "val": "/5/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -220,11 +176,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 5
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 5
                     }
                 },
@@ -234,10 +190,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 23,
+                        "id": 19,
                         "type": "string",
                         "node": {
-                            "val": "/6/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -245,11 +201,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 6
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 6
                     }
                 },
@@ -259,10 +215,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 26,
+                        "id": 20,
                         "type": "string",
                         "node": {
-                            "val": "/7/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -270,11 +226,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 7
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 7
                     }
                 },
@@ -284,10 +240,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 29,
+                        "id": 21,
                         "type": "string",
                         "node": {
-                            "val": "/8/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -295,11 +251,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 8
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 8
                     }
                 },
@@ -309,10 +265,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 32,
+                        "id": 22,
                         "type": "string",
                         "node": {
-                            "val": "/9/",
+                            "val": "/4/",
                             "delim": null
                         },
                         "attr": {
@@ -320,11 +276,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 9
+                                    "val": 4
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 9
                     }
                 },
@@ -334,10 +290,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 23,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +301,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 10
                     }
                 },
@@ -359,10 +315,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 24,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +326,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 11
                     }
                 },
@@ -384,10 +340,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 25,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +351,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 12
                     }
                 },
@@ -409,10 +365,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 26,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +376,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 13
                     }
                 },
@@ -434,10 +390,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 27,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/4/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +401,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 4
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 14
                     }
                 },
@@ -459,10 +415,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 28,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +426,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 32,
                         "path": 15
                     }
                 }
@@ -500,7 +456,7 @@
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/0/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +464,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/1/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +472,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/2/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +480,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/3/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +488,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/4/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +496,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/0/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -580,7 +536,7 @@
                                     "sym": "5",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/5/",
+                                        "val": "/0/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -588,7 +544,7 @@
                                         "sym": "6",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/6/",
+                                            "val": "/1/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -596,7 +552,7 @@
                                             "sym": "7",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/7/",
+                                                "val": "/2/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -604,7 +560,7 @@
                                                 "sym": "8",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/8/",
+                                                    "val": "/3/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -612,7 +568,7 @@
                                                     "sym": "9",
                                                     "lo": null,
                                                     "eq": {
-                                                        "val": "/9/",
+                                                        "val": "/4/",
                                                         "lo": null,
                                                         "hi": null
                                                     },
$ diff-litex -6
--- 16
+++ 6
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 6,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -29,51 +29,11 @@
             {
                 "text": "5",
                 "opts": ""
-            },
-            {
-                "text": "6",
-                "opts": ""
-            },
-            {
-                "text": "7",
-                "opts": ""
-            },
-            {
-                "text": "8",
-                "opts": ""
-            },
-            {
-                "text": "9",
-                "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 34,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +59,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 0
                     }
                 },
@@ -124,7 +84,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 1
                     }
                 },
@@ -149,7 +109,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 2
                     }
                 },
@@ -174,7 +134,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 3
                     }
                 },
@@ -199,7 +159,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 4
                     }
                 },
@@ -224,7 +184,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 5
                     }
                 },
@@ -234,10 +194,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 23,
+                        "id": 21,
                         "type": "string",
                         "node": {
-                            "val": "/6/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -245,11 +205,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 6
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 6
                     }
                 },
@@ -259,10 +219,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 26,
+                        "id": 22,
                         "type": "string",
                         "node": {
-                            "val": "/7/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -270,11 +230,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 7
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 7
                     }
                 },
@@ -284,10 +244,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 29,
+                        "id": 23,
                         "type": "string",
                         "node": {
-                            "val": "/8/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -295,11 +255,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 8
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 8
                     }
                 },
@@ -309,10 +269,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 32,
+                        "id": 24,
                         "type": "string",
                         "node": {
-                            "val": "/9/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -320,11 +280,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 9
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 9
                     }
                 },
@@ -334,10 +294,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 25,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/4/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +305,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 4
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 10
                     }
                 },
@@ -359,10 +319,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 26,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/5/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +330,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 5
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 11
                     }
                 },
@@ -384,10 +344,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 27,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +355,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 12
                     }
                 },
@@ -409,10 +369,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 28,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +380,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 13
                     }
                 },
@@ -434,10 +394,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 29,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +405,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 14
                     }
                 },
@@ -459,10 +419,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 30,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +430,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 34,
                         "path": 15
                     }
                 }
@@ -500,7 +460,7 @@
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/4/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +468,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/5/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +476,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/0/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +484,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/1/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +492,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/2/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +500,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/3/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -588,7 +548,7 @@
                                         "sym": "6",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/6/",
+                                            "val": "/0/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -596,7 +556,7 @@
                                             "sym": "7",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/7/",
+                                                "val": "/1/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -604,7 +564,7 @@
                                                 "sym": "8",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/8/",
+                                                    "val": "/2/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -612,7 +572,7 @@
                                                     "sym": "9",
                                                     "lo": null,
                                                     "eq": {
-                                                        "val": "/9/",
+                                                        "val": "/3/",
                                                         "lo": null,
                                                         "hi": null
                                                     },
$ diff-litex -7
--- 16
+++ 7
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 7,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -33,47 +33,11 @@
             {
                 "text": "6",
                 "opts": ""
-            },
-            {
-                "text": "7",
-                "opts": ""
-            },
-            {
-                "text": "8",
-                "opts": ""
-            },
-            {
-                "text": "9",
-                "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 36,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +63,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 0
                     }
                 },
@@ -124,7 +88,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 1
                     }
                 },
@@ -149,7 +113,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 2
                     }
                 },
@@ -174,7 +138,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 3
                     }
                 },
@@ -199,7 +163,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 4
                     }
                 },
@@ -224,7 +188,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 5
                     }
                 },
@@ -249,7 +213,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 6
                     }
                 },
@@ -259,10 +223,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 26,
+                        "id": 24,
                         "type": "string",
                         "node": {
-                            "val": "/7/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -270,11 +234,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 7
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 7
                     }
                 },
@@ -284,10 +248,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 29,
+                        "id": 25,
                         "type": "string",
                         "node": {
-                            "val": "/8/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -295,11 +259,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 8
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 8
                     }
                 },
@@ -309,10 +273,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 32,
+                        "id": 26,
                         "type": "string",
                         "node": {
-                            "val": "/9/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -320,11 +284,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 9
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 9
                     }
                 },
@@ -334,10 +298,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 27,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +309,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 10
                     }
                 },
@@ -359,10 +323,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 28,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/4/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +334,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 4
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 11
                     }
                 },
@@ -384,10 +348,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 29,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/5/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +359,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 5
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 12
                     }
                 },
@@ -409,10 +373,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 30,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/6/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +384,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 6
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 13
                     }
                 },
@@ -434,10 +398,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 31,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +409,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 14
                     }
                 },
@@ -459,10 +423,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 32,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +434,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 36,
                         "path": 15
                     }
                 }
@@ -500,7 +464,7 @@
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/3/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +472,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/4/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +480,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/5/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +488,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/6/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +496,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/0/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +504,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/1/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -596,7 +560,7 @@
                                             "sym": "7",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/7/",
+                                                "val": "/0/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -604,7 +568,7 @@
                                                 "sym": "8",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/8/",
+                                                    "val": "/1/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -612,7 +576,7 @@
                                                     "sym": "9",
                                                     "lo": null,
                                                     "eq": {
-                                                        "val": "/9/",
+                                                        "val": "/2/",
                                                         "lo": null,
                                                         "hi": null
                                                     },
$ diff-litex -8
--- 16
+++ 8
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 8,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -37,43 +37,11 @@
             {
                 "text": "7",
                 "opts": ""
-            },
-            {
-                "text": "8",
-                "opts": ""
-            },
-            {
-                "text": "9",
-                "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 38,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +67,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 0
                     }
                 },
@@ -124,7 +92,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 1
                     }
                 },
@@ -149,7 +117,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 2
                     }
                 },
@@ -174,7 +142,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 3
                     }
                 },
@@ -199,7 +167,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 4
                     }
                 },
@@ -224,7 +192,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 5
                     }
                 },
@@ -249,7 +217,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 6
                     }
                 },
@@ -274,7 +242,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 7
                     }
                 },
@@ -284,10 +252,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 29,
+                        "id": 27,
                         "type": "string",
                         "node": {
-                            "val": "/8/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -295,11 +263,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 8
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 8
                     }
                 },
@@ -309,10 +277,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 32,
+                        "id": 28,
                         "type": "string",
                         "node": {
-                            "val": "/9/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -320,11 +288,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 9
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 9
                     }
                 },
@@ -334,10 +302,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 29,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +313,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 10
                     }
                 },
@@ -359,10 +327,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 30,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +338,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 11
                     }
                 },
@@ -384,10 +352,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 31,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/4/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +363,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 4
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 12
                     }
                 },
@@ -409,10 +377,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 32,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/5/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +388,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 5
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 13
                     }
                 },
@@ -434,10 +402,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 33,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/6/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +413,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 6
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 14
                     }
                 },
@@ -459,10 +427,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 34,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/7/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +438,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 7
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 38,
                         "path": 15
                     }
                 }
@@ -500,7 +468,7 @@
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/2/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +476,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/3/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +484,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/4/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +492,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/5/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +500,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/6/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +508,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/7/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -604,7 +572,7 @@
                                                 "sym": "8",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/8/",
+                                                    "val": "/0/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -612,7 +580,7 @@
                                                     "sym": "9",
                                                     "lo": null,
                                                     "eq": {
-                                                        "val": "/9/",
+                                                        "val": "/1/",
                                                         "lo": null,
                                                         "hi": null
                                                     },
$ diff-litex -9
--- 16
+++ 9
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 9,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -41,39 +41,11 @@
             {
                 "text": "8",
                 "opts": ""
-            },
-            {
-                "text": "9",
-                "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 40,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +71,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 0
                     }
                 },
@@ -124,7 +96,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 1
                     }
                 },
@@ -149,7 +121,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 2
                     }
                 },
@@ -174,7 +146,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 3
                     }
                 },
@@ -199,7 +171,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 4
                     }
                 },
@@ -224,7 +196,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 5
                     }
                 },
@@ -249,7 +221,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 6
                     }
                 },
@@ -274,7 +246,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 7
                     }
                 },
@@ -299,7 +271,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 8
                     }
                 },
@@ -309,10 +281,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 32,
+                        "id": 30,
                         "type": "string",
                         "node": {
-                            "val": "/9/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -320,11 +292,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 9
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 9
                     }
                 },
@@ -334,10 +306,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 31,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +317,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 10
                     }
                 },
@@ -359,10 +331,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 32,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +342,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 11
                     }
                 },
@@ -384,10 +356,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 33,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +367,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 12
                     }
                 },
@@ -409,10 +381,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 34,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/4/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +392,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 4
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 13
                     }
                 },
@@ -434,10 +406,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 35,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/5/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +417,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 5
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 14
                     }
                 },
@@ -459,10 +431,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 36,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/6/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +442,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 6
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 40,
                         "path": 15
                     }
                 }
@@ -500,7 +472,7 @@
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/1/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +480,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/2/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +488,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/3/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +496,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/4/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +504,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/5/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +512,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/6/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
@@ -612,7 +584,7 @@
                                                     "sym": "9",
                                                     "lo": null,
                                                     "eq": {
-                                                        "val": "/9/",
+                                                        "val": "/0/",
                                                         "lo": null,
                                                         "hi": null
                                                     },
$ diff-litex -10
--- 16
+++ 10
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 10,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -45,35 +45,11 @@
             {
                 "text": "9",
                 "opts": ""
-            },
-            {
-                "text": "10",
-                "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 42,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +75,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 0
                     }
                 },
@@ -124,7 +100,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 1
                     }
                 },
@@ -149,7 +125,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 2
                     }
                 },
@@ -174,7 +150,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 3
                     }
                 },
@@ -199,7 +175,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 4
                     }
                 },
@@ -224,7 +200,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 5
                     }
                 },
@@ -249,7 +225,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 6
                     }
                 },
@@ -274,7 +250,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 7
                     }
                 },
@@ -299,7 +275,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 8
                     }
                 },
@@ -324,7 +300,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 9
                     }
                 },
@@ -334,10 +310,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 35,
+                        "id": 33,
                         "type": "string",
                         "node": {
-                            "val": "/10/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -345,11 +321,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 10
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 10
                     }
                 },
@@ -359,10 +335,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 34,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +346,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 11
                     }
                 },
@@ -384,10 +360,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 35,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +371,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 12
                     }
                 },
@@ -409,10 +385,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 36,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +396,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 13
                     }
                 },
@@ -434,10 +410,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 37,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/4/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +421,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 4
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 14
                     }
                 },
@@ -459,10 +435,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 38,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/5/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +446,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 5
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 42,
                         "path": 15
                     }
                 }
@@ -500,7 +476,7 @@
                             "sym": "0",
                             "lo": null,
                             "eq": {
-                                "val": "/10/",
+                                "val": "/0/",
                                 "lo": null,
                                 "hi": null
                             },
@@ -508,7 +484,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/1/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +492,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/2/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +500,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/3/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +508,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/4/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +516,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/5/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
$ diff-litex -11
--- 16
+++ 11
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 11,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -49,31 +49,11 @@
             {
                 "text": "10",
                 "opts": ""
-            },
-            {
-                "text": "11",
-                "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 44,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +79,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 0
                     }
                 },
@@ -124,7 +104,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 1
                     }
                 },
@@ -149,7 +129,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 2
                     }
                 },
@@ -174,7 +154,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 3
                     }
                 },
@@ -199,7 +179,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 4
                     }
                 },
@@ -224,7 +204,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 5
                     }
                 },
@@ -249,7 +229,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 6
                     }
                 },
@@ -274,7 +254,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 7
                     }
                 },
@@ -299,7 +279,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 8
                     }
                 },
@@ -324,7 +304,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 9
                     }
                 },
@@ -349,7 +329,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 10
                     }
                 },
@@ -359,10 +339,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 38,
+                        "id": 36,
                         "type": "string",
                         "node": {
-                            "val": "/11/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -370,11 +350,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 11
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 11
                     }
                 },
@@ -384,10 +364,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 37,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +375,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 12
                     }
                 },
@@ -409,10 +389,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 38,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +400,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 13
                     }
                 },
@@ -434,10 +414,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 39,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +425,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 14
                     }
                 },
@@ -459,10 +439,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 40,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/4/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +450,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 4
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 44,
                         "path": 15
                     }
                 }
@@ -508,7 +488,7 @@
                                 "sym": "1",
                                 "lo": null,
                                 "eq": {
-                                    "val": "/11/",
+                                    "val": "/0/",
                                     "lo": null,
                                     "hi": null
                                 },
@@ -516,7 +496,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/1/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +504,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/2/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +512,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/3/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +520,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/4/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
$ diff-litex -12
--- 16
+++ 12
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 12,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -53,27 +53,11 @@
             {
                 "text": "11",
                 "opts": ""
-            },
-            {
-                "text": "12",
-                "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 46,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +83,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 0
                     }
                 },
@@ -124,7 +108,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 1
                     }
                 },
@@ -149,7 +133,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 2
                     }
                 },
@@ -174,7 +158,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 3
                     }
                 },
@@ -199,7 +183,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 4
                     }
                 },
@@ -224,7 +208,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 5
                     }
                 },
@@ -249,7 +233,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 6
                     }
                 },
@@ -274,7 +258,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 7
                     }
                 },
@@ -299,7 +283,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 8
                     }
                 },
@@ -324,7 +308,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 9
                     }
                 },
@@ -349,7 +333,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 10
                     }
                 },
@@ -374,7 +358,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 11
                     }
                 },
@@ -384,10 +368,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 41,
+                        "id": 39,
                         "type": "string",
                         "node": {
-                            "val": "/12/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -395,11 +379,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 12
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 12
                     }
                 },
@@ -409,10 +393,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 40,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +404,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 13
                     }
                 },
@@ -434,10 +418,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 41,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +429,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 14
                     }
                 },
@@ -459,10 +443,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 42,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/3/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +454,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 3
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 46,
                         "path": 15
                     }
                 }
@@ -516,7 +500,7 @@
                                     "sym": "2",
                                     "lo": null,
                                     "eq": {
-                                        "val": "/12/",
+                                        "val": "/0/",
                                         "lo": null,
                                         "hi": null
                                     },
@@ -524,7 +508,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/1/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +516,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/2/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +524,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/3/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
$ diff-litex -13
--- 16
+++ 13
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 13,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -57,23 +57,11 @@
             {
                 "text": "12",
                 "opts": ""
-            },
-            {
-                "text": "13",
-                "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 48,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +87,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 0
                     }
                 },
@@ -124,7 +112,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 1
                     }
                 },
@@ -149,7 +137,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 2
                     }
                 },
@@ -174,7 +162,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 3
                     }
                 },
@@ -199,7 +187,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 4
                     }
                 },
@@ -224,7 +212,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 5
                     }
                 },
@@ -249,7 +237,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 6
                     }
                 },
@@ -274,7 +262,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 7
                     }
                 },
@@ -299,7 +287,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 8
                     }
                 },
@@ -324,7 +312,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 9
                     }
                 },
@@ -349,7 +337,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 10
                     }
                 },
@@ -374,7 +362,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 11
                     }
                 },
@@ -399,7 +387,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 12
                     }
                 },
@@ -409,10 +397,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 44,
+                        "id": 42,
                         "type": "string",
                         "node": {
-                            "val": "/13/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -420,11 +408,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 13
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 13
                     }
                 },
@@ -434,10 +422,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 43,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +433,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 14
                     }
                 },
@@ -459,10 +447,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 44,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/2/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +458,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 2
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 48,
                         "path": 15
                     }
                 }
@@ -524,7 +512,7 @@
                                         "sym": "3",
                                         "lo": null,
                                         "eq": {
-                                            "val": "/13/",
+                                            "val": "/0/",
                                             "lo": null,
                                             "hi": null
                                         },
@@ -532,7 +520,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/1/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +528,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/2/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
$ diff-litex -14
--- 16
+++ 14
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 14,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -61,19 +61,11 @@
             {
                 "text": "13",
                 "opts": ""
-            },
-            {
-                "text": "14",
-                "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 50,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +91,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 0
                     }
                 },
@@ -124,7 +116,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 1
                     }
                 },
@@ -149,7 +141,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 2
                     }
                 },
@@ -174,7 +166,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 3
                     }
                 },
@@ -199,7 +191,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 4
                     }
                 },
@@ -224,7 +216,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 5
                     }
                 },
@@ -249,7 +241,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 6
                     }
                 },
@@ -274,7 +266,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 7
                     }
                 },
@@ -299,7 +291,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 8
                     }
                 },
@@ -324,7 +316,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 9
                     }
                 },
@@ -349,7 +341,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 10
                     }
                 },
@@ -374,7 +366,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 11
                     }
                 },
@@ -399,7 +391,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 12
                     }
                 },
@@ -424,7 +416,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 13
                     }
                 },
@@ -434,10 +426,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 47,
+                        "id": 45,
                         "type": "string",
                         "node": {
-                            "val": "/14/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -445,11 +437,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 14
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 14
                     }
                 },
@@ -459,10 +451,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 46,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/1/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +462,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 1
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 50,
                         "path": 15
                     }
                 }
@@ -532,7 +524,7 @@
                                             "sym": "4",
                                             "lo": null,
                                             "eq": {
-                                                "val": "/14/",
+                                                "val": "/0/",
                                                 "lo": null,
                                                 "hi": null
                                             },
@@ -540,7 +532,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/1/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
$ diff-litex -15
--- 16
+++ 15
@@ -1,6 +1,6 @@
 {
     "rexes": {
-        "size": 16,
+        "size": 15,
         "codes": {
             "type": "patterns",
             "code": {}
@@ -65,15 +65,11 @@
             {
                 "text": "14",
                 "opts": ""
-            },
-            {
-                "text": "15",
-                "opts": ""
             }
         ]
     },
     "node": {
-        "id": 54,
+        "id": 52,
         "type": "object",
         "node": {
             "size": 16,
@@ -99,7 +95,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 0
                     }
                 },
@@ -124,7 +120,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 1
                     }
                 },
@@ -149,7 +145,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 2
                     }
                 },
@@ -174,7 +170,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 3
                     }
                 },
@@ -199,7 +195,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 4
                     }
                 },
@@ -224,7 +220,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 5
                     }
                 },
@@ -249,7 +245,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 6
                     }
                 },
@@ -274,7 +270,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 7
                     }
                 },
@@ -299,7 +295,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 8
                     }
                 },
@@ -324,7 +320,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 9
                     }
                 },
@@ -349,7 +345,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 10
                     }
                 },
@@ -374,7 +370,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 11
                     }
                 },
@@ -399,7 +395,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 12
                     }
                 },
@@ -424,7 +420,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 13
                     }
                 },
@@ -449,7 +445,7 @@
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 14
                     }
                 },
@@ -459,10 +455,10 @@
                         "delim": null
                     },
                     "val": {
-                        "id": 50,
+                        "id": 48,
                         "type": "string",
                         "node": {
-                            "val": "/15/",
+                            "val": "/0/",
                             "delim": null
                         },
                         "attr": {
@@ -470,11 +466,11 @@
                             "nodes": [
                                 {
                                     "type": "match_rex",
-                                    "val": 15
+                                    "val": 0
                                 }
                             ]
                         },
-                        "parent": 54,
+                        "parent": 52,
                         "path": 15
                     }
                 }
@@ -540,7 +536,7 @@
                                                 "sym": "5",
                                                 "lo": null,
                                                 "eq": {
-                                                    "val": "/15/",
+                                                    "val": "/0/",
                                                     "lo": null,
                                                     "hi": null
                                                 },
$

--[ text-litex-lib ]------------------------------------------------------------

$ json-litex -P ../lib/test-litex.json
{
    "a": {
        "b": [
            "/^[[:ascii:]]*$/ && #`\n` <= 1",
            {
                "c": {
                    "d": "null || /^x+y+$/ && #`x` < #`y`"
                }
            }
        ]
    },
    "c": {
        "d": "null || date(`%Y-%m-%d`)"
    }
}
$ json-litex -A ../lib/test-litex.json
{
    "rexes": {
        "size": 2,
        "codes": {
            "type": "patterns",
            "code": {}
        },
        "elems": [
            {
                "text": "^[[:ascii:]]*$",
                "opts": ""
            },
            {
                "text": "^x+y+$",
                "opts": ""
            }
        ]
    },
    "node": {
        "id": 34,
        "type": "object",
        "node": {
            "size": 2,
            "args": [
                {
                    "key": {
                        "val": "a",
                        "delim": null
                    },
                    "val": {
                        "id": 23,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "b",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 19,
                                        "type": "array",
                                        "node": {
                                            "size": 2,
                                            "args": [
                                                {
                                                    "id": 5,
                                                    "type": "string",
                                                    "node": {
                                                        "val": "/^[[:ascii:]]*$/ && #`\n` <= 1",
                                                        "delim": null
                                                    },
                                                    "attr": {
                                                        "size": 5,
                                                        "nodes": [
                                                            {
                                                                "type": "match_rex",
                                                                "val": 0
                                                            },
                                                            {
                                                                "type": "jump_false",
                                                                "val": 4
                                                            },
                                                            {
                                                                "type": "const_num",
                                                                "val": 1
                                                            },
                                                            {
                                                                "type": "count_str",
                                                                "val": "\n"
                                                            },
                                                            {
                                                                "type": "cmp_op",
                                                                "val": "ge"
                                                            }
                                                        ]
                                                    },
                                                    "parent": 19,
                                                    "path": null
                                                },
                                                {
                                                    "id": 16,
                                                    "type": "object",
                                                    "node": {
                                                        "size": 1,
                                                        "args": [
                                                            {
                                                                "key": {
                                                                    "val": "c",
                                                                    "delim": null
                                                                },
                                                                "val": {
                                                                    "id": 12,
                                                                    "type": "object",
                                                                    "node": {
                                                                        "size": 1,
                                                                        "args": [
                                                                            {
                                                                                "key": {
                                                                                    "val": "d",
                                                                                    "delim": null
                                                                                },
                                                                                "val": {
                                                                                    "id": 8,
                                                                                    "type": "string",
                                                                                    "node": {
                                                                                        "val": "null || /^x+y+$/ && #`x` < #`y`",
                                                                                        "delim": null
                                                                                    },
                                                                                    "attr": {
                                                                                        "size": 7,
                                                                                        "nodes": [
                                                                                            {
                                                                                                "type": "call_builtin",
                                                                                                "val": "null"
                                                                                            },
                                                                                            {
                                                                                                "type": "jump_true",
                                                                                                "val": 6
                                                                                            },
                                                                                            {
                                                                                                "type": "match_rex",
                                                                                                "val": 1
                                                                                            },
                                                                                            {
                                                                                                "type": "jump_false",
                                                                                                "val": 4
                                                                                            },
                                                                                            {
                                                                                                "type": "count_str",
                                                                                                "val": "x"
                                                                                            },
                                                                                            {
                                                                                                "type": "count_str",
                                                                                                "val": "y"
                                                                                            },
                                                                                            {
                                                                                                "type": "cmp_op",
                                                                                                "val": "lt"
                                                                                            }
                                                                                        ]
                                                                                    },
                                                                                    "parent": 12,
                                                                                    "path": 0
                                                                                }
                                                                            }
                                                                        ]
                                                                    },
                                                                    "attr": {
                                                                        "lookup": "0x...",
                                                                        "root": {
                                                                            "sym": "d",
                                                                            "lo": null,
                                                                            "eq": {
                                                                                "val": "null || /^x+y+$/ && #`x` < #`y`",
                                                                                "lo": null,
                                                                                "hi": null
                                                                            },
                                                                            "hi": null
                                                                        }
                                                                    },
                                                                    "parent": 16,
                                                                    "path": 0
                                                                }
                                                            }
                                                        ]
                                                    },
                                                    "attr": {
                                                        "lookup": "0x...",
                                                        "root": {
                                                            "sym": "c",
                                                            "lo": null,
                                                            "eq": {
                                                                "val": {
                                                                    "d": "null || /^x+y+$/ && #`x` < #`y`"
                                                                },
                                                                "lo": null,
                                                                "hi": null
                                                            },
                                                            "hi": null
                                                        }
                                                    },
                                                    "parent": 19,
                                                    "path": null
                                                }
                                            ]
                                        },
                                        "attr": {
                                            "string": 5,
                                            "object": 16
                                        },
                                        "parent": 23,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": {
                                "sym": "b",
                                "lo": null,
                                "eq": {
                                    "val": [
                                        "/^[[:ascii:]]*$/ && #`\n` <= 1",
                                        {
                                            "c": {
                                                "d": "null || /^x+y+$/ && #`x` < #`y`"
                                            }
                                        }
                                    ],
                                    "lo": null,
                                    "hi": null
                                },
                                "hi": null
                            }
                        },
                        "parent": 34,
                        "path": 0
                    }
                },
                {
                    "key": {
                        "val": "c",
                        "delim": null
                    },
                    "val": {
                        "id": 30,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "d",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 26,
                                        "type": "string",
                                        "node": {
                                            "val": "null || date(`%Y-%m-%d`)",
                                            "delim": null
                                        },
                                        "attr": {
                                            "size": 4,
                                            "nodes": [
                                                {
                                                    "type": "call_builtin",
                                                    "val": "null"
                                                },
                                                {
                                                    "type": "jump_true",
                                                    "val": 3
                                                },
                                                {
                                                    "type": "const_str",
                                                    "val": "%Y-%m-%d"
                                                },
                                                {
                                                    "type": "call_builtin",
                                                    "val": "date"
                                                }
                                            ]
                                        },
                                        "parent": 30,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": {
                                "sym": "d",
                                "lo": null,
                                "eq": {
                                    "val": "null || date(`%Y-%m-%d`)",
                                    "lo": null,
                                    "hi": null
                                },
                                "hi": null
                            }
                        },
                        "parent": 34,
                        "path": 1
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": {
                "sym": "a",
                "lo": null,
                "eq": {
                    "val": {
                        "b": [
                            "/^[[:ascii:]]*$/ && #`\n` <= 1",
                            {
                                "c": {
                                    "d": "null || /^x+y+$/ && #`x` < #`y`"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": {
                            "d": "null || date(`%Y-%m-%d`)"
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "parent": null,
        "path": null
    }
}
$ json-litex() { set -o pipefail && LD_LIBRARY_PATH=../lib:"$JSON_LITEX_TEST_PCRE2_LIB" ../src/json -VF -- ../lib/json-litex.so "$@"; }
$ json-litex -V ../lib/test-litex.json
$ json-litex() { set -o pipefail && LD_LIBRARY_PATH=../lib:"$JSON_LITEX_TEST_PCRE2_LIB" ../src/json -VF -- ../lib/json-litex.so "$@"|LD_LIBRARY_PATH=../lib ../src/json --parse-only --verbose; }
$ json-litex -P ../lib/test-litex.json
$ json-litex -A ../lib/test-litex.json
$

--[ sobj-litex-lib ]------------------------------------------------------------

$ ../lib/test-litex.so|sed -r '1s/[0-9]+\.[0-9]+\.[0-9]+/x.y.z/'
test-litex.so: litex library version: x.y.z
$ json-litex -P ../lib/test-litex.so
{
    "a": {
        "b": [
            "/^[[:ascii:]]*$/ && #`\n` <= 1",
            {
                "c": {
                    "d": "null || /^x+y+$/ && #`x` < #`y`"
                }
            }
        ]
    },
    "c": {
        "d": "null || date(`%Y-%m-%d`)"
    }
}
$ json-litex -A ../lib/test-litex.so
{
    "rexes": {
        "size": 2,
        "codes": {
            "type": "streams",
            "code": {}
        },
        "elems": null
    },
    "node": {
        "id": 33,
        "type": "object",
        "node": {
            "size": 2,
            "args": [
                {
                    "key": {
                        "val": "a",
                        "delim": null
                    },
                    "val": {
                        "id": 22,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "b",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 18,
                                        "type": "array",
                                        "node": {
                                            "size": 2,
                                            "args": [
                                                {
                                                    "id": 4,
                                                    "type": "string",
                                                    "node": {
                                                        "val": "/^[[:ascii:]]*$/ && #`\n` <= 1",
                                                        "delim": null
                                                    },
                                                    "attr": {
                                                        "size": 5,
                                                        "nodes": [
                                                            {
                                                                "type": "match_rex",
                                                                "val": 0
                                                            },
                                                            {
                                                                "type": "jump_false",
                                                                "val": 4
                                                            },
                                                            {
                                                                "type": "const_num",
                                                                "val": 1
                                                            },
                                                            {
                                                                "type": "count_str",
                                                                "val": "\n"
                                                            },
                                                            {
                                                                "type": "cmp_op",
                                                                "val": "ge"
                                                            }
                                                        ]
                                                    },
                                                    "parent": 18,
                                                    "path": null
                                                },
                                                {
                                                    "id": 15,
                                                    "type": "object",
                                                    "node": {
                                                        "size": 1,
                                                        "args": [
                                                            {
                                                                "key": {
                                                                    "val": "c",
                                                                    "delim": null
                                                                },
                                                                "val": {
                                                                    "id": 11,
                                                                    "type": "object",
                                                                    "node": {
                                                                        "size": 1,
                                                                        "args": [
                                                                            {
                                                                                "key": {
                                                                                    "val": "d",
                                                                                    "delim": null
                                                                                },
                                                                                "val": {
                                                                                    "id": 7,
                                                                                    "type": "string",
                                                                                    "node": {
                                                                                        "val": "null || /^x+y+$/ && #`x` < #`y`",
                                                                                        "delim": null
                                                                                    },
                                                                                    "attr": {
                                                                                        "size": 7,
                                                                                        "nodes": [
                                                                                            {
                                                                                                "type": "call_builtin",
                                                                                                "val": "null"
                                                                                            },
                                                                                            {
                                                                                                "type": "jump_true",
                                                                                                "val": 6
                                                                                            },
                                                                                            {
                                                                                                "type": "match_rex",
                                                                                                "val": 1
                                                                                            },
                                                                                            {
                                                                                                "type": "jump_false",
                                                                                                "val": 4
                                                                                            },
                                                                                            {
                                                                                                "type": "count_str",
                                                                                                "val": "x"
                                                                                            },
                                                                                            {
                                                                                                "type": "count_str",
                                                                                                "val": "y"
                                                                                            },
                                                                                            {
                                                                                                "type": "cmp_op",
                                                                                                "val": "lt"
                                                                                            }
                                                                                        ]
                                                                                    },
                                                                                    "parent": 11,
                                                                                    "path": 0
                                                                                }
                                                                            }
                                                                        ]
                                                                    },
                                                                    "attr": {
                                                                        "lookup": "0x...",
                                                                        "root": null
                                                                    },
                                                                    "parent": 15,
                                                                    "path": 0
                                                                }
                                                            }
                                                        ]
                                                    },
                                                    "attr": {
                                                        "lookup": "0x...",
                                                        "root": null
                                                    },
                                                    "parent": 18,
                                                    "path": null
                                                }
                                            ]
                                        },
                                        "attr": {
                                            "string": 4,
                                            "object": 15
                                        },
                                        "parent": 22,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": null
                        },
                        "parent": 33,
                        "path": 0
                    }
                },
                {
                    "key": {
                        "val": "c",
                        "delim": null
                    },
                    "val": {
                        "id": 29,
                        "type": "object",
                        "node": {
                            "size": 1,
                            "args": [
                                {
                                    "key": {
                                        "val": "d",
                                        "delim": null
                                    },
                                    "val": {
                                        "id": 25,
                                        "type": "string",
                                        "node": {
                                            "val": "null || date(`%Y-%m-%d`)",
                                            "delim": null
                                        },
                                        "attr": {
                                            "size": 4,
                                            "nodes": [
                                                {
                                                    "type": "call_builtin",
                                                    "val": "null"
                                                },
                                                {
                                                    "type": "jump_true",
                                                    "val": 3
                                                },
                                                {
                                                    "type": "const_str",
                                                    "val": "%Y-%m-%d"
                                                },
                                                {
                                                    "type": "call_builtin",
                                                    "val": "date"
                                                }
                                            ]
                                        },
                                        "parent": 29,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": null
                        },
                        "parent": 33,
                        "path": 1
                    }
                }
            ]
        },
        "attr": {
            "lookup": "0x...",
            "root": null
        },
        "parent": null,
        "path": null
    }
}
$ json-litex() { set -o pipefail && LD_LIBRARY_PATH=../lib:"$JSON_LITEX_TEST_PCRE2_LIB" ../src/json -VF -- ../lib/json-litex.so "$@"; }
$ json-litex -V ../lib/test-litex.so
$ json-litex() { set -o pipefail && LD_LIBRARY_PATH=../lib:"$JSON_LITEX_TEST_PCRE2_LIB" ../src/json -VF -- ../lib/json-litex.so "$@"|LD_LIBRARY_PATH=../lib ../src/json --parse-only --verbose; }
$ json-litex -P ../lib/test-litex.so
$ json-litex -A ../lib/test-litex.so
$


