gitextract_ewtnex4r/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── images/ │ │ └── demo.tape │ ├── scripts/ │ │ └── coverage.mjs │ └── workflows/ │ ├── build.yml │ ├── check.yml │ ├── diff.yml │ ├── fuzz.yml │ └── test.yml ├── .gitignore ├── LICENSE ├── README.md ├── SECURITY.md ├── ast/ │ ├── dump.go │ ├── find.go │ ├── find_test.go │ ├── node.go │ ├── print.go │ ├── print_test.go │ ├── visitor.go │ └── visitor_test.go ├── bench_test.go ├── builtin/ │ ├── builtin.go │ ├── builtin_test.go │ ├── function.go │ ├── lib.go │ ├── utils.go │ └── validation.go ├── checker/ │ ├── checker.go │ ├── checker_bench_test.go │ ├── checker_test.go │ ├── info.go │ ├── info_test.go │ └── nature/ │ ├── nature.go │ └── utils.go ├── compiler/ │ ├── compiler.go │ └── compiler_test.go ├── conf/ │ ├── config.go │ └── env.go ├── debug/ │ ├── debugger.go │ ├── go.mod │ └── go.sum ├── docgen/ │ ├── README.md │ ├── docgen.go │ ├── docgen_test.go │ └── markdown.go ├── docs/ │ ├── configuration.md │ ├── environment.md │ ├── functions.md │ ├── getting-started.md │ ├── language-definition.md │ ├── patch.md │ └── visitor.md ├── expr.go ├── expr_test.go ├── file/ │ ├── error.go │ ├── location.go │ ├── source.go │ └── source_test.go ├── go.mod ├── internal/ │ ├── deref/ │ │ ├── deref.go │ │ └── deref_test.go │ ├── difflib/ │ │ ├── difflib.go │ │ └── difflib_test.go │ ├── ring/ │ │ ├── ring.go │ │ └── ring_test.go │ ├── spew/ │ │ ├── bypass.go │ │ ├── bypasssafe.go │ │ ├── common.go │ │ ├── common_test.go │ │ ├── config.go │ │ ├── doc.go │ │ ├── dump.go │ │ ├── dump_test.go │ │ ├── dumpcgo_test.go │ │ ├── dumpnocgo_test.go │ │ ├── example_test.go │ │ ├── format.go │ │ ├── format_test.go │ │ ├── internal_test.go │ │ ├── internalunsafe_test.go │ │ ├── spew.go │ │ ├── spew_test.go │ │ └── testdata/ │ │ └── dumpcgo.go │ └── testify/ │ ├── assert/ │ │ ├── assertion_compare.go │ │ ├── assertion_compare_test.go │ │ ├── assertion_format.go │ │ ├── assertion_format.go.tmpl │ │ ├── assertion_forward.go │ │ ├── assertion_forward.go.tmpl │ │ ├── assertion_order.go │ │ ├── assertion_order_test.go │ │ ├── assertions.go │ │ ├── assertions_test.go │ │ ├── doc.go │ │ ├── errors.go │ │ ├── forward_assertions.go │ │ ├── forward_assertions_test.go │ │ ├── http_assertions.go │ │ ├── http_assertions_test.go │ │ └── internal/ │ │ └── unsafetests/ │ │ ├── doc.go │ │ └── unsafetests_test.go │ └── require/ │ ├── doc.go │ ├── forward_requirements.go │ ├── forward_requirements_test.go │ ├── require.go │ ├── require.go.tmpl │ ├── require_forward.go │ ├── require_forward.go.tmpl │ ├── requirements.go │ └── requirements_test.go ├── optimizer/ │ ├── const_expr.go │ ├── count_any.go │ ├── count_any_test.go │ ├── count_threshold.go │ ├── count_threshold_test.go │ ├── filter_first.go │ ├── filter_last.go │ ├── filter_len.go │ ├── filter_map.go │ ├── filter_map_test.go │ ├── fold.go │ ├── fold_test.go │ ├── in_array.go │ ├── in_range.go │ ├── optimizer.go │ ├── optimizer_test.go │ ├── predicate_combination.go │ ├── sum_array.go │ ├── sum_array_test.go │ ├── sum_map.go │ ├── sum_map_test.go │ ├── sum_range.go │ └── sum_range_test.go ├── parser/ │ ├── bench_test.go │ ├── lexer/ │ │ ├── lexer.go │ │ ├── lexer_test.go │ │ ├── state.go │ │ ├── token.go │ │ └── utils.go │ ├── operator/ │ │ └── operator.go │ ├── parser.go │ ├── parser_test.go │ └── utils/ │ └── utils.go ├── patcher/ │ ├── operator_override.go │ ├── value/ │ │ ├── bench_test.go │ │ ├── value.go │ │ ├── value_example_test.go │ │ └── value_test.go │ ├── with_context.go │ ├── with_context_test.go │ ├── with_timezone.go │ └── with_timezone_test.go ├── repl/ │ ├── go.mod │ ├── go.sum │ └── repl.go ├── test/ │ ├── bench/ │ │ └── bench_call_test.go │ ├── coredns/ │ │ ├── coredns.go │ │ └── coredns_test.go │ ├── crowdsec/ │ │ ├── crowdsec.go │ │ ├── crowdsec_test.go │ │ └── funcs.go │ ├── deref/ │ │ └── deref_test.go │ ├── examples/ │ │ ├── examples_test.go │ │ └── markdown.go │ ├── fuzz/ │ │ ├── fuzz_corpus.sh │ │ ├── fuzz_corpus.txt │ │ ├── fuzz_env.go │ │ ├── fuzz_expr.dict │ │ └── fuzz_test.go │ ├── gen/ │ │ ├── env.go │ │ ├── gen.go │ │ ├── gen_test.go │ │ └── utils.go │ ├── interface/ │ │ ├── interface_method_test.go │ │ └── interface_test.go │ ├── issues/ │ │ ├── 461/ │ │ │ └── issue_test.go │ │ ├── 567/ │ │ │ └── issue_test.go │ │ ├── 688/ │ │ │ └── issue_test.go │ │ ├── 723/ │ │ │ └── issue_test.go │ │ ├── 730/ │ │ │ └── issue_test.go │ │ ├── 739/ │ │ │ └── issue_test.go │ │ ├── 756/ │ │ │ └── issue_test.go │ │ ├── 785/ │ │ │ └── issue_test.go │ │ ├── 817/ │ │ │ └── issue_test.go │ │ ├── 819/ │ │ │ └── issue_test.go │ │ ├── 823/ │ │ │ └── issue_test.go │ │ ├── 830/ │ │ │ └── issue_test.go │ │ ├── 836/ │ │ │ └── issue_test.go │ │ ├── 840/ │ │ │ └── issue_test.go │ │ ├── 844/ │ │ │ └── issue_test.go │ │ ├── 854/ │ │ │ └── issue_test.go │ │ ├── 857/ │ │ │ └── issue_test.go │ │ ├── 888/ │ │ │ └── issue_test.go │ │ ├── 924/ │ │ │ └── issue_test.go │ │ └── 934/ │ │ └── issue_test.go │ ├── mock/ │ │ └── mock.go │ ├── operator/ │ │ ├── issues584/ │ │ │ └── issues584_test.go │ │ └── operator_test.go │ ├── patch/ │ │ ├── change_ident_test.go │ │ ├── patch_count_test.go │ │ ├── patch_test.go │ │ └── set_type/ │ │ └── set_type_test.go │ ├── pipes/ │ │ └── pipes_test.go │ ├── playground/ │ │ ├── data.go │ │ └── env.go │ └── time/ │ └── time_test.go ├── testdata/ │ ├── crash.txt │ ├── crowdsec.json │ ├── examples.md │ └── generated.txt ├── types/ │ ├── types.go │ └── types_test.go └── vm/ ├── debug.go ├── debug_off.go ├── debug_test.go ├── func_types/ │ └── main.go ├── func_types[generated].go ├── opcodes.go ├── program.go ├── program_test.go ├── runtime/ │ ├── helpers/ │ │ └── main.go │ ├── helpers[generated].go │ ├── helpers_test.go │ ├── runtime.go │ └── sort.go ├── utils.go ├── vm.go ├── vm_bench_test.go └── vm_test.go