# Copyright (C) 2016, 2017, 2018, 2019, 2020, 2021  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 libs/test-litex/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 libs/test-litex/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 libs/test-litex/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 libs/test-litex/test-litex.json
$ json-litex -A libs/test-litex/test-litex.json
$

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

$ libs/test-litex/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 libs/test-litex/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 libs/test-litex/test-litex.so
{
    "rexes": {
        "size": 2,
        "codes": {
            "type": "streams",
            "code": {}
        },
        "elems": null
    },
    "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": null
                                                                    },
                                                                    "parent": 16,
                                                                    "path": 0
                                                                }
                                                            }
                                                        ]
                                                    },
                                                    "attr": {
                                                        "lookup": "0x...",
                                                        "root": null
                                                    },
                                                    "parent": 19,
                                                    "path": null
                                                }
                                            ]
                                        },
                                        "attr": {
                                            "string": 5,
                                            "object": 16
                                        },
                                        "parent": 23,
                                        "path": 0
                                    }
                                }
                            ]
                        },
                        "attr": {
                            "lookup": "0x...",
                            "root": 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": null
                        },
                        "parent": 34,
                        "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 libs/test-litex/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 libs/test-litex/test-litex.so
$ json-litex -A libs/test-litex/test-litex.so
$

--[ github-text-lib ]-----------------------------------------------------------

