CMSC204Assignment 1PasswordsConcepts tested by this program:ArrayListTooltipsMnemonicRead FilesJavadocJUnit TestsExceptionsGitHubCreate an application that will check for valid passwords. The following rules must be followed to create a valid password.1.At least 6 characters long2.10 or more characters is a strong password, between 6 and 9 characters is a weak (but acceptable) password.3.At least 1 numeric character4.At least 1 uppercase alphabetic character5.At least 1 lowercase alphabetic character6.No more than 2 of the same character in a sequenceHello123 – OKAAAbb123 – not OKAaabb123 – OKOperation:When the application begins, the user will be presented with a screen that states the above instructions for creating a password, two text entry boxes for typing in a password, and three buttons. If the user wants to check a single password, they will type in the password in both boxes and select the “Check Password” button.If the user wants to read in and check a list of passwords, they will select the “Check Passwords in File” button, be presented with a file explorer, and select the file to read from. Those passwords that failed the check will be displayed, with their error message.If the user presses the “Alt” key, a letter will be underlined in each button label. That letter is the “mnemonic” that can used as a shortcut (Alt plus the letter) to execute the button.If the user hovers his cursor over a button, a tooltip will be shown.
Specifications:The Data ElementStringThe Data StructureArrayList of StringsUtility ClassCreate a PasswordCheckerUtility class based on the Javadoc given you.