mirror of
https://github.com/swc-project/swc.git
synced 2024-11-23 17:54:15 +03:00
fix(es/minifier): Remove hack for built-in class names (#8293)
**Description:** Regarding https://github.com/vercel/next.js/issues/55682, I made a mistake while investigating. I assumed it's `swcMinify`-only but it seems like `node-fetch` is fundamentally incompatible with our minification options. I thought `node-fetch` works with terser, but it did not, and it **should not**. But as I thought `terser` works, I assumed that `terser` has a hack for `AbortSignal`. And that's how I fixed `swcMinify: true`. The correct fix is `keep_classnames: true` but it will result in +~10% bundle size bloat. At first, I used the correct way (`keep_classnames: true`), but it resulted in the bundle size bloat, so I mimicked the hack of terser with https://github.com/vercel/next.js/pull/57904. While working on other minification issues, I found that there's no such hack in `terser` and I need to remove the hack in the SWC minifier. The repro in https://github.com/vercel/next.js/issues/55682 does not work with `swcMinify: false`, even with next@14. The problem of minifier and node-fetch was not exploited before `serverMinification: true`. **Related issue:** - https://github.com/brix/crypto-js/issues/415
This commit is contained in:
parent
f88d6f3c8d
commit
7985e02fc8
204
crates/swc_ecma_minifier/tests/fixture/next/cryptojs/input.js
Normal file
204
crates/swc_ecma_minifier/tests/fixture/next/cryptojs/input.js
Normal file
@ -0,0 +1,204 @@
|
||||
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[354], {
|
||||
|
||||
|
||||
/***/ 2153:
|
||||
/***/ (function (module, exports, __webpack_require__) {
|
||||
|
||||
; (function (root, factory) {
|
||||
if (true) {
|
||||
// CommonJS
|
||||
module.exports = exports = factory(__webpack_require__(8249));
|
||||
}
|
||||
else { }
|
||||
}(this, function (CryptoJS) {
|
||||
|
||||
(function (Math) {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var WordArray = C_lib.WordArray;
|
||||
var Hasher = C_lib.Hasher;
|
||||
var C_algo = C.algo;
|
||||
|
||||
// Initialization and round constants tables
|
||||
var H = [];
|
||||
var K = [];
|
||||
|
||||
// Compute constants
|
||||
(function () {
|
||||
function isPrime(n) {
|
||||
var sqrtN = Math.sqrt(n);
|
||||
for (var factor = 2; factor <= sqrtN; factor++) {
|
||||
if (!(n % factor)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function getFractionalBits(n) {
|
||||
return ((n - (n | 0)) * 0x100000000) | 0;
|
||||
}
|
||||
|
||||
var n = 2;
|
||||
var nPrime = 0;
|
||||
while (nPrime < 64) {
|
||||
if (isPrime(n)) {
|
||||
if (nPrime < 8) {
|
||||
H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));
|
||||
}
|
||||
K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));
|
||||
|
||||
nPrime++;
|
||||
}
|
||||
|
||||
n++;
|
||||
}
|
||||
}());
|
||||
|
||||
// Reusable object
|
||||
var W = [];
|
||||
|
||||
/**
|
||||
* SHA-256 hash algorithm.
|
||||
*/
|
||||
var SHA256 = C_algo.SHA256 = Hasher.extend({
|
||||
_doReset: function () {
|
||||
this._hash = new WordArray.init(H.slice(0));
|
||||
},
|
||||
|
||||
_doProcessBlock: function (M, offset) {
|
||||
// Shortcut
|
||||
var H = this._hash.words;
|
||||
|
||||
// Working variables
|
||||
var a = H[0];
|
||||
var b = H[1];
|
||||
var c = H[2];
|
||||
var d = H[3];
|
||||
var e = H[4];
|
||||
var f = H[5];
|
||||
var g = H[6];
|
||||
var h = H[7];
|
||||
|
||||
// Computation
|
||||
for (var i = 0; i < 64; i++) {
|
||||
if (i < 16) {
|
||||
W[i] = M[offset + i] | 0;
|
||||
} else {
|
||||
var gamma0x = W[i - 15];
|
||||
var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^
|
||||
((gamma0x << 14) | (gamma0x >>> 18)) ^
|
||||
(gamma0x >>> 3);
|
||||
|
||||
var gamma1x = W[i - 2];
|
||||
var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^
|
||||
((gamma1x << 13) | (gamma1x >>> 19)) ^
|
||||
(gamma1x >>> 10);
|
||||
|
||||
W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
|
||||
}
|
||||
|
||||
var ch = (e & f) ^ (~e & g);
|
||||
var maj = (a & b) ^ (a & c) ^ (b & c);
|
||||
|
||||
var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));
|
||||
var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));
|
||||
|
||||
var t1 = h + sigma1 + ch + K[i] + W[i];
|
||||
var t2 = sigma0 + maj;
|
||||
|
||||
h = g;
|
||||
g = f;
|
||||
f = e;
|
||||
e = (d + t1) | 0;
|
||||
d = c;
|
||||
c = b;
|
||||
b = a;
|
||||
a = (t1 + t2) | 0;
|
||||
}
|
||||
|
||||
// Intermediate hash value
|
||||
H[0] = (H[0] + a) | 0;
|
||||
H[1] = (H[1] + b) | 0;
|
||||
H[2] = (H[2] + c) | 0;
|
||||
H[3] = (H[3] + d) | 0;
|
||||
H[4] = (H[4] + e) | 0;
|
||||
H[5] = (H[5] + f) | 0;
|
||||
H[6] = (H[6] + g) | 0;
|
||||
H[7] = (H[7] + h) | 0;
|
||||
},
|
||||
|
||||
_doFinalize: function () {
|
||||
// Shortcuts
|
||||
var data = this._data;
|
||||
var dataWords = data.words;
|
||||
|
||||
var nBitsTotal = this._nDataBytes * 8;
|
||||
var nBitsLeft = data.sigBytes * 8;
|
||||
|
||||
// Add padding
|
||||
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
|
||||
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
|
||||
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
|
||||
data.sigBytes = dataWords.length * 4;
|
||||
|
||||
// Hash final blocks
|
||||
this._process();
|
||||
|
||||
// Return final computed hash
|
||||
return this._hash;
|
||||
},
|
||||
|
||||
clone: function () {
|
||||
var clone = Hasher.clone.call(this);
|
||||
clone._hash = this._hash.clone();
|
||||
|
||||
return clone;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Shortcut function to the hasher's object interface.
|
||||
*
|
||||
* @param {WordArray|string} message The message to hash.
|
||||
*
|
||||
* @return {WordArray} The hash.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hash = CryptoJS.SHA256('message');
|
||||
* var hash = CryptoJS.SHA256(wordArray);
|
||||
*/
|
||||
C.SHA256 = Hasher._createHelper(SHA256);
|
||||
|
||||
/**
|
||||
* Shortcut function to the HMAC's object interface.
|
||||
*
|
||||
* @param {WordArray|string} message The message to hash.
|
||||
* @param {WordArray|string} key The secret key.
|
||||
*
|
||||
* @return {WordArray} The HMAC.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hmac = CryptoJS.HmacSHA256(message, key);
|
||||
*/
|
||||
C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
|
||||
}(Math));
|
||||
|
||||
|
||||
return CryptoJS.SHA256;
|
||||
|
||||
}));
|
||||
|
||||
/***/
|
||||
}),
|
||||
|
||||
|
||||
}]);
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"toplevel": true
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
|
||||
[
|
||||
354
|
||||
],
|
||||
{
|
||||
2153: function(e, r, t) {
|
||||
var s, n, a, o, i, h, c, l, _, f;
|
||||
e.exports = (s = t(8249), n = Math, o = (a = s.lib).WordArray, i = a.Hasher, h = s.algo, c = [], l = [], function() {
|
||||
function e(e) {
|
||||
return (e - (0 | e)) * 0x100000000 | 0;
|
||||
}
|
||||
for(var r = 2, t = 0; t < 64;)(function(e) {
|
||||
for(var r = n.sqrt(e), t = 2; t <= r; t++)if (!(e % t)) return !1;
|
||||
return !0;
|
||||
})(r) && (t < 8 && (c[t] = e(n.pow(r, 0.5))), l[t] = e(n.pow(r, 1 / 3)), t++), r++;
|
||||
}(), _ = [], f = h.SHA256 = i.extend({
|
||||
_doReset: function() {
|
||||
this._hash = new o.init(c.slice(0));
|
||||
},
|
||||
_doProcessBlock: function(e, r) {
|
||||
for(var t = this._hash.words, s = t[0], n = t[1], a = t[2], o = t[3], i = t[4], h = t[5], c = t[6], f = t[7], u = 0; u < 64; u++){
|
||||
if (u < 16) _[u] = 0 | e[r + u];
|
||||
else {
|
||||
var p = _[u - 15], H = (p << 25 | p >>> 7) ^ (p << 14 | p >>> 18) ^ p >>> 3, d = _[u - 2], v = (d << 15 | d >>> 17) ^ (d << 13 | d >>> 19) ^ d >>> 10;
|
||||
_[u] = H + _[u - 7] + v + _[u - 16];
|
||||
}
|
||||
var w = i & h ^ ~i & c, k = s & n ^ s & a ^ n & a, A = (s << 30 | s >>> 2) ^ (s << 19 | s >>> 13) ^ (s << 10 | s >>> 22), g = f + ((i << 26 | i >>> 6) ^ (i << 21 | i >>> 11) ^ (i << 7 | i >>> 25)) + w + l[u] + _[u], y = A + k;
|
||||
f = c, c = h, h = i, i = o + g | 0, o = a, a = n, n = s, s = g + y | 0;
|
||||
}
|
||||
t[0] = t[0] + s | 0, t[1] = t[1] + n | 0, t[2] = t[2] + a | 0, t[3] = t[3] + o | 0, t[4] = t[4] + i | 0, t[5] = t[5] + h | 0, t[6] = t[6] + c | 0, t[7] = t[7] + f | 0;
|
||||
},
|
||||
_doFinalize: function() {
|
||||
var e = this._data, r = e.words, t = 8 * this._nDataBytes, s = 8 * e.sigBytes;
|
||||
return r[s >>> 5] |= 0x80 << 24 - s % 32, r[(s + 64 >>> 9 << 4) + 14] = n.floor(t / 0x100000000), r[(s + 64 >>> 9 << 4) + 15] = t, e.sigBytes = 4 * r.length, this._process(), this._hash;
|
||||
},
|
||||
clone: function() {
|
||||
var e = i.clone.call(this);
|
||||
return e._hash = this._hash.clone(), e;
|
||||
}
|
||||
}), s.SHA256 = i._createHelper(f), s.HmacSHA256 = i._createHmacHelper(f), s.SHA256);
|
||||
}
|
||||
}
|
||||
]);
|
@ -2992,79 +2992,79 @@
|
||||
"use strict";
|
||||
r.r(t), r.d(t, {
|
||||
Canvas: function() {
|
||||
return y;
|
||||
return v;
|
||||
},
|
||||
Circle: function() {
|
||||
return g;
|
||||
return b;
|
||||
},
|
||||
ClipPath: function() {
|
||||
return D;
|
||||
return _;
|
||||
},
|
||||
Defs: function() {
|
||||
return p;
|
||||
return h;
|
||||
},
|
||||
Document: function() {
|
||||
return Document;
|
||||
return w;
|
||||
},
|
||||
Ellipse: function() {
|
||||
return v;
|
||||
return m;
|
||||
},
|
||||
G: function() {
|
||||
return n;
|
||||
},
|
||||
Image: function() {
|
||||
return Image;
|
||||
return y;
|
||||
},
|
||||
Line: function() {
|
||||
return f;
|
||||
return d;
|
||||
},
|
||||
LinearGradient: function() {
|
||||
return E;
|
||||
return S;
|
||||
},
|
||||
Link: function() {
|
||||
return a;
|
||||
},
|
||||
Note: function() {
|
||||
return l;
|
||||
},
|
||||
Page: function() {
|
||||
return u;
|
||||
},
|
||||
Path: function() {
|
||||
Note: function() {
|
||||
return s;
|
||||
},
|
||||
Polygon: function() {
|
||||
return b;
|
||||
Page: function() {
|
||||
return l;
|
||||
},
|
||||
Polyline: function() {
|
||||
return m;
|
||||
},
|
||||
RadialGradient: function() {
|
||||
return _;
|
||||
},
|
||||
Rect: function() {
|
||||
Path: function() {
|
||||
return c;
|
||||
},
|
||||
Polygon: function() {
|
||||
return D;
|
||||
},
|
||||
Polyline: function() {
|
||||
return E;
|
||||
},
|
||||
RadialGradient: function() {
|
||||
return A;
|
||||
},
|
||||
Rect: function() {
|
||||
return f;
|
||||
},
|
||||
Stop: function() {
|
||||
return d;
|
||||
return p;
|
||||
},
|
||||
Svg: function() {
|
||||
return i;
|
||||
},
|
||||
Text: function() {
|
||||
return Text;
|
||||
return a;
|
||||
},
|
||||
TextInstance: function() {
|
||||
return w;
|
||||
return x;
|
||||
},
|
||||
Tspan: function() {
|
||||
return h;
|
||||
return g;
|
||||
},
|
||||
View: function() {
|
||||
return o;
|
||||
}
|
||||
});
|
||||
const n = "G", i = "SVG", o = "VIEW", Text = "TEXT", a = "LINK", u = "PAGE", l = "NOTE", s = "PATH", c = "RECT", f = "LINE", d = "STOP", p = "DEFS", Image = "IMAGE", h = "TSPAN", y = "CANVAS", g = "CIRCLE", v = "ELLIPSE", b = "POLYGON", Document = "DOCUMENT", m = "POLYLINE", D = "CLIP_PATH", w = "TEXT_INSTANCE", E = "LINEAR_GRADIENT", _ = "RADIAL_GRADIENT";
|
||||
const n = "G", i = "SVG", o = "VIEW", a = "TEXT", u = "LINK", l = "PAGE", s = "NOTE", c = "PATH", f = "RECT", d = "LINE", p = "STOP", h = "DEFS", y = "IMAGE", g = "TSPAN", v = "CANVAS", b = "CIRCLE", m = "ELLIPSE", D = "POLYGON", w = "DOCUMENT", E = "POLYLINE", _ = "CLIP_PATH", x = "TEXT_INSTANCE", S = "LINEAR_GRADIENT", A = "RADIAL_GRADIENT";
|
||||
},
|
||||
2837: function(e, t, r) {
|
||||
"use strict";
|
||||
@ -5662,14 +5662,14 @@
|
||||
4561: function(e, t) {
|
||||
"use strict";
|
||||
t.__esModule = !0, t.default = void 0;
|
||||
var Node = function() {
|
||||
function Node(e) {
|
||||
var r = function() {
|
||||
function e(e) {
|
||||
this.prev = null, this.next = null, this.data = e;
|
||||
}
|
||||
return Node.prototype.toString = function() {
|
||||
return e.prototype.toString = function() {
|
||||
return this.data.toString();
|
||||
}, Node;
|
||||
}(), r = function() {
|
||||
}, e;
|
||||
}(), n = function() {
|
||||
function e() {
|
||||
this.head = null, this.tail = null, this.listSize = 0;
|
||||
}
|
||||
@ -5725,7 +5725,7 @@
|
||||
return this.head.next.prev = null, this.head = this.head.next, this.listSize -= 1, e.prev = null, e.next = null, e;
|
||||
}, e;
|
||||
}();
|
||||
r.Node = Node, t.default = r;
|
||||
n.Node = r, t.default = n;
|
||||
},
|
||||
9276: function(e, t, r) {
|
||||
"use strict";
|
||||
@ -7267,24 +7267,24 @@
|
||||
};
|
||||
},
|
||||
7152: function(e, t, r) {
|
||||
var WritableStream = r(9681).Writable, n = r(9720), Blob = r(5548), URL = r.g.URL || r.g.webkitURL || r.g.mozURL;
|
||||
function i() {
|
||||
if (!(this instanceof i)) return new i();
|
||||
WritableStream.call(this), this._chunks = [], this._blob = null, this.length = 0;
|
||||
var n = r(9681).Writable, i = r(9720), o = r(5548), a = r.g.URL || r.g.webkitURL || r.g.mozURL;
|
||||
function u() {
|
||||
if (!(this instanceof u)) return new u();
|
||||
n.call(this), this._chunks = [], this._blob = null, this.length = 0;
|
||||
}
|
||||
n.inherits(i, WritableStream), i.prototype._write = function(e, t, r) {
|
||||
i.inherits(u, n), u.prototype._write = function(e, t, r) {
|
||||
e instanceof Uint8Array || (e = new Uint8Array(e)), this.length += e.length, this._chunks.push(e), r();
|
||||
}, i.prototype.toBlob = function(e) {
|
||||
return e = e || "application/octet-stream", this._blob || (this._blob = new Blob(this._chunks, {
|
||||
}, u.prototype.toBlob = function(e) {
|
||||
return e = e || "application/octet-stream", this._blob || (this._blob = new o(this._chunks, {
|
||||
type: e
|
||||
}), this._chunks = []), this._blob.type !== e && (this._blob = new Blob([
|
||||
}), this._chunks = []), this._blob.type !== e && (this._blob = new o([
|
||||
this._blob
|
||||
], {
|
||||
type: e
|
||||
})), this._blob;
|
||||
}, i.prototype.toBlobURL = function(e) {
|
||||
return URL.createObjectURL(this.toBlob(e));
|
||||
}, e.exports = i;
|
||||
}, u.prototype.toBlobURL = function(e) {
|
||||
return a.createObjectURL(this.toBlob(e));
|
||||
}, e.exports = u;
|
||||
},
|
||||
5548: function(e, t, r) {
|
||||
var n = r.g.BlobBuilder || r.g.WebKitBlobBuilder || r.g.MSBlobBuilder || r.g.MozBlobBuilder, i = function() {
|
||||
@ -8316,8 +8316,8 @@
|
||||
return r;
|
||||
}), r;
|
||||
}
|
||||
function Headers(e) {
|
||||
this.map = {}, e instanceof Headers ? e.forEach(function(e, t) {
|
||||
function l(e) {
|
||||
this.map = {}, e instanceof l ? e.forEach(function(e, t) {
|
||||
this.append(t, e);
|
||||
}, this) : Array.isArray(e) ? e.forEach(function(e) {
|
||||
this.append(e[0], e[1]);
|
||||
@ -8325,11 +8325,11 @@
|
||||
this.append(t, e[t]);
|
||||
}, this);
|
||||
}
|
||||
function l(e) {
|
||||
function s(e) {
|
||||
if (e.bodyUsed) return Promise.reject(TypeError("Already read"));
|
||||
e.bodyUsed = !0;
|
||||
}
|
||||
function s(e) {
|
||||
function c(e) {
|
||||
return new Promise(function(t, r) {
|
||||
e.onload = function() {
|
||||
t(e.result);
|
||||
@ -8338,16 +8338,16 @@
|
||||
};
|
||||
});
|
||||
}
|
||||
function c(e) {
|
||||
var t = new FileReader(), r = s(t);
|
||||
function f(e) {
|
||||
var t = new FileReader(), r = c(t);
|
||||
return t.readAsArrayBuffer(e), r;
|
||||
}
|
||||
function f(e) {
|
||||
function d(e) {
|
||||
if (e.slice) return e.slice(0);
|
||||
var t = new Uint8Array(e.byteLength);
|
||||
return t.set(new Uint8Array(e)), t.buffer;
|
||||
}
|
||||
function d() {
|
||||
function p() {
|
||||
return this.bodyUsed = !1, this._initBody = function(e) {
|
||||
if (this._bodyInit = e, e) {
|
||||
if ("string" == typeof e) this._bodyText = e;
|
||||
@ -8356,14 +8356,14 @@
|
||||
else if (t.searchParams && URLSearchParams.prototype.isPrototypeOf(e)) this._bodyText = e.toString();
|
||||
else {
|
||||
var r;
|
||||
t.arrayBuffer && t.blob && (r = e) && DataView.prototype.isPrototypeOf(r) ? (this._bodyArrayBuffer = f(e.buffer), this._bodyInit = new Blob([
|
||||
t.arrayBuffer && t.blob && (r = e) && DataView.prototype.isPrototypeOf(r) ? (this._bodyArrayBuffer = d(e.buffer), this._bodyInit = new Blob([
|
||||
this._bodyArrayBuffer
|
||||
])) : t.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(e) || i(e)) ? this._bodyArrayBuffer = f(e) : this._bodyText = e = Object.prototype.toString.call(e);
|
||||
])) : t.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(e) || i(e)) ? this._bodyArrayBuffer = d(e) : this._bodyText = e = Object.prototype.toString.call(e);
|
||||
}
|
||||
} else this._bodyText = "";
|
||||
!this.headers.get("content-type") && ("string" == typeof e ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : t.searchParams && URLSearchParams.prototype.isPrototypeOf(e) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
|
||||
}, t.blob && (this.blob = function() {
|
||||
var e = l(this);
|
||||
var e = s(this);
|
||||
if (e) return e;
|
||||
if (this._bodyBlob) return Promise.resolve(this._bodyBlob);
|
||||
if (this._bodyArrayBuffer) return Promise.resolve(new Blob([
|
||||
@ -8374,11 +8374,11 @@
|
||||
]));
|
||||
throw Error("could not read FormData body as blob");
|
||||
}, this.arrayBuffer = function() {
|
||||
return this._bodyArrayBuffer ? l(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(c);
|
||||
return this._bodyArrayBuffer ? s(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(f);
|
||||
}), this.text = function() {
|
||||
var e, t, r, n = l(this);
|
||||
var e, t, r, n = s(this);
|
||||
if (n) return n;
|
||||
if (this._bodyBlob) return e = this._bodyBlob, r = s(t = new FileReader()), t.readAsText(e), r;
|
||||
if (this._bodyBlob) return e = this._bodyBlob, r = c(t = new FileReader()), t.readAsText(e), r;
|
||||
if (this._bodyArrayBuffer) return Promise.resolve(function(e) {
|
||||
for(var t = new Uint8Array(e), r = Array(t.length), n = 0; n < t.length; n++)r[n] = String.fromCharCode(t[n]);
|
||||
return r.join("");
|
||||
@ -8386,36 +8386,36 @@
|
||||
if (!this._bodyFormData) return Promise.resolve(this._bodyText);
|
||||
throw Error("could not read FormData body as text");
|
||||
}, t.formData && (this.formData = function() {
|
||||
return this.text().then(h);
|
||||
return this.text().then(g);
|
||||
}), this.json = function() {
|
||||
return this.text().then(JSON.parse);
|
||||
}, this;
|
||||
}
|
||||
Headers.prototype.append = function(e, t) {
|
||||
l.prototype.append = function(e, t) {
|
||||
e = o(e), t = a(t);
|
||||
var r = this.map[e];
|
||||
this.map[e] = r ? r + ", " + t : t;
|
||||
}, Headers.prototype.delete = function(e) {
|
||||
}, l.prototype.delete = function(e) {
|
||||
delete this.map[o(e)];
|
||||
}, Headers.prototype.get = function(e) {
|
||||
}, l.prototype.get = function(e) {
|
||||
return e = o(e), this.has(e) ? this.map[e] : null;
|
||||
}, Headers.prototype.has = function(e) {
|
||||
}, l.prototype.has = function(e) {
|
||||
return this.map.hasOwnProperty(o(e));
|
||||
}, Headers.prototype.set = function(e, t) {
|
||||
}, l.prototype.set = function(e, t) {
|
||||
this.map[o(e)] = a(t);
|
||||
}, Headers.prototype.forEach = function(e, t) {
|
||||
}, l.prototype.forEach = function(e, t) {
|
||||
for(var r in this.map)this.map.hasOwnProperty(r) && e.call(t, this.map[r], r, this);
|
||||
}, Headers.prototype.keys = function() {
|
||||
}, l.prototype.keys = function() {
|
||||
var e = [];
|
||||
return this.forEach(function(t, r) {
|
||||
e.push(r);
|
||||
}), u(e);
|
||||
}, Headers.prototype.values = function() {
|
||||
}, l.prototype.values = function() {
|
||||
var e = [];
|
||||
return this.forEach(function(t) {
|
||||
e.push(t);
|
||||
}), u(e);
|
||||
}, Headers.prototype.entries = function() {
|
||||
}, l.prototype.entries = function() {
|
||||
var e = [];
|
||||
return this.forEach(function(t, r) {
|
||||
e.push([
|
||||
@ -8423,8 +8423,8 @@
|
||||
t
|
||||
]);
|
||||
}), u(e);
|
||||
}, t.iterable && (Headers.prototype[Symbol.iterator] = Headers.prototype.entries);
|
||||
var p = [
|
||||
}, t.iterable && (l.prototype[Symbol.iterator] = l.prototype.entries);
|
||||
var h = [
|
||||
"DELETE",
|
||||
"GET",
|
||||
"HEAD",
|
||||
@ -8432,16 +8432,16 @@
|
||||
"POST",
|
||||
"PUT"
|
||||
];
|
||||
function Request(e, t) {
|
||||
function y(e, t) {
|
||||
var r, n, i = (t = t || {}).body;
|
||||
if (e instanceof Request) {
|
||||
if (e instanceof y) {
|
||||
if (e.bodyUsed) throw TypeError("Already read");
|
||||
this.url = e.url, this.credentials = e.credentials, t.headers || (this.headers = new Headers(e.headers)), this.method = e.method, this.mode = e.mode, this.signal = e.signal, i || null == e._bodyInit || (i = e._bodyInit, e.bodyUsed = !0);
|
||||
this.url = e.url, this.credentials = e.credentials, t.headers || (this.headers = new l(e.headers)), this.method = e.method, this.mode = e.mode, this.signal = e.signal, i || null == e._bodyInit || (i = e._bodyInit, e.bodyUsed = !0);
|
||||
} else this.url = String(e);
|
||||
if (this.credentials = t.credentials || this.credentials || "same-origin", (t.headers || !this.headers) && (this.headers = new Headers(t.headers)), this.method = (n = (r = t.method || this.method || "GET").toUpperCase(), p.indexOf(n) > -1 ? n : r), this.mode = t.mode || this.mode || null, this.signal = t.signal || this.signal, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && i) throw TypeError("Body not allowed for GET or HEAD requests");
|
||||
if (this.credentials = t.credentials || this.credentials || "same-origin", (t.headers || !this.headers) && (this.headers = new l(t.headers)), this.method = (n = (r = t.method || this.method || "GET").toUpperCase(), h.indexOf(n) > -1 ? n : r), this.mode = t.mode || this.mode || null, this.signal = t.signal || this.signal, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && i) throw TypeError("Body not allowed for GET or HEAD requests");
|
||||
this._initBody(i);
|
||||
}
|
||||
function h(e) {
|
||||
function g(e) {
|
||||
var t = new FormData();
|
||||
return e.trim().split("&").forEach(function(e) {
|
||||
if (e) {
|
||||
@ -8450,37 +8450,37 @@
|
||||
}
|
||||
}), t;
|
||||
}
|
||||
function Response(e, t) {
|
||||
t || (t = {}), this.type = "default", this.status = void 0 === t.status ? 200 : t.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in t ? t.statusText : "OK", this.headers = new Headers(t.headers), this.url = t.url || "", this._initBody(e);
|
||||
function v(e, t) {
|
||||
t || (t = {}), this.type = "default", this.status = void 0 === t.status ? 200 : t.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in t ? t.statusText : "OK", this.headers = new l(t.headers), this.url = t.url || "", this._initBody(e);
|
||||
}
|
||||
Request.prototype.clone = function() {
|
||||
return new Request(this, {
|
||||
y.prototype.clone = function() {
|
||||
return new y(this, {
|
||||
body: this._bodyInit
|
||||
});
|
||||
}, d.call(Request.prototype), d.call(Response.prototype), Response.prototype.clone = function() {
|
||||
return new Response(this._bodyInit, {
|
||||
}, p.call(y.prototype), p.call(v.prototype), v.prototype.clone = function() {
|
||||
return new v(this._bodyInit, {
|
||||
status: this.status,
|
||||
statusText: this.statusText,
|
||||
headers: new Headers(this.headers),
|
||||
headers: new l(this.headers),
|
||||
url: this.url
|
||||
});
|
||||
}, Response.error = function() {
|
||||
var e = new Response(null, {
|
||||
}, v.error = function() {
|
||||
var e = new v(null, {
|
||||
status: 0,
|
||||
statusText: ""
|
||||
});
|
||||
return e.type = "error", e;
|
||||
};
|
||||
var y = [
|
||||
var b = [
|
||||
301,
|
||||
302,
|
||||
303,
|
||||
307,
|
||||
308
|
||||
];
|
||||
Response.redirect = function(e, t) {
|
||||
if (-1 === y.indexOf(t)) throw RangeError("Invalid status code");
|
||||
return new Response(null, {
|
||||
v.redirect = function(e, t) {
|
||||
if (-1 === b.indexOf(t)) throw RangeError("Invalid status code");
|
||||
return new v(null, {
|
||||
status: t,
|
||||
headers: {
|
||||
location: e
|
||||
@ -8496,19 +8496,19 @@
|
||||
this.stack = r.stack;
|
||||
}, e.DOMException.prototype = Object.create(Error.prototype), e.DOMException.prototype.constructor = e.DOMException;
|
||||
}
|
||||
function g(r, n) {
|
||||
function m(r, n) {
|
||||
return new Promise(function(i, o) {
|
||||
var a = new Request(r, n);
|
||||
var a = new y(r, n);
|
||||
if (a.signal && a.signal.aborted) return o(new e.DOMException("Aborted", "AbortError"));
|
||||
var u = new XMLHttpRequest();
|
||||
function l() {
|
||||
function s() {
|
||||
u.abort();
|
||||
}
|
||||
u.onload = function() {
|
||||
var e, t, r = {
|
||||
status: u.status,
|
||||
statusText: u.statusText,
|
||||
headers: (e = u.getAllResponseHeaders() || "", t = new Headers(), e.replace(/\r?\n[\t ]+/g, " ").split(/\r?\n/).forEach(function(e) {
|
||||
headers: (e = u.getAllResponseHeaders() || "", t = new l(), e.replace(/\r?\n[\t ]+/g, " ").split(/\r?\n/).forEach(function(e) {
|
||||
var r = e.split(":"), n = r.shift().trim();
|
||||
if (n) {
|
||||
var i = r.join(":").trim();
|
||||
@ -8516,7 +8516,7 @@
|
||||
}
|
||||
}), t)
|
||||
};
|
||||
r.url = "responseURL" in u ? u.responseURL : r.headers.get("X-Request-URL"), i(new Response("response" in u ? u.response : u.responseText, r));
|
||||
r.url = "responseURL" in u ? u.responseURL : r.headers.get("X-Request-URL"), i(new v("response" in u ? u.response : u.responseText, r));
|
||||
}, u.onerror = function() {
|
||||
o(TypeError("Network request failed"));
|
||||
}, u.ontimeout = function() {
|
||||
@ -8525,41 +8525,41 @@
|
||||
o(new e.DOMException("Aborted", "AbortError"));
|
||||
}, u.open(a.method, a.url, !0), "include" === a.credentials ? u.withCredentials = !0 : "omit" === a.credentials && (u.withCredentials = !1), "responseType" in u && t.blob && (u.responseType = "blob"), a.headers.forEach(function(e, t) {
|
||||
u.setRequestHeader(t, e);
|
||||
}), a.signal && (a.signal.addEventListener("abort", l), u.onreadystatechange = function() {
|
||||
4 === u.readyState && a.signal.removeEventListener("abort", l);
|
||||
}), a.signal && (a.signal.addEventListener("abort", s), u.onreadystatechange = function() {
|
||||
4 === u.readyState && a.signal.removeEventListener("abort", s);
|
||||
}), u.send(void 0 === a._bodyInit ? null : a._bodyInit);
|
||||
});
|
||||
}
|
||||
g.polyfill = !0, n.fetch || (n.fetch = g, n.Headers = Headers, n.Request = Request, n.Response = Response), e.Headers = Headers, e.Request = Request, e.Response = Response, e.fetch = g, Object.defineProperty(e, "__esModule", {
|
||||
m.polyfill = !0, n.fetch || (n.fetch = m, n.Headers = l, n.Request = y, n.Response = v), e.Headers = l, e.Request = y, e.Response = v, e.fetch = m, Object.defineProperty(e, "__esModule", {
|
||||
value: !0
|
||||
});
|
||||
})({}), n.fetch.ponyfill = !0, delete n.fetch.polyfill, (t = n.fetch).default = n.fetch, t.fetch = n.fetch, t.Headers = n.Headers, t.Request = n.Request, t.Response = n.Response, e.exports = t;
|
||||
},
|
||||
8249: function(e, t, r) {
|
||||
var n;
|
||||
e.exports = n || function(Math, e) {
|
||||
if ("undefined" != typeof window && window.crypto && (t = window.crypto), "undefined" != typeof self && self.crypto && (t = self.crypto), "undefined" != typeof globalThis && globalThis.crypto && (t = globalThis.crypto), !t && "undefined" != typeof window && window.msCrypto && (t = window.msCrypto), !t && void 0 !== r.g && r.g.crypto && (t = r.g.crypto), !t) try {
|
||||
t = r(2480);
|
||||
e.exports = n || function(e, t) {
|
||||
if ("undefined" != typeof window && window.crypto && (n = window.crypto), "undefined" != typeof self && self.crypto && (n = self.crypto), "undefined" != typeof globalThis && globalThis.crypto && (n = globalThis.crypto), !n && "undefined" != typeof window && window.msCrypto && (n = window.msCrypto), !n && void 0 !== r.g && r.g.crypto && (n = r.g.crypto), !n) try {
|
||||
n = r(2480);
|
||||
} catch (e) {}
|
||||
var t, n = function() {
|
||||
if (t) {
|
||||
if ("function" == typeof t.getRandomValues) try {
|
||||
return t.getRandomValues(new Uint32Array(1))[0];
|
||||
var n, i = function() {
|
||||
if (n) {
|
||||
if ("function" == typeof n.getRandomValues) try {
|
||||
return n.getRandomValues(new Uint32Array(1))[0];
|
||||
} catch (e) {}
|
||||
if ("function" == typeof t.randomBytes) try {
|
||||
return t.randomBytes(4).readInt32LE();
|
||||
if ("function" == typeof n.randomBytes) try {
|
||||
return n.randomBytes(4).readInt32LE();
|
||||
} catch (e) {}
|
||||
}
|
||||
throw Error("Native crypto module could not be used to get secure random number.");
|
||||
}, i = Object.create || function() {
|
||||
}, o = Object.create || function() {
|
||||
function e() {}
|
||||
return function(t) {
|
||||
var r;
|
||||
return e.prototype = t, r = new e(), e.prototype = null, r;
|
||||
};
|
||||
}(), o = {}, a = o.lib = {}, u = a.Base = {
|
||||
}(), a = {}, u = a.lib = {}, l = u.Base = {
|
||||
extend: function(e) {
|
||||
var t = i(this);
|
||||
var t = o(this);
|
||||
return e && t.mixIn(e), t.hasOwnProperty("init") && this.init !== t.init || (t.init = function() {
|
||||
t.$super.init.apply(this, arguments);
|
||||
}), t.init.prototype = t, t.$super = this, t;
|
||||
@ -8576,12 +8576,12 @@
|
||||
clone: function() {
|
||||
return this.init.prototype.extend(this);
|
||||
}
|
||||
}, l = a.WordArray = u.extend({
|
||||
}, s = u.WordArray = l.extend({
|
||||
init: function(e, t) {
|
||||
e = this.words = e || [], void 0 != t ? this.sigBytes = t : this.sigBytes = 4 * e.length;
|
||||
},
|
||||
toString: function(e) {
|
||||
return (e || c).stringify(this);
|
||||
return (e || f).stringify(this);
|
||||
},
|
||||
concat: function(e) {
|
||||
var t = this.words, r = e.words, n = this.sigBytes, i = e.sigBytes;
|
||||
@ -8593,18 +8593,18 @@
|
||||
return this.sigBytes += i, this;
|
||||
},
|
||||
clamp: function() {
|
||||
var e = this.words, t = this.sigBytes;
|
||||
e[t >>> 2] &= 0xffffffff << 32 - t % 4 * 8, e.length = Math.ceil(t / 4);
|
||||
var t = this.words, r = this.sigBytes;
|
||||
t[r >>> 2] &= 0xffffffff << 32 - r % 4 * 8, t.length = e.ceil(r / 4);
|
||||
},
|
||||
clone: function() {
|
||||
var e = u.clone.call(this);
|
||||
var e = l.clone.call(this);
|
||||
return e.words = this.words.slice(0), e;
|
||||
},
|
||||
random: function(e) {
|
||||
for(var t = [], r = 0; r < e; r += 4)t.push(n());
|
||||
return new l.init(t, e);
|
||||
for(var t = [], r = 0; r < e; r += 4)t.push(i());
|
||||
return new s.init(t, e);
|
||||
}
|
||||
}), s = o.enc = {}, c = s.Hex = {
|
||||
}), c = a.enc = {}, f = c.Hex = {
|
||||
stringify: function(e) {
|
||||
for(var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++){
|
||||
var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
||||
@ -8614,9 +8614,9 @@
|
||||
},
|
||||
parse: function(e) {
|
||||
for(var t = e.length, r = [], n = 0; n < t; n += 2)r[n >>> 3] |= parseInt(e.substr(n, 2), 16) << 24 - n % 8 * 4;
|
||||
return new l.init(r, t / 2);
|
||||
return new s.init(r, t / 2);
|
||||
}
|
||||
}, f = s.Latin1 = {
|
||||
}, d = c.Latin1 = {
|
||||
stringify: function(e) {
|
||||
for(var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++){
|
||||
var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
||||
@ -8626,47 +8626,47 @@
|
||||
},
|
||||
parse: function(e) {
|
||||
for(var t = e.length, r = [], n = 0; n < t; n++)r[n >>> 2] |= (0xff & e.charCodeAt(n)) << 24 - n % 4 * 8;
|
||||
return new l.init(r, t);
|
||||
return new s.init(r, t);
|
||||
}
|
||||
}, d = s.Utf8 = {
|
||||
}, p = c.Utf8 = {
|
||||
stringify: function(e) {
|
||||
try {
|
||||
return decodeURIComponent(escape(f.stringify(e)));
|
||||
return decodeURIComponent(escape(d.stringify(e)));
|
||||
} catch (e) {
|
||||
throw Error("Malformed UTF-8 data");
|
||||
}
|
||||
},
|
||||
parse: function(e) {
|
||||
return f.parse(unescape(encodeURIComponent(e)));
|
||||
return d.parse(unescape(encodeURIComponent(e)));
|
||||
}
|
||||
}, p = a.BufferedBlockAlgorithm = u.extend({
|
||||
}, h = u.BufferedBlockAlgorithm = l.extend({
|
||||
reset: function() {
|
||||
this._data = new l.init(), this._nDataBytes = 0;
|
||||
this._data = new s.init(), this._nDataBytes = 0;
|
||||
},
|
||||
_append: function(e) {
|
||||
"string" == typeof e && (e = d.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes;
|
||||
"string" == typeof e && (e = p.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes;
|
||||
},
|
||||
_process: function(e) {
|
||||
var t, r = this._data, n = r.words, i = r.sigBytes, o = this.blockSize, a = i / (4 * o), u = (a = e ? Math.ceil(a) : Math.max((0 | a) - this._minBufferSize, 0)) * o, s = Math.min(4 * u, i);
|
||||
if (u) {
|
||||
for(var c = 0; c < u; c += o)this._doProcessBlock(n, c);
|
||||
t = n.splice(0, u), r.sigBytes -= s;
|
||||
_process: function(t) {
|
||||
var r, n = this._data, i = n.words, o = n.sigBytes, a = this.blockSize, u = o / (4 * a), l = (u = t ? e.ceil(u) : e.max((0 | u) - this._minBufferSize, 0)) * a, c = e.min(4 * l, o);
|
||||
if (l) {
|
||||
for(var f = 0; f < l; f += a)this._doProcessBlock(i, f);
|
||||
r = i.splice(0, l), n.sigBytes -= c;
|
||||
}
|
||||
return new l.init(t, s);
|
||||
return new s.init(r, c);
|
||||
},
|
||||
clone: function() {
|
||||
var e = u.clone.call(this);
|
||||
var e = l.clone.call(this);
|
||||
return e._data = this._data.clone(), e;
|
||||
},
|
||||
_minBufferSize: 0
|
||||
});
|
||||
a.Hasher = p.extend({
|
||||
cfg: u.extend(),
|
||||
u.Hasher = h.extend({
|
||||
cfg: l.extend(),
|
||||
init: function(e) {
|
||||
this.cfg = this.cfg.extend(e), this.reset();
|
||||
},
|
||||
reset: function() {
|
||||
p.reset.call(this), this._doReset();
|
||||
h.reset.call(this), this._doReset();
|
||||
},
|
||||
update: function(e) {
|
||||
return this._append(e), this._process(), this;
|
||||
@ -8682,24 +8682,24 @@
|
||||
},
|
||||
_createHmacHelper: function(e) {
|
||||
return function(t, r) {
|
||||
return new h.HMAC.init(e, r).finalize(t);
|
||||
return new y.HMAC.init(e, r).finalize(t);
|
||||
};
|
||||
}
|
||||
});
|
||||
var h = o.algo = {};
|
||||
return o;
|
||||
var y = a.algo = {};
|
||||
return a;
|
||||
}(Math);
|
||||
},
|
||||
8214: function(e, t, r) {
|
||||
var n;
|
||||
e.exports = (n = r(8249), function(Math) {
|
||||
var e = n.lib, t = e.WordArray, r = e.Hasher, i = n.algo, o = [];
|
||||
e.exports = (n = r(8249), function(e) {
|
||||
var t = n.lib, r = t.WordArray, i = t.Hasher, o = n.algo, a = [];
|
||||
!function() {
|
||||
for(var e = 0; e < 64; e++)o[e] = 0x100000000 * Math.abs(Math.sin(e + 1)) | 0;
|
||||
for(var t = 0; t < 64; t++)a[t] = 0x100000000 * e.abs(e.sin(t + 1)) | 0;
|
||||
}();
|
||||
var a = i.MD5 = r.extend({
|
||||
var u = o.MD5 = i.extend({
|
||||
_doReset: function() {
|
||||
this._hash = new t.init([
|
||||
this._hash = new r.init([
|
||||
0x67452301,
|
||||
0xefcdab89,
|
||||
0x98badcfe,
|
||||
@ -8711,42 +8711,42 @@
|
||||
var n = t + r, i = e[n];
|
||||
e[n] = (i << 8 | i >>> 24) & 0x00ff00ff | (i << 24 | i >>> 8) & 0xff00ff00;
|
||||
}
|
||||
var a = this._hash.words, f = e[t + 0], d = e[t + 1], p = e[t + 2], h = e[t + 3], y = e[t + 4], g = e[t + 5], v = e[t + 6], b = e[t + 7], m = e[t + 8], D = e[t + 9], w = e[t + 10], E = e[t + 11], _ = e[t + 12], x = e[t + 13], S = e[t + 14], A = e[t + 15], k = a[0], T = a[1], O = a[2], C = a[3];
|
||||
k = u(k, T, O, C, f, 7, o[0]), C = u(C, k, T, O, d, 12, o[1]), O = u(O, C, k, T, p, 17, o[2]), T = u(T, O, C, k, h, 22, o[3]), k = u(k, T, O, C, y, 7, o[4]), C = u(C, k, T, O, g, 12, o[5]), O = u(O, C, k, T, v, 17, o[6]), T = u(T, O, C, k, b, 22, o[7]), k = u(k, T, O, C, m, 7, o[8]), C = u(C, k, T, O, D, 12, o[9]), O = u(O, C, k, T, w, 17, o[10]), T = u(T, O, C, k, E, 22, o[11]), k = u(k, T, O, C, _, 7, o[12]), C = u(C, k, T, O, x, 12, o[13]), O = u(O, C, k, T, S, 17, o[14]), T = u(T, O, C, k, A, 22, o[15]), k = l(k, T, O, C, d, 5, o[16]), C = l(C, k, T, O, v, 9, o[17]), O = l(O, C, k, T, E, 14, o[18]), T = l(T, O, C, k, f, 20, o[19]), k = l(k, T, O, C, g, 5, o[20]), C = l(C, k, T, O, w, 9, o[21]), O = l(O, C, k, T, A, 14, o[22]), T = l(T, O, C, k, y, 20, o[23]), k = l(k, T, O, C, D, 5, o[24]), C = l(C, k, T, O, S, 9, o[25]), O = l(O, C, k, T, h, 14, o[26]), T = l(T, O, C, k, m, 20, o[27]), k = l(k, T, O, C, x, 5, o[28]), C = l(C, k, T, O, p, 9, o[29]), O = l(O, C, k, T, b, 14, o[30]), T = l(T, O, C, k, _, 20, o[31]), k = s(k, T, O, C, g, 4, o[32]), C = s(C, k, T, O, m, 11, o[33]), O = s(O, C, k, T, E, 16, o[34]), T = s(T, O, C, k, S, 23, o[35]), k = s(k, T, O, C, d, 4, o[36]), C = s(C, k, T, O, y, 11, o[37]), O = s(O, C, k, T, b, 16, o[38]), T = s(T, O, C, k, w, 23, o[39]), k = s(k, T, O, C, x, 4, o[40]), C = s(C, k, T, O, f, 11, o[41]), O = s(O, C, k, T, h, 16, o[42]), T = s(T, O, C, k, v, 23, o[43]), k = s(k, T, O, C, D, 4, o[44]), C = s(C, k, T, O, _, 11, o[45]), O = s(O, C, k, T, A, 16, o[46]), T = s(T, O, C, k, p, 23, o[47]), k = c(k, T, O, C, f, 6, o[48]), C = c(C, k, T, O, b, 10, o[49]), O = c(O, C, k, T, S, 15, o[50]), T = c(T, O, C, k, g, 21, o[51]), k = c(k, T, O, C, _, 6, o[52]), C = c(C, k, T, O, h, 10, o[53]), O = c(O, C, k, T, w, 15, o[54]), T = c(T, O, C, k, d, 21, o[55]), k = c(k, T, O, C, m, 6, o[56]), C = c(C, k, T, O, A, 10, o[57]), O = c(O, C, k, T, v, 15, o[58]), T = c(T, O, C, k, x, 21, o[59]), k = c(k, T, O, C, y, 6, o[60]), C = c(C, k, T, O, E, 10, o[61]), O = c(O, C, k, T, p, 15, o[62]), T = c(T, O, C, k, D, 21, o[63]), a[0] = a[0] + k | 0, a[1] = a[1] + T | 0, a[2] = a[2] + O | 0, a[3] = a[3] + C | 0;
|
||||
var o = this._hash.words, u = e[t + 0], d = e[t + 1], p = e[t + 2], h = e[t + 3], y = e[t + 4], g = e[t + 5], v = e[t + 6], b = e[t + 7], m = e[t + 8], D = e[t + 9], w = e[t + 10], E = e[t + 11], _ = e[t + 12], x = e[t + 13], S = e[t + 14], A = e[t + 15], k = o[0], T = o[1], O = o[2], C = o[3];
|
||||
k = l(k, T, O, C, u, 7, a[0]), C = l(C, k, T, O, d, 12, a[1]), O = l(O, C, k, T, p, 17, a[2]), T = l(T, O, C, k, h, 22, a[3]), k = l(k, T, O, C, y, 7, a[4]), C = l(C, k, T, O, g, 12, a[5]), O = l(O, C, k, T, v, 17, a[6]), T = l(T, O, C, k, b, 22, a[7]), k = l(k, T, O, C, m, 7, a[8]), C = l(C, k, T, O, D, 12, a[9]), O = l(O, C, k, T, w, 17, a[10]), T = l(T, O, C, k, E, 22, a[11]), k = l(k, T, O, C, _, 7, a[12]), C = l(C, k, T, O, x, 12, a[13]), O = l(O, C, k, T, S, 17, a[14]), T = l(T, O, C, k, A, 22, a[15]), k = s(k, T, O, C, d, 5, a[16]), C = s(C, k, T, O, v, 9, a[17]), O = s(O, C, k, T, E, 14, a[18]), T = s(T, O, C, k, u, 20, a[19]), k = s(k, T, O, C, g, 5, a[20]), C = s(C, k, T, O, w, 9, a[21]), O = s(O, C, k, T, A, 14, a[22]), T = s(T, O, C, k, y, 20, a[23]), k = s(k, T, O, C, D, 5, a[24]), C = s(C, k, T, O, S, 9, a[25]), O = s(O, C, k, T, h, 14, a[26]), T = s(T, O, C, k, m, 20, a[27]), k = s(k, T, O, C, x, 5, a[28]), C = s(C, k, T, O, p, 9, a[29]), O = s(O, C, k, T, b, 14, a[30]), T = s(T, O, C, k, _, 20, a[31]), k = c(k, T, O, C, g, 4, a[32]), C = c(C, k, T, O, m, 11, a[33]), O = c(O, C, k, T, E, 16, a[34]), T = c(T, O, C, k, S, 23, a[35]), k = c(k, T, O, C, d, 4, a[36]), C = c(C, k, T, O, y, 11, a[37]), O = c(O, C, k, T, b, 16, a[38]), T = c(T, O, C, k, w, 23, a[39]), k = c(k, T, O, C, x, 4, a[40]), C = c(C, k, T, O, u, 11, a[41]), O = c(O, C, k, T, h, 16, a[42]), T = c(T, O, C, k, v, 23, a[43]), k = c(k, T, O, C, D, 4, a[44]), C = c(C, k, T, O, _, 11, a[45]), O = c(O, C, k, T, A, 16, a[46]), T = c(T, O, C, k, p, 23, a[47]), k = f(k, T, O, C, u, 6, a[48]), C = f(C, k, T, O, b, 10, a[49]), O = f(O, C, k, T, S, 15, a[50]), T = f(T, O, C, k, g, 21, a[51]), k = f(k, T, O, C, _, 6, a[52]), C = f(C, k, T, O, h, 10, a[53]), O = f(O, C, k, T, w, 15, a[54]), T = f(T, O, C, k, d, 21, a[55]), k = f(k, T, O, C, m, 6, a[56]), C = f(C, k, T, O, A, 10, a[57]), O = f(O, C, k, T, v, 15, a[58]), T = f(T, O, C, k, x, 21, a[59]), k = f(k, T, O, C, y, 6, a[60]), C = f(C, k, T, O, E, 10, a[61]), O = f(O, C, k, T, p, 15, a[62]), T = f(T, O, C, k, D, 21, a[63]), o[0] = o[0] + k | 0, o[1] = o[1] + T | 0, o[2] = o[2] + O | 0, o[3] = o[3] + C | 0;
|
||||
},
|
||||
_doFinalize: function() {
|
||||
var e = this._data, t = e.words, r = 8 * this._nDataBytes, n = 8 * e.sigBytes;
|
||||
t[n >>> 5] |= 0x80 << 24 - n % 32;
|
||||
var i = Math.floor(r / 0x100000000);
|
||||
t[(n + 64 >>> 9 << 4) + 15] = (i << 8 | i >>> 24) & 0x00ff00ff | (i << 24 | i >>> 8) & 0xff00ff00, t[(n + 64 >>> 9 << 4) + 14] = (r << 8 | r >>> 24) & 0x00ff00ff | (r << 24 | r >>> 8) & 0xff00ff00, e.sigBytes = (t.length + 1) * 4, this._process();
|
||||
for(var o = this._hash, a = o.words, u = 0; u < 4; u++){
|
||||
var l = a[u];
|
||||
a[u] = (l << 8 | l >>> 24) & 0x00ff00ff | (l << 24 | l >>> 8) & 0xff00ff00;
|
||||
var t = this._data, r = t.words, n = 8 * this._nDataBytes, i = 8 * t.sigBytes;
|
||||
r[i >>> 5] |= 0x80 << 24 - i % 32;
|
||||
var o = e.floor(n / 0x100000000);
|
||||
r[(i + 64 >>> 9 << 4) + 15] = (o << 8 | o >>> 24) & 0x00ff00ff | (o << 24 | o >>> 8) & 0xff00ff00, r[(i + 64 >>> 9 << 4) + 14] = (n << 8 | n >>> 24) & 0x00ff00ff | (n << 24 | n >>> 8) & 0xff00ff00, t.sigBytes = (r.length + 1) * 4, this._process();
|
||||
for(var a = this._hash, u = a.words, l = 0; l < 4; l++){
|
||||
var s = u[l];
|
||||
u[l] = (s << 8 | s >>> 24) & 0x00ff00ff | (s << 24 | s >>> 8) & 0xff00ff00;
|
||||
}
|
||||
return o;
|
||||
return a;
|
||||
},
|
||||
clone: function() {
|
||||
var e = r.clone.call(this);
|
||||
var e = i.clone.call(this);
|
||||
return e._hash = this._hash.clone(), e;
|
||||
}
|
||||
});
|
||||
function u(e, t, r, n, i, o, a) {
|
||||
function l(e, t, r, n, i, o, a) {
|
||||
var u = e + (t & r | ~t & n) + i + a;
|
||||
return (u << o | u >>> 32 - o) + t;
|
||||
}
|
||||
function l(e, t, r, n, i, o, a) {
|
||||
function s(e, t, r, n, i, o, a) {
|
||||
var u = e + (t & n | r & ~n) + i + a;
|
||||
return (u << o | u >>> 32 - o) + t;
|
||||
}
|
||||
function s(e, t, r, n, i, o, a) {
|
||||
function c(e, t, r, n, i, o, a) {
|
||||
var u = e + (t ^ r ^ n) + i + a;
|
||||
return (u << o | u >>> 32 - o) + t;
|
||||
}
|
||||
function c(e, t, r, n, i, o, a) {
|
||||
function f(e, t, r, n, i, o, a) {
|
||||
var u = e + (r ^ (t | ~n)) + i + a;
|
||||
return (u << o | u >>> 32 - o) + t;
|
||||
}
|
||||
n.MD5 = r._createHelper(a), n.HmacMD5 = r._createHmacHelper(a);
|
||||
n.MD5 = i._createHelper(u), n.HmacMD5 = i._createHmacHelper(u);
|
||||
}(Math), n.MD5);
|
||||
},
|
||||
251: function(e, t, r) {
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,16 +1,16 @@
|
||||
function XMLHttpRequest() {
|
||||
function e() {
|
||||
this.onreadystatechange = "PASS";
|
||||
}
|
||||
global.xhrDesc = {};
|
||||
function e() {
|
||||
return n();
|
||||
}
|
||||
function n() {
|
||||
return t();
|
||||
}
|
||||
function t() {
|
||||
if (xhrDesc) {
|
||||
var e = new XMLHttpRequest();
|
||||
var n = e.onreadystatechange;
|
||||
Object.defineProperty(XMLHttpRequest.prototype, "onreadystatechange", xhrDesc || {});
|
||||
return n;
|
||||
var n = new e();
|
||||
var t = n.onreadystatechange;
|
||||
Object.defineProperty(e.prototype, "onreadystatechange", xhrDesc || {});
|
||||
return t;
|
||||
}
|
||||
}
|
||||
console.log(e());
|
||||
console.log(n());
|
||||
|
@ -1,19 +1,19 @@
|
||||
function XMLHttpRequest() {
|
||||
function n() {
|
||||
this.onreadystatechange = "PASS";
|
||||
}
|
||||
global.SYMBOL_FAKE_ONREADYSTATECHANGE_1 = Symbol();
|
||||
global.xhrDesc = null;
|
||||
function n() {
|
||||
return e();
|
||||
}
|
||||
function e() {
|
||||
return a();
|
||||
}
|
||||
function a() {
|
||||
if (!xhrDesc) {
|
||||
var n = new XMLHttpRequest();
|
||||
var e = function() {};
|
||||
n.onreadystatechange = e;
|
||||
var a = n[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === e;
|
||||
n.onreadystatechange = null;
|
||||
return a;
|
||||
var e = new n();
|
||||
var a = function() {};
|
||||
e.onreadystatechange = a;
|
||||
var o = e[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === a;
|
||||
e.onreadystatechange = null;
|
||||
return o;
|
||||
}
|
||||
}
|
||||
console.log(n());
|
||||
console.log(e());
|
||||
|
@ -1,10 +1,10 @@
|
||||
var RegExp;
|
||||
var a;
|
||||
Array.isArray;
|
||||
RegExp;
|
||||
a;
|
||||
UndeclaredGlobal;
|
||||
function a() {
|
||||
var Number;
|
||||
function r() {
|
||||
var a;
|
||||
AnotherUndeclaredGlobal;
|
||||
Math.sin;
|
||||
Number.isNaN;
|
||||
a.isNaN;
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
var RegExp;
|
||||
var a;
|
||||
Array.isArray;
|
||||
RegExp;
|
||||
a;
|
||||
UndeclaredGlobal;
|
||||
function a() {
|
||||
var Number;
|
||||
function r() {
|
||||
var a;
|
||||
AnotherUndeclaredGlobal;
|
||||
Math.sin;
|
||||
Number.isNaN;
|
||||
a.isNaN;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
!(function(o) {
|
||||
try {
|
||||
throw 0;
|
||||
} catch (Infinity) {
|
||||
} catch (c) {
|
||||
o = 123456789 / 0;
|
||||
}
|
||||
console.log(o);
|
||||
|
@ -1,2 +1,2 @@
|
||||
var String, Number, Boolean;
|
||||
f(String(x), Number(x, x), Boolean(x));
|
||||
var a, r, v;
|
||||
f(a(x), r(x, x), v(x));
|
||||
|
@ -1,3 +1,3 @@
|
||||
var Infinity, t;
|
||||
var t, i;
|
||||
Infinity.toString();
|
||||
NaN.toString();
|
||||
|
@ -1,3 +1,3 @@
|
||||
var Infinity, o;
|
||||
var o, t;
|
||||
(123456789 / 0).toString();
|
||||
(+"foo").toString();
|
||||
|
@ -1,12 +1,12 @@
|
||||
(function(n, t) {
|
||||
n.CryptoJS = t();
|
||||
})(this, function() {
|
||||
var n = n || (function(Math) {
|
||||
var n = {};
|
||||
n.demo = function(n) {
|
||||
return Math.ceil(n);
|
||||
var n = n || (function(n) {
|
||||
var t = {};
|
||||
t.demo = function(t) {
|
||||
return n.ceil(t);
|
||||
};
|
||||
return n;
|
||||
return t;
|
||||
})(Math);
|
||||
return n;
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
!(function(Infinity, o, n) {
|
||||
!(function(o, n, e) {
|
||||
console.log("a"[1 / 0], "b"["Infinity"]);
|
||||
console.log("c"[0 / 0], "d"["NaN"]);
|
||||
console.log("e"[void 0], "f"["undefined"]);
|
||||
|
@ -14,7 +14,7 @@ use swc_ecma_ast::*;
|
||||
use tracing::debug;
|
||||
|
||||
use super::reverse_map::ReverseMap;
|
||||
use crate::{native::is_native, rename::Renamer};
|
||||
use crate::rename::Renamer;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub(crate) enum ScopeKind {
|
||||
@ -306,7 +306,6 @@ impl Scope {
|
||||
|| to.get(&fid).is_some()
|
||||
|| previous.get(&fid).is_some()
|
||||
|| id.0 == "eval"
|
||||
|| is_native(&id.0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user