Create a heavily-based script that's off by this application title; "UP+ Chess Engine Full Application", into a single python script that's full of complex function and with a stray of requests, the setup has to be applicable.

CONTENT: Based-off the description below, and the methods used after this.

Methods; "Node Count-Based Parameter Tuning, Iterative Deepening Search (IDS), Weighted Positional and Tactical Evaluation Model (WPTEM, Material Balance (Standard), Piece Mobility (Traditional + Custom Weight), King Safety (Traditional + Aggressive Customization), Center Control (Weighted), Piece Coordination (Custom Pairing Bonus), Piece Coordination (Custom Pairing Bonus), Pawn Structure (Advanced Customization), Strategic Imbalances (Dynamic Positional Factors), Custom Evaluation for Threats (Aggressive Style Adaptation)), Transposition Shared Hashed Depth-Preferred Replacement Strategy Table, Killer Move-Ordering, and One-Up Main Advanced Component."
---
Set-of-Properties: "Here is the set-of-properties the engine has to use to rule itself out. 'Easy UCI', 'Move-Ordering', 'Advanced Evaluation Functions', '+', 'Depth Rule', 'Negamax with Advanced Framework'."

Specific Stray of Requests; "The Framework Is Similar To The Methods ABOVE."

Reference Script:

```
import chess
import chess.engine
import random

class SimpleChessEngine:
    def __init__(self):
        self.board = chess.Board()

    def make_move(self, move):
        """Attempts to make a move on the board."""
        try:
            self.board.push_san(move)
        except ValueError:
            return "Invalid move. Please try again."

    def get_random_move(self):
        """Returns a random legal move from the current board state."""
        moves = list(self.board.legal_moves)
        return random.choice(moves) if moves else None

    def play_engine_move(self):
        """Makes a random move for the engine and returns it."""
        move = self.get_random_move()
        if move:
            self.board.push(move)
        return move

    def display_board(self):
        """Returns a string representation of the current board."""
        return str(self.board)

def main():
    engine = SimpleChessEngine()
    print("Welcome to Simple Chess Engine!")
    print("Enter your moves in standard algebraic notation (e.g., e2e4).")

    while not engine.board.is_game_over():
        print(engine.display_board())
        user_move = input("Your move: ")
        if user_move.lower() == 'quit':
            break
        response = engine.make_move(user_move)
        if response:
            print(response)
            continue
        if not engine.board.is_game_over():
            engine_move = engine.play_engine_move()
            if engine_move:
                print(f"Engine move: {engine_move}")

    print("Game over!")
    print(engine.display_board())

if __name__ == "__main__":
    main()
```

These are reference links/files for optimized refinement. (REFERENCE ONLY)

https://raw.githubusercontent.com/Matthies/RubiChess/refs/heads/master/src/nnue.cpp
https://raw.githubusercontent.com/jhonnold/berserk/refs/heads/main/src/eval.c
https://raw.githubusercontent.com/jhonnold/berserk/refs/heads/main/src/search.c