{
  "files_refactored": 3,
  "files": [
    "frustration_simulation.py",
    "webui_chat.py",
    "PsychologyEngine_old.py"
  ],
  "line_breaks": 6,
  "duplicate_blocks_found": 10,
  "duplicates": [
    [
      "77af75bb2de572851567a980c4991006",
      [
        {
          "start_line": 8,
          "content": "import json\nimport os"
        },
        {
          "start_line": 8,
          "content": "import json\nimport os"
        },
        {
          "start_line": 8,
          "content": "import json\nimport os"
        },
        {
          "start_line": 4,
          "content": "import json\nimport os"
        },
        {
          "start_line": 4,
          "content": "import json\nimport os"
        }
      ]
    ],
    [
      "62b0e46b58cb9e0e8ef048295c798999",
      [
        {
          "start_line": 18,
          "content": "def clamp(val, lo=0.0, hi=10.0):\n    return max(lo, min(hi, float(val)))"
        },
        {
          "start_line": 21,
          "content": "def clamp(val, lo=0.0, hi=10.0):\n    return max(lo, min(hi, float(val)))"
        },
        {
          "start_line": 17,
          "content": "def clamp(val, lo=0.0, hi=10.0):\n    return max(lo, min(hi, float(val)))"
        },
        {
          "start_line": 26,
          "content": "def clamp(val, lo=0.0, hi=10.0):\n    return max(lo, min(hi, float(val)))"
        },
        {
          "start_line": 16,
          "content": "def clamp(val, lo=0.0, hi=10.0):\n    return max(lo, min(hi, float(val)))"
        },
        {
          "start_line": 20,
          "content": "def clamp(val, lo=0.0, hi=10.0):\n    return max(lo, min(hi, float(val)))"
        },
        {
          "start_line": 19,
          "content": "def clamp(val, lo=0.0, hi=10.0):\n    return max(lo, min(hi, float(val)))"
        }
      ]
    ],
    [
      "caddfea1cbcc1cb2b82d412952cc02b7",
      [
        {
          "start_line": 69,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 59,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 59,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 48,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 61,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 63,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 121,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 52,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 28,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 37,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 88,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 88,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 103,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 143,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 64,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 119,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 113,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 191,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 72,
          "content": "if __name__ == \"__main__\":\n    main()"
        },
        {
          "start_line": 198,
          "content": "if __name__ == \"__main__\":\n    main()"
        }
      ]
    ],
    [
      "8ff506abb3dfd398c913ab59c9126bb2",
      [
        {
          "start_line": 18,
          "content": "def clamp(val, lo=0.0, hi=1.0):\n    return max(lo, min(hi, float(val)))"
        },
        {
          "start_line": 17,
          "content": "def clamp(val, lo=0.0, hi=1.0):\n    return max(lo, min(hi, float(val)))"
        },
        {
          "start_line": 20,
          "content": "def clamp(val, lo=0.0, hi=1.0):\n    return max(lo, min(hi, float(val)))"
        },
        {
          "start_line": 21,
          "content": "def clamp(val, lo=0.0, hi=1.0):\n    return max(lo, min(hi, float(val)))"
        }
      ]
    ],
    [
      "61f3361d74127273d3fd7ce363fd2954",
      [
        {
          "start_line": 54,
          "content": "with open(PATHS[\"output\"], \"w\") as f:\n        json.dump(result, f, indent=2)"
        },
        {
          "start_line": 54,
          "content": "with open(PATHS[\"output\"], \"w\") as f:\n        json.dump(result, f, indent=2)"
        },
        {
          "start_line": 118,
          "content": "with open(PATHS[\"output\"], \"w\") as f:\n        json.dump(result, f, indent=2)"
        },
        {
          "start_line": 137,
          "content": "with open(PATHS[\"output\"], \"w\") as f:\n        json.dump(result, f, indent=2)"
        }
      ]
    ]
  ]
}