$ json() { LD_LIBRARY_PATH=../lib ../src/json --raw-strings "$@"; }
$ json-litex() { set -o pipefail && LD_LIBRARY_PATH=../lib:"$JSON_LITEX_TEST_PCRE2_LIB" ../src/json -VF -- ../lib/json-litex.so "$@"; }
$ norm() { sed -r '/^\/\/|^\s*$|^\s+(0x[[:xdigit:]]{2},\s*)+$/d;s/^(\s+)0x[[:xdigit:]]{2}(,\s*0x[[:xdigit:]]{2})+$/\1. . ./;s/^#/\\\0/' ${1:+"$1"}; }
$ diff -u -Ljson <(json -P libs/github-litex/github-litex.json) -Llib <(json-litex -P libs/github-litex/github-litex.json|json -P)
$ json-litex -D libs/github-litex/github-litex.json|norm
\#if 0
enum {
  I = SZ(1) << json_litex_expr_rex_opt_ignore_case,
  S = SZ(1) << json_litex_expr_rex_opt_dot_match_all,
  U = SZ(1) << json_litex_expr_rex_opt_no_utf8_check,
  X = SZ(1) << json_litex_expr_rex_opt_extended_pat,
};
\#endif
static const uchar_t __0[] = {
    . . .
};
\#if 0
static const struct json_litex_expr_rex_t __1[] = {
    {
        .text = (const uchar_t*) "^[0-9a-f]{40}$"
    },
    {
        .text = (const uchar_t*) "^[a-z0-9]{78}[a-z0-9=]{2}$",
        .opts = I
    },
    {
        .text = (const uchar_t*) "^[[:print:]\\p{L}]+$",
        .opts = I
    },
    {
        .text = (const uchar_t*) "^[[:print:]]*[a-z0-9._-]+@[a-z0-9._-]+$|^\\(no_default\\)$",
        .opts = I
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/repos/gcc-mirror/gcc/git/trees/[0-9a-f]{40}$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/repos/gcc-mirror/gcc/git/commits/[0-9a-f]{40}$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/repos/gcc-mirror/gcc/commits/[0-9a-f]{40}$"
    },
    {
        .text = (const uchar_t*) "^https://github\\.com/gcc-mirror/gcc/commit/[0-9a-f]{40}$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/repos/gcc-mirror/gcc/commits/[0-9a-f]{40}/comments$"
    },
    {
        .text = (const uchar_t*) "^[a-z0-9_-]+$",
        .opts = I
    },
    {
        .text = (const uchar_t*) "^[a-z0-9]{14,}[a-z0-9=]{2}$",
        .opts = I
    },
    {
        .text = (const uchar_t*) "^https://avatars\\d+\\.githubusercontent\\.com/u/\\d+\\?v=\\d+$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+$"
    },
    {
        .text = (const uchar_t*) "^https://github\\.com/[a-zA-Z0-9_-]+$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/followers$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/following\\{/other_user\\}$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/gists\\{/gist_id\\}$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/starred\\{/owner\\}\\{/repo\\}$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/subscriptions$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/orgs$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/repos$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/events\\{/privacy\\}$"
    },
    {
        .text = (const uchar_t*) "^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/received_events$"
    }
};
\#endif
static const struct json_litex_expr_rex_def_t __2 = {
    .codes = {
        .type = json_litex_expr_rex_codes_streams,
        .code.streams = {
            .bytes = __0,
            .size = 6976
        }
    },
\#if 0
    .elems = __1,
\#endif
    .size = 23
};
static const struct json_litex_object_node_arg_t __174[];
static const struct json_litex_node_t __175;
static const struct json_litex_object_node_arg_t __170[];
static const struct json_litex_node_t __171;
static const struct json_litex_expr_node_t __3[] = {
    match_rex(0)
};
static const struct json_litex_expr_def_t __4 = {
    .nodes = __3,
    .size = 1
};
static const struct json_litex_node_t __5 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[0-9a-f]{40}$/"
    },
    .attr.string = &__4,
    .path = __170 + 0,
    .parent = &__171
};
static const struct json_litex_expr_node_t __6[] = {
    match_rex(1)
};
static const struct json_litex_expr_def_t __7 = {
    .nodes = __6,
    .size = 1
};
static const struct json_litex_node_t __8 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[a-z0-9]{78}[a-z0-9=]{2}$/I"
    },
    .attr.string = &__7,
    .path = __170 + 1,
    .parent = &__171
};
static const struct json_litex_object_node_arg_t __62[];
static const struct json_litex_node_t __63;
static const struct json_litex_object_node_arg_t __20[];
static const struct json_litex_node_t __21;
static const struct json_litex_expr_node_t __9[] = {
    match_rex(2)
};
static const struct json_litex_expr_def_t __10 = {
    .nodes = __9,
    .size = 1
};
static const struct json_litex_node_t __11 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[[:print:]\\p{L}]+$/I"
    },
    .attr.string = &__10,
    .path = __20 + 0,
    .parent = &__21
};
static const struct json_litex_expr_node_t __12[] = {
    match_rex(3)
};
static const struct json_litex_expr_def_t __13 = {
    .nodes = __12,
    .size = 1
};
static const struct json_litex_node_t __14 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[[:print:]]*[a-z0-9._-]+@[a-z0-9._-]+$|^\\(no_default\\)$/I"
    },
    .attr.string = &__13,
    .path = __20 + 1,
    .parent = &__21
};
static const struct json_litex_expr_node_t __15[] = {
    const_str("%FT%TZ"),
    call_builtin(date)
};
static const struct json_litex_expr_def_t __16 = {
    .nodes = __15,
    .size = 2
};
static const struct json_litex_node_t __17 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "date(`%FT%TZ`)"
    },
    .attr.string = &__16,
    .path = __20 + 2,
    .parent = &__21
};
static inline bool equal(
    const char* p, const char* q)
{
    while (*p && *p == *q)
         ++ p, ++ q;
    return *p == *q;
}
static const struct json_litex_node_t* __18(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    switch (*p ++) {
    case 'd':
        if (equal(p, "ate"))
            return &__17;
        return NULL;
    case 'e':
        if (equal(p, "mail"))
            return &__14;
        return NULL;
    case 'n':
        if (equal(p, "ame"))
            return &__11;
    }
    return NULL;
}
static const struct json_litex_object_attr_t __19 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __18
};
static const struct json_litex_object_node_arg_t __20[] = {
    {
        .key = {
            .val = (const uchar_t*) "name"
        },
        .val = &__11
    },
    {
        .key = {
            .val = (const uchar_t*) "email"
        },
        .val = &__14
    },
    {
        .key = {
            .val = (const uchar_t*) "date"
        },
        .val = &__17
    }
};
static const struct json_litex_node_t __21 = {
    .type = json_litex_object_node_type,
    .attr.object = &__19,
    .node.object = {
        .args = __20,
        .size = 3
    },
    .path = __62 + 0,
    .parent = &__63
};
static const struct json_litex_object_node_arg_t __27[];
static const struct json_litex_node_t __28;
static const struct json_litex_node_t __22 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[[:print:]\\p{L}]+$/I"
    },
    .attr.string = &__10,
    .path = __27 + 0,
    .parent = &__28
};
static const struct json_litex_node_t __23 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[[:print:]]*[a-z0-9._-]+@[a-z0-9._-]+$|^\\(no_default\\)$/I"
    },
    .attr.string = &__13,
    .path = __27 + 1,
    .parent = &__28
};
static const struct json_litex_node_t __24 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "date(`%FT%TZ`)"
    },
    .attr.string = &__16,
    .path = __27 + 2,
    .parent = &__28
};
static const struct json_litex_node_t* __25(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    switch (*p ++) {
    case 'd':
        if (equal(p, "ate"))
            return &__24;
        return NULL;
    case 'e':
        if (equal(p, "mail"))
            return &__23;
        return NULL;
    case 'n':
        if (equal(p, "ame"))
            return &__22;
    }
    return NULL;
}
static const struct json_litex_object_attr_t __26 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __25
};
static const struct json_litex_object_node_arg_t __27[] = {
    {
        .key = {
            .val = (const uchar_t*) "name"
        },
        .val = &__22
    },
    {
        .key = {
            .val = (const uchar_t*) "email"
        },
        .val = &__23
    },
    {
        .key = {
            .val = (const uchar_t*) "date"
        },
        .val = &__24
    }
};
static const struct json_litex_node_t __28 = {
    .type = json_litex_object_node_type,
    .attr.object = &__26,
    .node.object = {
        .args = __27,
        .size = 3
    },
    .path = __62 + 1,
    .parent = &__63
};
static const struct json_litex_expr_node_t __29[] = {
    call_builtin(string)
};
static const struct json_litex_expr_def_t __30 = {
    .nodes = __29,
    .size = 1
};
static const struct json_litex_node_t __31 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "string"
    },
    .attr.string = &__30,
    .path = __62 + 2,
    .parent = &__63
};
static const struct json_litex_object_node_arg_t __38[];
static const struct json_litex_node_t __39;
static const struct json_litex_node_t __32 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[0-9a-f]{40}$/"
    },
    .attr.string = &__4,
    .path = __38 + 0,
    .parent = &__39
};
static const struct json_litex_expr_node_t __33[] = {
    match_rex(4)
};
static const struct json_litex_expr_def_t __34 = {
    .nodes = __33,
    .size = 1
};
static const struct json_litex_node_t __35 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/repos/gcc-mirror/gcc/git/trees/[0-9a-f]{40}$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__34,
    .path = __38 + 1,
    .parent = &__39
};
static const struct json_litex_node_t* __36(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    switch (*p ++) {
    case 's':
        if (equal(p, "ha"))
            return &__32;
        return NULL;
    case 'u':
        if (equal(p, "rl"))
            return &__35;
    }
    return NULL;
}
static const struct json_litex_object_attr_t __37 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __36
};
static const struct json_litex_object_node_arg_t __38[] = {
    {
        .key = {
            .val = (const uchar_t*) "sha"
        },
        .val = &__32
    },
    {
        .key = {
            .val = (const uchar_t*) "url"
        },
        .val = &__35
    }
};
static const struct json_litex_node_t __39 = {
    .type = json_litex_object_node_type,
    .attr.object = &__37,
    .node.object = {
        .args = __38,
        .size = 2
    },
    .path = __62 + 3,
    .parent = &__63
};
static const struct json_litex_expr_node_t __40[] = {
    match_rex(5)
};
static const struct json_litex_expr_def_t __41 = {
    .nodes = __40,
    .size = 1
};
static const struct json_litex_node_t __42 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t'^https://api\\.github\\.com/repos/gcc-mirror/gcc/git/commits/[0-9a-f]{40}$'\n\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__41,
    .path = __62 + 4,
    .parent = &__63
};
static const struct json_litex_expr_node_t __43[] = {
    const_num(8),
    call_builtin(uint)
};
static const struct json_litex_expr_def_t __44 = {
    .nodes = __43,
    .size = 2
};
static const struct json_litex_node_t __45 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "uint(8)"
    },
    .attr.string = &__44,
    .path = __62 + 5,
    .parent = &__63
};
static const struct json_litex_object_node_arg_t __58[];
static const struct json_litex_node_t __59;
static const struct json_litex_expr_node_t __46[] = {
    call_builtin(boolean)
};
static const struct json_litex_expr_def_t __47 = {
    .nodes = __46,
    .size = 1
};
static const struct json_litex_node_t __48 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "bool"
    },
    .attr.string = &__47,
    .path = __58 + 0,
    .parent = &__59
};
static const struct json_litex_expr_node_t __49[] = {
    match_str("unsigned"),
    jump_true(4, false),
    match_str("valid"),
    jump_true(2, false),
    match_str("unknown_key")
};
static const struct json_litex_expr_def_t __50 = {
    .nodes = __49,
    .size = 5
};
static const struct json_litex_node_t __51 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "`unsigned`||`valid`||`unknown_key`"
    },
    .attr.string = &__50,
    .path = __58 + 1,
    .parent = &__59
};
static const struct json_litex_expr_node_t __52[] = {
    call_builtin(null),
    jump_true(4, false),
    call_builtin(len),
    const_num(0),
    cmp_op(gt)
};
static const struct json_litex_expr_def_t __53 = {
    .nodes = __52,
    .size = 5
};
static const struct json_litex_node_t __54 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "null || len > 0"
    },
    .attr.string = &__53,
    .path = __58 + 2,
    .parent = &__59
};
static const struct json_litex_node_t __55 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "null || len > 0"
    },
    .attr.string = &__53,
    .path = __58 + 3,
    .parent = &__59
};
static const struct json_litex_node_t* __56(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    switch (*p ++) {
    case 'p':
        if (equal(p, "ayload"))
            return &__55;
        return NULL;
    case 'r':
        if (equal(p, "eason"))
            return &__51;
        return NULL;
    case 's':
        if (equal(p, "ignature"))
            return &__54;
        return NULL;
    case 'v':
        if (equal(p, "erified"))
            return &__48;
    }
    return NULL;
}
static const struct json_litex_object_attr_t __57 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __56
};
static const struct json_litex_object_node_arg_t __58[] = {
    {
        .key = {
            .val = (const uchar_t*) "verified"
        },
        .val = &__48
    },
    {
        .key = {
            .val = (const uchar_t*) "reason"
        },
        .val = &__51
    },
    {
        .key = {
            .val = (const uchar_t*) "signature"
        },
        .val = &__54
    },
    {
        .key = {
            .val = (const uchar_t*) "payload"
        },
        .val = &__55
    }
};
static const struct json_litex_node_t __59 = {
    .type = json_litex_object_node_type,
    .attr.object = &__57,
    .node.object = {
        .args = __58,
        .size = 4
    },
    .path = __62 + 6,
    .parent = &__63
};
static inline bool prefix(
    const char* p, const char* q)
{
    while (*p && *p == *q)
         ++ p, ++ q;
    return *p == 0;
}
static const struct json_litex_node_t* __60(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    switch (*p ++) {
    case 'a':
        if (equal(p, "uthor"))
            return &__21;
        return NULL;
    case 'c':
        if (prefix("omm", p)) {
            p += 3;
            switch (*p ++) {
            case 'e':
                if (equal(p, "nt_count"))
                    return &__45;
                return NULL;
            case 'i':
                if (equal(p, "tter"))
                    return &__28;
            }
        }
        return NULL;
    case 'm':
        if (equal(p, "essage"))
            return &__31;
        return NULL;
    case 't':
        if (equal(p, "ree"))
            return &__39;
        return NULL;
    case 'u':
        if (equal(p, "rl"))
            return &__42;
        return NULL;
    case 'v':
        if (equal(p, "erification"))
            return &__59;
    }
    return NULL;
}
static const struct json_litex_object_attr_t __61 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __60
};
static const struct json_litex_object_node_arg_t __62[] = {
    {
        .key = {
            .val = (const uchar_t*) "author"
        },
        .val = &__21
    },
    {
        .key = {
            .val = (const uchar_t*) "committer"
        },
        .val = &__28
    },
    {
        .key = {
            .val = (const uchar_t*) "message"
        },
        .val = &__31
    },
    {
        .key = {
            .val = (const uchar_t*) "tree"
        },
        .val = &__39
    },
    {
        .key = {
            .val = (const uchar_t*) "url"
        },
        .val = &__42
    },
    {
        .key = {
            .val = (const uchar_t*) "comment_count"
        },
        .val = &__45
    },
    {
        .key = {
            .val = (const uchar_t*) "verification"
        },
        .val = &__59
    }
};
static const struct json_litex_node_t __63 = {
    .type = json_litex_object_node_type,
    .attr.object = &__61,
    .node.object = {
        .args = __62,
        .size = 7
    },
    .path = __170 + 2,
    .parent = &__171
};
static const struct json_litex_expr_node_t __64[] = {
    match_rex(6)
};
static const struct json_litex_expr_def_t __65 = {
    .nodes = __64,
    .size = 1
};
static const struct json_litex_node_t __66 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t'^https://api\\.github\\.com/repos/gcc-mirror/gcc/commits/[0-9a-f]{40}$'\n\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__65,
    .path = __170 + 3,
    .parent = &__171
};
static const struct json_litex_expr_node_t __67[] = {
    match_rex(7)
};
static const struct json_litex_expr_def_t __68 = {
    .nodes = __67,
    .size = 1
};
static const struct json_litex_node_t __69 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t'^https://github\\.com/gcc-mirror/gcc/commit/[0-9a-f]{40}$'\n\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__68,
    .path = __170 + 4,
    .parent = &__171
};
static const struct json_litex_expr_node_t __70[] = {
    match_rex(8)
};
static const struct json_litex_expr_def_t __71 = {
    .nodes = __70,
    .size = 1
};
static const struct json_litex_node_t __72 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t'^https://api\\.github\\.com/repos/gcc-mirror/gcc/commits/[0-9a-f]{40}/comments$'\n\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__71,
    .path = __170 + 5,
    .parent = &__171
};
static const struct json_litex_node_t __134;
static const struct json_litex_object_node_arg_t __127[];
static const struct json_litex_node_t __128;
static const struct json_litex_expr_node_t __73[] = {
    match_rex(9)
};
static const struct json_litex_expr_def_t __74 = {
    .nodes = __73,
    .size = 1
};
static const struct json_litex_node_t __75 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[a-z0-9_-]+$/I"
    },
    .attr.string = &__74,
    .path = __127 + 0,
    .parent = &__128
};
static const struct json_litex_expr_node_t __76[] = {
    const_num(32),
    call_builtin(uint)
};
static const struct json_litex_expr_def_t __77 = {
    .nodes = __76,
    .size = 2
};
static const struct json_litex_node_t __78 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "uint(32)"
    },
    .attr.string = &__77,
    .path = __127 + 1,
    .parent = &__128
};
static const struct json_litex_expr_node_t __79[] = {
    match_rex(10)
};
static const struct json_litex_expr_def_t __80 = {
    .nodes = __79,
    .size = 1
};
static const struct json_litex_node_t __81 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[a-z0-9]{14,}[a-z0-9=]{2}$/I"
    },
    .attr.string = &__80,
    .path = __127 + 2,
    .parent = &__128
};
static const struct json_litex_expr_node_t __82[] = {
    match_rex(11)
};
static const struct json_litex_expr_def_t __83 = {
    .nodes = __82,
    .size = 1
};
static const struct json_litex_node_t __84 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://avatars\\d+\\.githubusercontent\\.com/u/\\d+\\?v=\\d+$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__83,
    .path = __127 + 3,
    .parent = &__128
};
static const struct json_litex_expr_node_t __85[] = {
    call_builtin(string),
    jump_false(4, false),
    call_builtin(len),
    const_num(0),
    cmp_op(eq)
};
static const struct json_litex_expr_def_t __86 = {
    .nodes = __85,
    .size = 5
};
static const struct json_litex_node_t __87 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "string && len == 0"
    },
    .attr.string = &__86,
    .path = __127 + 4,
    .parent = &__128
};
static const struct json_litex_expr_node_t __88[] = {
    match_rex(12)
};
static const struct json_litex_expr_def_t __89 = {
    .nodes = __88,
    .size = 1
};
static const struct json_litex_node_t __90 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__89,
    .path = __127 + 5,
    .parent = &__128
};
static const struct json_litex_expr_node_t __91[] = {
    match_rex(13)
};
static const struct json_litex_expr_def_t __92 = {
    .nodes = __91,
    .size = 1
};
static const struct json_litex_node_t __93 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://github\\.com/[a-zA-Z0-9_-]+$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__92,
    .path = __127 + 6,
    .parent = &__128
};
static const struct json_litex_expr_node_t __94[] = {
    match_rex(14)
};
static const struct json_litex_expr_def_t __95 = {
    .nodes = __94,
    .size = 1
};
static const struct json_litex_node_t __96 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/followers$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__95,
    .path = __127 + 7,
    .parent = &__128
};
static const struct json_litex_expr_node_t __97[] = {
    match_rex(15)
};
static const struct json_litex_expr_def_t __98 = {
    .nodes = __97,
    .size = 1
};
static const struct json_litex_node_t __99 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/following\\{/other_user\\}$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__98,
    .path = __127 + 8,
    .parent = &__128
};
static const struct json_litex_expr_node_t __100[] = {
    match_rex(16)
};
static const struct json_litex_expr_def_t __101 = {
    .nodes = __100,
    .size = 1
};
static const struct json_litex_node_t __102 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/gists\\{/gist_id\\}$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__101,
    .path = __127 + 9,
    .parent = &__128
};
static const struct json_litex_expr_node_t __103[] = {
    match_rex(17)
};
static const struct json_litex_expr_def_t __104 = {
    .nodes = __103,
    .size = 1
};
static const struct json_litex_node_t __105 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/starred\\{/owner\\}\\{/repo\\}$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__104,
    .path = __127 + 10,
    .parent = &__128
};
static const struct json_litex_expr_node_t __106[] = {
    match_rex(18)
};
static const struct json_litex_expr_def_t __107 = {
    .nodes = __106,
    .size = 1
};
static const struct json_litex_node_t __108 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/subscriptions$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__107,
    .path = __127 + 11,
    .parent = &__128
};
static const struct json_litex_expr_node_t __109[] = {
    match_rex(19)
};
static const struct json_litex_expr_def_t __110 = {
    .nodes = __109,
    .size = 1
};
static const struct json_litex_node_t __111 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/orgs$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__110,
    .path = __127 + 12,
    .parent = &__128
};
static const struct json_litex_expr_node_t __112[] = {
    match_rex(20)
};
static const struct json_litex_expr_def_t __113 = {
    .nodes = __112,
    .size = 1
};
static const struct json_litex_node_t __114 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/repos$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__113,
    .path = __127 + 13,
    .parent = &__128
};
static const struct json_litex_expr_node_t __115[] = {
    match_rex(21)
};
static const struct json_litex_expr_def_t __116 = {
    .nodes = __115,
    .size = 1
};
static const struct json_litex_node_t __117 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/events\\{/privacy\\}$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__116,
    .path = __127 + 14,
    .parent = &__128
};
static const struct json_litex_expr_node_t __118[] = {
    match_rex(22)
};
static const struct json_litex_expr_def_t __119 = {
    .nodes = __118,
    .size = 1
};
static const struct json_litex_node_t __120 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/received_events$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__119,
    .path = __127 + 15,
    .parent = &__128
};
static const struct json_litex_expr_node_t __121[] = {
    match_str("User")
};
static const struct json_litex_expr_def_t __122 = {
    .nodes = __121,
    .size = 1
};
static const struct json_litex_node_t __123 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "`User`"
    },
    .attr.string = &__122,
    .path = __127 + 16,
    .parent = &__128
};
static const struct json_litex_node_t __124 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "bool"
    },
    .attr.string = &__47,
    .path = __127 + 17,
    .parent = &__128
};
static const struct json_litex_node_t* __125(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    switch (*p ++) {
    case 'a':
        if (equal(p, "vatar_url"))
            return &__84;
        return NULL;
    case 'e':
        if (equal(p, "vents_url"))
            return &__117;
        return NULL;
    case 'f':
        if (prefix("ollow", p)) {
            p += 5;
            switch (*p ++) {
            case 'e':
                if (equal(p, "rs_url"))
                    return &__96;
                return NULL;
            case 'i':
                if (equal(p, "ng_url"))
                    return &__99;
            }
        }
        return NULL;
    case 'g':
        switch (*p ++) {
        case 'i':
            if (equal(p, "sts_url"))
                return &__102;
            return NULL;
        case 'r':
            if (equal(p, "avatar_id"))
                return &__87;
        }
        return NULL;
    case 'h':
        if (equal(p, "tml_url"))
            return &__93;
        return NULL;
    case 'i':
        if (*p ++ == 'd' &&
            *p == 0)
            return &__78;
        return NULL;
    case 'l':
        if (equal(p, "ogin"))
            return &__75;
        return NULL;
    case 'n':
        if (equal(p, "ode_id"))
            return &__81;
        return NULL;
    case 'o':
        if (equal(p, "rganizations_url"))
            return &__111;
        return NULL;
    case 'r':
        if (*p ++ == 'e') {
            switch (*p ++) {
            case 'c':
                if (equal(p, "eived_events_url"))
                    return &__120;
                return NULL;
            case 'p':
                if (equal(p, "os_url"))
                    return &__114;
            }
        }
        return NULL;
    case 's':
        switch (*p ++) {
        case 'i':
            if (equal(p, "te_admin"))
                return &__124;
            return NULL;
        case 't':
            if (equal(p, "arred_url"))
                return &__105;
            return NULL;
        case 'u':
            if (equal(p, "bscriptions_url"))
                return &__108;
        }
        return NULL;
    case 't':
        if (equal(p, "ype"))
            return &__123;
        return NULL;
    case 'u':
        if (equal(p, "rl"))
            return &__90;
    }
    return NULL;
}
static const struct json_litex_object_attr_t __126 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __125
};
static const struct json_litex_object_node_arg_t __127[] = {
    {
        .key = {
            .val = (const uchar_t*) "login"
        },
        .val = &__75
    },
    {
        .key = {
            .val = (const uchar_t*) "id"
        },
        .val = &__78
    },
    {
        .key = {
            .val = (const uchar_t*) "node_id"
        },
        .val = &__81
    },
    {
        .key = {
            .val = (const uchar_t*) "avatar_url"
        },
        .val = &__84
    },
    {
        .key = {
            .val = (const uchar_t*) "gravatar_id"
        },
        .val = &__87
    },
    {
        .key = {
            .val = (const uchar_t*) "url"
        },
        .val = &__90
    },
    {
        .key = {
            .val = (const uchar_t*) "html_url"
        },
        .val = &__93
    },
    {
        .key = {
            .val = (const uchar_t*) "followers_url"
        },
        .val = &__96
    },
    {
        .key = {
            .val = (const uchar_t*) "following_url"
        },
        .val = &__99
    },
    {
        .key = {
            .val = (const uchar_t*) "gists_url"
        },
        .val = &__102
    },
    {
        .key = {
            .val = (const uchar_t*) "starred_url"
        },
        .val = &__105
    },
    {
        .key = {
            .val = (const uchar_t*) "subscriptions_url"
        },
        .val = &__108
    },
    {
        .key = {
            .val = (const uchar_t*) "organizations_url"
        },
        .val = &__111
    },
    {
        .key = {
            .val = (const uchar_t*) "repos_url"
        },
        .val = &__114
    },
    {
        .key = {
            .val = (const uchar_t*) "events_url"
        },
        .val = &__117
    },
    {
        .key = {
            .val = (const uchar_t*) "received_events_url"
        },
        .val = &__120
    },
    {
        .key = {
            .val = (const uchar_t*) "type"
        },
        .val = &__123
    },
    {
        .key = {
            .val = (const uchar_t*) "site_admin"
        },
        .val = &__124
    }
};
static const struct json_litex_node_t __128 = {
    .type = json_litex_object_node_type,
    .attr.object = &__126,
    .node.object = {
        .args = __127,
        .size = 18
    },
    .parent = &__134
};
static const struct json_litex_expr_node_t __129[] = {
    call_builtin(null)
};
static const struct json_litex_expr_def_t __130 = {
    .nodes = __129,
    .size = 1
};
static const struct json_litex_node_t __131 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "null"
    },
    .attr.string = &__130,
    .parent = &__134
};
static const struct json_litex_array_attr_t __132 = {
    .string = &__131,
    .object = &__128
};
static const struct json_litex_node_t* __133[] = {
    &__128,
    &__131,
    NULL
};
static const struct json_litex_node_t __134 = {
    .type = json_litex_array_node_type,
    .attr.array = &__132,
    .node.array = {
        .args = __133,
        .size = 2
    },
    .path = __170 + 6,
    .parent = &__171
};
static const struct json_litex_node_t __160;
static const struct json_litex_object_node_arg_t __155[];
static const struct json_litex_node_t __156;
static const struct json_litex_node_t __135 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[a-z0-9_-]+$/I"
    },
    .attr.string = &__74,
    .path = __155 + 0,
    .parent = &__156
};
static const struct json_litex_node_t __136 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "uint(32)"
    },
    .attr.string = &__77,
    .path = __155 + 1,
    .parent = &__156
};
static const struct json_litex_node_t __137 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[a-z0-9]{14,}[a-z0-9=]{2}$/I"
    },
    .attr.string = &__80,
    .path = __155 + 2,
    .parent = &__156
};
static const struct json_litex_node_t __138 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://avatars\\d+\\.githubusercontent\\.com/u/\\d+\\?v=\\d+$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__83,
    .path = __155 + 3,
    .parent = &__156
};
static const struct json_litex_node_t __139 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "string && len == 0"
    },
    .attr.string = &__86,
    .path = __155 + 4,
    .parent = &__156
};
static const struct json_litex_node_t __140 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__89,
    .path = __155 + 5,
    .parent = &__156
};
static const struct json_litex_node_t __141 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://github\\.com/[a-zA-Z0-9_-]+$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__92,
    .path = __155 + 6,
    .parent = &__156
};
static const struct json_litex_node_t __142 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/followers$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__95,
    .path = __155 + 7,
    .parent = &__156
};
static const struct json_litex_node_t __143 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/following\\{/other_user\\}$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__98,
    .path = __155 + 8,
    .parent = &__156
};
static const struct json_litex_node_t __144 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/gists\\{/gist_id\\}$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__101,
    .path = __155 + 9,
    .parent = &__156
};
static const struct json_litex_node_t __145 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/starred\\{/owner\\}\\{/repo\\}$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__104,
    .path = __155 + 10,
    .parent = &__156
};
static const struct json_litex_node_t __146 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/subscriptions$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__107,
    .path = __155 + 11,
    .parent = &__156
};
static const struct json_litex_node_t __147 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/orgs$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__110,
    .path = __155 + 12,
    .parent = &__156
};
static const struct json_litex_node_t __148 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/repos$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__113,
    .path = __155 + 13,
    .parent = &__156
};
static const struct json_litex_node_t __149 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/events\\{/privacy\\}$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__116,
    .path = __155 + 14,
    .parent = &__156
};
static const struct json_litex_node_t __150 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t\t'^https://api\\.github\\.com/users/[a-zA-Z0-9_-]+/received_events$'\n\t\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__119,
    .path = __155 + 15,
    .parent = &__156
};
static const struct json_litex_node_t __151 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "`User`"
    },
    .attr.string = &__122,
    .path = __155 + 16,
    .parent = &__156
};
static const struct json_litex_node_t __152 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "bool"
    },
    .attr.string = &__47,
    .path = __155 + 17,
    .parent = &__156
};
static const struct json_litex_node_t* __153(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    switch (*p ++) {
    case 'a':
        if (equal(p, "vatar_url"))
            return &__138;
        return NULL;
    case 'e':
        if (equal(p, "vents_url"))
            return &__149;
        return NULL;
    case 'f':
        if (prefix("ollow", p)) {
            p += 5;
            switch (*p ++) {
            case 'e':
                if (equal(p, "rs_url"))
                    return &__142;
                return NULL;
            case 'i':
                if (equal(p, "ng_url"))
                    return &__143;
            }
        }
        return NULL;
    case 'g':
        switch (*p ++) {
        case 'i':
            if (equal(p, "sts_url"))
                return &__144;
            return NULL;
        case 'r':
            if (equal(p, "avatar_id"))
                return &__139;
        }
        return NULL;
    case 'h':
        if (equal(p, "tml_url"))
            return &__141;
        return NULL;
    case 'i':
        if (*p ++ == 'd' &&
            *p == 0)
            return &__136;
        return NULL;
    case 'l':
        if (equal(p, "ogin"))
            return &__135;
        return NULL;
    case 'n':
        if (equal(p, "ode_id"))
            return &__137;
        return NULL;
    case 'o':
        if (equal(p, "rganizations_url"))
            return &__147;
        return NULL;
    case 'r':
        if (*p ++ == 'e') {
            switch (*p ++) {
            case 'c':
                if (equal(p, "eived_events_url"))
                    return &__150;
                return NULL;
            case 'p':
                if (equal(p, "os_url"))
                    return &__148;
            }
        }
        return NULL;
    case 's':
        switch (*p ++) {
        case 'i':
            if (equal(p, "te_admin"))
                return &__152;
            return NULL;
        case 't':
            if (equal(p, "arred_url"))
                return &__145;
            return NULL;
        case 'u':
            if (equal(p, "bscriptions_url"))
                return &__146;
        }
        return NULL;
    case 't':
        if (equal(p, "ype"))
            return &__151;
        return NULL;
    case 'u':
        if (equal(p, "rl"))
            return &__140;
    }
    return NULL;
}
static const struct json_litex_object_attr_t __154 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __153
};
static const struct json_litex_object_node_arg_t __155[] = {
    {
        .key = {
            .val = (const uchar_t*) "login"
        },
        .val = &__135
    },
    {
        .key = {
            .val = (const uchar_t*) "id"
        },
        .val = &__136
    },
    {
        .key = {
            .val = (const uchar_t*) "node_id"
        },
        .val = &__137
    },
    {
        .key = {
            .val = (const uchar_t*) "avatar_url"
        },
        .val = &__138
    },
    {
        .key = {
            .val = (const uchar_t*) "gravatar_id"
        },
        .val = &__139
    },
    {
        .key = {
            .val = (const uchar_t*) "url"
        },
        .val = &__140
    },
    {
        .key = {
            .val = (const uchar_t*) "html_url"
        },
        .val = &__141
    },
    {
        .key = {
            .val = (const uchar_t*) "followers_url"
        },
        .val = &__142
    },
    {
        .key = {
            .val = (const uchar_t*) "following_url"
        },
        .val = &__143
    },
    {
        .key = {
            .val = (const uchar_t*) "gists_url"
        },
        .val = &__144
    },
    {
        .key = {
            .val = (const uchar_t*) "starred_url"
        },
        .val = &__145
    },
    {
        .key = {
            .val = (const uchar_t*) "subscriptions_url"
        },
        .val = &__146
    },
    {
        .key = {
            .val = (const uchar_t*) "organizations_url"
        },
        .val = &__147
    },
    {
        .key = {
            .val = (const uchar_t*) "repos_url"
        },
        .val = &__148
    },
    {
        .key = {
            .val = (const uchar_t*) "events_url"
        },
        .val = &__149
    },
    {
        .key = {
            .val = (const uchar_t*) "received_events_url"
        },
        .val = &__150
    },
    {
        .key = {
            .val = (const uchar_t*) "type"
        },
        .val = &__151
    },
    {
        .key = {
            .val = (const uchar_t*) "site_admin"
        },
        .val = &__152
    }
};
static const struct json_litex_node_t __156 = {
    .type = json_litex_object_node_type,
    .attr.object = &__154,
    .node.object = {
        .args = __155,
        .size = 18
    },
    .parent = &__160
};
static const struct json_litex_node_t __157 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "null"
    },
    .attr.string = &__130,
    .parent = &__160
};
static const struct json_litex_array_attr_t __158 = {
    .string = &__157,
    .object = &__156
};
static const struct json_litex_node_t* __159[] = {
    &__156,
    &__157,
    NULL
};
static const struct json_litex_node_t __160 = {
    .type = json_litex_array_node_type,
    .attr.array = &__158,
    .node.array = {
        .args = __159,
        .size = 2
    },
    .path = __170 + 7,
    .parent = &__171
};
static const struct json_litex_object_node_arg_t __166[];
static const struct json_litex_node_t __167;
static const struct json_litex_node_t __161 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "/^[0-9a-f]{40}$/"
    },
    .attr.string = &__4,
    .path = __166 + 0,
    .parent = &__167
};
static const struct json_litex_node_t __162 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t'^https://api\\.github\\.com/repos/gcc-mirror/gcc/commits/[0-9a-f]{40}$'\n\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__65,
    .path = __166 + 1,
    .parent = &__167
};
static const struct json_litex_node_t __163 = {
    .type = json_litex_string_node_type,
    .node.string = {
        .val = (const uchar_t*) "\n\t\t\t\t'^https://github\\.com/gcc-mirror/gcc/commit/[0-9a-f]{40}$'\n\t\t\t",
        .delim = (const uchar_t*) ""
    },
    .attr.string = &__68,
    .path = __166 + 2,
    .parent = &__167
};
static const struct json_litex_node_t* __164(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    switch (*p ++) {
    case 'h':
        if (equal(p, "tml_url"))
            return &__163;
        return NULL;
    case 's':
        if (equal(p, "ha"))
            return &__161;
        return NULL;
    case 'u':
        if (equal(p, "rl"))
            return &__162;
    }
    return NULL;
}
static const struct json_litex_object_attr_t __165 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __164
};
static const struct json_litex_object_node_arg_t __166[] = {
    {
        .key = {
            .val = (const uchar_t*) "sha"
        },
        .val = &__161
    },
    {
        .key = {
            .val = (const uchar_t*) "url"
        },
        .val = &__162
    },
    {
        .key = {
            .val = (const uchar_t*) "html_url"
        },
        .val = &__163
    }
};
static const struct json_litex_node_t __167 = {
    .type = json_litex_object_node_type,
    .attr.object = &__165,
    .node.object = {
        .args = __166,
        .size = 3
    },
    .path = __170 + 8,
    .parent = &__171
};
static const struct json_litex_node_t* __168(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    switch (*p ++) {
    case 'a':
        if (equal(p, "uthor"))
            return &__134;
        return NULL;
    case 'c':
        if (prefix("omm", p)) {
            p += 3;
            switch (*p ++) {
            case 'e':
                if (equal(p, "nts_url"))
                    return &__72;
                return NULL;
            case 'i':
                if (*p ++ == 't') {
                    if (*p == 0)
                        return &__63;
                    if (equal(p, "ter"))
                        return &__160;
                }
            }
        }
        return NULL;
    case 'h':
        if (equal(p, "tml_url"))
            return &__69;
        return NULL;
    case 'n':
        if (equal(p, "ode_id"))
            return &__8;
        return NULL;
    case 'p':
        if (equal(p, "arents"))
            return &__167;
        return NULL;
    case 's':
        if (equal(p, "ha"))
            return &__5;
        return NULL;
    case 'u':
        if (equal(p, "rl"))
            return &__66;
    }
    return NULL;
}
static const struct json_litex_object_attr_t __169 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __168
};
static const struct json_litex_object_node_arg_t __170[] = {
    {
        .key = {
            .val = (const uchar_t*) "sha"
        },
        .val = &__5
    },
    {
        .key = {
            .val = (const uchar_t*) "node_id"
        },
        .val = &__8
    },
    {
        .key = {
            .val = (const uchar_t*) "commit"
        },
        .val = &__63
    },
    {
        .key = {
            .val = (const uchar_t*) "url"
        },
        .val = &__66
    },
    {
        .key = {
            .val = (const uchar_t*) "html_url"
        },
        .val = &__69
    },
    {
        .key = {
            .val = (const uchar_t*) "comments_url"
        },
        .val = &__72
    },
    {
        .key = {
            .val = (const uchar_t*) "author"
        },
        .val = &__134
    },
    {
        .key = {
            .val = (const uchar_t*) "committer"
        },
        .val = &__160
    },
    {
        .key = {
            .val = (const uchar_t*) "parents"
        },
        .val = &__167
    }
};
static const struct json_litex_node_t __171 = {
    .type = json_litex_object_node_type,
    .attr.object = &__169,
    .node.object = {
        .args = __170,
        .size = 9
    },
    .path = __174 + 0,
    .parent = &__175
};
static const struct json_litex_node_t* __172(
    const struct json_litex_trie_node_t* n UNUSED,
    const char* p)
{
    if (equal(p, "commits"))
        return &__171;
    return NULL;
}
static const struct json_litex_object_attr_t __173 = {
    .lookup = (json_litex_object_attr_lookup_func_t) __172
};
static const struct json_litex_object_node_arg_t __174[] = {
    {
        .key = {
            .val = (const uchar_t*) "commits"
        },
        .val = &__171
    }
};
static const struct json_litex_node_t __175 = {
    .type = json_litex_object_node_type,
    .attr.object = &__173,
    .node.object = {
        .args = __174,
        .size = 1
    }
};
static const struct json_litex_def_t MODULE_LITEX_DEF = {
    .rexes = &__2,
    .node = &__175
};
$ json-litex -V libs/github-litex/github-litex.json
$

--[ github-sobj-lib ]-----------------------------------------------------------

$ json() { LD_LIBRARY_PATH=../lib ../src/json --raw-strings "$@"; }
$ json-litex() { set -o pipefail && LD_LIBRARY_PATH=../lib:"$JSON_LITEX_TEST_PCRE2_LIB" ../src/json -VF -- ../lib/json-litex.so "$@"; }
$ norm() { sed -r '/^\/\/|^\s*$|^\s+(0x[[:xdigit:]]{2},\s*)+$/d;/^#if\s+0\s*$/,/^#endif\s*$/d;s/^(\s+)0x[[:xdigit:]]{2}(,\s*0x[[:xdigit:]]{2})+$/\1. . ./;s/^#/\\\0/' ${1:+"$1"}; }
$ diff -u -Ljson <(json-litex -P libs/github-litex/github-litex.json|json -P) -Llib <(json-litex -P libs/github-litex/github-litex.so|json -P)
$ json-litex -V libs/github-litex/github-litex.so
$ diff -u -Ltext <(json-litex -D libs/github-litex/github-litex.json|norm) -Lsobj <(json-litex -D libs/github-litex/github-litex.so|norm)
$


