{
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.3",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.32582763,
        "rte": "az",
        "prob": 0.32582763
      },
      {
        "cls": 0,
        "raw": 0.013860126,
        "rte": "az/zip",
        "prob": 0.013860126
      }
    ],
    "prob": 0.32582763,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.32582762837409973,
        "type": "zip"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00002576907536422368,
        "type": "github_actions"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000019152959794155322,
        "type": "shell"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016639629393466748,
        "type": "shell"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009040038094099145,
        "type": "markdown"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014603137969970703,
        "type": "lua"
      },
      {
        "id": 13,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001586476901138667,
        "type": "lua"
      },
      {
        "id": 14,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000018934408217319287,
        "type": "lua"
      },
      {
        "id": 15,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000023792186766513623,
        "type": "lua"
      },
      {
        "id": 17,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015676021575927734,
        "type": "lua"
      },
      {
        "id": 18,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001852711102401372,
        "type": "lua"
      },
      {
        "id": 19,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000018576780348666944,
        "type": "lua"
      },
      {
        "id": 22,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001771251299942378,
        "type": "lua"
      },
      {
        "id": 23,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012139479622419458,
        "type": "lua"
      },
      {
        "id": 24,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016421079635620117,
        "type": "lua"
      },
      {
        "id": 26,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014940897926862817,
        "type": "lua"
      },
      {
        "id": 27,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015715757399448194,
        "type": "lua"
      },
      {
        "id": 30,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016828378647915088,
        "type": "lua"
      },
      {
        "id": 32,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012934207916259766,
        "type": "lua"
      },
      {
        "id": 34,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016262134522548877,
        "type": "lua"
      },
      {
        "id": 35,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000019073486328125,
        "type": "lua"
      },
      {
        "id": 37,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000017305215806118213,
        "type": "lua"
      },
      {
        "id": 38,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000022957721739658155,
        "type": "lua"
      },
      {
        "id": 39,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000018199285477749072,
        "type": "lua"
      },
      {
        "id": 40,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001617272755538579,
        "type": "lua"
      },
      {
        "id": 41,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00003126263618469238,
        "type": "lua"
      },
      {
        "id": 44,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011473894119262695,
        "type": "lua"
      },
      {
        "id": 45,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010669231414794922,
        "type": "markdown"
      },
      {
        "id": 46,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013152758583601099,
        "type": "dockerfile"
      },
      {
        "id": 48,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014434258446271997,
        "type": "markdown"
      },
      {
        "id": 49,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014583270058210474,
        "type": "lua"
      },
      {
        "id": 51,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012914340004499536,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-10-10T03:45:34Z"
  },
  "path": "lua-resty-openidc-1.9.2-1.src.rock",
  "raw": {
    "files": [
      {
        "id": 0,
        "mol": "O₂(IXe)H₆(Cm₁₉Db₅F₂Os₃Po₃U)Md₅(Bk₄In₉Pa₄Pt)",
        "sha": "318dc289b2c1c35e568bc6d66e0f1bc9b48b792f26301eeadef1437af8f87e92",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock",
        "risk": 23,
        "size": 116328,
        "type": "zip",
        "facts": {
          "metrics": {
            "file": {
              "size": 116328,
              "entropy": 7.92
            },
            "binary": {
              "peak_region_bytes": 107520,
              "peak_region_entropy": 7.84
            },
            "archive": {
              "file_count": 53,
              "member_count": 62,
              "script_count": 23,
              "zip_bomb_ratio": 13.34,
              "compressed_size": 102998,
              "directory_count": 9,
              "executable_count": 0,
              "extra_field_size": 1488,
              "noise_file_count": 0,
              "compression.ratio": 0.23,
              "hidden_file_count": 7,
              "uncompressed_size": 450049,
              "crc_collision_count": 0,
              "entry_comment_count": 0,
              "max_filename_length": 72,
              "rtlo_filename_count": 0,
              "format.regular_count": 53,
              "nested_archive_count": 0,
              "path_traversal_count": 0,
              "symlink_escape_count": 0,
              "security.setgid_count": 0,
              "security.setuid_count": 0,
              "security.sticky_count": 0,
              "double_extension_count": 0,
              "duplicate_member_count": 0,
              "format.directory_count": 9,
              "security.symlink_count": 0,
              "unicode_filename_count": 0,
              "homoglyph_filename_count": 0,
              "security.encrypted_count": 0,
              "timing.mtime_unique_count": 1,
              "timing.mtime_unique_ratio": 0.02,
              "misplaced_executable_count": 0,
              "timing.mtime_dominant_count": 62,
              "timing.mtime_dominant_ratio": 1,
              "timing.mtime_spread_seconds": 0,
              "timing.sentinel_mtime_count": 0,
              "security.world_writable_count": 0,
              "compression.method_counts.stored": 10,
              "compression.method_counts.deflate": 52
            },
            "consistency": {
              "extension_content_mismatch": 1,
              "extension_content_mismatch.archive_as_unknown": 1
            }
          }
        },
        "traits": [
          {
            "id": "metadata/build/ci/github-actions::repo-internal-composite-action-step-path",
            "conf": 0.95,
            "crit": 3,
            "desc": "Repo-internal composite action step path",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/build/ci/github-actions::workflow-definition-path",
            "conf": 0.99,
            "crit": 3,
            "desc": "GitHub Actions workflow definition path",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/build/ci/step::actions-checkout-step",
            "conf": 0.9,
            "crit": 3,
            "desc": "actions/checkout workflow step reference",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/build/ci/step::mutable-version-action-ref",
            "conf": 0.9,
            "crit": 3,
            "desc": "Workflow action uses mutable version tag"
          },
          {
            "id": "metadata/build/ci/trigger::workflow-push-trigger",
            "conf": 0.9,
            "crit": 3,
            "desc": "GitHub Actions push workflow trigger",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/build/docker::shell-docker-image-build",
            "conf": 0.95,
            "crit": 3,
            "desc": "Shell script builds a tagged Docker image",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/file/archive::archive-at-least-10-members",
            "conf": 0.9,
            "crit": 3,
            "desc": "Archive contains at least ten members"
          },
          {
            "id": "metadata/file/naming::uppercase-readme-md-basename",
            "conf": 1.0,
            "crit": 3,
            "desc": "Basename is uppercase README.md",
            "from": [
              {
                "file": 45
              }
            ]
          },
          {
            "id": "metadata/file/profile/markup::markdown-heading-before-fenced-block",
            "conf": 0.98,
            "crit": 3,
            "desc": "Markdown-style heading precedes a code fence",
            "from": [
              {
                "file": 48
              }
            ]
          },
          {
            "id": "metadata/file/profile/markup::reference-guide-section-headings",
            "conf": 0.97,
            "crit": 3,
            "desc": "Reference guide has multiple section headings",
            "from": [
              {
                "file": 48
              }
            ]
          },
          {
            "id": "metadata/import/lua/ffi::ffi",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports ffi",
            "from": [
              {
                "file": 26
              }
            ]
          },
          {
            "id": "metadata/import/lua/ngx/base64::ngx/base64",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports ngx.base64",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/resty/http::resty/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports resty.http",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/resty/jwt::resty/jwt",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports resty.jwt",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/resty/openssl/pkey::resty/openssl/pkey",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports resty.openssl.pkey",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/sha2::sha2",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports sha2",
            "from": [
              {
                "file": 17
              }
            ]
          },
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "metadata/import/lua/socket/url::socket/url",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.url",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "metadata/import/lua/socket::socket",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "metadata/lang/scripted::env-modify",
            "conf": 0.9,
            "crit": 3,
            "desc": "Modifies Lua environment (setfenv)",
            "from": [
              {
                "file": 44
              }
            ]
          },
          {
            "id": "metadata/package/agent-skill::skill-secret-access-wording",
            "conf": 0.92,
            "crit": 3,
            "desc": "Skill secret access wording",
            "from": [
              {
                "file": 48
              }
            ]
          },
          {
            "id": "metadata/package/documentation/agent-safety::security-markdown-basename",
            "conf": 0.94,
            "crit": 3,
            "desc": "Security documentation markdown file",
            "from": [
              {
                "file": 10
              }
            ]
          },
          {
            "id": "metadata/package/documentation/agent-safety::security-test-documentation-marker",
            "conf": 0.96,
            "crit": 3,
            "desc": "Security heading or confirmation requirement",
            "from": [
              {
                "file": 10
              }
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "metadata/package/testing/presence/path::archive-test-directory-member-path",
            "conf": 0.98,
            "crit": 3,
            "desc": "Archive ships a root-level test tree"
          },
          {
            "id": "micro-behaviors/communications/http/authorization-header::bearer-prefix",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.72,
            "crit": 3,
            "desc": "HTTP Bearer authorization header prefix",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/curl::curl-http-code-write-out",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.88,
            "crit": 3,
            "desc": "curl writes HTTP status via %{http_code}"
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::curl-cmd",
            "atk": "T1105",
            "conf": 0.7,
            "crit": 3,
            "desc": "curl command includes URL or option"
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::curl-output-file",
            "atk": "T1105",
            "conf": 0.7,
            "crit": 3,
            "desc": "References curl file-output option"
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::curl-silent-fail-flags-text",
            "atk": "T1105",
            "conf": 0.86,
            "crit": 3,
            "desc": "curl text contains silent or fail flags"
          },
          {
            "id": "micro-behaviors/communications/http/header/accept::browser-html-accept-header",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Requests browser-oriented HTML content",
            "from": [
              {
                "file": 35
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/custom::x-forwarded-host",
            "conf": 0.9,
            "crit": 3,
            "desc": "X-Forwarded-Host proxy header",
            "from": [
              {
                "file": 41
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-id-token-hint-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Handles OIDC ID token hint",
            "from": [
              {
                "file": 35
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-authorization-endpoint-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Declares OIDC provider authorization endpoint",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-discovery-metadata",
            "conf": 0.99,
            "crit": 3,
            "desc": "Implements OIDC provider discovery metadata",
            "from": [
              {
                "off": 17946,
                "file": 15,
                "line": 493
              },
              {
                "off": 4410,
                "file": 24,
                "line": 133
              },
              {
                "off": 8241,
                "file": 34,
                "line": 258
              },
              {
                "off": 43678,
                "file": 49,
                "line": 1414
              }
            ],
            "uses": [
              34,
              36,
              37
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-jwks-uri-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Declares OIDC provider JWKS URI",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-signing-algorithms-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Declares OIDC token-signing algorithms",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/jwt::jwt-hs256-algorithm-field",
            "conf": 0.97,
            "crit": 3,
            "desc": "JWT selects HS256 for token signing",
            "from": [
              {
                "file": 24
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-authorization-code-grant",
            "conf": 0.8,
            "crit": 3,
            "desc": "OAuth authorization-code grant field",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-credentials",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth client credential fields",
            "from": [
              {
                "off": 4285,
                "file": 14,
                "line": 124
              },
              {
                "off": 693,
                "file": 15,
                "line": 20
              },
              {
                "off": 4345,
                "file": 19,
                "line": 145
              },
              {
                "off": 1321,
                "file": 32,
                "line": 30
              },
              {
                "off": 7741,
                "file": 34,
                "line": 240
              },
              {
                "off": 1588,
                "file": 40,
                "line": 53
              },
              {
                "off": 537,
                "file": 41,
                "line": 14
              },
              {
                "off": 3080,
                "file": 49,
                "line": 79
              }
            ],
            "uses": [
              42,
              43
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-id-field",
            "conf": 0.85,
            "crit": 3,
            "desc": "Client ID field accompanies OAuth protocol markers",
            "from": [
              {
                "file": 15
              }
            ],
            "uses": [
              48,
              69
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-secret-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "OAuth client_secret field",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-pkce-code-challenge",
            "conf": 0.8,
            "crit": 3,
            "desc": "OAuth PKCE code-challenge field",
            "from": [
              {
                "file": 30
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-pkce-code-verifier",
            "conf": 0.8,
            "crit": 3,
            "desc": "OAuth PKCE code-verifier field",
            "from": [
              {
                "file": 30
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-protocol-reference",
            "conf": 0.5,
            "crit": 3,
            "desc": "References the OAuth 2 protocol",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-state-pair",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth redirect and state parameters",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-uri-parameter",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth redirect URI parameter",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-refresh-grant-type",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth refresh_token grant type",
            "from": [
              {
                "file": 17
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::refresh-token-snake-assign",
            "conf": 0.9,
            "crit": 3,
            "desc": "Snake-case OAuth refresh_token field assign",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::lua-http-post-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.86,
            "crit": 3,
            "desc": "Lua HTTP POST request",
            "from": [
              {
                "file": 17
              }
            ],
            "uses": [
              52,
              115
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/response::http-access-is-denied-text",
            "conf": 0.7,
            "crit": 3,
            "desc": "Access-is-denied response phrase",
            "from": [
              {
                "file": 37
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/server/listener::bind-port-80",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.65,
            "crit": 3,
            "desc": "bind to HTTP port 80",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/server/listener::nginx-conf-path",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.65,
            "crit": 3,
            "desc": "nginx.conf configuration file",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/services/artifactory::nonexpiring-token-request-field",
            "conf": 0.95,
            "crit": 3,
            "desc": "Artifactory token request disables expiration",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/token-auth::access-token-field-source",
            "conf": 0.92,
            "crit": 3,
            "desc": "Access token field in source",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/token-auth::jwt-rsa-algorithm-field",
            "conf": 0.9,
            "crit": 3,
            "desc": "RSA algorithm field",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/token-auth::jwt-unsecured-algorithm",
            "conf": 0.98,
            "crit": 3,
            "desc": "Unsecured alg none setting",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/build::url-variable-call-assignment",
            "conf": 0.94,
            "crit": 3,
            "desc": "URL or host variable assigned from call",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "from": [
              {
                "file": 22
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::image-file-url",
            "conf": 0.85,
            "crit": 3,
            "desc": "HTTP URL targets an image file",
            "from": [
              {
                "file": 48
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/scheme::cleartext-http-request-target",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "HTTP client requests a cleartext URL",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/certificate/usage::certificate-ref",
            "conf": 0.5,
            "crit": 3,
            "desc": "References certificate terminology",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/data/arithmetic::non-python-xor-syntax",
            "conf": 1.0,
            "crit": 3,
            "desc": "Source references XOR syntax",
            "from": [
              {
                "file": 26
              }
            ]
          },
          {
            "id": "micro-behaviors/data/embedded/script::python-open-write-in-string",
            "conf": 0.3,
            "crit": 3,
            "desc": "String embeds a Python open() for writing",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/data/format/html::html-document-string-literal",
            "conf": 0.6,
            "crit": 3,
            "desc": "Contains an HTML document string literal",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::client-id-field-name",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a client_id field name",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "micro-behaviors/data/format/media/raster::declared-image-mime-type",
            "conf": 0.82,
            "crit": 3,
            "desc": "Declares an image MIME type",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "micro-behaviors/data/format/mime::mime-octet-stream",
            "conf": 0.85,
            "crit": 3,
            "desc": "Uses the application/octet-stream MIME type",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/data/property/assign::auth-token-variable-assignment",
            "conf": 0.8,
            "crit": 3,
            "desc": "Assigns an AUTH or TOKEN named variable",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/chown::chown-command",
            "conf": 0.82,
            "crit": 3,
            "desc": "Shell chown command with path"
          },
          {
            "id": "micro-behaviors/fs/write/file/handle::lua-open-write-mode",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua opens file in write mode",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/os/container/runtime::docker-cli-run-create",
            "conf": 0.82,
            "crit": 3,
            "desc": "Docker CLI run or create command",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "micro-behaviors/os/env/secret-name::refresh-token-env-name",
            "conf": 0.94,
            "crit": 3,
            "desc": "OAuth refresh-token environment variable",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/os/security/auth/session::session-token-field",
            "conf": 0.9,
            "crit": 3,
            "desc": "Session token field name",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/local-exec::embedded-temp-path-execution",
            "conf": 0.94,
            "crit": 3,
            "desc": "Embedded command executes a temporary path",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::lua-io-popen",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua io.popen() shell command execution",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::lua-os-execute",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua os.execute() function call",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/target::lua-os-execute-dynamic-argument",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua builds a dynamic os.execute target",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/process/interpreter/shell::bin-sh",
            "conf": 0.6,
            "crit": 3,
            "desc": "/bin/sh shell interpreter path reference",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/ui/help::command-run-instruction",
            "conf": 0.84,
            "crit": 3,
            "desc": "Command execution help instruction",
            "from": [
              {
                "file": 48
              }
            ]
          },
          {
            "id": "objectives/execution/exploit/http-command-injection::lua-http-request-field",
            "atk": "T1059,T1190",
            "conf": 0.92,
            "crit": 3,
            "desc": "Lua reads an HTTP request field",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "objectives/impact/infect/script/self-copy::lua-names-lua-script",
            "atk": "T1554",
            "conf": 0.8,
            "crit": 3,
            "desc": "Lua source names a Lua script",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "metadata/import/lua/bit::bit",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports bit",
            "from": [
              {
                "file": 26
              }
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "metadata/import/lua/cjson/safe::cjson/safe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports cjson.safe",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/cjson::cjson",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports cjson",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/dkjson::dkjson",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports dkjson",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "metadata/import/lua/ltn12::ltn12",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ltn12",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "metadata/import/lua/luassert::luassert",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports luassert",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "metadata/import/lua/mime::mime",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports mime",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "metadata/import/lua/resty/jwt-validators::resty/jwt-validators",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.jwt-validators",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/resty/random::resty/random",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.random",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/resty/session::resty/session",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.session",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/resty/sha256::resty/sha256",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.sha256",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/resty/string::resty/string",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.string",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "metadata/import/lua/say::say",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports say",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "metadata/import/lua/serpent::serpent",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports serpent",
            "from": [
              {
                "file": 15
              }
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/certificate/usage::pem-begin",
            "conf": 0.7,
            "crit": 2,
            "desc": "References PEM certificate header",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/certificate/usage::pem-end",
            "conf": 0.7,
            "crit": 2,
            "desc": "References PEM certificate footer",
            "from": [
              {
                "file": 49
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::tmp-path-content",
            "conf": 1.0,
            "crit": 2,
            "desc": "Contains a /tmp/ or /var/tmp/ path",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::unix-temp",
            "conf": 0.7,
            "crit": 2,
            "desc": "Unix /tmp/ path reference",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "metadata/file/string/file::tmp",
            "conf": 0.2,
            "crit": 1,
            "desc": "tmp literal keyword",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "from": [
              {
                "file": 10
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "from": [
              {
                "file": 24
              }
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "from": [
              {
                "file": 11
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::lua-post-method",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.78,
            "crit": 1,
            "desc": "Lua POST method literal",
            "from": [
              {
                "file": 17
              }
            ]
          }
        ]
      },
      {
        "id": 5,
        "mol": "H(Os)Md(Bk₄)",
        "sha": "6984d02284fc7721781c627bd61fe4493e24cbfd31a04a05d1ae8f3da35c02f3",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/.github/workflows/docker-ci.yml",
        "risk": 3,
        "size": 288,
        "type": "github_actions",
        "depth": 1
      },
      {
        "id": 6,
        "mol": "Md(Bk₂)",
        "sha": "e0d5fe56ba77043f479e1d9fc6d87b4fb748a6e8a606d416b0df7c1401cda653",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/.github/workflows/docker-ci.yml!!/jobs/build/steps/1/run",
        "risk": 2,
        "size": 60,
        "type": "shell",
        "depth": 2
      },
      {
        "id": 7,
        "mol": "H(Os)Md(Bk)",
        "sha": "5fbdb3232d8a95325b130862682121fa6469f2db1c352acabaa736125a2e8b53",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/.github/workflows/docker-ci.yml!!/jobs/build/steps/2/run",
        "risk": 2,
        "size": 48,
        "type": "shell",
        "depth": 2
      },
      {
        "id": 10,
        "mol": "Md(Pa)",
        "sha": "aaea29763ac67576dbdc5e418a4b770bc104e431f4b21543a1ee7a18158a332c",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/SECURITY.md",
        "risk": 1,
        "size": 1203,
        "type": "markdown",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)zkBz@u=aAz4kB.L(cc)A.Jv@2T$e[/uGA3u.ry\u0026r/(y-)!qv@2T$auZ\u0026/wPq\u003cbA+cTyB8LM7wPPaB3t:S\u003cvqE6dwPI%2B9hCvz/P}xjS[=RADL#owHF:AwPI%2B9hCvz/P}zdgf)fv{%f@y\u0026\u003cLHg9w.5A+flkx(W=kb5zvsf!%}43uxY$B.L(casySvB97#7e](8LzE)\u0026oc[bGgwmY*(A+O#]c)A\u003eGwO@S0aAz47x(W={BrCpsaAz46wODs0wfJMEw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxgF3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)7oayuVxxK$Q.wPz\u0026mjS[AWBz@\u003cMwPq\u003c7B95*S3lQDlaA.ZvauZ?\u003exMOuniXJd5z!0i(xM4%lfjXTavrDydflwx?3lQDlaAz47x(W={BrAZ?w)]H%wEoL5EjkHCaz+$avqE6cByxo5auZ\u0026?wPI%2B9hCvz/P}Lxl4A\u0026c$)g2wmY!5efDrYByxo5cN/xBaARgoByf9iAbY-oBs}PBxk8BewPzc}z/f5@c$)g2wmY!5dgdguy\u0026r/(y-\u0026",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "z/c%L3lQDlaz+$avqE5[efF$Awnc6.ByxolB09Q*xMOune]\u003eJyB.bSod0(pzarR^HarR^HaA.ZvauZ?\u003exMOuniXJd5z!0i(xM4%lfjXTavrDydflgSmx(W={Byffhx*l9CwmW]oz/l$zByxo5jT813e*bjSvru6i3lQDlaBLWCarR^Hx(\u003e:EB7/Gmy?aU$wGV28ygQ)%wN(#oazb+lv@#B6zyu}varR^HarR!nB8$]kBs}0xwIdLlBZY9cc]rRjefF$Awnc6.ByxolB14CsarR!rzE+g6arR^Hx(\u003e:ECwg(faz+$eayPdgwPz*fAV/i",
            "ln": 599,
            "col": 52,
            "line": 17
          },
          {
            "b": "B8#5lzxK1xvru66w]z*fwfJDfarR^HwO#3c3lQE5zE+g6arUiaB7ol8vR3@iCwhejayX+\u0026aAITkBy=TEazb+lv@#B6zyu}varR^Hy\u0026r/(y-)7oaAz47x(Wc]vruTkauZ\u0026XBAzEOA+flkwPI@wDKp(rarR^HarR^HB-IpvjS\u003e}ZBAzE.fe4cWv{%g!z/Z1NwmYvYB.(dMA+e=}A+e:5uV*y6kvXRxwJ:TzzZGKEvru6zsrX\u003eue*bjSvru6i3lQDlarR^HarR!uwNPaXA=Su^aBtkvz/oA9wGTbUv@Dp3x\u003epT+wNPaXAV/=qarR^HEjkHCarR!vBsntOxM53fwftt)aAz4dwN/*[wfJMEw{503BzkVhc[bGCarR^HarU9lB7Gxle[5^ie[G3BvqH0kg+ZTnaAz2",
            "ln": 924,
            "col": 51,
            "line": 25
          },
          {
            "b": "z/c%L3lQDlaz+$avqE5[efF$Awnc6.ByxolB09Q*xMOune]\u003eJyB.bSod0(pzarR^HarR^HaA.ZvauZ?\u003exMOuniXJd5z!0i(xM4%lfjXTavrDydflgSmx(W={Byffhx*l9CwmW]oz/l*J3lQDlarR^HarR!uwNPaXA=Su^aBtkvz/oA9wGTbUv@Dp3x\u003epT+wNPaXAV/=qarR^HEjkHCarR!vBsntOxM53fwftt)aAz4dwN/*[wfJMEw{503BzkVhc[bGCarR^HarU9lB7Gxle[5^ie[G3BvqH0kg+ZTnaAv",
            "ln": 1446,
            "col": 35,
            "line": 40
          },
          {
            "b": "vrlH3A=-{BA=M8suU\u003cT[uT[1(Byw)3B0@kPzFiD@wnC*/aAz4kB.bSoaARJABzbkdA+e=}A+e:5uV*y6a$i\u003cwarR!rzE+g6arUlkwgm\u003cday]58v@=o)wHF:Dx([3bB-X:oz!9A6efFLEzEW^5z/c%L3lQDlaz+$avqE5[efF$Awnc6.ByxolB09Q*xMOune]\u003eJyB.bSod0(pzarR^HarR^HaA.ZvauZ?\u003exMOuniXJd5z!0i(xM4%lfjXTavrDydflgSmx(W={Byffhx*lVXvru6za%nG\u003caAITkBy^0garR^HarR^HarUuevpS}\u0026B09Q*DMV*pz!\u003c5#auZ\u0026Sz/oA9wNxaZvpS}\u0026aBKOtarR!PdgdguarUxuc)A.Cz/](bayX[8A+e#%v@#o)a$K\u003cGB-7Yhx(v(qdgdguarR^HayPtjwPz(Bvrb{iwPq\u003c3y\u0026.0YfFLa3A+b",
            "ln": 1758,
            "col": 7,
            "line": 49
          },
          {
            "b": "wmY!5dgcz8az+$avqE5[efFpJaAIa7z/f8)xK$Q.wPz\u0026mjS[AWBz@\u003cMwPq\u003c7B95*S3lQDlaA.ZvauZ?\u003exMOuniXJd5z!0i(xM4%lfjXTavrDydfk\u003e@CwPw$C3lQDlazts{wmY!5auZ\u0026]ay/tdyIvu5jS[uJA=Vtfv@Dp3x\u003epT+wNPaXAV/=Y3lQDlaAz47x(W={BrAZ?w)]H%wEoL5EjkHCaz+$avqE6cwN/T@wm6z1vru66jS[\u0026TB97=gB-qqrA=-{DA:-A9B7F\u003c1zE^9/wNL",
            "ln": 3091,
            "col": 69,
            "line": 86
          },
          {
            "b": "BAITQazq(Xazt\u003esA4VfxADL\u0026lBsqFyarR^HarR^HB-IpvjS\u003e}ZBAzE.fe4cWv{%g!z/Z1NwmYvYB.(dMA+e=}A+e:5uV*y6kvXRxwJ:TzzZGKEvru6za%nG\u003cazbtdB97=gByxo5ed9HxarR^HarUuevpS}\u0026B09Q*DMV*pz!\u003c5#auZ\u0026*wN/T@wm5?+z!\u003c5#uUB1VwmY^7EjLZFarR^HarR!EwN]H}wN/*8jS[uBy\u0026:d{arV7Y3jm)#x(\u003e:ExjU%(A::63B0a)lzE[2mB97\u0026jwGUP6AV!}4v}V#[B-.qnA+P\u0026dBzkVhaAz4kB.bSoa$K\u003cGB-7Yhx(v(qdgdguarU9lB7Gxle[5^iuV6!7e[G3BvqH0kw[=pbByf9hvru6iaAIa7z/f8)B97\u0026jwHN%eao",
            "ln": 3469,
            "col": 20,
            "line": 97
          },
          {
            "b": "x(WM]wNPaXA=Su^azt\u003esA4VfxADL\u0026lBsqFyarR^HB-IpvjS\u003e}ZBAzE.fe4cWv{%g!z/Z1NwmYvYB.(dMA+e=}A+e:5uV*y6kvXRxwJ:TzzZGKEvru6za%nG\u003caAIa7z/f8)B97\u0026jwH[fharR!uwNPaXA=Su^aBtkvz/oA9wGTbUB7F\u003c1zE^9:z/oA9wNxaZvpS}\u0026aBL^FarR^HA+e=}A+e:5auZ\u0026VvqH0@3lQEtdgcz8azC{Cb64mfwN/?6aARpdaA87bwPI@ovrDW9z/PMrvruj4zxJ$hB8V5nB7DKDao",
            "ln": 5117,
            "col": 43,
            "line": 146
          },
          {
            "b": "AbP=se]#byA=+VfwPz%9AWVnwarR^Hz!S-(uVf[9B09Q*DKp(rarR^HvrDW9z/PMrvruj4zEmEbvru6/wQ5fdA+fr0x(k4RatscBarR!P3lQEtdgdguBy!)3wn=Wfd0f3wByf9iAbY-oBs}SRz/x68wPz%9AW.t5arUGsv{%f@uO0sbefFLsA=VtfxK$Q.wPz\u0026mjS[AWBz@\u003cMwPq\u003c7B95*S3lQDlaA.ZvauZ?\u003exMOuniXJd5z!0i(xM4%lfjXTavrz",
            "ln": 6944,
            "col": 11,
            "line": 199
          },
          {
            "b": "wPIv4x\u003c$T4b6NZizxK4mwGUPcy?$kgz!A^4azth8ayX[[zxJ[fA+olgzdNl2vqYP#Bzbkdx(mTbx\u003c\u003e*2y?W^5azC)tv{%g\u0026wN(#oazb+lv@#B6zyu}varU=qB97=gB-qqrA=-{PByxiiuVP!0C4CXxdgdguBy!)3wn=Wfd0f3wByf9iAbY-oBs}R",
            "ln": 8445,
            "col": 2,
            "line": 246
          },
          {
            "b": "Bs}0xwIdLlBZY9cc)Atoy\u002612vaA}:Ay?aX]zxZROBywS{wIdFhzEW9%c$vgkBy/uiuVYZ=y?k4A3lQE5zE+g6wO#3c3jprPB7ol8vR3@iCw7M9aARpdaAz47x(W={Byffhx=}bh",
            "ln": 8998,
            "col": 10,
            "line": 261
          },
          {
            "b": "uVQveAbP=se]#byA=+VfwPz%9AWVnwarR^Hz!S-(uVf[9B09Q*DKp(rarR^HA+e=}A+e:5uV*y6auZ?{xMOunB2\u003e%cwQ4T2Abo8rv@DiqwmYvYB.(dKvpBp@y\u0026%\u0026hflgSmx(W={Byffhx^UCsarR^HEjLZFaBLWCarU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuVP!0C4CXy3lQEcz!0i(ayuVxuO0skwNPaXA=Su^azt\u003esA4VfxADL\u0026lBsqFyarR^HB-IpvjS\u003e}ZBAzE.fe4cWv{%g!z/Z1NwmYvYB.(dKvpBp@y\u0026%\u0026hflwx?3lQDlaAz47x(W={BrAZ?w)]H%wEoL5EjkHCaz+$avqE6cByxo5auZ\u0026?wPI%2B9hCvz/P}Lxl4A\u0026c$)g2wmY!5efDrYByxo5cN/xBaARgoByf9iAbY-oBs}PBxk8BewPzc}z/f5@c$)g2wmY!5dgdguy\u0026r/(y-\u0026",
            "ln": 11376,
            "col": 7,
            "line": 327
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are_not.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "os.time"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "socket.sleep"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "ltn12.sink.table"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "busted.runner"
            ],
            [
              "",
              "ltn12"
            ],
            [
              "",
              "socket"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "test_support"
            ]
          ],
          "mbr": [
            "assert.are",
            "assert.are.equals",
            "assert.are_not",
            "assert.are_not.equals",
            "assert.error_log_contains",
            "assert.is_not",
            "assert.is_not.error_log_contains",
            "h.location",
            "http.request",
            "ltn12.sink",
            "ltn12.sink.table",
            "os.time",
            "second_redir_headers.location",
            "socket.sleep",
            "table.concat",
            "test_support.extract_cookies",
            "test_support.grab",
            "test_support.login",
            "test_support.register_nonce",
            "test_support.start_server",
            "test_support.stop_server"
          ],
          "tgt": [
            "assert.are.equals",
            "assert.are_not.equals",
            "assert.error_log_contains",
            "assert.is_not.error_log_contains",
            "describe",
            "http.request",
            "it",
            "ltn12.sink.table",
            "os.time",
            "require",
            "socket.sleep",
            "table.concat",
            "teardown",
            "test_support.extract_cookies",
            "test_support.grab",
            "test_support.login",
            "test_support.register_nonce",
            "test_support.start_server"
          ],
          "metrics": {
            "ast": {
              "max_depth": 18,
              "call_count": 171,
              "node_count": 3457,
              "member_count": 21,
              "max_array_length": 4,
              "max_member_depth": 3
            },
            "file": {
              "size": 13374,
              "entropy": 4.57
            },
            "text": {
              "lines": 379,
              "top_char": 101,
              "digit_ratio": 0.01,
              "space_count": 2042,
              "char_entropy": 4.57,
              "unique_chars": 56,
              "top_char_null": 0,
              "import_density": 1.32,
              "string_density": 0.3,
              "top_char_ratio": 0.1,
              "avg_line_length": 34.29,
              "max_line_length": 103,
              "empty_line_ratio": 0.09,
              "last_line_length": 4,
              "whitespace_ratio": 0.18,
              "identifier_density": 1.74,
              "line_length_stddev": 25.93,
              "max_whitespace_run": 1,
              "normalized_import_count": 0.26,
              "normalized_string_count": 5.75,
              "repeated_char_sequences": 22,
              "suspicious_string_ratio": 0.02,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 6.65
            },
            "binds": {
              "count": 60
            },
            "binary": {
              "peak_region_bytes": 13374,
              "peak_region_entropy": 4.59
            },
            "imports": {
              "count": 5,
              "third_party_count": 5,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 3575,
              "count": 112,
              "shell": 2,
              "url_count": 33,
              "avg_length": 31.92,
              "max_length": 80,
              "path_count": 10,
              "avg_entropy": 3.47,
              "entropy_stddev": 0.65
            },
            "identifiers": {
              "count": 659,
              "unique": 57,
              "avg_length": 10.26,
              "max_length": 30,
              "min_length": 1,
              "avg_entropy": 2.59,
              "reuse_ratio": 0.09,
              "length_stddev": 6.78,
              "has_digit_ratio": 0.02,
              "sequential_names": 1,
              "single_char_count": 2,
              "single_char_ratio": 0.04,
              "high_entropy_count": 5,
              "high_entropy_ratio": 0.09,
              "all_lowercase_ratio": 0.96,
              "all_uppercase_ratio": 0.02,
              "numeric_suffix_count": 1,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 11,
        "mol": "H(Cm₅)Md₂(In₂Pa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/redirect_from_op_spec.lua",
        "pid": 0,
        "risk": 3,
        "sha": "3095c4c752d09c707421f99af96eb320168ee3e147d35e73178c4b740ca7dced",
        "size": 13374,
        "supp": [
          {
            "by": [
              {
                "id": "metrics"
              }
            ],
            "id": "metadata/file/profile/identifier-population::low-identifier-reuse",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                22,
                11
              ]
            ]
          },
          {
            "id": "metadata/import/lua/socket::socket",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket",
            "spans": [
              [
                60,
                6
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "spans": [
              [
                172,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                340,
                26
              ],
              [
                663,
                53
              ],
              [
                1059,
                54
              ],
              [
                1510,
                46
              ],
              [
                1938,
                44
              ],
              [
                3155,
                30
              ],
              [
                11440,
                49
              ],
              [
                11591,
                35
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-state-pair",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth redirect and state parameters",
            "spans": [
              [
                688,
                38
              ],
              [
                1084,
                39
              ],
              [
                1963,
                29
              ],
              [
                3533,
                44
              ],
              [
                5181,
                45
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-uri-parameter",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth redirect URI parameter",
            "spans": [
              [
                688,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                314,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/services/artifactory::nonexpiring-token-request-field",
            "conf": 0.95,
            "crit": 3,
            "desc": "Artifactory token request disables expiration",
            "spans": [
              [
                7008,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                340,
                16
              ]
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "spans": [
              [
                154,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/ltn12::ltn12",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ltn12",
            "spans": [
              [
                137,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "spans": [
              [
                99,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                1806,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                8493,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                3691,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                972,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "spans": [
              [
                739,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "id": 13,
        "mol": "H(Cm₃)Md₂(InPa)",
        "sha": "48e6737f8f8f0746e1709ea9854d70532972d24093719ffe591e97a1daa4a3e6",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/revoke_tokens_spec.lua",
        "risk": 3,
        "size": 906,
        "type": "lua",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)zkBz@u=aAz4kB.L(cc)A.Jv@2T$e[/uGA3u.ry\u0026r/(y-)?hB97=gB-qqrA=-A!aAz4kB.L(cc)A+AB97=gB-qqrA=-GO3uxY$B.L(casySvB97#7e](8LzE)\u0026oc[bGgy\u0026r/(y-)tjzEW^5z/cXaB8$]kBye:1BAhqvAaJK3x(v(@wO#3$z!T9huT)IXy*QW\u003czGGr3zGvjEefFChB7FY)zGxxbB7]-gC4A9farR!nB8$]kBs}b",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "arUGsv{%f@AbP!ujS(D^arUGsv{%f@y\u0026r@ejS[\u0026TB97=gB-qqrA=-{Iz^^f8a$[4PA4=ozA=#2mfkLMtB1.9BA=k$Jy\u0026r@gdgdguCw7YbwGV8nB.8XazWEQfarUSwB09Q*y\u0026r@Ew[=c[d03{ZAbP!GaARTDwHN%earR!vw/$#fBrCKvB0bNrwO}?$arR^HaAz4nB-Ivxv@DHcBp6ckarUj",
            "ln": 607,
            "col": 1,
            "line": 17
          },
          {
            "b": "B97=gB-qqrA=-{Iz^^f8a$[4PA4=ozA=#2mfkLMtB1.9BA=k$Jy\u0026r@gdgdguw]zYjAa@\u00269x(k5fz!zazzddJ@xEC5@zGG]qB8UY2BzkVhay/k4wO#PjCw?IqwPx*Oc)-yOdiZh-wn.!$arR!Jz/PS8A=UD7x\u003egG(jS[\u0026!B.7[5az2C33jm)#y\u0026r!",
            "ln": 922,
            "col": 17,
            "line": 31
          },
          {
            "b": "BAIUoB6\u0026A}zEW*fA+fcgy\u003cvBzCxtwUv@DHcBsvLtaz+$avqE68B-.OBBrAZ?a$[4PA4+{yBAhqvAaJK3x(v(vB97\u0026jB-Rbna{]Cnz/WKKwO(vewHIFtBz#wAdgdguy\u0026r/(y-)kazeAZ0wfs2Tb6dsnatB#.atbn?v@DHcBrAg*ar?}QaB4snxlbgEp-{@8e?OnRz/]@tatbnNarR^Ha%nEeaszI:cM(]wA+(\u003cIB5KhkzY*YzwP/.AB.\u003e\u003epeQ5r+c3%rEBz$O%z!9BctWhd]a%nG\u003c3lQDlar?{WnfxoCB-.qnA+P\u0026dBzkVhiV{+2vrb}1ar?{Xe*a[MBrAg*ar\u0026fSatbnNarR^Ha%pMvBz%n]fekjve?![ie?]1[zGG]qB8UY2BrA:\u0026a%nG\u003caA8yAAclmfarUGsv{%f@z!*EUaA8rNwQ4=@B-.gyv@Dj3vqYQ83lQE1B8$]kBs}VQB-.qxc#S(zjV%{fA=\u003e}oz/M$syAL=6attkK3lQEcz!0i(ay/tjzGG}JaAIa9zxI7+v@DHcByf9hvruTkwPGnwwPI%2B9hCvz/P}Ly\u0026r-)c#TlIAclmKdgdguvrlH3A=-{xA+c\u003c",
            "ln": 1418,
            "col": 41,
            "line": 53
          },
          {
            "b": "x([2}wP?=$BzkVhc#9%FefFCvB-8pI3lQEcz!0i(aA8EwwPzc@B-.OBBrAZ?a$[4PA4+{yBAhqvAaJK3x(v(vz*c8gAXhuOvruTka{]Cny\u0026r/(y-)}gx(){bB6\u0026\u003cdBz#wAauZ?\u003eflz5IfkkrCA=l2rwN/*@z/ddJvqf*{AXhuOvruTkwPG45arUPze]\u003eJuz*2Xuz*c8gA:J:cBz#wAdgdguz/WKKwO(vewHI+hx(){bB6\u0026\u003cdBz#wAdgdguy\u0026r/(y-)+fADL\u0026lBrAZ?b4C+oy-\u003erJqY)VgatmnpB$W-Qy?%",
            "ln": 1981,
            "col": 48,
            "line": 68
          },
          {
            "b": "z*c8gA:J:cBz#wAatbn?a%niPz*c8gA:J^1wizgYj0C!1e^-ZzarR\u003cJB8kA0A3c?!f/{N4e?NFNarR^Jay/Lmy-\u003erwB5Kh{BAzE.fe24nh.D^pfFk7kwP?=$Bs?iABAhqvAaJK3x(v(vv@Dpawnb{\u0026BzkVhau*]3wmY{qzGP=iasnAVatbnNarR^Ha%p@rAuD$Ua%nG\u003casH-rB-8pzeG=+%atbn?a%qmQCWUS9B095har?{Xe*8MLz/]@tat1Y\u003cdiHk}3lQDlar?{WnGYw",
            "ln": 2369,
            "col": 39,
            "line": 76
          },
          {
            "b": "BsvLtayPtjwPz(Bvrb{iwPq\u003c3y\u0026.1mz/]@tefFCvB-8qxtv\u00264#wN/*[wm6z1vruTkt}3a(zE:7Yy\u0026r/(y-)L9xjkp}uUKz1A=l2rwN/*@z/e]\u003ez!ac2vrDW9uW2}0zFs03auZ?\u003ex(n3kz/Y(ev@#B6zEl%)wn(E3zGGk]B-.q7zdN*5z!6#8B0bvsBrCToBupP?atbnNarR\u003eHwO#3)zF78azGG]qB8UY2BzkVhay/k4wO#Pjv@=c\u003ewO#Q7vqH0cx(k5nxK@q.pG7jnvSb!5azC)twmY.2wN/d\u003cwN($(3s)Z?v@=o)wHF:DxK#67Bzbkdx(n3kz/Y(ev@#B6zxJIdwn(E3zGE1nB0bgmC5IecwfJMEw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxgF3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)FpBrAZ?By/JnuVQveAbP=se{8bFz767tBz@\u003cMwPq\u003c7B95/OxMOuniXJcvgb**te?![jfktYMa$j@FarUiaB7ol8vR3@iCwhejz/{dAvqZukl3mo.z/PMrvruj4zxJR7vpS}\u0026a$K\u003cGB-7Yhx(v(qdgdguarUGsv{%f@uO0svByxolB09Q*xMOune]\u003eJyB.bSod0(pzarR^HaA.ZvauZ?\u003exMOuniXJcvgb**te?![jfkkrCA=l2rwN/*a3lQDlaBLWCarR^Hx(\u003e:EBzbkdBz\u003e@azxJUmazC.pvqGT*a$K\u003cGB-7Yhx(v(qdgdguarR^HvrlH3A=-{xA+c\u003emADLYaB0@\u003e0f!sC*ByxolB14CsarR!rzE+g6arR^Hx(\u003e:EvqWi0A=M8sazC)ty\u0026r%0wN(#oazb-",
            "ln": 3126,
            "col": 71,
            "line": 94
          },
          {
            "b": "BzkVhazts{wmY^7w]z*fwfJDfarR^HwO#3c3lQE5zE+g6arUiaB7ol8vR3@iCwhejayMy4wNPQ\u003cAV/ExyH}xcefFLEzEW^5z/c%L3lQDlaz+$avqE5[efG1QvruTkauZ\u0026XBAzEOA+flkwPI@wDKp(rarR^HB-IpvjS\u003e}ZBAzE.fe24nh.D^pfFk7kx(n3kz/Y(ev@@[C3lQDlarR!uwNPaXA=Su^aBtktB-.qnA+P\u0026dBzkVhauZ?\u003els\u003cOCwPw[qatbn?yiK+xEf}8tarV7Y3lQDlazC{Cb6mHfaAz4kB.bSoay/tcByw)3B0bNrwGUG0x\u003eqg7uUK3[Aa9=}zdN*2AW04Sw{503BzkVhc[bGCarR^HayPtjwPz)1x(n3kz/Y(ev@#B6zEl%)wn(E3zGGk}vqG:!v@DmbvqfR2c)Aeqx\u003eqg7uUK4lv@b\u003c\u003czGGl1wfJDfarR^HwO#3c3lQDlazC{Cb6mHfaAz4kB.bSoay/tcByw)3B0bNrwGUG0x\u003eqg7uVP^*A+ftnAa9=}zdN*2AW04Sw{503BzkVhc[bGCarR^HayPtjwPz)1x(n3kz/Y(ev@#B6zEl%)wn(E3zGGk}vqG:!v@DmbvqfR2c)Aeqx\u003eqg7uVP^*A+ftQv@b\u003c\u003czGGlbwN/:(BrSdvarR^HwO#3c3lQDlazC{Cb6mHfaAz2",
            "ln": 3883,
            "col": 46,
            "line": 113
          },
          {
            "b": "B8UY2BzkVhuUaa=AbPDdByeJ^y\u00260D*z/fV9x(m#ub6m:swO%TPatbn?yiK+Xxlei8c)x@?a$K\u0026Xb{:\u0026?a$j@FarR^HwO#3c3lQDlazC{Cb5Rrwv@Dp3x\u003equdvrb{4B7Gj",
            "ln": 4492,
            "col": 19,
            "line": 128
          },
          {
            "b": "zGvjxwOkBYD0+o6BAhqvAaJK3x(v(@vSb!5uTX80xKt%(A=bPexdjfgarR!rzE+g6arR^Hx(\u003e:EBzbkdA+frhz/fScazC)tC42i3wfJMEw{503BzkVhc[bGCarR^HayPtjwPz(Bvrb{iwPq\u003c3y\u0026.0WfFC42B97\u0026jB-O#sarR^HwO#3c3lQE5zE+g6wO#3c3jprPB7ol8vR3@iCw7M9az+R4vpKN9x(n3kz/Y(ev@#B6zxJzbwo/qcA+e=)zGGP3y\u0026Z.cA+cwoB7F(8Cwd",
            "ln": 4818,
            "col": 30,
            "line": 134
          },
          {
            "b": "wO#3c3t19=dgcz)wPIv4x\u003c$T4b6NZizxJv#wncd1z/f01aAg+fvqPN$wPz\u0026mxKM6}ayX[[zxJCczF0P}B-I57a$K\u003cGB-7Yhx(v(qdgdguBy/JnuVQveAbP=se]#byA=+VfwPz%9AWVnwarR^Hx(n3kz/Y(ev@#B6zEms3BAnM/aBsCrarR^HazC.n",
            "ln": 8345,
            "col": 3,
            "line": 231
          },
          {
            "b": "B8AvEaAIWAAbP=saAIHkv}/L2x(mMazfoVpx(E)1azts{wmY!53lQDlarR^HarR^HarUGsv{%f@AV^H/x(tRyz/xo9c)AezA+(\u003cInfxoCB-.qnA+P\u0026dBzkVhiV{+2vrb}1ar?{Xe*a[MBrAg*ar\u0026fQeL40ilVl)Ux\u003eosFw]zPJCQBWxarR^HarR^HarR^HarR^HarR^HarR^Hatbn?a%nEdasxJ{z!\u003c5#iV})uDoDK3a{]CnarR^HarR^H",
            "ln": 10374,
            "col": 27,
            "line": 296
          },
          {
            "b": "3jprPB7ol8vR3@iCw7M9ayPzmxKtgTv}xR3uVZj4wO$\u003c-B0bgrazts{wmY^7vqYP#wmYvYB.(dxxK$Q.wPw]hvqPM#x(+ztB7F(aefFLEzEW^5z/c%L3lQEkwPI%2B9hCvz/P}LB97\u0026hByf92A=#2md0(pzarR!vzGG]qB8UY2BzkVhuVf[9B09Q",
            "ln": 10964,
            "col": 5,
            "line": 309
          },
          {
            "b": "zEWm0c)zM2v}xv$wN(]$zGG]qB8UY2BzkVhaAz4kB.bSoiWc143lQE5zE+g6wO#3c3jprPB7ol8vR3@iCw7M9ayMy4vru0)aAz46wODs0B0a[eazC.nA=l2rwN/*@z/cXezE^Z8x(n2nw)]y\u0026B-I4qefFLEzEW^5z/c%L3lQEkwPI%2B9hCvz/P}LB97\u0026hByf92A=#2md0(pzarR!qwO+!2uVG.0AbPSnwGTbUDMW3uBAhqvAaJK3x(v(ijS(EkfFBQ",
            "ln": 21138,
            "col": 43,
            "line": 587
          },
          {
            "b": "B96C!diH!%f!0CLaz2C3dgdgux(\u003e:EwQ4^bv}*0}B0bsrA+cwnxKL^3z/fbezF9W3CP.iGA+/lba$K\u003cGB-7Yhx(v(qdgdguarU9lB7Gxle[]xlBAhInc$vgrzGGl1zGG]qB8UY2BzkVhuT)[^wO#P%Cw?IqwPz\u0026udiH!%f!0CLaz2C3dgfT7wgm\u0026)wb",
            "ln": 23568,
            "col": 71,
            "line": 650
          },
          {
            "b": "wPxhC3lQDlazC.nA=l2rwN/*@z/e{2AccdzjS]7UarR^HarUxoBAhqvAaJK3x(v(@wO#3$z!T9hauZ?\u003exMOuniXJc#z/mmtCWUDdy?kkqA+v3H3lQDlaBL^FarV7Y3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)FpBrAZ?By/JnuVQveAbP=se{8bFz767tBz@\u003cMwPq\u003c7B95/OxMOuniXJcvgb**te?![jfktYMa$j@FarUGsv{]",
            "ln": 25704,
            "col": 26,
            "line": 709
          },
          {
            "b": "z/x/tauZ\u0026]3lQDlarR!Gx(dB1B-X-?at+=afFC3+arR^HarUxoBAhqvAaJK3x(v(@wO#3$z!T9hauZ?\u003exMOuniXJcvgb**ue\u002624nfcQ-CarR!Ped9HxEjkHCaARg6A+69jzyxQrB97=gB-qqrA=-{PBz(b9B7GxnwPxjbarUGsv{%f@yiK+xjS[\u0026TB97=gB-qqrA=-{QA+PwsxMOune]\u003eJyB.bSoc)AtDBz%n]fekjve?![ie?]1]Cxt2Tdgdguy\u0026r/(",
            "ln": 26397,
            "col": 19,
            "line": 730
          },
          {
            "b": "wPxhC3lQDlazC.nA=l2rwN/*@z/e{2AccdzjS]7UarR^HarUxoBAhqvAaJK3x(v(@wO#3$z!T9hauZ?\u003exMOuniXJcvgb**te?![jfk+YIeP+VqA+cB4arR^HEjLZFaBLWCarU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuVP!0C4CXy3lQEcz!0i(azMaxauZ\u0026?wPI%2B9hCvz/P}LBAh8jc$)ZAA4VfxADL\u0026lBsntDBAzE.fe24nh.D^pfFk7kyiK+zdjCPDaz+$avqC",
            "ln": 29095,
            "col": 26,
            "line": 807
          },
          {
            "b": "wPxhC3lQDlazC.nA=l2rwN/*@z/e{2AccdzjS]7UarR^HarUxoBAhqvAaJK3x(v(@wO#3$z!T9hauZ?\u003exMOuniXJcvgb**te?![jflwxBarR^HEjLZFaBLWCarU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuVP!0C4CXy3lQEcz!0i(azMaxauZ\u0026?wPI%2B9hCvz/P}LBAh8jc$)ZAA4VfxADL\u0026lBsntDBAzE.fe24nh.D^pfFk7kyiK+zdjCPDaz+$avqC",
            "ln": 29778,
            "col": 26,
            "line": 827
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "os.remove"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "count_statuses"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "os.remove"
            ],
            [
              "",
              "os.remove"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "count_statuses"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "collect_introspection_statuses_concurrently"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_doesnt_contain"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_doesnt_contain"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "io.popen"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "request_introspection_concurrently"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "request_introspection_concurrently"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "request_introspection_concurrently"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "request_introspection_concurrently"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "request_introspection_concurrently"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "collect_introspection_statuses_concurrently"
            ],
            [
              "",
              "assert.is_true"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "assert.is_true"
            ],
            [
              "",
              "count_introspection_client_workers"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "collect_introspection_statuses_with_eviction"
            ],
            [
              "",
              "assert.is_true"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "assert.is_true"
            ],
            [
              "",
              "count_introspection_client_workers"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "error_log_occurrences"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "assert_introspection_endpoint_call_contains"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.trim"
            ],
            [
              "",
              "busted.runner"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "test_support"
            ]
          ],
          "mbr": [
            "assert.are",
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.is_not",
            "assert.is_not.error_log_contains",
            "assert.is_true",
            "assert.truthy",
            "http.request",
            "io.popen",
            "os.execute",
            "os.remove",
            "string.lower",
            "string.match",
            "test_support.load",
            "test_support.start_server",
            "test_support.stop_server",
            "test_support.trim"
          ],
          "tgt": [
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.is_not.error_log_contains",
            "assert.is_true",
            "assert.truthy",
            "assert_introspection_endpoint_call_contains",
            "assert_introspection_endpoint_call_doesnt_contain",
            "collect_introspection_statuses_concurrently",
            "collect_introspection_statuses_with_eviction",
            "count_introspection_client_workers",
            "count_statuses",
            "describe",
            "error_log_occurrences",
            "http.request",
            "io.popen",
            "it",
            "os.execute",
            "os.remove",
            "pairs",
            "request_introspection_concurrently",
            "require",
            "string.lower",
            "string.match",
            "teardown",
            "test_support.load",
            "test_support.start_server",
            "test_support.trim"
          ],
          "funcs": [
            [
              "assert_introspection_endpoint_call_contains",
              108
            ],
            [
              "assert_introspection_endpoint_call_doesnt_contain",
              322
            ],
            [
              "error_log_occurrences",
              549
            ],
            [
              "count_introspection_client_workers",
              833
            ],
            [
              "count_statuses",
              1159
            ],
            [
              "collect_introspection_statuses_concurrently",
              1378
            ],
            [
              "collect_introspection_statuses_with_eviction",
              1934
            ],
            [
              "request_introspection_concurrently",
              2932
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 4,
              "op.gt": 4,
              "op.add": 5,
              "op.lor": 4,
              "op.sub": 2,
              "op.lnot": 1,
              "max_depth": 22,
              "call_count": 458,
              "node_count": 8431,
              "member_count": 17,
              "op_density.eq": 0,
              "op_density.gt": 0,
              "op_density.add": 0,
              "op_density.lor": 0,
              "op_density.sub": 0,
              "op_density.lnot": 0,
              "max_array_length": 5,
              "max_concat_chain": 2,
              "max_member_depth": 3,
              "infinite_loop_count": 1
            },
            "file": {
              "size": 32211,
              "entropy": 4.68
            },
            "text": {
              "lines": 899,
              "top_char": 116,
              "digit_ratio": 0.03,
              "space_count": 4922,
              "char_entropy": 4.68,
              "unique_chars": 76,
              "top_char_null": 0,
              "import_density": 0.33,
              "string_density": 0.42,
              "top_char_ratio": 0.09,
              "avg_line_length": 34.83,
              "max_line_length": 138,
              "empty_line_ratio": 0.06,
              "last_line_length": 4,
              "whitespace_ratio": 0.18,
              "identifier_density": 1.44,
              "line_length_stddev": 26.85,
              "max_whitespace_run": 2,
              "normalized_import_count": 0.1,
              "normalized_string_count": 12.57,
              "repeated_char_sequences": 5,
              "suspicious_string_ratio": 0.01,
              "suspicious_identifier_ratio": 0.05,
              "normalized_unique_identifiers": 9.68
            },
            "binds": {
              "count": 99
            },
            "binary": {
              "peak_region_bytes": 32211,
              "peak_region_entropy": 4.71
            },
            "source": {
              "function_count": 8
            },
            "imports": {
              "count": 3,
              "third_party_count": 3,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 10190,
              "count": 377,
              "shell": 5,
              "url_count": 71,
              "avg_length": 27.03,
              "max_length": 105,
              "path_count": 5,
              "avg_entropy": 3.23,
              "entropy_stddev": 0.92
            },
            "comments": {
              "chars": 169,
              "count": 3,
              "lines": 3,
              "to_code_ratio": 0
            },
            "functions": {
              "count": 8
            },
            "identifiers": {
              "count": 1293,
              "unique": 95,
              "avg_length": 12.77,
              "max_length": 49,
              "min_length": 1,
              "avg_entropy": 2.52,
              "reuse_ratio": 0.07,
              "length_stddev": 11.55,
              "sequential_names": 5,
              "single_char_count": 6,
              "single_char_ratio": 0.06,
              "high_entropy_count": 18,
              "high_entropy_ratio": 0.19,
              "all_lowercase_ratio": 1,
              "all_uppercase_ratio": 0.01,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 14,
        "mol": "H₃(Cm₈DbPo)Md₂(InPa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/introspection_spec.lua",
        "pid": 0,
        "risk": 5,
        "sha": "b6d28c72d3b3a969e3db23d87c84a73312f4174a4e60be1f408c308b84b1154e",
        "size": 32211,
        "supp": [
          {
            "by": [
              {
                "id": "metrics"
              }
            ],
            "id": "metadata/file/profile/identifier-population::low-identifier-reuse",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "path"
              }
            ],
            "id": "micro-behaviors/communications/http/url/scheme::cleartext-http-url-code-literal",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                22,
                11
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "spans": [
              [
                3363,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename"
          },
          {
            "id": "micro-behaviors/communications/http/authorization-header::bearer-prefix",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.72,
            "crit": 3,
            "desc": "HTTP Bearer authorization header prefix",
            "spans": [
              [
                1653,
                21
              ],
              [
                4062,
                23
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/curl::curl-http-code-write-out",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.88,
            "crit": 3,
            "desc": "curl writes HTTP status via %{http_code}",
            "spans": [
              [
                1596,
                38
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::curl-cmd",
            "atk": "T1105",
            "conf": 0.7,
            "crit": 3,
            "desc": "curl command includes URL or option",
            "spans": [
              [
                1595,
                9
              ],
              [
                2433,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::curl-output-file",
            "atk": "T1105",
            "conf": 0.7,
            "crit": 3,
            "desc": "References curl file-output option",
            "spans": [
              [
                1596,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::curl-silent-fail-flags-text",
            "atk": "T1105",
            "conf": 0.86,
            "crit": 3,
            "desc": "curl text contains silent or fail flags",
            "spans": [
              [
                1596,
                8
              ],
              [
                2434,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                3542,
                20
              ],
              [
                3674,
                27
              ],
              [
                25768,
                22
              ],
              [
                26461,
                16
              ],
              [
                29159,
                26
              ],
              [
                29842,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-secret-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "OAuth client_secret field",
            "spans": [
              [
                4285,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                3528,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                2444,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/scheme::cleartext-http-request-target",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "HTTP client requests a cleartext URL",
            "spans": [
              [
                3532,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::client-id-field-name",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a client_id field name",
            "spans": [
              [
                4137,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::lua-io-popen",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua io.popen() shell command execution",
            "spans": [
              [
                10438,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::lua-os-execute",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua os.execute() function call",
            "spans": [
              [
                1755,
                10
              ]
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "spans": [
              [
                90,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "spans": [
              [
                66,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::tmp-path-content",
            "conf": 1.0,
            "crit": 2,
            "desc": "Contains a /tmp/ or /var/tmp/ path",
            "spans": [
              [
                2088,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::unix-temp",
            "conf": 0.7,
            "crit": 2,
            "desc": "Unix /tmp/ path reference",
            "spans": [
              [
                656,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/string/file::tmp",
            "conf": 0.2,
            "crit": 1,
            "desc": "tmp literal keyword",
            "spans": [
              [
                657,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                3333,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                11012,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "spans": [
              [
                8393,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                970,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                3931,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "spans": [
              [
                3714,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)zkBz@u=aAz4kB.L(cc)A.Jv@2T$e[/uGA3u.ry\u0026r/(y-)\u003evy-\u003e\u003e-A+flkx(W=kb6dWjyH}PuB-Ipxdgf)fv{%f@B7GxhwO#PjjS[=RADL#owHF:zwPz:3zGE6K3jpP/v{%f@By/JnuVQveAbP=sauZ\u0026]Ef{r$z!0i(avFT/k#*PTuR:lYlTJhRpdv/BauZ\u0026]3lQDlA+e=}A+e:5uV*y6auZ?\u003exMOuniXJd5z!0i(xM4%lfjXTavrDydflgSmx(W={Byffhx^b8narR!yz!B0hBye#}Bz8^War\u0026EHwObv[y\u0026?sDz!B0hBrSmyarR!qx(^^5C4CYtauZ\u0026]3lQDlarR!nB-.qnA+P\u0026dBzkVhuUaa=AbPDdBrAZ?b4#7uA5]T9f!$WufFk4if!V%TBzbPkx)Ktmed9HxarR^HBz\u003e@azEl%)wn(E3zGE0:ar\u003eGvBz%n]fekjve?![ie?]23z!\u0026{4a$K6zarR^HaARKqwO$\u003c^zE^Z8x(n31vrDW9uU%v@xM4B5uVQveAbP=swN(]DaBtjPv@b\u003c\u003czGGlbwN/:(Byf09B95PGEjLZFarR^HazC[rB.bOojS\u003e}ZBAzE.fe24nh.D^pfFk7ka$K6zarR^HazMaoB6\u003c6gx=]LYb4#7uA5]T9f!$WufFk4if!Wo=yA+qparR^HarU/FwPzH5w]z3/zE^Z8x(n2njS\u003e}ZBAzE.fe24nh.D^pfFk7kB-RbmeOP9mzZ3.tarR^HarUxeuVZj4wO$\u003c@x\u003eIr$zF9r+y?E9#vqH6$B6\u003c0hAbY-oBy!#9jS]7]b2Rt{h8VTfar\u003cuPgbQ%laBL^FarR!Ped9Hxay/k4wO#P%x\u003eetHar\u003erix\u003eqg7uUK3{ed9Hxay/k4wO#P%B7F\u003c4wPP4Tar\u003erix\u003eqg7uVP^*A+ftped9HxaAIQuuV{13x\u003ezSkjS\u003e}^zZ3.tarR!xwO2*?y?X67auZ?\u003eD1z4v3vJl*y\u0026r/(y-(bmmNp3Fr9@i+uSo/]mns%*aBsCraAIWmauZ?\u003eB9g@bwN/*aed9Hxx(!trjS\u003e}ZBAzE.fe24nh.D^pfFk7ka$K6zayPz6auZ?\u003ev@b\u003c\u003czGGl1wfJMiarUxbBrAZ?z/WKMx(dAfdj+/Gaz2!pauZ\u0026=B1RMGzdLaAas!M\u003chzu*o3vJl*y\u0026r/(y-(bmmNp3Fr9}{UlQ:{LuSo/]mns%*aBsCraz2!pauZ\u0026=B1RMGzdLaAas!M\u003chzu*o3vJl*y\u0026r/(y-(bmmNp3Fr9@Q2ogqP.njt*jmn+l\u003eaBsCraAR)FauZ?\u003en([$oed9HxvqGN0jS\u003e}Dq.*i*a$K7H3jpx/zEW^5z/cXtwPI%2B9hCvz/P}Ly\u0026r-)c$WgfwNxs-zdLd6arUGsv{%f@w[=6)auZ\u0026QB8$]kBsp\u003cwe]LYuzyxahy?l%\u003evqPNbar\u003e?IdjCPDaz+$avqE5@z/fVdzGE0:azbt7wJB\u003cyvpQ=gdQ^dfa$i\u003cwao",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "azb+lv@#B6zxJyDg\u003c9?Pd03*AarR^Hy\u0026r/(y-)n7yiarhauZ\u0026/wPq\u003cbA+cvqwnt}3z/c:aarR^Hy\u0026r/(y-)OezdK?MaAz4kB.L(car\u003eVpzdK)#arR^HA+funA=91px(dAlvM34\u003ewnt}3z/dgszEWP}wHIQGdlq9.BZ=:Dd\u003c(\u003e}eHI#dxlei8c){U}egj^Ldlq9.BZ=:DjTR^6cNQtIarUlkwc%C4y\u0026r/(y-\u0026",
            "ln": 1352,
            "col": 8,
            "line": 54
          },
          {
            "b": "a%FDywO#2=3t:S\u003cvqE5OmmGNyoJkv\u003es5-K9nK(J.q:\u003c5Kmn$x)aARgoByf9iAbY-oBs}xFvpQ=gflq8zv\u003eR!wx)9{bwNxF0vp9!YC}K5Ez6yzo3t:S\u003cvqE5OmmGNyoJkv\u003es4:V0aARgoByf9iAbY-oBs}xFvpQ=gflq8zv\u003eR\u003ezvp9!YD0+rgyHqp1Bn",
            "ln": 1668,
            "col": 67,
            "line": 63
          },
          {
            "b": "z!0i(avFT/k#*PTuRa0(qCQj/mmg3CpFLm)p/HvojS]7UarUxoBAhqvAaJK3x(v(@wO#3$z!T9hauZ?\u003exMOuniXJcvgb**te?![jfkkrCA=l2rwN/*@z/c:I3lQE3y?WD#Bye-)auZ?\u003ev@b\u003c\u003czGGl1wfJMiarUfgx\u003eqg7uVP^*A+ftnjS\u003e}Uy?WD#Byf92v@=d5a$K6zat2e/o(C8{aAIHkv@\u0026=bzGx=dv@@\u0026nxK@r8B-.nmx(mMaA+flkwPI@AaAIDzv{@\u003eXx(mMax(+znAc9WCzxJUhaARgoBAo5warUxoBAhqvAaJK3x(v(@v{@\u003eXwNxd:zF%MbauZ\u0026?A=\u003e}A3vJl*y\u0026r/(y-(bmmNp3Fr9@Q2ogqP.qBKIXpFK?SuQX6[nM4#QuRa0njS\u003e}8hzu*e3jpP/v{%f@l}6Nhrzlw0r8ldQpg3)/q=3m+q:\u003e4XpFK\u003ePnLSh\u003eqBK5Mmn(-:r8ldQp9qXxb6m\u003cFwG?E$z!0i(avFT/k#*PTuS6rZqBKIPnLR=.r8ldQpg3ERnLA59jS\u003e}XvqH0@a{@d8v{%f@l}6Nhrzlw0r8ldQpg3y=pF+y[pFKnCuQEvIoIv(Im[1K-ar\u003eAay\u0026:ei3t:S\u003cvqE5OmmGNyoJkv#pFjbKuQNZ^p*V%[pd4DSq=MgLmn)bcjS\u003e}^x(1$2y\u0026r/(y-(bmmNp3Fr9@T7mn=YLmO^wVp!%[{pesRLmpezMk$\u003c%vpdE.}jS\u003e}XvqH0@a{@d8v{%f@l}6Nhrzlw0mNoWouQm4Dmn)b(r8ldQpg3{\u003em[#uHrz(mdjS\u003e}XvqH0@a{@d8v{%f@l}6Nhrzlw0mG",
            "ln": 1865,
            "col": 2,
            "line": 73
          },
          {
            "b": "aA7\u003cmp^[83yH}=lzddJ$A+O@#ayPslvqWhUo*Ib?B7F\u003c4wPPKiarR^HarU9lB7Gxlc#9%FuT[1(By/uie[!*8wmY^lvqGN0jV%]ink?o3hx\u003cNSarR^HarUGsv{%f@x(i",
            "ln": 4374,
            "col": 31,
            "line": 151
          },
          {
            "b": "A+flkx(W=kb64moBA]GSAaJ{dB8iExzdc]#dk2HHCpmJDxkR6$wN/:(BsXKUB7!#qh8VTcdgdguarR^HvrlH3A=-Zyzdc{nB-p(1By=\u003emzG6-udjCPDarR^Haz+$avqE6cx\u003eIr(BAIRnauZ\u0026+xlV4uzEWP}wNw[PB7El^c$dgrwPz(vxL?f/i+A8zvqC",
            "ln": 4595,
            "col": 27,
            "line": 155
          },
          {
            "b": "r8(*+a$i\u003cwaz2C33t19=3uP\u003c2ByeV%z^)c\u003eB1RDPwPA66wmYm?A::6dAV^H/w{503BzkVhc#@)sdgdguA+fkyADL\u0026kC{2l)b4++ijZ}\u0026ua{]CnA+funA=91uwPn5*zE:8@wPI%2xkzG}vqH0qvSb!5uU0.Tz/Podz/M%-azb+lv@#B6zyxKpAvzkqaz+$avqE5}z!abojS[SPCRiJrv@C)?uTW$/B0#6uAv$Zswo/QharUciwo/!tz/l:Yar\u003eo6AV$\u0026kaAz4ke[e:fC{2l)zFahDwO#0@wmYaRA+xCwvSb!5dgdguA+funA=91uwPn5*zE:8@wPI%2xkzG}vqH0qyiKDmauZ\u0026KjZgJWoi\u003cX^3uP\u003c2ByeV%z^)c\u003eB1RJBB8#5lzEms3BAm",
            "ln": 5105,
            "col": 45,
            "line": 168
          },
          {
            "b": "moihKk#ZAKpg3{*r9@9XnLA59Bzbl63lQDlarR^HarR!EwPS6nzxJ?hy+cXMv@Dm5wN/*@z/cXrwOc7awN($(arR^HarR^HwO#2=arR^HarR^HA+fAjyH}3qB7GCwyH}=xaA?gfB.99DBAzsF3lQDlarR^HaAz4nB-IvxBAhIn3lQDlarR!rzE+p9arR^HarUrdBrAZ?w{1",
            "ln": 5680,
            "col": 13,
            "line": 190
          },
          {
            "b": "B0rdTf!sC3dgdguarR^HarUxgaw$TepEvAEnL-8*m[3x:mNoQtq^R*Wr7fXcvqYP#v{%g\u0026B09T?qBKRZlQsWypFLm!mo0R-k$K:GuQmdXmn+mIxK#5*arR^HarR^HarUYoBAIRwaz$[fefDcDz/fD7v@#B6zxJ$hw{5fawfIv6arR^HarR!rzE:7",
            "ln": 5901,
            "col": 45,
            "line": 197
          },
          {
            "b": "tu.CUz/PS8A:J^az!0v1B7GznaxIupogq-=p/p7Rmn)bNq-+t9x\u003eetearR^Hatm?NA4=ozA=#2mfkLMtB1.Azx(neFAa@\u0026A3t1l#z/Pi3z!ygCBzU$IB7GxnwPxCuz!BbAwPz*fAXqfDxcp.@vS=rB3jpu/wO#QhaBsCrarR!Jz/PS8A:Jr{zF\u003c2}BzkVhB08OWfFUED3vJl*xMOunaBsCrarR!nv}f7\u003eB6\u0026:4xcn\u003cHze.dHwPz%9AXzlExlb.mv}f7\u003eB1RoExfcCyarR!yBZXS@vpK7YxjUB?vruf9cW)Z+BZV{/e]kVsj1\u003eX)A4=ozA=#2mfjO{rw?Mw3y\u0026%eFj108%arR^Hy\u0026%e[B7/05wN]dUx\u003e8lcwnc9{z*2YjC{1?Ui%)8MarUGyvpa7?vrb{\u0026uU0\u003eXBrCpnBAhqvAaJK3x(v(inLSk.pG77UlSuSMpg3{\u003ck#HctuQNEMr9@M}t17HWarR^Hy\u0026%e[B7/05wN]dUx\u003e8lcyiK+",
            "ln": 6162,
            "col": 33,
            "line": 209
          },
          {
            "b": "ByeV%z^)c\u003eB0r4uarR^HEf{r7arR!EwPI^aC4CXparR^Haug#ke\u0026UEyi%)8MarUiaw)]*#ByfcnAaHdmvq{g4x\u003e7N[x(v(xz!0)2Bs?MQA+eV@i%)8MarU-pA=#2maBsCrarR^HarR!yz!AA#BZ/x5ADL\u0026lBrCHti%(rqarR^HarR!yx(!xczxH5AarR^Ygb**te?![jiYF/P3lQDlarR^Har$YpB97#harR^Hat+]haAIQui%)8MarR^HarR[IB8kh[wPz)bw[+:-By=NqarR!pwPz)bw[+:-By^4lxKLQ)e[n{zi%)8MarR^HarR[IB8kh[wPz)bw[+:-By!/{wQbzqA+PY9By^7uwQcuA3lQDlarR^Haz+$avruj4zxHPECxs%O3lQDlarR^HarR^Hay/tcBy/uiuT!p/y\u0026%e[vR/%)yAN%harR^HarR^HarR^HarQ",
            "ln": 6678,
            "col": 36,
            "line": 226
          },
          {
            "b": "arR^HarR^HayO+\u0026wPI{1vThr%BZXS^y\u0026r*0aBsCrarR^HarR^HarR^Hat2e/Cwhejax7/%qBK}*nKL{MpF+1?aARpdaA8jvB0bNkvR/P#x(+zaB.LVlaA8dcwGUA0wft]7B-Rb83lQDlarR^HarR^HarR^UeG!FiA=l2uaAz4kB.bSoB1wCJz!9A}x(mMavix8(AboDrzdNQbaARp9BrCa9w[=c]B0byuBAnNkBp6ckarR^HarR^HarR^HeIe8Zz!a0bwIm+nx(\u003eFsv@Dr$aAy[jxK#ibBzb92aAg[jaAz4kB.bSo3lQDlarR^HarR^HarR!yz!0i(ao",
            "ln": 7701,
            "col": 4,
            "line": 261
          },
          {
            "b": "wO}?$arR^HarR^HarR^HarR^Haz+$avqE5@xKLZ[wO#c(wfs2Tx(tRxAaJ]na$[4PA4=rKyH}xnwn(EaePbGAv}vl4xKLZ[wO#c(wfJMEb61\u003eR3lQDlarR^HarR^HarR^HarR!vw/$O%vqG:\u003ezF9J\u003eaARpdzvdHearR^HarR^HarR^HarR^HarU9lB7Gxlc$u}0y\u00260W2xjUQmv@c78wHF#R3lQDlarR^HarR^HarR^HarR!ry\u0026:d{arR^HarR^HarR^HarR^HarR^Hv}Yp!y?mG%wN(]DayPtjwPz(vx(tRxAaJ]na$[4PA4=rKyH}xnwn(EaePbGAv}vl4xKLZ[wO#c(wfJMEb6LjWdgdguarR^HarR^HarR^HarR^HarUfcvqG:\u003ezF9J\u003ei^kQUBy=\u003cAf^n4NarR^HarR^HarR^HarR^HarR^HvrlH3A=-ZtxKLZ[wO#c(wiajpz/YFrdjCPDarR^HarR^HarR^HarR^HarR!AxlV4IByxolB09Q*g+ZP",
            "ln": 10659,
            "col": 49,
            "line": 321
          },
          {
            "b": "arR^HarR^HarUGsv{%f@x\u003egN)z!\u0026{43lQDlarR^HarR^HarR^HazCBgvrc14e[YikzGGlcD2NsqjV%]ivrDW9z/PMrvruj4zEl)(wmV@cBzbl63lQDlarR^HarR^HarR^HarR!vwm6B%yH}xajS)r:uSo/]mnsgjarR^HarR^HarR^HarR!ry\u0026:d{arR^HarR^HarR^HarR^HarUxeuVZj4wO@RNaw$S$qBKIPuR9T)r8ldQp6@9^arR^HarR^HarR^HarQ",
            "ln": 11325,
            "col": 7,
            "line": 336
          },
          {
            "b": "arR^HarR^HarR^HarUGsv{%f@zF%A5wNx4-y?j.LayPtjwPz(vx(tRxAaJ]na$[4PA4=9EzEWl4efDcSa$j@FarR^HarR^HarR^HarR^HarUxeuVZj4wO%brz/f5@auZ\u0026+z/f5@uUj1*wJB\u003cyvpQ=gdQ^dfa$i\u003cwarR^HarR^HarR^HarR^HayPtjwPz(vzF%y",
            "ln": 11702,
            "col": 5,
            "line": 345
          },
          {
            "b": "g\u003c9?Pd0(pzarR^HarR^HarR^HarR^HarR^HaAR)FauZ?\u003en([$oed9HxarR^HarR^HarR^HarR^HarR^HvqGN0jS\u003e}^z/fbg3lQDlarR^HarR^HarR^HarR!PdgdguarR^HarR^HarR^HarR^HyiK=bBz\u003e@azxI7+xK$Q.wPw[Ce*8t\u003ca%nG\u003caARgoByeV%z^)c\u003eB1Q]Wg\u003c9?Pc#0j0Bz\u003e@azyDXXe*8t\u003ca{]CnarR^HarR^HarR^HarUliB7CX3",
            "ln": 12398,
            "col": 49,
            "line": 359
          },
          {
            "b": "arR^HarR^HarR^HarR^Hy\u0026r/(y-)Flz/d9GwPz/xaARKqwO@RNaARgoByeV%z^)c\u003eB1RxBwmEl3wNPQ\u003cA:JN9Byfi5A+Pchc#T6DB14CsarR^HarR^HarR^HarR!vw/$V9",
            "ln": 15847,
            "col": 1,
            "line": 442
          },
          {
            "b": "arR^HarR!AxlV4Bz!yFoxlV3$qC]4*b1VV}vqGT*aARKqwO%KKa%nG\u003caz2OldgdguarR^HarR^HarR^HarUliB7CX3arR^HarR^HarR^HarR^Haz$?pe]#byBAITEjS(G",
            "ln": 16004,
            "col": 12,
            "line": 445
          },
          {
            "b": "arR^HarR^HarR^HarR^HzFahDy\u0026r@mzFahDmn^2mar\u003cx{C42i3wft#jyH}xaw]zYjvq]{jvlbIPatbn?wPz/u3lQDlarR^HarR^HarR^Haz2wgwEoL5arR^HarR^HarR^HarR^HzFahDB97\u0026jB-OV*atLSc3lQDlarR^HarR^HarR^HarR!AxlV3",
            "ln": 16656,
            "col": 3,
            "line": 462
          },
          {
            "b": "e[wKfvr\u003cm?nMd#LrZ/[?uQNsRl0mL)mn)2Upe:Og3lQDlarR^HarR^HarR^Haz$?pe]$DDc%F\u0026sDKp(rb4kRoxM4{9Dsp]fz/e][zE^Z8x(n2piV]RWBAzE.fe24nh.D^pfFk7kvrDW9z/PMrwG\u0026VjarR\u003eIz!\u0026{4uUaa=AbPDdBrS:*b4#7uA5]T9f!$WufFk4if!WS!yH}xced9Hxb6m:swO$\u003c^zE^Z8x(n31vrDW9uU%v@xM4B5uVQveAbP=swN(#Cax]%jv@b\u003c\u003czGGlbwN/:(Byf09B95PGt}us9ar\u003eJvB9h5mb03?\u003cxMOuniXJcvgb**te?![jfcR}OarR\u003eyCwznbB-IguiV]RWBAzE.fe24nh.D^pfFk7kyiKCq3vMhyt}3a6arR^HarR^HarR!P3lQDlarR^HaBKO7arR^HarR^Hy\u0026r/(BzkVhatm\u003eUwPxwpzF0/fDKp(rarR^HarR^HarUfjzGGDcByeH5uU\u003c\u003c[uT^?\u0026v@0il3lQDlarR^Hao",
            "ln": 17882,
            "col": 29,
            "line": 491
          },
          {
            "b": "wO}?$arR^HarR^HarR^HarR^Haz+$avqE5@xKLZ[wO#c(wfs2Tx(tRxAaJ]na$[4PA4=uPwPzH5w]xniAbPXEzF%A5wI4z9vqG:\u003ezF9J\u003ea$K\u0026XAV#}tarR^HarR^HarR^HarR^HarUxgay/7[y\u00260W2xjUP@Bzbl63lQDlarR^HarR^HarR^HarR^HayPtjwPz(vv}Yp!y?mG%wN)\u0026iy\u0026sxac[cOLarR^HarR^HarR^HarR^HarUliB7CX3arR^HarR^HarR^HarR^HarR!pxKLZ[wO#c(wfs2TvrlH3A=-Zzz.t%EwO@[uflz5IflItEA+PA6z.kHsz/vpCz/f5@eN@E5y\u00260W2xjUP$efDcXa$j@FarR^HarR^HarR^HarR^HarR^Hv}Yp!y?mG%wN)\u0026CA+PSbc)yw\u0026dgdguarR^HarR^HarR^HarR^HarU9lB7Gxlc$u}0y\u00260W2xjUQmv@c78wHF#R3lQDlarR^HarR^HarR^HarR^Haz$?pe]#byBAITEjS(Nnf-",
            "ln": 18773,
            "col": 52,
            "line": 510
          },
          {
            "b": "i+A8zwgeTdz/xo9x\u003egZ1eOP9AA=l2rwN/*@z/c\u003cMA+frmy\u0026?YZdiJ.CwO}?$arR^HarR^HarR^HarR^HarR^Hazth8uT[1)A+5)4vruj4zEmEbvru66jS[\u0026!B.7[5arR^",
            "ln": 22613,
            "col": 28,
            "line": 599
          },
          {
            "b": "wPI{1Bz\u003e@azxI7+zdN:2wHIzbA+w@iDWNB/l}6Nhrzlw0k%[1dq=v45pFjbKdj=PKB-RUyzc{^\u003ezF0P}toWG=v}x.5uVZj4wO@X$aA8oyDWNsIarUGsv{%f@Bz\u003e@azEm6*vpS}\u0026auZ\u0026:wPzA{c#AKoxjSGrEjMHemmGNyoJkv#pFjbKuR0QKl}705efFCBB98tquT[1(w[+)Zb6m:swO$\u003c*wNPaXAW1^iz/M$EEjkHCaz+$avqE6eB7GxazF0/fjS[PM",
            "ln": 25874,
            "col": 12,
            "line": 686
          },
          {
            "b": "ogqP.qBKIXpFK?SuQX6[nM4#QuRa0pefG4MyH}x\u003cA+frhz/fScuUaF3x(W^auUKyb3lQDlauBdRBZ=:yr8ldQpg3)/q=3m+q:\u003e4XpFK\u003ePnLSh\u003eqBK5Mmn(-:r8ldQp9IkiBz\u003e@azEmA}B8V5nB7FY*z/fV9x(n00A+e\u003c6wPIJ(Bz\u003e@azyC]narR^/xlei8c)zR^ogqP.qBKIXpFK?SuSo/]mnvh?sX}KhefG4MyH}x\u003cA+frhz/fScuVZj4wO$\u003c%D2Nsz3lQDlauBdRBZ=:yqBK5Mmn(-Gp5",
            "ln": 29089,
            "col": 14,
            "line": 737
          },
          {
            "b": "uT[1(w[+)Zb4Ln3vr(j2wPI*ezGxwkt{a6aaBwI=e{82EwO@SeAV^+smNp3Fr9@3ZoHh/*qBKIXpFK?SdjCPDarR^/xlei8c)z5Jq:TtYmn^n}l}6^nsZL5}q=3m+q:*",
            "ln": 30114,
            "col": 43,
            "line": 748
          },
          {
            "b": "z!\u0026{43taA#v@#B6zxK4jB97=gB-qqrA=-{PByxiiuVP!0C4CXxv%8\u003cmz/5\u0026\u003ez/ff3xdjfgayPtjwPz(vz/WKxCX7xcBy=\u003cAA+#{JA+lBEBzU$IB7GxnwPw$zefDcGvqfK?wft#jaAz4gz*2Xmz!@@bB7GxnwPw]7x(UyD3lQEfB1RGAzeTPec)yr^ze.dIz!\u0026{4eO5*sA4L%CzEWlfv}Yp!y?mG%wN(#l3lQEfB1RGAzeTPec)yr^ze.dJB7C",
            "ln": 35763,
            "col": 85,
            "line": 820
          },
          {
            "b": "B7GxnwPxCuz!Bbndj=O=w)]y\u0026wN({9zY\u0026LgwNPW(az+$eay]hba$i\u003cwaz+$avqE68B-X-?ayPtjwPz(vx(tRxAaJ]na$[4PA4=ozA=#2mfjO{rw?OmqB97=4y\u0026r=\u003ey\u0026.jBBZVEBar(1NdjCPDaA}\u003cuBy!*3wO(y5vru6ez/{dMavFT/k#*PTuRa0:r9@P[o\u0026aIHr7etXv%8\u003cmz/5\u0026\u003ez/ff3xdjfgayPtjwPz(vz/{d.v@c78wHF#R3lQEfB-X-?ayPtjwPz(vx(tRxAaJ]na$[4PA4=ozA=#2mfjO{rw?O4mx(neFv@Dl%a$K\u0026XCoOE+3lQEnA+PSbuVY\u003c@Abn%8wHIFtBsXL5mmGNyoJkv^pFKwJm{/j:o\u0026aIHr7etXv%8\u003cmz/5\u0026\u003ez/ff3xdjfgayPtjwPz(vz/{d.v@c78wHF#R3lQE1B8$]kBsq6Ge[Gosv%8)8c)AOGwO#K1B98WIeN][RBzU$IB7C",
            "ln": 36111,
            "col": 36,
            "line": 826
          },
          {
            "b": "vqE5Har\u00260parUliB7CX3arR!Fx\u003eIr(y-\u003e\u003e-a$T#Ye?On/x\u003eIr(y-\u003et.ar?{L3lQE5zE:7%aAz4nB-Ivxz/WKxCX7xcBy=\u003cAfjFTkflp!HeN][JfjFTkfkCory-\u003c]Ae?On/x\u003eIr(y-\u003et.aAh49atbn?a$1G*j$*CTB$W-Qy?$pA3t19=3jpP/v{%f@w{503BzkVhazC[7A=(nqx(mMiAa@\u0026i3lQEiwPS6nzxJ.ey?$Isx\u003ee+qfEWuuzE:7YeIe8!A+P9aazth7wft#jaAITyA3fmowGV59A=#2maAITkA=+(6ayYQs",
            "ln": 36621,
            "col": 9,
            "line": 838
          },
          {
            "b": "vivYQf!sC83lQE4zWEQfarUxgazC[7A=(nqx(mMiAa@\u0026iaARpdzvdHearR^HyIvQ3c#-)hdgdguarR^Hz/WKxCX7xcBy=\u003cAB8kA0A3ctEe?On/y?mf%dgdguarR^HB8kA0A3dp^B8kA0A3cRMg72cDarUliB7CX3arR^HayYw5vquh)arR!rzE:7%az2C33lQE9w/$/euVHpbzFs03c#-)hdiJ.CwO}?$arR^HAb]VgBsntBz/Pu4zF78fxk8mdaARJAB98tta$i\u003cwarR^H",
            "ln": 37015,
            "col": 7,
            "line": 853
          },
          {
            "b": "By/JnuVQveAbP=se[YikvKL]3vpS}\u0026B1wBYzF%A5wHw]larUGsv{%f@zF%A5wNx4-y?j.LayPtjwPz(vx(tRxAaJ]na$[4PA4=9EzEWl4efDcXa$j@FarUMuzEWl+w[=6)i^kQUBy=\u003erz/f5@dgdguvrlH3A=-ZEz/f5@uUj1*wJBsqz/YFrdjCQnzE:7YeIe8=wPS6nzGu}eavy6=yIvu5xK$Q.wPw]pvqH6$ayX=2wN({4zxJw7y-)kaz!\u003c5#B0bHmADL\u0026lBy!#9B]",
            "ln": 37636,
            "col": 17,
            "line": 878
          },
          {
            "b": "aAz4mAbPSnwEr3(zEW^5z/cXtwPI%2B9hCvz/P}Ly\u0026r%2zyu}varUGsv{%f@uO0sbefFRqvpS}\u0026B09Q*xMOune]\u003eJyB.bSod0(pzarR!HA+(\u003cYar\u003eGvBz%n]fekjve?![ie?]1\u0026wObv[y\u0026?sLa$K6zarR!EwN]H}wN/*8jS[uBy\u0026:d{arV7Y3lQEcz!0i(aAITkBy=NTaARgoByf9iAbY-oBs}iDvpyS#wNPaXA=S=OcV:xrBy=*G3lQEkwPI%2B9hCvz/P}LA+e($B97#luV6!1v}v64wNPaXA=SVparU2xaAITk",
            "ln": 38255,
            "col": 35,
            "line": 898
          },
          {
            "b": "wN]H}uUyMBazt\u003esA4VfxADL\u0026lBsqFyarR^HarR^HB-IpvjS\u003e}ZBAzE.fe24nh.D^pfFk7kwmYvYB.(dMA+e=}A+e:5uV*y6kvXRxwJ:TzzZGKEvru6za%nG\u003caAITkBy^0garR^HarR^HxK$Q.wPz\u0026mjS]7]v@Dp3x\u003enzIaARgoByf9iAbY-oBs}cHBAg/1ByeJ@z!\u003c5#B0$ZkvpS}\u0026B15kWed9HxarR^HarUYownc6}v@@?Razb4#B7CX3aBLWCarUYoBAIRwaAITkBy^0CB97\u0026jB-P8RBy+",
            "ln": 38505,
            "col": 15,
            "line": 906
          },
          {
            "b": "CYW$mv@#6/z/oA9wPGnuwN]H}uUy\u003e}wO#2=3t:S\u003cvqE5{auZ\u0026/wPq\u003cbA+cvvy\u0026%fcB7GxlcKKWdv{%f@B76tpjS[=RADL#owHF:zvr\u003c4C3jpP/v{%f@w{503BzkVhaz2Olz/Pi3z!AA!z/fV9x(m#uB97\u0026jwH[%jA+xCx3lQEcz!0i(ay!\u00263wNxd?B7Glgx([6jwGTbUvrc14tqxFbvqYP#BAhInaA4",
            "ln": 38747,
            "col": 39,
            "line": 911
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "os.time"
            ],
            [
              "",
              "os.time"
            ],
            [
              "",
              "os.time"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "io.open"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "mime.b64"
            ],
            [
              "",
              "dkjson.encode"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "url.escape"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "merge"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "tostring"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "tostring"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "serpent.block"
            ],
            [
              "",
              "tostring"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "os.remove"
            ],
            [
              "",
              "os.remove"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "io.open"
            ],
            [
              "",
              "write_template"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "io.open"
            ],
            [
              "",
              "write_template"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "kill"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "is_running"
            ],
            [
              "",
              "kill"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "is_running"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "kill"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "io.open"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "dkjson"
            ],
            [
              "",
              "luassert"
            ],
            [
              "",
              "mime"
            ],
            [
              "",
              "say"
            ],
            [
              "",
              "serpent"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "socket.url"
            ]
          ],
          "mbr": [
            "dkjson.encode",
            "headers.location",
            "http.request",
            "io.open",
            "mime.b64",
            "os.execute",
            "os.remove",
            "os.time",
            "serpent.block",
            "string.match",
            "test_support.extract_cookies",
            "test_support.grab",
            "test_support.load",
            "test_support.login",
            "test_support.register_nonce",
            "test_support.self_signed_jwt",
            "test_support.start_server",
            "test_support.stop_server",
            "test_support.trim",
            "test_support.urlescape_for_regex",
            "url.escape"
          ],
          "tgt": [
            "assert",
            "b64url",
            "dkjson.encode",
            "http.request",
            "io.open",
            "ipairs",
            "is_running",
            "kill",
            "merge",
            "mime.b64",
            "os.execute",
            "os.remove",
            "os.time",
            "pairs",
            "print",
            "require",
            "serpent.block",
            "string.match",
            "test_support.extract_cookies",
            "test_support.grab",
            "test_support.load",
            "test_support.register_nonce",
            "tostring",
            "type",
            "url.escape",
            "write_template"
          ],
          "funcs": [
            [
              "test_support",
              1042
            ],
            [
              "test_support",
              1209
            ],
            [
              "test_support",
              1282
            ],
            [
              "b64url",
              1347
            ],
            [
              "test_support",
              24960
            ],
            [
              "merge",
              25075
            ],
            [
              "write_template",
              25441
            ],
            [
              "test_support",
              35768
            ],
            [
              "kill",
              36559
            ],
            [
              "is_running",
              36763
            ],
            [
              "test_support",
              36891
            ],
            [
              "test_support",
              37360
            ],
            [
              "test_support",
              37574
            ],
            [
              "test_support",
              37885
            ],
            [
              "test_support",
              38265
            ],
            [
              "error_log_contains",
              38833
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 3,
              "op.add": 2,
              "op.lor": 67,
              "op.mul": 1,
              "op.sub": 1,
              "op.land": 16,
              "op.lnot": 1,
              "max_depth": 99,
              "call_count": 172,
              "node_count": 4432,
              "member_count": 21,
              "op_density.eq": 0,
              "op_density.add": 0,
              "op_density.lor": 0.02,
              "op_density.mul": 0,
              "op_density.sub": 0,
              "op_density.land": 0,
              "op_density.lnot": 0,
              "max_array_length": 7,
              "max_concat_chain": 2,
              "max_member_depth": 2
            },
            "file": {
              "size": 39517,
              "entropy": 4.86
            },
            "text": {
              "lines": 933,
              "top_char": 101,
              "digit_ratio": 0.01,
              "space_count": 9618,
              "char_entropy": 4.86,
              "unique_chars": 90,
              "top_char_null": 0,
              "import_density": 0.75,
              "string_density": 0.26,
              "top_char_ratio": 0.06,
              "avg_line_length": 41.35,
              "max_line_length": 142,
              "empty_line_ratio": 0.07,
              "last_line_length": 19,
              "whitespace_ratio": 0.27,
              "identifier_density": 0.66,
              "line_length_stddev": 30.05,
              "max_whitespace_run": 7,
              "normalized_import_count": 0.23,
              "normalized_string_count": 7.86,
              "repeated_char_sequences": 349,
              "suspicious_string_ratio": 0.03,
              "suspicious_comment_ratio": 0.02,
              "suspicious_identifier_ratio": 0.04,
              "normalized_unique_identifiers": 16.62
            },
            "binds": {
              "count": 77
            },
            "binary": {
              "peak_region_bytes": 16384,
              "peak_region_entropy": 5.34
            },
            "source": {
              "function_count": 16
            },
            "imports": {
              "count": 7,
              "third_party_count": 7,
              "third_party_ratio": 1
            },
            "strings": {
              "sql": 2,
              "bytes": 25154,
              "count": 240,
              "shell": 3,
              "url_count": 10,
              "very_long": 2,
              "avg_length": 104.81,
              "max_length": 18707,
              "path_count": 16,
              "avg_entropy": 2.71,
              "empty_count": 4,
              "entropy_stddev": 1.19,
              "high_entropy_count": 1,
              "embedded_code_candidates": 2
            },
            "comments": {
              "chars": 3600,
              "count": 56,
              "lines": 56,
              "high_entropy": 1,
              "to_code_ratio": 0.06
            },
            "functions": {
              "count": 16
            },
            "identifiers": {
              "count": 620,
              "unique": 164,
              "avg_length": 12.39,
              "max_length": 45,
              "min_length": 1,
              "avg_entropy": 2.62,
              "reuse_ratio": 0.26,
              "length_stddev": 10.53,
              "has_digit_ratio": 0.02,
              "sequential_names": 7,
              "single_char_count": 6,
              "single_char_ratio": 0.04,
              "high_entropy_count": 36,
              "high_entropy_ratio": 0.22,
              "all_lowercase_ratio": 0.79,
              "all_uppercase_ratio": 0.2,
              "numeric_suffix_count": 3,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 15,
        "mol": "O₂(IXe)H₅(Cm₇Db₃FOsPo₃)Md(In₂)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/test_support.lua",
        "pid": 0,
        "risk": 10,
        "sha": "e0e668eb4ccb230bb72f08ca008b972dadbc8d6bf71acef0313a88c13cdfcc78",
        "size": 39517,
        "supp": [
          {
            "by": [
              {
                "id": "metadata/package/testing/harness/runtime::is-test"
              }
            ],
            "id": "micro-behaviors/fs/delete/directory::rm-rf",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "metadata/package/testing/harness/runtime::is-test"
              },
              {
                "id": "micro-behaviors/crypto/certificate/usage::certificate-ref",
                "spans": [
                  [
                    6901,
                    11
                  ]
                ]
              }
            ],
            "id": "micro-behaviors/fs/path/certificate::pem-file-extension-reference",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                22,
                11
              ]
            ]
          },
          {
            "id": "metadata/import/lua/socket/url::socket/url",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.url",
            "spans": [
              [
                57,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-authorization-endpoint-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Declares OIDC provider authorization endpoint",
            "spans": [
              [
                279,
                24
              ],
              [
                17946,
                25
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-discovery-metadata",
            "conf": 0.99,
            "crit": 3,
            "desc": "Implements OIDC provider discovery metadata",
            "uses": [
              2,
              4,
              5
            ],
            "spans": [
              [
                279,
                24
              ],
              [
                497,
                10
              ],
              [
                594,
                39
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-jwks-uri-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Declares OIDC provider JWKS URI",
            "spans": [
              [
                497,
                10
              ],
              [
                18152,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-signing-algorithms-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Declares OIDC token-signing algorithms",
            "spans": [
              [
                594,
                39
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                180,
                37
              ],
              [
                305,
                26
              ],
              [
                358,
                22
              ],
              [
                471,
                16
              ],
              [
                509,
                20
              ],
              [
                559,
                26
              ],
              [
                1929,
                30
              ],
              [
                38345,
                26
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-authorization-code-grant",
            "conf": 0.8,
            "crit": 3,
            "desc": "OAuth authorization-code grant field",
            "spans": [
              [
                11389,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-credentials",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth client credential fields",
            "uses": [
              9,
              10
            ],
            "spans": [
              [
                205,
                12
              ],
              [
                665,
                9
              ],
              [
                693,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-id-field",
            "conf": 0.85,
            "crit": 3,
            "desc": "Client ID field accompanies OAuth protocol markers",
            "uses": [
              12,
              22
            ],
            "spans": [
              [
                205,
                12
              ],
              [
                665,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-secret-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "OAuth client_secret field",
            "spans": [
              [
                693,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-state-pair",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth redirect and state parameters",
            "spans": [
              [
                38569,
                38
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-uri-parameter",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth redirect URI parameter",
            "spans": [
              [
                205,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                38319,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/server/listener::bind-port-80",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.65,
            "crit": 3,
            "desc": "bind to HTTP port 80",
            "spans": [
              [
                6817,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/server/listener::nginx-conf-path",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.65,
            "crit": 3,
            "desc": "nginx.conf configuration file",
            "spans": [
              [
                36349,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/token-auth::access-token-field-source",
            "conf": 0.92,
            "crit": 3,
            "desc": "Access token field in source",
            "spans": [
              [
                25938,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/token-auth::jwt-rsa-algorithm-field",
            "conf": 0.9,
            "crit": 3,
            "desc": "RSA algorithm field",
            "spans": [
              [
                1024,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/token-auth::jwt-unsecured-algorithm",
            "conf": 0.98,
            "crit": 3,
            "desc": "Unsecured alg none setting",
            "spans": [
              [
                12462,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                180,
                16
              ],
              [
                305,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/certificate/usage::certificate-ref",
            "conf": 0.5,
            "crit": 3,
            "desc": "References certificate terminology",
            "spans": [
              [
                6901,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/embedded/script::python-open-write-in-string",
            "conf": 0.3,
            "crit": 3,
            "desc": "String embeds a Python open() for writing",
            "spans": [
              [
                10898,
                44
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::client-id-field-name",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a client_id field name",
            "spans": [
              [
                665,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/mime::mime-octet-stream",
            "conf": 0.85,
            "crit": 3,
            "desc": "Uses the application/octet-stream MIME type",
            "spans": [
              [
                6742,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/property/assign::auth-token-variable-assignment",
            "conf": 0.8,
            "crit": 3,
            "desc": "Assigns an AUTH or TOKEN named variable",
            "spans": [
              [
                778,
                18
              ],
              [
                922,
                22
              ],
              [
                982,
                22
              ],
              [
                2147,
                35
              ],
              [
                2197,
                47
              ],
              [
                2258,
                32
              ],
              [
                2305,
                36
              ],
              [
                2356,
                34
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/write/file/handle::lua-open-write-mode",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua opens file in write mode",
            "spans": [
              [
                10895,
                47
              ],
              [
                19012,
                50
              ],
              [
                36175,
                48
              ],
              [
                36323,
                42
              ],
              [
                37700,
                25
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/secret-name::refresh-token-env-name",
            "conf": 0.94,
            "crit": 3,
            "desc": "OAuth refresh-token environment variable",
            "spans": [
              [
                29153,
                37
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/local-exec::embedded-temp-path-execution",
            "conf": 0.94,
            "crit": 3,
            "desc": "Embedded command executes a temporary path",
            "spans": [
              [
                6410,
                23
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::lua-os-execute",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua os.execute() function call",
            "spans": [
              [
                35827,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/target::lua-os-execute-dynamic-argument",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua builds a dynamic os.execute target",
            "spans": [
              [
                36685,
                52
              ],
              [
                37079,
                28
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/interpreter/shell::bin-sh",
            "conf": 0.6,
            "crit": 3,
            "desc": "/bin/sh shell interpreter path reference",
            "spans": [
              [
                36697,
                8
              ]
            ]
          },
          {
            "id": "objectives/execution/exploit/http-command-injection::lua-http-request-field",
            "atk": "T1059,T1190",
            "conf": 0.92,
            "crit": 3,
            "desc": "Lua reads an HTTP request field",
            "spans": [
              [
                5169,
                9
              ],
              [
                5283,
                8
              ]
            ]
          },
          {
            "id": "objectives/impact/infect/script/self-copy::lua-names-lua-script",
            "atk": "T1554",
            "conf": 0.8,
            "crit": 3,
            "desc": "Lua source names a Lua script",
            "spans": [
              [
                36213,
                4
              ]
            ]
          },
          {
            "id": "metadata/import/lua/dkjson::dkjson",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports dkjson",
            "spans": [
              [
                1400,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/luassert::luassert",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports luassert",
            "spans": [
              [
                38795,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/mime::mime",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports mime",
            "spans": [
              [
                1434,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/say::say",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports say",
            "spans": [
              [
                38826,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/serpent::serpent",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports serpent",
            "spans": [
              [
                95,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::tmp-path-content",
            "conf": 1.0,
            "crit": 2,
            "desc": "Contains a /tmp/ or /var/tmp/ path",
            "spans": [
              [
                36024,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::unix-temp",
            "conf": 0.7,
            "crit": 2,
            "desc": "Unix /tmp/ path reference",
            "spans": [
              [
                6211,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/string/file::tmp",
            "conf": 0.2,
            "crit": 1,
            "desc": "tmp literal keyword",
            "spans": [
              [
                6212,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                2048,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                5949,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                7866,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                16704,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                7749,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "id": 17,
        "mol": "H₂(Cm₆Po)Md₂(In₂Pa)",
        "sha": "5fc867a44959c5974798652e830772ef3d0d137c8f5ad7dd01c6084c4e6714f0",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/dpop_spec.lua",
        "risk": 4,
        "size": 18586,
        "type": "lua",
        "depth": 1
      },
      {
        "id": 18,
        "mol": "H₂(Cm₃Po)Md₂(InPa)",
        "sha": "9ce08e4c16dd27282d424038fcb2c5be40810e46c551c736f7b75ac6dc11802d",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/session_refresh_spec.lua",
        "risk": 4,
        "size": 1240,
        "type": "lua",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)zkBz@u=aAz4kB.L(cc)A.Jv@2T$e[/uGA3u.ry\u0026r/(y-)?hB97=gB-qqrA=-A!aAz4kB.L(cc)A+AB97=gB-qqrA=-GO3t:S\u003cvqE65Bz-/*auZ\u0026/wPq\u003cbA+cTyy\u0026\u003cLHg9OdOA+flkx(W=ccT}jtBy!#nA=(nqwPxdDdgcz#z!0i(azb+lv@#B6zxJweB7GxluVZj4wO$\u003c^zE^Z8x(n31v{%g\u0026uT[1(Byw)3B0#8Xay!\u00263wNxd?B7Glgx([6jwHN%earU9lB7Gxle[G6zz/Pi3z!AA!z/fV9x(m#ub64mmB.bSoayYn1C{3ZqAV/ExyH}xawO#3$z!T9hay!?@y=SW\u003edK2#/e*8oTatbn?a$+t?ed9HxarR^HarR^HarR^HarR^HarR^HarR^HarR!pvrl0!x(n06zGxJlx)a5p3t19=3jprPB7ol8vR3@ix\u003ewGfxK#i}azC)tzF{Uav@#BdwGVbpwPw]mwPI{bz/c:Iazb+lv@#B6zyu}varU=qB97=gB-qqrA=-{PByxiiuVP!0C4CXxdgdguBy!)3wn=Wfd0f3wByf9iAbY-oBs}SRz/x68wPz%9AW.traz+$avqE5[efG1QvruTkauZ\u0026XBAzEOA+flkwPI@wDKp(rarU/Ey-\u003e\u003e-b4#7uA5]T9y\u0026r/(y?N:dBt46jv}x.5uVZj4wO@Xy3lQDlaAz47x(W={BrAZ?w)]H%wH[fhaBLWCarUxuc)A+DwGUz\u003ev}x.5uVZj4wO@S8B0bvsBrC1nvqfK^vR/Q1efFLEzEW^5z/c%L3lQDlayPtjwPz(Bvrb{iwPq\u003c3y\u0026.0YfFLa3B97\u0026jB-O#sarUlkwgm\u003c%zE+g63s)Z?v/",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "ayPtjwPz(Bvrb{iwPq\u003c3y\u0026.0Gvpaa{yH}x*zxZROBywS{wIdFhzEW9%c$vgkBy/uiuVYZ=y?k4A3lQE5zE+g6wO#3c3jprPB7ol8vR3@ix\u003ewGdwP\u002604vruj4zEm0:x(4c[z!9A4x(+zby\u0026sxawftq#wft#cwGV28C5H(0BzkVhaAITyA+cwlwNP9(w)]y\u0026B0rdTw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxhC3lQDlaAz4pz!0i$x(v(@By/Jnao",
            "ln": 1209,
            "col": 4,
            "line": 38
          },
          {
            "b": "zxZROw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxhC3lQDlaARKqwO$\u003c}wPI*ezGxw@wQ5fdA+fr0x(k4RatscBaBLWCarU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuVP!0C4CXy3lQEcz!0i(ayuVxuO0sfz/oA9wPF$SaARgoByf9iAbY-oBs}xFxk8lidgdguz/WKxCX7xcBy=\u003cAB8kA0A3c\u003e/h6KERarUGsv{%f@v@DmbwO#P%BywS{wGTbUDWMkzaz+$avqE5[efG1QvruTkauZ\u0026XBAzEOA+flkwPI@wDKp(rarU/Ey-\u003e\u003e-b4#7uA5]T9y\u0026r/(y?N:dBt46jv}x.5uVZj4wO@Xy3lQDlaAz47x(T",
            "ln": 3545,
            "col": 49,
            "line": 122
          },
          {
            "b": "yH}xaxl4A#BrSmUw{503BzkVhc[bGCarR!nB8$]kByfcdyH}x\u003cwO#3$z!T9huT)IXy*QW\u003czGGr3zGviIxl4A#ByfcnAaIgMwOb%]B7!{5z!\u0026{4a$i\u003cwaz2C3dgdgux(\u003e:EBzbkdA+flkwPI@ov@DmbvqfR2aARpday/k4wO#P%x\u003eeu9vrb^[wPRH7a$K\u003cGB-7Yhx(v(qdgdguarU9lB7GxluVZj4wO$\u003c^zE^Z8x(n31v{%g\u0026uT[1(Byw)3B0@kxy?WD#Bye-)j.5qxwO#P%x\u003eezp3lQE5zE+g6arUxuc)A+DwGV28ADL\u0026lBrC7izGGr3zGu}xxK@q@y?WD#Byf92v@=d5aAg+fvqPN$wPw$Cazb+lv@#B6zyu}varR^HvrlH3A=+Vgz!\u0026{4uUaa=AbPDdByeJ^y\u00260D*z/fV9x(m#ub4CC6wO#P%B7F\u003c4wPQ7By?WD#Byf92v@=d5a$i\u003cwaz2C3dgdgux(\u003e:EBzbkdA+flkwPI@ov@DmbvqfR2",
            "ln": 4082,
            "col": 44,
            "line": 139
          },
          {
            "b": "z/P}LB97\u0026hByf92A=#2md0(pzarR!nv}f7\u003eB6\u003c3cyH}x\u003cz/x/tauZ\u0026]3lQDlarR!qx(^^5C4CYtauZ?\u003exMOuniXJc#z/mmtCWUDdy?kkqA+v3H3lQDlaBL^FarR^HBz\u003e@azEmA}B8V5nB7FY\u0026CYmwqwPIi)zxI7+fBw{BEjkHCaARg6A+69jzyxQrB97=gB-qqrA=-{PBz(b9B7GxnwPxjbarUGsv{%f@uO0sbefFCvz!\u003c5#B09Q*By/JnuVQveAbP=se]kDsx(i",
            "ln": 6452,
            "col": 12,
            "line": 206
          },
          {
            "b": "aARsmwP8ZkauZ\u00267fFCgmed9HxarR^Hwnc9{z*2YjC{2l)DKp(rarR^HarU=AyH}x\u003cwO#3$z!T9hauZ?\u003exMOuniXJcvgb**ue\u002624nfcQ-CarR^HaBKOtarR!Ped9HxarU=AyH}x\u003cA+frhz/fScuUaF3x(W^auUKy2jS(A=arV7Y3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)7oayuVxv@Dp3x\u003equdjS[\u0026TB97=gB-qqr",
            "ln": 7990,
            "col": 6,
            "line": 256
          },
          {
            "b": "uVP!0C4CXxDKp(rarUiay*?P@A+frhz/fScauZ\u0026]aARKqwO@RNatCM7fD+={3lQDlaARKqwO$\u003c}wPI*ezGxw@wQ5fdA+fr0x(k4RatscBaBLWCarU=qvrb)%CwX*JwPI%2",
            "ln": 8736,
            "col": 21,
            "line": 280
          },
          {
            "b": "A:JT3xj2d!zGGr3zGviIvpJ!UB8$Ygz!\u0026{4az2Olz/N(YvpJ!UB8#5kxcqqmyH}xawO#3$z!T9he?ed}xMOuniXJcvgb**te?![jflzbFwO@!yazb4@y?mcraARsmwP8Zka$i\u003cwaz2C3dgfT7wgm\u0026)wmY*(A+O#]c)A\u003eGwO@Sjz!\u0026{4az2C3AbPDdBrCpsaAIvqCoysiwftq6BywS{wGV8ezdNTdBrCpsay/tcw[+[2A+e=9efFLEzEW^5z/c%L3lQEk",
            "ln": 9820,
            "col": 16,
            "line": 317
          },
          {
            "b": "B8$Ygz!\u0026{4uVf[9B09Q*DKp(rarR^Hwnc9{z*2YjC{2l)DKp(rarR^HarU=AyH}x\u003cwO#3$z!T9hauZ?\u003exMOuniXJcvgb**te?![jfk+YIeP+VqA+cB4arR^HarV7tarR^HEjLZFarR!Gz!\u0026{4uVG.0AbPSnwNx1[Aa%u7B6\u0026T0auZ\u002633lQEtdgdguBy!)3wn=Wfd0f3wByf9iAbY-oBs}SRz/x68wPz%9AW.traz+$avqE5[efFpJay/tdyIvv3auZ\u0026?wPI%2B9hCvz/L",
            "ln": 10820,
            "col": 9,
            "line": 347
          },
          {
            "b": "B8$Ygz!\u0026{4uVf[9B09Q*DKp(rarR^Hwnc9{z*2YjC{2l)DKp(rarR^HarU=AyH}x\u003cwO#3$z!T9hauZ?\u003exMOuniXJcvgb**te?![jflwxBarR^HarV7tarR^HEjLZFarR!Gz!\u0026{4uVG.0AbPSnwNx1[Aa%u7B6\u0026T0auZ\u002633lQEtdgdguBy!)3wn=Wfd0f3wByf9iAbY-oBs}SRz/x68wPz%9AW.traz+$avqE5[efFpJay/tdyIvv3auZ\u0026?wPI%2B9hCvz/L",
            "ln": 11569,
            "col": 9,
            "line": 372
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "ltn12.sink.table"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "ltn12.sink.table"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.find"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_nil"
            ],
            [
              "",
              "string.find"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "ltn12.sink.table"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "ltn12.sink.table"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "ltn12.sink.table"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_token_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_token_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_token_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_token_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_token_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "ltn12.sink.table"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_token_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "busted.runner"
            ],
            [
              "",
              "ltn12"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "test_support"
            ]
          ],
          "mbr": [
            "assert.are",
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.is_nil",
            "assert.is_not",
            "assert.is_not.error_log_contains",
            "assert.truthy",
            "http.request",
            "ltn12.sink",
            "ltn12.sink.table",
            "os.execute",
            "string.find",
            "table.concat",
            "test_support.login",
            "test_support.start_server",
            "test_support.stop_server"
          ],
          "tgt": [
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.is_nil",
            "assert.is_not.error_log_contains",
            "assert.truthy",
            "assert_token_endpoint_call_contains",
            "describe",
            "http.request",
            "it",
            "ltn12.sink.table",
            "os.execute",
            "require",
            "string.find",
            "table.concat",
            "teardown",
            "test_support.login",
            "test_support.start_server"
          ],
          "funcs": [
            [
              "assert_token_endpoint_call_contains",
              139
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 15,
              "call_count": 177,
              "node_count": 3337,
              "member_count": 16,
              "max_array_length": 4,
              "max_member_depth": 3
            },
            "file": {
              "size": 12181,
              "entropy": 4.59
            },
            "text": {
              "lines": 393,
              "top_char": 101,
              "digit_ratio": 0.02,
              "space_count": 1923,
              "char_entropy": 4.59,
              "unique_chars": 53,
              "top_char_null": 0,
              "import_density": 1.02,
              "string_density": 0.28,
              "top_char_ratio": 0.09,
              "avg_line_length": 29.99,
              "max_line_length": 121,
              "empty_line_ratio": 0.06,
              "last_line_length": 4,
              "whitespace_ratio": 0.19,
              "identifier_density": 1.5,
              "line_length_stddev": 23.44,
              "max_whitespace_run": 2,
              "normalized_import_count": 0.2,
              "normalized_string_count": 5.6,
              "repeated_char_sequences": 1,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 6.15
            },
            "binds": {
              "count": 41
            },
            "binary": {
              "peak_region_bytes": 12181,
              "peak_region_entropy": 4.64
            },
            "source": {
              "function_count": 1
            },
            "imports": {
              "count": 4,
              "third_party_count": 4,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 3459,
              "count": 111,
              "url_count": 21,
              "avg_length": 31.16,
              "max_length": 88,
              "avg_entropy": 3.51,
              "entropy_stddev": 0.52
            },
            "functions": {
              "count": 1
            },
            "identifiers": {
              "count": 590,
              "unique": 53,
              "avg_length": 9,
              "max_length": 37,
              "min_length": 1,
              "avg_entropy": 2.4,
              "reuse_ratio": 0.09,
              "length_stddev": 7.22,
              "has_digit_ratio": 0.02,
              "sequential_names": 1,
              "single_char_count": 2,
              "single_char_ratio": 0.04,
              "high_entropy_count": 2,
              "high_entropy_ratio": 0.04,
              "all_lowercase_ratio": 0.98,
              "all_uppercase_ratio": 0.02,
              "numeric_suffix_count": 1,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 19,
        "mol": "H₃(Cm₅DbPo)Md₂(InPa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/access_token_access_spec.lua",
        "pid": 0,
        "risk": 5,
        "sha": "55713d8185e0eb26f43468b4b76869f62e318fed124abe41349316936e7cb150",
        "size": 12181,
        "supp": [
          {
            "by": [
              {
                "id": "metrics"
              }
            ],
            "id": "metadata/file/profile/identifier-population::low-identifier-reuse",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "path"
              }
            ],
            "id": "micro-behaviors/communications/http/url/scheme::cleartext-http-url-code-literal",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                22,
                11
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "spans": [
              [
                350,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                521,
                29
              ],
              [
                6516,
                22
              ],
              [
                8054,
                16
              ],
              [
                10884,
                26
              ],
              [
                11633,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-secret-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "OAuth client_secret field",
            "spans": [
              [
                4345,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-refresh-grant-type",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth refresh_token grant type",
            "spans": [
              [
                4146,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                495,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/services/artifactory::nonexpiring-token-request-field",
            "conf": 0.95,
            "crit": 3,
            "desc": "Artifactory token request disables expiration",
            "spans": [
              [
                3609,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                521,
                16
              ],
              [
                9884,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::client-id-field-name",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a client_id field name",
            "spans": [
              [
                4211,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::lua-os-execute",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua os.execute() function call",
            "spans": [
              [
                3713,
                10
              ]
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "spans": [
              [
                121,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/ltn12::ltn12",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ltn12",
            "spans": [
              [
                104,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "spans": [
              [
                66,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                586,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                1327,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                254,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "spans": [
              [
                582,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)zkBz@u=aAz4kB.L(cc)A.Jv@2T$e[/uGA3u.ry\u0026r/(y-)?hB97=gB-qqrA=-A!aAz4kB.L(cc)A+AB97=gB-qqrA=-GO3uxY$B.L(casySvB97#7e](8LzE)\u0026oc[bGgwmY*(A+O#]c)AwqaARpdA+cwcB0a[eayO=4x)a5gzF%zAwQ5fdA+e=7y\u0026r%2zxZROw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxgF3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)7oayuVxv@Dp3x\u003equdjS[\u0026TB97=gB-qqrA=-{Iz!A^4c[bGCaz+$avqE5[efG1QvruTkauZ\u0026XBAzEOA+flkwPI@wDKp(rarU/Ey-\u003e\u003e-b4#7uA5]T9y\u0026r/(y?N:dBt4fow)]*#Bt4.Wed9HxarUYownc6}v@@?Razb4#B7D)farR^HxK$Q.wPz\u0026mjS]7]v@Dp3x\u003enzIay/tdyIvv3aBL^FarV7Y3lQE9BsntJzY\u003c7iwnc6}v@@\u0026iv}fU4B0bysaARpdaz$+nBrC74y?$pDazb+lv@#B6zyu}varR^HvrlH3A=-{xA+c\u003emADLYaB0@^$fF1t/ByxolB14Csaz2C3dgdgux(\u003e:EBzbkdvpJ!UB8@ECz!\u0026{4azC)tA+funA=bD0ayYQsvrDW9wO#Q7v{%E\u003ca$K\u003cGB-7Yhx(v(qdgdguarU9lB7Gxle[]xlzF%RHwPz*f",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "Bzbl6Bzkk[By=O9x\u003eh9eBrCQnBAIRwayPekayO+\u0026wPI]nBz\u003e@azxZIparUlkwgm\u003c%zE+g63n0?LB7F]9xMOunB2\u003e%cxk8E3BZ=$kz/4dNzddEbDt^XjfkL=tePLAzBA]DRAaJ{3wmEobB8#FnB1Ym6f:.D5B7ol8vR3@ix\u003ewGfxK#i}azC)tvqWh@v@#BdwGU(ezy]BAAa%u7wftYbxk8lavqYP#A+fc1CoyQvay]hcvpB4:wftDdAbok#x([fpa$K\u003cGB-7Yhx(v(qdgdguBy/JnuVQveAbP=se]#byA=+VfwPz%9AWVnwarR^Hz!S-(uVf[9B09Q*DKp(rarR^",
            "ln": 622,
            "col": 41,
            "line": 18
          },
          {
            "b": "C{j^Zw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxhC3lQDlaARKqwO$\u003c}wPI*ezGxw@wQ5fdA+fr0x(k4RatscBaBLWCarU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuVP!0C4CXy3lQEcz!0i(ayuVxuO0sfz/oA9wPF$SaARgoByf9iAbY-oBs}xFxk8lidgdguz/WKxCX7xcBy=\u003cAB8kA0A3c\u003e/h6KERarUGsv{%f@uO0svByxolB09Q*xMOune]\u003eJyB.bSod0(pzarR!HA+(\u003cYar\u003eGvBz%n]fkLMpvqGQ}B966CwObv[y\u0026?sLa$K6zarR!EwN]H}wN/*8jS[uBy\u0026:es3lQDlazts{wmY!5auZ\u0026]ay+",
            "ln": 1509,
            "col": 90,
            "line": 44
          },
          {
            "b": "zyu}varR^HvrlH3A=-{BA=M8suU\u003cT[uT[1(Byw)3B0@kMwPq\u003c7B95Klz!abow]zYjBz\u003e@azxJIdwn(E3zGE1hvqG:vatbcRA:-\u003ccuVZNjwJ+6Bw].E7xKt\u003e1yH}xodK3qGarUlkwgm\u003cdat2e/Bz\u003e@azxJIdwn(E3zGE1wwPI*ezGxwiv@DmbvqfR2azCveBz\u003e@azxJzlay]4}vrDyd3lQE9Brz$QBzbkdx\u003eeudz!\u0026{4azkncB0bHmw].E7xK$Y#efFLEzEW^5z/c%L3lQDlayPtjwPz\u003e",
            "ln": 1976,
            "col": 41,
            "line": 59
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "os.execute"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "busted.runner"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "test_support"
            ]
          ],
          "mbr": [
            "assert.are",
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.is_not",
            "assert.is_not.error_log_contains",
            "http.request",
            "os.execute",
            "test_support.login",
            "test_support.start_server",
            "test_support.stop_server"
          ],
          "tgt": [
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.is_not.error_log_contains",
            "describe",
            "http.request",
            "it",
            "os.execute",
            "require",
            "teardown",
            "test_support.login",
            "test_support.start_server"
          ],
          "metrics": {
            "ast": {
              "max_depth": 14,
              "call_count": 100,
              "node_count": 1810,
              "member_count": 10,
              "max_array_length": 3,
              "max_member_depth": 3
            },
            "file": {
              "size": 6970,
              "entropy": 4.57
            },
            "text": {
              "lines": 206,
              "top_char": 101,
              "digit_ratio": 0.01,
              "space_count": 1029,
              "char_entropy": 4.57,
              "unique_chars": 48,
              "top_char_null": 0,
              "import_density": 1.46,
              "string_density": 0.33,
              "top_char_ratio": 0.1,
              "avg_line_length": 32.83,
              "max_line_length": 106,
              "empty_line_ratio": 0.04,
              "last_line_length": 4,
              "whitespace_ratio": 0.18,
              "identifier_density": 1.49,
              "line_length_stddev": 24.85,
              "max_whitespace_run": 1,
              "normalized_import_count": 0.21,
              "normalized_string_count": 4.74,
              "normalized_unique_identifiers": 4.03
            },
            "binds": {
              "count": 20
            },
            "binary": {
              "peak_region_bytes": 6970,
              "peak_region_entropy": 4.63
            },
            "imports": {
              "count": 3,
              "third_party_count": 3,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 2248,
              "count": 68,
              "url_count": 9,
              "avg_length": 33.06,
              "max_length": 80,
              "avg_entropy": 3.47,
              "entropy_stddev": 0.54
            },
            "comments": {
              "chars": 173,
              "count": 3,
              "lines": 3,
              "url_count": 2,
              "to_code_ratio": 0.01
            },
            "identifiers": {
              "count": 306,
              "unique": 31,
              "avg_length": 11.19,
              "max_length": 37,
              "min_length": 1,
              "avg_entropy": 2.49,
              "reuse_ratio": 0.1,
              "length_stddev": 9.73,
              "single_char_count": 1,
              "single_char_ratio": 0.03,
              "high_entropy_count": 5,
              "high_entropy_ratio": 0.16,
              "all_lowercase_ratio": 1,
              "all_uppercase_ratio": 0.03,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 22,
        "mol": "H₂(Cm₆Po)Md₂(InPa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/token_refresh_spec.lua",
        "pid": 0,
        "risk": 4,
        "sha": "300ccf745f8eda46daa5c432d8f6566f59faa46facf935bb6b01237676529cf1",
        "size": 6970,
        "supp": [
          {
            "by": [
              {
                "id": "metrics"
              }
            ],
            "id": "metadata/file/profile/identifier-population::low-identifier-reuse",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                22,
                11
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "spans": [
              [
                108,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                329,
                26
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-refresh-grant-type",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth refresh_token grant type",
            "spans": [
              [
                2051,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                303,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/services/artifactory::nonexpiring-token-request-field",
            "conf": 0.95,
            "crit": 3,
            "desc": "Artifactory token request disables expiration",
            "spans": [
              [
                1573,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "spans": [
              [
                686,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                329,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::lua-os-execute",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua os.execute() function call",
            "spans": [
              [
                1677,
                10
              ]
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "spans": [
              [
                90,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "spans": [
              [
                66,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                449,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                794,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                2024,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "spans": [
              [
                423,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "id": 23,
        "mol": "H(Cm₃)Md(Pa)",
        "sha": "5e7ecff16eb69adac451da049f91424178f1c296d4e9e667e7ac1e5363730a1b",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/userinfo_spec.lua",
        "risk": 2,
        "size": 6083,
        "type": "lua",
        "depth": 1
      },
      {
        "id": 24,
        "mol": "H(Cm₈)Md₂(InPa)",
        "sha": "efb172dbd67c4f632b8ee946f90f928ee23514ff335b866d044d193a493371a6",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/bearer_token_verification_spec.lua",
        "risk": 3,
        "size": 24514,
        "type": "lua",
        "depth": 1
      },
      {
        "id": 26,
        "mol": "H₂(CmDb)Md(In)",
        "sha": "a8c9186316b976da0d18c2ce86fb3d130a5b01a1ad8944c5a74dfe0a1879380f",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/sha2.lua",
        "risk": 3,
        "size": 4006,
        "type": "lua",
        "depth": 1
      },
      {
        "id": 27,
        "mol": "H(Cm₃)Md₂(InPa)",
        "sha": "bf2462b628d0d2f4b2da4eabe192ea93eab81d7dce89dc70a492e0ca4ae30580",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/logout_revocation_spec.lua",
        "risk": 3,
        "size": 3794,
        "type": "lua",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)zkBz@u=aAz4kB.L(cc)%7Ov@2T$e[/uGA3)7wy\u0026r/(y-)?hB97=gB-qqrA=-A!aAz4kB.L(cc)%aFB97=gB-qqrA=-VT3uxY$B.L(casySvB97#7e](8LzE)\u0026oc[bGgwmY*(A+O#]c)%jLwO@SfyHZ]#x(+zcx(^Y(y?mc1x(k54B-.qnA+P\u0026haAz4kB.bSocOcxLB-7Yhx(v(qdgdguBy/JnuVQveAbP=se]#byA=+VfwPz%9AWSvzarU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuVP!0C4CXy3jm)#y\u0026r/(y-)7oaAITkBAITQazts{wmY!5auZ\u0026XBAzEOA+flkwPI@wDKp(rarU/Ey-\u003e\u003e-cUNQzA5]T9f!$WufFk4if!W6Gw)]*#Bt4.-ed9HxarUYownc6}v@@?Razb4#B7CX3aBLWCarUxuc)%aIwPzu8x(+zmzY\u0026LdwmYaTxKLZ[wO#c(aAg+fvqPN$wPxdHazb+lv@#B6zyu}varR^HvrlH3A=-{CvqH1gd06GJx(mMozddJ@xEEL9vpS}\u0026B6y2dz!0i$x(v(pt}v9Ce?gvHwmYaTxKLZ[wO#c(jUwiidjCPDaz2C3dgdgux(\u003e:JBzblawGUYdaz#9uv@C)?uT)+Ty\u00260W2xjUB!wPRQ7wft\u00261A:-/@By/FuefFLEzEW^5z/c%L3lQDlayPtjwPz(Bw)]H%C{)-QA+PA7e]t3sv}Wo7wNPaXA=UCjy\u0026r/(BzkVhcTwnCcOu(Uz!9A^v}Yp!y?mG%wNxp=BzbP6jUwiidjCPDaz2C3dgfT7wgm\u0026)wmY*(A+O#]c)%jLwO@SfyHZ]#x(+zdzEE0\u003cwN(]$zxJwgBzbPkx)KtkA+flkwPI@vefFLEzEW^5z/c%L3lQEkwPI%2B9hCvz/P}LB97\u0026hByf92A=#2md0](DwmF$+Ac8",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "A=-{BA=M8suU\u003cT[uT[1(Byw)3B0@kgwN/p=C4ChbBz\u003e@azxJ$hADL\u0026lBugJ%dK2#/e*8oTatbn?a$+t?ed9HxarR^HarR^HarR^HarR^HarR^HarR^HarR!pvrl0!x-",
            "ln": 1309,
            "col": 8,
            "line": 38
          },
          {
            "b": "c)@vHefDq[cN/ylzE:7YwmY*(A+O#]c)%jLwO@SfyHZ]#x(+zcx(^Y(y?mc1vqYP#BzbkdBz\u003e@azxJIdwn(E3zGE1nB0bgmC5Iecwg5]Jw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxgF3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#a",
            "ln": 1786,
            "col": 32,
            "line": 52
          },
          {
            "b": "A=#2mdgdguBy/JnuVQveAbP=se]kDsx(ksF3lQE9BsntPxK@rbwPq\u003c7B95Knz!j0ccV*Fvz/fV9x(k54ay/t2wNxQ(A+Pc1wPw$Cazb+lv@#B6zyu}varR^HvrlH3A=+Vgz!\u0026{4uUaa=AbPDdByeJ^y\u00260D?z!j0cByeJ@zGGr3zyu\u003e+dR0ycwNxQ(A+Pc1wPx{^dKMULarUlkwgm\u003c%zE+g63s)Z?v@=o)wHF{IxK#67Abe@{azC)twO${=y?mc1vqYP#BzbkdBz\u003e@azxJIdwn(E3zGE1nB0bgmC5Iecwg5]Jw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxhCz!S.",
            "ln": 1942,
            "col": 32,
            "line": 57
          },
          {
            "b": "B1wBYB97\u0026jwHw]larUGsv{%f@v@C)?uT)+Ty\u00260W2xjShGaARgoByf9iAbY-oBs}iDvpyS#wNPaXA=S=OcU479wNw}XvqG:\u003ezF9JddgdguBy/JnuVQveAbP=se]\u003eJox(!xcA:JZ5zEWlaxK$Q.wPz\u0026v3lQE8BAzEOA+flkwPI@wDKp(rarR^HarU/Ey-\u003e\u003e-b4#7uA5]T9f!$WufFk4if!W6Gw)]*#Bt4VCwnc6}v@#72A+N:Fz!9Axw]zPmB97\u0026jwJ.jWe?On/Byxo5ed9HxarR^HarUuevpS}\u0026B09Q*DMV*pz!\u003c5#auZ\u0026?wPI%2B9hCvz/P}LwQ5rqvpKy^v@Dp3x\u003equlxK$Q.wPz\u0026vaBL^FarR^HarR^HA+e=}A+e:5auZ\u0026VvqH0@3lQEtdgcz8az+$avqE65z!ygQaARgoByf9iAbY-oBs}xFvpQ=gflz5IflpYBC4CXEy\u0026r%cfj/fAz/NEDz!ymy3lQEcz!0i(ay/t2wNxQ(A+Pc1wPw[Raz+$ei=eqEv}WnrqE%uHx)a5#aARKqwO@ShwPq\u003c7B96C=e?gvHwmYa\u003ewPzG%x\u003eqrFc%H18t}EHfcm\u0026BIdgdgux(\u003e:JBzbkdA+flkwPI@ov@DmbvqfR2ayMy5z!9A^C4CYdw[+*%cOcxLB-7Yhx(v(qdgdguarU9lB7Gxle{8bRBzb}Fv@C)?uV{13x\u003ez6\u003cAW.traz2C3dgdgux(\u003e:JxKL%}x(mMaBzbkdv@C)?aA?spx\u003ez6\u003cAV/gfvpTB4Bz\u0026pzxK@q@xKLZ[wO#c(cOcxLB-7Yhx(v(qdgdguarUGsv{%f@v}Yp!y?mG%wGTbUvrk^+vrl0rg:(\u003cLwmYaTxKLZ[wO#c(dgdguarUGsv{%f@xKL%}wN]d\u003ewPzG%x\u003eqrcjS(d[wPq\u003cbA+cvvze0\u0026#cN*VShz=*gA+flkx(W=ccV-%fgaaI6vTi6bB0$KpwmYa\u003ewPzG%x\u003eqrldgdguarU9lB7Gxle[5^ie[G3BvqH0kxKL%}wN]d\u003ewPzG%x\u003eqroay/7[y\u00260W2xjSI0arUlkwgm\u003c%zE+g63s)Z?v@=o)wHF{IxK#67Abe@{azC)twO${=y?mc1w]zYjzfoVpx(E)1ayPzmxM4{9Dsp]fz/cXrwPq\u003c7B98ECx(k5nxK@rcvqPM#B7GAlx(v(pefFLEzEW^5z/c%L3lQEkwPI%2B9hCvz/P}LB97\u0026hByf92A=#2md0]\u003e",
            "ln": 2440,
            "col": 41,
            "line": 72
          },
          {
            "b": "uVQr$By=NTaARgoByf9iAbY-oBs}iDvpyS%x(XopuUB1VwmY!5efDrYByxo5cN/xBaz+$avqE5#x(XopuT[1+wNw}XvqG:\u003ezF9J6jS[\u0026TB97=gB-qqrA=-{DA:-A9w[=pbByeY)vpS}\u0026B1wBYv@C)?uT)+Ty\u00260W2xjSCt3lQEcz!0i(azbtdB97=0z/oA9wNxaZvpS}\u0026auZ\u0026?wPI%2B9hCvz/P}LwQ5rqvpKy^v@Dp3x\u003equlw[=pbByeY)vpS}\u0026B14C6arUGsv{%f@uO0sbefG1Bv@Dl}uUB1VwmY!5auZ\u0026XBAzEOA+flkwPI@wDKp(rarU/Ey-\u003e\u003e-b4#7uA5]T9f!$WufFk4if!W6Gw)]*#Bt4MOxK#ided9HxarUuevpS}\u0026B09Q*DMV*pz!\u003c5#auZ\u0026Vx(XopuT[1)yIvu!xK$Q.wPw]wed9HxarUYownc6}v@@?Razb4#B7CX3aBLWCarUGsv{%f@B7F\u003c1zE^9}Byxo5auZ\u0026?wPI%2B9hCvz/P}Lxl4A\u0026d05%fz/f8)xK$P",
            "ln": 3599,
            "col": 14,
            "line": 101
          },
          {
            "b": "vpS}\u0026B14Csazt\u003esA4VfxADL\u0026lBsqFyarR^HarR^HB-IpvjS\u003e}ZBAzE.fe24nh.D^pfFk7kwmYvYB.(dMA+e=}A+e:5uV*y6kvXRxwJ:TzzZGKEvru6za%nG\u003cazbtdB97=gByxo5ed9HxarR^HarUuevpS}\u0026B09Q*DMV*pz!\u003c5#auZ\u0026*wN/T@wm5?+z!\u003c5#uUB1VwmY^7EjLZFarR^HarR!EwN]H}wN/*8jS[uBy\u0026:d{arV7Y3jm)#y\u0026r/(y-)LjxcotWBy/JnuVQveAbP=se]kDmwgeSPBzU$IB7Gxn",
            "ln": 4152,
            "col": 39,
            "line": 113
          },
          {
            "b": "vruj4zxJ$hADL\u0026lBseQZw{503BzkVhc[bGCarR!yz!0i(ay/7[y\u00260W2xjShGayPs#vQTs?hz=*]x(XopuT[1+wNw}XvqG:\u003ezF9Jf3lQDlaz+$avqE61vrl9[wm6H\u003eA+Pc1wPw[RasInwADL#owGSvqx(dAedk26/g:\u003c+)wPq\u003cbA+cvvB7!#qcN*VSD30Rsc$vgawNxQ(A+Pc1wPxjG3lQDlayPtjwPz(Bvrb{iwPq\u003c3y\u0026.1rvrl9[wm6H\u003eA+Pc1wPxsA",
            "ln": 4779,
            "col": 52,
            "line": 131
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.falsy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.falsy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "string.rep"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_token_endpoint_call_doesnt_contain"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "as_base64"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are_not.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "as_base64"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "busted.runner"
            ],
            [
              "",
              "mime"
            ],
            [
              "",
              "sha2"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "test_support"
            ]
          ],
          "mbr": [
            "assert.are",
            "assert.are.equals",
            "assert.are_not",
            "assert.are_not.equals",
            "assert.error_log_contains",
            "assert.falsy",
            "assert.is_not",
            "assert.is_not.error_log_contains",
            "assert.truthy",
            "http.request",
            "string.match",
            "string.rep",
            "test_support.extract_cookies",
            "test_support.grab",
            "test_support.load",
            "test_support.login",
            "test_support.register_nonce",
            "test_support.start_server",
            "test_support.stop_server"
          ],
          "tgt": [
            "as_base64",
            "assert.are.equals",
            "assert.are_not.equals",
            "assert.error_log_contains",
            "assert.falsy",
            "assert.is_not.error_log_contains",
            "assert.truthy",
            "assert_token_endpoint_call_doesnt_contain",
            "describe",
            "http.request",
            "it",
            "require",
            "string.match",
            "string.rep",
            "teardown",
            "test_support.extract_cookies",
            "test_support.grab",
            "test_support.load",
            "test_support.login",
            "test_support.register_nonce",
            "test_support.start_server"
          ],
          "funcs": [
            [
              "assert_token_endpoint_call_contains",
              1230
            ],
            [
              "assert_token_endpoint_call_doesnt_contain",
              1427
            ],
            [
              "as_base64",
              1644
            ]
          ],
          "metrics": {
            "ast": {
              "op.gt": 1,
              "op.mod": 1,
              "op.sub": 1,
              "max_depth": 20,
              "call_count": 80,
              "node_count": 1386,
              "member_count": 19,
              "op_density.gt": 0,
              "op_density.mod": 0,
              "op_density.sub": 0,
              "max_array_length": 3,
              "max_member_depth": 3
            },
            "file": {
              "size": 5010,
              "entropy": 4.72
            },
            "text": {
              "lines": 136,
              "top_char": 101,
              "digit_ratio": 0.02,
              "space_count": 667,
              "char_entropy": 4.72,
              "unique_chars": 59,
              "top_char_null": 0,
              "import_density": 3.68,
              "string_density": 0.41,
              "top_char_ratio": 0.1,
              "avg_line_length": 35.84,
              "max_line_length": 99,
              "empty_line_ratio": 0.14,
              "last_line_length": 4,
              "whitespace_ratio": 0.16,
              "identifier_density": 1.79,
              "line_length_stddev": 28.97,
              "max_whitespace_run": 2,
              "normalized_import_count": 0.43,
              "normalized_string_count": 4.8,
              "repeated_char_sequences": 2,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 7.76
            },
            "binds": {
              "count": 24
            },
            "binary": {
              "peak_region_bytes": 5010,
              "peak_region_entropy": 4.72
            },
            "source": {
              "function_count": 3
            },
            "imports": {
              "count": 5,
              "third_party_count": 5,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 1397,
              "count": 56,
              "url_count": 7,
              "avg_length": 24.95,
              "max_length": 76,
              "path_count": 2,
              "avg_entropy": 3.03,
              "entropy_stddev": 1.24
            },
            "functions": {
              "count": 3
            },
            "identifiers": {
              "count": 243,
              "unique": 55,
              "avg_length": 9.4,
              "max_length": 41,
              "min_length": 1,
              "avg_entropy": 2.48,
              "reuse_ratio": 0.23,
              "length_stddev": 7.43,
              "has_digit_ratio": 0.04,
              "sequential_names": 1,
              "single_char_count": 2,
              "single_char_ratio": 0.04,
              "high_entropy_count": 4,
              "high_entropy_ratio": 0.07,
              "all_lowercase_ratio": 0.96,
              "all_uppercase_ratio": 0.02,
              "numeric_suffix_count": 2,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 30,
        "mol": "H(Cm₄)Md₂(In₂Pa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/pkce_spec.lua",
        "pid": 0,
        "risk": 3,
        "sha": "2a0b7e795dcd29e9fde611ff941fea6e480e253190c9de380f8a53822aa4a9f7",
        "size": 5010,
        "traits": [
          {
            "id": "metadata/import/lua/sha2::sha2",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports sha2",
            "spans": [
              [
                3181,
                4
              ]
            ]
          },
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                22,
                11
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "spans": [
              [
                108,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                297,
                26
              ],
              [
                2593,
                53
              ],
              [
                3864,
                30
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-pkce-code-challenge",
            "conf": 0.8,
            "crit": 3,
            "desc": "OAuth PKCE code-challenge field",
            "spans": [
              [
                369,
                16
              ],
              [
                461,
                16
              ],
              [
                507,
                16
              ],
              [
                606,
                16
              ],
              [
                2504,
                16
              ],
              [
                3105,
                16
              ],
              [
                3663,
                16
              ],
              [
                4843,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-pkce-code-verifier",
            "conf": 0.8,
            "crit": 3,
            "desc": "OAuth PKCE code-verifier field",
            "spans": [
              [
                2006,
                15
              ],
              [
                2082,
                15
              ],
              [
                2828,
                15
              ],
              [
                2938,
                15
              ],
              [
                2983,
                15
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-state-pair",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth redirect and state parameters",
            "spans": [
              [
                2618,
                38
              ],
              [
                4216,
                44
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-uri-parameter",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth redirect URI parameter",
            "spans": [
              [
                2618,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                271,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                297,
                16
              ]
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "spans": [
              [
                90,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/mime::mime",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports mime",
            "spans": [
              [
                3160,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "spans": [
              [
                66,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::tmp-path-content",
            "conf": 1.0,
            "crit": 2,
            "desc": "Contains a /tmp/ or /var/tmp/ path",
            "spans": [
              [
                2791,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::unix-temp",
            "conf": 0.7,
            "crit": 2,
            "desc": "Unix /tmp/ path reference",
            "spans": [
              [
                2792,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/string/file::tmp",
            "conf": 0.2,
            "crit": 1,
            "desc": "tmp literal keyword",
            "spans": [
              [
                2793,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                1838,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                1834,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                3304,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "spans": [
              [
                354,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "id": 32,
        "mol": "H₂(Cm₄Db)Md(Pa)",
        "sha": "ad4f56770f1d46b67c9a1ba8f74d48fea65000e710aee8e5b6dbb9fbb2b42aa4",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/token_request_spec.lua",
        "risk": 3,
        "size": 16258,
        "type": "lua",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)zkBz@u=aAz4kB.L(cc)A.Jv@2T$e[/uGA3u.ry\u0026r/(y-)?hB97=gB-qqrA=-A!aAz4kB.L(cc)A+AB97=gB-qqrA=-GO3uxY$B.L(casySvB97#7e](8LzE)\u0026oc[bGgwmY*(A+O#]c)A\u003eGwO@SjxK@r2wm6B%yH}xaz^)/%x(mG)azbUjz6i}lwGV8kyH}xawO#3$z!T9hay]z4B8AvEay/tcByw)3ayPdgx(!trv@bN/z6yIrarR^HarR^Hazb+lv@#B6zyu}varU=qB97=gB-qqrA=-{PByxiiuVP!0",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "C4CXy3lQEcz!0i(ayuVxB97\u0026jB-OV*aARgoByf9iAbY-oBs}xFxk8lidgdgux(\u003e:Ey\u0026r%2zxJR3B0b76x(4u\u003ea$K\u003cGB-7Yhx(v(qdgdguarU9lB7Gxle[5^ie[G3BvqH0kg+ZTnaAITkBAITN3lQE5zE+g6arUxuc)A8qaz2Olz/M$qwPI{3xjR",
            "ln": 326,
            "col": 33,
            "line": 10
          },
          {
            "b": "AbP=se]#byA=+VfwPz%9AWVnwarR^Hx\u003egN)z!\u0026{4auZ\u0026]azC[rauZ?\u003ezF%Rty\u0026r/(y?N:dBrR\u0026Q3lQEtdgdguBy!)3wn=Wfd0f3wByf9iAbY-oBs}SRz/x68wPz%9AW.traz+$avqE5[efG1QvruTkauZ\u0026?wPI%2B9hCvz/P}Ly\u0026r%2zyu}varUxuc)AFCx8",
            "ln": 733,
            "col": 11,
            "line": 22
          },
          {
            "b": "arR^HarUoszEW^5z/c%L3lQEgwO#3)zF7vwzE)x\u0026aARJAvpS)\u003eB9hCvz/P}xw]zYjA+f9aC4\u003e\u0026bay/j@x(d]ndgdguBy/JnuVQveAbP=se]#byA=+VfwPz%9AWVnwarR^HA+f9aC4C2{wm6B%yH}x\u003cv@bN/zf3*.aBtjPB9g}oaBKOtaBLWCarU+",
            "ln": 1214,
            "col": 4,
            "line": 36
          },
          {
            "b": "c[bGCaARg6A+69jzyxQrB97=gB-qqrA=-{PBz(b9B7GxnwPxjbarUGsv{%f@uO0sbefFRqvpS}\u0026B09Q*xMOune]\u003eJyB.bSod0(pzarR!HA+(\u003cYar\u003eGvBz%n]fkLMpvqGQ}B966CwObv[y\u0026?sLa$K6zarR!EwN]H}wN/*8jS[uBy\u0026:d{arV7Y3lQEcz!0i(aAITkBy=NTaARgoByf9iAbY-oBs}iDvpyS#wNPaXA=S=OcV:xrBy=*G3lQEkwPI%2B9hCvz/P}LA+e($B97#luV6!1v}v6ny\u0026r/(BzkVhjS\u003e}^z/f5@jZ}\u0026gb7g)EarU2xaAITkBAITQayulOazt\u003esA4VfxADL\u0026lBsqFyarR^HarR^HB-IpvjS\u003e}ZBAzE.fe4cWv{%g!z/Z1NwmYvYB.(dMA+e=}A+e:5uV*y6kvXRxwJ:TzzZGKEvru6za%nG\u003caAITkBy^0garR^HarR^HxK$Q.wPz\u0026mjS]7]v@Dp3x\u003enzIaARgoByf9iAbY-oBs}cHBAg/1ByeJ@z!\u003c5#B0$ZkvpS}\u0026B15kWed9HxarR^HarUYownc6}v@@?Razb4#B7CX3aBLWCarUxuc)AFCxk8laxKL%8w)]y\u0026wN(#oaz7",
            "ln": 1784,
            "col": 28,
            "line": 53
          },
          {
            "b": "v@DmbvqfR2c)AwyazCv[Bz\u003e@azxJUmaz#ataz2LnvqE6dzY\u003cdnwGU(ezEWl2Bzb98aA}mnaAIaiBrCpnaARpdaAz4kB.bSoa$i\u003cwaz2C3dgfT7wgm\u0026)wmY*(A+O#]c)A\u003eGwO@SjxK@r2wm6B%yH}xaz^)/%x(mG)azbUjz6i}lwGV8kyH}xawO#3$",
            "ln": 2399,
            "col": 22,
            "line": 70
          },
          {
            "b": "A=k$vzdN^fvp%c]xKL%8vR6a*az+$exjUP$efFLEzEW^5z/c%L3lQDlat2e/BzbxfazC)tBzbkdwPz*fAV/jgB8$=5wGUP9z/3RkBZV\u003exwPI%seOYGKaAy[jxK#ibBzb92aA8yy3lQDlat2e/z*c7wvriM9BAnNFwPzG%x\u003e7N[x(v(iv@Di}B0b7e",
            "ln": 4195,
            "col": 12,
            "line": 128
          },
          {
            "b": "Bz\u003e@azxJ\u003ebByw)3wN(]}A=k!qBzbkdBz\u003e@azxJIdwn(E3zGE1xwO2.1aARJAxKM6}az2!px(W=}ayYFnaAIvcv@0i3B0a}axcp=6z/]Yaa$K6zarR^HarR^Hw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxhC3lQDlazCv[Bz\u003e@a",
            "ln": 4438,
            "col": 23,
            "line": 135
          },
          {
            "b": "w/#hewGUX$uVZj4wO@SevSV3)zE)u3w].*baARpdaARKqwO@S4zE^Z8x(n2nwn=42zyoJGv@DmbvqfQ4v@b\u003c\u003czGGl1wfJMiarR^HarR^Hazb+lv@#B6zyu}varU=qB97=gB-qqrA=-{PByxiiuVP!0C4CXxDKp(rarUxeuVZj4wO@RNaBtktBZ#QTar\u003eYwBrC7fx\u003eqg7uUK3{aBKOtaBLWCarU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuJ",
            "ln": 5336,
            "col": 44,
            "line": 163
          },
          {
            "b": "B7GxnwPxhC3lQDlazMaxuVP{]zEmD@v@=d5auZ?\u003eB7F\u003c4wPPaE3lQDlaARKqwO$\u003c*wNPaXAV^H/DKp(rarR^HvqGN0jS\u003e}tq.*i*a$K6zarR!P3lQEtdgdguBy!)3wn=Wfd0f3wByf9iAbY-oBs}SRz/x68wPz%9AW.traz+$avqE5[efG1QvruTkauZ\u0026?wPI%2B9hCvz/P}Ly\u0026r%2zyu}varUxuc)AFCxk8laxKL%8w)]y\u0026wN(#oazb+lv@#B6zyu}vao",
            "ln": 6779,
            "col": 22,
            "line": 206
          },
          {
            "b": "zEW^5z/c%L3lQDlayPtjwPz(BwPz*fA:JT3xj2d!zGGr3zGviIqD2\u003e7yH}=lCwhejazCvewmG4Saz#atazbLmzE:}u3lQE5zE+g6wO#3c3jprPB7ol8vR3@iCw7M9aARpdazCveBz\u003e@azxK1mxkRd1B-I4oB-RbnayMylD2mzfBAh89ayP80z/PMl",
            "ln": 7524,
            "col": 44,
            "line": 233
          },
          {
            "b": "w{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxhC3lQDlazMaxuVP{]zEmD@v@=d5auZ?\u003ev@b\u003c\u003czGGlbwN/:(BrSmyarR^HBz\u003e@azEm6*vpS}\u0026auZ\u0026]3lQDlarR!ny?B\u003eNar\u003cuPgbQ%led9HxarV7-3lQEtdgdguBy!)3wn=Wfd0f3wByf9iAbY-oBs}SRz/x68wPz%9AW.traz+$avqE5[efG1QvruTkauZ\u0026?wPI%2B9hCvz/P}LyY",
            "ln": 7677,
            "col": 68,
            "line": 238
          },
          {
            "b": "aA.NyB-qqrA=+(6ayP80z/PMlxL!}Aazb+lv@#B6zyu}varUiaB7ol8vR3@ivqYP#vpJ!UAcbDfzGx@tAbP=swN]dRy?B(8B0bvsBrCToBrSmUw{503BzkVhc[bGCarR!GwPI%2B9hCvz/P}LB97\u0026hByf92A=#2md0(pzarR^Hazb4$wNxdZuVZh",
            "ln": 8018,
            "col": 48,
            "line": 252
          },
          {
            "b": "wGTbUb6m\u003cFwG\u0026VjarR^HarUPpwmF$+AccdzjS]7UarR^HarR^Hwnc9{z*2YjC{2l)DKp(rarR^HarR^Hx\u003egN)z!\u0026{4uVP{]zFs03uTW+-uV]\u003c]B.bS3B9hCvz/P@hwfs2TDMTH#lnyzRa%qpvarR^HarR^HEf}8tarR^HEf}8tarV7Y3lQDlaARg6A+69jzyxQrB97=gB-qqrA=-{PBz(b9B7GxnwPxjbarR^Hy\u0026r/(y-)7oaAITkBAITEjS[\u0026TB97=gB-qqrA=-{Iz!A^4c[bGCarR!vBsns",
            "ln": 8177,
            "col": 29,
            "line": 255
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "pending"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.grab"
            ],
            [
              "",
              "test_support.register_nonce"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "test_support.extract_cookies"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "os.time"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "os.time"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "os.time"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "os.time"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "test_support.login"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "busted.runner"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "test_support"
            ]
          ],
          "mbr": [
            "assert.are",
            "assert.are.equals",
            "assert.error_log_contains",
            "http.request",
            "os.time",
            "test_support.extract_cookies",
            "test_support.grab",
            "test_support.login",
            "test_support.register_nonce",
            "test_support.start_server",
            "test_support.stop_server"
          ],
          "tgt": [
            "assert.are.equals",
            "assert.error_log_contains",
            "describe",
            "http.request",
            "it",
            "os.time",
            "pending",
            "require",
            "teardown",
            "test_support.extract_cookies",
            "test_support.grab",
            "test_support.login",
            "test_support.register_nonce",
            "test_support.start_server"
          ],
          "metrics": {
            "ast": {
              "op.add": 2,
              "op.sub": 2,
              "max_depth": 20,
              "call_count": 199,
              "node_count": 3277,
              "member_count": 11,
              "op_density.add": 0,
              "op_density.sub": 0,
              "max_array_length": 3,
              "max_concat_chain": 2,
              "max_member_depth": 3
            },
            "file": {
              "size": 12657,
              "entropy": 4.57
            },
            "text": {
              "lines": 386,
              "top_char": 101,
              "digit_ratio": 0.02,
              "space_count": 2130,
              "char_entropy": 4.57,
              "unique_chars": 61,
              "top_char_null": 0,
              "import_density": 0.78,
              "string_density": 0.33,
              "top_char_ratio": 0.08,
              "avg_line_length": 31.79,
              "max_line_length": 139,
              "empty_line_ratio": 0.06,
              "last_line_length": 4,
              "whitespace_ratio": 0.2,
              "identifier_density": 1.31,
              "line_length_stddev": 26.96,
              "max_whitespace_run": 1,
              "normalized_import_count": 0.15,
              "normalized_string_count": 6.46,
              "repeated_char_sequences": 3,
              "trailing_whitespace_lines": 1,
              "normalized_unique_identifiers": 5.47
            },
            "binds": {
              "count": 27
            },
            "binary": {
              "peak_region_bytes": 12657,
              "peak_region_entropy": 4.6
            },
            "imports": {
              "count": 3,
              "third_party_count": 3,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 4221,
              "count": 127,
              "url_count": 2,
              "avg_length": 33.24,
              "max_length": 110,
              "avg_entropy": 3.35,
              "entropy_stddev": 0.75
            },
            "comments": {
              "chars": 97,
              "count": 2,
              "lines": 2,
              "to_code_ratio": 0.01
            },
            "identifiers": {
              "count": 507,
              "unique": 47,
              "avg_length": 9.55,
              "max_length": 37,
              "min_length": 1,
              "avg_entropy": 2.47,
              "reuse_ratio": 0.09,
              "length_stddev": 7.6,
              "single_char_count": 1,
              "single_char_ratio": 0.02,
              "high_entropy_count": 6,
              "high_entropy_ratio": 0.13,
              "all_lowercase_ratio": 1,
              "all_uppercase_ratio": 0.02,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 34,
        "mol": "H₂(Cm₆Db)Md₂(InPa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/id_token_validation_spec.lua",
        "pid": 0,
        "risk": 4,
        "sha": "4e1f45c6195e5cda1075d36b5754315fbdf56b2eb4ac8df75780c5db3bc3fa80",
        "size": 12657,
        "supp": [
          {
            "by": [
              {
                "id": "metrics"
              }
            ],
            "id": "metadata/file/profile/identifier-population::low-identifier-reuse",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                22,
                11
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "spans": [
              [
                108,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename"
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-signing-algorithms-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Declares OIDC token-signing algorithms",
            "spans": [
              [
                8241,
                39
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/jwt::jwt-hs256-algorithm-field",
            "conf": 0.97,
            "crit": 3,
            "desc": "JWT selects HS256 for token signing",
            "spans": [
              [
                6847,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                1874,
                26
              ],
              [
                2083,
                53
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-secret-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "OAuth client_secret field",
            "spans": [
              [
                7741,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-state-pair",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth redirect and state parameters",
            "spans": [
              [
                2108,
                38
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-uri-parameter",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth redirect URI parameter",
            "spans": [
              [
                2108,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                1848,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                1874,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::client-id-field-name",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a client_id field name",
            "spans": [
              [
                5400,
                9
              ]
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "spans": [
              [
                90,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "spans": [
              [
                66,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                123,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                8066,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                2447,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "spans": [
              [
                4486,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                1262,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                7572,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                4243,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "spans": [
              [
                374,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "id": 35,
        "mol": "H₂(Cm₅Db)Md₂(InPa)",
        "sha": "922098b2b95c3634c41b47349d7c2e028b619fed2c1a7a481d251a119b7bb47c",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/logout_spec.lua",
        "risk": 4,
        "size": 25313,
        "type": "lua",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)zkBz@u=aAz4kB.L(cc)A.Jv@2T$e[/uGA3u.ry\u0026r/(y-)?hB97=gB-qqrA=-A!aAz4kB.L(cc)A+AB97=gB-qqrA=-GO3t:S\u003cvqE65Bz-/*auZ\u0026/wPq\u003cbA+cTyy\u0026\u003cLHg9OdOA+flkx(W=ccT}jtBy!#nA=(nqwPxdDdgcz)wPIv4x\u003c$T4b6NZizxJv$v}x.5x(mMaBzbkdAb](swN/*[wft]7B8Mhwv}u^bx([2hB-7SgBzb2\u0026v@#B6zxK1iBrCWzaAg+gB0rdTw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxhC3lQDlaA.NgB-.q7vpKy[z/cWXar\u003e=kB8@JjarV7Y3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)kazGGDcByfb#vR/P#jS]913lQEcz!0i(ayuVxB97\u0026jB-P8RxK$Q.wPz\u0026mjS[AWBz@\u003cMwPq\u003c7B95*S3lQDlaA.ZvauZ?\u003exMOuniXJcvgb**te?![jfjXTavrDydflwx?3lQDlaAz47x(W={BrAZ?w)]H%wH[fharR!Fx(mYejS[M.zzr[0B7]Jce{7Jhy?k28z/fVdzGGlcvpB4:dgdguEjkHCazC{Cb5y?jB0bNrwGV28ADL\u0026lBrCKhB8@ECxMw3lxj@Fuazb+lv@#B6zyu}varR^HvrlH3A=-{xA+c\u003emADLYaB0@^$fF1t/ByxolB14CsarR!nB8$]kBs}0xwIdLlBZY9cc)Atoy\u002612vaA}:Ay?aX]zxZROBywS{wIdFhzEW9%c$vgkBy/uiuVYZ=y?k4A3lQE5zE+g6arUxuc)AbyBrCEtayO+\u0026wPI]nBz\u003e@azxJR3B0a}6wO@SfA=lbnwmYo}efFLEzEW^5z/c%L3lQDlayPtjwPz(BwPz*fA:JT3xj2d!zGGr3zGviIvrDW9wO#Q7v{%E\u003cay]g%zyoJGA+funA=91dzH0vkv}f7\u003eB0bNyyH}xcdgdguwO#3c3t19=dgcz)wPIv4x\u003c$T4b6NZizxJv$v}x.5x(mMaBzbkdAb](swN/*[wft]7B8Mhwv}u^bx([2hB-7SgBzb2\u0026v@#B6zxK1iBrCWzay]53C{j^Zw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxhC3lQDlaA.NgB-.q7vpKy[z/cWXar\u003euczH0AkarV7Y3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)kazGGDcByfb#vR/P#jS]913lQEcz!0i(ayuVxB97\u0026jB-P8RxK$Q.wPz\u0026mjS[AWBz@\u003cMwPq\u003c7B95*S3lQDlaA.ZvauZ?\u003exMOuniXJcvgb**te?![jfjXTavrDydflwx?3lQDlaAz47x(W={BrAZ?w)]H%wH[fharR!Fx(mYejS[M.zzr[0B7]Jce{7Jhy?k28z/fVdzGGlcvpB4:dgdguEjkHCazC{Cb4j$\u003ewPI]nx(+zcwO#i[wfJMEw{503BzkVhc[bGCarR!nB8$]kBs}0xwIdLlBZY9cc]rRjefG1QvruTkdgdguwO#3c3lQE9BsntwzxJIhA=k$vxKL%8vR6a*az+$exjUP$efFLEzEW^5z/c%L3lQDlayPtjwPz(BwPz*fA:JT3xj2d!zGGr3zGviIvrDW9wO#Q7v{%E\u003cazb4@y?mcraA.NgB-.qnA+P\u0026hwft]7ADL\u0026lBrSdvarUlkwgm\u003c%zE+g6",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "ltn12.sink.table"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "ltn12.sink.table"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "busted.runner"
            ],
            [
              "",
              "ltn12"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "test_support"
            ]
          ],
          "mbr": [
            "assert.are",
            "assert.are.equals",
            "assert.error_log_contains",
            "http.request",
            "ltn12.sink",
            "ltn12.sink.table",
            "table.concat",
            "test_support.start_server",
            "test_support.stop_server"
          ],
          "tgt": [
            "assert.are.equals",
            "assert.error_log_contains",
            "describe",
            "http.request",
            "it",
            "ltn12.sink.table",
            "require",
            "table.concat",
            "teardown",
            "test_support.start_server"
          ],
          "metrics": {
            "ast": {
              "max_depth": 15,
              "call_count": 25,
              "node_count": 414,
              "member_count": 9,
              "max_array_length": 3,
              "max_member_depth": 3
            },
            "file": {
              "size": 1400,
              "entropy": 4.61
            },
            "text": {
              "lines": 43,
              "top_char": 116,
              "digit_ratio": 0.03,
              "space_count": 186,
              "char_entropy": 4.61,
              "unique_chars": 44,
              "top_char_null": 0,
              "import_density": 9.3,
              "string_density": 0.4,
              "top_char_ratio": 0.1,
              "avg_line_length": 31.56,
              "max_line_length": 91,
              "empty_line_ratio": 0.05,
              "last_line_length": 4,
              "whitespace_ratio": 0.16,
              "identifier_density": 1.6,
              "line_length_stddev": 23.44,
              "max_whitespace_run": 1,
              "normalized_import_count": 0.61,
              "normalized_string_count": 2.59,
              "normalized_unique_identifiers": 4.42
            },
            "binds": {
              "count": 7
            },
            "binary": {
              "peak_region_bytes": 1400,
              "peak_region_entropy": 4.6
            },
            "imports": {
              "count": 4,
              "third_party_count": 4,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 441,
              "count": 17,
              "url_count": 2,
              "avg_length": 25.94,
              "max_length": 68,
              "avg_entropy": 3.2,
              "entropy_stddev": 0.69
            },
            "identifiers": {
              "count": 69,
              "unique": 24,
              "avg_length": 7.29,
              "max_length": 18,
              "min_length": 1,
              "avg_entropy": 2.28,
              "reuse_ratio": 0.35,
              "length_stddev": 3.99,
              "has_digit_ratio": 0.04,
              "single_char_count": 1,
              "single_char_ratio": 0.04,
              "all_lowercase_ratio": 0.96,
              "all_uppercase_ratio": 0.04,
              "numeric_suffix_count": 1,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 37,
        "mol": "H(Cm₄)Md₂(InPa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/unauth_action_spec.lua",
        "pid": 0,
        "risk": 3,
        "sha": "58e09b9534f6ecfc0fea6b2c528e534c877539e7589ac79f518d994855d9c514",
        "size": 1400,
        "traits": [
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                22,
                11
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "spans": [
              [
                139,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                412,
                26
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                386,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/response::http-access-is-denied-text",
            "conf": 0.7,
            "crit": 3,
            "desc": "Access-is-denied response phrase",
            "spans": [
              [
                1197,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                412,
                16
              ]
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "spans": [
              [
                121,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/ltn12::ltn12",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ltn12",
            "spans": [
              [
                104,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "spans": [
              [
                66,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                164,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                187,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "spans": [
              [
                513,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "id": 38,
        "mol": "H(Cm₄)Md₂(InPa)",
        "sha": "414e6fe75871626eb50323f8d5fcebb2d7e6d979f04df5b02ac65962765581f0",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/hello_world_spec.lua",
        "risk": 3,
        "size": 393,
        "type": "lua",
        "depth": 1
      },
      {
        "id": 39,
        "mol": "H(Cm₅)Md₂(InPa)",
        "sha": "58f7873ed5aa1ca8293f2fc49136247c6026bdc227ade8cda51956ea6cbb0291",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/form_post_spec.lua",
        "risk": 3,
        "size": 3339,
        "type": "lua",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)?hB97=gB-qqrA=-A!aAz4kB.L(cc)A+AB97=gB-qqrA=-GO3t:S\u003cvqE61BAzEAjS[=RADL#owHF:zz!0M]Bs}lGBz@AM3uxY$B.L(casySvB97#7e](8LzE)\u0026oc[bGgy\u0026r/(y-)tjzEW^5z/cXpvrbZ[AccdHwQ5rqvjqKaaz+$avqE68AccdzjS]7UarR^HB-Rb3Aa9=fjS[\u0026!B.99harR^Hwnc9{z*2YjC{2l)DKp(rarR^HAclknwN]dRB-.qnA+P\u0026dBzkVhuVGZ$B.bSouUaa=AbPDdBrAZ?b4#7uA5]T9f!$WufFk4if!WGOAW04warR^HEf}8tEf}8tx\u003ewG0CYW$maARpdzvdHearUomAV/cGaA!(wzxJ[bx(XnywQ5rqvjrsfzWEQfarR^Hz/x/ttwEH!jS[[ParR^HwO#2=arUlkwc%C4A+funA=91rAccddwO#2=3t:S\u003cvqE5#B-7Yhx(v(ivrlH3AS",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "BrCdjwn(E3zGE1hvqG:vatbb/3lQDlarR^Ve*biTe?Om\u003ce?e4@ay!\u00263wNxd?B7Glgx([6jwHN%$zE:7YwmY*(A+O#]c)A\u003eGwO@R!k#F?tB0b4ivpB4:wfJMEw{503BzkVhc[bGCaz+$avqE6cByxolB1wCEwNPaXA=RM{arU-pBAIKJw{503BzkVhc[bGCarR!GwPI%2B9hCvz/P}LB97\u0026hByf92A=#2md0(pzarR^HaA7$8v{:d[BAnM/aAg+fuVf[9B0@EAarR^HEjkHgarR^Hy\u0026r/(y-)6(arR^HuO0svByxolB1wCEwNPaXA=Su^azt\u003esA4VfxADL\u0026lBsqFyarR^HarU/Ey-\u003e\u003e-b4#7uA5]T9f!$WufFk4if!W6Gw)]*#Bt4.Wed9HxarR^HA+e=}A+e:5auZ\u0026VvqH0@3lQDlaBLWCarUlkwgm\u0026)arU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuVP!0C4CXy3jm)#x(\u003e:EAbP/tB0bNrwGUA7BzbPkx)Kifx(v(iA+flkwPI@oAa9=}zdN*2A=SvBzY\u003cdnwGT/nqxPK*wn(E3zGE6Nazb+lv@#B6zyu}varR^HvrlH3A=+VcvrbZ^zE^Z8x(n31v{%g\u0026uJ",
            "ln": 516,
            "col": 74,
            "line": 21
          },
          {
            "b": "zGviIA+frhz/fScuVZNjwJ:KwwmV@l3lQDlayPtjwPz)1Aa9=]wO#3$z!T9huT)IXy*QW\u003czGGr3zGviIv@b\u003c\u003czGGl1wiBBsx\u003eqg7uUK3{dgdguarU9lB7GxluVoB]uUaa=AbPDdByeJ^y\u00260D*z/fV9x(m#ub6dmjAaIfRatbn?By/JnuVQveAbP=se{hhJwPIu\u0026AaJx*z/Pi9wOkO0c)AOGwO#i)az2y#x(1]hA=kM7y?j!tdgdguarU9lB7GxluVoB]uUaa=AbPDdByeJ^y\u00260D*z/fV9x(m#ub64m9x(W={Byffhx*0TEarR^HarR^He?On*wPI%2B9hCvz/P}LB-IqfB7nS$wNx4/A:J\u0026#xjVrob4#7uA5]T9y\u0026r/(y?N:dBt4fow)]*#Bt4VCwnc6}v@#72A+MZDefG4PB.90earR^HvrlH3A=+VcvrbZ^zE^Z8x(n31v{%g\u0026uT[1(Byw)3B0@kNByxo5jT8rZarR^HvrlH3A=+VcvrbZ^zE^Z8x(n31v{%g\u0026uT[1(Byw)3B0@kIz/f5@jT8rZarUlkwgm\u0026)arUxuc)A!PwPF#oxK@q@z/ff3xlwlawftw#x\u003eqg7ayPzmxK#76x\u003e7N[x(v(iw]zYjBzbkdp^E#4wO#3$z!T9ha$K\u003cGB-7Yhx(v(qdgdguarU9lB7GxluVoB]uUaa=AbPDdByeJ^y\u00260D*z/fV9x(m#ub4CC6wO#P%B7F\u003c4wPQ7By?WD#Byf92v@=d5a$i\u003cwaz2C3dgcz8azC{Cb64m9x(W={BAnNDzY\u003cdnwGUA7BzbPkx)Kifx(v(iwO#3$z!T9haA}KwxDRzgwGV28ADL\u0026lByffhx^b8Jw{503BzkVhc[bGCarR!nB8$]kBs}0xwIdLlBZY9cc]iLjefG1QvruTkdgdguarU9lB7Gxle{8bRBzb}FB98CpzF7Osvru0)c$)g2wmY!5toW)4v{%E[z/c+8efDcIBAzE.fe24nh.D^pfFk7kvrDW9z/PMrwHfL[dR0pewO#P%x\u003efwpy?WD#Bye-)e?e4]dgdguarU9lB7Gxle{8bRBzb}FB98CpzF7Osvru0)d06GJx(mMoy\u0026sJeAWUQjvpS}\u0026B6x\u00268z!0i$x(v(kt}4rEa$+u=wPq\u003c7B97=iA+NVX3lQDlarR^Hatbn?B98CpzF7Or",
            "ln": 1023,
            "col": 36,
            "line": 43
          },
          {
            "b": "zEWlve?e4]dgdguarU9lB7Gxle[OKdB9PfPBAh8kxd!4fByO#jxK$Q.wPz\u0026@b5zgcvruj4zx-vqar\u0026A/A+e=}A+e:5uV*y6jUwiddjCPDarR!nB8$]kBs}fly\u0026:\u003eIB98CpzF7Osvru0)c$)g2wmY!5toW)4v{%E[z/c+8efDb?dSYYuBy^P/dK3q\u003c3lQE5zE+g63lQE9Bsntzx(^Y(y?mVgnk@L+ay!?\u0026xLzu%aA8cuBzbkdA+e=}A+e:5aAz4mAbPSnwG\u0026VFw{503BzkVhc[bGCarR!nB8$]kBs}0xwIdLlBZY9cc)ALEeN@j0xK@.qzF}aFBz(hhefF!rCR5",
            "ln": 2261,
            "col": 57,
            "line": 65
          },
          {
            "b": "x(^^5C4CYtauZ\u0026]3lQDlarR^HarR!CB-Rkcwm5+/BzbPkx)Kifx(v(@A+flkwPI%2wO#3$z!T9hauZ?\u003exMOuniXJcvgb**te?![jfk$uueIY1la$K6zarR^HarR!P3lQDlarR!PdgdguarV7Y3jm)#arUGsv{%f@uKv[#arU2xaAITkBAITQazts{wmY!5auZ\u0026XBAzEOA+flkwPI@wDKp(rarR^HB-IpvjS\u003e}ZBAzE.fe24nh.D^pfFk7kwmYvYB.(dMBrSmyarR^H",
            "ln": 3608,
            "col": 10,
            "line": 110
          },
          {
            "b": "wNxj:C{2l)By/JnuVQveAbP=se]kDmwgeSPB8UY2fk$@CC42G7uVHi@uU:j#e]Uxsa$k5IarR^HarV7Y3lQDlaBLWC3lQDlazt\u003esA4VfxADL\u0026lBsqFyarR^HarU/Ey-\u003e\u003e-b4#7uA5]T9f!$Wu",
            "ln": 4561,
            "col": 26,
            "line": 141
          },
          {
            "b": "x(^^5C4CYtauZ\u0026]3lQDlarR^HarR!CB-Rkcwm5+/BzbPkx)Kifx(v(@A+flkwPI%2wO#3$z!T9hauZ?\u003exMOuniXJcvgb**te?![jfk+YIeP+VqA+cBC3lQDlarR^HaBKOtarR^HaBLWCarR^HEjkHgarR^Hy\u0026r/(y-)6(arR^HuO0svByxolB09Q*xMOune]\u003eJyB.bSod0(pzarR^HaA.ZvauZ?\u003exMOuniXJcvgb**te?![jfjXTavrDydflwx?3lQDlarR!EwN]H}wN+",
            "ln": 6622,
            "col": 10,
            "line": 224
          },
          {
            "b": "x(^^5C4CYtauZ\u0026]3lQDlarR^HarR!CB-Rkcwm5+/BzbPkx)Kifx(v(@A+flkwPI%2wO#3$z!T9hauZ?\u003exMOuniXJcvgb**te?![jfk$uueOP9CvqGT*eOYuBzxZRsarR^HarR^HEf}8tarR^HEjkHCarR!Pdgcz8arR!yz!0i(aytD#arR!lefG1QvruTkauZ\u0026XBAzEOA+flkwPI@wDKp(rarR^HB-IpvjS\u003e}ZBAzE.fe24nh.D^pfFk7kwmYvYB.(dMBrSmyarR^HarUYownc6}v/",
            "ln": 7322,
            "col": 10,
            "line": 255
          },
          {
            "b": "x(^^5C4CYtauZ\u0026]3lQDlarR^HarR!CB-Rkcwm5+/BzbPkx)Kifx(v(@A+flkwPI%2wO#3$z!T9hauZ?\u003exMOuniXJcvgb**te?![jfk$uuePbFUA+flkwPI@BB-Igued9HxarR^HarV7tarR^HarV7Y3lQDlaBLWC3lQDlaz+$avqE5[3lQDlayuVxB97\u0026jB-OV*azt\u003esA4VfxADL\u0026lBsqFyarR^HarU/Ey-\u003e\u003e-b4#7uA5]T9f!$WufFk4if!W6Gw)]*#Bt4.Wed9HxarR^HA+e=}A+e.",
            "ln": 8008,
            "col": 10,
            "line": 285
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "par_opts"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_par_endpoint_call_contains"
            ],
            [
              "",
              "assert_par_endpoint_call_contains"
            ],
            [
              "",
              "assert_par_endpoint_call_contains"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert_par_endpoint_call_contains"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert_par_endpoint_call_contains"
            ],
            [
              "",
              "assert_par_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_par_endpoint_call_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.falsy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "assert.falsy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "assert.falsy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "assert.falsy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "par_opts"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.is_not.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "par_opts"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.find"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.find"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "par_opts"
            ],
            [
              "",
              "test_support.load"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert_par_endpoint_call_contains"
            ],
            [
              "",
              "assert_par_endpoint_call_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "par_opts"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "par_opts"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "par_opts"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "par_opts"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "busted.runner"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "test_support"
            ]
          ],
          "mbr": [
            "assert.are",
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.falsy",
            "assert.is_not",
            "assert.is_not.error_log_contains",
            "assert.truthy",
            "http.request",
            "string.find",
            "string.lower",
            "string.match",
            "test_support.load",
            "test_support.start_server",
            "test_support.stop_server",
            "test_support.urlescape_for_regex"
          ],
          "tgt": [
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.falsy",
            "assert.is_not.error_log_contains",
            "assert.truthy",
            "assert_par_endpoint_call_contains",
            "describe",
            "http.request",
            "it",
            "pairs",
            "par_opts",
            "require",
            "setup",
            "string.find",
            "string.lower",
            "string.match",
            "teardown",
            "test_support.load",
            "test_support.start_server",
            "test_support.urlescape_for_regex"
          ],
          "funcs": [
            [
              "par_opts",
              108
            ],
            [
              "assert_par_endpoint_call_contains",
              373
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 22,
              "call_count": 124,
              "node_count": 2073,
              "member_count": 15,
              "max_array_length": 3,
              "max_member_depth": 3
            },
            "file": {
              "size": 8572,
              "entropy": 4.68
            },
            "text": {
              "lines": 308,
              "top_char": 116,
              "digit_ratio": 0.03,
              "space_count": 1404,
              "char_entropy": 4.68,
              "unique_chars": 64,
              "top_char_null": 0,
              "import_density": 0.97,
              "string_density": 0.3,
              "top_char_ratio": 0.08,
              "avg_line_length": 26.83,
              "max_line_length": 140,
              "empty_line_ratio": 0.18,
              "last_line_length": 4,
              "whitespace_ratio": 0.2,
              "identifier_density": 1.04,
              "line_length_stddev": 28,
              "max_whitespace_run": 1,
              "encoded_string_ratio": 0.01,
              "normalized_import_count": 0.17,
              "normalized_string_count": 5.24,
              "repeated_char_sequences": 8,
              "suspicious_identifier_ratio": 0.07,
              "normalized_unique_identifiers": 5.44
            },
            "binds": {
              "count": 10
            },
            "binary": {
              "peak_region_bytes": 8572,
              "peak_region_entropy": 4.74
            },
            "source": {
              "function_count": 2
            },
            "imports": {
              "count": 3,
              "third_party_count": 3,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 2793,
              "count": 92,
              "url_count": 18,
              "avg_length": 30.36,
              "max_length": 129,
              "path_count": 1,
              "avg_entropy": 3.49,
              "url_encoded": 1,
              "entropy_stddev": 0.63
            },
            "functions": {
              "count": 2
            },
            "identifiers": {
              "count": 320,
              "unique": 45,
              "avg_length": 10.31,
              "max_length": 49,
              "min_length": 1,
              "avg_entropy": 2.39,
              "reuse_ratio": 0.14,
              "length_stddev": 10.57,
              "sequential_names": 3,
              "single_char_count": 4,
              "single_char_ratio": 0.09,
              "high_entropy_count": 6,
              "high_entropy_ratio": 0.13,
              "all_lowercase_ratio": 1,
              "all_uppercase_ratio": 0.02,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 40,
        "mol": "H₂(Cm₄Db)Md₂(InPa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/par_spec.lua",
        "pid": 0,
        "risk": 4,
        "sha": "087de88eaa60cd3fbf6402897052a93dda8162e875d3670ec6aa9161ae023f5a",
        "size": 8572,
        "supp": [
          {
            "by": [
              {
                "id": "metrics"
              }
            ],
            "id": "metadata/file/profile/identifier-population::low-identifier-reuse",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "metadata/package/testing/harness/runtime::is-test",
                "spans": [
                  [
                    580,
                    8
                  ],
                  [
                    908,
                    2
                  ]
                ]
              }
            ],
            "id": "micro-behaviors/fs/path/certificate::pem-file-extension-reference",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                67,
                11
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "spans": [
              [
                580,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                241,
                20
              ],
              [
                801,
                26
              ],
              [
                1316,
                37
              ],
              [
                1794,
                29
              ],
              [
                3672,
                24
              ],
              [
                6686,
                26
              ],
              [
                7386,
                33
              ],
              [
                8072,
                35
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-credentials",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth client credential fields",
            "uses": [
              5,
              6
            ],
            "spans": [
              [
                1087,
                9
              ],
              [
                1256,
                12
              ],
              [
                1588,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-id-field",
            "conf": 0.85,
            "crit": 3,
            "desc": "Client ID field accompanies OAuth protocol markers",
            "uses": [
              8,
              11
            ],
            "spans": [
              [
                1087,
                9
              ],
              [
                1256,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-secret-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "OAuth client_secret field",
            "spans": [
              [
                1588,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-state-pair",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth redirect and state parameters",
            "spans": [
              [
                1341,
                66
              ],
              [
                2325,
                78
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-uri-parameter",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth redirect URI parameter",
            "spans": [
              [
                1256,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                773,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                241,
                16
              ],
              [
                1316,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::client-id-field-name",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a client_id field name",
            "spans": [
              [
                1087,
                9
              ]
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "spans": [
              [
                90,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "spans": [
              [
                30,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                918,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                294,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                1672,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "spans": [
              [
                908,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "ctx": [
          {
            "b": "y\u0026r/(y-)zkBz@u=aAz4kB.L(cc)A.Jv@2T$e[/uGA3u.ry\u0026r/(y-)?hB97=gB-qqrA=-A!aAz4kB.L(cc)A+AB97=gB-qqrA=-GO3uxY$B.L(casySvB97#7e](8LzE)\u0026oc[bGgwmY*(A+O#]c)A\u003eGwO@S0v}f7\u003eB7]J8aARpdaAhvtBy!%7wN({7wPI^jA:@V6Cwhejz/{dABz\u003e@azxZROw{503BzkVhc[bGCaARgoByf9iAbY-oBs}SRvrcD%B7GxnwPxgF3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)7oaAITkBAITQazts{wmY!5auZ\u0026XBAzEOA+flkwPI@wDKp(rarU/Ey-\u003e\u003e-b4#7uA5]T9f!$WufFk4if!W6Gw)]*#Bt4.Wed9HxarUYownc6}v@@?Razb4#B7CX3aBLWCarUxuc)AXywnc6}v@#=mBz\u0026pzxK@q{B-.qnA+P\u0026dBzkVhaz2C3AbPDdBrSmUw{503BzkVhc[bGCarR!nB8$]kBs}0xwIdLlBZY9cc]iLjefG1QvruTkdgdguarU9lB7Gxle{8bRBzb}FB98CpzF7Osvru0)c$)g2wmY!5toW)4v{%E[z/c+8efDcIBAzE.fe24nh.D^pfFk7kvrDW9z/PMrwHfL[dR0pewO#P%x\u003efwpy?WD#Bye-)e?e4]dgdguwO#3c3lQE9Bsnt7r8=WplT:Frx(mMax(+zcx(^Y(y?mc3efFLEzEW^5z/c%L3lQDlayPtjwPz(Bvrb{iwPq\u003c3y\u0026.0GzF}apvpJ$ZefF?GePV2LA+c^AzddVvvp%dmfD@4\u003cxK$Q.wPv",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "zyu}varR^Hy\u0026r/(y-)+fwnc6\u003ewPIu\u0026AaJM5jS[\u0026TB97=gB-qqrA=-{RA+]rdv{%s/uUjj%uVGZ\u003cwQ2QExMOuniXJd5z!0i(xM4%lfjXTavrDydflgSmx(W={Byffhx^a#karR^HeIe8Yz*b=kayPslB-IpJwPIu\u0026AaHemB7Gznb@f6Pw]zYjvixScvrl9kaA8jgzFrS\u003eaA.:pB08+:mHymXarU9lB7Gxle{8bRBzb}FB98CpzF7Osvru0)d06GJx(mMoy\u0026sJeAWUQjvpS}\u0026B6x\u00268z!0i$x(v(kt}4riarR^HarR^HarR^HarR^HarR^HarR^HarR^HarR^Je?g)Mwnc6}v@#72A+NVXatbn?B98CpzF7Orz*b=kc#@)fx(WM(B7nS$wN)kje?Om\u003ce?e4]dgdguwO#3c3lQE9BsntQB7GznvixSkvru66Aa9=}zdN*2AW04Sw{503BzkVhc[bGCarR!nB8$]kBs}VQB-.qxd06GJx(mMozddJ@xEEL9vpS}\u0026B6x\u00268z!0i$x(v(kt}v9xe?g{:vru6ze?e4]dgdguwO#3c3lQE9BsntQB7GznvixDazEWl2Aa9=}zdN*2AW04",
            "ln": 897,
            "col": 49,
            "line": 22
          },
          {
            "b": "a$+u^v@Dr$jT813e*bmEB97=gB-qqrA=-{RA+]rdv{%s/uUjj%uVGZ\u003cwQ2QEz/xo9x\u003eet$zddc{aAhvtw[=6)a$jS!e*8t\u003cdK3q\u003c3lQE5zE+g6arUxuc)AhuwPI-pBrCZEwGV8dwGU@jz/6DnaAg+fvqPN$wPw$Cazb+lv@#B6zyu}varR^HvrlH3A=-{CvqH1gd06GJx(mMo",
            "ln": 1588,
            "col": 32,
            "line": 36
          },
          {
            "b": "B9hCvz/P}LB97\u0026hByf92A=#2md0(pzarR^HaA7$8v{:d[BAnM/aBsCrarR^HarR!qx(^^5C4CYtauZ?\u003exMOuniXJcvgb**te?![jfjX^rv@DK4A^n\u0026oarR^HarV7tarV7Y3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)7oaAITkBAITQazts{wmY!5auZ\u0026XBAzEOA+flkwPI@wDKp(rarU/Ey-\u003e\u003e-b4#7uA5]T9f!$WufFk4if!W6Gw)\u003e",
            "ln": 3669,
            "col": 8,
            "line": 100
          },
          {
            "b": "wPI%2B9hCvz/P}LB97\u0026hByf92A=#2md0(pzarR!Bx\u003egZXz/x/tauZ\u0026]3lQDlarR!qx(^^5C4CYtauZ?\u003exMOuniXJc#z/mmtCWUDdy?kkqA+v3H3lQDlaBL^FarV7Y3lQEkwNPQ\u0026z*c7EBy/JnuVQveAbP=se]#bMA9)V$A=#2mdgdguy\u0026r/(y-)7oaAITkBAITQazts{wmY!5auZ\u0026XBAzEOA+flkwPI@wDKp(rarU/Ey-\u003e\u003e-b4#7uA5]T9f!$WufFk4if!W6Gw)\u003e",
            "ln": 4241,
            "col": 4,
            "line": 117
          },
          {
            "b": "AWVnwarR^Hz!S-(uVf[9B09Q*DKp(rarR^HBzkP6z/{dAjS(NnfFCgi3lQDlarR!qx(^^5C4CYtauZ?\u003exMOuniXJcvgb**ue\u002624nfcQ-CarR!Ped9HxEjkHCaARg6A+69jzyxQrB97=gB-qqrA=-{PBz(b9B7GxnwPxjbarUGsv{%f@uO0svByxolB09Q*xMOune]\u003eJyB.bSod0(pzarR!HA+(\u003cYar\u003eGvBz%n]fekjve?![ie?]1\u0026wObv[y\u0026?sLa$K6z",
            "ln": 4840,
            "col": 27,
            "line": 136
          },
          {
            "b": "wO#3c3jprPB7ol8vR3@iCw7M9ay]hcv@DK4A^n^szE^Z8x(n2nx(+zry\u0026sIuvqYP#zF{Utx(dB1B-X:uB0a$hzF0P}B-I57a$K\u003cGB-7Yhx(v(qdgdguBy/JnuVQveAbP=se]#byA=+VfwPz%9AWVnwarR^HwmYN=D0+P6B8V5nB7DESaBtkwx(^+",
            "ln": 5317,
            "col": 1,
            "line": 153
          },
          {
            "b": "wPI%2B9hCvz/P}LB97\u0026hByf92A=#2md0(pzarR!Bx\u003egZXz/x/tauZ\u0026]3lQDlarR!qx(^^5C4CYtauZ?\u003exMOuniXJcvgb**te?![jfk+YIeP+VqA+cB4arR^HEjLZFaBLWCarU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuVP!0C4CXy3lQEcz!0i(ayuVxB97\u0026jB-OV*azt\u003esA4VfxADL\u0026lBsqFyarR^HB-IpvjS\u003e}ZBAzE.fe24nh.D^pfFk7kwmYvYB.(dMBrSmyarQ",
            "ln": 7202,
            "col": 4,
            "line": 215
          },
          {
            "b": "wPI%2B9hCvz/P}LB97\u0026hByf92A=#2md0(pzarR!Bx\u003egZXz/x/tauZ\u0026]3lQDlarR!qx(^^5C4CYtauZ?\u003exMOuniXJcvgb**te?![jflwxBarR^HEjLZFaBLWCarU=qvrb)%CwX*JwPI%2B9hCvz/P}LB98ttuVP!0C4CXy3lQEcz!0i(ayuVxB97\u0026jB-OV*azt\u003esA4VfxADL\u0026lBsqFyarR^HB-IpvjS\u003e}ZBAzE.fe24nh.D^pfFk7kwmYvYB.(dMBrSmyarQ",
            "ln": 7758,
            "col": 4,
            "line": 234
          },
          {
            "b": "aAz47x(W={Byffhx={@8wPI-pBrC7izGGr3zxJvgxM4%lzEEx[a$K\u003cGB-7Yhx(v(qdgdguBy/JnuVQveAbP=se]#byA=+VfwPz%9AWVnwarR^Hz!S-(uVf[9B09Q*DKp(r",
            "ln": 8275,
            "col": 66,
            "line": 252
          },
          {
            "b": "wnc6\u003ewPIu\u0026AaJM5jS[\u0026TB97=gB-qqrA=-{RA+]rdv{%s/uUjj%uVGZ\u003cwQ2QExMOunB2\u003e%cwQ4T2Abo8rz/PFzwmYvYB.(dMA+e=}A+e:5uV*y6a$i\u003cwarR!nB8$]kBs}VQB-.qxd06GJx(mMozddJ@xEE}zA+PA7e]kDIwPxhjwNPaXA=UCey\u0026r/(BzkVh",
            "ln": 8815,
            "col": 13,
            "line": 269
          },
          {
            "b": "az(4cB.\u003eRiwn=42zyoJGB9hCvz/P}xB8UY2x\u003ezT8zF78eB.(elAbo8dxK$Q.wPz\u00260arUGsv{%f@AV^H/x(tRyz/xo9c)AezA+(\u003cInfxoZeK\u003cV0CvtJ5wN)w-z/Z1Yaz2!aze:r5e]L=ycM\u003e0iasynymSir\u003evrb)\u0026wgZt\u003cB96C=wQ4T2Abo8rv@Diia{]CnarR^HarR^HarR^HarR^HarR^Hatbn?a%nEQatmnpB$W-Qy?$jCB%5v*zddVvA+e=}A=SuSazt\u003esA5]T9f!$WufFk4if!W6Gw)]*#Bt4.UgcN3ta$i\u003cwaz+$avqE68auZ\u0026/i=X!uwgeSKviNccarUX=v@c78wHF#marUxuc)A+DwGUP0A=VsBxK$Q.wPw]cB0bQDwN(#oazb+lv@#B6zyu}varR^HvrlH3A=-{QA=(FqC{)-QA+PA7e]t3sv/",
            "ln": 13047,
            "col": 14,
            "line": 376
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.falsy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "io.popen"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.are.equals"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "io.popen"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "test_support.urlescape_for_regex"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.truthy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.falsy"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "test_support.start_server"
            ],
            [
              "",
              "teardown"
            ],
            [
              "",
              "http.request"
            ],
            [
              "",
              "assert.error_log_contains"
            ],
            [
              "",
              "busted.runner"
            ],
            [
              "",
              "socket.http"
            ],
            [
              "",
              "test_support"
            ]
          ],
          "mbr": [
            "assert.are",
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.falsy",
            "assert.truthy",
            "http.request",
            "io.popen",
            "string.lower",
            "string.match",
            "test_support.start_server",
            "test_support.stop_server",
            "test_support.urlescape_for_regex"
          ],
          "tgt": [
            "assert.are.equals",
            "assert.error_log_contains",
            "assert.falsy",
            "assert.truthy",
            "describe",
            "http.request",
            "io.popen",
            "it",
            "require",
            "string.lower",
            "string.match",
            "teardown",
            "test_support.start_server",
            "test_support.urlescape_for_regex"
          ],
          "metrics": {
            "ast": {
              "max_depth": 18,
              "call_count": 266,
              "node_count": 4928,
              "member_count": 12,
              "max_array_length": 3,
              "max_member_depth": 3
            },
            "file": {
              "size": 18794,
              "entropy": 4.73
            },
            "text": {
              "lines": 518,
              "top_char": 101,
              "digit_ratio": 0.03,
              "space_count": 2928,
              "char_entropy": 4.73,
              "unique_chars": 65,
              "top_char_null": 0,
              "import_density": 0.58,
              "string_density": 0.46,
              "top_char_ratio": 0.08,
              "avg_line_length": 35.28,
              "max_line_length": 154,
              "empty_line_ratio": 0.05,
              "last_line_length": 4,
              "whitespace_ratio": 0.18,
              "identifier_density": 1.48,
              "line_length_stddev": 31.31,
              "max_whitespace_run": 1,
              "normalized_import_count": 0.13,
              "normalized_string_count": 10.5,
              "repeated_char_sequences": 16,
              "suspicious_string_ratio": 0.02,
              "suspicious_identifier_ratio": 0.04,
              "normalized_unique_identifiers": 5.1
            },
            "binds": {
              "count": 40
            },
            "binary": {
              "peak_region_bytes": 18794,
              "peak_region_entropy": 4.8
            },
            "imports": {
              "count": 3,
              "third_party_count": 3,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 6734,
              "count": 239,
              "shell": 4,
              "url_count": 46,
              "avg_length": 28.18,
              "max_length": 131,
              "path_count": 10,
              "avg_entropy": 3.33,
              "domain_count": 2,
              "entropy_stddev": 0.82
            },
            "comments": {
              "chars": 179,
              "count": 3,
              "lines": 3,
              "to_code_ratio": 0.01
            },
            "identifiers": {
              "count": 769,
              "unique": 46,
              "avg_length": 7.78,
              "max_length": 23,
              "min_length": 1,
              "avg_entropy": 2.3,
              "reuse_ratio": 0.06,
              "length_stddev": 5.09,
              "sequential_names": 2,
              "single_char_count": 3,
              "single_char_ratio": 0.07,
              "high_entropy_count": 1,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 1,
              "all_uppercase_ratio": 0.02,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 41,
        "mol": "H₃(Cm₆DbPo)Md₂(InPa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/spec/redirect_to_op_spec.lua",
        "pid": 0,
        "risk": 5,
        "sha": "218480a26ffc7f5e490af560a94568a7712703ff3149f5d5ffb2a103f909dad9",
        "size": 18794,
        "supp": [
          {
            "by": [
              {
                "id": "metrics"
              }
            ],
            "id": "metadata/file/profile/identifier-population::low-identifier-reuse",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "path"
              }
            ],
            "id": "micro-behaviors/communications/http/url/scheme::cleartext-http-url-code-literal",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/import/lua/socket/http::socket/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports socket.http",
            "spans": [
              [
                22,
                11
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-describe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua describe test block",
            "spans": [
              [
                108,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-spec-basename",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua spec filename"
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::curl-cmd",
            "atk": "T1105",
            "conf": 0.7,
            "crit": 3,
            "desc": "curl command includes URL or option",
            "spans": [
              [
                13121,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/custom::x-forwarded-host",
            "conf": 0.9,
            "crit": 3,
            "desc": "X-Forwarded-Host proxy header",
            "spans": [
              [
                13121,
                73
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                305,
                26
              ],
              [
                507,
                29
              ],
              [
                961,
                37
              ],
              [
                3733,
                26
              ],
              [
                4305,
                22
              ],
              [
                4904,
                16
              ],
              [
                7266,
                26
              ],
              [
                7822,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-id-field",
            "conf": 0.85,
            "crit": 3,
            "desc": "Client ID field accompanies OAuth protocol markers",
            "uses": [
              8,
              11
            ],
            "spans": [
              [
                537,
                9
              ],
              [
                986,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-state-pair",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth redirect and state parameters",
            "spans": [
              [
                1167,
                81
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-uri-parameter",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth redirect URI parameter",
            "spans": [
              [
                986,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::lua-http-request",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.82,
            "crit": 3,
            "desc": "Lua HTTP request call",
            "spans": [
              [
                279,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                13256,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::client-id-field-name",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a client_id field name",
            "spans": [
              [
                537,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::lua-io-popen",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "Lua io.popen() shell command execution",
            "spans": [
              [
                13111,
                8
              ]
            ]
          },
          {
            "id": "metadata/import/lua/busted/runner::busted/runner",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports busted.runner",
            "spans": [
              [
                90,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/test_support::test_support",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports test_support",
            "spans": [
              [
                66,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                133,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                5365,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                1031,
                0
              ],
              [
                1037,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness-lua::lua-busted-it",
            "conf": 0.9,
            "crit": 1,
            "desc": "Lua it test case",
            "spans": [
              [
                362,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "id": 44,
        "mol": "Md(Pt)",
        "sha": "e90783bf50a5f6ace6691c0607b7c5020c2bffe174d3be63a1bee3dd198b5ccd",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/vendor/serpent.lua",
        "risk": 1,
        "size": 8999,
        "type": "lua",
        "depth": 1
      },
      {
        "id": 45,
        "mol": "Md",
        "sha": "70ea23bf8d74c05b5a7d13ae3370ce89ac8bfa0550c6f116defbeed90fdd1719",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/vendor/README.md",
        "risk": 1,
        "size": 393,
        "type": "markdown",
        "depth": 1
      },
      {
        "id": 46,
        "mol": "H(F)",
        "sha": "d9f4fe3598068949dce6ea74a9800022f0e93e6759141106ec4e4218e08b6185",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/tests/Dockerfile",
        "risk": 1,
        "size": 868,
        "type": "dockerfile",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "toNirnGZ@NvruTkt{%xdBz#pZfe3%LBzb/ae[n*pfm4FzA==RCzE\u003eFqBZV\u003exwPI%sePkPtzFrS\u003efjwvjx(v)gfl.tPyI4y3CxkAFz!0M]AXg^ne{RqIfjFv2xjSYpC4Smfc$)ZAAc15[fk20vxMW=pv@DiqDtN8hBB4\u003eywIm\u003exvj=IhB98WVz/xo9x\u003egZbvpKy[z/fRHCk",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "wn+%[wPxwjx!BWFy:/Y}jzwUBaA}KgBz9/Yf/R0laztt2xj#xIa#}L9ayP82xkP\u003cRA+Pf1BrR\u0026GA:}lRxMOuniXJd8AaJ{3wg?+hBt4\u0026RA+6cfwPI]Av@DmbwO#PyB-qenvpTBjgb7Bvfebjoz!S-ly+oddA==2cx\u003e7N[x(v(vzddE2eO)1VxjrCEh85MWx!qt0zezJ[CRi@MxcFEby\u0026?/:pJf(.nKKW*wPz)bw[+:-BzkVhb0GoXxMOunB2\u003e%cz/xo9x\u003ee\u0026lwPPOnwPz)bw[+:-BzkVhdgczbaz=geePLAzBA]DRAaJ{3wmC@NdK]mSvj=IhB98WVz/xo9x\u003egZ6dJ\u0026CDayMyex\u003c#9\u003eA^n^tz/M$8pdE(Jsy0s*BAzE.fe4iQx(neFz/PFzdiJtwAbo95wO#Q7zF78lxK}JPpJf(.nKKW*z/fD7v@#08xMOuniXJd8AaJ{3wg?+hBt4YOwN/^mz/xo9x\u003ee/9z/fD7v@%qjz/Pzvf\u003c=Q!xMO9cdiH8\u0026qE%V\u0026x(mMap*[x^C{1Ikp:)\u003ez3sN*.fk\u003e\u003eNBzbkdttELcBz8^Le?*MVxMOunB2\u003e%cBz(8lB1RfrBy)dzA+v4sBzU?EA+n/th-9JzasX\u003cswPI^jA:@V6q!o#)wPw[wqD21]dJ\u0026tCzEW^5z/f01x([RM",
            "ln": 170,
            "col": 171,
            "line": 1
          },
          {
            "b": "wPI^jA:@V6q!o#)wPw]cBrC74zxKahy?WA*By=N\u003cl3mo.atLM6avoTFA+fnll1szoB8@E6z!\u0026{4B0a[7vqfR2BrC1favgc(xM4{9Dsp]fz/cW@wPz%9AV/pvefFUA3s^H=wGUz7n(FIXaxJb-axin{wO@S8B0bQDwN(]}z/M$ezxIkPv}x.5axin{wO%4wC4CYdw[+:-BzkVhay!?$azth5AaJ]fvp%1.zGx[xvixJfwI4zgzF0P}B-I57aAIa7A+ftCyH}=le^.}SBrCBex(n33x(m#mB7GAlx(v)gazbLjayPzmxK#76x\u003e7N[wN({aB7GxkayYQsy?m^3A:-P{zF781y\u0026%erA+frlC}B8GB8#5lzEsPexMXwsz!rP)A+PA73sL5!z/ff3xlwl6vR/P#v}Y^{v}u=(wPSa",
            "ln": 987,
            "col": 2,
            "line": 13
          },
          {
            "b": "fhDK#zB)kslVl\u003cWwN/*8x(k59A=k\u0026qaA7\u003cmvqWiaA+Pf2zxK1iA=#2maAIDzBzb983uP@)aA8pmxk8laB7GxnwPxCBwPz%dv}xZ7v{%l$vR3W3A=l5hv@#o)aA}KwxDRzgwGV28y?m=#zGE1xByx5$vrb[1aA}KwxM53nazCXiy?mD{zGGPgxcqqfz/YFjz/b]7xK@rcwPz%9AV/7rB7Gf1e^.}gboPx=AaJ]$wO#0(wPFg=dK]mSvj=IhB98WVz/xo9x\u003egZ6dJ\u0026nkAaJ]$B0bysaARpdazbLdy\u0026sJizF78hvpK7YxjVcB3jnvcttvWWpfp^IxMOuniXJd7xk8mde]L=yfdw2LzE:\u003e]u#xR4uU0.\u003ewO+Z?x()-*c$)ZAAc15[fk20vxMW=pv@z",
            "ln": 1610,
            "col": 52,
            "line": 22
          },
          {
            "b": "wN/*8qCXGOAV!!dawUpCBz8^Le?!z?wPz%9AV/EqvrrS4z/fSszdN=hn([$0vpJ!UB8@ECz!\u0026{4B094SD2E*My?$k5y\u0026:IqzE)x\u0026aARJAx(n0lvqG:5Bzbkdw]zH4z*b]kxcp.@AaJ]$wO#16iTMiCax@k\u0026BZV\u003exwPI%seOYGKu%Lf]BAzFyiXJd0x(\u003c",
            "ln": 2613,
            "col": 43,
            "line": 42
          },
          {
            "b": "3jo:CwGUw%BZV\u003exwPI%seOYGKu)5#\u003eAaJ]$wO#16ayO.$C4z!gB08@Iz/^DKA+flkx(W=}aA}HgzxJ$xzF\u003cfaxcpS7ayPdgpEfbBxDP5.fD:n8B8Mhwv}u=YwPz%9AV==GzFTOEaA.:tzF78jwO(vcwErc?BAhqvAaJK3x(v(iw]zYjvpJ!UB8@ECz!\u0026{4aA?gfx\u003egT]x(v(w3jn15aw3D(Byx04vruj4zvc.JB7]J8ayG2dvrco@yJA(awQ4=@B-.gqBzbkdw]zH4z*b]kxf3wbarR^Haz=geA=kD6B0bgmB97\u0026by-)Lpvj=IhB98WVz/xo9x\u003egYX3qU+SwPA0eB7DF7z/x$Au#H0}zFrS\u003ee]kVsu)6JezdN{8wPzu8x(k5sz/{7yu#f%]uVoB-yHH\u003c!uVoB}xKz%9zE^s0ayMy6x(W={Bz(hBao",
            "ln": 2795,
            "col": 64,
            "line": 45
          },
          {
            "b": "C}A@NwO#i)v\u003c2o1B.\u003eOhvqH16ayX[8x(n0lvqG:\u003ewfu2ox(mMaz/xL2vS==nBzbxfazC)tzF{Ulz/fi0AV/BCAbY-oBy!#n3jma+boP][ze:r5avy6+w[+[2A::67z/cXfz/M%\u003cz/oo8wH!)4x\u003eIr$zvc.HvqP$1wGUw#xk8mde[n*qw)=-\u003ez/ff3xlwl6BzkVhazbLjayPzmxK#76x\u003e7N[x(mMaB-RbmB0a[7vqfR2BrB7(z!A($d\u003cd=8xkRB3efF[Lz//M2BzkS9ayMykwP?T9B7D}xA=lhpwN({5vrufn3jpfGu#xQ\u003ezu",
            "ln": 3306,
            "col": 27,
            "line": 59
          },
          {
            "b": "aA8jvB09Q*DKp(rarR^HarR^HarR^UeG/dGwGUPcy?$kmwN]H}wN/*8rz(yhzfo]wayX[8Ab](swN/*[wftubaARphB0bKlA+PGm3lQDlarR^HarR^HarSl/azCBgBzbkdrz(yhB97\u0026hBAnNGx([2hviviCBzbkdw{4{aaAz47x(W={BrBNYnG.FN",
            "ln": 3967,
            "col": 16,
            "line": 93
          },
          {
            "b": "dgdguarR^HarR^HarR^UeG=eUv@b\u003c\u003czGGl1wftq#wftw#x\u003eqg7uVP^*A+ftno\u0026Ua\u003eayX[8x(n95A+O%1BrC^vwO@SkA+(\u003efzEWP}wN(b\u003carR^HarR^HarR^Hv@b\u003c\u003czGGl1wfs2Tb0ovKx\u003eqg7uUK4ma$K6zarR^HarR^HarR^Hv@b\u003c\u003czGGlbwN/:(",
            "ln": 5347,
            "col": 143,
            "line": 109
          },
          {
            "b": "wPzG}wPF#5zH0vozE^9}wPI{bz/e][zE^Z8x(n2nBzb98aARpdawU/RzddYjxKM6}aAhvtC4\u003eF#wftP7aARpday]hcv@DK4A^n^FwPI*ezGxww3lQDlarR^HarR^HarSl/A+e=}A+e:5uTWL*wPzc]z!B0hByflaBzb2}wm6B%yH}x\u003cxLzvaauZ\u0026?",
            "ln": 10415,
            "col": 93,
            "line": 170
          },
          {
            "b": "azC)tB-Rb8e^.}darR^HarR^HarR^HeIh0OzE[30vpJ!UB8$Ygz!\u0026{4uVf*?wQ5fdA^n=\u003caARTDwEoL5arR^HarR^HarR^UeG/mJwPRP%AV/Eqx(+zoy\u0026%x8zxK1lvqG:5BAhTH",
            "ln": 11723,
            "col": 55,
            "line": 186
          },
          {
            "b": "vru6\u003eazCZ2arR^HarR^HarR^Hat2e/arR^Hu#H0}zFrS\u003euTX80xM4{9DsZFbx(dY#wnbE]wO=SmAb]VhAV/ExaAH$mx(mMaBzbkdB7GAlx(v\u003e@arR^HarR^HarR^Hat2e/at2e/u#G{\u0026vrDW9wO#Q7v{%E\u003cwmcJ[z/ozlx(+zhzGY@lwN(]kvp\u003cQ)AW\u0026hLwN/o",
            "ln": 15799,
            "col": 80,
            "line": 251
          },
          {
            "b": "B8#5lzGvuKB7GCovixS8vrb{\u0026aAIa7A+ftnw]zYjB7GAlx(v(iv@Dp3x\u003enz#zEWZjAcb/jzz05hxLzJgvqG:#Cxj)FwPI{bz/fRsBz\u0026pxwO\u003e\u003c\u0026zxKahy?WA5vp\u003cQ)AV!^kA+frlvr8",
            "ln": 17854,
            "col": 49,
            "line": 286
          },
          {
            "b": "arR^HarV7t3lQDlarR!CA=lhFuVoB{B0bdrBz%n]fkLMpvqGQ}B96D5fGPQ:arR!P3lQEt3vJm?u%\u003crGbo[r%vScyhayGk3wnc6}v@#72A+O[*3rgXIaAIDzv{%g\u0026wN(]\u003eA+e=}A+e:5uV*y6u)6f8ayPdgrz(yhBzb98azC)tAa9^eaA7\u003cmBzbkdpJf(.nKJ[Mz/fD7v@@\u0026jA=l5rv@Dg1e*abbwGV28wnc6}v@@?[qB@0BB0bHmxk8BewPzu)aA}KwxDROsB-FP",
            "ln": 19868,
            "col": 1,
            "line": 326
          },
          {
            "b": "B98ECBz\u0026pzxLzJgAa9\u003c4aAy[jxK#ibBzb923uP@)aAg+hxDRk9ayGbbBAo6PwN]H}wN/*?B-Ih7e^.{)bo[r#xK$W?ayPzmxK#76x\u003e7N[x(v(iz/fxp3jpfGu#f%]3n0?Lv}YB-yANXfB8#5lzy=]tB-X:pzY\u0026}oBrCQnwnc6}v@@\u0026nzY\u0026FhBz8!hw/$#fBrC1dA+eV\u0026C{3{wxj\u003e^^azCZ2y\u0026r/(y-)+fB1wCBA=Jo=aAz4kB.L(cc)AXyB98WWz/xo9x\u003egY$dk24KBzbl6Bzkk[By=\u003esAccdLaz$[fefDcQvrlGldgfD\u003cu\u003cWk=boPu!wN/G#vrDW9wO#Q7v{%E[z/cXozFTOvvqYP#wmYU7aA.NgB-.qdzGGP5vru6\u003eayO+\u0026wPI]13sEmHy\u0026%d[eIe8PxK$W?aAIanB7]MgefFFwaz#ataAz47x(W={BrCWzayPzmxDR23az#atayP8bwNPa{az+$exjUP@x(k55B-X:DwPS6nzxJw9az2Olz/M$mzGx]hvpPZYz!0i(aAz4mefFIAAV^H/A+flkx(W=kb64moBA]GSAaJ{3wmD/je[5)AxK#76x\u003e7N[wHIFoBAn#QzFr]rar\u003euczH0AP3sEmH3jn15ax8\u0026)B7]MgB0a[ewfsM:v@2^@x9[#BxK@q]vrDW9wO#Q7v{%E\u003cu)667zEW^5z/cXrwPS6nzGu}xxK@q@B-IIlzGE1xwPI{bz/cXovRPE:BrC1kazC}s3tai%Bz8!qwPS6nzxJwdxlw65zGEGNnOf8\u003cz/)govrMi8v@Dl%x\u003eINewN({1BZV\u003exwPI%seD",
            "ln": 21753,
            "col": 40,
            "line": 369
          },
          {
            "b": "wPq\u003cbA+cTyA+frlC}K2OwO#i)v\u003ciuOvrDW9wO#Q7v{%E\u003cc#T6DB14DqwPI{bz/dQCy\u0026sxac[bHhu%\u003crGbo[r#vpJ$+zF6p-y\u0026%erA+frlC}A@NwO#i)v\u003c2n\u0026zxK7ywGUh#xKL{)wft-2zeTDu3s^HOxK#l\u003cc$)ZAAc15[fk20vxMW=pv@Diqz/xo9A+frlC}S#Rvj=wfx(neEzeS%cy?kmAy\u0026%e[B7/05wN]dUx\u003e8ll3tai%aAIaqwPzi}aAN",
            "ln": 22607,
            "col": 36,
            "line": 396
          },
          {
            "b": "x(v\u003e@3r7wIAbo8du#xQ\u003ezG)^zz/fe{ay/tcw[+[2A::67z/cXfz/M$zwPzG%D1?eeavoTFA+fnln([$ml1szoB8@E6z!\u0026{4B0a[7vqfR2BrC0mAb]Iwv@Dl%x\u003eINewN({8wN/:(Bt4AvC}GC1zEWl2B9g#5wPI{8B.\u003e(taA?spx\u003ez6\u003cwgO\u003cBxK@qYm[DDTaAIamC4CXpzddYjw{503BzkVhayPslvixP4C4CYnwGU@jz*lKIBz\u0026pgzxJUhBy/GgvqE68A+Pf2zxK1iA=#2me^.}[u%)\u003e+x(ne5wP?T5Bn",
            "ln": 26645,
            "col": 56,
            "line": 469
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 39049,
              "entropy": 4.7
            },
            "text": {
              "lines": 810,
              "top_char": 101,
              "digit_ratio": 0.02,
              "space_count": 8634,
              "char_entropy": 4.7,
              "unique_chars": 92,
              "top_char_null": 0,
              "lines_over_200": 6,
              "top_char_ratio": 0.08,
              "avg_line_length": 47.21,
              "max_line_length": 442,
              "empty_line_ratio": 0.21,
              "last_line_length": 48,
              "long_token_count": 4,
              "whitespace_ratio": 0.24,
              "line_length_stddev": 45.67,
              "max_whitespace_run": 8,
              "repeated_char_sequences": 350,
              "trailing_whitespace_lines": 4
            },
            "binary": {
              "peak_region_bytes": 1024,
              "peak_region_entropy": 5.97
            }
          }
        },
        "id": 48,
        "mol": "H₂(Cm₂U)Md₂(Pa)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/README.md",
        "pid": 0,
        "risk": 5,
        "sha": "fa2b08d6bdca6aadaee6b8473dc746c88b9fa7ddc39b2a40a18e439574f7f13d",
        "size": 39049,
        "traits": [
          {
            "id": "metadata/file/naming::uppercase-readme-md-basename",
            "conf": 1.0,
            "crit": 3,
            "desc": "Basename is uppercase README.md"
          },
          {
            "id": "metadata/file/profile/markup::markdown-heading-before-fenced-block",
            "conf": 0.98,
            "crit": 3,
            "desc": "Markdown-style heading precedes a code fence",
            "spans": [
              [
                21817,
                33
              ]
            ]
          },
          {
            "id": "metadata/file/profile/markup::reference-guide-section-headings",
            "conf": 0.97,
            "crit": 3,
            "desc": "Reference guide has multiple section headings",
            "spans": [
              [
                1785,
                15
              ],
              [
                2961,
                15
              ],
              [
                3385,
                42
              ],
              [
                19932,
                23
              ],
              [
                21817,
                28
              ],
              [
                22004,
                60
              ],
              [
                22247,
                23
              ],
              [
                22671,
                10
              ]
            ]
          },
          {
            "id": "metadata/package/agent-skill::skill-secret-access-wording",
            "conf": 0.92,
            "crit": 3,
            "desc": "Skill secret access wording",
            "spans": [
              [
                1125,
                69
              ],
              [
                26709,
                45
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "spans": [
              [
                14,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::image-file-url",
            "conf": 0.85,
            "crit": 3,
            "desc": "HTTP URL targets an image file",
            "spans": [
              [
                234,
                101
              ]
            ]
          },
          {
            "id": "micro-behaviors/ui/help::command-run-instruction",
            "conf": 0.84,
            "crit": 3,
            "desc": "Command execution help instruction",
            "spans": [
              [
                2995,
                21
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                501,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                599,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                1658,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "spans": [
              [
                10463,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                457,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                1707,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                3354,
                0
              ]
            ]
          }
        ],
        "type": "markdown"
      },
      {
        "ctx": [
          {
            "b": "eIggh3qtezwO#N2wft#jaARpdavf%Pv}YA@q/un\u0026CvtJ6avZo(zE^f$x(v(ic{Z^3diJ+JwmY^7z/fa[z/M$qz/Pziv@DmbA+P09Bz(gxy?Wx\u003czGxwivp%Q(wO(0@BAo5Sax8\u0026.aARpdawLZinKC]?w[=6)3s)\u003c(BAh88B-.h9aA}KwxDRzgx(+zvz/PRow]zYjvpS[.BzkVhvqE62zF0*czddK2z/b]5wOkB(wnb{]ay/teD2^RixMLwnCwZ#jB7/obe*8ooxK@qLq:})Cx\u003e7Z(B7GznBzbxfazbt7wErJ$aBd)FaA.NjwPw)",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "w]zYjBzbj)B8UY2x\u003ez6?az+F7xlvS}wGUS7C4CYix(mMaAaK6bx(!ufz/fRsvqYP#y?W:2Byxo9z/fR6B-7-3AV/EqwGTVXv}xL0wIaq%dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([$dK([PlVl{?A+Pf1Brz#0diHx1f/HWtfFUBbt5vX*BxSQ2wGTJZy?dl$xcoI[rXs.Dz/x#xx\u003eIa3asGPaatLS9h7ZNqf/HjKx(mManN#yIBzk\u0026xavy6/AbP=9BzkVh3peGAaAzgexA",
            "ln": 677,
            "col": 51,
            "line": 15
          },
          {
            "b": "l}4C.q:A]xe*8oarz(^!mn=\u0026QqBJbVr7GCQmiB(]miCu3axH\u003cbqBa5SnKVM2r7GqOaxg)2ax869r98v-miCV6oIuN6mmye.sX\u00263}awLu]l@Lj7qxOp{avYl$miC5$pFz%2qC{p*q.f4!qxO}fk#X$anjsT%p^[nFr7P\u003eXawUDHr7GC2q+]\u003eZs3Y.M",
            "ln": 1348,
            "col": 72,
            "line": 30
          },
          {
            "b": "e[GejeIgml3jpP/v{%f@A+flkx(W=cjS[=RADL#owErl(v{%f@v}{76zxI7+A+flkx(W=kb4Cwez/c:F3t:S\u003cvqE5@yiarhuVNtMaAz4kB.L(cc)AeoB8L}GB75V(a$i\u003enz!0i(azt\u003esA3dp^A+flkx(W=kb64moBA]GLBAzECdgf)fv{%f@A:J)0B8#5lzxI7+A+flkx(W=kb64moBA]GWwPI{bz/c:F3t:S\u003cvqE6cBAh8kxcotWB98CpzF6q)z!0i(aAR43y?j.LaAR43y?i@\u0026z!0i(azC!6x(XnqjS[DTvqf+63t:S\u003cvqE69vqf+6auZ\u0026^vqf+63t:S\u003cvqE6dD2J",
            "ln": 1952,
            "col": 49,
            "line": 40
          },
          {
            "b": "zFahpjS[SPCNwn9v{%f@vM34=jS[SPCRiMBv@C)?uT^C+wI#vLy\u0026r/(y-)gBg\u003c9?PauZ\u0026/wPq\u003cbA+cTyzFahDvQTs?hz=Qbe[F{gz!9A^vQTs?hz/L%yZK#%v{%f@B-7UDg\u003c9?PauZ\u0026/wPq\u003cbA+cTyzFahDvQTs?hz=Qbe[wK6z!9A^vQTs?hz/L%yZHI=z!0i(az+$eauZ\u0026+xlV4Bz!xz[z!0i(avFT+ryXe{az$?pe\u003c@b{ryWyjz!0i(avM",
            "ln": 2241,
            "col": 7,
            "line": 53
          },
          {
            "b": "v@=d5uUT!bauZ\u0026?z!\u0026{4uTX80xKtQ/BzbP6uVp3%v@Dl}x([6czyu(xy?WD#Byf92v@=d5uUT!bcOcw/v@b\u003c\u003czGGlbwN/:(BseHAEf{r$z!0i(azb+lv@#B6zxJB$zEmKcwNxK$yH}x\u003cvrDW9uU%v@xM4AfzdN*5z!7ywz/x/tdgdguy\u0026r/(y-)!wAbY-oBy!#9jS[/*AbY-oBy!#\u0026Bz\u003e@azEl*{Bzb2#wPRQ7wog%(wPRQ7wl/J+aAz4nB-IvxA@",
            "ln": 3016,
            "col": 12,
            "line": 79
          },
          {
            "b": "wmF$!vqYQ]zc}41x^+zqarUGsv{%f@A+frlD0+P2zE^W5auZ\u0026/wPq\u003cbA+cTyA+frlC}KbCzE^W5a$i\u003cwaAz4nB-IvxvM35=A+)dAwPI%suVGN)wn=rqvTi6bB0@?1djCQnzE:7Yy\u0026r/(y-)tjzEW^5z/cXoAaJ{3wmF$/xKJUNhyJ-Sy\u0026%qr3lQEcz!0i(aAIj8gbQ%jjS[=RADL#owHF:ywPI%se]$YmgbQ%ldgdguy\u0026r/(y-)n5xjVdaauZ\u0026*xKJUNhAC.!Cpj)EarUiexjVdai^2yLvru6eC42ifwHN%eaAz4nB-IvxwnbW/B96DPx(mu}c[bHmzE:7Yy\u0026r/(y-)tjzEW+",
            "ln": 3823,
            "col": 21,
            "line": 113
          },
          {
            "b": "zE:(na{]CnarUlkwc%C4arUAuz/cWXar(dRatbn?BywS{wIdFhzEW9%d0(pzarR^HaA8jgzFrS\u003euUTU2zEml(zdm6%c)AewB%nEWyiKCCv@=-wed9HxarR^Hz/xo9x\u003egZXyiarh",
            "ln": 5157,
            "col": 77,
            "line": 164
          },
          {
            "b": "e?Om\u003ce*qz\u003ce*aQYg\u003c9?Pc$v1kz/dgszEWP}wHIIaD2dzcwgn@marUGsv{%f@Abf3gauZ\u0026/wPq\u003cbA+cTyA+frlC}K2OwO#Ngy+xWxwQbEG3lQEcz!0i(azULlefFIAAV^H/Abf3ge]ClAc#:ivC42G7uU:j#dgdgux\u003ewG0A=JpAxK#5*arR^HA+funA=91qx(2syb6v^ivR/P#Bz\u0026prz^^f0l@m!#aAhvnC42G7azULliV]Q?e?OnTA=IHfaz2C33jm)#y\u0026o",
            "ln": 6463,
            "col": 54,
            "line": 206
          },
          {
            "b": "zxK1xz/Pz@x(mp0wPI{bz/c$wAccdLazbg[BAIRndgdgueIe8DwGUJ4zyoJGxKM6}ayMypxLzN1y?W%jaA7\u003cmw[ty)B-I5maARJAwO${=y?i}@azCBgzF%Rtz/x/te]$PBB7]MguT[1(By/uiB0bNrwO}?$arR!EwPS6nzxK4wB.7[5az2C33jm)#",
            "ln": 8432,
            "col": 14,
            "line": 278
          },
          {
            "b": "zFahDBzkP6c[coXxK#5*arR^Hy\u0026r@mmn^2Vqy\u0026}mBz\u003e@azxJInAa%u7wi7\u0026Ewm6B%yH}xowQ5eSa$K\u003cJwm6B%yH}xowQ5eBar\u0026uVzFahDBzkP6c[dq6efF?yCRj8Lz2",
            "ln": 12210,
            "col": 31,
            "line": 403
          },
          {
            "b": "arUomAV!ZuaA?gfB.8XfzxJ[bx(Xnyx\u003egN)z!\u0026{4e[5)kdiJet3lQDlarR!vw/#n9y\u0026%qijV%{aAccdNv@b\u003c\u003czGGl1wft#cwO}?$arR^HarR!EwPS6nzxK4wB.7[5arR^Haz2C33lQDlaz2C33lQDlaz+$ec}d3ipF@.^b5RrwzddJ@xDQ]9B-7.jBz\u003e@azxJwgwnbQ)v}u=\u003eA=LPliV}{Gx\u003eqg7uUK4la$K\u003cPAccdNv@b\u003c\u003czGGl1wgm\u003cdao",
            "ln": 12526,
            "col": 3,
            "line": 415
          },
          {
            "b": "az+$avqE61wNPaXAV^H/xjVf(w[=pbByeY)vpS}\u0026uTW?.uVQsfx(EB6xLzN1B8UL$wHIk6vpS}\u0026B1wBYss)0XA^7@jwmYp6nn\u0026M\u003ecN/xBaAz4nB-IvxxK$Q.wPw]4zE:(6wNPaXAYN\u0026OBZ=:Dumo2:el%+Pei+:pbQUb=cNyF{dgfT7wc@VWz!0i(azb+lv@#B6zxJO6ByeZ1B97=bvqPN7xK$Q.wPz\u0026v3lQEiwPS6nzxJO6ByeS#A^7@jwmYpUAa9=}",
            "ln": 15007,
            "col": 2,
            "line": 502
          },
          {
            "b": "B7n({zdK?MaA8jvB1RGAwnc6}v@#72A+O)4v}YB\u003cwGU]iazkncuVPZ\u003cwO(0bxK$Q.wPz\u0026v3lQEcz!0i(aztXmBrAZ?xjVf(xM4%luV6p?wHIk6vpS}\u0026B14CsazCBgzF%RtxM4%laARpdzvdHearSl/aAhmuB7]91C{2TSr8sX(e?!zRzE:(czY?O?B95KrwNPaXATA{iarUxgaAIanB7]MgaARpdzxK1iB8#5lzAqozz/YFrdiJhtwc%C4arUMmCRiMLx(\u003e+vxlT",
            "ln": 15646,
            "col": 9,
            "line": 523
          },
          {
            "b": "b64moBA]GVvqYQ]z6yzoarUGsv{%f@A+frlD0+SmA+PA7auZ\u0026/wPq\u003cbA+cTyA+frlC}KeWA+PA7a$i\u003cwaz+$avqE5$A=IG]arSl/azkn6wPzj3wGV5ovru66vqYP#zF%A5wEoL5y\u0026r/(y-)!vvru66jS[=RB98XmB98CpzF7Ozz^Nf?CQNPzB98XmA:-\u0026@z/4ao",
            "ln": 18963,
            "col": 32,
            "line": 637
          },
          {
            "b": "zEWlb3lQDlayPd#aAz4mBA}kmBAh8kxd!pAuUB1}c#@)uBA}klvqYQ]z7YpyBy/Iwf/yEf3lQEcz!0i(ay/t2wNxQ(A+Pc1wPw[RaA8jvB1RPRwNxy(v}u=\u003ezE:(0hz/L%y::snB98XmA:-\u0026@z/4aoD30Rsc]iRcdgcz8at2e/vrlH3zdmr)aARpdaAg+fvqPN$wPz\u0026mBz\u0026pzxK@q{B-.qdzGGP5vruj4zxJ$hADL\u0026lBp6cky\u0026r/(y-)X9A:-*aauZ?",
            "ln": 19182,
            "col": 54,
            "line": 643
          },
          {
            "b": "z!9A6ed9HxarU-nz/xngjS[VZBAo6Qv@Dr$ayPd#aA8jvB1RJzz/xngz/M%Az/xo9x\u003eet$zddc{aAhvtw[=6)a$K6zarR!EwN]H}wN/*?B-IgsjS[VZwO#i)v{-\u003eWByf61wnc6}v@#72A+M}uAccdLaAIanB7]Mgdj+/GarR!FByxo5auZ\u0026*Byxo5ed9HxEf{r7azCBgzF%A5wGV8dwO}?$arR!Cvrb^[B1RuGzEWl2jS[SXzEWk+arUlkwc@U^azCBgAb](lAc9jAxK#5*arR^HAa9=}zf4sGA=k/lBrAZ?Ab](lAc8Bfaz2C33jm)#x\u003ewGaAccdNwnca7y*?PiBzbl6",
            "ln": 19445,
            "col": 23,
            "line": 650
          },
          {
            "b": "wnca7y*?PijS[VZBAo6Bx(!lfvr\u0026h5az2C33jm)#x\u003ewF$z!9A^C4CYdw[+*%aARpdzvdHearUSiA:-*ae[n*gwNw}XvqG:\u003ezF9J/zdN*5z!6$Nasy8yh8V/?arR^HAa9=}zf4stz!9A^v}Yp!y?mG%wGTbUz/xo9x\u003egZXB22Qhc$vgawNxQ(A+Pc1wPxjbarUlkwc@U^azCBgz/x/te]\u003eJAAbPSnwNxp)wmV)9xK#5*arR^HAa9=}zf4sIwPI*ezGxw@zeS@@auZ\u0026=AccdNA+frhz/fScuU%Z(wEoL5wO#2=3lQDyeG![wA+w@avqZukAb](ux\u003eg^=az2!tA:Z8fvrb^[wPRF",
            "ln": 19733,
            "col": 12,
            "line": 665
          },
          {
            "b": "x)Kifx(v(@B97\u0026jwPI6%Byxo5t{8oMDKp(rarUMuzEWl2jS[SXzEWle3lQDlay/t2wNxQ(A+Pc1wPw[Ray/t2wNxQ(A+Pc1wPxsearR^Hz/PM8x(mu}uV*y9auZ\u0026?vrc0(Byffhy+b]oarR!pA+eW3wN]dRBrAZ?zF%.aarV7tarUPwwO#i)v{:g}B-7+$vrDW9z/PMrvruj4zEmEbvru74c#T6DB1wCxB-.qnA+P\u0026dBzkVhuVQr$By/IAaAITkBy=)",
            "ln": 20426,
            "col": 9,
            "line": 693
          },
          {
            "b": "B7GCwb6d\u003cmBy=TEaAITkBy=)darU-pB8#5lzAq\u0026IBsntJz/f5@a$K\u003cOz/f5@dgdguB7GAlx(v(IB7GCwb4CL4wNxQ(A+Pc1wPw$Cay/t2wNxQ(A+Pc1wPxjbarU-pB8#5lzAq\u0026IBsntHvrlJ$vrDW9wO#Q7v{%E\u003cwfJMEzF%.F3jm)#x\u003ewGaAccdNy?WG)v%IN2wGUA0wft/fBAo6Jx\u003ey{^D1gV4e]LSmv@=c?By!#9Bzbl63lQDlaz2OlauZ\u0026=AccdNy?WG)v%IN2wId[suT[9",
            "ln": 20779,
            "col": 11,
            "line": 704
          },
          {
            "b": "B1Q%sx\u003eqg7uVHi@uVp41C42G7uU:j#uUK3TarR^HwO#2=3lQDlaz+$avqE6buUT!bauZ\u0026/wPq\u003cbA+cTyA+frlC}J\u0026QBrSdvarR^HvSb!5e[nZiwO#P%vrlH3A==2lzxI7+A:JN9BujFSxkPbkwQb*HvrlH3A==2lzyC]narR!yz!yE^mm70AefFwzBz8^He*8u0ay/k4wO#P%x\u003ee+qv@b\u003c\u003czGGk]B8$]kBzkVhuVZNjwGUA0wftw#x\u003eqg7uJ",
            "ln": 27182,
            "col": 33,
            "line": 895
          },
          {
            "b": "wPz/ljS[VZwO#i)v{-+=z/x65A=k(dc#T6DB1wBTp!$1?a$K\u003cFzE^Z8x(n2zaz$[fed9HxarR^HarR^Hwn(EauV6!1v}u^3AV/ptwO#i)v{-\u003eWByeM$z/x63z/f5@",
            "ln": 28740,
            "col": 14,
            "line": 946
          },
          {
            "b": "A9)H3zEWlb3lQDlazCBgzF%Rtz/x/te{hkDuU1a]A3fmowO}?$arR^HaAz4nB-IvxDKp(rarR^HarT(jl3mo.z/PMrvruj4zx-vejS\u003e}nwNPQ\u003cAV=LGe?OnPv}f7\u003eB6\u003c3cyH}xm3lQDlarR!P3lQDlaz2C33jm)#arUGsv{%f@Ab](nw?k6zA=k(duUam#auZ\u0026=AaJ{3wmF$SAbPY5Ab](nw*?OpBAn#Qb1C73a$K\u003cPAccdNwnc9{z*2YjC}KkXwPzH5w]z3/zE^Z8x(n2zayO+\u0026wPI{1Bz\u003e@azy=bqarR^HarR!qAbPY5",
            "ln": 33883,
            "col": 38,
            "line": 1104
          },
          {
            "b": "AbY-oBy!#9x(k5gwPRu\u003evrt{4dgdguarR^HarR^HA+frmy\u0026*^.aA8jvB1RMMyH}x\u003cwO#3$z!T9huTX80xKtQ/BzbP63lQDlarR^HarR!oA+eV{3lQDlarR^Haz2C33lQDl",
            "ln": 37408,
            "col": 154,
            "line": 1198
          },
          {
            "b": "3jpP/v{%f@CxdbhauZ?}cOu+}i=X!Jc]J[h3jpP/v{%f@wO#W5y\u0026so7auZ?\u003eeIeLaeKz(@nLQxOB1F%}eIgjBc39seeIeLaeK-A5ash7XeIeLatY7.)3t:S\u003cvqE5#B-7Yhx(v(iwmY^pAaJ(mwmoN*efG4WA48bpaAR)FauZ\u0026?D2L/!AbYxec[coSAV=L[mn^8RmOb%kr7d#rarUi6ByupPayWk=c$D+dvjqKaaAz4nB-IvxB98CpzF7Olz/PY6BspZrC4CGdAaHNyBA}*Ray[]5vle4xBZ=+yA:-]raswD?tY7]uasFEBvrt{2eG=+%atj\u0026}g:%%#BA}*O3t19=3jmbRz!0i(azb+lv@#B6zxF",
            "ln": 41024,
            "col": 4,
            "line": 1323
          },
          {
            "b": "w/$]3zFa68auQ=2CSmx1Bzbl63lQDlaAz4nB-IvxB98CpzF7OixKL{fy?mG%Bz99garUliB7G5$az+Rbxlm/fjrMt5f!+p7Bzbl63lQDlaAz4nB-IvxB98CpzF7OixKL{ffNbL",
            "ln": 41339,
            "col": 4,
            "line": 1337
          },
          {
            "b": "zFKqojS[/+y?W##vThr\u003cxMXidd0NQVtqozmat#593lQEcz!0i(aAg[eauZ?\u003eeIeLaeKz(@nLQx}mn^8RmOb%kr7ew\u003ceIeLVzxZhQe^-ZzarR^HBywS{wIdFhzEW9%c$u}kzFKqAar\u003e6da$jS!e^-ZzarR^Hb3Y1qeIeLamnuk[lQ:)LnK=osk#Zo8eIeLaa{]Cny\u0026r@ml}6Bxm\u003et=bm}DNHA::63wfsYqo^1j.C{3Ztz/3RwhdFV\u003eefF[yz7b/maAz4nB-IvxAaJ\u003e[wO#2=3t:S\u003cvqE5#B-7Yhx(v(iz/xo9x\u003egZXAaJ([",
            "ln": 42666,
            "col": 12,
            "line": 1382
          },
          {
            "b": "asItSAaHCoAccdNwnc9{z*2YjC}J\u0026QyJA\u003c9A+M%BjV%]iB98CpzF7dxaA8oyc#T6DB1R0qB7ociwPA5GyiKDmuV*y6au.\u003ega%FDUBzbl63lQDlaAz4nB-IvxzFr]rar\u003e-yBAo6Bx(^^5C4CYte]2PCB6\u003c6gx=}bhaz#ataAhvjB7GlhaA8oyzF%RtvixSkA+PA7a{]CnwO#2=3lQEcz!0i(ay!?\u0026xK$K+wfs2Tz/x/te[wWqv@DK4A^ooLCwv",
            "ln": 43614,
            "col": 40,
            "line": 1414
          },
          {
            "b": "a%nG\u003cayP80atbn?b3Vro3lQE5zE:7YarUGsv{%f@B7F\u003c4wPOn4azCBgx(^S\u0026y?EWbx([39uVQveAbP=swN)i7CxvhgvRNJewNPaXAW-bMxK#5*arR^Hx\u003ewGgB7GA1vrh",
            "ln": 47143,
            "col": 60,
            "line": 1526
          },
          {
            "b": "arR^UeG/jBy\u0026%p@arR^Hy\u0026r/(y-)FpByfi1y?WA*Bz(hvauZ\u0026/wPq\u003cbA+cTyA+frlC}J\u0026QBs?VAy?WA*Bz(hva$i\u003cwarR!wCxvhnvqGT*vruBdB1RJBByf9mB97#guU\u003cp+Cvt+Bz/x/te[[:ouVQ3(v@0h}zE:(dAccdNx\u003c(9\u003cB8kn{yANLoatCS9dgdguwO#2=3lQEaCxvhg",
            "ln": 48211,
            "col": 2,
            "line": 1558
          },
          {
            "b": "v@C)?aA8oyzF%Rtvrc14e]#byBy=OpxK#5*arR^HwPz/ljS\u003e}\u003ezFiD@wnC*/aAz4kB.bSoaARJABzbkdA+e=}A+e:5uV*y6iV]Q?e?On:xlV4Lvr9#vwPq\u003c7B97=iA+L\u003e6arR!yz!yE!qC{p*efFIAAW.trarR!EwPS6nzxJ?hy+cYuA=JYNB7GAlx(v(IxjVfkb5.Hoxk8l(y*Rs9y:7qVaAIanB7]Mg3lQE5zE:7YarSl/ay/7@v@0iexKM09",
            "ln": 51456,
            "col": 15,
            "line": 1651
          },
          {
            "b": "zdN*2A=SvBzY\u003cdnwGV8kyH}xawO#3$z!T9h3lQEcz!0i(ayYn1C{2l)DKp(rarUrqvqZf]BA}?pauZ?\u003evrDW9z/PMrvruj4zEl)(wmV@o3lQDlay/t2wGTbUvrc14e[n*gwH[fharR!EwN]H}wN/*?B-IgsjS[VZwO#i)v{-\u003eWByf61wnc6}v@#72A+M}uAccdLaAIanB7]Mgdj+/GarR!FByxo5auZ\u0026QA+xCCB97\u0026jwH[fharR!pz!9A^C4CYdw[+*%auZ\u0026QB-.qnA+P\u0026dBzkVhuVQr$By^7mz!9A^C4CYdw[+*%3lQEt3jm)#y\u0026r@ml}6Bxm\u003et=bl3mo.wO#Q7v{%E[z/cXwx([2hpF-fAz/fbeeJ$pAvqG:]zF77/p-@.QyH}xamq=TPz!T9haARJAz^)/%x(k5nz!\u0026{4B0r4u3lQEcz!0i(ay/LmA+fcguVZ10wGTbUzFahDBzkP6c\u0026",
            "ln": 53187,
            "col": 23,
            "line": 1688
          },
          {
            "b": "xLzvaaA8oyzFr[]arUGsv{%f@vSb!5auZ\u0026]3lQDlaARKqwO@RNaARKqwO}?$aBKOtazCBgBz\u003e@azEmHhAaJx\u0026x(n2nBzbl63lQDlayYn1D0qUrz!\u0026{4uVZNjwNxa+zGEmi",
            "ln": 56618,
            "col": 38,
            "line": 1793
          },
          {
            "b": "wnC*1y\u0026r%8B-W$bz!0i(azb+lv@#B6zxJ\u003epwO#i)v{:4\u003cxk.{mc#T6DB1wCPwPI{bz/d0harUGsv{%f@B7GAlx(v(@Bz\u003e@azxI7+B7GAlx(v(IxjVfkb4UU4uUK4TBz\u003e@azxZIparUGsv{%f@vpJ!UB8$Ygz!\u0026{4auZ\u0026*wPI{bz/dQGwPPsAvpJ!UB8$Ygz!\u0026{4a$i\u003cwaz+$avqE6bwOb%]B7!{5z!\u0026{4auZ\u0026*wPI{bz/dQGwPPsAA+e\u003c6wPIJ(Bn",
            "ln": 59744,
            "col": 7,
            "line": 1889
          },
          {
            "b": "jS\u003e}5a{]CnarUMmCRiVvvpS}\u0026toWf3mSI{OwI3X%BzkVhB0s)jjS\u003e}pmnu#f3lQDlaz$?pe[!*8wmY^lv@DmbwO#P%BA}?pauZ?\u003ex(do\u003ewIn1uxcEW9arR!AxlV4FA+PAkc#T6ozFrS\u003euVZr%zGx=9A+fcguVo.7wO-!5arR^HzFahDwQ4{hc#JWxe(ba?3lQDlaAz4nB-IvbarUliB7G5$aA8jvB1RGAwnc6}v@#6^w]}Q8uU\u003cT[z/{eeB-Igsz/M$sAccdNwn8",
            "ln": 60865,
            "col": 27,
            "line": 1925
          },
          {
            "b": "A+e=}A+e:5uTWL*wPzc]z!B0hByffhx^\u003efkzE:(hwPI{bz/e{7z!\u0026{4aARpdzvdHearR^HAa9=}zf5]9x\u003egN)z!\u0026{4uUBd\u003eBrU0kjS[/SB8#5lzEmH7yH}w\u003carR^HwO=B0x\u003ewGaAccdNA+e=}A+e:5uTWL*wPzc]z!B0hByflaBzb2\u003ey?WD#Bye-)ayPd#aA8jvB1Q%sx\u003eqg7uUK3[Bzbl63lQDlarR!Cvrb^[B6x?#y?WD#Bye-)b3=rOaA8jvA@",
            "ln": 61366,
            "col": 67,
            "line": 1939
          },
          {
            "b": "vqQ6mdgdguwO#2=3lQEexlV4xwNPaXAXp\u003cuzGGDcByfcnAaHdPar\u003e]sCYUPLBzU?r3lQEexlV4Ivr\u003cmBjzn?Ny^6%\u003cz!abSoMaMRwN(]VB-Y-0vSb!5k0gGiBzU?Ta$i\u003cwaz$?pe[GowBsq3tCRh=+dgfT7wc@U}eG/7BBAIRwB0a)lC42i3wftq\u003cv}x.5uVZj4wO@RswP?T5BAI2dy\u003cvdzwOb%]B7/o9xcqqfwGV8kyH}xj3t:S\u003cvqC",
            "ln": 62050,
            "col": 90,
            "line": 1953
          },
          {
            "b": "wO\u003e))wGV8dwGU@2A:-/@By/GlaARJABzbkdBz\u003e@azxJIdwn(E3zGDjdaz+$avqE5}z!abojS]7UarR^Hxl4A#ByfcnAaHdPar\u003e\u0026qw].E7xKt\u003e1yH}xced9HxarUYow].E7xKt\u003e1yH}xajS[=Rw].E7xKt\u003e1yH}xm3lQDlaAI4hAaHdPaA8jvB1RJzz/xngvqYP#z/x/te]$JvAaHegAV=MAAaJ{3wftD2vqfK2Ab](ex(4u83lQEt3lQE9w/#2hBAo6SB7FY?AbPXrBzbj",
            "ln": 63022,
            "col": 9,
            "line": 1993
          },
          {
            "b": "l}6Bxm\u003et=bvpJ!UB8$Ygz!\u0026{4aAz49A+fr9wN)?Aa$K\u003cKB8L}GvpJ!UB8$Ygz!\u0026{4efDbVB-p(1By!#9A+e\u003c6wPIJ(Bz\u003e@azAn):efFXGz/dgFwOb%]B7!{5z!\u0026{4dgcz8aAIanB7]Mgi=!\u003eOc)A8fv}x.5uVZj4wO@XyazL$ozz2vcv}x.5uVZj4wO@}7arU-pB8#5lzAq\u0026IBsntwv}f7\u003eB6\u003c3cyH}x\u003cwQ5fdA::67z/c:Iay/LmA+fcguVZ10wGQ",
            "ln": 63773,
            "col": 7,
            "line": 2016
          },
          {
            "b": "a$i\u003caarR^Hx\u003ewG9z/^aywPI{bz/e{3A+fr6zGE1yxK#5*arR^HarUloAV^H/b64mmB.bSoaARJABzbkdA+e=}A+e:5uV*y6aAg+hxDQ=bBrCWswPzufB0bvsaAIanB7]MgaAITkBy=Obz/]@da{]CnarR^Hy\u0026r@mmn^2Vqy\u0026@4A=JPoarR^HarUYoBAIRwaz$[fefFIAAX5tPvrc0(Byffhy+cYIwPI{bz/b[8arR!rzE:7YarR^HA+funA=91rAaJ{3wmF$PB-.qnA+P\u0026dBzkVhuVG.0AbPSnwHIFoBAm",
            "ln": 66473,
            "col": 126,
            "line": 2097
          },
          {
            "b": "zxJ$hzeTPay-)g#w]zZ3aAz47x(W={BzkS9aARJAzE[6maAIToA3f7haz+$ez/{dAAb](bwPI]pdgcz8arR!rA=Jo=az2CiB-I52v@Dl%x\u003eF\u0026jAccdI3lQDlazCBgwPz/lBn",
            "ln": 66913,
            "col": 95,
            "line": 2110
          },
          {
            "b": "wO}?$arR^Haz+$ec}d3ipF@.^b5zgsBrC14v}x.5aARKqwO%KMatbn?wPz/u3lQDlarR!rA=Jo=az$[f3lQDlaz2C33lQDlazCBgzF%RtvpJ!UB8$Ygz!\u0026{4aARpdzvdG",
            "ln": 67653,
            "col": 14,
            "line": 2133
          },
          {
            "b": "z/d9GBAhIndgdguB7GAlx(v(Iv@c78wHF#marUYoBAIRwaARKqwO%4wwPz!#wO#2=3jnvpazkncayPdgpEfbBxDP5.fD:?ovrb}1ayO+\u0026wPI]nBz\u003e@azxJLiz/3RsxK@qSr8=WpA+flkwPI@ov@Dp3x\u003eqt)y\u0026r/(y-)tjzEW^5z/cXoAaJ{3wmF$VwPRo*wNPQ\u003cA:Jl+v}x.5uVZj4wO$\u003c!A=k/4v@Dp3x\u003enYhAccdI3jm)#y\u0026r/(y-)qfAS",
            "ln": 70712,
            "col": 54,
            "line": 2228
          },
          {
            "b": "w)]y\u0026wN({9zY\u003c1wvR/+1xDR2bBAhqvAaJK3x(v(iA+frmy\u0026?YXa%nG\u003caz2OldgdguwO#2=wO#2=3n0?Lzddc@aAzyyBzkS7azbLjawUpCBz8^Le?!z\u0026z!\u0026{4azC.nA=l1",
            "ln": 79741,
            "col": 16,
            "line": 2519
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "token_auth_method_precondition"
            ],
            [
              "",
              "token_auth_method_precondition"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "supported"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "resty_random.bytes"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "openidc_dpop_public_jwk_private_field"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "openidc_validate_dpop_public_jwk"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "openidc_json_member"
            ],
            [
              "",
              "openidc_json_member"
            ],
            [
              "",
              "openidc_json_member"
            ],
            [
              "",
              "openidc_json_member"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "openidc_json_member"
            ],
            [
              "",
              "openidc_json_member"
            ],
            [
              "",
              "openidc_json_member"
            ],
            [
              "",
              "tostring"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "openidc_sha256"
            ],
            [
              "",
              "openidc_unsupported_dpop_signing_alg_error"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "pkey.new"
            ],
            [
              "",
              "openidc_dpop_signing_params"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "openidc_validate_dpop_public_jwk"
            ],
            [
              "",
              "openidc_unsupported_dpop_signing_alg_error"
            ],
            [
              "",
              "openidc_supported_discovery_value"
            ],
            [
              "",
              "openidc_random_jti"
            ],
            [
              "",
              "openidc_dpop_htu"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "openidc_sha256"
            ],
            [
              "",
              "openidc_dpop_sign"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "next"
            ],
            [
              "",
              "r_session.start"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "is_session_present"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "dict.flush_all"
            ],
            [
              "",
              "dict.flush_expired"
            ],
            [
              "",
              "openidc_cache_invalidate"
            ],
            [
              "",
              "openidc_cache_invalidate"
            ],
            [
              "",
              "openidc_cache_invalidate"
            ],
            [
              "",
              "openidc_cache_invalidate"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "get_first"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "get_first"
            ],
            [
              "",
              "get_first_header"
            ],
            [
              "",
              "get_first_header"
            ],
            [
              "",
              "get_forwarded_parameter"
            ],
            [
              "",
              "get_first_header_and_strip_whitespace"
            ],
            [
              "",
              "get_first_header_and_strip_whitespace"
            ],
            [
              "",
              "get_forwarded_parameter"
            ],
            [
              "",
              "get_host_name_from_x_header"
            ],
            [
              "",
              "ngx.req.get_headers"
            ],
            [
              "",
              "get_scheme"
            ],
            [
              "",
              "get_host_name"
            ],
            [
              "",
              "ngx.exit"
            ],
            [
              "",
              "next"
            ],
            [
              "",
              "string.find"
            ],
            [
              "",
              "ngx.encode_args"
            ],
            [
              "",
              "http_request_decorator"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "openidc_sha256"
            ],
            [
              "",
              "can_use_token_auth_method"
            ],
            [
              "",
              "openidc.call_token_endpoint"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "resty_string.to_hex"
            ],
            [
              "",
              "resty_random.bytes"
            ],
            [
              "",
              "resty_string.to_hex"
            ],
            [
              "",
              "resty_random.bytes"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "resty_random.bytes"
            ],
            [
              "",
              "openidc_get_redirect_uri"
            ],
            [
              "",
              "openidc_s256"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "openidc_dpop_jwk_thumbprint"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "openidc_prune_authorization_states"
            ],
            [
              "",
              "opts.lifecycle.on_created"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "openidc_pushed_authorization_request"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "ngx.redirect"
            ],
            [
              "",
              "openidc_combine_uri"
            ],
            [
              "",
              "openidc_is_expected_response_status"
            ],
            [
              "",
              "cjson_s.decode"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "get_first_header"
            ],
            [
              "",
              "get_first_header"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "b64"
            ],
            [
              "",
              "ngx.escape_uri"
            ],
            [
              "",
              "ngx.escape_uri"
            ],
            [
              "",
              "b64"
            ],
            [
              "",
              "ngx.escape_uri"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "openidc_supported_discovery_value"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "openidc_random_jti"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "ngx.req.get_headers"
            ],
            [
              "",
              "string.gmatch"
            ],
            [
              "",
              "table.insert"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "openidc_shallow_copy"
            ],
            [
              "",
              "openidc_apply_client_auth"
            ],
            [
              "",
              "openidc_dpop_proof"
            ],
            [
              "",
              "openidc_get_dpop_nonce"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "ngx.encode_args"
            ],
            [
              "",
              "http.new"
            ],
            [
              "",
              "openidc_configure_timeouts"
            ],
            [
              "",
              "openidc_configure_proxy"
            ],
            [
              "",
              "decorate_request"
            ],
            [
              "",
              "ngx.encode_args"
            ],
            [
              "",
              "request_token_endpoint"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "openidc_dpop_nonce_from_response"
            ],
            [
              "",
              "openidc_set_dpop_nonce"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "request_token_endpoint"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "openidc_dpop_nonce_from_response"
            ],
            [
              "",
              "openidc_set_dpop_nonce"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "openidc_parse_json_response"
            ],
            [
              "",
              "openidc_validate_dpop_token_response"
            ],
            [
              "",
              "cjson_s.decode"
            ],
            [
              "",
              "unb64url"
            ],
            [
              "",
              "cjson_s.decode"
            ],
            [
              "",
              "unb64url"
            ],
            [
              "",
              "log"
            ],
            [
              "",
              "openidc_cache_get"
            ],
            [
              "",
              "http.new"
            ],
            [
              "",
              "openidc_configure_timeouts"
            ],
            [
              "",
              "openidc_configure_proxy"
            ],
            [
              "",
              "decorate_request"
            ],
            [
              "",
              "openidc_parse_json_response"
            ],
            [
              "",
              "openidc_cache_set"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "cjson.decode"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "openidc_discover"
            ],
            [
              "",
              "openidc_ensure_discovered_data"
            ],
            [
              "",
              "openidc_dpop_proof"
            ],
            [
              "",
              "openidc_get_dpop_nonce"
            ],
            [
              "",
              "userinfo_headers"
            ],
            [
              "",
              "http.new"
            ],
            [
              "",
              "openidc_configure_timeouts"
            ],
            [
              "",
              "openidc_configure_proxy"
            ],
            [
              "",
              "decorate_request"
            ],
            [
              "",
              "request_userinfo"
            ],
            [
              "",
              "openidc_dpop_nonce_from_response"
            ],
            [
              "",
              "openidc_set_dpop_nonce"
            ],
            [
              "",
              "userinfo_headers"
            ],
            [
              "",
              "request_userinfo"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.find"
            ],
            [
              "",
              "openidc.jwt_verify"
            ],
            [
              "",
              "openidc_parse_json_response"
            ],
            [
              "",
              "can_use_token_auth_method"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "can_use_token_auth_method"
            ],
            [
              "",
              "openidc_ensure_discovered_data"
            ],
            [
              "",
              "openidc_get_token_auth_method"
            ],
            [
              "",
              "openidc_ensure_discovered_data"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "openidc_cache_get"
            ],
            [
              "",
              "http.new"
            ],
            [
              "",
              "openidc_configure_timeouts"
            ],
            [
              "",
              "openidc_configure_proxy"
            ],
            [
              "",
              "decorate_request"
            ],
            [
              "",
              "openidc_parse_json_response"
            ],
            [
              "",
              "openidc_cache_set"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "cjson.decode"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "table.insert"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "b64"
            ],
            [
              "",
              "string.format"
            ],
            [
              "",
              "string.char"
            ],
            [
              "",
              "string.char"
            ],
            [
              "",
              "string.char"
            ],
            [
              "",
              "math.floor"
            ],
            [
              "",
              "error"
            ],
            [
              "",
              "of"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "string.char"
            ],
            [
              "",
              "encode_length"
            ],
            [
              "",
              "encode_length"
            ],
            [
              "",
              "encode_sequence"
            ],
            [
              "",
              "encode_length"
            ],
            [
              "",
              "split_by_chunk"
            ],
            [
              "",
              "table.concat"
            ],
            [
              "",
              "unb64url"
            ],
            [
              "",
              "unb64url"
            ],
            [
              "",
              "encode_sequence_of_integer"
            ],
            [
              "",
              "der2pem"
            ],
            [
              "",
              "encode_sequence"
            ],
            [
              "",
              "encode_sequence"
            ],
            [
              "",
              "encode_bit_string"
            ],
            [
              "",
              "openidc_ensure_discovered_data"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "openidc_cache_get"
            ],
            [
              "",
              "openidc_jwks"
            ],
            [
              "",
              "get_jwk"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "openidc_pem_from_x5c"
            ],
            [
              "",
              "openidc_pem_from_rsa_n_and_e"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "openidc_cache_set"
            ],
            [
              "",
              "string.sub"
            ],
            [
              "",
              "string.sub"
            ],
            [
              "",
              "string.sub"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "string.match"
            ],
            [
              "",
              "openidc_load_jwt_none_alg"
            ],
            [
              "",
              "is_algorithm_expected"
            ],
            [
              "",
              "is_algorithm_supported"
            ],
            [
              "",
              "uses_asymmetric_algorithm"
            ],
            [
              "",
              "openidc_pem_from_jwk"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "jwt_validators.set_system_leeway"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "openidc_load_jwt_and_verify_crypto"
            ],
            [
              "",
              "is_algorithm_supported"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "openidc_validate_id_token"
            ],
            [
              "",
              "ngx.req.read_body"
            ],
            [
              "",
              "ngx.req.get_post_args"
            ],
            [
              "",
              "ngx.req.get_uri_args"
            ],
            [
              "",
              "openidc_authorization_state"
            ],
            [
              "",
              "ensure_config"
            ],
            [
              "",
              "openidc_get_redirect_uri"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "openidc.call_token_endpoint"
            ],
            [
              "",
              "openidc_load_and_validate_jwt_id_token"
            ],
            [
              "",
              "next"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "openidc.call_userinfo_endpoint"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "openidc_access_token_expires_in"
            ],
            [
              "",
              "opts.lifecycle.on_authenticated"
            ],
            [
              "",
              "ngx.redirect"
            ],
            [
              "",
              "ensure_config"
            ],
            [
              "",
              "openidc.call_token_endpoint"
            ],
            [
              "",
              "openidc_ensure_discovered_data"
            ],
            [
              "",
              "openidc_revoke_token"
            ],
            [
              "",
              "openidc_ensure_discovered_data"
            ],
            [
              "",
              "openidc_revoke_token"
            ],
            [
              "",
              "openidc_revoke_token"
            ],
            [
              "",
              "ngx.req.get_headers"
            ],
            [
              "",
              "get_first"
            ],
            [
              "",
              "tonumber"
            ],
            [
              "",
              "table.sort"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "opts.lifecycle.on_logout"
            ],
            [
              "",
              "openidc_destroy_session"
            ],
            [
              "",
              "openidc_revoke_token"
            ],
            [
              "",
              "openidc_revoke_token"
            ],
            [
              "",
              "request_prefers_png_over_html"
            ],
            [
              "",
              "ngx.print"
            ],
            [
              "",
              "ngx.exit"
            ],
            [
              "",
              "ngx.redirect"
            ],
            [
              "",
              "openidc_combine_uri"
            ],
            [
              "",
              "ngx.redirect"
            ],
            [
              "",
              "openidc_combine_uri"
            ],
            [
              "",
              "ngx.say"
            ],
            [
              "",
              "ngx.exit"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "ensure_config"
            ],
            [
              "",
              "openidc_set_dpop_nonce"
            ],
            [
              "",
              "openidc.call_token_endpoint"
            ],
            [
              "",
              "openidc_load_and_validate_jwt_id_token"
            ],
            [
              "",
              "openidc_access_token_expires_in"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "opts.lifecycle.on_regenerated"
            ],
            [
              "",
              "openidc_get_path"
            ],
            [
              "",
              "is_session"
            ],
            [
              "",
              "openidc_start_session"
            ],
            [
              "",
              "is_session_present"
            ],
            [
              "",
              "openidc_get_path"
            ],
            [
              "",
              "openidc_get_redirect_uri_path"
            ],
            [
              "",
              "openidc_authorization_response"
            ],
            [
              "",
              "ensure_config"
            ],
            [
              "",
              "openidc_logout"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "openidc_access_token"
            ],
            [
              "",
              "ensure_config"
            ],
            [
              "",
              "openidc_authorize"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "ensure_config"
            ],
            [
              "",
              "openidc_authorize"
            ],
            [
              "",
              "store_in_session"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "openidc_start_session"
            ],
            [
              "",
              "openidc_access_token"
            ],
            [
              "",
              "ngx.req.get_headers"
            ],
            [
              "",
              "openidc_get_bearer_access_token_from_cookie"
            ],
            [
              "",
              "ngx.req.get_headers"
            ],
            [
              "",
              "trim"
            ],
            [
              "",
              "get_first"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "string.lower"
            ],
            [
              "",
              "openidc_ensure_discovered_data"
            ],
            [
              "",
              "get_introspection_endpoint"
            ],
            [
              "",
              "get_introspection_cache_prefix"
            ],
            [
              "",
              "openidc_cache_get"
            ],
            [
              "",
              "get_introspection_cache_key"
            ],
            [
              "",
              "openidc_cache_set"
            ],
            [
              "",
              "get_introspection_cache_key"
            ],
            [
              "",
              "pairs"
            ],
            [
              "",
              "get_introspection_endpoint"
            ],
            [
              "",
              "openidc.call_token_endpoint"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "set_cached_introspection"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "cjson.decode"
            ],
            [
              "",
              "get_introspection_coordination_result"
            ],
            [
              "",
              "math.min"
            ],
            [
              "",
              "ngx.sleep"
            ],
            [
              "",
              "get_introspection_coordination_result"
            ],
            [
              "",
              "math.min"
            ],
            [
              "",
              "get_introspection_coordination_result"
            ],
            [
              "",
              "openidc_get_bearer_access_token"
            ],
            [
              "",
              "introspect_access_token"
            ],
            [
              "",
              "get_cached_introspection"
            ],
            [
              "",
              "decode_cached_introspection"
            ],
            [
              "",
              "introspect_access_token"
            ],
            [
              "",
              "get_introspection_cache_key"
            ],
            [
              "",
              "b64url"
            ],
            [
              "",
              "openidc_sha256"
            ],
            [
              "",
              "openidc_random_jti"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "acquire_introspection_lock"
            ],
            [
              "",
              "decode_cached_introspection"
            ],
            [
              "",
              "cjson_s.decode"
            ],
            [
              "",
              "introspect_access_token"
            ],
            [
              "",
              "get_cached_introspection"
            ],
            [
              "",
              "decode_cached_introspection"
            ],
            [
              "",
              "introspect_access_token"
            ],
            [
              "",
              "get_cached_introspection"
            ],
            [
              "",
              "release_introspection_lock"
            ],
            [
              "",
              "decode_cached_introspection"
            ],
            [
              "",
              "cjson_s.decode"
            ],
            [
              "",
              "release_introspection_lock"
            ],
            [
              "",
              "introspect_access_token"
            ],
            [
              "",
              "cjson_s.encode"
            ],
            [
              "",
              "publish_introspection_result"
            ],
            [
              "",
              "math.max"
            ],
            [
              "",
              "release_introspection_lock"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "openidc_cache_get"
            ],
            [
              "",
              "get_jwt_verification_cache_prefix"
            ],
            [
              "",
              "openidc_cache_set"
            ],
            [
              "",
              "get_jwt_verification_cache_prefix"
            ],
            [
              "",
              "select"
            ],
            [
              "",
              "get_cached_jwt_verification"
            ],
            [
              "",
              "openidc_load_jwt_and_verify_crypto"
            ],
            [
              "",
              "cjson.encode"
            ],
            [
              "",
              "set_cached_jwt_verification"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "cjson.decode"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "ngx.time"
            ],
            [
              "",
              "openidc_get_bearer_access_token"
            ],
            [
              "",
              "openidc.jwt_verify"
            ],
            [
              "",
              "cjson"
            ],
            [
              "",
              "cjson.safe"
            ],
            [
              "",
              "ngx.base64"
            ],
            [
              "",
              "resty.http"
            ],
            [
              "",
              "resty.jwt"
            ],
            [
              "",
              "resty.jwt-validators"
            ],
            [
              "",
              "resty.openssl.pkey"
            ],
            [
              "",
              "resty.random"
            ],
            [
              "",
              "resty.session"
            ],
            [
              "",
              "resty.sha256"
            ],
            [
              "",
              "resty.string"
            ]
          ],
          "mbr": [
            "a.media_range",
            "a1.quality",
            "a2.quality",
            "args.client_id",
            "args.code",
            "args.iss",
            "args.state",
            "assertion.header",
            "assertion.header.kid",
            "authorization_state.code_verifier",
            "authorization_state.nonce",
            "authorization_state.original_url",
            "body.client_assertion",
            "body.client_assertion_type",
            "body.client_id",
            "body.client_secret",
            "cjson.decode",
            "cjson.encode",
            "cjson_s.decode",
            "cjson_s.encode",
            "completed.err",
            "completed.json",
            "data.created_at",
            "dict.flush_all",
            "dict.flush_expired",
            "header.alg",
            "headers.Authorization",
            "headers.Cookie",
            "headers.DPoP",
            "http.new",
            "id_token.aud",
            "id_token.exp",
            "id_token.iat",
            "id_token.iss",
            "id_token.nonce",
            "id_token.sub",
            "json._dpop_nonce",
            "json.access_token",
            "json.active",
            "json.exp",
            "json.expires_in",
            "json.id_token",
            "json.refresh_token",
            "json.request_uri",
            "json.token_type",
            "jwk.crv",
            "jwk.e",
            "jwk.kty",
            "jwk.n",
            "jwk.x",
            "jwk.x5c",
            "jwk.y",
            "jwks.keys",
            "jwt_header.alg",
            "jwt_obj.header",
            "jwt_obj.header.alg",
            "jwt_obj.header.kid",
            "jwt_obj.payload",
            "jwt_obj.reason",
            "jwt_obj.valid",
            "jwt_obj.verified",
            "jwt_validators.set_system_leeway",
            "math.floor",
            "math.max",
            "math.min",
            "new_levels.DEBUG",
            "new_levels.ERROR",
            "new_levels.WARN",
            "ngx.DEBUG",
            "ngx.ERR",
            "ngx.HTTP_BAD_REQUEST",
            "ngx.OK",
            "ngx.WARN",
            "ngx.ctx",
            "ngx.ctx.openidc_dpop_nonces",
            "ngx.encode_args",
            "ngx.encode_base64",
            "ngx.escape_uri",
            "ngx.exit",
            "ngx.header",
            "ngx.header.content_type",
            "ngx.log",
            "ngx.print",
            "ngx.redirect",
            "ngx.req",
            "ngx.req.get_headers",
            "ngx.req.get_post_args",
            "ngx.req.get_uri_args",
            "ngx.req.read_body",
            "ngx.say",
            "ngx.shared",
            "ngx.shared.introspection",
            "ngx.sleep",
            "ngx.time",
            "ngx.var",
            "ngx.var.http_host",
            "ngx.var.request_uri",
            "ngx.var.scheme",
            "o.save",
            "openidc.__index",
            "openidc.access_token",
            "openidc.authenticate",
            "openidc.bearer_jwt_verify",
            "openidc.call_token_endpoint",
            "openidc.call_userinfo_endpoint",
            "openidc.get_discovery_doc",
            "openidc.introspect",
            "openidc.invalidate_caches",
            "openidc.jwt_verify",
            "openidc.revoke_token",
            "openidc.revoke_tokens",
            "openidc.set_logging",
            "opts.accept_none_alg",
            "opts.accept_unsupported_alg",
            "opts.access_token_expires_in",
            "opts.access_token_expires_leeway",
            "opts.auth_accept_token_as",
            "opts.auth_accept_token_as_header_name",
            "opts.authorization_params",
            "opts.authorization_state_expires_in",
            "opts.authorization_state_max_number",
            "opts.cache_segment",
            "opts.client_id",
            "opts.client_jwt_assertion_alg",
            "opts.client_jwt_assertion_audience",
            "opts.client_jwt_assertion_expires_in",
            "opts.client_rsa_private_key",
            "opts.client_rsa_private_key_id",
            "opts.client_secret",
            "opts.discovery",
            "opts.discovery.authorization_endpoint",
            "opts.discovery.dpop_signing_alg_values_supported",
            "opts.discovery.end_session_endpoint",
            "opts.discovery.id_token_signing_alg_values_supported",
            "opts.discovery.introspection_endpoint",
            "opts.discovery.issuer",
            "opts.discovery.jwks_uri",
            "opts.discovery.ping_end_session_endpoint",
            "opts.discovery.pushed_authorization_request_endpoint",
            "opts.discovery.revocation_endpoint",
            "opts.discovery.token_endpoint",
            "opts.discovery.token_endpoint_auth_methods_supported",
            "opts.discovery.token_endpoint_auth_signing_alg_values_supported",
            "opts.discovery.userinfo_endpoint",
            "opts.discovery_expires_in",
            "opts.display",
            "opts.dpop_nonce",
            "opts.dpop_private_key",
            "opts.dpop_public_jwk",
            "opts.dpop_signing_alg",
            "opts.force_reauthorize",
            "opts.http_request_decorator",
            "opts.iat_slack",
            "opts.introspection_cache_ignore",
            "opts.introspection_enable_negative_cache",
            "opts.introspection_endpoint",
            "opts.introspection_endpoint_auth_method",
            "opts.introspection_expiry_claim",
            "opts.introspection_interval",
            "opts.introspection_lock_exptime",
            "opts.introspection_lock_timeout",
            "opts.introspection_params",
            "opts.introspection_token_param_name",
            "opts.jwk_expires_in",
            "opts.jwt_verification_cache_ignore",
            "opts.keepalive",
            "opts.lifecycle",
            "opts.lifecycle.on_authenticated",
            "opts.lifecycle.on_created",
            "opts.lifecycle.on_logout",
            "opts.lifecycle.on_regenerated",
            "opts.local_redirect_uri_path",
            "opts.logout_path",
            "opts.pass_cookies",
            "opts.post_logout_redirect_uri",
            "opts.prompt",
            "opts.proxy_opts",
            "opts.public_key",
            "opts.pushed_authorization_request_endpoint",
            "opts.pushed_authorization_request_endpoint_auth_method",
            "opts.redirect_after_logout_uri",
            "opts.redirect_after_logout_with_client_id",
            "opts.redirect_after_logout_with_id_token_hint",
            "opts.redirect_uri",
            "opts.redirect_uri_path",
            "opts.redirect_uri_scheme",
            "opts.refresh_session_interval",
            "opts.renew_access_token_on_expiry",
            "opts.response_mode",
            "opts.revoke_tokens_on_logout",
            "opts.scope",
            "opts.secret",
            "opts.session_contents",
            "opts.ssl_verify",
            "opts.symmetric_key",
            "opts.timeout",
            "opts.token_endpoint_auth_method",
            "opts.token_signing_alg_values_expected",
            "opts.use_dpop",
            "opts.use_nonce",
            "opts.use_par",
            "opts.use_pkce",
            "par_response.request_uri",
            "params.code_challenge",
            "params.code_challenge_method",
            "params.display",
            "params.dpop_jkt",
            "params.nonce",
            "params.prompt",
            "params.response_mode",
            "payload.ath",
            "payload.nonce",
            "pkey.PADDINGS",
            "pkey.PADDINGS.RSA_PKCS1_PADDING",
            "pkey.PADDINGS.RSA_PKCS1_PSS_PADDING",
            "pkey.new",
            "r_session.start",
            "request_headers.DPoP",
            "require.decode_base64url",
            "require.encode_base64url",
            "res.body",
            "res.headers",
            "res.status",
            "response.body",
            "response.status",
            "resty_random.bytes",
            "resty_string.to_hex",
            "session.revocation_fail_mode",
            "session.state",
            "string.char",
            "string.find",
            "string.format",
            "string.gmatch",
            "string.lower",
            "string.match",
            "string.sub",
            "table.concat",
            "table.insert",
            "table.sort",
            "timeout.connect",
            "timeout.read",
            "timeout.send",
            "user.sub",
            "value.kid",
            "value.kty",
            "value.use"
          ],
          "tgt": [
            "acquire_introspection_lock",
            "b64",
            "b64url",
            "can_use_token_auth_method",
            "cjson.decode",
            "cjson.encode",
            "cjson_s.decode",
            "cjson_s.encode",
            "decode_cached_introspection",
            "decorate_request",
            "der2pem",
            "dict.flush_all",
            "dict.flush_expired",
            "encode_bit_string",
            "encode_length",
            "encode_sequence",
            "encode_sequence_of_integer",
            "ensure_config",
            "error",
            "get_cached_introspection",
            "get_cached_jwt_verification",
            "get_first",
            "get_first_header",
            "get_first_header_and_strip_whitespace",
            "get_forwarded_parameter",
            "get_host_name",
            "get_host_name_from_x_header",
            "get_introspection_cache_key",
            "get_introspection_cache_prefix",
            "get_introspection_coordination_result",
            "get_introspection_endpoint",
            "get_jwk",
            "get_jwt_verification_cache_prefix",
            "get_scheme",
            "http.new",
            "http_request_decorator",
            "introspect_access_token",
            "ipairs",
            "is_algorithm_expected",
            "is_algorithm_supported",
            "is_session",
            "is_session_present",
            "jwt_validators.set_system_leeway",
            "log",
            "math.floor",
            "math.max",
            "math.min",
            "next",
            "ngx.encode_args",
            "ngx.escape_uri",
            "ngx.exit",
            "ngx.print",
            "ngx.redirect",
            "ngx.req.get_headers",
            "ngx.req.get_post_args",
            "ngx.req.get_uri_args",
            "ngx.req.read_body",
            "ngx.say",
            "ngx.sleep",
            "ngx.time",
            "of",
            "openidc.call_token_endpoint",
            "openidc.call_userinfo_endpoint",
            "openidc.jwt_verify",
            "openidc_access_token",
            "openidc_access_token_expires_in",
            "openidc_apply_client_auth",
            "openidc_authorization_response",
            "openidc_authorization_state",
            "openidc_authorize",
            "openidc_cache_get",
            "openidc_cache_invalidate",
            "openidc_cache_set",
            "openidc_combine_uri",
            "openidc_configure_proxy",
            "openidc_configure_timeouts",
            "openidc_destroy_session",
            "openidc_discover",
            "openidc_dpop_htu",
            "openidc_dpop_jwk_thumbprint",
            "openidc_dpop_nonce_from_response",
            "openidc_dpop_proof",
            "openidc_dpop_public_jwk_private_field",
            "openidc_dpop_sign",
            "openidc_dpop_signing_params",
            "openidc_ensure_discovered_data",
            "openidc_get_bearer_access_token",
            "openidc_get_bearer_access_token_from_cookie",
            "openidc_get_dpop_nonce",
            "openidc_get_path",
            "openidc_get_redirect_uri",
            "openidc_get_redirect_uri_path",
            "openidc_get_token_auth_method",
            "openidc_is_expected_response_status",
            "openidc_json_member",
            "openidc_jwks",
            "openidc_load_and_validate_jwt_id_token",
            "openidc_load_jwt_and_verify_crypto",
            "openidc_load_jwt_none_alg",
            "openidc_logout",
            "openidc_parse_json_response",
            "openidc_pem_from_jwk",
            "openidc_pem_from_rsa_n_and_e",
            "openidc_pem_from_x5c",
            "openidc_prune_authorization_states",
            "openidc_pushed_authorization_request",
            "openidc_random_jti",
            "openidc_revoke_token",
            "openidc_s256",
            "openidc_set_dpop_nonce",
            "openidc_sha256",
            "openidc_shallow_copy",
            "openidc_start_session",
            "openidc_supported_discovery_value",
            "openidc_unsupported_dpop_signing_alg_error",
            "openidc_validate_dpop_public_jwk",
            "openidc_validate_dpop_token_response",
            "openidc_validate_id_token",
            "opts.lifecycle.on_authenticated",
            "opts.lifecycle.on_created",
            "opts.lifecycle.on_logout",
            "opts.lifecycle.on_regenerated",
            "pairs",
            "pkey.new",
            "publish_introspection_result",
            "r_session.start",
            "release_introspection_lock",
            "request_prefers_png_over_html",
            "request_token_endpoint",
            "request_userinfo",
            "require",
            "resty_random.bytes",
            "resty_string.to_hex",
            "select",
            "set_cached_introspection",
            "set_cached_jwt_verification",
            "split_by_chunk",
            "store_in_session",
            "string.char",
            "string.find",
            "string.format",
            "string.gmatch",
            "string.lower",
            "string.match",
            "string.sub",
            "supported",
            "table.concat",
            "table.insert",
            "table.sort",
            "token_auth_method_precondition",
            "tonumber",
            "tostring",
            "trim",
            "type",
            "unb64url",
            "userinfo_headers",
            "uses_asymmetric_algorithm"
          ],
          "funcs": [
            [
              "token_auth_method_precondition",
              2546
            ],
            [
              "can_use_token_auth_method",
              3099
            ],
            [
              "openidc_unsupported_dpop_signing_alg_error",
              3420
            ],
            [
              "openidc_supported_discovery_value",
              3570
            ],
            [
              "openidc_random_jti",
              3803
            ],
            [
              "openidc_sha256",
              3931
            ],
            [
              "openidc_dpop_public_jwk_private_field",
              4091
            ],
            [
              "openidc_validate_dpop_public_jwk",
              4307
            ],
            [
              "openidc_json_member",
              4744
            ],
            [
              "openidc_dpop_jwk_thumbprint",
              4855
            ],
            [
              "openidc_dpop_htu",
              5857
            ],
            [
              "openidc_dpop_signing_params",
              5940
            ],
            [
              "openidc_dpop_sign",
              6342
            ],
            [
              "openidc_dpop_proof",
              7030
            ],
            [
              "store_in_session",
              8419
            ],
            [
              "is_session",
              8623
            ],
            [
              "is_session_present",
              8717
            ],
            [
              "openidc_start_session",
              8893
            ],
            [
              "openidc_destroy_session",
              9607
            ],
            [
              "openidc_cache_set",
              9928
            ],
            [
              "openidc_cache_get",
              10256
            ],
            [
              "openidc_cache_invalidate",
              10528
            ],
            [
              "openidc",
              10781
            ],
            [
              "openidc_validate_id_token",
              11030
            ],
            [
              "get_first",
              12995
            ],
            [
              "get_first_header",
              13183
            ],
            [
              "get_first_header_and_strip_whitespace",
              13536
            ],
            [
              "trim",
              13714
            ],
            [
              "get_forwarded_parameter",
              13806
            ],
            [
              "parse_parameter",
              13969
            ],
            [
              "get_scheme",
              14762
            ],
            [
              "get_host_name_from_x_header",
              14954
            ],
            [
              "get_host_name",
              15150
            ],
            [
              "openidc_get_redirect_uri",
              15345
            ],
            [
              "openidc_combine_uri",
              15931
            ],
            [
              "decorate_request",
              16178
            ],
            [
              "openidc_is_expected_response_status",
              16315
            ],
            [
              "openidc_s256",
              16642
            ],
            [
              "openidc_pushed_authorization_request",
              16727
            ],
            [
              "openidc_prune_authorization_states",
              17761
            ],
            [
              "openidc_authorize",
              18864
            ],
            [
              "openidc_parse_json_response",
              21828
            ],
            [
              "openidc_configure_timeouts",
              22541
            ],
            [
              "openidc_configure_proxy",
              22856
            ],
            [
              "openidc_dpop_nonce_from_response",
              23159
            ],
            [
              "openidc_get_dpop_nonce",
              23779
            ],
            [
              "openidc_set_dpop_nonce",
              23931
            ],
            [
              "openidc_validate_dpop_token_response",
              24174
            ],
            [
              "openidc_shallow_copy",
              24485
            ],
            [
              "openidc_apply_client_auth",
              24625
            ],
            [
              "openidc",
              27481
            ],
            [
              "request_token_endpoint",
              28315
            ],
            [
              "openidc_access_token_expires_in",
              31153
            ],
            [
              "openidc_load_jwt_none_alg",
              31331
            ],
            [
              "openidc_discover",
              31781
            ],
            [
              "openidc_ensure_discovered_data",
              33079
            ],
            [
              "openidc",
              33543
            ],
            [
              "userinfo_headers",
              33848
            ],
            [
              "request_userinfo",
              34618
            ],
            [
              "openidc_get_token_auth_method",
              36471
            ],
            [
              "ensure_config",
              38495
            ],
            [
              "openidc",
              38795
            ],
            [
              "openidc_jwks",
              39020
            ],
            [
              "split_by_chunk",
              40223
            ],
            [
              "get_jwk",
              40387
            ],
            [
              "der2pem",
              41117
            ],
            [
              "encode_length",
              41299
            ],
            [
              "encode_sequence",
              41616
            ],
            [
              "encode_binary_integer",
              41930
            ],
            [
              "encode_sequence_of_integer",
              42263
            ],
            [
              "encode_bit_string",
              42372
            ],
            [
              "openidc_pem_from_x5c",
              42530
            ],
            [
              "openidc_pem_from_rsa_n_and_e",
              42887
            ],
            [
              "openidc_pem_from_jwk",
              43436
            ],
            [
              "is_algorithm_supported",
              45091
            ],
            [
              "uses_asymmetric_algorithm",
              45426
            ],
            [
              "is_algorithm_expected",
              45594
            ],
            [
              "openidc_load_jwt_and_verify_crypto",
              46023
            ],
            [
              "openidc_load_and_validate_jwt_id_token",
              49160
            ],
            [
              "openidc_authorization_state",
              50518
            ],
            [
              "openidc_authorization_response",
              51167
            ],
            [
              "openidc_revoke_token",
              56349
            ],
            [
              "openidc",
              57414
            ],
            [
              "openidc",
              57741
            ],
            [
              "request_prefers_png_over_html",
              58729
            ],
            [
              "append_accepted_type",
              58981
            ],
            [
              "openidc_logout",
              59755
            ],
            [
              "openidc_access_token",
              62243
            ],
            [
              "openidc_get_path",
              65108
            ],
            [
              "openidc_get_redirect_uri_path",
              65265
            ],
            [
              "openidc",
              65554
            ],
            [
              "openidc",
              70459
            ],
            [
              "openidc_get_bearer_access_token_from_cookie",
              70836
            ],
            [
              "openidc_get_bearer_access_token",
              71835
            ],
            [
              "get_introspection_endpoint",
              72875
            ],
            [
              "get_introspection_cache_prefix",
              73339
            ],
            [
              "get_introspection_cache_key",
              73670
            ],
            [
              "get_cached_introspection",
              73800
            ],
            [
              "set_cached_introspection",
              74114
            ],
            [
              "introspect_access_token",
              74474
            ],
            [
              "decode_cached_introspection",
              77140
            ],
            [
              "get_introspection_coordination_result",
              77340
            ],
            [
              "acquire_introspection_lock",
              77728
            ],
            [
              "release_introspection_lock",
              79473
            ],
            [
              "publish_introspection_result",
              79598
            ],
            [
              "openidc",
              79852
            ],
            [
              "get_jwt_verification_cache_prefix",
              84207
            ],
            [
              "get_cached_jwt_verification",
              84857
            ],
            [
              "set_cached_jwt_verification",
              85194
            ],
            [
              "openidc",
              85694
            ],
            [
              "openidc",
              86830
            ],
            [
              "openidc",
              87273
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 93,
              "op.gt": 9,
              "op.le": 1,
              "op.lt": 12,
              "op.add": 15,
              "op.div": 2,
              "op.lor": 129,
              "op.mod": 1,
              "op.mul": 7,
              "op.sub": 12,
              "op.land": 105,
              "op.lnot": 92,
              "max_depth": 20,
              "call_count": 664,
              "node_count": 21421,
              "member_count": 246,
              "op_density.eq": 0,
              "op_density.gt": 0,
              "op_density.le": 0,
              "op_density.lt": 0,
              "op_density.add": 0,
              "op_density.div": 0,
              "op_density.lor": 0.01,
              "op_density.mod": 0,
              "op_density.mul": 0,
              "op_density.sub": 0,
              "op_density.land": 0,
              "op_density.lnot": 0,
              "max_array_length": 8,
              "max_concat_chain": 2,
              "max_member_depth": 3,
              "self_compare_count": 13
            },
            "file": {
              "size": 87559,
              "entropy": 4.75
            },
            "text": {
              "lines": 2736,
              "top_char": 101,
              "digit_ratio": 0.01,
              "space_count": 14588,
              "char_entropy": 4.75,
              "unique_chars": 94,
              "top_char_null": 0,
              "escape_density": 0.1,
              "import_density": 0.4,
              "string_density": 0.23,
              "top_char_ratio": 0.09,
              "ascii_art_lines": 1,
              "avg_line_length": 31,
              "max_line_length": 189,
              "empty_line_ratio": 0.14,
              "last_line_length": 14,
              "whitespace_ratio": 0.2,
              "identifier_density": 1.56,
              "line_length_stddev": 29.09,
              "max_whitespace_run": 5,
              "octal_escape_count": 84,
              "normalized_import_count": 0.21,
              "normalized_string_count": 12.08,
              "repeated_char_sequences": 25,
              "suspicious_string_ratio": 0.01,
              "suspicious_comment_ratio": 0.01,
              "suspicious_identifier_ratio": 0.03,
              "normalized_unique_identifiers": 48.43
            },
            "binds": {
              "count": 416
            },
            "binary": {
              "peak_region_bytes": 33287,
              "peak_region_entropy": 5.06
            },
            "source": {
              "function_count": 112
            },
            "imports": {
              "count": 11,
              "third_party_count": 11,
              "third_party_ratio": 1
            },
            "strings": {
              "sql": 2,
              "bytes": 11458,
              "count": 632,
              "shell": 7,
              "avg_length": 18.13,
              "max_length": 113,
              "path_count": 1,
              "avg_entropy": 2.76,
              "empty_count": 9,
              "entropy_stddev": 1.2
            },
            "comments": {
              "chars": 9262,
              "count": 148,
              "empty": 2,
              "lines": 186,
              "url_count": 3,
              "todo_count": 1,
              "high_entropy": 1,
              "to_code_ratio": 0.07
            },
            "functions": {
              "count": 112
            },
            "identifiers": {
              "count": 4262,
              "unique": 553,
              "avg_length": 13.17,
              "max_length": 49,
              "min_length": 1,
              "avg_entropy": 2.79,
              "reuse_ratio": 0.13,
              "length_stddev": 9.42,
              "has_digit_ratio": 0.03,
              "sequential_names": 14,
              "single_char_count": 13,
              "single_char_ratio": 0.02,
              "high_entropy_count": 116,
              "high_entropy_ratio": 0.21,
              "all_lowercase_ratio": 0.94,
              "all_uppercase_ratio": 0.02,
              "numeric_suffix_count": 10,
              "underscore_prefix_count": 4
            }
          }
        },
        "id": 49,
        "mol": "H₃(Cm₅Db₂Os)Md(In₄)",
        "path": "/data/samples/incoming/forager/lua/luarocks.org/_/lua-resty-openidc/lua-resty-openidc-1.9.2-1.src.rock!!lua-resty-openidc/lib/resty/openidc.lua",
        "pid": 0,
        "risk": 5,
        "sha": "374e98f805edff116d429206f8e53faa9606b14f06f1452cfb0694109f336a15",
        "size": 87559,
        "supp": [
          {
            "by": [
              {
                "id": "metrics"
              }
            ],
            "id": "metadata/file/profile/identifier-population::low-identifier-reuse",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/import/lua/ngx/base64::ngx/base64",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports ngx.base64",
            "spans": [
              [
                2305,
                10
              ]
            ]
          },
          {
            "id": "metadata/import/lua/resty/http::resty/http",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports resty.http",
            "spans": [
              [
                2077,
                10
              ]
            ]
          },
          {
            "id": "metadata/import/lua/resty/jwt::resty/jwt",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports resty.jwt",
            "spans": [
              [
                27246,
                9
              ]
            ]
          },
          {
            "id": "metadata/import/lua/resty/openssl/pkey::resty/openssl/pkey",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports resty.openssl.pkey",
            "spans": [
              [
                6527,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/authorization-header::bearer-prefix",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.72,
            "crit": 3,
            "desc": "HTTP Bearer authorization header prefix",
            "spans": [
              [
                33947,
                25
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/custom::x-forwarded-host",
            "conf": 0.9,
            "crit": 3,
            "desc": "X-Forwarded-Host proxy header",
            "spans": [
              [
                15071,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-id-token-hint-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Handles OIDC ID token hint",
            "spans": [
              [
                61430,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/idp::oidc-provider-jwks-uri-field",
            "conf": 0.96,
            "crit": 3,
            "desc": "Declares OIDC provider JWKS URI",
            "spans": [
              [
                43678,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-authorization-code-grant",
            "conf": 0.8,
            "crit": 3,
            "desc": "OAuth authorization-code grant field",
            "spans": [
              [
                53251,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-secret-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "OAuth client_secret field",
            "spans": [
              [
                3080,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-pkce-code-challenge",
            "conf": 0.8,
            "crit": 3,
            "desc": "OAuth PKCE code-challenge field",
            "spans": [
              [
                19797,
                16
              ],
              [
                19839,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-pkce-code-verifier",
            "conf": 0.8,
            "crit": 3,
            "desc": "OAuth PKCE code-verifier field",
            "spans": [
              [
                19246,
                15
              ],
              [
                19869,
                15
              ],
              [
                20490,
                15
              ],
              [
                20843,
                15
              ],
              [
                20859,
                15
              ],
              [
                53417,
                15
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-protocol-reference",
            "conf": 0.5,
            "crit": 3,
            "desc": "References the OAuth 2 protocol",
            "spans": [
              [
                70776,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-state-pair",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth redirect and state parameters",
            "spans": [
              [
                19520,
                73
              ],
              [
                53298,
                119
              ],
              [
                66537,
                46
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-redirect-uri-parameter",
            "conf": 0.86,
            "crit": 3,
            "desc": "OAuth redirect URI parameter",
            "spans": [
              [
                51520,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-refresh-grant-type",
            "conf": 0.9,
            "crit": 3,
            "desc": "OAuth refresh_token grant type",
            "spans": [
              [
                63086,
                27
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::refresh-token-snake-assign",
            "conf": 0.9,
            "crit": 3,
            "desc": "Snake-case OAuth refresh_token field assign",
            "spans": [
              [
                63837,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/build::url-variable-call-assignment",
            "conf": 0.94,
            "crit": 3,
            "desc": "URL or host variable assigned from call",
            "spans": [
              [
                15710,
                22
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/certificate/usage::certificate-ref",
            "conf": 0.5,
            "crit": 3,
            "desc": "References certificate terminology",
            "spans": [
              [
                41175,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/html::html-document-string-literal",
            "conf": 0.6,
            "crit": 3,
            "desc": "Contains an HTML document string literal",
            "spans": [
              [
                62114,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::client-id-field-name",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a client_id field name",
            "spans": [
              [
                12590,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/media/raster::declared-image-mime-type",
            "conf": 0.82,
            "crit": 3,
            "desc": "Declares an image MIME type",
            "spans": [
              [
                60929,
                22
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/security/auth/session::session-token-field",
            "conf": 0.9,
            "crit": 3,
            "desc": "Session token field name",
            "spans": [
              [
                59808,
                13
              ]
            ]
          },
          {
            "id": "metadata/import/lua/cjson/safe::cjson/safe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports cjson.safe",
            "spans": [
              [
                2042,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/cjson::cjson",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports cjson",
            "spans": [
              [
                2009,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/resty/jwt-validators::resty/jwt-validators",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.jwt-validators",
            "spans": [
              [
                48259,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/resty/random::resty/random",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.random",
            "spans": [
              [
                3871,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/resty/session::resty/session",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.session",
            "spans": [
              [
                2117,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/resty/sha256::resty/sha256",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.sha256",
            "spans": [
              [
                3994,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/resty/string::resty/string",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports resty.string",
            "spans": [
              [
                19011,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/certificate/usage::pem-begin",
            "conf": 0.7,
            "crit": 2,
            "desc": "References PEM certificate header",
            "spans": [
              [
                42714,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/certificate/usage::pem-end",
            "conf": 0.7,
            "crit": 2,
            "desc": "References PEM certificate footer",
            "spans": [
              [
                42793,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                17,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                725,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                1396,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "spans": [
              [
                8480,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                152,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                137,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                142,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::lua-post-method",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.78,
            "crit": 1,
            "desc": "Lua POST method literal",
            "spans": [
              [
                28772,
                0
              ]
            ]
          }
        ],
        "type": "lua"
      },
      {
        "id": 51,
        "sha": "f790097f45828e8df8da74931ea72b85813e2d983d417fba519edf4f74d78e48",
        "path": "lua-resty-openidc@1.9.2-1.registry.json",
        "size": 921,
        "type": "registry",
        "depth": 1
      }
    ],
    "omitted_files": 19,
    "rev": "17dc6",
    "v": "8"
  }
}