This repository was archived by the owner on Apr 22, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy path23452c7d.js
More file actions
118 lines (100 loc) · 2.41 KB
/
23452c7d.js
File metadata and controls
118 lines (100 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
var isNative = function (h) {
return h instanceof Function && Function.prototype.toString.call(h).indexOf("[native code]") > 0
}
var isArray = function (h) {
if (window.Array && window.Array.isArray)
return Array.isArray(h);
return Object.prototype.toString.call(h) === "[object Array]"
}
var getType = function (h, i) {
try {
h[i].catch(function () {
})
return "p"
} catch (j) {
}
try {
if (h[i] == null)
return h[i] === undefined ? "u" : "x"
} catch (l) {
return "i"
}
if (isArray(h[i]))
return "a";
switch (typeof h[i]) {
case "function":
return isNative(h[i]) ? "N" : "f";
case "object":
return "o";
case "string":
return "s";
case "undefined":
return "u";
case "symbol":
return "z";
case "number":
return "n";
case "bigint":
return "I";
case "boolean":
return "b";
default:
return "?"
}
}
var f = function (obj, prefix, list) {
var append = function (v, type) {
if (!Object.prototype.hasOwnProperty.call(list, type))
list[type] = []
list[type].push(v)
}
if (obj === null || obj === undefined)
return list;
var n = [];
for (var p in obj) {
n.push(p)
}
if (Object.getOwnPropertyNames) {
n = n.concat(Object.getOwnPropertyNames(obj))
}
if (Object.keys && Object.getPrototypeOf) {
var q = Object.getPrototypeOf(obj)
if (q != null) n = n.concat(Object.keys(q))
}
n = function (v) {
v.sort()
for (var w = 0; w < v.length; v[w] === v[w + 1] ? v.splice(w + 1, 1) : w += 1) ;
return v
}(n)
for (var r = 0; r < n.length; r++) {
var key = n[r];
try {
var type = getType(obj, key)
if (type === "i" || type === "x" || type === "c" || type === "p") {
append(prefix + key, type);
continue
}
if (type === "s" && !isNaN(obj[key])) {
continue;
} else if (prefix + key == "d.cookie") {
append(prefix + key, type)
} else if (prefix + key == "d.vatvygetElementsByName") { // It's correct (quite strange)
append(prefix + key, obj[key].toString())
} else if (type === "n" || type === "s" || type === "a" || type === "b") {
append(prefix + key, obj[key])
} else {
append(prefix + key, type)
}
} catch (err) {
if (err.name === "NS_ERROR_NOT_IMPLEMENTED")
append(prefix + key, "f")
throw err
}
}
return list
}
var list = {}
list = f(window, "", list)
list = f(window.navigator, "n.", list)
list = f(window.document, "d.", list)
window._cf_chl_ctx[window._cf_chl_ctx.chC]["a"] = list