{
  "python": "3.12.14",
  "roundtrip_rows": [
    {
      "original": "\u0641\u0627\u0631\u0633\u06cc",
      "encoded_path_segment": "%D9%81%D8%A7%D8%B1%D8%B3%DB%8C",
      "encoded_form_query": "q=%D9%81%D8%A7%D8%B1%D8%B3%DB%8C",
      "local_url": "https://example.test/items/%D9%81%D8%A7%D8%B1%D8%B3%DB%8C?q=%D9%81%D8%A7%D8%B1%D8%B3%DB%8C",
      "decoded_once_path": "\u0641\u0627\u0631\u0633\u06cc",
      "parsed_query": {
        "q": [
          "\u0641\u0627\u0631\u0633\u06cc"
        ]
      }
    },
    {
      "original": "a b",
      "encoded_path_segment": "a%20b",
      "encoded_form_query": "q=a+b",
      "local_url": "https://example.test/items/a%20b?q=a+b",
      "decoded_once_path": "a b",
      "parsed_query": {
        "q": [
          "a b"
        ]
      }
    },
    {
      "original": "a+b",
      "encoded_path_segment": "a%2Bb",
      "encoded_form_query": "q=a%2Bb",
      "local_url": "https://example.test/items/a%2Bb?q=a%2Bb",
      "decoded_once_path": "a+b",
      "parsed_query": {
        "q": [
          "a+b"
        ]
      }
    },
    {
      "original": "a/b",
      "encoded_path_segment": "a%2Fb",
      "encoded_form_query": "q=a%2Fb",
      "local_url": "https://example.test/items/a%2Fb?q=a%2Fb",
      "decoded_once_path": "a/b",
      "parsed_query": {
        "q": [
          "a/b"
        ]
      }
    },
    {
      "original": "a&b",
      "encoded_path_segment": "a%26b",
      "encoded_form_query": "q=a%26b",
      "local_url": "https://example.test/items/a%26b?q=a%26b",
      "decoded_once_path": "a&b",
      "parsed_query": {
        "q": [
          "a&b"
        ]
      }
    },
    {
      "original": "%2F",
      "encoded_path_segment": "%252F",
      "encoded_form_query": "q=%252F",
      "local_url": "https://example.test/items/%252F?q=%252F",
      "decoded_once_path": "%2F",
      "parsed_query": {
        "q": [
          "%2F"
        ]
      }
    },
    {
      "original": "",
      "encoded_path_segment": "",
      "encoded_form_query": "q=",
      "local_url": "https://example.test/items/?q=",
      "decoded_once_path": "",
      "parsed_query": {
        "q": [
          ""
        ]
      }
    }
  ],
  "double_decode": {
    "encoded": "%252F",
    "once": "%2F",
    "twice": "/"
  },
  "whole_url_quote_plus_loses_component_structure": "https%3A%2F%2Fexample.test%2Fitems%2Fa+b%3Fq%3Da%2Bb",
  "scheme_after_wrong_whole_encoding": "",
  "network_or_ssrf_security_test": false,
  "all_assertions_passed": true
}
