// ==UserScript==
// @name 三国杀worker
// @namespace sgsworker
// @version 3.2.1
// @author 小麦 孤独尊
// @description 打小抄支持网页版和微端,微端文件请加群 830137048
// @icon https://i0.hdslb.com/bfs/new_dyn/17ec41a0ca79633b77399065ab80da3f2138912.png
// @match *://game.4399iw2.com/yxsgs/*
// @match *://my.4399.com/yxsgs/*
// @match *://*.sanguosha.com/*
// @match *://web.kuaiwan.com/kwsgsn/*
// @match *://wan.baidu.com/microend?gameId=19793595/*
// @match *://www.7k7k.com/special/sgs/?*
// @match *://playgame.iqiyi.com/login/iframe_page_web/top?game_id=146
// @grant none
// @run-at document-start
// @license MIT
// ==/UserScript==
function testCanImageData() {
try {
cc = new ImageData(20,20),
canUseImageData = !0
} catch (t) {}
}
function loadImage(t) {
PNG.load(t.url, pngLoaded)
}
function loadImage2(t) {
var e, a = t.url;
console.debug(t.url);
e = new XMLHttpRequest,
e.open("GET", a, !0),
e.responseType = "arraybuffer",
e.onload = function() {
var t, i, r = e.response || e.mozResponseArrayBuffer;
if (t = new Uint8Array(r),
self.createImageBitmap)
return void doCreateImageBitmap(t, a);
try {
startTime = getTimeNow(),
i = new PNG(t),
i.url = a,
i.startTime = startTime,
i.decodeEndTime = getTimeNow(),
i.decodeTime = i.decodeEndTime - startTime,
pngLoaded(i)
} catch (s) {
pngFail(a, "parse fail" + s.toString() + ":ya")
}
}
,
e.onerror = function(t) {
pngFail(a, "loadFail")
}
,
e.send(null)
}
function doCreateImageBitmap(t, e) {
try {
var a = getTimeNow();
t = new self.Blob([t],{
type: "image/png"
}),
self.createImageBitmap(t).then(function(t) {
var i = {};
i.url = e,
i.imageBitmap = t,
i.dataType = "imageBitmap",
i.startTime = a,
i.decodeTime = getTimeNow() - a,
i.sendTime = getTimeNow(),
console.log("Decode By createImageBitmap," + i.decodeTime, e),
i.type = "Image",
postMessage(i, [i.imageBitmap])
})["catch"](function(t) {
showMsgToMain("cache:" + t),
pngFail(e, "parse fail" + t + ":ya")
})
} catch (i) {
pngFail(e, "parse fail" + i.toString() + ":ya")
}
}
function getTimeNow() {
return (new Date).getTime()
}
function pngFail(t, e) {
var a = {};
a.url = t,
a.imagedata = null,
a.type = "Image",
a.msg = e,
console.log(e),
postMessage(a)
}
function showMsgToMain(t) {
var e = {};
e.type = "Msg",
e.msg = t,
postMessage(e)
}
function pngLoaded(t) {
var e = {};
e.url = t.url,
canUseImageData ? (e.imagedata = t.getImageData(),
e.dataType = "imagedata") : (e.buffer = t.getImageDataBuffer(),
e.dataType = "buffer"),
e.width = t.width,
e.height = t.height,
e.decodeTime = getTimeNow() - t.startTime,
console.log("Decode By PNG.js," + (getTimeNow() - t.startTime), t.url),
e.type = "Image",
canUseImageData ? postMessage(e, [e.imagedata.data.buffer]) : postMessage(e, [e.buffer.buffer])
}
var DecodeStream = function() {
function t() {
this.pos = 0,
this.bufferLength = 0,
this.eof = !1,
this.buffer = null
}
return t.prototype = {
ensureBuffer: function(t) {
var e = this.buffer
, a = e ? e.byteLength : 0;
if (a > t)
return e;
for (var i = 512; t > i; )
i <<= 1;
for (var r = new Uint8Array(i), s = 0; a > s; ++s)
r[s] = e[s];
return this.buffer = r
},
getByte: function() {
for (var t = this.pos; this.bufferLength <= t; ) {
if (this.eof)
return null;
this.readBlock()
}
return this.buffer[this.pos++]
},
getBytes: function(t) {
var e = this.pos;
if (t) {
this.ensureBuffer(e + t);
for (var a = e + t; !this.eof && this.bufferLength < a; )
this.readBlock();
var i = this.bufferLength;
a > i && (a = i)
} else {
for (; !this.eof; )
this.readBlock();
var a = this.bufferLength
}
return this.pos = a,
this.buffer.subarray(e, a)
},
lookChar: function() {
for (var t = this.pos; this.bufferLength <= t; ) {
if (this.eof)
return null;
this.readBlock()
}
return String.fromCharCode(this.buffer[this.pos])
},
getChar: function() {
for (var t = this.pos; this.bufferLength <= t; ) {
if (this.eof)
return null;
this.readBlock()
}
return String.fromCharCode(this.buffer[this.pos++])
},
makeSubStream: function(t, e, a) {
for (var i = t + e; this.bufferLength <= i && !this.eof; )
this.readBlock();
return new Stream(this.buffer,t,e,a)
},
skip: function(t) {
t || (t = 1),
this.pos += t
},
reset: function() {
this.pos = 0
}
},
t
}()
, FlateStream = function() {
function t(t) {
throw new Error(t)
}
function e(e) {
var a = 0
, i = e[a++]
, r = e[a++];
-1 != i && -1 != r || t("Invalid header in flate stream"),
8 != (15 & i) && t("Unknown compression method in flate stream"),
((i << 8) + r) % 31 != 0 && t("Bad FCHECK in flate stream"),
32 & r && t("FDICT bit set in flate stream"),
this.bytes = e,
this.bytesPos = a,
this.codeSize = 0,
this.codeBuf = 0,
DecodeStream.call(this)
}
var a = new Uint32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15])
, i = new Uint32Array([3, 4, 5, 6, 7, 8, 9, 10, 65547, 65549, 65551, 65553, 131091, 131095, 131099, 131103, 196643, 196651, 196659, 196667, 262211, 262227, 262243, 262259, 327811, 327843, 327875, 327907, 258, 258, 258])
, r = new Uint32Array([1, 2, 3, 4, 65541, 65543, 131081, 131085, 196625, 196633, 262177, 262193, 327745, 327777, 393345, 393409, 459009, 459137, 524801, 525057, 590849, 591361, 657409, 658433, 724993, 727041, 794625, 798721, 868353, 876545])
, s = [new Uint32Array([459008, 524368, 524304, 524568, 459024, 524400, 524336, 590016, 459016, 524384, 524320, 589984, 524288, 524416, 524352, 590048, 459012, 524376, 524312, 589968, 459028, 524408, 524344, 590032, 459020, 524392, 524328, 59e4, 524296, 524424, 524360, 590064, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590024, 459018, 524388, 524324, 589992, 524292, 524420, 524356, 590056, 459014, 524380, 524316, 589976, 459030, 524412, 524348, 590040, 459022, 524396, 524332, 590008, 524300, 524428, 524364, 590072, 459009, 524370, 524306, 524570, 459025, 524402, 524338, 590020, 459017, 524386, 524322, 589988, 524290, 524418, 524354, 590052, 459013, 524378, 524314, 589972, 459029, 524410, 524346, 590036, 459021, 524394, 524330, 590004, 524298, 524426, 524362, 590068, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590028, 459019, 524390, 524326, 589996, 524294, 524422, 524358, 590060, 459015, 524382, 524318, 589980, 459031, 524414, 524350, 590044, 459023, 524398, 524334, 590012, 524302, 524430, 524366, 590076, 459008, 524369, 524305, 524569, 459024, 524401, 524337, 590018, 459016, 524385, 524321, 589986, 524289, 524417, 524353, 590050, 459012, 524377, 524313, 589970, 459028, 524409, 524345, 590034, 459020, 524393, 524329, 590002, 524297, 524425, 524361, 590066, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590026, 459018, 524389, 524325, 589994, 524293, 524421, 524357, 590058, 459014, 524381, 524317, 589978, 459030, 524413, 524349, 590042, 459022, 524397, 524333, 590010, 524301, 524429, 524365, 590074, 459009, 524371, 524307, 524571, 459025, 524403, 524339, 590022, 459017, 524387, 524323, 589990, 524291, 524419, 524355, 590054, 459013, 524379, 524315, 589974, 459029, 524411, 524347, 590038, 459021, 524395, 524331, 590006, 524299, 524427, 524363, 590070, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590030, 459019, 524391, 524327, 589998, 524295, 524423, 524359, 590062, 459015, 524383, 524319, 589982, 459031, 524415, 524351, 590046, 459023, 524399, 524335, 590014, 524303, 524431, 524367, 590078, 459008, 524368, 524304, 524568, 459024, 524400, 524336, 590017, 459016, 524384, 524320, 589985, 524288, 524416, 524352, 590049, 459012, 524376, 524312, 589969, 459028, 524408, 524344, 590033, 459020, 524392, 524328, 590001, 524296, 524424, 524360, 590065, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590025, 459018, 524388, 524324, 589993, 524292, 524420, 524356, 590057, 459014, 524380, 524316, 589977, 459030, 524412, 524348, 590041, 459022, 524396, 524332, 590009, 524300, 524428, 524364, 590073, 459009, 524370, 524306, 524570, 459025, 524402, 524338, 590021, 459017, 524386, 524322, 589989, 524290, 524418, 524354, 590053, 459013, 524378, 524314, 589973, 459029, 524410, 524346, 590037, 459021, 524394, 524330, 590005, 524298, 524426, 524362, 590069, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590029, 459019, 524390, 524326, 589997, 524294, 524422, 524358, 590061, 459015, 524382, 524318, 589981, 459031, 524414, 524350, 590045, 459023, 524398, 524334, 590013, 524302, 524430, 524366, 590077, 459008, 524369, 524305, 524569, 459024, 524401, 524337, 590019, 459016, 524385, 524321, 589987, 524289, 524417, 524353, 590051, 459012, 524377, 524313, 589971, 459028, 524409, 524345, 590035, 459020, 524393, 524329, 590003, 524297, 524425, 524361, 590067, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590027, 459018, 524389, 524325, 589995, 524293, 524421, 524357, 590059, 459014, 524381, 524317, 589979, 459030, 524413, 524349, 590043, 459022, 524397, 524333, 590011, 524301, 524429, 524365, 590075, 459009, 524371, 524307, 524571, 459025, 524403, 524339, 590023, 459017, 524387, 524323, 589991, 524291, 524419, 524355, 590055, 459013, 524379, 524315, 589975, 459029, 524411, 524347, 590039, 459021, 524395, 524331, 590007, 524299, 524427, 524363, 590071, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590031, 459019, 524391, 524327, 589999, 524295, 524423, 524359, 590063, 459015, 524383, 524319, 589983, 459031, 524415, 524351, 590047, 459023, 524399, 524335, 590015, 524303, 524431, 524367, 590079]), 9]
, n = [new Uint32Array([327680, 327696, 327688, 327704, 327684, 327700, 327692, 327708, 327682, 327698, 327690, 327706, 327686, 327702, 327694, 0, 327681, 327697, 327689, 327705, 327685, 327701, 327693, 327709, 327683, 327699, 327691, 327707, 327687, 327703, 327695, 0]), 5];
return e.prototype = Object.create(DecodeStream.prototype),
e.prototype.getBits = function(e) {
for (var a, i = this.codeSize, r = this.codeBuf, s = this.bytes, n = this.bytesPos; e > i; )
"undefined" == typeof (a = s[n++]) && t("Bad encoding in flate stream"),
r |= a << i,
i += 8;
return a = r & (1 << e) - 1,
this.codeBuf = r >> e,
this.codeSize = i -= e,
this.bytesPos = n,
a
}
,
e.prototype.getCode = function(e) {
for (var a = e[0], i = e[1], r = this.codeSize, s = this.codeBuf, n = this.bytes, o = this.bytesPos; i > r; ) {
var h;
"undefined" == typeof (h = n[o++]) && t("Bad encoding in flate stream"),
s |= h << r,
r += 8
}
var f = a[s & (1 << i) - 1]
, d = f >> 16
, c = 65535 & f;
return (0 == r || d > r || 0 == d) && t("Bad encoding in flate stream"),
this.codeBuf = s >> d,
this.codeSize = r - d,
this.bytesPos = o,
c
}
,
e.prototype.generateHuffmanTable = function(t) {
for (var e = t.length, a = 0, i = 0; e > i; ++i)
t[i] > a && (a = t[i]);
for (var r = 1 << a, s = new Uint32Array(r), n = 1, o = 0, h = 2; a >= n; ++n,
o <<= 1,
h <<= 1)
for (var f = 0; e > f; ++f)
if (t[f] == n) {
for (var d = 0, c = o, i = 0; n > i; ++i)
d = d << 1 | 1 & c,
c >>= 1;
for (var i = d; r > i; i += h)
s[i] = n << 16 | f;
++o
}
return [s, a]
}
,
e.prototype.readBlock = function() {
function e(t, e, a, i, r) {
for (var s = t.getBits(a) + i; s-- > 0; )
e[I++] = r
}
var o = this.getBits(3);
if (1 & o && (this.eof = !0),
o >>= 1,
0 == o) {
var h, f = this.bytes, d = this.bytesPos;
"undefined" == typeof (h = f[d++]) && t("Bad block header in flate stream");
var c = h;
"undefined" == typeof (h = f[d++]) && t("Bad block header in flate stream"),
c |= h << 8,
"undefined" == typeof (h = f[d++]) && t("Bad block header in flate stream");
var l = h;
"undefined" == typeof (h = f[d++]) && t("Bad block header in flate stream"),
l |= h << 8,
l != (65535 & ~c) && t("Bad uncompressed block length in flate stream"),
this.codeBuf = 0,
this.codeSize = 0;
var u = this.bufferLength
, p = this.ensureBuffer(u + c)
, g = u + c;
this.bufferLength = g;
for (var m = u; g > m; ++m) {
if ("undefined" == typeof (h = f[d++])) {
this.eof = !0;
break
}
p[m] = h
}
return void (this.bytesPos = d)
}
var y, v;
if (1 == o)
y = s,
v = n;
else if (2 == o) {
for (var b = this.getBits(5) + 257, w = this.getBits(5) + 1, B = this.getBits(4) + 4, T = Array(a.length), I = 0; B > I; )
T[a[I++]] = this.getBits(3);
for (var U = this.generateHuffmanTable(T), D = 0, I = 0, k = b + w, A = new Array(k); k > I; ) {
var C = this.getCode(U);
16 == C ? e(this, A, 2, 3, D) : 17 == C ? e(this, A, 3, 3, D = 0) : 18 == C ? e(this, A, 7, 11, D = 0) : A[I++] = D = C
}
y = this.generateHuffmanTable(A.slice(0, b)),
v = this.generateHuffmanTable(A.slice(b, k))
} else
t("Unknown block type in flate stream");
for (var p = this.buffer, S = p ? p.length : 0, P = this.bufferLength; ; ) {
var M = this.getCode(y);
if (256 > M)
P + 1 >= S && (p = this.ensureBuffer(P + 1),
S = p.length),
p[P++] = M;
else {
if (256 == M)
return void (this.bufferLength = P);
M -= 257,
M = i[M];
var L = M >> 16;
L > 0 && (L = this.getBits(L));
var D = (65535 & M) + L;
M = this.getCode(v),
M = r[M],
L = M >> 16,
L > 0 && (L = this.getBits(L));
var x = (65535 & M) + L;
P + D >= S && (p = this.ensureBuffer(P + D),
S = p.length);
for (var N = 0; D > N; ++N,
++P)
p[P] = p[P - x]
}
}
}
,
e
}();
(function() {
var t;
t = function() {
function t(t) {
var e, a, i, r, s, n, o, h, f, d, c, l, u, p;
for (this.data = t,
this.pos = 8,
this.palette = [],
this.imgData = [],
this.transparency = {},
this.animation = null,
this.text = {},
s = null; ; ) {
switch (e = this.readUInt32(),
f = function() {
var t, e;
for (e = [],
n = t = 0; 4 > t; n = ++t)
e.push(String.fromCharCode(this.data[this.pos++]));
return e
}
.call(this).join("")) {
case "IHDR":
if (this.width = this.readUInt32(),
this.height = this.readUInt32(),
this.bits = this.data[this.pos++],
this.colorType = this.data[this.pos++],
this.compressionMethod = this.data[this.pos++],
this.filterMethod = this.data[this.pos++],
this.interlaceMethod = this.data[this.pos++],
0 != this.interlaceMethod)
throw new Error("Invalid interlaceMethod: " + this.interlaceMethod);
break;
case "acTL":
this.animation = {
numFrames: this.readUInt32(),
numPlays: this.readUInt32() || 1 / 0,
frames: []
};
break;
case "PLTE":
this.palette = this.read(e);
break;
case "fcTL":
s && this.animation.frames.push(s),
this.pos += 4,
s = {
width: this.readUInt32(),
height: this.readUInt32(),
xOffset: this.readUInt32(),
yOffset: this.readUInt32()
},
r = this.readUInt16(),
i = this.readUInt16() || 100,
s.delay = 1e3 * r / i,
s.disposeOp = this.data[this.pos++],
s.blendOp = this.data[this.pos++],
s.data = [];
break;
case "IDAT":
case "fdAT":
for ("fdAT" === f && (this.pos += 4,
e -= 4),
t = (null != s ? s.data : void 0) || this.imgData,
n = l = 0; e >= 0 ? e > l : l > e; n = e >= 0 ? ++l : --l)
t.push(this.data[this.pos++]);
break;
case "tRNS":
switch (this.transparency = {},
this.colorType) {
case 3:
if (this.transparency.indexed = this.read(e),
d = 255 - this.transparency.indexed.length,
d > 0)
for (n = u = 0; d >= 0 ? d > u : u > d; n = d >= 0 ? ++u : --u)
this.transparency.indexed.push(255);
break;
case 0:
this.transparency.grayscale = this.read(e)[0];
break;
case 2:
this.transparency.rgb = this.read(e)
}
break;
case "tEXt":
c = this.read(e),
o = c.indexOf(0),
h = String.fromCharCode.apply(String, c.slice(0, o)),
this.text[h] = String.fromCharCode.apply(String, c.slice(o + 1));
break;
case "IEND":
return s && this.animation.frames.push(s),
this.colors = function() {
switch (this.colorType) {
case 0:
case 3:
case 4:
return 1;
case 2:
case 6:
return 3
}
}
.call(this),
this.hasAlphaChannel = 4 === (p = this.colorType) || 6 === p,
a = this.colors + (this.hasAlphaChannel ? 1 : 0),
this.pixelBitlength = this.bits * a,
this.colorSpace = function() {
switch (this.colors) {
case 1:
return "DeviceGray";
case 3:
return "DeviceRGB"
}
}
.call(this),
void (this.imgData = new Uint8Array(this.imgData));
default:
this.pos += e
}
if (this.pos += 4,
this.pos > this.data.length)
throw new Error("Incomplete or corrupt PNG file")
}
}
var e, a, i, r, s, n;
return t.load = function(e, a) {
var i;
return "function" == typeof canvas && (a = canvas),
i = new XMLHttpRequest,
i.open("GET", e, !0),
i.responseType = "arraybuffer",
i.onload = function() {
var r, s;
return r = new Uint8Array(i.response || i.mozResponseArrayBuffer),
s = new t(r),
s.url = e,
"function" == typeof a ? a(s) : void 0
}
,
i.send(null)
}
,
r = 0,
i = 1,
s = 2,
a = 0,
e = 1,
t.prototype.read = function(t) {
var e, a, i;
for (i = [],
e = a = 0; t >= 0 ? t > a : a > t; e = t >= 0 ? ++a : --a)
i.push(this.data[this.pos++]);
return i
}
,
t.prototype.readUInt32 = function() {
var t, e, a, i;
return t = this.data[this.pos++] << 24,
e = this.data[this.pos++] << 16,
a = this.data[this.pos++] << 8,
i = this.data[this.pos++],
t | e | a | i
}
,
t.prototype.readUInt16 = function() {
var t, e;
return t = this.data[this.pos++] << 8,
e = this.data[this.pos++],
t | e
}
,
t.prototype.decodePixels = function(t) {
var e, a, i, r, s, n, o, h, f, d, c, l, u, p, g, m, y, v, b, w, B, T, I;
if (null == t && (t = this.imgData),
0 === t.length)
return new Uint8Array(0);
for (t = new FlateStream(t),
t = t.getBytes(),
l = this.pixelBitlength / 8,
m = l * this.width,
u = new Uint8Array(m * this.height),
n = t.length,
g = 0,
p = 0,
a = 0; n > p; ) {
switch (t[p++]) {
case 0:
for (r = b = 0; m > b; r = b += 1)
u[a++] = t[p++];
break;
case 1:
for (r = w = 0; m > w; r = w += 1)
e = t[p++],
s = l > r ? 0 : u[a - l],
u[a++] = (e + s) % 256;
break;
case 2:
for (r = B = 0; m > B; r = B += 1)
e = t[p++],
i = (r - r % l) / l,
y = g && u[(g - 1) * m + i * l + r % l],
u[a++] = (y + e) % 256;
break;
case 3:
for (r = T = 0; m > T; r = T += 1)
e = t[p++],
i = (r - r % l) / l,
s = l > r ? 0 : u[a - l],
y = g && u[(g - 1) * m + i * l + r % l],
u[a++] = (e + Math.floor((s + y) / 2)) % 256;
break;
case 4:
for (r = I = 0; m > I; r = I += 1)
e = t[p++],
i = (r - r % l) / l,
s = l > r ? 0 : u[a - l],
0 === g ? y = v = 0 : (y = u[(g - 1) * m + i * l + r % l],
v = i && u[(g - 1) * m + (i - 1) * l + r % l]),
o = s + y - v,
h = Math.abs(o - s),
d = Math.abs(o - y),
c = Math.abs(o - v),
f = d >= h && c >= h ? s : c >= d ? y : v,
u[a++] = (e + f) % 256;
break;
default:
throw new Error("Invalid filter algorithm: " + t[p - 1])
}
g++
}
return u
}
,
t.prototype.decodePalette = function() {
var t, e, a, i, r, s, n, o, h, f;
i = this.palette,
n = this.transparency.indexed || [];
var d;
for (d = 4 * i.length / 3,
s = new Uint8Array(d),
r = 0,
a = i.length,
t = 0,
e = o = 0,
h = i.length; h > o; e = o += 3)
s[r++] = i[e],
s[r++] = i[e + 1],
s[r++] = i[e + 2],
s[r++] = null != (f = n[t++]) ? f : 255;
return s
}
,
t.prototype.getImageData = function() {
var t = new self.ImageData(this.width,this.height);
return this.copyToImageData(t, this.decodePixels()),
t
}
,
t.prototype.getImageDataBuffer = function() {
var t;
return t = self.Uint8ClampedArray ? new self.Uint8ClampedArray(this.width * this.height * 4) : new self.Uint8Array(this.width * this.height * 4),
this.copyToImageData(t, this.decodePixels()),
t
}
,
t.prototype.copyToImageData = function(t, e) {
var a, i, r, s, n, o, h, f, d, c, l;
if (i = this.colors,
d = null,
a = this.hasAlphaChannel,
this.palette.length && (d = null != (l = this._decodedPalette) ? l : this._decodedPalette = this.decodePalette(),
i = 4,
a = !0),
r = t.data || t,
f = r.length,
n = d || e,
s = o = 0,
1 === i)
for (; f > s; )
h = d ? 4 * e[s / 4] : o,
c = n[h++],
r[s++] = c,
r[s++] = c,
r[s++] = c,
r[s++] = a ? n[h++] : 255,
o = h;
else
for (; f > s; )
h = d ? 4 * e[s / 4] : o,
r[s++] = n[h++],
r[s++] = n[h++],
r[s++] = n[h++],
r[s++] = a ? n[h++] : 255,
o = h
}
,
t.prototype.decode = function() {
var t;
return t = new Uint8Array(this.width * this.height * 4),
this.copyToImageData(t, this.decodePixels()),
t
}
,
t.prototype.decodeFrames = function(t) {
var e, a, i, r, s, o, h, f;
if (this.animation) {
for (h = this.animation.frames,
f = [],
a = s = 0,
o = h.length; o > s; a = ++s)
e = h[a],
i = t.createImageData(e.width, e.height),
r = this.decodePixels(new Uint8Array(e.data)),
this.copyToImageData(i, r),
e.imageData = i,
f.push(e.image = n(i));
return f
}
}
,
t
}(),
this.PNG = t
}
).call(this),
onmessage = function(t) {
var e = t.data;
switch (e.type) {
case "load":
loadImage2(e)
}
}
;
var canUseImageData = !1;
testCanImageData();