Write a program that implements a Paxos voting protocol for Suburbs Council President that is fault tolerant and resilient to various failure types, some of which are shown in the attached document. Communication happens strictly via sockets. You are responsible for the message design.