docs: public static String encode(String hrp, final byte[] values) {
          checkArgument(hrp.length() >= 1, "Human-readable part is too short");
          checkArgument(hrp.length() <= 83, "Human-readable part is too long");
          hrp = hrp.toLowerCase(Locale.ROOT);
          byte[] checksum = createChecksum(hrp, values);
          byte[] combined = new byte[values.length + checksum.length];
          System.arraycopy(values, 0, combined, 0, values.length);
          System.arraycopy(checksum, 0, combined, values.length, checksum.length);
          StringBuilder sb = new StringBuilder(hrp.length() + 1 + combined.length);
          sb.append(hrp);
          sb.append('1');
          for (byte b : combined) {
              sb.append(CHARSET.charAt(b));
          }
          return sb.toString();
      }