Assume you have the following .proto file. message Person   …

Assume you have the following .proto file. message Person    string name = 1;        int32 month = 2;        int32 day = 3;        int32 year = 4; } Assume this describes a request to the server, so the client wants to add a new person to their contacts with the above mentioned information. 1. Write the code for the client creating a correct proto Request of type Person and sending it over to the server. You can assume this is a part of the Client Code where we have a Socket, OutputStream and InputStream (of course this is only a snippet).             serverSock = new Socket(host, port);             out = serverSock.getOutputStream();             in = serverSock.getInputStream();   2. Write the code to read in the request on the server side and print out the name and birth year.   I do not care exactly about the Java Syntax in detail but I do want to see that you know how to handle proto, build and read the objects. Tip: Methods to read and write with proto on an OutputStream and InputStream writeDelimitedTo(out);  parseDelimitedFrom(in);  

  Review the provided code for the Rewards Program. Identify…

  Review the provided code for the Rewards Program. Identify at least five issues related to: Consistency and naming conventions. Code smells and maintainability. Logical correctness and future adaptability. For each issue: Explain the problem clearly. Propose a concrete improvement. Suggest one test case for the calcSalary and one for employeeStatus methods to ensure proper functionality.   public class SalaryCalculator {     /**     * Calculates the salary based on hourly wage and hours worked.     * Applies a 10% bonus if more than 40 hours worked, and a 5% tax deduction.     *     * @param w Hourly wage     * @param h Hours worked     * @return Adjusted salary after bonus and tax deduction     */    public double calcSalary(double w, int h) {        double salary = w * h;                if (h > 40) {            salary = salary + (salary * 0.1);  // 10% bonus for working more than 40 hours        }                salary = salary – (salary * 0.05); // 5% tax deduction                return salary;    }     /**     * Determines the employee’s status based on years of experience.     *     * @param e Number of years of experience     * @return Employee status as “Junior”, “Mid”, or “Senior”     */    public String employeeStatus(int e) {        if (e > 10) {            return “Senior”;        } else if (e > 3) {            return “Mid”;        } else {            return “Junior”;        }    }     public void main(String[] args) {        SalaryCalculator s = new SalaryCalculator();        double salary = s.calcSalary(25.0, 45);        System.out.println(“Calculated Salary: ” + salary);                String status = s.employeeStatus(8);        System.out.println(“Employee Status: ” + status);    }}