code: function base32EncodeLastChunk(last, byteIndex, base32) {
      var chunk;
      const offset = byteIndex % 5;
      switch (offset) {
          case 0:
              chunk = (last & 0x07) << 2;
              base32 += base32LookupTable[chunk];
              break;
          case 1:
              chunk = (last & 0x01) << 4;
              base32 += base32LookupTable[chunk];
              break;
          case 2:
              chunk = (last & 0x0F) << 1;
              base32 += base32LookupTable[chunk];
              break;
          case 3:
              chunk = (last & 0x03) << 3;
              base32 += base32LookupTable[chunk];
              break;
          case 4:
              // nothing to do, was handled by previous call
              break;
      }
      return base32;
  }
docs: /*
  Same as normal, but pad with 0's in "next" byte
  case:      0        1        2        3        4
  byte:  xxxxx111|00xxxxx3|00004444|0xxxxx66|000xxxxx|...
  mask:   F8  07  C0 3E  01 F0  0F 80  7C 03  E0  1F