To provide the necessary Python code for such a complex and detailed project as described, we'd need to break down the requirements into manageable tasks. Based on the description you provided, here's ...