Projects STRLCPY bearer Commits 603b3a49
🤬
  • pkg/souffle/rules/generated.cpp
    Diff is too large to be displayed.
  • ■ ■ ■ ■ ■ ■
    souffle/generated/rules.dl
    1  -// rule blowfish_init
    2  -.decl Rule_Match_blowfish_init_0(node: AST_NodeId)
    3  -.output Rule_Match_blowfish_init_0
    4  -Rule_Match_blowfish_init_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Crypt"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Blowfish"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    5  -// rule google_dataflow_client_init
    6  -.decl Rule_Match_google_dataflow_client_init_1(node: AST_NodeId, node7: AST_NodeId)
    7  -.output Rule_Match_google_dataflow_client_init_1
    8  -Rule_Match_google_dataflow_client_init_1(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Dataflow"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, _).
    9  -// rule google_dataflow_config
    10  -.decl Rule_Match_google_dataflow_config_0(node: AST_NodeId, node2: AST_NodeId)
    11  -.output Rule_Match_google_dataflow_config_0
    12  -Rule_Match_google_dataflow_config_0(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "configure").
    13  -.decl Rule_Match_google_dataflow_config_1(node: AST_NodeId, node2: AST_NodeId)
    14  -.output Rule_Match_google_dataflow_config_1
    15  -Rule_Match_google_dataflow_config_1(node1, node2) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "configure"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _).
    16  -// rule google_dataflow_description_classes
    17  -.decl Rule_Match_google_dataflow_description_classes_1(node: AST_NodeId, node2: AST_NodeId)
    18  -.output Rule_Match_google_dataflow_description_classes_1
    19  -Rule_Match_google_dataflow_description_classes_1(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "get_snapshot").
    20  -// rule google_dataflow_message_text_classes
    21  -// rule google_dataflow_snapshots_client_init
    22  -.decl Rule_Match_google_dataflow_snapshots_client_init_1(node: AST_NodeId)
    23  -.output Rule_Match_google_dataflow_snapshots_client_init_1
    24  -Rule_Match_google_dataflow_snapshots_client_init_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Dataflow"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "snapshots").
    25  -// rule google_dataflow_template_metadata_init
    26  -// rule google_dataflow_templates_service_client_init
    27  -.decl Rule_Match_google_dataflow_templates_service_client_init_1(node: AST_NodeId)
    28  -.output Rule_Match_google_dataflow_templates_service_client_init_1
    29  -Rule_Match_google_dataflow_templates_service_client_init_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Dataflow"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "templates_service").
    30  -// rule google_dataflow_value_classes
    31  -// rule open_telemetry_current_span
    32  -.decl Rule_Match_open_telemetry_current_span_0(node: AST_NodeId)
    33  -.output Rule_Match_open_telemetry_current_span_0
    34  -Rule_Match_open_telemetry_current_span_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "OpenTelemetry"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Trace"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "current_span").
    35  -.decl Rule_Match_open_telemetry_current_span_1(node: AST_NodeId)
    36  -.output Rule_Match_open_telemetry_current_span_1
    37  -Rule_Match_open_telemetry_current_span_1(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "in_span"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _).
    38  -// rule openssl_dsa_init
    39  -.decl Rule_Match_openssl_dsa_init_0(node: AST_NodeId)
    40  -.output Rule_Match_openssl_dsa_init_0
    41  -Rule_Match_openssl_dsa_init_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "PKey"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "DSA"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new").
    42  -// rule openssl_rsa_init
    43  -// rule rc4_init
    44  -.decl Rule_Match_rc4_init_0(node: AST_NodeId)
    45  -.output Rule_Match_rc4_init_0
    46  -Rule_Match_rc4_init_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "RC4"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new").
    47  -// rule ruby_lang_cookies
    48  -.decl Rule_Match_ruby_lang_cookies_0(node: AST_NodeId, node5: AST_NodeId)
    49  -.output Rule_Match_ruby_lang_cookies_0
    50  -Rule_Match_ruby_lang_cookies_0(node1, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "cookies"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, _), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    51  -.decl Rule_Match_ruby_lang_cookies_1(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    52  -.output Rule_Match_ruby_lang_cookies_1
    53  -Rule_Match_ruby_lang_cookies_1(node1, node5, node7) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), (!AST_NodeField(node3, _, "arguments"); AST_NodeField(node3, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node3, node4, "receiver"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "cookies"), AST_NodeField(node3, node5, "method"), AST_NodeType(node5, _), AST_ParentChild(node2, 0, node6), AST_NodeType(node6, _), AST_NodeField(node1, node7, "right"), AST_NodeType(node7, _).
    54  -// rule ruby_lang_deserialization_of_user_input
    55  -.decl Rule_Match_ruby_lang_deserialization_of_user_input_0(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    56  -.output Rule_Match_ruby_lang_deserialization_of_user_input_0
    57  -Rule_Match_ruby_lang_deserialization_of_user_input_0(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "load"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    58  -.decl Rule_Match_ruby_lang_deserialization_of_user_input_1(node: AST_NodeId, node5: AST_NodeId)
    59  -.output Rule_Match_ruby_lang_deserialization_of_user_input_1
    60  -Rule_Match_ruby_lang_deserialization_of_user_input_1(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Marshal"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "restore"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    61  -.decl Rule_Match_ruby_lang_deserialization_of_user_input_2(node: AST_NodeId, node5: AST_NodeId)
    62  -.output Rule_Match_ruby_lang_deserialization_of_user_input_2
    63  -Rule_Match_ruby_lang_deserialization_of_user_input_2(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Oj"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "object_load"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    64  -// rule ruby_lang_deserialization_of_user_input_sanitized_user_input
    65  -.decl Rule_Match_ruby_lang_deserialization_of_user_input_sanitized_user_input_0(node: AST_NodeId)
    66  -.output Rule_Match_ruby_lang_deserialization_of_user_input_sanitized_user_input_0
    67  -Rule_Match_ruby_lang_deserialization_of_user_input_sanitized_user_input_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "JSON"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "parse").
    68  -.decl Rule_Match_ruby_lang_deserialization_of_user_input_sanitized_user_input_1(node: AST_NodeId)
    69  -.output Rule_Match_ruby_lang_deserialization_of_user_input_sanitized_user_input_1
    70  -Rule_Match_ruby_lang_deserialization_of_user_input_sanitized_user_input_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Nokogiri"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "XML").
    71  -// rule ruby_lang_deserialization_of_user_input_user_input
    72  -.decl Rule_Match_ruby_lang_deserialization_of_user_input_user_input_0(node: AST_NodeId)
    73  -.output Rule_Match_ruby_lang_deserialization_of_user_input_user_input_0
    74  -Rule_Match_ruby_lang_deserialization_of_user_input_user_input_0(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context").
    75  -.decl Rule_Match_ruby_lang_deserialization_of_user_input_user_input_1(node: AST_NodeId, node1: AST_NodeId)
    76  -.output Rule_Match_ruby_lang_deserialization_of_user_input_user_input_1
    77  -Rule_Match_ruby_lang_deserialization_of_user_input_user_input_1(node1, node1) :- AST_NodeType(node1, _).
    78  -// rule ruby_lang_eval_using_user_input
    79  -.decl Rule_Match_ruby_lang_eval_using_user_input_0(node: AST_NodeId, node7: AST_NodeId)
    80  -.output Rule_Match_ruby_lang_eval_using_user_input_0
    81  -Rule_Match_ruby_lang_eval_using_user_input_0(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "RubyVM"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "InstructionSequence"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "compile"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    82  -.decl Rule_Match_ruby_lang_eval_using_user_input_1(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    83  -.output Rule_Match_ruby_lang_eval_using_user_input_1
    84  -Rule_Match_ruby_lang_eval_using_user_input_1(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    85  -.decl Rule_Match_ruby_lang_eval_using_user_input_2(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    86  -.output Rule_Match_ruby_lang_eval_using_user_input_2
    87  -Rule_Match_ruby_lang_eval_using_user_input_2(node1, node2, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    88  -// rule ruby_lang_eval_using_user_input_user_input
    89  -.decl Rule_Match_ruby_lang_eval_using_user_input_user_input_0(node: AST_NodeId)
    90  -.output Rule_Match_ruby_lang_eval_using_user_input_user_input_0
    91  -Rule_Match_ruby_lang_eval_using_user_input_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    92  -.decl Rule_Match_ruby_lang_eval_using_user_input_user_input_1(node: AST_NodeId)
    93  -.output Rule_Match_ruby_lang_eval_using_user_input_user_input_1
    94  -Rule_Match_ruby_lang_eval_using_user_input_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    95  -.decl Rule_Match_ruby_lang_eval_using_user_input_user_input_2(node: AST_NodeId)
    96  -.output Rule_Match_ruby_lang_eval_using_user_input_user_input_2
    97  -Rule_Match_ruby_lang_eval_using_user_input_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    98  -.decl Rule_Match_ruby_lang_eval_using_user_input_user_input_3(node: AST_NodeId)
    99  -.output Rule_Match_ruby_lang_eval_using_user_input_user_input_3
    100  -Rule_Match_ruby_lang_eval_using_user_input_user_input_3(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context").
    101  -// rule ruby_lang_exception
    102  -.decl Rule_Match_ruby_lang_exception_0(node: AST_NodeId, node4: AST_NodeId)
    103  -.output Rule_Match_ruby_lang_exception_0
    104  -Rule_Match_ruby_lang_exception_0(node1, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), !AST_NodeField(node1, _, "receiver"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "raise"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    105  -// rule ruby_lang_exec_using_user_input
    106  -.decl Rule_Match_ruby_lang_exec_using_user_input_0(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    107  -.output Rule_Match_ruby_lang_exec_using_user_input_0
    108  -Rule_Match_ruby_lang_exec_using_user_input_0(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Kernel"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    109  -.decl Rule_Match_ruby_lang_exec_using_user_input_1(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    110  -.output Rule_Match_ruby_lang_exec_using_user_input_1
    111  -Rule_Match_ruby_lang_exec_using_user_input_1(node1, node2, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    112  -.decl Rule_Match_ruby_lang_exec_using_user_input_2(node: AST_NodeId, node5: AST_NodeId)
    113  -.output Rule_Match_ruby_lang_exec_using_user_input_2
    114  -Rule_Match_ruby_lang_exec_using_user_input_2(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "popen"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    115  -.decl Rule_Match_ruby_lang_exec_using_user_input_3(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    116  -.output Rule_Match_ruby_lang_exec_using_user_input_3
    117  -Rule_Match_ruby_lang_exec_using_user_input_3(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Process"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    118  -.decl Rule_Match_ruby_lang_exec_using_user_input_4(node: AST_NodeId, node5: AST_NodeId)
    119  -.output Rule_Match_ruby_lang_exec_using_user_input_4
    120  -Rule_Match_ruby_lang_exec_using_user_input_4(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Open3"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    121  -.decl Rule_Match_ruby_lang_exec_using_user_input_5(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    122  -.output Rule_Match_ruby_lang_exec_using_user_input_5
    123  -Rule_Match_ruby_lang_exec_using_user_input_5(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Gem"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Util"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    124  -.decl Rule_Match_ruby_lang_exec_using_user_input_6(node: AST_NodeId, node5: AST_NodeId)
    125  -.output Rule_Match_ruby_lang_exec_using_user_input_6
    126  -Rule_Match_ruby_lang_exec_using_user_input_6(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "PTY"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "spawn"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    127  -.decl Rule_Match_ruby_lang_exec_using_user_input_7(node: AST_NodeId, node2: AST_NodeId)
    128  -.output Rule_Match_ruby_lang_exec_using_user_input_7
    129  -Rule_Match_ruby_lang_exec_using_user_input_7(node1, node2) :- AST_NodeType(node1, "subshell"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, _).
    130  -.decl Rule_Match_ruby_lang_exec_using_user_input_8(node: AST_NodeId)
    131  -.output Rule_Match_ruby_lang_exec_using_user_input_8
    132  -Rule_Match_ruby_lang_exec_using_user_input_8(node1) :- AST_NodeType(node1, "subshell"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "string_content"), AST_NodeContent(node2, "{CurioVar0").
    133  -.decl Rule_Match_ruby_lang_exec_using_user_input_9(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    134  -.output Rule_Match_ruby_lang_exec_using_user_input_9
    135  -Rule_Match_ruby_lang_exec_using_user_input_9(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    136  -.decl Rule_Match_ruby_lang_exec_using_user_input_10(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    137  -.output Rule_Match_ruby_lang_exec_using_user_input_10
    138  -Rule_Match_ruby_lang_exec_using_user_input_10(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "CommandProcessor"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    139  -.decl Rule_Match_ruby_lang_exec_using_user_input_11(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    140  -.output Rule_Match_ruby_lang_exec_using_user_input_11
    141  -Rule_Match_ruby_lang_exec_using_user_input_11(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "system"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    142  -// rule ruby_lang_exec_using_user_input_shell
    143  -.decl Rule_Match_ruby_lang_exec_using_user_input_shell_0(node: AST_NodeId)
    144  -.output Rule_Match_ruby_lang_exec_using_user_input_shell_0
    145  -Rule_Match_ruby_lang_exec_using_user_input_shell_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new").
    146  -// rule ruby_lang_exec_using_user_input_shell_cmd_proc
    147  -.decl Rule_Match_ruby_lang_exec_using_user_input_shell_cmd_proc_0(node: AST_NodeId, node2: AST_NodeId)
    148  -.output Rule_Match_ruby_lang_exec_using_user_input_shell_cmd_proc_0
    149  -Rule_Match_ruby_lang_exec_using_user_input_shell_cmd_proc_0(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "command_processor").
    150  -.decl Rule_Match_ruby_lang_exec_using_user_input_shell_cmd_proc_1(node: AST_NodeId)
    151  -.output Rule_Match_ruby_lang_exec_using_user_input_shell_cmd_proc_1
    152  -Rule_Match_ruby_lang_exec_using_user_input_shell_cmd_proc_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "CommandProcessor"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    153  -// rule ruby_lang_exec_using_user_input_user_input
    154  -.decl Rule_Match_ruby_lang_exec_using_user_input_user_input_0(node: AST_NodeId)
    155  -.output Rule_Match_ruby_lang_exec_using_user_input_user_input_0
    156  -Rule_Match_ruby_lang_exec_using_user_input_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    157  -.decl Rule_Match_ruby_lang_exec_using_user_input_user_input_1(node: AST_NodeId)
    158  -.output Rule_Match_ruby_lang_exec_using_user_input_user_input_1
    159  -Rule_Match_ruby_lang_exec_using_user_input_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    160  -.decl Rule_Match_ruby_lang_exec_using_user_input_user_input_2(node: AST_NodeId)
    161  -.output Rule_Match_ruby_lang_exec_using_user_input_user_input_2
    162  -Rule_Match_ruby_lang_exec_using_user_input_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    163  -.decl Rule_Match_ruby_lang_exec_using_user_input_user_input_3(node: AST_NodeId)
    164  -.output Rule_Match_ruby_lang_exec_using_user_input_user_input_3
    165  -Rule_Match_ruby_lang_exec_using_user_input_user_input_3(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context").
    166  -// rule ruby_lang_file_generation
    167  -.decl Rule_Match_ruby_lang_file_generation_0(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    168  -.output Rule_Match_ruby_lang_file_generation_0
    169  -Rule_Match_ruby_lang_file_generation_0(node1, node2, node4) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "<<"), AST_NodeField(node1, node4, "right"), AST_NodeType(node4, _).
    170  -.decl Rule_Match_ruby_lang_file_generation_1(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    171  -.output Rule_Match_ruby_lang_file_generation_1
    172  -Rule_Match_ruby_lang_file_generation_1(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    173  -// rule ruby_lang_file_generation_file
    174  -.decl Rule_Match_ruby_lang_file_generation_file_0(node: AST_NodeId)
    175  -.output Rule_Match_ruby_lang_file_generation_file_0
    176  -Rule_Match_ruby_lang_file_generation_file_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "generate").
    177  -.decl Rule_Match_ruby_lang_file_generation_file_1(node: AST_NodeId)
    178  -.output Rule_Match_ruby_lang_file_generation_file_1
    179  -Rule_Match_ruby_lang_file_generation_file_1(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "generate"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _).
    180  -.decl Rule_Match_ruby_lang_file_generation_file_2(node: AST_NodeId)
    181  -.output Rule_Match_ruby_lang_file_generation_file_2
    182  -Rule_Match_ruby_lang_file_generation_file_2(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open").
    183  -.decl Rule_Match_ruby_lang_file_generation_file_3(node: AST_NodeId)
    184  -.output Rule_Match_ruby_lang_file_generation_file_3
    185  -Rule_Match_ruby_lang_file_generation_file_3(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _).
    186  -.decl Rule_Match_ruby_lang_file_generation_file_4(node: AST_NodeId)
    187  -.output Rule_Match_ruby_lang_file_generation_file_4
    188  -Rule_Match_ruby_lang_file_generation_file_4(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "File"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open").
    189  -.decl Rule_Match_ruby_lang_file_generation_file_5(node: AST_NodeId)
    190  -.output Rule_Match_ruby_lang_file_generation_file_5
    191  -Rule_Match_ruby_lang_file_generation_file_5(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "File"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _).
    192  -.decl Rule_Match_ruby_lang_file_generation_file_6(node: AST_NodeId)
    193  -.output Rule_Match_ruby_lang_file_generation_file_6
    194  -Rule_Match_ruby_lang_file_generation_file_6(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open").
    195  -.decl Rule_Match_ruby_lang_file_generation_file_7(node: AST_NodeId)
    196  -.output Rule_Match_ruby_lang_file_generation_file_7
    197  -Rule_Match_ruby_lang_file_generation_file_7(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _).
    198  -// rule ruby_lang_ftp_using_user_input
    199  -.decl Rule_Match_ruby_lang_ftp_using_user_input_0(node: AST_NodeId, node7: AST_NodeId)
    200  -.output Rule_Match_ruby_lang_ftp_using_user_input_0
    201  -Rule_Match_ruby_lang_ftp_using_user_input_0(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    202  -.decl Rule_Match_ruby_lang_ftp_using_user_input_1(node: AST_NodeId, node7: AST_NodeId)
    203  -.output Rule_Match_ruby_lang_ftp_using_user_input_1
    204  -Rule_Match_ruby_lang_ftp_using_user_input_1(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    205  -.decl Rule_Match_ruby_lang_ftp_using_user_input_2(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    206  -.output Rule_Match_ruby_lang_ftp_using_user_input_2
    207  -Rule_Match_ruby_lang_ftp_using_user_input_2(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    208  -// rule ruby_lang_ftp_using_user_input_ftp
    209  -.decl Rule_Match_ruby_lang_ftp_using_user_input_ftp_0(node: AST_NodeId)
    210  -.output Rule_Match_ruby_lang_ftp_using_user_input_ftp_0
    211  -Rule_Match_ruby_lang_ftp_using_user_input_ftp_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    212  -.decl Rule_Match_ruby_lang_ftp_using_user_input_ftp_1(node: AST_NodeId)
    213  -.output Rule_Match_ruby_lang_ftp_using_user_input_ftp_1
    214  -Rule_Match_ruby_lang_ftp_using_user_input_ftp_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open").
    215  -.decl Rule_Match_ruby_lang_ftp_using_user_input_ftp_2(node: AST_NodeId)
    216  -.output Rule_Match_ruby_lang_ftp_using_user_input_ftp_2
    217  -Rule_Match_ruby_lang_ftp_using_user_input_ftp_2(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open"), AST_NodeField(node1, node6, "block"), AST_NodeType(node6, "block"), AST_NodeField(node6, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, _).
    218  -// rule ruby_lang_ftp_using_user_input_user_input
    219  -.decl Rule_Match_ruby_lang_ftp_using_user_input_user_input_0(node: AST_NodeId)
    220  -.output Rule_Match_ruby_lang_ftp_using_user_input_user_input_0
    221  -Rule_Match_ruby_lang_ftp_using_user_input_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    222  -.decl Rule_Match_ruby_lang_ftp_using_user_input_user_input_1(node: AST_NodeId)
    223  -.output Rule_Match_ruby_lang_ftp_using_user_input_user_input_1
    224  -Rule_Match_ruby_lang_ftp_using_user_input_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    225  -.decl Rule_Match_ruby_lang_ftp_using_user_input_user_input_2(node: AST_NodeId)
    226  -.output Rule_Match_ruby_lang_ftp_using_user_input_user_input_2
    227  -Rule_Match_ruby_lang_ftp_using_user_input_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    228  -.decl Rule_Match_ruby_lang_ftp_using_user_input_user_input_3(node: AST_NodeId)
    229  -.output Rule_Match_ruby_lang_ftp_using_user_input_user_input_3
    230  -Rule_Match_ruby_lang_ftp_using_user_input_user_input_3(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context").
    231  -// rule ruby_lang_hardcoded_secret
    232  -.decl Rule_Match_ruby_lang_hardcoded_secret_0(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId)
    233  -.output Rule_Match_ruby_lang_hardcoded_secret_0
    234  -Rule_Match_ruby_lang_hardcoded_secret_0(node1, node2, node3) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "right"), AST_NodeType(node3, _).
    235  -.decl Rule_Match_ruby_lang_hardcoded_secret_1(node: AST_NodeId, node5: AST_NodeId)
    236  -.output Rule_Match_ruby_lang_hardcoded_secret_1
    237  -Rule_Match_ruby_lang_hardcoded_secret_1(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _).
    238  -.decl Rule_Match_ruby_lang_hardcoded_secret_2(node: AST_NodeId, node5: AST_NodeId, node6: AST_NodeId)
    239  -.output Rule_Match_ruby_lang_hardcoded_secret_2
    240  -Rule_Match_ruby_lang_hardcoded_secret_2(node1, node5, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, node5, "key"), AST_NodeType(node5, _), AST_NodeField(node4, node6, "value"), AST_NodeType(node6, _).
    241  -.decl Rule_Match_ruby_lang_hardcoded_secret_3(node: AST_NodeId, node3: AST_NodeId)
    242  -.output Rule_Match_ruby_lang_hardcoded_secret_3
    243  -Rule_Match_ruby_lang_hardcoded_secret_3(node1, node3) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar0"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar0")), AST_NodeField(node2, node3, "value"), AST_NodeType(node3, _).
    244  -.decl Rule_Match_ruby_lang_hardcoded_secret_4(node: AST_NodeId, node3: AST_NodeId, node4: AST_NodeId)
    245  -.output Rule_Match_ruby_lang_hardcoded_secret_4
    246  -Rule_Match_ruby_lang_hardcoded_secret_4(node1, node3, node4) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, node3, "key"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "value"), AST_NodeType(node4, _).
    247  -// rule ruby_lang_http_get_params
    248  -.decl Rule_Match_ruby_lang_http_get_params_0(node: AST_NodeId, node5: AST_NodeId)
    249  -.output Rule_Match_ruby_lang_http_get_params_0
    250  -Rule_Match_ruby_lang_http_get_params_0(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "encode_www_form"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    251  -.decl Rule_Match_ruby_lang_http_get_params_1(node: AST_NodeId, node4: AST_NodeId)
    252  -.output Rule_Match_ruby_lang_http_get_params_1
    253  -Rule_Match_ruby_lang_http_get_params_1(node1, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    254  -.decl Rule_Match_ruby_lang_http_get_params_2(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    255  -.output Rule_Match_ruby_lang_http_get_params_2
    256  -Rule_Match_ruby_lang_http_get_params_2(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "get"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    257  -// rule ruby_lang_http_insecure
    258  -.decl Rule_Match_ruby_lang_http_insecure_0(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    259  -.output Rule_Match_ruby_lang_http_insecure_0
    260  -Rule_Match_ruby_lang_http_insecure_0(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    261  -.decl Rule_Match_ruby_lang_http_insecure_1(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    262  -.output Rule_Match_ruby_lang_http_insecure_1
    263  -Rule_Match_ruby_lang_http_insecure_1(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    264  -.decl Rule_Match_ruby_lang_http_insecure_3(node: AST_NodeId, node4: AST_NodeId)
    265  -.output Rule_Match_ruby_lang_http_insecure_3
    266  -Rule_Match_ruby_lang_http_insecure_3(node1, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    267  -.decl Rule_Match_ruby_lang_http_insecure_4(node: AST_NodeId, node6: AST_NodeId)
    268  -.output Rule_Match_ruby_lang_http_insecure_4
    269  -Rule_Match_ruby_lang_http_insecure_4(node1, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "http"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    270  -.decl Rule_Match_ruby_lang_http_insecure_5(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    271  -.output Rule_Match_ruby_lang_http_insecure_5
    272  -Rule_Match_ruby_lang_http_insecure_5(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    273  -.decl Rule_Match_ruby_lang_http_insecure_6(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    274  -.output Rule_Match_ruby_lang_http_insecure_6
    275  -Rule_Match_ruby_lang_http_insecure_6(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Easy"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    276  -.decl Rule_Match_ruby_lang_http_insecure_7(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    277  -.output Rule_Match_ruby_lang_http_insecure_7
    278  -Rule_Match_ruby_lang_http_insecure_7(node1, node3, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "url"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    279  -.decl Rule_Match_ruby_lang_http_insecure_8(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    280  -.output Rule_Match_ruby_lang_http_insecure_8
    281  -Rule_Match_ruby_lang_http_insecure_8(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Multi"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    282  -.decl Rule_Match_ruby_lang_http_insecure_9(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    283  -.output Rule_Match_ruby_lang_http_insecure_9
    284  -Rule_Match_ruby_lang_http_insecure_9(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Multi"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    285  -.decl Rule_Match_ruby_lang_http_insecure_10(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    286  -.output Rule_Match_ruby_lang_http_insecure_10
    287  -Rule_Match_ruby_lang_http_insecure_10(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    288  -.decl Rule_Match_ruby_lang_http_insecure_11(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    289  -.output Rule_Match_ruby_lang_http_insecure_11
    290  -Rule_Match_ruby_lang_http_insecure_11(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "get"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    291  -.decl Rule_Match_ruby_lang_http_insecure_12(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    292  -.output Rule_Match_ruby_lang_http_insecure_12
    293  -Rule_Match_ruby_lang_http_insecure_12(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "post"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    294  -// rule ruby_lang_http_insecure_curb
    295  -.decl Rule_Match_ruby_lang_http_insecure_curb_0(node: AST_NodeId)
    296  -.output Rule_Match_ruby_lang_http_insecure_curb_0
    297  -Rule_Match_ruby_lang_http_insecure_curb_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Easy"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    298  -// rule ruby_lang_http_insecure_url_hash
    299  -.decl Rule_Match_ruby_lang_http_insecure_url_hash_0(node: AST_NodeId, node3: AST_NodeId)
    300  -.output Rule_Match_ruby_lang_http_insecure_url_hash_0
    301  -Rule_Match_ruby_lang_http_insecure_url_hash_0(node1, node3) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":url"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "url")), AST_NodeField(node2, node3, "value"), AST_NodeType(node3, _).
    302  -// rule ruby_lang_http_post_insecure_with_data
    303  -.decl Rule_Match_ruby_lang_http_post_insecure_with_data_0(node: AST_NodeId, node7: AST_NodeId, node8: AST_NodeId)
    304  -.output Rule_Match_ruby_lang_http_post_insecure_with_data_0
    305  -Rule_Match_ruby_lang_http_post_insecure_with_data_0(node1, node7, node8) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "post_form"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _), AST_ParentChild(node6, 1, node8), AST_NodeType(node8, _).
    306  -.decl Rule_Match_ruby_lang_http_post_insecure_with_data_1(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId, node6: AST_NodeId)
    307  -.output Rule_Match_ruby_lang_http_post_insecure_with_data_1
    308  -Rule_Match_ruby_lang_http_post_insecure_with_data_1(node1, node2, node5, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "post"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    309  -// rule ruby_lang_http_url_using_user_input
    310  -.decl Rule_Match_ruby_lang_http_url_using_user_input_0(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    311  -.output Rule_Match_ruby_lang_http_url_using_user_input_0
    312  -Rule_Match_ruby_lang_http_url_using_user_input_0(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    313  -.decl Rule_Match_ruby_lang_http_url_using_user_input_1(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    314  -.output Rule_Match_ruby_lang_http_url_using_user_input_1
    315  -Rule_Match_ruby_lang_http_url_using_user_input_1(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    316  -.decl Rule_Match_ruby_lang_http_url_using_user_input_3(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    317  -.output Rule_Match_ruby_lang_http_url_using_user_input_3
    318  -Rule_Match_ruby_lang_http_url_using_user_input_3(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    319  -.decl Rule_Match_ruby_lang_http_url_using_user_input_4(node: AST_NodeId, node2: AST_NodeId, node6: AST_NodeId)
    320  -.output Rule_Match_ruby_lang_http_url_using_user_input_4
    321  -Rule_Match_ruby_lang_http_url_using_user_input_4(node1, node2, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "send_request"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    322  -.decl Rule_Match_ruby_lang_http_url_using_user_input_5(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    323  -.output Rule_Match_ruby_lang_http_url_using_user_input_5
    324  -Rule_Match_ruby_lang_http_url_using_user_input_5(node1, node3, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "ipaddr"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    325  -.decl Rule_Match_ruby_lang_http_url_using_user_input_6(node: AST_NodeId, node4: AST_NodeId)
    326  -.output Rule_Match_ruby_lang_http_url_using_user_input_6
    327  -Rule_Match_ruby_lang_http_url_using_user_input_6(node1, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    328  -.decl Rule_Match_ruby_lang_http_url_using_user_input_7(node: AST_NodeId, node6: AST_NodeId)
    329  -.output Rule_Match_ruby_lang_http_url_using_user_input_7
    330  -Rule_Match_ruby_lang_http_url_using_user_input_7(node1, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "http"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    331  -.decl Rule_Match_ruby_lang_http_url_using_user_input_8(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    332  -.output Rule_Match_ruby_lang_http_url_using_user_input_8
    333  -Rule_Match_ruby_lang_http_url_using_user_input_8(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    334  -.decl Rule_Match_ruby_lang_http_url_using_user_input_9(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    335  -.output Rule_Match_ruby_lang_http_url_using_user_input_9
    336  -Rule_Match_ruby_lang_http_url_using_user_input_9(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Easy"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    337  -.decl Rule_Match_ruby_lang_http_url_using_user_input_10(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    338  -.output Rule_Match_ruby_lang_http_url_using_user_input_10
    339  -Rule_Match_ruby_lang_http_url_using_user_input_10(node1, node3, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "url"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    340  -.decl Rule_Match_ruby_lang_http_url_using_user_input_11(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    341  -.output Rule_Match_ruby_lang_http_url_using_user_input_11
    342  -Rule_Match_ruby_lang_http_url_using_user_input_11(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Multi"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    343  -.decl Rule_Match_ruby_lang_http_url_using_user_input_12(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    344  -.output Rule_Match_ruby_lang_http_url_using_user_input_12
    345  -Rule_Match_ruby_lang_http_url_using_user_input_12(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Multi"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    346  -.decl Rule_Match_ruby_lang_http_url_using_user_input_13(node: AST_NodeId, node7: AST_NodeId)
    347  -.output Rule_Match_ruby_lang_http_url_using_user_input_13
    348  -Rule_Match_ruby_lang_http_url_using_user_input_13(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Excon"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Connection"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    349  -.decl Rule_Match_ruby_lang_http_url_using_user_input_14(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    350  -.output Rule_Match_ruby_lang_http_url_using_user_input_14
    351  -Rule_Match_ruby_lang_http_url_using_user_input_14(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    352  -.decl Rule_Match_ruby_lang_http_url_using_user_input_15(node: AST_NodeId, node3: AST_NodeId, node6: AST_NodeId)
    353  -.output Rule_Match_ruby_lang_http_url_using_user_input_15
    354  -Rule_Match_ruby_lang_http_url_using_user_input_15(node1, node3, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":path"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "path")), AST_NodeField(node5, node6, "value"), AST_NodeType(node6, _).
    355  -.decl Rule_Match_ruby_lang_http_url_using_user_input_16(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node6: AST_NodeId)
    356  -.output Rule_Match_ruby_lang_http_url_using_user_input_16
    357  -Rule_Match_ruby_lang_http_url_using_user_input_16(node1, node2, node3, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":path"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "path")), AST_NodeField(node5, node6, "value"), AST_NodeType(node6, _).
    358  -.decl Rule_Match_ruby_lang_http_url_using_user_input_17(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    359  -.output Rule_Match_ruby_lang_http_url_using_user_input_17
    360  -Rule_Match_ruby_lang_http_url_using_user_input_17(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "requests"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    361  -.decl Rule_Match_ruby_lang_http_url_using_user_input_18(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    362  -.output Rule_Match_ruby_lang_http_url_using_user_input_18
    363  -Rule_Match_ruby_lang_http_url_using_user_input_18(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "get"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    364  -.decl Rule_Match_ruby_lang_http_url_using_user_input_19(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    365  -.output Rule_Match_ruby_lang_http_url_using_user_input_19
    366  -Rule_Match_ruby_lang_http_url_using_user_input_19(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "post"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    367  -// rule ruby_lang_http_url_using_user_input_curb
    368  -.decl Rule_Match_ruby_lang_http_url_using_user_input_curb_0(node: AST_NodeId)
    369  -.output Rule_Match_ruby_lang_http_url_using_user_input_curb_0
    370  -Rule_Match_ruby_lang_http_url_using_user_input_curb_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Easy"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    371  -// rule ruby_lang_http_url_using_user_input_excon
    372  -.decl Rule_Match_ruby_lang_http_url_using_user_input_excon_0(node: AST_NodeId)
    373  -.output Rule_Match_ruby_lang_http_url_using_user_input_excon_0
    374  -Rule_Match_ruby_lang_http_url_using_user_input_excon_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new").
    375  -.decl Rule_Match_ruby_lang_http_url_using_user_input_excon_1(node: AST_NodeId)
    376  -.output Rule_Match_ruby_lang_http_url_using_user_input_excon_1
    377  -Rule_Match_ruby_lang_http_url_using_user_input_excon_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Excon"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Connection"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    378  -// rule ruby_lang_http_url_using_user_input_net_http
    379  -.decl Rule_Match_ruby_lang_http_url_using_user_input_net_http_0(node: AST_NodeId, node1: AST_NodeId)
    380  -.output Rule_Match_ruby_lang_http_url_using_user_input_net_http_0
    381  -Rule_Match_ruby_lang_http_url_using_user_input_net_http_0(node1, node1) :- AST_NodeType(node1, _).
    382  -.decl Rule_Match_ruby_lang_http_url_using_user_input_net_http_1(node: AST_NodeId, node2: AST_NodeId)
    383  -.output Rule_Match_ruby_lang_http_url_using_user_input_net_http_1
    384  -Rule_Match_ruby_lang_http_url_using_user_input_net_http_1(node1, node2) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "start"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _).
    385  -.decl Rule_Match_ruby_lang_http_url_using_user_input_net_http_2(node: AST_NodeId, node2: AST_NodeId)
    386  -.output Rule_Match_ruby_lang_http_url_using_user_input_net_http_2
    387  -Rule_Match_ruby_lang_http_url_using_user_input_net_http_2(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "start").
    388  -// rule ruby_lang_http_url_using_user_input_net_http_new
    389  -.decl Rule_Match_ruby_lang_http_url_using_user_input_net_http_new_1(node: AST_NodeId, node5: AST_NodeId)
    390  -.output Rule_Match_ruby_lang_http_url_using_user_input_net_http_new_1
    391  -Rule_Match_ruby_lang_http_url_using_user_input_net_http_new_1(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    392  -// rule ruby_lang_http_url_using_user_input_path_hash
    393  -.decl Rule_Match_ruby_lang_http_url_using_user_input_path_hash_0(node: AST_NodeId, node3: AST_NodeId)
    394  -.output Rule_Match_ruby_lang_http_url_using_user_input_path_hash_0
    395  -Rule_Match_ruby_lang_http_url_using_user_input_path_hash_0(node1, node3) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":path"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "path")), AST_NodeField(node2, node3, "value"), AST_NodeType(node3, _).
    396  -// rule ruby_lang_http_url_using_user_input_url_hash
    397  -.decl Rule_Match_ruby_lang_http_url_using_user_input_url_hash_0(node: AST_NodeId, node3: AST_NodeId)
    398  -.output Rule_Match_ruby_lang_http_url_using_user_input_url_hash_0
    399  -Rule_Match_ruby_lang_http_url_using_user_input_url_hash_0(node1, node3) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":url"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "url")), AST_NodeField(node2, node3, "value"), AST_NodeType(node3, _).
    400  -// rule ruby_lang_http_url_using_user_input_user_input
    401  -.decl Rule_Match_ruby_lang_http_url_using_user_input_user_input_0(node: AST_NodeId)
    402  -.output Rule_Match_ruby_lang_http_url_using_user_input_user_input_0
    403  -Rule_Match_ruby_lang_http_url_using_user_input_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    404  -.decl Rule_Match_ruby_lang_http_url_using_user_input_user_input_1(node: AST_NodeId)
    405  -.output Rule_Match_ruby_lang_http_url_using_user_input_user_input_1
    406  -Rule_Match_ruby_lang_http_url_using_user_input_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    407  -.decl Rule_Match_ruby_lang_http_url_using_user_input_user_input_2(node: AST_NodeId)
    408  -.output Rule_Match_ruby_lang_http_url_using_user_input_user_input_2
    409  -Rule_Match_ruby_lang_http_url_using_user_input_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    410  -.decl Rule_Match_ruby_lang_http_url_using_user_input_user_input_3(node: AST_NodeId)
    411  -.output Rule_Match_ruby_lang_http_url_using_user_input_user_input_3
    412  -Rule_Match_ruby_lang_http_url_using_user_input_user_input_3(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context").
    413  -// rule ruby_lang_insecure_ftp
    414  -.decl Rule_Match_ruby_lang_insecure_ftp_0(node: AST_NodeId)
    415  -.output Rule_Match_ruby_lang_insecure_ftp_0
    416  -Rule_Match_ruby_lang_insecure_ftp_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    417  -.decl Rule_Match_ruby_lang_insecure_ftp_1(node: AST_NodeId, node7: AST_NodeId)
    418  -.output Rule_Match_ruby_lang_insecure_ftp_1
    419  -Rule_Match_ruby_lang_insecure_ftp_1(node1, node7) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open"), AST_NodeField(node1, node6, "block"), AST_NodeType(node6, "do_block"), !AST_NodeField(node6, _, "parameters"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    420  -.decl Rule_Match_ruby_lang_insecure_ftp_2(node: AST_NodeId)
    421  -.output Rule_Match_ruby_lang_insecure_ftp_2
    422  -Rule_Match_ruby_lang_insecure_ftp_2(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open").
    423  -// rule ruby_lang_jwt
    424  -.decl Rule_Match_ruby_lang_jwt_0(node: AST_NodeId, node5: AST_NodeId)
    425  -.output Rule_Match_ruby_lang_jwt_0
    426  -Rule_Match_ruby_lang_jwt_0(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "JWT"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "encode"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    427  -// rule ruby_lang_logger
    428  -.decl Rule_Match_ruby_lang_logger_0(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    429  -.output Rule_Match_ruby_lang_logger_0
    430  -Rule_Match_ruby_lang_logger_0(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "logger"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    431  -// rule ruby_lang_path_using_user_input
    432  -.decl Rule_Match_ruby_lang_path_using_user_input_0(node: AST_NodeId, node3: AST_NodeId)
    433  -.output Rule_Match_ruby_lang_path_using_user_input_0
    434  -Rule_Match_ruby_lang_path_using_user_input_0(node1, node3) :- AST_NodeType(node1, "element_reference"), AST_NodeField(node1, node2, "object"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Dir"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _).
    435  -.decl Rule_Match_ruby_lang_path_using_user_input_1(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    436  -.output Rule_Match_ruby_lang_path_using_user_input_1
    437  -Rule_Match_ruby_lang_path_using_user_input_1(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    438  -.decl Rule_Match_ruby_lang_path_using_user_input_2(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    439  -.output Rule_Match_ruby_lang_path_using_user_input_2
    440  -Rule_Match_ruby_lang_path_using_user_input_2(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    441  -.decl Rule_Match_ruby_lang_path_using_user_input_3(node: AST_NodeId, node5: AST_NodeId)
    442  -.output Rule_Match_ruby_lang_path_using_user_input_3
    443  -Rule_Match_ruby_lang_path_using_user_input_3(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Kernel"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    444  -.decl Rule_Match_ruby_lang_path_using_user_input_4(node: AST_NodeId, node4: AST_NodeId)
    445  -.output Rule_Match_ruby_lang_path_using_user_input_4
    446  -Rule_Match_ruby_lang_path_using_user_input_4(node1, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "open"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    447  -.decl Rule_Match_ruby_lang_path_using_user_input_5(node: AST_NodeId, node5: AST_NodeId)
    448  -.output Rule_Match_ruby_lang_path_using_user_input_5
    449  -Rule_Match_ruby_lang_path_using_user_input_5(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "PStore"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    450  -.decl Rule_Match_ruby_lang_path_using_user_input_6(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    451  -.output Rule_Match_ruby_lang_path_using_user_input_6
    452  -Rule_Match_ruby_lang_path_using_user_input_6(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Gem"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Util"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    453  -.decl Rule_Match_ruby_lang_path_using_user_input_7(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    454  -.output Rule_Match_ruby_lang_path_using_user_input_7
    455  -Rule_Match_ruby_lang_path_using_user_input_7(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    456  -.decl Rule_Match_ruby_lang_path_using_user_input_8(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    457  -.output Rule_Match_ruby_lang_path_using_user_input_8
    458  -Rule_Match_ruby_lang_path_using_user_input_8(node1, node2, node4) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "+"), AST_NodeField(node1, node4, "right"), AST_NodeType(node4, _).
    459  -.decl Rule_Match_ruby_lang_path_using_user_input_9(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    460  -.output Rule_Match_ruby_lang_path_using_user_input_9
    461  -Rule_Match_ruby_lang_path_using_user_input_9(node1, node2, node4) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "/"), AST_NodeField(node1, node4, "right"), AST_NodeType(node4, _).
    462  -.decl Rule_Match_ruby_lang_path_using_user_input_10(node: AST_NodeId, node5: AST_NodeId)
    463  -.output Rule_Match_ruby_lang_path_using_user_input_10
    464  -Rule_Match_ruby_lang_path_using_user_input_10(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "cd"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    465  -.decl Rule_Match_ruby_lang_path_using_user_input_11(node: AST_NodeId, node5: AST_NodeId)
    466  -.output Rule_Match_ruby_lang_path_using_user_input_11
    467  -Rule_Match_ruby_lang_path_using_user_input_11(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    468  -.decl Rule_Match_ruby_lang_path_using_user_input_12(node: AST_NodeId, node5: AST_NodeId)
    469  -.output Rule_Match_ruby_lang_path_using_user_input_12
    470  -Rule_Match_ruby_lang_path_using_user_input_12(node1, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "default_system_path"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    471  -.decl Rule_Match_ruby_lang_path_using_user_input_13(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    472  -.output Rule_Match_ruby_lang_path_using_user_input_13
    473  -Rule_Match_ruby_lang_path_using_user_input_13(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    474  -.decl Rule_Match_ruby_lang_path_using_user_input_14(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    475  -.output Rule_Match_ruby_lang_path_using_user_input_14
    476  -Rule_Match_ruby_lang_path_using_user_input_14(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    477  -.decl Rule_Match_ruby_lang_path_using_user_input_15(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    478  -.output Rule_Match_ruby_lang_path_using_user_input_15
    479  -Rule_Match_ruby_lang_path_using_user_input_15(node1, node2, node4) :- AST_NodeType(node1, "element_reference"), AST_NodeField(node1, node2, "object"), AST_NodeType(node2, _), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _), AST_ParentChild(node1, 1, node4), AST_NodeType(node4, _).
    480  -.decl Rule_Match_ruby_lang_path_using_user_input_16(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    481  -.output Rule_Match_ruby_lang_path_using_user_input_16
    482  -Rule_Match_ruby_lang_path_using_user_input_16(node1, node2, node5) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "transact"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "do_block"), !AST_NodeField(node4, _, "parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    483  -.decl Rule_Match_ruby_lang_path_using_user_input_17(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    484  -.output Rule_Match_ruby_lang_path_using_user_input_17
    485  -Rule_Match_ruby_lang_path_using_user_input_17(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), !AST_NodeField(node1, _, "receiver"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _).
    486  -.decl Rule_Match_ruby_lang_path_using_user_input_18(node: AST_NodeId, node2: AST_NodeId, node6: AST_NodeId)
    487  -.output Rule_Match_ruby_lang_path_using_user_input_18
    488  -Rule_Match_ruby_lang_path_using_user_input_18(node1, node2, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "hash"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_NodeField(node5, node6, "value"), AST_NodeType(node6, _).
    489  -.decl Rule_Match_ruby_lang_path_using_user_input_19(node: AST_NodeId, node4: AST_NodeId)
    490  -.output Rule_Match_ruby_lang_path_using_user_input_19
    491  -Rule_Match_ruby_lang_path_using_user_input_19(node1, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), !AST_NodeField(node1, _, "receiver"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "send_file"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    492  -// rule ruby_lang_path_using_user_input_pathname
    493  -.decl Rule_Match_ruby_lang_path_using_user_input_pathname_0(node: AST_NodeId)
    494  -.output Rule_Match_ruby_lang_path_using_user_input_pathname_0
    495  -Rule_Match_ruby_lang_path_using_user_input_pathname_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rails"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "root").
    496  -.decl Rule_Match_ruby_lang_path_using_user_input_pathname_1(node: AST_NodeId)
    497  -.output Rule_Match_ruby_lang_path_using_user_input_pathname_1
    498  -Rule_Match_ruby_lang_path_using_user_input_pathname_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Pathname"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _).
    499  -// rule ruby_lang_path_using_user_input_shell
    500  -.decl Rule_Match_ruby_lang_path_using_user_input_shell_0(node: AST_NodeId)
    501  -.output Rule_Match_ruby_lang_path_using_user_input_shell_0
    502  -Rule_Match_ruby_lang_path_using_user_input_shell_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new").
    503  -// rule ruby_lang_path_using_user_input_shell_cmd_proc
    504  -.decl Rule_Match_ruby_lang_path_using_user_input_shell_cmd_proc_0(node: AST_NodeId, node2: AST_NodeId)
    505  -.output Rule_Match_ruby_lang_path_using_user_input_shell_cmd_proc_0
    506  -Rule_Match_ruby_lang_path_using_user_input_shell_cmd_proc_0(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "command_processor").
    507  -.decl Rule_Match_ruby_lang_path_using_user_input_shell_cmd_proc_1(node: AST_NodeId)
    508  -.output Rule_Match_ruby_lang_path_using_user_input_shell_cmd_proc_1
    509  -Rule_Match_ruby_lang_path_using_user_input_shell_cmd_proc_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "CommandProcessor"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    510  -// rule ruby_lang_path_using_user_input_shell_cmd_trans_user_input
    511  -.decl Rule_Match_ruby_lang_path_using_user_input_shell_cmd_trans_user_input_0(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    512  -.output Rule_Match_ruby_lang_path_using_user_input_shell_cmd_trans_user_input_0
    513  -Rule_Match_ruby_lang_path_using_user_input_shell_cmd_trans_user_input_0(node1, node2, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    514  -// rule ruby_lang_path_using_user_input_user_input
    515  -.decl Rule_Match_ruby_lang_path_using_user_input_user_input_0(node: AST_NodeId)
    516  -.output Rule_Match_ruby_lang_path_using_user_input_user_input_0
    517  -Rule_Match_ruby_lang_path_using_user_input_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    518  -.decl Rule_Match_ruby_lang_path_using_user_input_user_input_1(node: AST_NodeId)
    519  -.output Rule_Match_ruby_lang_path_using_user_input_user_input_1
    520  -Rule_Match_ruby_lang_path_using_user_input_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    521  -.decl Rule_Match_ruby_lang_path_using_user_input_user_input_2(node: AST_NodeId)
    522  -.output Rule_Match_ruby_lang_path_using_user_input_user_input_2
    523  -Rule_Match_ruby_lang_path_using_user_input_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    524  -.decl Rule_Match_ruby_lang_path_using_user_input_user_input_3(node: AST_NodeId)
    525  -.output Rule_Match_ruby_lang_path_using_user_input_user_input_3
    526  -Rule_Match_ruby_lang_path_using_user_input_user_input_3(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context").
    527  -// rule ruby_lang_reflection_using_user_input
    528  -.decl Rule_Match_ruby_lang_reflection_using_user_input_0(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    529  -.output Rule_Match_ruby_lang_reflection_using_user_input_0
    530  -Rule_Match_ruby_lang_reflection_using_user_input_0(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    531  -.decl Rule_Match_ruby_lang_reflection_using_user_input_1(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    532  -.output Rule_Match_ruby_lang_reflection_using_user_input_1
    533  -Rule_Match_ruby_lang_reflection_using_user_input_1(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    534  -.decl Rule_Match_ruby_lang_reflection_using_user_input_2(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    535  -.output Rule_Match_ruby_lang_reflection_using_user_input_2
    536  -Rule_Match_ruby_lang_reflection_using_user_input_2(node1, node2, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    537  -.decl Rule_Match_ruby_lang_reflection_using_user_input_3(node: AST_NodeId, node2: AST_NodeId)
    538  -.output Rule_Match_ruby_lang_reflection_using_user_input_3
    539  -Rule_Match_ruby_lang_reflection_using_user_input_3(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "to_proc").
    540  -.decl Rule_Match_ruby_lang_reflection_using_user_input_4(node: AST_NodeId, node5: AST_NodeId)
    541  -.output Rule_Match_ruby_lang_reflection_using_user_input_4
    542  -Rule_Match_ruby_lang_reflection_using_user_input_4(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "block_argument"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    543  -.decl Rule_Match_ruby_lang_reflection_using_user_input_5(node: AST_NodeId, node6: AST_NodeId)
    544  -.output Rule_Match_ruby_lang_reflection_using_user_input_5
    545  -Rule_Match_ruby_lang_reflection_using_user_input_5(node1, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "block_argument"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _).
    546  -.decl Rule_Match_ruby_lang_reflection_using_user_input_6(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId)
    547  -.output Rule_Match_ruby_lang_reflection_using_user_input_6
    548  -Rule_Match_ruby_lang_reflection_using_user_input_6(node1, node2, node3) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _).
    549  -// rule ruby_lang_reflection_using_user_input_user_input
    550  -.decl Rule_Match_ruby_lang_reflection_using_user_input_user_input_0(node: AST_NodeId)
    551  -.output Rule_Match_ruby_lang_reflection_using_user_input_user_input_0
    552  -Rule_Match_ruby_lang_reflection_using_user_input_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    553  -.decl Rule_Match_ruby_lang_reflection_using_user_input_user_input_1(node: AST_NodeId)
    554  -.output Rule_Match_ruby_lang_reflection_using_user_input_user_input_1
    555  -Rule_Match_ruby_lang_reflection_using_user_input_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    556  -.decl Rule_Match_ruby_lang_reflection_using_user_input_user_input_2(node: AST_NodeId)
    557  -.output Rule_Match_ruby_lang_reflection_using_user_input_user_input_2
    558  -Rule_Match_ruby_lang_reflection_using_user_input_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    559  -.decl Rule_Match_ruby_lang_reflection_using_user_input_user_input_3(node: AST_NodeId)
    560  -.output Rule_Match_ruby_lang_reflection_using_user_input_user_input_3
    561  -Rule_Match_ruby_lang_reflection_using_user_input_user_input_3(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context").
    562  -// rule ruby_lang_regex_using_user_input
    563  -.decl Rule_Match_ruby_lang_regex_using_user_input_0(node: AST_NodeId, node3: AST_NodeId)
    564  -.output Rule_Match_ruby_lang_regex_using_user_input_0
    565  -Rule_Match_ruby_lang_regex_using_user_input_0(node1, node3) :- AST_NodeType(node1, "regex"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "interpolation"), AST_ParentChild(node2, 0, node3), AST_NodeType(node3, _).
    566  -.decl Rule_Match_ruby_lang_regex_using_user_input_1(node: AST_NodeId, node3: AST_NodeId)
    567  -.output Rule_Match_ruby_lang_regex_using_user_input_1
    568  -Rule_Match_ruby_lang_regex_using_user_input_1(node1, node3) :- AST_NodeType(node1, "regex"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "interpolation"), AST_ParentChild(node2, 0, node3), AST_NodeType(node3, _).
    569  -.decl Rule_Match_ruby_lang_regex_using_user_input_2(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    570  -.output Rule_Match_ruby_lang_regex_using_user_input_2
    571  -Rule_Match_ruby_lang_regex_using_user_input_2(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Regexp"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    572  -// rule ruby_lang_regex_using_user_input_user_input
    573  -.decl Rule_Match_ruby_lang_regex_using_user_input_user_input_0(node: AST_NodeId)
    574  -.output Rule_Match_ruby_lang_regex_using_user_input_user_input_0
    575  -Rule_Match_ruby_lang_regex_using_user_input_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    576  -.decl Rule_Match_ruby_lang_regex_using_user_input_user_input_1(node: AST_NodeId)
    577  -.output Rule_Match_ruby_lang_regex_using_user_input_user_input_1
    578  -Rule_Match_ruby_lang_regex_using_user_input_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    579  -.decl Rule_Match_ruby_lang_regex_using_user_input_user_input_2(node: AST_NodeId)
    580  -.output Rule_Match_ruby_lang_regex_using_user_input_user_input_2
    581  -Rule_Match_ruby_lang_regex_using_user_input_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    582  -.decl Rule_Match_ruby_lang_regex_using_user_input_user_input_3(node: AST_NodeId)
    583  -.output Rule_Match_ruby_lang_regex_using_user_input_user_input_3
    584  -Rule_Match_ruby_lang_regex_using_user_input_user_input_3(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context").
    585  -// rule ruby_lang_ssl_verification
    586  -// rule ruby_lang_weak_encryption
    587  -.decl Rule_Match_ruby_lang_weak_encryption_0(node: AST_NodeId)
    588  -.output Rule_Match_ruby_lang_weak_encryption_0
    589  -Rule_Match_ruby_lang_weak_encryption_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "SHA1"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "hexidigest").
    590  -.decl Rule_Match_ruby_lang_weak_encryption_1(node: AST_NodeId)
    591  -.output Rule_Match_ruby_lang_weak_encryption_1
    592  -Rule_Match_ruby_lang_weak_encryption_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "MD5"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "hexdigest").
    593  -.decl Rule_Match_ruby_lang_weak_encryption_2(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId)
    594  -.output Rule_Match_ruby_lang_weak_encryption_2
    595  -Rule_Match_ruby_lang_weak_encryption_2(node1, node2, node3) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _).
    596  -.decl Rule_Match_ruby_lang_weak_encryption_3(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId)
    597  -.output Rule_Match_ruby_lang_weak_encryption_3
    598  -Rule_Match_ruby_lang_weak_encryption_3(node1, node2, node3) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _).
    599  -.decl Rule_Match_ruby_lang_weak_encryption_4(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId)
    600  -.output Rule_Match_ruby_lang_weak_encryption_4
    601  -Rule_Match_ruby_lang_weak_encryption_4(node1, node2, node3) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _).
    602  -.decl Rule_Match_ruby_lang_weak_encryption_5(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId)
    603  -.output Rule_Match_ruby_lang_weak_encryption_5
    604  -Rule_Match_ruby_lang_weak_encryption_5(node1, node2, node3) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _).
    605  -.decl Rule_Match_ruby_lang_weak_encryption_6(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId)
    606  -.output Rule_Match_ruby_lang_weak_encryption_6
    607  -Rule_Match_ruby_lang_weak_encryption_6(node1, node2, node3) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _).
    608  -.decl Rule_Match_ruby_lang_weak_encryption_7(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId)
    609  -.output Rule_Match_ruby_lang_weak_encryption_7
    610  -Rule_Match_ruby_lang_weak_encryption_7(node1, node2, node3) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "do_block"), !AST_NodeField(node4, _, "parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    611  -// rule ruby_lang_weak_encryption_with_data
    612  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_0(node: AST_NodeId, node7: AST_NodeId)
    613  -.output Rule_Match_ruby_lang_weak_encryption_with_data_0
    614  -Rule_Match_ruby_lang_weak_encryption_with_data_0(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "SHA1"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "hexidigest"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    615  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_1(node: AST_NodeId, node7: AST_NodeId)
    616  -.output Rule_Match_ruby_lang_weak_encryption_with_data_1
    617  -Rule_Match_ruby_lang_weak_encryption_with_data_1(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "MD5"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "hexdigest"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    618  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_2(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    619  -.output Rule_Match_ruby_lang_weak_encryption_with_data_2
    620  -Rule_Match_ruby_lang_weak_encryption_with_data_2(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    621  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_3(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    622  -.output Rule_Match_ruby_lang_weak_encryption_with_data_3
    623  -Rule_Match_ruby_lang_weak_encryption_with_data_3(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    624  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_4(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node6: AST_NodeId)
    625  -.output Rule_Match_ruby_lang_weak_encryption_with_data_4
    626  -Rule_Match_ruby_lang_weak_encryption_with_data_4(node1, node2, node3, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    627  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_5(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node6: AST_NodeId)
    628  -.output Rule_Match_ruby_lang_weak_encryption_with_data_5
    629  -Rule_Match_ruby_lang_weak_encryption_with_data_5(node1, node2, node3, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    630  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_6(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    631  -.output Rule_Match_ruby_lang_weak_encryption_with_data_6
    632  -Rule_Match_ruby_lang_weak_encryption_with_data_6(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    633  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_7(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node6: AST_NodeId)
    634  -.output Rule_Match_ruby_lang_weak_encryption_with_data_7
    635  -Rule_Match_ruby_lang_weak_encryption_with_data_7(node1, node2, node3, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    636  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_8(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    637  -.output Rule_Match_ruby_lang_weak_encryption_with_data_8
    638  -Rule_Match_ruby_lang_weak_encryption_with_data_8(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "do_block"), !AST_NodeField(node4, _, "parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    639  -// rule ruby_lang_weak_encryption_with_data_blowfish_init
    640  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_blowfish_init_0(node: AST_NodeId)
    641  -.output Rule_Match_ruby_lang_weak_encryption_with_data_blowfish_init_0
    642  -Rule_Match_ruby_lang_weak_encryption_with_data_blowfish_init_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Crypt"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Blowfish"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    643  -// rule ruby_lang_weak_encryption_with_data_openssl_dsa_init
    644  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_openssl_dsa_init_0(node: AST_NodeId)
    645  -.output Rule_Match_ruby_lang_weak_encryption_with_data_openssl_dsa_init_0
    646  -Rule_Match_ruby_lang_weak_encryption_with_data_openssl_dsa_init_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "PKey"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "DSA"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new").
    647  -// rule ruby_lang_weak_encryption_with_data_openssl_rsa_init
    648  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_openssl_rsa_init_0(node: AST_NodeId)
    649  -.output Rule_Match_ruby_lang_weak_encryption_with_data_openssl_rsa_init_0
    650  -Rule_Match_ruby_lang_weak_encryption_with_data_openssl_rsa_init_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "PKey"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "RSA"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new").
    651  -// rule ruby_lang_weak_encryption_with_data_rc4_init
    652  -.decl Rule_Match_ruby_lang_weak_encryption_with_data_rc4_init_0(node: AST_NodeId)
    653  -.output Rule_Match_ruby_lang_weak_encryption_with_data_rc4_init_0
    654  -Rule_Match_ruby_lang_weak_encryption_with_data_rc4_init_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "RC4"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new").
    655  -// rule ruby_rails_default_encryption
    656  -.decl Rule_Match_ruby_rails_default_encryption_0(node: AST_NodeId, node6: AST_NodeId)
    657  -.output Rule_Match_ruby_rails_default_encryption_0
    658  -Rule_Match_ruby_rails_default_encryption_0(node1, node6) :- AST_NodeType(node1, "class"), !AST_NodeField(node1, _, "superclass"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), !AST_NodeField(node3, _, "receiver"), AST_NodeField(node3, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "encrypts"), AST_NodeField(node3, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _).
    659  -// rule ruby_rails_http_verb_confusion
    660  -.decl Rule_Match_ruby_rails_http_verb_confusion_0(node: AST_NodeId)
    661  -.output Rule_Match_ruby_rails_http_verb_confusion_0
    662  -Rule_Match_ruby_rails_http_verb_confusion_0(node1) :- AST_NodeType(node1, "if"), !AST_NodeField(node1, _, "consequence"), AST_NodeField(node1, node2, "condition"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "request"), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "get?"), AST_NodeField(node1, node5, "alternative"), AST_NodeType(node5, "else").
    663  -.decl Rule_Match_ruby_rails_http_verb_confusion_1(node: AST_NodeId)
    664  -.output Rule_Match_ruby_rails_http_verb_confusion_1
    665  -Rule_Match_ruby_rails_http_verb_confusion_1(node1) :- AST_NodeType(node1, "unless"), !AST_NodeField(node1, _, "consequence"), !AST_NodeField(node1, _, "alternative"), AST_NodeField(node1, node2, "condition"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "request"), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "get?").
    666  -.decl Rule_Match_ruby_rails_http_verb_confusion_2(node: AST_NodeId)
    667  -.output Rule_Match_ruby_rails_http_verb_confusion_2
    668  -Rule_Match_ruby_rails_http_verb_confusion_2(node1) :- AST_NodeType(node1, "unless_modifier"), AST_NodeField(node1, node2, "body"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "condition"), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), (!AST_NodeField(node3, _, "arguments"); AST_NodeField(node3, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node3, node4, "receiver"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "request"), AST_NodeField(node3, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "get?").
    669  -// rule ruby_rails_insecure_communication
    670  -// rule ruby_rails_insecure_disabling_of_callback
    671  -.decl Rule_Match_ruby_rails_insecure_disabling_of_callback_0(node: AST_NodeId, node2: AST_NodeId)
    672  -.output Rule_Match_ruby_rails_insecure_disabling_of_callback_0
    673  -Rule_Match_ruby_rails_insecure_disabling_of_callback_0(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _).
    674  -// rule ruby_rails_insecure_http_password
    675  -// rule ruby_rails_insecure_smtp
    676  -// rule ruby_rails_logger
    677  -.decl Rule_Match_ruby_rails_logger_0(node: AST_NodeId, node5: AST_NodeId, node7: AST_NodeId)
    678  -.output Rule_Match_ruby_rails_logger_0
    679  -Rule_Match_ruby_rails_logger_0(node1, node5, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Rails"), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "logger"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    680  -// rule ruby_rails_password_length
    681  -// rule ruby_rails_permissive_regex_validation
    682  -.decl Rule_Match_ruby_rails_permissive_regex_validation_0(node: AST_NodeId, node7: AST_NodeId)
    683  -.output Rule_Match_ruby_rails_permissive_regex_validation_0
    684  -Rule_Match_ruby_rails_permissive_regex_validation_0(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "validates"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":format"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "format")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, "hash"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "pair"), AST_NodeField(node6, tmp1, "key"), (AST_NodeType(tmp1, "simple_symbol"), AST_NodeContent(tmp1, ":with"); AST_NodeType(tmp1, "hash_key_symbol"), AST_NodeContent(tmp1, "with")), AST_NodeField(node6, node7, "value"), AST_NodeType(node7, _).
    685  -.decl Rule_Match_ruby_rails_permissive_regex_validation_1(node: AST_NodeId, node5: AST_NodeId)
    686  -.output Rule_Match_ruby_rails_permissive_regex_validation_1
    687  -Rule_Match_ruby_rails_permissive_regex_validation_1(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "validates_format_of"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":with"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "with")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _).
    688  -// rule ruby_rails_redirect_to
    689  -.decl Rule_Match_ruby_rails_redirect_to_0(node: AST_NodeId, node4: AST_NodeId)
    690  -.output Rule_Match_ruby_rails_redirect_to_0
    691  -Rule_Match_ruby_rails_redirect_to_0(node1, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "redirect_to"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    692  -// rule ruby_rails_redirect_to_user_input
    693  -.decl Rule_Match_ruby_rails_redirect_to_user_input_0(node: AST_NodeId)
    694  -.output Rule_Match_ruby_rails_redirect_to_user_input_0
    695  -Rule_Match_ruby_rails_redirect_to_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    696  -.decl Rule_Match_ruby_rails_redirect_to_user_input_1(node: AST_NodeId)
    697  -.output Rule_Match_ruby_rails_redirect_to_user_input_1
    698  -Rule_Match_ruby_rails_redirect_to_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    699  -.decl Rule_Match_ruby_rails_redirect_to_user_input_2(node: AST_NodeId)
    700  -.output Rule_Match_ruby_rails_redirect_to_user_input_2
    701  -Rule_Match_ruby_rails_redirect_to_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    702  -// rule ruby_rails_render_using_user_input
    703  -.decl Rule_Match_ruby_rails_render_using_user_input_0(node: AST_NodeId, node5: AST_NodeId)
    704  -.output Rule_Match_ruby_rails_render_using_user_input_0
    705  -Rule_Match_ruby_rails_render_using_user_input_0(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "render"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":inline"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "inline")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _).
    706  -.decl Rule_Match_ruby_rails_render_using_user_input_1(node: AST_NodeId, node5: AST_NodeId)
    707  -.output Rule_Match_ruby_rails_render_using_user_input_1
    708  -Rule_Match_ruby_rails_render_using_user_input_1(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "render"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":html"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "html")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _).
    709  -// rule ruby_rails_render_using_user_input_sanitized
    710  -.decl Rule_Match_ruby_rails_render_using_user_input_sanitized_0(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    711  -.output Rule_Match_ruby_rails_render_using_user_input_sanitized_0
    712  -Rule_Match_ruby_rails_render_using_user_input_sanitized_0(node1, node2, node4) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _).
    713  -// rule ruby_rails_render_using_user_input_user_input
    714  -.decl Rule_Match_ruby_rails_render_using_user_input_user_input_0(node: AST_NodeId)
    715  -.output Rule_Match_ruby_rails_render_using_user_input_user_input_0
    716  -Rule_Match_ruby_rails_render_using_user_input_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    717  -.decl Rule_Match_ruby_rails_render_using_user_input_user_input_1(node: AST_NodeId)
    718  -.output Rule_Match_ruby_rails_render_using_user_input_user_input_1
    719  -Rule_Match_ruby_rails_render_using_user_input_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    720  -.decl Rule_Match_ruby_rails_render_using_user_input_user_input_2(node: AST_NodeId)
    721  -.output Rule_Match_ruby_rails_render_using_user_input_user_input_2
    722  -Rule_Match_ruby_rails_render_using_user_input_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    723  -// rule ruby_rails_session
    724  -.decl Rule_Match_ruby_rails_session_0(node: AST_NodeId, node5: AST_NodeId)
    725  -.output Rule_Match_ruby_rails_session_0
    726  -Rule_Match_ruby_rails_session_0(node1, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "session"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, _), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    727  -// rule ruby_rails_session_key_using_user_input
    728  -.decl Rule_Match_ruby_rails_session_key_using_user_input_0(node: AST_NodeId, node3: AST_NodeId)
    729  -.output Rule_Match_ruby_rails_session_key_using_user_input_0
    730  -Rule_Match_ruby_rails_session_key_using_user_input_0(node1, node3) :- AST_NodeType(node1, "element_reference"), AST_NodeField(node1, node2, "object"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "session"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _).
    731  -// rule ruby_rails_session_key_using_user_input_user_input
    732  -.decl Rule_Match_ruby_rails_session_key_using_user_input_user_input_0(node: AST_NodeId)
    733  -.output Rule_Match_ruby_rails_session_key_using_user_input_user_input_0
    734  -Rule_Match_ruby_rails_session_key_using_user_input_user_input_0(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params").
    735  -.decl Rule_Match_ruby_rails_session_key_using_user_input_user_input_1(node: AST_NodeId)
    736  -.output Rule_Match_ruby_rails_session_key_using_user_input_user_input_1
    737  -Rule_Match_ruby_rails_session_key_using_user_input_user_input_1(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request").
    738  -.decl Rule_Match_ruby_rails_session_key_using_user_input_user_input_2(node: AST_NodeId)
    739  -.output Rule_Match_ruby_rails_session_key_using_user_input_user_input_2
    740  -Rule_Match_ruby_rails_session_key_using_user_input_user_input_2(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies").
    741  -// rule ruby_third_parties_airbrake
    742  -.decl Rule_Match_ruby_third_parties_airbrake_0(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    743  -.output Rule_Match_ruby_third_parties_airbrake_0
    744  -Rule_Match_ruby_third_parties_airbrake_0(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Airbrake"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    745  -.decl Rule_Match_ruby_third_parties_airbrake_2(node: AST_NodeId, node5: AST_NodeId)
    746  -.output Rule_Match_ruby_third_parties_airbrake_2
    747  -Rule_Match_ruby_third_parties_airbrake_2(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Airbrake"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "merge_context"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    748  -.decl Rule_Match_ruby_third_parties_airbrake_3(node: AST_NodeId, node3: AST_NodeId)
    749  -.output Rule_Match_ruby_third_parties_airbrake_3
    750  -Rule_Match_ruby_third_parties_airbrake_3(node1, node3) :- AST_NodeType(node1, "method"), !AST_NodeField(node1, _, "parameters"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "to_airbrake"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _).
    751  -// rule ruby_third_parties_algolia
    752  -.decl Rule_Match_ruby_third_parties_algolia_0(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    753  -.output Rule_Match_ruby_third_parties_algolia_0
    754  -Rule_Match_ruby_third_parties_algolia_0(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    755  -// rule ruby_third_parties_algolia_client
    756  -.decl Rule_Match_ruby_third_parties_algolia_client_0(node: AST_NodeId)
    757  -.output Rule_Match_ruby_third_parties_algolia_client_0
    758  -Rule_Match_ruby_third_parties_algolia_client_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Algolia"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Search"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Client"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "create").
    759  -// rule ruby_third_parties_algolia_index
    760  -.decl Rule_Match_ruby_third_parties_algolia_index_0(node: AST_NodeId, node2: AST_NodeId)
    761  -.output Rule_Match_ruby_third_parties_algolia_index_0
    762  -Rule_Match_ruby_third_parties_algolia_index_0(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "init_index").
    763  -// rule ruby_third_parties_bigquery
    764  -.decl Rule_Match_ruby_third_parties_bigquery_0(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    765  -.output Rule_Match_ruby_third_parties_bigquery_0
    766  -Rule_Match_ruby_third_parties_bigquery_0(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "insert"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    767  -// rule ruby_third_parties_bigquery_client
    768  -.decl Rule_Match_ruby_third_parties_bigquery_client_0(node: AST_NodeId)
    769  -.output Rule_Match_ruby_third_parties_bigquery_client_0
    770  -Rule_Match_ruby_third_parties_bigquery_client_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Bigquery"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new").
    771  -.decl Rule_Match_ruby_third_parties_bigquery_client_1(node: AST_NodeId)
    772  -.output Rule_Match_ruby_third_parties_bigquery_client_1
    773  -Rule_Match_ruby_third_parties_bigquery_client_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Bigquery"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new").
    774  -// rule ruby_third_parties_bigquery_dataset
    775  -.decl Rule_Match_ruby_third_parties_bigquery_dataset_0(node: AST_NodeId, node2: AST_NodeId)
    776  -.output Rule_Match_ruby_third_parties_bigquery_dataset_0
    777  -Rule_Match_ruby_third_parties_bigquery_dataset_0(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "dataset").
    778  -// rule ruby_third_parties_bigquery_insert_async
    779  -.decl Rule_Match_ruby_third_parties_bigquery_insert_async_0(node: AST_NodeId, node2: AST_NodeId)
    780  -.output Rule_Match_ruby_third_parties_bigquery_insert_async_0
    781  -Rule_Match_ruby_third_parties_bigquery_insert_async_0(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "insert_async").
    782  -.decl Rule_Match_ruby_third_parties_bigquery_insert_async_1(node: AST_NodeId, node2: AST_NodeId)
    783  -.output Rule_Match_ruby_third_parties_bigquery_insert_async_1
    784  -Rule_Match_ruby_third_parties_bigquery_insert_async_1(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "insert_async").
    785  -.decl Rule_Match_ruby_third_parties_bigquery_insert_async_2(node: AST_NodeId, node2: AST_NodeId)
    786  -.output Rule_Match_ruby_third_parties_bigquery_insert_async_2
    787  -Rule_Match_ruby_third_parties_bigquery_insert_async_2(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "insert_async").
    788  -// rule ruby_third_parties_bigquery_table
    789  -.decl Rule_Match_ruby_third_parties_bigquery_table_0(node: AST_NodeId, node2: AST_NodeId)
    790  -.output Rule_Match_ruby_third_parties_bigquery_table_0
    791  -Rule_Match_ruby_third_parties_bigquery_table_0(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "table").
    792  -.decl Rule_Match_ruby_third_parties_bigquery_table_1(node: AST_NodeId, node2: AST_NodeId)
    793  -.output Rule_Match_ruby_third_parties_bigquery_table_1
    794  -Rule_Match_ruby_third_parties_bigquery_table_1(node1, node2) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "create_table").
    795  -// rule ruby_third_parties_bugsnag
    796  -.decl Rule_Match_ruby_third_parties_bugsnag_1(node: AST_NodeId, node5: AST_NodeId)
    797  -.output Rule_Match_ruby_third_parties_bugsnag_1
    798  -Rule_Match_ruby_third_parties_bugsnag_1(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Bugsnag"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "leave_breadcrumb"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    799  -.decl Rule_Match_ruby_third_parties_bugsnag_2(node: AST_NodeId, node5: AST_NodeId)
    800  -.output Rule_Match_ruby_third_parties_bugsnag_2
    801  -Rule_Match_ruby_third_parties_bugsnag_2(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Bugsnag"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "notify"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    802  -// rule ruby_third_parties_clickhouse
    803  -.decl Rule_Match_ruby_third_parties_clickhouse_0(node: AST_NodeId, node2: AST_NodeId, node4: AST_NodeId)
    804  -.output Rule_Match_ruby_third_parties_clickhouse_0
    805  -Rule_Match_ruby_third_parties_clickhouse_0(node1, node2, node4) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "<<"), AST_NodeField(node1, node4, "right"), AST_NodeType(node4, _).
    806  -// rule ruby_third_parties_clickhouse_insert_rows
    807  -// rule ruby_third_parties_datadog
    808  -.decl Rule_Match_ruby_third_parties_datadog_1(node: AST_NodeId, node2: AST_NodeId, node6: AST_NodeId)
    809  -.output Rule_Match_ruby_third_parties_datadog_1
    810  -Rule_Match_ruby_third_parties_datadog_1(node1, node2, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_tag"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    811  -.decl Rule_Match_ruby_third_parties_datadog_2(node: AST_NodeId, node8: AST_NodeId)
    812  -.output Rule_Match_ruby_third_parties_datadog_2
    813  -Rule_Match_ruby_third_parties_datadog_2(node1, node8) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Datadog"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Tracing"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "trace"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _), AST_ParentChild(node6, 1, node8), AST_NodeType(node8, _).
    814  -// rule ruby_third_parties_datadog_span
    815  -.decl Rule_Match_ruby_third_parties_datadog_span_1(node: AST_NodeId)
    816  -.output Rule_Match_ruby_third_parties_datadog_span_1
    817  -Rule_Match_ruby_third_parties_datadog_span_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Datadog"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Tracing"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "active_span").
    818  -.decl Rule_Match_ruby_third_parties_datadog_span_2(node: AST_NodeId, node8: AST_NodeId)
    819  -.output Rule_Match_ruby_third_parties_datadog_span_2
    820  -Rule_Match_ruby_third_parties_datadog_span_2(node1, node8) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Datadog"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Tracing"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "trace"), AST_NodeField(node1, node6, "block"), AST_NodeType(node6, "block"), AST_NodeField(node6, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, _).
    821  -// rule ruby_third_parties_elasticsearch
    822  -.decl Rule_Match_ruby_third_parties_elasticsearch_0(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node6: AST_NodeId)
    823  -.output Rule_Match_ruby_third_parties_elasticsearch_0
    824  -Rule_Match_ruby_third_parties_elasticsearch_0(node1, node2, node3, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":body"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "body")), AST_NodeField(node5, node6, "value"), AST_NodeType(node6, _).
    825  -.decl Rule_Match_ruby_third_parties_elasticsearch_1(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node7: AST_NodeId)
    826  -.output Rule_Match_ruby_third_parties_elasticsearch_1
    827  -Rule_Match_ruby_third_parties_elasticsearch_1(node1, node2, node3, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "hash"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "pair"), AST_NodeField(node6, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":body"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "body")), AST_NodeField(node6, node7, "value"), AST_NodeType(node7, _).
    828  -// rule ruby_third_parties_elasticsearch_client
    829  -.decl Rule_Match_ruby_third_parties_elasticsearch_client_0(node: AST_NodeId)
    830  -.output Rule_Match_ruby_third_parties_elasticsearch_client_0
    831  -Rule_Match_ruby_third_parties_elasticsearch_client_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Elasticsearch"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Client"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    832  -.decl Rule_Match_ruby_third_parties_elasticsearch_client_1(node: AST_NodeId)
    833  -.output Rule_Match_ruby_third_parties_elasticsearch_client_1
    834  -Rule_Match_ruby_third_parties_elasticsearch_client_1(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Elasticsearch"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Client"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    835  -// rule ruby_third_parties_google_analytics
    836  -// rule ruby_third_parties_google_dataflow
    837  -.decl Rule_Match_ruby_third_parties_google_dataflow_0(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    838  -.output Rule_Match_ruby_third_parties_google_dataflow_0
    839  -Rule_Match_ruby_third_parties_google_dataflow_0(node1, node3, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "message_text"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    840  -.decl Rule_Match_ruby_third_parties_google_dataflow_1(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    841  -.output Rule_Match_ruby_third_parties_google_dataflow_1
    842  -Rule_Match_ruby_third_parties_google_dataflow_1(node1, node3, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "description"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    843  -.decl Rule_Match_ruby_third_parties_google_dataflow_2(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    844  -.output Rule_Match_ruby_third_parties_google_dataflow_2
    845  -Rule_Match_ruby_third_parties_google_dataflow_2(node1, node3, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "value"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    846  -.decl Rule_Match_ruby_third_parties_google_dataflow_3(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    847  -.output Rule_Match_ruby_third_parties_google_dataflow_3
    848  -Rule_Match_ruby_third_parties_google_dataflow_3(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "create_job_from_template"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    849  -.decl Rule_Match_ruby_third_parties_google_dataflow_4(node: AST_NodeId, node3: AST_NodeId, node4: AST_NodeId, node5: AST_NodeId)
    850  -.output Rule_Match_ruby_third_parties_google_dataflow_4
    851  -Rule_Match_ruby_third_parties_google_dataflow_4(node1, node3, node4, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, _), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    852  -.decl Rule_Match_ruby_third_parties_google_dataflow_5(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    853  -.output Rule_Match_ruby_third_parties_google_dataflow_5
    854  -Rule_Match_ruby_third_parties_google_dataflow_5(node1, node3, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "metadata"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    855  -// rule ruby_third_parties_honeybadger
    856  -.decl Rule_Match_ruby_third_parties_honeybadger_0(node: AST_NodeId, node5: AST_NodeId)
    857  -.output Rule_Match_ruby_third_parties_honeybadger_0
    858  -Rule_Match_ruby_third_parties_honeybadger_0(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Honeybadger"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "notify"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    859  -.decl Rule_Match_ruby_third_parties_honeybadger_1(node: AST_NodeId, node5: AST_NodeId)
    860  -.output Rule_Match_ruby_third_parties_honeybadger_1
    861  -Rule_Match_ruby_third_parties_honeybadger_1(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Honeybadger"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "context"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    862  -.decl Rule_Match_ruby_third_parties_honeybadger_2(node: AST_NodeId, node3: AST_NodeId)
    863  -.output Rule_Match_ruby_third_parties_honeybadger_2
    864  -Rule_Match_ruby_third_parties_honeybadger_2(node1, node3) :- AST_NodeType(node1, "method"), !AST_NodeField(node1, _, "parameters"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "to_honeybadger_context"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _).
    865  -.decl Rule_Match_ruby_third_parties_honeybadger_3(node: AST_NodeId, node5: AST_NodeId)
    866  -.output Rule_Match_ruby_third_parties_honeybadger_3
    867  -Rule_Match_ruby_third_parties_honeybadger_3(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Honeybadger"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "add_breadcrumb"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    868  -// rule ruby_third_parties_new_relic
    869  -.decl Rule_Match_ruby_third_parties_new_relic_0(node: AST_NodeId, node7: AST_NodeId)
    870  -.output Rule_Match_ruby_third_parties_new_relic_0
    871  -Rule_Match_ruby_third_parties_new_relic_0(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "NewRelic"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Agent"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "add_custom_attributes"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    872  -.decl Rule_Match_ruby_third_parties_new_relic_1(node: AST_NodeId, node7: AST_NodeId)
    873  -.output Rule_Match_ruby_third_parties_new_relic_1
    874  -Rule_Match_ruby_third_parties_new_relic_1(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "NewRelic"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Agent"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "add_custom_parameters"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    875  -.decl Rule_Match_ruby_third_parties_new_relic_2(node: AST_NodeId, node7: AST_NodeId)
    876  -.output Rule_Match_ruby_third_parties_new_relic_2
    877  -Rule_Match_ruby_third_parties_new_relic_2(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "NewRelic"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Agent"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "notice_error"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    878  -// rule ruby_third_parties_open_telemetry
    879  -.decl Rule_Match_ruby_third_parties_open_telemetry_0(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    880  -.output Rule_Match_ruby_third_parties_open_telemetry_0
    881  -Rule_Match_ruby_third_parties_open_telemetry_0(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    882  -.decl Rule_Match_ruby_third_parties_open_telemetry_1(node: AST_NodeId, node6: AST_NodeId)
    883  -.output Rule_Match_ruby_third_parties_open_telemetry_1
    884  -Rule_Match_ruby_third_parties_open_telemetry_1(node1, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "in_span"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    885  -// rule ruby_third_parties_rollbar
    886  -.decl Rule_Match_ruby_third_parties_rollbar_0(node: AST_NodeId, node5: AST_NodeId)
    887  -.output Rule_Match_ruby_third_parties_rollbar_0
    888  -Rule_Match_ruby_third_parties_rollbar_0(node1, node5) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "rollbar_context"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _).
    889  -.decl Rule_Match_ruby_third_parties_rollbar_1(node: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    890  -.output Rule_Match_ruby_third_parties_rollbar_1
    891  -Rule_Match_ruby_third_parties_rollbar_1(node1, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    892  -.decl Rule_Match_ruby_third_parties_rollbar_2(node: AST_NodeId, node6: AST_NodeId)
    893  -.output Rule_Match_ruby_third_parties_rollbar_2
    894  -Rule_Match_ruby_third_parties_rollbar_2(node1, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "log"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    895  -.decl Rule_Match_ruby_third_parties_rollbar_3(node: AST_NodeId, node2: AST_NodeId, node5: AST_NodeId)
    896  -.output Rule_Match_ruby_third_parties_rollbar_3
    897  -Rule_Match_ruby_third_parties_rollbar_3(node1, node2, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "scope"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    898  -.decl Rule_Match_ruby_third_parties_rollbar_4(node: AST_NodeId, node5: AST_NodeId)
    899  -.output Rule_Match_ruby_third_parties_rollbar_4
    900  -Rule_Match_ruby_third_parties_rollbar_4(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "scoped"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    901  -// rule ruby_third_parties_rollbar_scope
    902  -.decl Rule_Match_ruby_third_parties_rollbar_scope_0(node: AST_NodeId)
    903  -.output Rule_Match_ruby_third_parties_rollbar_scope_0
    904  -Rule_Match_ruby_third_parties_rollbar_scope_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "scope").
    905  -// rule ruby_third_parties_scout_apm
    906  -.decl Rule_Match_ruby_third_parties_scout_apm_0(node: AST_NodeId, node7: AST_NodeId)
    907  -.output Rule_Match_ruby_third_parties_scout_apm_0
    908  -Rule_Match_ruby_third_parties_scout_apm_0(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "ScoutApm"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Context"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "add_user"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    909  -.decl Rule_Match_ruby_third_parties_scout_apm_1(node: AST_NodeId, node7: AST_NodeId)
    910  -.output Rule_Match_ruby_third_parties_scout_apm_1
    911  -Rule_Match_ruby_third_parties_scout_apm_1(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "ScoutApm"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Context"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "add"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    912  -// rule ruby_third_parties_segment
    913  -.decl Rule_Match_ruby_third_parties_segment_0(node: AST_NodeId, node2: AST_NodeId, node3: AST_NodeId, node5: AST_NodeId)
    914  -.output Rule_Match_ruby_third_parties_segment_0
    915  -Rule_Match_ruby_third_parties_segment_0(node1, node2, node3, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    916  -// rule ruby_third_parties_sentry
    917  -.decl Rule_Match_ruby_third_parties_sentry_0(node: AST_NodeId, node7: AST_NodeId)
    918  -.output Rule_Match_ruby_third_parties_sentry_0
    919  -Rule_Match_ruby_third_parties_sentry_0(node1, node7) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Sentry"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Breadcrumb"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _).
    920  -.decl Rule_Match_ruby_third_parties_sentry_1(node: AST_NodeId, node5: AST_NodeId)
    921  -.output Rule_Match_ruby_third_parties_sentry_1
    922  -Rule_Match_ruby_third_parties_sentry_1(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "capture_message"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    923  -.decl Rule_Match_ruby_third_parties_sentry_3(node: AST_NodeId, node6: AST_NodeId)
    924  -.output Rule_Match_ruby_third_parties_sentry_3
    925  -Rule_Match_ruby_third_parties_sentry_3(node1, node6) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_context"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _).
    926  -.decl Rule_Match_ruby_third_parties_sentry_8(node: AST_NodeId, node5: AST_NodeId)
    927  -.output Rule_Match_ruby_third_parties_sentry_8
    928  -Rule_Match_ruby_third_parties_sentry_8(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_extras"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    929  -.decl Rule_Match_ruby_third_parties_sentry_13(node: AST_NodeId, node5: AST_NodeId)
    930  -.output Rule_Match_ruby_third_parties_sentry_13
    931  -Rule_Match_ruby_third_parties_sentry_13(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_tags"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    932  -.decl Rule_Match_ruby_third_parties_sentry_16(node: AST_NodeId, node5: AST_NodeId)
    933  -.output Rule_Match_ruby_third_parties_sentry_16
    934  -Rule_Match_ruby_third_parties_sentry_16(node1, node5) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_user"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _).
    935  -// rule segment_init
    936  -.decl Rule_Match_segment_init_0(node: AST_NodeId)
    937  -.output Rule_Match_segment_init_0
    938  -Rule_Match_segment_init_0(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Segment"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Analytics"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new").
    939  - 
Please wait...
Page is in error, reload to recover