CECS 524 Lempel-Ziv Compression using ETS The Lempel-Ziv-Welch Compression article, linked from the class site, explains the algorithm. Write a function to compress text to binary using this algorithm and another to decode binary to text.Compare the sizes of the compressed file and the original. Of course compare the sizes of the decoded file and the original and see that they are the same. You can use 16-bit codes so when you have added 65,000 codes then do not add any more. (Optionally you could reduce the size of the file by using variable size codes starting with 7 bits for the 128 ASCII characters.) Use an ETS table to hold the codes. Start the table with the single character from 0 to 127 having that number as its code. Remember that strings are lists of integers so [65] would be the way to represent "A" and {[65],65} would be the tuple to add into ETS. My program takes a page and a half exclusive of comments and has four functions. Although not part of this assignment it would be interesting to investigate parallel compression. The article Parallel Lempel Ziv Coding, linked from the class site, has some ideas. ETS may not be appropriate for parallel compression if the table is shared among processes.