See inside! Please use but with credit!
All by me! (Except for _Chars variable because I was too lazy to type it out! It's by @griffpatch ;P)