a += (b ^ c ^ d) + blocks[0] + 1859775393;
a = (a << 3) | (a >>> 29);
d += (a ^ b ^ c) + blocks[8] + 1859775393;
d = (d << 9) | (d >>> 23);
c += (d ^ a ^ b) + blocks[4] + 1859775393;
c = (c << 11) | (c >>> 21);
b += (c ^ d ^ a) + blocks[12] + 1859775393;
b = (b << 15) | (b >>> 17);
a += (b ^ c ^ d) + blocks[2] + 1859775393;
a = (a << 3) | (a >>> 29);
d += (a ^ b ^ c) + blocks[10] + 1859775393;
d = (d << 9) | (d >>> 23);
c += (d ^ a ^ b) + blocks[6] + 1859775393;
c = (c << 11) | (c >>> 21);
b += (c ^ d ^ a) + blocks[14] + 1859775393;
b = (b << 15) | (b >>> 17);
a += (b ^ c ^ d) + blocks[1] + 1859775393;
a = (a << 3) | (a >>> 29);
d += (a ^ b ^ c) + blocks[9] + 1859775393;
d = (d << 9) | (d >>> 23);
c += (d ^ a ^ b) + blocks[5] + 1859775393;
c = (c << 11) | (c >>> 21);
b += (c ^ d ^ a) + blocks[13] + 1859775393;
b = (b << 15) | (b >>> 17);
a += (b ^ c ^ d) + blocks[3] + 1859775393;
a = (a << 3) | (a >>> 29);
d += (a ^ b ^ c) + blocks[11] + 1859775393;
d = (d << 9) | (d >>> 23);
c += (d ^ a ^ b) + blocks[7] + 1859775393;
c = (c << 11) | (c >>> 21);
b += (c ^ d ^ a) + blocks[15] + 1859775393;
b = (b << 15) | (b >>> 17);

