in 2020/lib/eme/encryptedMediaPortability.js [212:242]
function base64_encode(arr) {
var b64dict = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var b64pad = "=";
var i;
var hexStr = "";
for (i = 0; i < arr.length; i++) {
var hex = arr[i].toString(16);
hexStr += hex.length == 1 ? "0" + hex : hex;
}
var dest = "";
var c;
for (i = 0; i+3 <= hexStr.length; i+=3) {
c = parseInt(hexStr.substring(i, i+3), 16);
dest += b64dict.charAt(c >> 6) + b64dict.charAt(c & 63);
}
if (i+1 == hexStr.length) {
c = parseInt(hexStr.substring(i, i+1), 16);
dest += b64dict.charAt(c << 2);
} else if (i+2 == hexStr.length) {
c = parseInt(hexStr.substring(i, i+2), 16);
dest += b64dict.charAt(c >> 2) + b64dict.charAt((c & 3) << 4);
}
while ((dest.length & 3) > 0) {
dest += b64pad;
}
return dest;
}