Skip to content

Instantly share code, notes, and snippets.

@odayvhl
Last active May 29, 2019 18:21
Show Gist options
  • Save odayvhl/9079fbc7e591482548659b16568776aa to your computer and use it in GitHub Desktop.
Save odayvhl/9079fbc7e591482548659b16568776aa to your computer and use it in GitHub Desktop.
lapuso.ru/chk_ya2
(function(n, q, w) {
function E(a, b, d) {
return function() {
try {
return a.apply(this, arguments)
} catch (e) {
d || Wa(e, b)
}
}
}
function Wa(a, b) {
var d;
if (.01 > Math.random()) try {
var e = a && a.message || "";
(d = -1 < e.indexOf("network error occurred") || -1 < e.indexOf("send beacon") && -1 < e.indexOf("Content Security Policy")) || (new Oa).log("jserrs", Da, a.message, b, H.href, "", "string" === typeof a.stack && a.stack.replace(/\n/g, "\\n"))
} catch (g) {}
}
function C(a, b, d, e) {
return n.setTimeout(E(a, d || "setTimeout", e), b)
}
function Cb(a, b, d, e, g) {
function p(c,
a) {
a = Math.max(0, Math.min(a, 65535));
k.mergeArrays(c, [a >> 8, a & 255])
}
function h(c, a) {
k.mergeArrays(c, [a & 255])
}
function m(c, a) {
if (-1 == xa.indexOf(a)) return !0;
h(c, a)
}
function f(c, a) {
for (a = Math.max(0, a | 0); 127 < a;) k.mergeArrays(c, [a & 127 | 128]), a >>= 7;
k.mergeArrays(c, [a])
}
function c(c, a) {
255 < a.length && (a = a.substr(0, 255));
k.mergeArrays(c, [a.length]);
for (var f = 0; f < a.length; f++) p(c, a.charCodeAt(f))
}
function l(c, a) {
f(c, a.length);
for (var b = 0; b < a.length; b++) f(c, a.charCodeAt(b))
}
function t(a) {
if (!a.nodeName) return a[Z] = -1, null;
var b = +a[Z];
if (!isFinite(b) || 0 >= b) return null;
if (a.attributes)
for (var l = a; l;) {
if (l.attributes.__ym_wv_ign) return null;
l = l.parentElement
}
l = 64;
var d = 0,
e = v.getElementParent(a),
g = e && e[Z] ? e[Z] : 0;
0 > g && (g = 0);
var t = a.nodeName.toUpperCase(),
z = Eb[t];
z || (l |= 2);
var D = v.getElementNeighborPosition(a);
D || (l |= 4);
var y = v.getElementRegion(a);
(e = e ? v.getElementRegion(e) : null) && y[0] == e[0] && y[1] == e[1] && y[2] == e[2] && y[3] == e[3] && (l |= 8);
Pa[b].pos = y[0] + "x" + y[1];
Pa[b].size = y[2] + "x" + y[3];
a.id && "string" == typeof a.id &&
(l |= 32);
(e = v.calcTextChecksum(a)) && (l |= 16);
var A = v.calcAttribChecksum(a);
A && (d |= 2);
a: {
var k = v.getElementChildren(v.getElementParent(a), a.tagName);
for (var Q = 0; Q < k.length; Q++)
if ((!k[Q].id || "string" != typeof k[Q].id) && v.calcAttribChecksum(k[Q]) == A && v.calcTextChecksum(k[Q]) == e) {
k = !0;
break a
} k = !1
}
if (k) {
l |= 1;
var aa = v.calcChildrenChecksum(a)
}
k = [];
if (m(k, 1)) return null;
f(k, b);
h(k, l);
f(k, g);
z ? h(k, z) : c(k, t);
D && f(k, D);
l & 8 || (f(k, y[0]), f(k, y[1]), f(k, y[2]), f(k, y[3]));
l & 32 && c(k, a.id);
e && p(k, e);
l & 1 && p(k, aa);
h(k, d);
A && p(k, A);
return k
}
function z(c, a, b, l, d, e) {
for (var g; b && (g = v.getElementSize(b)) && (!g[0] || !g[1]);) b = v.getElementParent(b);
if (!b) return null;
g = b[Z];
if (!g || 0 > g) return null;
var t = {
mousemove: 2,
click: 32,
dblclick: 33,
mousedown: 4,
mouseup: 30,
touch: 12
} [a];
if (!t) return null;
var z = v.getElementXY(b);
b = [];
if (m(b, t)) return null;
f(b, c);
f(b, g);
f(b, Math.max(0, l[0] - z[0]));
f(b, Math.max(0, l[1] - z[1]));
/^mouse(up|down)|click$/.test(a) && (c = d || e, h(b, 2 > c ? 1 : c == (d ? 2 : 4) ? 4 : 2));
return b
}
function D(c, a, b, l, d) {
var e = [];
if (m(e, 38)) return null;
f(e, c);
p(e, a);
h(e, b);
c = l[Z];
if (!c || 0 > c) c = 0;
f(e, c);
h(e, d ? 1 : 0);
return e
}
function y(c, a) {
var b;
if (0 == a.length) var d = b = "";
else 100 >= a.length ? (b = a, d = "") : 200 >= a.length ? (b = a.substr(0, 100), d = a.substr(100)) : (b = a.substr(0, 97), d = a.substr(a.length - 97));
var h = [];
if (m(h, 29)) return null;
f(h, c);
l(h, b);
l(h, d);
return h
}
function aa(c) {
var a = [];
if (m(a, 27)) return null;
f(a, c);
return a
}
function O(c) {
var a = [];
h(a, 14);
f(a, c);
return a
}
function A(c) {
var a = [];
if (m(a, 15)) return null;
f(a, c);
return a
}
function ia(c, a) {
var b = [];
if (m(b, 17)) return null;
f(b, c);
f(b, a[Z]);
return b
}
function sa(c, a) {
var b = [];
if (m(b, 18)) return null;
f(b, c);
f(b, a[Z]);
return b
}
function Qa(a, b, l, d) {
var e = [];
if (m(e, 39)) return null;
f(e, a);
f(e, b[Z]);
c(e, String(l));
h(e, d ? 1 : 0);
return e
}
function pa(c, a) {
var b = a[Z];
if (0 < b) {
var l = [],
d = v.getElementRegion(a),
h = Pa[b],
e = d[0] + "x" + d[1],
g = d[2] + "x" + d[3];
if (e != h.pos) {
h.pos = e;
if (m(l, 9)) return null;
f(l, c);
f(l, b);
f(l, d[0]);
f(l, d[1])
}
if (g != h.size) {
h.size = g;
if (m(l, 10)) return null;
f(l, c);
f(l, b);
f(l, d[2]);
f(l, d[3])
}
if (l.length) return l
}
return null
}
function ta(c) {
var a = c[Z];
if (!a || 0 > a || !/^INPUT|SELECT|TEXTAREA$/.test(c.nodeName) || !c.form || B(c.form)) return null;
var b = v.getFormNumber(c.form);
if (0 > b) return null;
var d = "INPUT" == c.nodeName ? {
text: 0,
color: 0,
date: 0,
datetime: 0,
"datetime-local": 0,
email: 0,
number: 0,
range: 0,
search: 0,
tel: 0,
time: 0,
url: 0,
month: 0,
week: 0,
password: 2,
radio: 3,
checkbox: 4,
file: 6,
image: 7
} [c.type] : {
SELECT: 1,
TEXTAREA: 5
} [c.nodeName];
if ("number" != typeof d) return null;
for (var h = -1, e = c.form.elements, g = e.length, t = 0, z = 0; t < g; t++)
if (e[t].name ==
c.name) {
if (e[t] == c) {
h = z;
break
}
z++
} if (0 > h) return null;
e = [];
if (m(e, 7)) return null;
f(e, a);
f(e, b);
f(e, d);
l(e, c.name || "");
f(e, h);
return e
}
function F(c, a) {
var b = v.getFormNumber(a);
if (0 > b) return null;
for (var l = a.elements, d = l.length, h = [], e = 0; e < d; e++)
if (!v.isEmptyField(l[e])) {
var g = l[e][Z];
g && 0 < g && k.mergeArrays(h, [g])
} l = [];
if (m(l, 11)) return null;
f(l, c);
f(l, b);
f(l, h.length);
for (b = 0; b < h.length; b++) f(l, h[b]);
return l
}
function ja(c, a, f) {
c = c.apply(n, a);
S.append(c, f)
}
function w(c) {
if (c[Z]) c = pa(x.nowEventTime(),
c);
else {
var a = v.getElementParent(c);
a && w(a);
c[Z] = fa;
Pa[fa] = {};
fa++;
a = t(c);
S.append(a, void 0);
c = ta(c)
}
S.append(c, void 0)
}
function u(c, a) {
var f = c && v.classNameExists(c, "(ym-disable-keys|-metrika-nokeys)");
a && c && (f = f || !!v.getElementsByClassName("(ym-disable-keys|-metrika-nokeys)", c).length);
return f
}
function B(c) {
return c && v.classNameExists(c, "(ym-disable-submit|-metrika-noform)")
}
function C(c) {
var a = U.getTarget(c);
if (a && "SCROLLBAR" != a.nodeName) {
if (/^INPUT|SELECT|TEXTAREA|BUTTON$/.test(a.tagName))
if (a[Z]) w(a);
else {
var f = a.form;
if (f) {
f = f.elements;
for (var b = f.length, l = 0; l < b; l++) /^INPUT|SELECT|TEXTAREA|BUTTON$/.test(f[l].tagName) && !f[l][Z] && w(f[l])
} else w(a)
}
else w(a);
ja(z, [x.nowEventTime(), c.type, a, U.getPos(c), c.which, c.button])
}
}
function E(c) {
C(c);
ha()
}
function Ia(c) {
return (c.shiftKey ? 2 : 0) | (c.ctrlKey ? 4 : 0) | (c.altKey ? 1 : 0) | (c.metaKey ? 8 : 0) | (c.ctrlKey || c.altKey ? 16 : 0)
}
function Ea(c) {
if (!c) return {
ignore: !0,
forceRecord: !1,
isPrivate: !1,
privateFlag: !1,
recordData: !0
};
var a = "password" === c.type || la.test(c.name) || la.test(c.id),
f = k.reduce(function(a, f) {
return a || Q.generalRegex.test(c[f])
}, !1, ["className", "id", "name"]) || Q.placeholderRegex.test(c.placeholder),
b = Q.forceRecordRegex.test(c.className);
return {
forceRecord: b,
ignore: a,
isPrivate: f,
privateFlag: !b && (f || a),
recordData: b || !(f && g.get("isEU") || a)
}
}
function Ja(c) {
return "INPUT" == c.tagName ? "password" == c.type || c.name && la.test(c.name) || c.id && la.test(c.id) : !1
}
function M(c, a, f) {
c = U.getTarget(c);
var b = Ea(c);
b.ignore || !b.forceRecord && (b.isPrivate && g.get("isEU") || u(c)) || (w(c), ja(D,
[x.nowEventTime(), a, f, c, b.privateFlag]))
}
function ba(c) {
var a = c.keyCode,
f = Ia(c);
if ({
3: 1,
8: 1,
9: 1,
13: 1,
16: 1,
17: 1,
18: 1,
19: 1,
20: 1,
27: 1,
33: 1,
34: 1,
35: 1,
36: 1,
37: 1,
38: 1,
39: 1,
40: 1,
45: 1,
46: 1,
91: 1,
92: 1,
93: 1,
106: 1,
110: 1,
111: 1,
144: 1,
145: 1
} [a] || 112 <= a && 123 >= a || 96 <= a && 105 >= a || f & 16) 19 == a && 4 == (f & -17) && (a = 144), M(c, a, f | 16), ya = !1, k.setTimeout(function() {
ya = !0
}, 1, "fvl.keyDown"), !(67 == a && f & 4) || f & 1 || f & 2 || G()
}
function T(c) {
ya && !Ka && 0 !== c.which && (M(c, c.charCode || c.keyCode, Ia(c)), Ka = !0, k.setTimeout(function() {
Ka = !1
}, 1, "fvl.keyPress"))
}
function ha() {
if (n.getSelection) {
try {
var c = n.getSelection()
} catch (Db) {
return
}
var a = c.toString();
var f = c.anchorNode
} else q.selection && q.selection.createRange && (c = q.selection.createRange(), a = c.text, f = c.parentElement());
if ("string" == typeof a) {
try {
for (; f && 1 != f.nodeType;) f = f.parentNode
} catch (Db) {
return
}
if (f) {
c = Ea(f).privateFlag || u(f, !0);
f = f.getElementsByTagName("*");
for (var b = 0; b < f.length && !c;) c = Ea(f[b]).privateFlag || u(f[b], !0), b++;
a != Xa && (Xa = a, a = c ? k.map(function() {
return Q.obfuscatedSymbol
}, a.split("")).join("") :
a, ja(y, [x.nowEventTime(), a]))
}
}
}
function G() {
Za || (Za = !0, Xa && ja(aa, [x.nowEventTime()]), k.setTimeout(function() {
Za = !1
}, 1, "fvl.copy"))
}
function J() {
Aa || (Aa = !0, ja(O, [x.nowEventTime()]))
}
function H() {
Aa && (Aa = !1, ja(A, [x.nowEventTime()]))
}
function N(c) {
(!Aa || c && !c.fromElement) && J()
}
function I(c) {
c && !c.toElement && H()
}
function V(c) {
if ((c = U.getTarget(c)) && /^INPUT|SELECT|TEXTAREA|BUTTON$/.test(c.tagName)) {
if (c[Z]) w(c);
else {
var a = c.form;
if (a) {
a = a.elements;
for (var f = a.length, b = 0; b < f; b++) /^INPUT|SELECT|TEXTAREA|BUTTON$/.test(a[b].tagName) &&
!a[b][Z] && w(a[b])
} else w(c)
}
ja(ia, [x.nowEventTime(), c])
}
}
function W(c) {
(c = U.getTarget(c)) && /^INPUT|SELECT|TEXTAREA|BUTTON$/.test(c.tagName) && (w(c), ja(sa, [x.nowEventTime(), c]))
}
function X(c) {
if ((c = U.getTarget(c)) && !Ja(c) && !u(c) && /^INPUT|SELECT|TEXTAREA$/.test(c.tagName)) {
var a = Ea(c),
f = /^(checkbox|radio)$/.test(c.type) ? c.checked : c.value;
f = a.recordData ? f : k.map(function() {
return Q.obfuscatedSymbol
}, f.split("")).join("");
w(c);
ja(Qa, [x.nowEventTime(), c, f, a.privateFlag])
}
}
function Y(c) {
if ((c = U.getTarget(c)) &&
!B(c) && "FORM" == c.nodeName) {
for (var a = c.elements, f = 0; f < a.length; f++) v.isEmptyField(a[f]) || w(a[f]);
ja(F, [x.nowEventTime(), c], !0)
}
}
function P(c) {
(c = U.getTarget(c)) && "BODY" == c.tagName && S.append([], !0)
}
var S = new kb({
protocol: a,
counterId: b,
globalConfig: g,
counterType: d,
meta: {
url: K().href,
hitId: e,
timezone: $a,
timestamp: ab
}
}),
Eb = {
A: 1,
ABBR: 2,
ACRONYM: 3,
ADDRESS: 4,
APPLET: 5,
AREA: 6,
B: 7,
BASE: 8,
BASEFONT: 9,
BDO: 10,
BIG: 11,
BLOCKQUOTE: 12,
BODY: 13,
BR: 14,
BUTTON: 15,
CAPTION: 16,
CENTER: 17,
CITE: 18,
CODE: 19,
COL: 20,
COLGROUP: 21,
DD: 22,
DEL: 23,
DFN: 24,
DIR: 25,
DIV: 26,
DL: 27,
DT: 28,
EM: 29,
FIELDSET: 30,
FONT: 31,
FORM: 32,
FRAME: 33,
FRAMESET: 34,
H1: 35,
H2: 36,
H3: 37,
H4: 38,
H5: 39,
H6: 40,
HEAD: 41,
HR: 42,
HTML: 43,
I: 44,
IFRAME: 45,
IMG: 46,
INPUT: 47,
INS: 48,
ISINDEX: 49,
KBD: 50,
LABEL: 51,
LEGEND: 52,
LI: 53,
LINK: 54,
MAP: 55,
MENU: 56,
META: 57,
NOFRAMES: 58,
NOSCRIPT: 59,
OBJECT: 60,
OL: 61,
OPTGROUP: 62,
OPTION: 63,
P: 64,
PARAM: 65,
PRE: 66,
Q: 67,
S: 68,
SAMP: 69,
SCRIPT: 70,
SELECT: 71,
SMALL: 72,
SPAN: 73,
STRIKE: 74,
STRONG: 75,
STYLE: 76,
SUB: 77,
SUP: 78,
TABLE: 79,
TBODY: 80,
TD: 81,
TEXTAREA: 82,
TFOOT: 83,
TH: 84,
THEAD: 85,
TITLE: 86,
TR: 87,
TT: 88,
U: 89,
UL: 90,
VAR: 91,
NOINDEX: 100
},
xa = [17, 18, 38, 32, 39, 15, 11, 7, 1],
Q = function() {
var c = "first(-|\\.|_|\\s){0,2}name last(-|\\.|_|\\s){0,2}name zip postal phone address passport (bank|credit)(-|\\.|_|\\s){0,2}card card(-|\\.|_|\\s){0,2}number card(-|\\.|_|\\s){0,2}holder cvv card(-|\\.|_|\\s){0,2}exp card(-|\\.|_|\\s){0,2}name card.*month card.*year card.*month card.*year password email birth(-|\\.|_|\\s){0,2}(day|date) second(-|\\.|_|\\s){0,2}name third(-|\\.|_|\\s){0,2}name patronymic middle(-|\\.|_|\\s){0,2}name birth(-|\\.|_|\\s){0,2}place house street city flat state".split(" ");
return {
generalRegex: new RegExp("(" + c.join("|") + ")", "i"),
placeholderRegex: new RegExp("(" + c.concat("\u0438\u043c\u044f;\u0444\u0430\u043c\u0438\u043b\u0438\u044f;\u043e\u0442\u0447\u0435\u0441\u0442\u0432\u043e;\u0438\u043d\u0434\u0435\u043a\u0441;\u0442\u0435\u043b\u0435\u0444\u043e\u043d;\u0430\u0434\u0440\u0435\u0441;\u043f\u0430\u0441\u043f\u043e\u0440\u0442;\u041d\u043e\u043c\u0435\u0440(-|\\.|_|\\s){0,2}\u043a\u0430\u0440\u0442\u044b;\u0434\u0430\u0442\u0430(-|\\.|_|\\s){0,2} \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f;\u0434\u043e\u043c;\u0443\u043b\u0438\u0446\u0430;\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430;\u0433\u043e\u0440\u043e\u0434;\u043e\u0431\u043b\u0430\u0441\u0442\u044c".split(";")).join("|") +
")", "i"),
forceRecordRegex: /ym-record-keys/i,
obfuscatedSymbol: String.fromCharCode(8226),
obfuscatedKeyCode: 88
}
}(),
fa = 1,
la = /^(password|passwd|pswd)$/,
ya = !0,
Ka = !1,
Xa = "",
Za = !1,
Aa = !0;
x.initCorrector();
x.nowTime();
var Z = "metrikaId_" + Math.random(),
Pa = {},
L = ":submit" + Math.random();
if (!k.isMetrikaPlayer()) {
r.on(q, "click,dblclick,mousedown", C);
r.on(q, "mouseup", E);
r.on(q, "keydown", ba);
r.on(q, "keypress", T);
r.on(q, "copy", G);
if (v.getBody()) r.on(q, "mouseleave", P);
q.attachEvent && !n.opera ? (r.on(q, "focusin", N), r.on(q,
"focusout", I)) : (r.on(n, "focus", J), r.on(n, "blur", H), r.on(q, "blur", H));
q.addEventListener ? (r.on(q, "focus", V), r.on(q, "blur", W), r.on(q, "change", X), r.on(q, "submit", Y)) : q.attachEvent && (r.on(q, "focusin", V), r.on(q, "focusout", W), function() {
for (var c = q.getElementsByTagName("form"), a = 0; a < c.length; a++) {
for (var f = c[a].getElementsByTagName("*"), b = 0; b < f.length; b++)
if (/^INPUT|SELECT|TEXTAREA$/.test(f[b].tagName)) r.on(f[b], "change", X);
r.on(c[a], "submit", Y)
}
}());
(function() {
var c = q.getElementsByTagName("form");
if (c.length)
for (var a =
0; a < c.length; a++) {
var f = c[a].submit;
if ("function" == typeof f || "object" == typeof f && /^\s*function submit\(\)/.test(String(f))) c[a][L] = f, c[a].submit = function() {
Y({
target: this
});
return this[L]()
}
}
})()
}
return {
start: function() {
S.activate()
},
stop: function() {
S.clear();
r.un(q, "click", C);
r.un(q, "dblclick", C);
r.un(q, "mousedown", C);
r.un(q, "mouseup", E);
r.un(q, "keydown", ba);
r.un(q, "keypress", T);
r.un(q, "copy", G);
r.un(q, "focusin", N);
r.un(q, "focusout", I);
r.un(n, "focus", J);
r.un(n, "blur", H);
r.un(q, "blur", H);
q.removeEventListener ?
(r.un(q, "focus", V), r.un(q, "blur", W), r.un(q, "change", X), r.un(q, "submit", Y)) : q.detachEvent && (r.un(q, "focusin", V), r.un(q, "focusout", W), function() {
for (var c = q.getElementsByTagName("form"), a = 0; a < c.length; a++) {
for (var f = c[a].getElementsByTagName("*"), b = 0; b < f.length; b++) /^INPUT|SELECT|TEXTAREA$/.test(f[b].tagName) && r.un(f[b], "change", X);
r.un(c[a], "submit", Y)
}
}());
(function() {
for (var c = q.getElementsByTagName("form"), a = 0; a < c.length; a++) c[a][L] && (c[a].submit = c[a][L])
})()
}
}
}
function K() {
for (var a = {}, b = "hash host hostname href pathname port protocol search".split(" "),
d = b.length, e = d, g, p; e--;) a[b[e]] = "";
try {
for (g = n.location, e = d; e--;) p = b[e], a[p] = "" + g[p]
} catch (h) {
H && (a = H)
}
return a
}
function ua() {
return 0 == K().hostname.search(/^(.*\.)?((yandex(-team)?)\.(com?\.)?[a-z]+|(auto|kinopoisk|beru|bringly)\.ru|ya\.(ru|cc)|yadi\.sk|yastatic\.net|.*\.yandex)$/)
}
function bb(a) {
return -1 !== ("" + n.navigator.userAgent).toLowerCase().search(a)
}
function lb(a) {
return (a = a && a.innerHTML && a.innerHTML.replace(/<\/?[^>]+>/gi, "")) ? ("" + a).replace(/^\s+/, "").replace(/\s+$/, "") : ""
}
function mb(a,
b) {
var d;
if (!a || !b) return !1;
var e = [];
for (d = 0; d < b.length; d++) e.push(b[d].replace(/\^/g, "\\^").replace(/\$/g, "\\$").replace(/\./g, "\\.").replace(/\[/g, "\\[").replace(/\]/g, "\\]").replace(/\|/g, "\\|").replace(/\(/g, "\\(").replace(/\)/g, "\\)").replace(/\?/g, "\\?").replace(/\*/g, "\\*").replace(/\+/g, "\\+").replace(/\{/g, "\\{").replace(/\}/g, "\\}"));
return (new RegExp("\\.(" + e.join("|") + ")$", "i")).test(a)
}
function Gb(a, b) {
function d(a) {
a = a.split(":");
a = a[1] || "";
a = a.replace(/^\/*/, "").replace(/^www\./, "");
return a.split("/")[0]
}
return a && b ? d(a) == d(b) : a || b ? !1 : !0
}
function nb() {
var a = n.performance || n.webkitPerformance,
b = a && a.timing,
d, e = [];
if (b && (d = b.navigationStart))
for (e = [b.domainLookupEnd - b.domainLookupStart, b.connectEnd - b.connectStart, b.responseStart - b.requestStart, b.responseEnd - b.responseStart, b.fetchStart - d, b.redirectEnd - b.redirectStart, b.redirectCount || a.navigation && a.navigation.redirectCount], e.push(b.domInteractive && b.domLoading ? b.domInteractive - b.domLoading : null), e.push(b.domContentLoadedEventStart &&
b.domContentLoadedEventEnd ? b.domContentLoadedEventEnd - b.domContentLoadedEventStart : null), e.push(b.domComplete ? b.domComplete - d : null), e.push(b.loadEventStart ? b.loadEventStart - d : null), e.push(b.loadEventStart && b.loadEventEnd ? b.loadEventEnd - b.loadEventStart : null), e.push(b.domContentLoadedEventStart ? b.domContentLoadedEventStart - d : null), a = 0; a < e.length; a++) b = e[a], null !== b && (0 > b || 36E5 < b) && (e[a] = null);
return e
}
function Hb(a) {
var b = [],
d = a._lastPerformanceTiming,
e = nb(),
g;
if (d) {
var p = 0;
for (g = d.length; p < g; p++) null ===
e[p] ? b.push(e[p]) : b.push(d[p] === e[p] ? "" : e[p])
} else b = e;
a._lastPerformanceTiming = e;
return b.join(",")
}
function Ib(a) {
return "first-contentful-paint" === a.name
}
function Jb() {
var a = n.performance && n.performance.getEntriesByType,
b = a ? k.filter(Ib, n.performance.getEntriesByType("paint")) : [];
if (b.length) return b = b[0], Math.round(b.startTime);
if (a) return 0;
if ("object" == typeof n.chrome && n.chrome.loadTimes) {
if (b = n.chrome.loadTimes(), b.requestTime && b.firstPaintTime && n.performance && n.performance.timing) return Math.round(1E3 *
b.firstPaintTime - n.performance.timing.navigationStart)
} else if (n.performance && n.performance.timing && (b = n.performance.timing, b.navigationStart && b.msFirstPaint)) return b.msFirstPaint - b.navigationStart;
return null
}
var La = !1;
try {
var Kb = function(a) {
function b(e) {
if (d[e]) return d[e].exports;
var g = d[e] = {
i: e,
l: !1,
exports: {}
};
a[e].call(g.exports, g, g.exports, b);
g.l = !0;
return g.exports
}
var d = {};
b.m = a;
b.c = d;
b.d = function(a, d, p) {
b.o(a, d) || Object.defineProperty(a, d, {
enumerable: !0,
get: p
})
};
b.r = function(a) {
"undefined" !==
typeof Symbol && Symbol.toStringTag && Object.defineProperty(a, Symbol.toStringTag, {
value: "Module"
});
Object.defineProperty(a, "__esModule", {
value: !0
})
};
b.t = function(a, d) {
d & 1 && (a = b(a));
if (d & 8 || d & 4 && "object" === typeof a && a && a.__esModule) return a;
var e = Object.create(null);
b.r(e);
Object.defineProperty(e, "default", {
enumerable: !0,
value: a
});
if (d & 2 && "string" != typeof a)
for (var h in a) b.d(e, h, function(b) {
return a[b]
}.bind(null, h));
return e
};
b.n = function(a) {
var d = a && a.__esModule ? function() {
return a["default"]
} : function() {
return a
};
b.d(d, "a", d);
return d
};
b.o = function(a, b) {
return Object.prototype.hasOwnProperty.call(a, b)
};
b.p = "";
return b(b.s = 65)
}([function(a, b) {
a.exports = function(a, b, g) {
b in a ? Object.defineProperty(a, b, {
value: g,
enumerable: !0,
configurable: !0,
writable: !0
}) : a[b] = g;
return a
}
}, function(a, b, d) {
d.r(b);
d.d(b, "IterableUtils", function() {
return t
});
var e = d(26),
g = d(17),
p = d(25),
h = d(7),
m = d(10);
a = d(8);
var f = d(3),
c = a.a.Map,
l = a.a.Set,
t = {
binarySearch: function(c, a, f) {
var b = 0,
l = c.length - 1;
for (f = "function" === typeof f ? f : function(c) {
return c
}; b <=
l;) {
var d = Math.round((b + l) / 2),
m = f(c[d]);
if (m === a) {
var h = c[d];
break
} else a > m ? b = d + 1 : l = d - 1
}
return h
},
forof: function(c, a) {
c instanceof h.List ? c.forEach(a) : c instanceof m.KeyValue ? c.forEach(a) : Object(e.a)(c, a)
},
forin: function(c, a) {
Object(g.a)(c, a)
},
fastIterate: function(c, a) {
for (var f = 0, b = c.length; f < b; f++) a(f, c[f])
},
toArray: function(a) {
return a instanceof h.List || a instanceof m.KeyValue ? l && a instanceof l || c && a instanceof c ? Object(p.a)(a) : a.toArray() : Object(p.a)(a)
},
addToArray: function(c) {
for (var a, f = arguments.length,
b = Array(1 < f ? f - 1 : 0), l = 1; l < f; l++) b[l - 1] = arguments[l];
return (a = []).concat.apply(a, b).reduce(function(c, a) {
0 > c.indexOf(a) && c.push(a);
return c
}, c)
},
removeFromArray: function(c) {
for (var a, f = arguments.length, b = Array(1 < f ? f - 1 : 0), l = 1; l < f; l++) b[l - 1] = arguments[l];
return (a = []).concat.apply(a, b).reduce(function(c, a) {
var f = c.indexOf(a);
0 <= f && c.splice(f, 1);
return c
}, c)
},
isArray: function(c) {
return "function" === typeof Array.isArray ? Array.isArray(c) : "[object Array]" === {}.toString.call(c)
},
inArray: function(c, a) {
return c ?
"function" === typeof c.includes ? c.includes(a) : 0 <= c.indexOf(a) : !1
},
fill: function(c, a) {
if (Array.prototype.fill) return c.fill(a);
for (var f = c.length; 0 < f--;) c[f] = a;
return c
},
reduce: function(c, a, f) {
return this.toArray(c).reduce(a, f)
},
reduceRight: function(c, a, f) {
return this.toArray(c).reduceRight(a, f)
},
map: function(c, a) {
var b = this.toArray(c);
if (f.ObjectUtils.isNative(b.map, "map")) return b.map(a);
for (var l = [], d = 0; d < b.length; d++) l[d] = a(b[d], d, b);
return l
},
find: function(c, a) {
if (Array.prototype.find) return c.find(a);
var f;
this.forof(c, function(b, l) {
return !0 === !!a(b, l, c) ? (f = b, !1) : !0
});
return f
},
keys: function(c) {
if ("function" === typeof c.keys) return c.keys();
var a = [];
this.forof(c, function(c, f) {
a.push(f)
});
return a
},
values: function(c) {
if (c.hasOwnProperty("values")) return c.values();
var a = [];
this.forof(c, function(c, f) {
a.push(c)
});
return a
},
includes: function(c, a, b) {
void 0 === b && (b = 0);
if (f.ObjectUtils.isNative(Array.prototype.includes, "includes")) return c.includes(a, b);
for (var l = c.length; b < l; b++)
if (c[b] === a) return !0;
return !1
}
}
}, function(a, b, d) {
b.a = "undefined" !== typeof n ? n : "undefined" !== typeof self ? self : global
}, function(a, b, d) {
d.r(b);
a = d(6);
var e = d.n(a),
g = d(8),
p = g.a.Object.assign || function(c) {
for (var a = 1; a < arguments.length; a++) {
var f = arguments[a],
b = g.a.Object.prototype.hasOwnProperty.bind(f),
l;
for (l in f) b(l) && (c[l] = f[l])
}
return c
},
h = d(17),
m = d(26),
f = d(33);
d.d(b, "ObjectUtils", function() {
return c
});
var c = {
sizeof: function(c, a) {
void 0 === c && (c = {});
void 0 === a && (a = !1);
var b = JSON.stringify(c);
b = -~encodeURI(b).split(/%..|./).length;
return a ? f.NumberUtils.bytesToSize(b) : b
},
assign: function(c) {
for (var a = arguments.length, f = Array(1 < a ? a - 1 : 0), b = 1; b < a; b++) f[b - 1] = arguments[b];
return p.apply(void 0, [c].concat(f))
},
deleteProps: function(c, a) {
void 0 === a && (a = []);
Object(m.a)(a, function(a) {
delete c[a]
});
return c
},
copyObject: function(c) {
return e()({}, c)
},
type: function(c) {
return {}.toString.call(c)
},
deepCopyObject: function(c) {
return JSON.parse(JSON.stringify(c))
},
combine: function() {
for (var c = arguments.length, a = Array(c), f = 0; f < c; f++) a[f] = arguments[f];
return a.reduce(function(c, a) {
return null != a ? e()({}, c, a) : c
}, {})
},
findNativeImplementation: function(c) {
if (this.isNative(g.a[c], c)) return g.a[c];
var a = ["webkit", "moz", "ms", "o"];
c = "" + c.slice(0, 1).toUpperCase() + c.slice(1);
for (var f = 0; f < a.length; f++) {
var b = "" + a[f] + c;
if (this.isNative(g.a[b], b)) return g.a[b]
}
return null
},
isNative: function(c, a) {
return c ? (new RegExp("function\\s*" + a + "\\s*\\(\\)\\s*\\{\\s*\\[native[\\s-]code\\]\\s*\\}", "i")).test(c.toString()) : !1
},
isMonkeyPatchedOrUndefined: function(c, a) {
var f =
g.a;
if (f[c] === w || !this.isNative(f[c], c)) return !0;
if (a)
for (var b = 0; b < a.length; b++)
if (!this.isNative(f[c].prototype[a[b]], a[b])) return !0;
return !1
},
objectKeys: function(c) {
var a = [];
Object(h.a)(c, function(c) {
return a.push(c)
});
return a
},
objectValues: function(c) {
var a = [];
Object(h.a)(c, function(c, f) {
return a.push(f)
});
return a
},
safeAccess: function(c, a) {
if (null == c || "string" !== typeof a) return w;
for (var f = a.split("."), b = c, l = 0, d = f.length; l < d; l++)
if (b = b[f[l]], null == b) return w;
return b
}
}
}, function(a, b, d) {
d.r(b);
d.d(b, "DO_NOT_TRACK", function() {
return p
});
d.d(b, "IS_INCOGNITO", function() {
return h
});
d.d(b, "IS_MOBILE_DEVICE", function() {
return m
});
d.d(b, "IS_DEVELOPMENT", function() {
return f
});
a = d(6);
var e = d.n(a);
a = d(11);
var g = d(2);
d = e()({}, d(32).BrowserUtils, d(34).DocumentUtils, d(14).DOMUtils, d(35).FunctionUtils, d(1).IterableUtils, d(85).MapUtils, d(33).NumberUtils, d(3).ObjectUtils, d(24).StringUtils, d(36).TimeUtils, d(20).Tools, {
math: d(87).MathUtils
});
try {
var p = a.a.respectDoNotTrack && !0 === navigator.doNotTrack
} catch (c) {
p = !1
}
var h = function() {
try {
g.a.localStorage.setItem("test", "test");
var c = "test" !== g.a.localStorage.getItem("test");
g.a.localStorage.removeItem("test");
return c
} catch (l) {
return !0
}
}();
try {
var m = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i.test(navigator.userAgent) ? !0 : !1
} catch (c) {
m = !1
}
var f = "development" === a.a.environment;
Object.defineProperties(d, {
DO_NOT_TRACK: {
value: p
},
IS_INCOGNITO: {
value: h
},
IS_MOBILE_DEVICE: {
value: m
},
IS_DEVELOPMENT: {
value: f
}
});
b["default"] = d
}, function(a, b) {
a.exports = function(a) {
if (void 0 ===
a) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return a
}
}, function(a, b, d) {
var e = d(0);
a.exports = function(a) {
for (var b = 1; b < arguments.length; b++) {
var d = null != arguments[b] ? arguments[b] : {},
m = Object.keys(d);
"function" === typeof Object.getOwnPropertySymbols && (m = m.concat(Object.getOwnPropertySymbols(d).filter(function(a) {
return Object.getOwnPropertyDescriptor(d, a).enumerable
})));
m.forEach(function(f) {
e(a, f, d[f])
})
}
return a
}
}, function(a, b, d) {
d.r(b);
d.d(b, "List", function() {
return m
});
a = d(12);
var e = d.n(a);
a = d(0);
var g = d.n(a),
p = d(8);
a = d(3);
var h = d(1);
d = p.a.Set;
a = a.ObjectUtils.isMonkeyPatchedOrUndefined("Set", "add has clear delete forEach toString".split(" "));
var m = function() {
function a(c) {
g()(this, "list", []);
c && (c instanceof a ? this.create(h.IterableUtils.toArray(c)) : c instanceof Array && this.create(c))
}
var c = a.prototype;
c.add = function(c) {
!1 === this.has(c) && this.list.push(c);
return this
};
c.has = function(c) {
return 0 <= this.list.indexOf(c)
};
c.clear = function() {
this.list.length = 0;
return this
};
c["delete"] = function(c) {
c = this.list.indexOf(c);
return 0 <= c ? (this.list.splice(c, 1), !0) : !1
};
c.each = function(c) {
if ("function" === typeof c)
for (var a = 0; a < this.list.length;) {
var f = this.list[a];
2 === c.length ? c(f, f) : c(f);
a++
}
};
c.forEach = function(c) {
this.each(c)
};
c.values = function() {
return this.list.slice(0)
};
c.keys = function() {
return this.list.slice(0)
};
c.toArray = function() {
return this.list.slice(0)
};
c.toString = function() {
return "List(" + this.size + ")"
};
c.create = function(c) {
for (var a = 0; a < c.length;) this.add(c[a]),
a++
};
e()(a, [{
key: "size",
get: function() {
return this.list.length
}
}]);
return a
}();
b["default"] = a ? m : d
}, function(a, b, d) {
var e = function(a, b) {
var d = a.contentWindow;
return d ? b.reduce(function(a, f) {
return a && d.hasOwnProperty(f)
}, !0) : !1
};
b.a = function() {
var a = "undefined" !== typeof global ? global : "undefined" !== typeof self ? self : n;
if ("undefined" !== typeof q && q.body) {
var b = q.createElement("iframe");
b.name = "_ym_native";
b.title = "_ym_native";
b.frameBorder = "0";
b.style.opacity = "0";
b.style.width = "0px";
b.style.height = "0px";
b.style.position = "absolute";
b.style.left = "100%";
b.style.bottom = "100%";
b.style.setProperty("border", "0", "important");
b.setAttribute("aria-hidden", "true");
/Trident|MSIE/.test(navigator.userAgent) ? q.body.parentNode && q.body.parentNode.appendChild(b) : q.body.appendChild(b);
e(b, ["Set", "Map"]) && (a = b.contentWindow || a)
}
return a
}()
}, function(a, b, d) {
(function(a) {
d.d(b, "b", function() {
return t
});
d.d(b, "a", function() {
return z
});
var e = d(29),
p = d.n(e);
e = d(6);
var h = d.n(e);
e = d(11);
var m = d(3),
f = d(1),
c = d(14),
l = d(20);
e =
e.a.DOMIndexer;
var t = e.IGNORED_NODES,
z = e.IGNORED_ATTRIBUTES,
D = e.SKIPPED_ATTRIBUTES,
y = e.EXTRA_ATTRIBUTES,
k = [],
O = {},
A = {
INPUT: function(c, a) {
var f = h()({}, a);
"checkbox" === a.type || "radio" === a.type ? c.checked ? a.checked = "checked" : delete a.checked : f.value = c.value;
return f
},
IMG: function(c, a) {
var f = h()({}, a);
c.currentSrc && (f.src = c.currentSrc || a.src);
return f
}
},
ia = function(c) {
if (null == c) return !1;
c = c.nodeType;
return c === Node.TEXT_NODE || c === Node.COMMENT_NODE
},
n = function Ja(c, a) {
var f = [];
if ("function" === typeof a) {
var b =
a(c);
null != b && b !== NodeFilter.FILTER_ACCEPT || f.push(c)
} else f.push(c);
if (c.childNodes && 0 < c.childNodes.length) {
b = c.childNodes;
for (var d = 0, l = b.length; d < l; d++) f.push.apply(f, Ja(b[d]))
}
return f
},
Qa = function(c, a, f) {
var b = function(c) {
return "function" === typeof f ? f(c) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT
};
if ("function" === typeof a && b(c) === NodeFilter.FILTER_ACCEPT && (a(c), !1 === ia(c)))
for (c = q.createTreeWalker(c, -1, f ? {
acceptNode: b
} : null, !1); c.nextNode() && !1 !== a(c.currentNode););
},
pa = function(a, f) {
var b = [];
a && (c.DOMUtils.nodeIsInTree(a) ? Qa(null == a ? q.documentElement : a, function(c) {
b.push(c)
}, f) : b.push.apply(b, n(a, f)));
return b
},
ta = function(c) {
var a = c["*"],
b = p()(c, ["*"]),
d = {},
l = new RegExp(a.join("|"), "i");
f.IterableUtils.forin(b, function(c) {
var f, l = (f = []).concat.apply(f, b[c].concat(a));
d[c] = new RegExp(l.join("|"), "i")
});
return function(c, a) {
if (c && a) {
var f = "string" === typeof c ? c : c.nodeName;
if (f) return (f = d[f.toLowerCase()]) && !!a.match(f) || !!a.match(l)
}
return !1
}
}(z),
F = [function(c,
a, f) {
return null == f || /^javascript/.test(f)
}, function(c, a) {
return "SCRIPT" === c.nodeName && "src" === a
}, function(c, a) {
return "A" === c.nodeName && "href" === a
}],
r = function(c, a, f) {
for (var b = 0, d = F.length; b < d; b++)
if (!0 === F[b](c, a, f)) return !1;
return !0
},
v = function(c, f, b) {
var d = b;
if (r(c, f, b)) {
d = k.reduce(function(b, d) {
try {
var l = d(c, f, b);
return null != l ? l : b
} catch (qa) {
return a.warn("Filtering error", qa), b
}
}, d);
if ("string" === typeof d) return (b = O[f]) ? b(c, f, d) || d : d;
if (null != d && !1 !== d) return d.baseVal
}
return null
},
x = function(c,
a) {
a: {
try {
q.createAttribute(a)
} catch (M) {
var f = !1;
break a
}
f = !0
}
return !f || ta({
nodeName: c
}, a) ? !1 : a
},
u = function(c, f, b) {
if (b && b.name && b.value) {
if (!1 !== x(f, b.name)) try {
var d, l = v(c, b.name, b.value);
return d = {}, d[b.name] = l || "", d
} catch (T) {
a.warn("Error while reading attribute", b, c), a.warn(T)
}
} else a.warn("Error while reading attribute", b, c);
return null
};
e = function(c) {
var a = new RegExp(c.join("|"), "gi");
return function(c) {
return c && !!c.nodeName.match(a)
}
}(t);
var B = function(c) {
return c && c.namespaceURI ? /svg/.test(c.namespaceURI) :
!1
};
e = {
all: pa,
map: function(c, a, b) {
var d = [];
c = pa(c, b);
f.IterableUtils.fastIterate(c, function(c, f) {
d.push(a(f))
});
return d
},
walk: Qa,
each: function(c, a, b) {
c && (c = pa(c, b), f.IterableUtils.fastIterate(c, a))
},
getAttributes: function(c) {
var a = {},
b = c.nodeName,
d = f.IterableUtils.toArray(c.attributes);
d && d.length && (f.IterableUtils.fastIterate(d, function(f, d) {
var l = u(c, b, d);
l && m.ObjectUtils.assign(a, l)
}), (d = y[b] || w) && f.IterableUtils.fastIterate(d, function(f, d) {
u(a, b, {
name: d,
value: c[d]
})
}));
return (d = A[b]) ? d(c, a) :
a
},
getContent: function(c) {
if (null != c && ia(c)) return c.textContent
},
getNamespace: function(c) {
if (B(c)) return c.namespaceURI
},
normalizeAttributeValue: v,
cloneAttributes: function(c, a) {
var b = f.IterableUtils.toArray(c.attributes);
f.IterableUtils.fastIterate(b, function(c, f) {
var b = !1 === l.Tools.isNULL(f.namespaceURI),
d = f.cloneNode();
b ? a.attributes.setNamedItemNS(d) : a.attributes.setNamedItem(d)
});
return a
},
isSVG: B,
isTextNode: ia,
isIgnoredNode: e,
isIgnoredAttr: ta,
isAttributeNameValid: x,
isSkippedAttribute: function(c) {
return f.IterableUtils.includes(D,
c)
}
};
Object.defineProperty(e, "addAttributesFilter", {
value: function(c) {
"function" === typeof c && k.push(c)
}
});
b.c = e
}).call(this, d(15)["default"])
}, function(a, b, d) {
d.r(b);
d.d(b, "KeyValue", function() {
return m
});
a = d(12);
var e = d.n(a);
a = d(0);
var g = d.n(a);
a = d(3);
var p = d(8),
h = d(1);
d = p.a.Map;
a = a.ObjectUtils.isMonkeyPatchedOrUndefined("Map", "set get has clear delete forEach toString".split(" "));
var m = function() {
function a(c) {
g()(this, "lastIndex", 0);
g()(this, "list", []);
g()(this, "index", []);
c instanceof a ? this.create(h.IterableUtils.toArray(c)) :
c instanceof Array && this.create(c)
}
var c = a.prototype;
c.allocate = function(c) {
void 0 === c && (c = 0);
this.list.length = c;
this.index.length = c
};
c.set = function(c, a) {
var f = this.indexOf(this.index, c); - 1 !== f ? this.list[f].value = a : (this.list[this.lastIndex] = {
key: c,
value: a
}, this.index[this.lastIndex] = c, this.lastIndex++);
return this
};
c.get = function(c) {
return (c = this.find(c)) ? c.value : w
};
c.keys = function() {
return this.list.map(function(c) {
return c.key
})
};
c.values = function() {
return this.list.map(function(c) {
return c.value
})
};
c.has = function(c) {
return -1 !== this.indexOf(this.index, c)
};
c.clear = function() {
this.lastIndex = 0;
this.list.length = 0;
this.index.length = 0;
return this
};
c["delete"] = function(c) {
if (c = this.find(c))
if (c = this.indexOf(this.list, c), -1 !== c) return this.list.splice(c, 1), this.index.splice(c, 1), this.lastIndex--, !0;
return !1
};
c.each = function(c) {
"function" === typeof c && this.loop(function(a) {
var f = a.key;
a = a.value;
2 === c.length ? c(f, a) : c([f, a])
})
};
c.forEach = function(c) {
var a = this;
"function" === typeof c && this.loop(function(f) {
c(f.value,
f.key, a)
})
};
c.toArray = function() {
return this.list.map(function(c) {
return [c.key, c.value]
})
};
c.toString = function() {
return "KeyValue(" + this.size + ")"
};
c.loop = function(c) {
if ("function" === typeof c)
for (var a = 0; a < this.list.length;) c.call(this, this.list[a]), a++
};
c.create = function(c) {
var a = 0;
if (c && 0 < c.length)
for (; a < c.length;) {
var f = c[a];
this.set(f[0], f[1]);
a++
}
};
c.find = function(c) {
c = this.indexOf(this.index, c);
if (-1 !== c) return this.list[c]
};
c.indexOf = function(c, a) {
return [].indexOf.call(c, a)
};
e()(a, [{
key: "size",
get: function() {
return this.lastIndex
}
}]);
return a
}();
b["default"] = a ? m : d
}, function(a, b, d) {
d.d(b, "a", function() {
return e
});
var e = {
environment: "production",
"package": {
version: "2.6.2"
},
server: function(a) {
switch (a) {
case "test":
return {
port: 8080, css_path: "/", public_host: "webvisor.local"
};
case "production":
return {
port: 8080, css_path: "/", public_host: "webvisor.local"
};
case "metrika":
return {
port: 8080, css_path: "/", public_host: "webvisor.local"
};
default:
return {
port: 8080, css_path: "/", public_host: "webvisor.local"
}
}
}("production"),
respectDoNotTrack: !0,
experimentalWebSocket: !0,
captors: {
canvas: !1,
input: !0,
checkable: !0,
keystrokes: !0,
media: !1,
mouse: !0,
focus: !0,
mutations: !0,
resize: !0,
deviceRotation: !0,
selection: !0,
scroll: !0,
touch: !0,
zoom: !0,
window: !0,
srcset: !0
},
captorsConfig: {
input: {
PD: function() {
return {
delimiter: "(-|\\.|_|\\s){0,2}",
suspiciosWords: "first(-|\\.|_|\\s){0,2}name last(-|\\.|_|\\s){0,2}name zip postal phone address passport (bank|credit)(-|\\.|_|\\s){0,2}card card(-|\\.|_|\\s){0,2}number card(-|\\.|_|\\s){0,2}holder cvv card(-|\\.|_|\\s){0,2}exp card(-|\\.|_|\\s){0,2}name card.*month card.*year card.*month card.*year password email birth(-|\\.|_|\\s){0,2}(day|date) second(-|\\.|_|\\s){0,2}name third(-|\\.|_|\\s){0,2}name patronymic middle(-|\\.|_|\\s){0,2}name birth(-|\\.|_|\\s){0,2}place house street city flat state".split(" "),
placeholderSuspiciousWords: "\u0438\u043c\u044f \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u043e\u0442\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u043d\u0434\u0435\u043a\u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0430\u0434\u0440\u0435\u0441 \u043f\u0430\u0441\u043f\u043e\u0440\u0442 \u043d\u043e\u043c\u0435\u0440(-|\\.|_|\\s){0,2}\u043a\u0430\u0440\u0442\u044b \u0434\u0430\u0442\u0430(-|\\.|_|\\s){0,2}\u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0434\u043e\u043c \u0443\u043b\u0438\u0446\u0430 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430 \u0433\u043e\u0440\u043e\u0434 \u043e\u0431\u043b\u0430\u0441\u0442\u044c".split(" ")
}
}
}
},
DOMIndexer: {
IGNORED_NODES: ["script", "noscript", "audio"],
IGNORED_ATTRIBUTES: {
"*": ["^on*", "srcset", "integrity", "crossorigin"],
iframe: ["src"],
script: ["src", "type"]
},
SKIPPED_ATTRIBUTES: [],
EXTRA_ATTRIBUTES: {
VIDEO: ["width", "height"]
},
URL_NODES: ["link", "img", "svg"],
URL_ATTRIBUTES: "href link content poster style src srcset".split(" "),
IGNORE_NODES_ORDER: ["HEAD"],
HIDABLE_NODES: "#text IMG INPUT BUTTON SELECT TEXTAREA".split(" "),
REPLACE_ATTRIBUTES: {
a: {
href: "#"
}
}
}
}
}, function(a, b) {
function d(a, b) {
for (var d = 0; d <
b.length; d++) {
var h = b[d];
h.enumerable = h.enumerable || !1;
h.configurable = !0;
"value" in h && (h.writable = !0);
Object.defineProperty(a, h.key, h)
}
}
a.exports = function(a, b, p) {
b && d(a.prototype, b);
p && d(a, p);
return a
}
}, function(a, b, d) {
(function(a, g) {
var e = d(7),
h = d(1),
m = d(3),
f = function() {
function c(c, f) {
var b = void 0 === f ? {} : f,
d = b.context;
d = void 0 === d ? null : d;
b = b.expose;
b = void 0 === b ? !1 : b;
this.allowedEvents = new e["default"]((this.eventsList || c || []).map(function(c) {
return c.split(":")[0]
}));
this.context = d || this;
this._define("_events",
new a)._define("_memory", new a)._define("_namespaces", new a)._define("_options", new a)._define("_once", new a);
this._setupEvents();
this._exposeEvents(d, b)
}
var f = c.prototype;
f.emit = function(c) {
for (var a = this, f = arguments.length, b = Array(1 < f ? f - 1 : 0), d = 1; d < f; d++) b[d - 1] = arguments[d];
return new g(function(f, d) {
var l = c.split(" ");
h.IterableUtils.forof(l, function(c) {
a._invokeEvent(c, b, f, d)
});
return a
})
};
f.on = function(c, a) {
var f = this;
if ("function" === typeof a) {
var b = c.split(" ");
h.IterableUtils.forof(b, function(c) {
f._saveEvent(c,
a)
})
} else throw Error("Callback sould be a function");
return this
};
f.off = function(c, a) {
var f = this;
var b = c ? c.split(" ") : h.IterableUtils.keys(f._events);
h.IterableUtils.forof(b, function(c) {
f._removeEvent(c, a)
});
return this
};
f._define = function(c, a) {
Object.defineProperty(this, c, {
value: a,
writable: !1
});
return this
};
f._exposeEvents = function(c, a) {
a && m.ObjectUtils.assign(c, {
on: this.on.bind(this),
off: this.off.bind(this),
emit: this.emit.bind(this)
})
};
f._getNamespace = function(c, a) {
var f = this._namespaces.get(c);
return f ? f.get(a) || this._events.get(c) : this._events.get(c)
};
f._hasOption = function(c, a) {
var f = this._options.get(c);
return !!f && f.has(a)
};
f._invokeEvent = function(c, a, f) {
var b = this;
c = c.split(".");
var d = c[0];
c = c[1];
var l = this._hasOption(d, "stop");
if ((c = this._getNamespace(d, c)) && 0 < c.size) {
var m = g.resolve();
a = this._saveMemory(d, a);
h.IterableUtils.forof(c, function(c) {
if (b._isAlreadyCalled(d, c)) return !0;
m = m.then(function(m) {
return !1 !== m ? (m = b._runCallback(d, c, a), f(m), l ? m : null) : !1
})
})
}
};
f._isAlreadyCalled = function(c,
a) {
if (this._hasOption(c, "once")) {
var f = this._once.get(c) || new e["default"];
if (f.has(a)) return !0;
f.add(a);
this._once.set(c, f)
}
return !1
};
f._runCallback = function(c, a, f) {
f = this._saveMemory(c, f);
return a.call.apply(a, [this.context].concat(f))
};
f._saveEvent = function(c, a) {
var f = c.split(":"),
b = f[0];
f = f.slice(1);
var d = b.split(".");
b = d[0];
d = d[1];
var l = this._events.get(b) || new e["default"];
f = this._options.get(b) || new e["default"](f);
var m = this._memory.get(b) || !1;
l.has(a) || (l.add(a), this._events.set(b, l), this._options.set(b,
f), this._saveNamespace(b, d, a), m && this._runCallback(b, a, m))
};
f._saveMemory = function(c, a) {
return this._hasOption(c, "memory") ? this._memory.has(c) ? this._memory.get(c) || [] : this._memory.set(c, a) && a : a
};
f._saveNamespace = function(c, f, b) {
var d = this._namespaces.get(c) || new a,
l = d.get(f || "__global") || new e["default"];
l.add(b);
d.set(f || "__global", l);
this._namespaces.set(c, d)
};
f._setupEvents = function() {
var c = this;
this.allowedEvents.size && h.IterableUtils.forof(this.allowedEvents, function(a) {
var f = a.split(":");
a =
f[0];
f = f.slice(1);
c._options.set(a, new e["default"](f));
c._events.set(a, new e["default"])
})
};
f._removeCallbacks = function(c, a) {
if (a instanceof e["default"]) {
var f = this._events.get(c);
h.IterableUtils.forof(a, function(c) {
f && f["delete"](c)
})
}
};
f._removeEvent = function(c, a) {
var f = c.split("."),
b = f[0];
f = f[1];
var d = this._events.get(b) || new e["default"];
d.has(a) ? (f || d["delete"](a), this._removeNamespace(b, f, a)) : (f || (this._events["delete"](b), this._options["delete"](b)), this._removeNamespace(b, f))
};
f._removeNamespace =
function(c, a) {
var f = this,
b = this._namespaces.get(c);
b && (a ? (this._removeCallbacks(c, b.get(a)), b["delete"](a)) : (h.IterableUtils.forof(b, function(a) {
f._removeCallbacks(c, a)
}), this._namespaces["delete"](c)))
};
return c
}();
b.a = f
}).call(this, d(10)["default"], d(23).Promise)
}, function(a, b, d) {
d.r(b);
d.d(b, "DOMUtils", function() {
return h
});
var e = d(2),
g = d(1),
p = d(3),
h = {
base: function() {
var a = q.createElement("a");
a.href = "/";
var f = q.querySelector("base");
f && f.href && (a.href = f.href);
return a.href
},
getScroll: function(a) {
return null ==
a ? {
left: 0,
top: 0
} : a.window === a ? {
top: a.scrollY || 0,
left: a.scrollX || 0
} : null === a.ownerDocument ? this.getScroll(this.scrollingElement(a)) : {
top: a.scrollTop || 0,
left: a.scrollLeft || 0
}
},
documentVisible: function() {
if ("undefined" !== typeof q) {
var a = "undefined" !== typeof q.msHidden ? "msHidden" : "undefined" !== typeof q.webkitHidden ? "webkitHidden" : "hidden";
return function() {
return q[a]
}
}
}(),
isDOMNode: function(a) {
if (a) try {
var f = a.ownerDocument;
if (null === f) return !1;
if (f.defaultView) return a instanceof f.defaultView.Node
} catch (c) {
return "object" ===
typeof a && "object" === typeof a.style && "object" === typeof a.ownerDocument
}
return !1
},
isScrollable: function(a) {
var f = a.scrollHeight !== a.clientHeight;
return a.scrollWidth !== a.clientWidth || f
},
scrollingElement: function(a) {
a = a || q;
return a.scrollingElement || (a.documentElement.scrollHeight > a.body.scrollHeight && 0 === a.compatMode.indexOf("CSS1") ? a.documentElement : a.body)
},
convertNode: function(a, f, c) {
var b = void 0 === c ? {} : c;
c = b.doc;
c = void 0 === c ? q : c;
b = b.saveChildren;
b = void 0 === b ? !0 : b;
c = c || a.ownerDocument;
var d = c.createElement(f);
g.IterableUtils.forof(a.attributes, function(c) {
d.setAttribute(c.name, c.value)
});
b && g.IterableUtils.forof(a.childNodes, function(c) {
d.appendChild(c.cloneNode(!0))
});
return d
},
nodeIsRecordable: function(a) {
if (null !== a) {
var f = null != a.getAttribute("metrika-ignore") || /-metrika-ignore/.test(a.className),
c = null != a.getAttribute("metrika-force") || /-metrika-force/.test(a.className);
a = a.getAttribute("type");
return c ? !0 : !f && "password" !== a
}
return !1
},
contentSizeChanged: function(a, f) {
var c = a.ownerDocument ? a.ownerDocument.defaultView :
n,
b = {
stopped: !1,
height: null,
width: null,
runner: function() {
if (!this.stopped) {
var b = null == a ? {} : "function" === typeof a ? a() || {} : a;
var d = b.scrollHeight;
b = b.scrollWidth;
if (d !== this.height || b !== this.width) this.height = d, this.width = b, f({
width: b,
height: d
});
c && c.requestAnimationFrame(this.runner.bind(this))
}
},
stop: function() {
this.stopped = !0
}
};
b.runner();
return b
},
elementsFromPoint: function(a, f, c) {
c = c || q;
var b = c.elementsFromPoint;
if (b) return b.call(c, a, f);
b = [];
for (var d = [], h;
(h = c.elementFromPoint(a, f)) && -1 === b.indexOf(h);) {
b.push(h);
var m = h.style;
d.push({
value: m.getPropertyValue("pointer-events"),
priority: m.getPropertyPriority("pointer-events")
});
m.setProperty("pointer-events", "none", "important")
}
for (a = d.length; f = d[--a];) b[a].style.setProperty("pointer-events", f.value ? f.value : "", f.priority);
return b
},
nodeIndentLevel: function(a) {
for (var f = 0; a.parentNode;) a = a.parentNode, f++;
return f
},
offsets: function(a, f) {
var c = void 0 === f ? {} : f,
b = c.relative,
d = void 0 === b ? !1 : b;
b = c.excludeBorder;
var h = void 0 === b ? !1 : b;
c = c.excludePadding;
var m = void 0 ===
c ? !1 : c;
!1 === "getBoundingClientRect" in a && ("documentElement" in a ? a = a.documentElement : "document" in a && (a = a.document.documentElement));
var e = (a.ownerDocument || q).defaultView || n,
g = a.getBoundingClientRect();
c = g.top;
b = g.right;
var p = g.bottom,
A = g.left;
d && (c = g.top, A = g.left);
if (h || m) d = e.getComputedStyle(a), h && (h = d.borderRightWidth, e = d.borderBottomWidth, g = d.borderLeftWidth, c += parseInt(d.borderTopWidth || "0", 10), b += parseInt(h || "0", 10), p += parseInt(e || "0", 10), A += parseInt(g || "0", 10)), m && (m = d.paddingRight, h = d.paddingBottom,
e = d.paddingLeft, c += parseInt(d.paddingTop || "0", 10), b += parseInt(m || "0", 10), p += parseInt(h || "0", 10), A += parseInt(e || "0", 10));
return {
top: c,
right: b,
bottom: p,
left: A
}
},
nodeIsInTree: function(a) {
if (this.isDOMNode(a)) {
var f = a.ownerDocument;
if (null != f) return f.documentElement.contains(a)
}
return !1
},
waitForNode: function(a, f, c) {
var b = this;
void 0 === c && (c = 500);
var d = {
disconnect: function() {}
};
if (b.nodeIsInTree(a)) f(!0);
else {
var h = a.ownerDocument || q,
e = new MutationObserver(function() {
b.nodeIsInTree(a) && (f(!0), e.disconnect())
});
e.observe(h.documentElement, {
subtree: !0,
childList: !0
});
var m = isFinite(c) ? C(function() {
b.nodeIsInTree(a) || (f(!1), e.disconnect())
}, c) : w;
d.disconnect = function() {
m && clearTimeout(m);
e.disconnect()
}
}
return d
},
createElement: function(a, f, c) {
c = c || q;
var b = c.createElement(a);
g.IterableUtils.forin(f, function(c) {
var a = f[c];
"style" === c ? p.ObjectUtils.assign(b[c], a) : b[c] = a
});
return b
},
matchesSelector: function(a, f) {
var c = g.IterableUtils.find(["matches", "webkitMatchesSelector", "mozMatchesSelector", "msMatchesSelector",
"oMatchesSelector"
], function(c) {
return c in q.body
});
this.matchesSelector = function(a, f) {
if (c) {
if (null == a || null == a.ownerDocument) return !1;
try {
if (c in a) return a[c](f)
} catch (z) {}
}
return !1
};
return this.matchesSelector(a, f)
},
closestParent: function(a, f, c) {
void 0 === c && (c = !1);
for (a = c && !this.isTextNode(a) ? a : a.parentNode; a;) {
if (a && this.matchesSelector(a, f)) return a;
a = a.parentNode
}
return null
},
isTextNode: function(a) {
return 0 <= [Node.TEXT_NODE, Node.COMMENT_NODE].indexOf(a.nodeType)
},
isChildOf: function(a, f, c) {
void 0 ===
c && (c = !1);
return null != this.closestParent(a, f, c)
},
copyAttributes: function(a, f) {
g.IterableUtils.forof(a.attributes, function(c) {
try {
f.setAttribute(c.name, c.value)
} catch (l) {
e.a.console.warn("Can't copy attribute [" + c.name + "\x3d" + c.value + "]", {
sourceNode: a
})
}
});
return f
},
isHiddenContent: function(a) {
if (null == a) return !1;
if ("#text" === a.nodeName) return this.isHiddenContent(a.parentNode);
if (/ym-hidden-content/.test(a.className)) return !1;
var f = this.closestParent(a, ".ym-hide-content", !0);
a: {
a = this.closestParent(a,
".ym-show-content", !0);f === a && (a = null);
if (null != f || null != a) {
if (f && null == a) {
f = !0;
break a
}
if ((null != f || !a) && f && a) {
f = !f.contains(a);
break a
}
}
f = !1
}
return f
}
}
}, function(a, b, d) {
d.r(b);
a = d(17);
var e = d(2);
d = d(8).a.console;
var g = {
console: function() {},
warn: function() {},
info: function() {},
group: function() {},
groupCollapsed: function() {},
groupEnd: function() {},
time: function() {},
end: function() {}
},
p = ["%cWV:", "font-weight: bold;"];
e.a !== e.a.top && p.length && (p[1] += "color: purple");
Object(a.a)(d, function(a) {
g[a] = function() {}
},
!0);
g.__native = d;
g.__debugMode = !1;
g.__addDebug = function(a, b) {};
b["default"] = g
}, function(a, b) {
a.exports = function(a, b) {
a.prototype = Object.create(b.prototype);
a.prototype.constructor = a;
a.__proto__ = b
}
}, function(a, b, d) {
b.a = function(a, b, d) {
void 0 === d && (d = !1);
var h = 2 === b.length;
if (a && b instanceof Function)
for (var e in a)
if (a.hasOwnProperty(e) || !0 === d) {
var f = h ? b(e, a[e]) : b(e);
if (!0 !== f && !1 === f) break
}
}
}, function(a, b, d) {
(function(a, d) {
var e = new a;
b.a = {
throttledFunctions: e,
invokeAll: function(a) {
d.fastIterate(e,
function(b, f) {
f.invoke.call(a)
})
},
create: function(a, b) {
var f = void 0 === b ? {} : b,
c = f.timeout,
l = void 0 === c ? 0 : c;
c = f.immediateFirstRun;
var h = void 0 === c ? !1 : c;
f = f.context;
var m = !0,
g = null,
p = null,
k = null,
O = null,
A = !1,
n = null,
sa = null;
f = {
invoke: function() {
var c = this.context || this;
k !== g && (O = d.now(), k = g, a.call(c, {
object: g,
prevObject: null,
timeDifff: 0,
args: sa
}))
},
run: function(c) {
var f = this.context || this;
h && (clearTimeout(n), n = C(function() {
return m = !0
}, l));
if (!A) {
g = c;
for (var b = arguments.length, e = Array(1 < b ? b - 1 : 0), t = 1; t <
b; t++) e[t - 1] = arguments[t];
sa = e;
m && h ? (m = !1, k = c, a.call(f, {
object: c,
prevObject: null,
timeDifff: 0,
args: sa
})) : (O = d.now(), A = !0, C(function Fb() {
var c = parseInt(d.now() - O, 10);
c >= l ? (A = !1, O = d.now(), k !== g && (p = k, k = g, a.call(f, {
object: g,
prevObject: p,
timeDiff: c,
args: sa
}))) : C(Fb)
}))
}
},
context: void 0 === f ? null : f,
call: function() {
var c;
(c = this.run).call.apply(c, arguments)
}
};
e.set(a, f);
return f
},
setContext: function(a, b) {
if (e.has(a)) {
var f = e.get(a);
null == f.context && (f.context = b)
}
}
}
}).call(this, d(10)["default"], d(4)["default"])
},
function(a, b, d) {
(function(a, g) {
d.d(b, "a", function() {
return t
});
var e = d(11),
h = new a,
m = String.fromCharCode(8226),
f = e.a.captorsConfig.input.PD();
e = f.suspiciosWords;
f = f.placeholderSuspiciousWords;
var c = new RegExp("(" + e.join("|") + ")", "i"),
l = new RegExp("(" + e.concat(f).join("|") + ")", "i"),
t = {
isValidType: function(c) {
return /color|date|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/i.test(c)
},
isValidNode: function(c) {
var a = c.nodeName;
c = c.type;
return "INPUT" === a ? t.isValidType(c) :
/textarea|select|progress/i.test(a)
},
isPrivateInformationField: function(a) {
var f = a.placeholder;
return [a.className, a.id, a.name].reduce(function(a, f) {
return a || c.test(f)
}, !1) || l.test(f)
},
isIgnored: function(c) {
var a = c.className;
return /password/i.test(c.type) || /ym-disable-keys/i.test(a) || g.isHiddenContent(c) ? !0 : !1
},
isRecordable: function(c) {
return this.matchesClass(c.className, "ym-record-keys") ? !0 : !1
},
matchesClass: function(c, a) {
return (new RegExp(a, "i")).test(c)
},
isAllowed: function(c, a) {
void 0 === a && (a = !1);
return a ? !0 === t.isRecordable(c) : !1 === t.isIgnored(c)
},
isChanged: function(c, a) {
var f = !0;
h.has(c) && (f = h.get(c)[0], f = a !== f);
f && h.set(c, [a]);
return f
},
validate: function(c, a) {
void 0 === a && (a = {});
var f = a,
b = f.isEU,
d = f.recording.keysMode;
f = t.isRecordable(c);
var l = t.isPrivateInformationField(c);
b = t.isAllowed(c, "explicit" === d) && (!b || !l);
return {
forceRecord: f,
isPrivate: l,
isAllowed: b
}
},
encode: function(c) {
void 0 === c && (c = "");
return c && 0 < c.length ? c.split(/\n/).map(function(c) {
return g.repeatString(m, c.length)
}).join("\n") :
c
}
}
}).call(this, d(10)["default"], d(4)["default"])
},
function(a, b, d) {
d.r(b);
(function(a, g) {
d.d(b, "Tools", function() {
return l
});
var e = d(11),
h = d(2),
m = d(39),
f = d(3),
c = {
"null": null,
undefined: w,
"true": !0,
"false": !1
},
l = {
delay: function(c, f) {
void 0 === f && (f = 0);
return new a(function(a) {
C(function() {
a(c())
}, f)
})
},
copyText: function(c) {
return new a(function(a) {
var f = q.createElement("textarea"),
b = q.body;
f.value = c;
f.style.opacity = "0";
f.style.position = "absolute";
f.style.top = "-99999px";
f.style.left = "-99999px";
f.onselect =
function() {
try {
f.onselect = null, q.execCommand && q.execCommand("copy"), a()
} catch (aa) {
g.warn("Error while copying text " + c, aa)
}
b.removeChild(f)
};
b.appendChild(f);
f.select()
})
},
globalize: function(c, a) {
"undefined" !== typeof h.a && Object.defineProperty(h.a, a, {
value: c
})
},
guid: function() {
var c = function() {
return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1)
};
return c() + c() + "-" + c() + "-" + c() + "-" + c() + "-" + c() + c() + c()
},
measure: function(c, a, f) {
if (null != a) return "function" === typeof a ? a() : a
},
apiMock: function(c) {
var a = {
properties: [],
methods: []
};
c = c.prototype;
for (var f in c)
if (c.hasOwnProperty(f)) try {
c[f] instanceof Function ? a.methods.push(f) : a.properties.push(f)
} catch (y) {
a.properties.push(f)
}
return a
},
imageUrl: function(c) {
return /^\//.test(c) ? c : [e.a.server.css_path.replace(/([/]+)$/, ""), c].join("/")
},
cast: function(a) {
if (c.hasOwnProperty(a)) return c[a];
var f = Number(a);
return String(f) === a ? f : a
},
"catch": function(c) {
try {
c()
} catch (z) {
return g.warn(z), z
}
},
fetch: m.a,
promise: function(c) {
return (new a(function(a, f) {
c(a, f)
}))["catch"](function(c) {
h.a.console.log(c)
})
},
isNULL: function(c) {
return null == c
},
isFunction: function(c) {
return "function" === typeof c
},
promiseError: function(c) {
h.a.console.log(c);
return a.reject(c)
},
promiseExec: function(c) {
return new a(function(a) {
a(c())
})
},
requestAnimationFrame: function(c) {
var a = f.ObjectUtils.findNativeImplementation("requestAnimationFrame"),
b = f.ObjectUtils.findNativeImplementation("cancelAnimationFrame");
if (a && b) return this.requestAnimationFrame = a.bind(n), this.requestAnimationFrame(c);
this.requestAnimationFrame = a = function(c) {
return C(c,
4)
};
return a(c)
},
cancelAnimationFrame: function(c) {
var a = f.ObjectUtils.findNativeImplementation("requestAnimationFrame"),
b = f.ObjectUtils.findNativeImplementation("cancelAnimationFrame");
a && b ? (this.cancelAnimationFrame = b.bind(n), this.cancelAnimationFrame(c)) : (this.cancelAnimationFrame = function(c) {
clearTimeout(c)
}, clearTimeout(c))
},
throwError: function(c) {
throw Error(c);
},
errorProxy: function(c, a, f) {
void 0 === a && (a = !1);
try {
return c()
} catch (y) {
return n.console.warn("Error while running " + (f || c.name), y),
a
}
}
}
}).call(this, d(23).Promise, d(15)["default"])
},
function(a, b, d) {
var e = d(2),
g = function(a) {
return "undefined" !== typeof Window && a && a.window && a.window === a
},
p = function() {
var a = !1;
if (g(e.a)) try {
e.a.addEventListener("test", function() {}, Object.defineProperties({}, {
passive: {
get: function() {
return a = !0
},
configurable: !0,
enumerable: !0
}
}))
} catch (f) {}
return a
}(),
h = function(a, f, c, b, d) {
void 0 === d && (d = {});
a += "EventListener";
return p ? f[a](c, b, d) : f[a](c, b, "boolean" === typeof d ? d : d.capture || !1)
};
a = function() {
function a() {}
a.on = function(a, c, b, d) {
void 0 === d && (d = {});
return h("add", a, c, b, d)
};
a.off = function(a, c, b, d) {
void 0 === d && (d = {});
return h("remove", a, c, b, d)
};
return a
}();
b.a = a
},
function(a, b, d) {
d.r(b);
a = d(2).a.Symbol;
d = a instanceof Function && a.iterator ? a : d(66);
b["default"] = d
},
function(a, b, d) {
d.r(b);
d.d(b, "Promise", function() {
return e
});
var e = d(2).a.Promise || d(86).Promise
},
function(a, b, d) {
d.r(b);
d.d(b, "StringUtils", function() {
return p
});
var e = d(2),
g = d(1),
p = {
dasherize: function(a) {
return a.replace(/[A-Z]/g, function(b, f) {
var c =
/[A-Z]/g.test(a[f - 1]);
return (0 === f || c ? "" : "-") + b.toLowerCase()
})
},
pad: function(a, b, f, c) {
void 0 === b && (b = 2);
void 0 === f && (f = " ");
void 0 === c && (c = !1);
a = String(a);
b = g.IterableUtils.fill(Array(Math.max(0, Math.min(b - a.length, b))), f);
return c ? "" + a + b.join("") : "" + b.join("") + a
},
stringToBlobURL: function(a, b, f) {
void 0 === f && (f = e.a.location);
var c = function() {
try {
return new Blob([a], {
type: b
})
} catch (z) {
var c = e.a;
c = new(c.BlobBuilder || c.WebKitBlobBuilder || c.MozBlobBuilder || c.MSBlobBuilder);
c.append(a);
return c.getBlob(b)
}
}(),
d = function(c) {
return c ? (c = (URL || webkitURL).createObjectURL(c), /blob:(?!http[s]?).*/.test(c) ? c.replace("blob:", "blob:" + (f.protocol + "//" + f.host) + "/") : c) : w
}(c);
return c ? {
blob: c,
url: d
} : null
},
repeatString: function(a, b) {
void 0 === b && (b = 1);
return Array(b + 1).join(a)
},
parseURL: function(a) {
if (!a) return w;
if ("string" !== typeof a) return e.a.console.warn("URL was expected to be a string", a), w;
var b = a.match(/^(http[s]?|file):\/\/([^/\n]*)([^?\n]*)(\?[^\n]*)?/);
if (b) {
var f = b.slice(1);
b = f[0];
var c = f[1],
d = f[2];
f = f[3];
var h = c ? (c.match(/([^:\s]+)(:[0-9]*)?/) || []).slice(1) : [],
g = h[0];
g = void 0 === g ? w : g;
h = h[1];
h = void 0 === h ? w : h;
var p = g ? (g.match(/\.([^.]+)$/) || [])[1] : w,
k = d ? function() {
var c = d.match(/([^/]+)\.([^/]*)$/);
return c ? c[0] : w
}() : w,
n = d && k ? d.replace("/" + k, "") : d || "/";
return {
protocol: b ? b + ":" : w,
hostname: c,
host: g,
port: (h || "80").replace(/:/, ""),
path: d || "/",
tld: p,
file: k,
pathname: n,
search: f ? f.replace(/^\?/, "") : w,
url: a,
assemble: function(c) {
var a = this;
return c ? c.replace(/(\{([^}]+)\})/g, function() {
return a[2 >= arguments.length ?
w : arguments[2]]
}) : this.url
}
}
}
return w
}
}
},
function(a, b, d) {
(function(a) {
var e = d(8),
p = d(3);
b.a = function(b) {
var d = [];
if (!b) return d;
if (b instanceof Array) return [].slice.call(b, 0);
if (p.ObjectUtils.isNative(e.a.Array.from, "from")) return e.a.Array.from(b);
var f = "length" in b ? b.length : "size" in b ? b.size : 0;
var c = d.slice.call(b, 0);
if (c.length === f) return c;
try {
if (b.forEach) b.forEach(function(c, a) {
var f = c;
a && c && a !== c && (f = [a, c]);
d.push(f)
});
else
for (var l = b[a.iterator](), h, g; h = l.next(), g = h.value, !h.done;) d.push(g);
return d
} catch (D) {
return []
}
}
}).call(this, d(22)["default"])
},
function(a, b, d) {
(function(a) {
var e = d(25),
p = function(a, b, f) {
a.forEach(function(c, a) {
2 === b.length ? f ? b(c, a) : b([c, a]) : b(c)
})
};
b.a = function(b, d) {
var f = 2 === d.length;
if (b && d instanceof Function)
if (null != b[a.iterator])
if (f)
if (b instanceof Array) {
f = 0;
for (var c = b.length; f < c; f++) {
var l = d(f, b[f]);
if (!0 !== l && !1 === l) break
}
} else {
if (b[a.iterator])
for (f = b, c = Array.isArray(f), l = 0, f = c ? f : f[a.iterator]();;) {
if (c) {
if (l >= f.length) break;
var h = f[l++]
} else {
l = f.next();
if (l.done) break;
h = l.value
}
h = d(h[0], h[1]);
if (!0 !== h && !1 === h) break
}
}
else
for (f = b, c = Array.isArray(f), l = 0, f = c ? f : f[a.iterator]();;) {
if (c) {
if (l >= f.length) break;
h = f[l++]
} else {
l = f.next();
if (l.done) break;
h = l.value
}
h = d(h);
if (!0 !== h && !1 === h) break
} else if ("forEach" in b) p(b, d, f);
else if (b instanceof Array)
for (c = Object(e.a)(b), l = 0; l < c.length && (h = c[l], h = f ? d.apply(void 0, h) : d(h), !0 === h || !1 !== h); l++);
}
}).call(this, d(22)["default"])
},
function(a, b, d) {
(function(a, g, p) {
d.d(b, "b", function() {
return z
});
var h = d(0);
h = d.n(h);
var e = d(13),
f = "2d webgl experimental-webgl webgl2 experimental-webgl2 bitmaprenderer".split(" "),
c = function() {
var c = q.createElement("canvas");
c.proxy = !1;
return f.filter(function(a) {
return null != c.getContext(a)
})
}(),
l = new a,
t = HTMLCanvasElement.prototype.getContext,
z = function(c) {
var a = q.createElement("canvas");
a.width = c.width;
a.height = c.height;
a.proxy = !1;
a.getContext("2d").drawImage(c, 0, 0);
return a.toDataURL("image/jpeg")
},
k = function(c) {
c = c.constructor;
if (l.has(c)) return l.has(c);
var a = g.apiMock(c);
l.set(c, a);
return a
};
a = function() {
function a() {}
a.mock = function() {
if (!this.mocked) {
this.mocked = !0;
HTMLCanvasElement.prototype.getContext = function(f) {
var b = t.call(this, f);
if (null !== b) return !1 !== this.proxy && 0 <= c.indexOf(f) && a.update(b), b
};
var b = q.querySelectorAll("canvas");
g.forof(b, function(a) {
g.forof(f, a.getContext.bind(a))
})
}
};
a.remove = function() {
this.mocked && (this.mocked = !1, this.events.off(), HTMLCanvasElement.prototype.getContext = t)
};
a.update = function(c) {
if (!1 === a.proxies.has(c)) {
var f = this,
b = c.canvas,
d = Object.getPrototypeOf(c),
l = k(c);
g.nodeIsRecordable(b) && l.properties && (g.forof(l.properties, function(a) {
var b = Object.getOwnPropertyDescriptor(d, a),
l = g.combine(b);
b.get && (l.get = b.get.bind(c));
b.set && (l.set = function(d) {
f.setterInvoked(c, a, d);
return b.set.call(c, d)
});
Object.defineProperty(c, a, l)
}), g.forof(l.methods, function(a) {
var b = c[a];
Object.defineProperty(c, a, {
configurable: !0,
value: function() {
for (var d = arguments.length, l = Array(d), h = 0; h < d; h++) l[h] = arguments[h];
f.methodInvoked(c, a, l);
return b.bind.apply(b,
[c].concat(l))
}
})
}));
a.proxies.add(c)
}
};
a.setterInvoked = function(c, a, f) {
var b = this;
this.mocked && C(function() {
b.send(c, "setter", {
name: a,
value: String(f)
})
})
};
a.methodInvoked = function(c, a, f) {
var b = this;
this.mocked && C(function() {
f = f.map(function(c) {
return c instanceof Image ? z(c) : String(c)
});
b.send(c, "method", {
name: a,
args: f
})
})
};
a.send = function() {};
return a
}();
h()(a, "proxies", new p);
h()(a, "mocked", !1);
h()(a, "events", new e.a(["setter:memory", "method:memory"]));
b.a = a
}).call(this, d(10)["default"], d(4)["default"],
d(7)["default"])
},
function(a, b, d) {
(function(a, g) {
var e = d(12),
h = d.n(e);
e = d(0);
var m = d.n(e);
e = function() {
function f() {
m()(this, "executionFrameId", null);
m()(this, "jobExecutionStartStamp", null);
this.jobs = [];
this.isRunning = !1
}
var c = f.prototype;
c.push = function(c, f) {
var b, d = this;
void 0 === f && (f = !1);
(b = this.jobs).push.apply(b, [].concat(c));
f ? this.start(!0) : a.requestAnimationFrame(function() {
return d.start(f)
})
};
c.start = function(c) {
void 0 === c && (c = !1);
this.isRunning || this.executeNextJob(c)
};
c.executeNextJob =
function(c) {
void 0 === c && (c = !1);
this.hasJobs && (c ? this._executeJobsSync() : this._executeJobsAsync())
};
c._executeJobsSync = function() {
if (this.hasJobs && this.isRunning) {
for (a.cancelAnimationFrame(this.executionFrameId); this.hasJobs;) this._executeJob();
this.jobExecutionStartStamp = null;
this.isRunning = !1
}
};
c._executeJobsAsync = function() {
var c = this;
if (this.hasJobs) {
this.isRunning = !0;
var f;
this.executionFrameId = a.requestAnimationFrame(function() {
for (; c.hasJobs && (!c.jobExecutionStartStamp || 150 > f);) f = c._executeJob(!c.jobExecutionStartStamp);
c.jobExecutionStartStamp = null;
c._executeJobsAsync()
})
} else this.isRunning = !1
};
c._executeJob = function(c) {
void 0 === c && (c = !0);
c && (this.jobExecutionStartStamp = (new Date).valueOf());
c = this.jobs.shift();
try {
c()
} catch (t) {
g.log("Error occurred when running job"), g.log(t), g.log(c.toString())
}
return (new Date).valueOf() - this.jobExecutionStartStamp
};
h()(f, [{
key: "hasJobs",
get: function() {
return 0 < this.jobs.length
}
}]);
return f
}();
b.a = e
}).call(this, d(4)["default"], d(15)["default"])
},
function(a, b) {
a.exports = function(a,
b) {
if (null == a) return {};
var d = {},
e = Object.keys(a),
h;
for (h = 0; h < e.length; h++) {
var m = e[h];
0 <= b.indexOf(m) || (d[m] = a[m])
}
return d
}
},
function(a, b, d) {
d.d(b, "a", function() {
return e
});
d.d(b, "b", function() {
return g
});
var e = function() {
function a() {
this.m = []
}
var b = a.prototype;
b.use = function(a) {
this.m.push(a)
};
b.useRight = function(a) {
this.m.unshift(a)
};
b.run = function(a, f) {
this._execute(a, f)
};
b._execute = function(a, f) {
this.m.reduceRight(function(c, f) {
return function(b) {
return f(b || a, c)
}
}, function(c) {
return f(c || a)
})(a)
};
return a
}(),
g = function() {
function a() {
this.m = []
}
var b = a.prototype;
b.use = function(a) {
this.m.push(a)
};
b.useRight = function(a) {
this.m.unshift(a)
};
b.run = function(a, f) {
return this._execute(a, f)
};
b._execute = function(a) {
for (var f = 0, c = this.m.length; f < c; f++) {
var b = this.m[f](a);
if (b === w) break;
a = b
}
return a
};
return a
}()
},
function(a, b, d) {
var e = d(76)();
a.exports = function(a) {
return a !== e && null !== a
}
},
function(a, b, d) {
d.r(b);
d.d(b, "BrowserUtils", function() {
return p
});
var e = d(2),
g = d(14),
p = {
isMSIE: function() {
var a = e.a.navigator.userAgent,
b = a.indexOf("MSIE ");
if (0 < b) return parseInt(a.substring(b + 5, a.indexOf(".", b)), 10);
if (0 < a.indexOf("Trident/")) return b = a.indexOf("rv:"), parseInt(a.substring(b + 3, a.indexOf(".", b)), 10);
b = a.indexOf("Edge/");
return 0 < b ? parseInt(a.substring(b + 5, a.indexOf(".", b)), 10) : !1
},
isIframe: function(a) {
return a.top !== a
},
isMobile: function(a) {
a = a || n && n.navigator ? navigator.userAgent : null;
if (null == a) return !1;
var b = !1;
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) ||
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(a.substr(0,
4))) b = !0;
return b
},
isAndroid: function() {
return /android/i.test(navigator.userAgent)
},
isIOS: function() {
return /ipad|iphone|ipod/i.test(navigator.userAgent)
},
orientation: function(a) {
a = a || e.a;
return null != a ? a : (a = a.screen.orientation || a.screen.mozOrientation || a.screen.msOrientation) && a.angle || 0
},
devicePixelRatio: function() {
return e.a.devicePixelRatio || 1
},
meta: function(a) {
return (a = q.querySelector('meta[name\x3d"ym:' + a + '"]')) ? a.content : null
},
scaleFactor: function(a, b) {
var f = a.clientWidth,
c = a.clientHeight,
d = b.clientWidth,
e = b.clientHeight;
return d > f || e > c ? (f /= d, c /= e, Math.min(1, Math.max(f > c ? .1 : .35, Math.min(f, c)))) : 1
},
viewportGetter: function(a) {
a = a || n.document;
var b = a.defaultView,
f = function(c) {
/Trident|MSIE/.test(n.navigator.userAgent) ? a.body.parentNode && a.body.parentNode.appendChild(c) : a.body.appendChild(c)
},
c = a.querySelector("ym-measure.ym-viewport"),
d = a.querySelector("ym-measure.ym-zoom");
null === c && (c = g.DOMUtils.createElement("ym-measure", {
className: "ym-viewport",
style: {
display: "block",
top: 0,
right: 0,
bottom: 0,
left: 0,
position: "fixed",
transform: "translate(0, -100%)",
msTransform: "translate(0, -100%)",
webkitTransform: "translate(0, -100%)",
transformOrigin: "0 0",
msTransformOrigin: "0 0",
webkitTransformOrigin: "0 0"
}
}), f(c));
null === d && (d = g.DOMUtils.createElement("ym-measure", {
className: "ym-zoom",
style: {
bottom: "100%",
position: "fixed",
width: "100vw"
}
}), f(d));
return Object.defineProperties({
getSize: function(a) {
void 0 === a && (a = 1);
var f = c;
return {
width: Math.round(f.clientWidth * a),
height: Math.round(f.clientHeight *
a)
}
}
}, {
zoomLevel: {
get: function() {
return parseFloat((d.clientWidth / b.innerWidth).toFixed(3))
},
configurable: !0,
enumerable: !0
},
scrollingElement: {
get: function() {
return a.scrollingElement || (a.documentElement.scrollHeight > a.body.scrollHeight && 0 === a.compatMode.indexOf("CSS1") ? a.documentElement : a.body)
},
configurable: !0,
enumerable: !0
},
orientation: {
get: function() {
var a = da ? da.orientation || da.mozOrientation || da.msOrientation : null;
return a && a.angle || 0
},
configurable: !0,
enumerable: !0
}
})
}
}
},
function(a, b, d) {
d.r(b);
d.d(b, "NumberUtils", function() {
return e
});
var e = {
size: function(a, b) {
void 0 === b && (b = "kb");
switch (b.toLowerCase()) {
case "b":
case "byte":
case "bytes":
return a;
case "kb":
case "kilobyte":
case "kilobytes":
return a * this.size(1024, "bytes");
case "mb":
case "megabyte":
case "megabytes":
return a * this.size(1024, "kilobytes");
case "gb":
case "gigabyte":
case "gigabytes":
return a * this.size(1024, "megabytes");
case "tb":
case "terabyte":
case "terabytes":
return a * this.size(1024, "gigabytes")
}
},
bytesToSize: function(a) {
if (0 ===
a) return "0 Byte";
var b = parseInt(Math.floor(Math.log(a) / Math.log(1024)), 10);
return Math.round(a / Math.pow(1024, b), 2) + " " + ["Bytes", "KB", "MB", "GB", "TB"][b]
},
closestNumber: function(a, b) {
return a.length ? a.reduce(function(a, d) {
return Math.abs(d - b) < Math.abs(a - b) ? d : a
}) : null
}
}
},
function(a, b, d) {
d.r(b);
d.d(b, "DocumentUtils", function() {
return g
});
var e = function(a) {
return a ? "IFRAME" === a.nodeName ? a.contentDocument : a : null
},
g = {
open: function(a) {
(a = e(a)) && a.open()
},
write: function(a, b) {
var d = e(a);
d && d.write(b)
},
close: function(a) {
(a =
e(a)) && a.close()
},
initDocument: function(a) {
var b = void 0 === a ? {} : a;
a = b.html;
var d = b.doctype;
d = void 0 === d ? "\x3c!DOCTYPE html\x3e" : d;
b = b.doc || q.cloneNode(!1);
this.open(b);
this.write(b, a || d + "\x3chtml\x3e\x3chead\x3e\x3c/head\x3e\x3cbody\x3e\x3c/body\x3e\x3c/html\x3e");
this.close(b);
return b
}
}
},
function(a, b, d) {
d.r(b);
d.d(b, "FunctionUtils", function() {
return e
});
var e = {
invoke: function(a, b, d) {
void 0 === b && (b = []);
return "function" === typeof a ? (d && (a = a.bind(d)), a.apply(void 0, b)) : a
},
lazy: function(a, b) {
void 0 ===
b && (b = 0);
var d;
return function() {
for (var e = arguments.length, f = Array(e), c = 0; c < e; c++) f[c] = arguments[c];
clearTimeout(d);
d = C(function() {
a.apply(void 0, f)
}, b)
}
},
once: function(a) {
var b = function() {
var d = a.apply(void 0, arguments);
b = function() {
return d
};
return d
};
return function() {
return b.apply(void 0, arguments)
}
},
noop: function() {
return function() {}
},
toFunction: function(a) {
return "function" === typeof a ? a : this.noop()
},
repeat: function(a, b) {
var d = void 0 === b ? {} : b,
e = d.context,
f = void 0 === e ? null : e;
e = d.args;
var c =
void 0 === e ? [] : e;
e = d.delay;
var l = void 0 === e ? 0 : e;
d = d.raf;
d = void 0 === d ? !0 : d;
var g = Date.now(),
p = !1,
k = null,
y = d ? this.requestAnimationFrame.bind(this) : C,
n = d ? this.cancelAnimationFrame.bind(this) : clearTimeout;
d = function A() {
p ? n(k) : (Date.now() - g >= l && (g = Date.now(), a.apply(f, c)), k = y(A))
};
d.stop = function() {
p = !0
};
d();
return d
}
}
},
function(a, b, d) {
d.r(b);
d.d(b, "TimeUtils", function() {
return g
});
a = d(38);
var e = d(24),
g = {
now: function() {
return (new Date).getTime()
},
formatTime: function(a, b) {
void 0 === b && (b = !0);
a = Number(a);
return [Math.floor(a / 3600), Math.floor(a / 60 % 60), Math.floor(a % 60)].filter(function(a, f) {
return !(0 === a && 0 === f)
}).map(function(a, f) {
return e.StringUtils.pad(a, 0 !== f || b ? 2 : 0, "0")
})
},
formattedTime: function(a, b, d) {
void 0 === b && (b = ["sec", "min", "hours"]);
void 0 === d && (d = !0);
var f = g.formatTime(a, d).reverse();
return b.reduce(function(a, b, d) {
f[d] && parseInt(f[d], 10) && a.push(parseInt(f[d], 10) + " " + b);
return a
}, []).reverse().join(" ")
},
timer: a.a
}
},
function(a, b) {
function d() {
throw Error("setTimeout has not been defined");
}
function e() {
throw Error("clearTimeout has not been defined");
}
function g(a) {
if (t === C) return C(a, 0);
if ((t === d || !t) && C) return t = C, C(a, 0);
try {
return t(a, 0)
} catch (ia) {
try {
return t.call(null, a, 0)
} catch (sa) {
return t.call(this, a, 0)
}
}
}
function p(a) {
if (z === clearTimeout) return clearTimeout(a);
if ((z === e || !z) && clearTimeout) return z = clearTimeout, clearTimeout(a);
try {
return z(a)
} catch (ia) {
try {
return z.call(null, a)
} catch (sa) {
return z.call(this, a)
}
}
}
function h() {
y && n && (y = !1, n.length ? k = n.concat(k) : O = -1, k.length &&
m())
}
function m() {
if (!y) {
var a = g(h);
y = !0;
for (var c = k.length; c;) {
n = k;
for (k = []; ++O < c;) n && n[O].run();
O = -1;
c = k.length
}
n = null;
y = !1;
p(a)
}
}
function f(a, c) {
this.fun = a;
this.array = c
}
function c() {}
var l = a.exports = {};
try {
var t = "function" === typeof C ? C : d
} catch (A) {
t = d
}
try {
var z = "function" === typeof clearTimeout ? clearTimeout : e
} catch (A) {
z = e
}
var k = [],
y = !1,
n, O = -1;
l.nextTick = function(a) {
var c = Array(arguments.length - 1);
if (1 < arguments.length)
for (var b = 1; b < arguments.length; b++) c[b - 1] = arguments[b];
k.push(new f(a, c));
1 !==
k.length || y || g(m)
};
f.prototype.run = function() {
this.fun.apply(null, this.array)
};
l.title = "browser";
l.browser = !0;
l.env = {};
l.argv = [];
l.version = "";
l.versions = {};
l.on = c;
l.addListener = c;
l.once = c;
l.off = c;
l.removeListener = c;
l.removeAllListeners = c;
l.emit = c;
l.prependListener = c;
l.prependOnceListener = c;
l.listeners = function(a) {
return []
};
l.binding = function(a) {
throw Error("process.binding is not supported");
};
l.cwd = function() {
return "/"
};
l.chdir = function(a) {
throw Error("process.chdir is not supported");
};
l.umask =
function() {
return 0
}
},
function(a, b, d) {
(function(a, d) {
var e = function() {
if ("undefined" !== typeof n) return n;
if ("undefined" !== typeof global) return global;
if ("undefined" !== typeof self) return self
}(),
h = function() {
return Date.now()
},
g = function(c) {
return c ? (c = this._getTime() - c, 0 > c && a.warn("Invalid stamp: " + c), c) : 0
},
f = function(a, f) {
var c;
(c = e.console).log.apply(c, a.concat([f + "ms"]))
};
b.a = function(a) {
void 0 === a && (a = {});
var c = a.getStamp || g,
b = a.printLog || f,
d = {
start: function() {
var a = this._getTime();
this._initializedAt =
this._initializedAt || a;
this._startedAt = a;
return d
},
stamp: function() {
return this._getStamp(this._startedAt)
},
stampSinceCreated: function() {
return this._getStamp(this._initializedAt)
},
reset: function() {
return this.start()
},
log: function() {
for (var a = arguments.length, c = Array(a), f = 0; f < a; f++) c[f] = arguments[f];
b(c, this.stamp());
return this
},
logSinceCreated: function() {
for (var a = arguments.length, c = Array(a), f = 0; f < a; f++) c[f] = arguments[f];
b(c, this.stampSinceCreated());
return this
}
};
Object.defineProperties(d, {
_getTime: {
value: (a.getTime ||
h).bind(d)
},
_getStamp: {
value: c.bind(d)
}
});
return d
}
}).call(this, d(15)["default"], d(37))
},
function(a, b, d) {
(function(a) {
var e = d(34),
p = d(3),
h = d(17);
b.a = function(b) {
var f = p.ObjectUtils.assign({
url: "",
headers: {},
method: "get",
type: "json",
data: null
}, b);
if (b.headers === w || b.headers["Content-Type"] === w) f.headers = f.headers || {}, f.headers["Content-Type"] = function() {
switch (f.type) {
case "json":
return "application/json";
case "css":
return "text/css";
case "html":
return "text/html";
default:
return "text/plain"
}
}();
return (new a(function(a,
b) {
var c = new XMLHttpRequest,
d = new FileReader;
"css" === f.type && (c.responseType = "blob");
c.addEventListener("readystatechange", function() {
var l = c.status;
4 === c.readyState && (200 <= l && 301 > l ? "css" === f.type ? (d.addEventListener("load", function(c) {
a({
result: d.result,
error: null
})
}), d.readAsText(c.response)) : (l = function(a) {
switch (f.type) {
case "json":
return JSON.parse(a);
case "html":
return e.DocumentUtils.initDocument({
html: a
});
default:
return a
}
}(c.responseText), a({
result: l,
error: null
})) : b(Error(l + " " + c.statusText)))
});
c.addEventListener("error", b);
c.open(f.method.toUpperCase(), f.url);
Object(h.a)(f.headers, function(a, f) {
c.setRequestHeader(a, f)
});
c.send(f.data ? JSON.stringify(f.data) : w)
}))["catch"](function(a) {
return {
result: null,
error: a
}
})
}
}).call(this, d(23).Promise)
},
function(a, b, d) {
function e() {
if ("undefined" === typeof Reflect || !Reflect.construct || Reflect.construct.sham) return !1;
if ("function" === typeof Proxy) return !0;
try {
return Date.prototype.toString.call(Reflect.construct(Date, [], function() {})), !0
} catch (h) {
return !1
}
}
function g(b, d, f) {
e() ? a.exports = g = Reflect.construct : a.exports = g = function(a, f, b) {
var c = [null];
c.push.apply(c, f);
a = new(Function.bind.apply(a, c));
b && p(a, b.prototype);
return a
};
return g.apply(null, arguments)
}
var p = d(88);
a.exports = g
},
function(a, b, d) {
(function(a, g) {
var e = d(6),
h = d.n(e),
m = d(19),
f = new a,
c = {
input: {
capture: !0,
passive: !0
},
change: {
capture: !0
},
keyup: {
capture: !0
},
paste: {
capture: !0
},
cut: {
capture: !0
}
};
b.a = {
inputs: {},
events: {},
create: function(a) {
var b = this;
this.checkInpudDescriptorOverrideAbility =
this.checkInpudDescriptorOverrideAbility.bind(this);
this.handleInputValueChange = this.handleInputValueChange.bind(this);
this.handleInputChangeValueEvent = this.handleInputChangeValueEvent.bind(this);
this.handleNodeIndex = this.handleNodeIndex.bind(this);
this.handleNodeRemoval = this.handleNodeRemoval.bind(this);
this.recorder = a;
this.checkInpudDescriptorOverrideAbility() && (a.indexer.dom.forEach(function(a) {
b.handleNodeIndex(a)
}), a.indexer.on("add", this.handleNodeIndex), a.indexer.on("remove", this.handleNodeRemoval));
g.forin(c, function(d) {
f.add(a.attachEvent(a.document, d, b.handleInputChangeValueEvent, c[d]))
})
},
handleNodeIndex: function(a) {
if (m.a.isValidNode(a.nativeNode) && "__ym_input_override_test" !== a.nativeNode.getAttribute("class")) {
var c = a.nativeNode,
f = a.id,
b = "radio" === a.attributes.type || "checkbox" === a.attributes.type;
a = this.getPropertyName(b);
this.inputs[f] = {
checkable: b,
value: c[a]
};
b = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(c), a) || {};
var d = Object.getOwnPropertyDescriptor(c, a) || {},
l = h()({}, b, d);
if (g.isNative(l.set, "(set)?")) {
var e = this;
try {
Object.defineProperty(c, a, h()({}, l, {
configurable: !0,
set: function(a) {
e.handleInputValueChange(f, a, this);
return l.set.call(this, a)
}
}))
} catch (A) {
delete this.inputs[f]
}
}
}
},
handleInputChangeValueEvent: function(a) {
a = a.target;
var c = this.recorder.indexer.getNodeId(a);
if (this.inputs[c]) {
var f = this.getPropertyName(this.inputs[c].checkable);
this.handleInputValueChange(c, a[f], a)
}
},
handleInputValueChange: function(a, c, f) {
var b = this.inputs[a],
d = b.checkable;
if (c !== b.value) {
if (d) f =
this.recorder._getEventObject("change", a, {
checked: c
});
else {
var l = m.a.validate(f, this.recorder.options);
b = l.forceRecord;
var e = l.isPrivate;
l = l.isAllowed || b ? c : m.a.encode(c);
f = this.recorder._getEventObject("change", f, {
value: l,
hidden: e && !b
})
}
this.inputs[a] = {
checkable: d,
value: c
};
this.recorder._publishActions(f)
}
},
handleNodeRemoval: function(a) {
a.nativeNode && "__ym_input_override_test" === a.nativeNode.getAttribute("class") || delete this.inputs[a.id]
},
getPropertyName: function(a) {
return a ? "checked" : "value"
},
checkInpudDescriptorOverrideAbility: function() {
var a = !0,
c = n.document.createElement("input");
c.value = "INPUT_VALUE";
c.setAttribute("style", "display: none !important;");
c.setAttribute("type", "text");
c.setAttribute("class", "__ym_input_override_test");
n.document.documentElement.appendChild(c);
try {
var f = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(c), "value") || {},
b = Object.getOwnPropertyDescriptor(c, "value") || {},
d = h()({}, f, b);
Object.defineProperty(c, "value", h()({}, d, {
configurable: !0,
set: function(a) {
return d.set.call(c, a)
}
}));
"INPUT_VALUE" !== c.value &&
(a = !1);
c.value = "INPUT_TEST";
"INPUT_TEST" !== c.value && (a = !1)
} catch (aa) {
a = !1
}
n.document.documentElement.removeChild(c);
return a
},
destroy: function(a) {
var c = this;
Object.keys(this.inputs).forEach(function(f) {
var b = a.indexer.findByID(f);
if (b) {
f = c.getPropertyName(c.inputs[f].checkable);
var d = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(b), f);
Object.defineProperty(b, f, d)
}
});
Object.keys(this.events).forEach(function(f) {
a.removeEvent(c.events[f])
});
a.indexer.off("add", this.handleNodeIndex);
a.indexer.off("remove",
this.handleNodeRemoval)
}
}
}).call(this, d(7)["default"], d(4)["default"])
},
function(a, b, d) {
(function(a, g) {
var e = d(18),
h = {
mousemove: {
capture: !0,
passive: !0,
lazy: 5
},
mousedown: {
capture: !0
},
mouseup: {
capture: !0
},
click: {
capture: !0
}
},
m = new a,
f = function(a) {
var c = a.object;
a = a.args[0];
var f = c.type,
b = c.target,
d = c.pageX,
l = c.pageY,
e = c.clientX;
e = void 0 === e ? null : e;
c = c.clientY;
c = void 0 === c ? null : c;
b = this.document.elementFromPoint(void 0 === d ? null : d, void 0 === l ? null : l) || b;
a = this._getEventObject(f, b, {
x: e,
y: c
}, a);
this._publishActions(a)
},
c = e.a.create(f, {
timeout: 0
}),
l = function(a) {
var b = this.stamp;
"mousemove" === a.type ? c.call(this, a, b) : f.call(this, {
object: a,
args: [b]
})
};
b.a = {
create: function(a) {
var c = a._universalHandler(l);
g.forin(h, function(f) {
m.add(a.attachEvent(a.document, f, c, h[f]))
})
},
destroy: function(a) {
g.forof(m, function(c) {
return a.removeEvent(c)
});
m.clear()
}
}
}).call(this, d(7)["default"], d(4)["default"])
},
function(a, b, d) {
(function(a, d) {
var e = {
focus: {
capture: !0
},
blur: {
capture: !0
}
},
h = new a,
g = function(a) {
a = this._getEventObject(a.type,
a.target);
this._publishActions(a)
};
b.a = {
create: function(a) {
var c = a._universalHandler(g);
d.forin(e, function(f) {
h.add(a.attachEvent(a.document, f, c, e[f]))
})
},
destroy: function(a) {
d.forof(h, function(c) {
return a.removeEvent(c)
});
h.clear()
}
}
}).call(this, d(7)["default"], d(4)["default"])
},
function(a, b, d) {
(function(a) {
var d, e = function(b, d) {
var f = this,
c = a.now();
this._blockUpcomingCaptor("resize");
this._executeCaptor("deviceRotation", function() {
C(function() {
var l = a.now() - c;
f._publishActions(d.getValue.call(f,
b, l))
}, 300)
})
};
b.a = {
getValue: function(a, b) {
var f = this.viewport.getSize(1);
f = this._getEventObject("deviceRotation", 0, {
width: f.width,
height: f.height,
orientation: this.viewport.orientation
});
f.stamp -= b;
return f
},
create: function(a) {
d = a.attachEvent(a.window, "orientationchange", a._universalHandler(e, {
extra: [this]
}), {
passive: !0
})
},
destroy: function(a) {
a.removeEvent(d)
}
}
}).call(this, d(4)["default"])
},
function(a, b, d) {
(function(a, g) {
var e = d(18),
h, m = new a,
f = function(a) {
var c = a.args[0],
f = this.viewport.scrollingElement,
b = this.document,
d = this.window;
a = a.object.target;
b = a === d || a === b ? d : a;
d = g.getScroll(b);
c = this._getEventObject("scroll", b, {
x: Math.max(d.left, 0),
y: Math.max(d.top, 0),
page: b === f || b === n || b === q
}, c);
this._publishActions(c)
},
c = function(a) {
var c = a.target;
if (m.has(c)) c = m.get(c);
else {
var b = e.a.create(f, {
timeout: g.isAndroid() ? 0 : 100,
immediateFirstRun: !0
});
m.set(c, b);
c = b
}
c.call(this, a)
};
b.a = {
create: function(a) {
var f = a._universalHandler(c);
h = a.attachEvent(a.document, "scroll", f.bind(a), {
capture: !0,
passive: !0
})
},
destroy: function(a) {
a.removeEvent(h);
m.clear()
}
}
}).call(this, d(10)["default"], d(4)["default"])
},
function(a, b, d) {
(function(a, d) {
var e = {
mousemove: {
capture: !0,
passive: !0,
lazy: 5
},
touchmove: {
capture: !0,
passive: !0,
lazy: 5
},
mousedown: {
capture: !0
},
touchdown: {
capture: !0
}
},
h = new a,
g = !1,
f = function(a) {
var c = "select" === a.type ? this.selection.getSelectionFor(a.target) : this.selection.getPageSelection();
c && c.start !== c.end && -1 !== ["mousemove", "touchmove", "touchdown"].indexOf(a.type) ? (g = !0, a = this._getEventObject("selection", "select" === a.type ? a.target : this.rootNode,
c), this._publishActions(a)) : g && -1 !== ["mousedown", "touchmove", "touchdown"].indexOf(a.type) && (g = !1, a = this._getEventObject("selection", null, {
start: 0,
end: 0
}), this._publishActions(a))
};
b.a = {
create: function(a) {
var c = a._universalHandler(function(c) {
("mousemove" === c.type && 1 === c.which || -1 !== ["mousedown", "touchmove", "touchdown"].indexOf(c.type)) && f.call(a, c)
});
d.forin(e, function(f) {
h.add(a.attachEvent(a.document, f, c, e[f]))
})
},
destroy: function(a) {
d.forof(h, function(c) {
return a.removeEvent(c)
})
}
}
}).call(this,
d(7)["default"], d(4)["default"])
},
function(a, b, d) {
(function(a, g, p) {
var e = d(18),
m = {
touchmove: {
capture: !0,
passive: !0
},
touchstart: {
capture: !0
},
touchend: {
capture: !0
},
touchcancel: {
capture: !0
},
touchforcechange: {
capture: !0
}
},
f = new a,
c = new g,
l = !1,
t = function(a) {
var c = a.object;
a = a.args[0];
var f = c.type,
b = p.map(c.changedTouches, function(a) {
return {
id: a.__id,
x: Math.round(a.clientX),
y: Math.round(a.clientY),
force: a.force
}
});
c = this._getEventObject(f, c.target, {
touches: b
}, a);
this._publishActions(c)
},
z = e.a.create(t, {
timeout: p.isAndroid() ? 0 : 300
}),
k = function(a) {
var f = this.stamp,
b = "touchcancel" === a.type || "touchend" === a.type;
a.changedTouches && 0 < a.changedTouches.length && p.forof(a.changedTouches, function(a) {
var f = void 0 === b ? !1 : b;
if (c.has(a.identifier)) var d = c.get(a.identifier);
else d = p.guid(), c.set(a.identifier, d);
f && c["delete"](a.identifier);
a.__id = d
});
"touchmove" === a.type ? l ? t.call(this, {
object: a,
args: [f]
}) : z.call(this, a, f) : t.call(this, {
object: a,
args: [f]
})
};
b.a = {
create: function(a) {
var c = a._universalHandler(k);
p.forin(m,
function(b) {
f.add(a.attachEvent(a.document, b, c, m[b]))
});
var b = null,
d = a._universalHandler(function() {
clearTimeout(b);
l = !0;
b = C(function() {
return l = !1
}, 150)
});
f.add(a.attachEvent(q, "scroll", d, {
passive: !0,
capture: !0
}))
},
destroy: function(a) {
p.forof(f, function(c) {
return a.removeEvent(c)
});
f.clear()
}
}
}).call(this, d(7)["default"], d(10)["default"], d(4)["default"])
},
function(a, b, d) {
(function(a, d) {
var e = new a,
h = [],
g = null,
f = function() {
var a = this,
f = this.stamp,
b = this.viewport.zoomLevel;
if (this.zoomLevel !== b) {
clearTimeout(g);
var e = d.scrollingElement(),
m = e.scrollLeft;
e = e.scrollTop;
this.zoomLevel = b;
h.push([f, b, m, e]);
g = C(function() {
var c = h[0],
f = h[h.length - 1],
b = f[0];
c = a._getEventObject("zoom", 0, {
zoomFrom: {
level: c[1],
x: c[2],
y: c[3]
},
zoomTo: {
level: f[1],
x: f[2],
y: f[3]
},
duration: b - c[0]
}, b);
h.length = 0;
a._publishActions(c)
}, 100)
}
};
b.a = {
create: function(a) {
a = a._universalHandler(f);
this.captor = d.repeat(a)
},
destroy: function() {
this.captor.stop();
e.clear()
}
}
}).call(this, d(7)["default"], d(4)["default"])
},
function(a, b, d) {
(function(a, d) {
var e,
h = "undefined" !== typeof q.hidden ? {
hidden: "hidden",
event: "visibilitychange"
} : "undefined" !== typeof q.msHidden ? {
hidden: "msHidden",
event: "msvisibilitychange"
} : "undefined" !== typeof q.webkitHidden ? {
hidden: "webkitHidden",
event: "webkitvisibilitychange"
} : null,
g = h ? (e = {}, e[h.event] = {
capture: !0
}, e) : {
focus: {
capture: !0
},
blur: {
capture: !0
}
},
f = {
focus: "windowfocus",
blur: "windowblur"
},
c = new a,
l = function(a) {
a = h ? this._getEventObject(f[q[h.hidden] ? "blur" : "focus"], n) : this._getEventObject(f[a.type], n);
this._publishActions(a)
};
b.a = {
create: function(a) {
var f = a._universalHandler(l);
d.forin(g, function(b) {
c.add(a.attachEvent(a.window, b, f, g[b]))
})
},
destroy: function(a) {
d.forof(c, function(c) {
return a.removeEvent(c)
});
c.clear()
}
}
}).call(this, d(7)["default"], d(4)["default"])
},
function(a, b, d) {
(function(a) {
var e = d(12),
p = d.n(e);
e = d(5);
var h = d.n(e);
e = d(16);
var m = d.n(e);
e = d(0);
var f = d.n(e);
e = d(13);
var c = d(51),
l = d(28),
t = d(9);
e = function(b) {
function d(d, e) {
var g = b.call(this) || this;
f()(h()(g), "IGNORE_NODE_ATTRIBUTE", "__ym_wv_ign");
f()(h()(g),
"eventsList", ["mutation"]);
g.indexer = e;
g.originalHTML = g.indexer.html;
g.target = d;
g.watcher = new c.a(g.target);
g.queue = new l.a;
g._timer = a.timer();
g.watcher.on("mutation", g.collectMutations.bind(h()(g)));
return g
}
m()(d, b);
var e = d.prototype;
e.addChanges = function(c, f) {
for (var b = arguments.length, d = Array(2 < b ? b - 2 : 0), e = 2; e < b; e++) d[e - 2] = arguments[e];
if (null != c[f] && 0 < d.length) {
var l, h = c[f].length;
a.fastIterate(d, function(a, c) {
return c.i = h + a
});
c[f] = (l = c[f]).concat.apply(l, d)
}
};
e.collectMutations = function(a) {
var c =
this;
this.queue.push(function() {
var f = c.processMutations(a);
f.hasData && c.emit("mutation", f.store)
})
};
e.destroy = function() {
this.queue.start(!0);
this.off();
this.watcher.off();
this.watcher.stop()
};
e.cleanChangesObject = function(c) {
a.forin(c, function(a) {
0 === c[a].length && delete c[a]
});
return c
};
e.initObserver = function() {
this.initObserver = a.noop();
this.watcher.start();
this._timer.start()
};
e.processMutations = function(c) {
var f = this,
b = !1,
d = [];
a.fastIterate(c, function(a, c) {
if (c.target.parentNode && !t.c.isIgnoredNode(c.target.parentNode)) {
var e =
f.changesObject;
!1 !== function() {
var a = c.type,
b = c.target,
d = f.indexer.getIndexedNodeId(b);
if (null == d) return !1;
b = [c, d, b, e];
switch (a) {
case "childList":
return f.processTreeChanges.apply(f, b);
case "attributes":
return f.processAttributesChanges.apply(f, b);
case "characterData":
return f.processContentChanges.apply(f, b)
}
}() && (b = !0, d.push(f.cleanChangesObject(e)))
}
});
return {
store: d,
hasData: b
}
};
e.combineMutations = function(c, f) {
return a.reduce(Object.keys(f), function(a, c) {
var b;
null == a[c] && (a[c] = []);
a[c] = (b = a[c]).concat.apply(b,
f[c]);
return a
}, c)
};
e.processTreeChanges = function(c, f, b, d) {
var e = this,
l = c.nextSibling,
h = c.previousSibling;
b = c.meta;
c = b.addedNodes;
b = b.removedNodes;
b = void 0 === b ? [] : b;
var g = [],
m = [];
a.fastIterate(void 0 === c ? [] : c, function(c, b) {
e.indexer.reindexNodeTree(b, {
parentID: f,
callback: function(c, f) {
if (c) {
var d = a.combine({
id: c.id,
pa: c.parent,
nm: c.name
}, f === b && {
pr: e.getIDForNode(h),
nx: e.getIDForNode(l)
});
c.content && (d.ct = c.content);
c.namespace && (d.ns = c.namespace);
d.at = t.c.getAttributes(c.nativeNode);
g.push(d)
}
}
})
});
a.fastIterate(b, function(a, c) {
var b = {
id: e.indexer.removeNodeTree(c),
pa: f,
pr: e.getIDForNode(h),
nx: e.getIDForNode(l)
};
b.id && m.push(b)
});
if (0 === g.length && 0 === m.length) return !1;
this.addChanges.apply(this, [d, "a"].concat(m));
this.addChanges.apply(this, [d, "b"].concat(g))
};
e.processAttributesChanges = function(a, c, f, b) {
var d, e = a.meta;
a = e.name;
f = e.oldValue;
e = e.newValue;
this.addChanges(b, "c", {
id: c,
at: (d = {}, d[a] = {
n: e,
o: f
}, d)
})
};
e.processContentChanges = function(a, c, f, b) {
this.addChanges(b, "d", {
id: c,
ct: {
n: a.meta.newValue,
o: a.meta.oldValue
}
})
};
e.getIDForNode = function(a) {
if (a) {
var c = this.indexer.getNodeId(a);
if (null != c) return c;
this.indexer.reindexNodeTree(a);
return this.indexer.getNodeId(a)
}
};
p()(d, [{
key: "changesObject",
get: function() {
return {
a: [],
b: [],
c: [],
d: []
}
}
}, {
key: "html",
get: function() {
return this.originalHTML
}
}]);
return d
}(e.a);
b.a = e
}).call(this, d(4)["default"])
},
function(a, b, d) {
(function(a, g) {
var e = d(5),
h = d.n(e);
e = d(16);
var m = d.n(e);
e = d(0);
var f = d.n(e),
c = d(9);
e = function(b) {
function d(a) {
var c = b.call(this) ||
this;
f()(h()(c), "eventsList", ["mutation"]);
c.paused = !0;
c.element = a;
c.document = a.ownerDocument;
c.observer = null;
c.initMutationObserver();
return c
}
m()(d, b);
var e = d.prototype;
e.start = function() {
this.observer.observe(this.element, {
childList: !0,
attributes: !0,
characterData: !0,
subtree: !0,
attributeOldValue: !0,
characterDataOldValue: !0
})
};
e.stop = function() {
this.observer.disconnect()
};
e.initMutationObserver = function() {
var a = this;
this.observer = new MutationObserver(function() {
try {
for (var c = arguments.length, f = Array(c),
b = 0; b < c; b++) f[b] = arguments[b];
a.processMutations.apply(a, f)
} catch (A) {}
})
};
e.processMutations = function(c) {
var f = this;
c = a.toArray(c);
var b = {
added: new g,
removed: new g
};
c = a.reduceRight(c, function(a, c) {
var d = c.type,
e = c.target,
l = f.collectSummary(d, e, b, c);
null != l && a.unshift({
target: e,
type: d,
meta: l,
nextSibling: c.nextSibling,
previousSibling: c.previousSibling
});
return a
}, []);
0 < c.length && this.emit("mutation", c);
b.added.clear();
b.removed.clear()
};
e.collectSummary = function(f, b, d, e) {
switch (f) {
case "childList":
b =
a.reduce(e.addedNodes, function(a, f) {
!1 === d.added.has(f) && (a.push(f), c.c.walk(f, function(a) {
return d.added.add(a)
}));
return a
}, []);
e = a.reduce(e.removedNodes, function(a, f) {
!1 === d.removed.has(f) && (a.push(f), c.c.walk(f, function(a) {
return d.removed.add(a)
}));
return a
}, []);
if (0 < b.length || 0 < e.length) return {
addedNodes: b,
removedNodes: e
};
break;
case "attributes":
f = e.attributeName;
e = e.oldValue;
var l = b.getAttribute(f);
if (e !== l) return {
name: f,
oldValue: c.c.normalizeAttributeValue(b, f, e),
newValue: c.c.normalizeAttributeValue(b,
f, l)
};
break;
case "characterData":
if (e = e.oldValue, b = b.textContent, b !== e) return {
oldValue: e,
newValue: b
}
}
};
return d
}(d(13).a);
b.a = e
}).call(this, d(4)["default"], d(7)["default"])
},
function(a, b, d) {
(function(a) {
var e = d(16),
p = d.n(e);
e = function(b) {
function d(c) {
void 0 === c && (c = []);
var f = b.call(this) || this;
a.fastIterate(c, function(a, c) {
f.use(c)
});
return f
}
p()(d, b);
var f = d.prototype;
f.main = function(a, f) {
"function" === typeof f && f()
};
f.send = function(a) {
this.run(a, this.main.bind(this))
};
return d
}(d(30).a);
b.a = e
}).call(this,
d(4)["default"])
},
function(a, b, d) {
a = d(0);
var e = d.n(a),
g = d(2);
d = function() {
function a(a) {
var f = this;
e()(this, "_options", {
checkOnLoad: !1,
resetOnEnd: !1,
loopCheckTime: 50,
loopMaxNumber: 5,
baitClass: "adsbygoogle yap-reset ya_partner",
baitStyle: "width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;",
debug: !1
});
e()(this, "_var", {
version: "3.2.1",
bait: null,
checking: !1,
loop: null,
loopNumber: 0,
event: {
detected: [],
notDetected: []
}
});
a !== w &&
this.setOption(a);
a = function() {
C(function() {
!0 === f._options.checkOnLoad && (!0 === f._options.debug && f._log("onload-\x3eeventCallback", "A check loading is launched"), null === f._var.bait && f._creatBait(), C(function() {
f.check()
}, 1))
}, 1)
};
g.a.addEventListener !== w ? g.a.addEventListener("load", a, !1) : g.a.attachEvent("onload", a)
}
var b = a.prototype;
b._log = function() {};
b.setOption = function(a, f) {
if (f !== w) {
var c = a;
a = {};
a[c] = f
}
for (var b in a) this._options[b] = a[b], !0 === this._options.debug && this._log("setOption", 'The option "' +
b + '" he was assigned to "' + a[b] + '"');
return this
};
b._creatBait = function() {
var a = q.createElement("div");
a.setAttribute("class", this._options.baitClass);
a.setAttribute("style", this._options.baitStyle);
this._var.bait = g.a.document.body.appendChild(a);
this._var.bait = g.a.document.body.appendChild(a);
this._var.bait.offsetParent;
this._var.bait.offsetHeight;
this._var.bait.offsetLeft;
this._var.bait.offsetTop;
this._var.bait.offsetWidth;
this._var.bait.clientHeight;
this._var.bait.clientWidth;
!0 === this._options.debug &&
this._log("_creatBait", "Bait has been created")
};
b._destroyBait = function() {
g.a.document.body.removeChild(this._var.bait);
this._var.bait = null;
!0 === this._options.debug && this._log("_destroyBait", "Bait has been removed")
};
b.check = function(a) {
var f = this;
a === w && (a = !0);
!0 === this._options.debug && this._log("check", "An audit was requested " + (!0 === a ? "with a" : "without") + " loop");
if (!0 === this._var.checking) return !0 === this._options.debug && this._log("check", "A check was canceled because there is already an ongoing"),
!1;
this._var.checking = !0;
null === this._var.bait && this._creatBait();
this._var.loopNumber = 0;
!0 === a && (this._var.loop = setInterval(function() {
f._checkBait(a)
}, this._options.loopCheckTime));
C(function() {
f._checkBait(a)
}, 1);
!0 === this._options.debug && this._log("check", "A check is in progress ...");
return !0
};
b.checkSync = function() {
return this._checkBait()
};
b._checkBait = function(a) {
var f = !1;
if (!g.a.document.body) return !1;
null === this._var.bait && this._creatBait();
if (null !== g.a.document.body.getAttribute("abp") ||
null === this._var.bait.offsetParent || 0 === parseInt(this._var.bait.offsetHeight, 10) || 0 === parseInt(this._var.bait.offsetLeft, 10) || 0 === parseInt(this._var.bait.offsetTop, 10) || 0 === parseInt(this._var.bait.offsetWidth, 10) || 0 === parseInt(this._var.bait.clientHeight, 10) || 0 === parseInt(this._var.bait.clientWidth, 10)) f = !0;
if (g.a.getComputedStyle !== w) {
var c = g.a.getComputedStyle(this._var.bait, null);
!c || "none" !== c.getPropertyValue("display") && "hidden" !== c.getPropertyValue("visibility") || (f = !0)
}!0 === this._options.debug &&
this._log("_checkBait", "A check (" + (this._var.loopNumber + 1) + "/" + this._options.loopMaxNumber + " ~" + (1 + this._var.loopNumber * this._options.loopCheckTime) + "ms) was conducted and detection is " + (!0 === f ? "positive" : "negative"));
!0 === a && (this._var.loopNumber++, this._var.loopNumber >= this._options.loopMaxNumber && this._stopLoop());
if (!0 === f) this._stopLoop(), this._destroyBait(), this.emitEvent(!0), !0 === a && (this._var.checking = !1);
else if (null === this._var.loop || !1 === a) this._destroyBait(), this.emitEvent(!1), !0 ===
a && (this._var.checking = !1);
return f
};
b._stopLoop = function() {
clearInterval(this._var.loop);
this._var.loop = null;
this._var.loopNumber = 0;
!0 === this._options.debug && this._log("_stopLoop", "A loop has been stopped")
};
b.emitEvent = function(a) {
!0 === this._options.debug && this._log("emitEvent", "An event with a " + (!0 === a ? "positive" : "negative") + " detection was called");
a = this._var.event[!0 === a ? "detected" : "notDetected"];
for (var f in a)
if (!0 === this._options.debug && this._log("emitEvent", "Call function " + (parseInt(f,
10) + 1) + "/" + a.length), a.hasOwnProperty(f)) a[f]();
!0 === this._options.resetOnEnd && this.clearEvent();
return this
};
b.clearEvent = function() {
this._var.event.detected = [];
this._var.event.notDetected = [];
!0 === this._options.debug && this._log("clearEvent", "The event list has been cleared")
};
b.on = function(a, f) {
this._var.event[!0 === a ? "detected" : "notDetected"].push(f);
!0 === this._options.debug && this._log("on", 'A type of event "' + (!0 === a ? "detected" : "notDetected") + '" was added');
return this
};
b.onDetected = function(a) {
return this.on(!0,
a)
};
b.onNotDetected = function(a) {
return this.on(!1, a)
};
return a
}();
b.a = d
},
function(a, b, d) {
a = function() {
function a(a) {
void 0 === a && (a = "body");
this.root = "string" === typeof a ? q.querySelector(a) : a;
a = -1 !== navigator.appVersion.indexOf("Mac") ? "macos" : "other";
this.OS = a;
this.modifierCodes = {
91: "super",
93: "super",
224: "super",
18: "alt",
17: "ctrl",
16: "shift",
9: "tab",
8: "backspace",
46: "delete"
};
this.keyOrder = {
"super": 1,
ctrl: 2,
alt: 3,
shift: 4,
tab: 5,
"delete": 6,
backspace: 6
};
this.singleKeys = [4, 9, 8, 32, 37, 38, 39, 40, 46];
this.keyDict = {
macos: {
91: "\x26#8984;",
93: "\x26#8984;",
224: "\x26#8984;",
18: "\x26#8997;",
17: "\x26#8963;",
16: "\x26#8679;",
9: "\x26#8677;",
8: "\x26#9003;",
46: "\x26#9003;"
},
other: {
91: "\x26#xff;",
93: "\x26#xff;",
224: "\x26#xff;",
18: "Alt",
17: "Ctrl",
16: "Shift",
9: "Tab",
8: "Backspace",
46: "Delete"
},
multi: {
32: "SPACEBAR",
37: "\x26larr;",
38: "\x26uarr;",
39: "\x26rarr;",
40: "\x26darr;",
13: "Enter"
}
};
this.initialModifier = null;
this.modifierPressed = 0;
this.events = [];
this.modifiers = {};
this.captors = [];
this.filters = [];
this.keyStroke = [];
this.holding = [];
this.initHandler()
}
var b = a.prototype;
b.onCapture = function(a) {
"function" === typeof a && 0 > this.captors.indexOf(a) && this.captors.push(a)
};
b.addElementFilter = function(a) {
"function" === typeof a && 0 > this.captors.indexOf(a) && this.filters.push(a)
};
b.applyFilters = function(a) {
var b = this;
return this.filters.reduce(function(d, f) {
return !0 === d ? d && f.call(b, a) : !1
}, !0)
};
b.initHandler = function() {
this.attachEvent("keydown", this.keydownHandler);
this.attachEvent("keyup", this.keyupHandler)
};
b.getKeystroke = function(a) {
var b =
this,
d = this.keyOrder;
return a.map(function(a) {
var c = a.keyCode,
f = b.modifierCodes[a.keyCode],
d = b.getKeySymbol(a);
return {
id: c,
key: b.getKeySymbol(a),
isMeta: !!f && /^&#/.test(d),
modifier: f
}
}).sort(function(a, c) {
return (d[a.modifier] || 100) - (d[c.modifier] || 100)
})
};
b.getKeySymbol = function(a) {
return this.keyDict[this.OS][a.keyCode] || this.keyDict.multi[a.keyCode] || String.fromCharCode(a.keyCode)
};
b.startCapture = function(a) {
this.initialModifier = a;
this.pushKey(a);
this.cancelCapture()
};
b.sendKeys = function(a, b) {
var d =
this;
void 0 === b && (b = !1);
if (1 < a.length || b) {
var f = this.getKeystroke(a);
this.captors.forEach(function(a) {
return a.call(d, f, b)
})
}
};
b.endCapture = function() {
var a = this;
this._keyStroke = this.keyStroke.slice(0);
clearTimeout(this._endCapture);
this._endCapture = C(function() {
a.sendKeys(a._keyStroke)
})
};
b.pushKey = function(a) {
!1 === this.isCaptured(a) && this.keyStroke.push(a)
};
b.removeKey = function(a) {
this.keyStroke = this.keyStroke.reduce(function(b, d) {
d.keyCode !== a.keyCode && b.push(d);
return b
}, [])
};
b.cancelCapture =
function() {
this.isModifierPressed() ? C(this.cancelCapture.bind(this), 100) : this.keyStroke.length = 0
};
b.reset = function() {
var a = this;
this._reset = C(function() {
a.resetImmediate()
}, 300)
};
b.resetImmediate = function() {
this.modifierPressed = 0;
this.keyStroke.length = 0;
this.holding.length = 0;
clearTimeout(this._endCapture)
};
b.cancelReset = function() {
clearTimeout(this._reset)
};
b.keydownHandler = function(a) {
this.applyFilters(a.target) && !1 === this.isInputWithShift(a) && !a.repeat && 0 > this.held(a.keyCode) && (this.holding.push(a.keyCode),
this.isModifier(a.keyCode) && !this.isModifierPressed() ? (this.modifierPressed += 1, this.startCapture(a), this.reset()) : this.isModifierPressed() ? (this.cancelReset(), this.pushKey(a), this.endCapture()) : (this.resetImmediate(), this.pushKey(a)))
};
b.keyupHandler = function(a) {
if (this.applyFilters(a.target)) {
var b = this.isModifier(a.keyCode),
d = this.held(a.keyCode);
0 <= d && this.holding.splice(d, 1);
b && this.isModifierPressed() && (this.modifierPressed = 0, this.holding.length = 0);
1 === this.keyStroke.length && (b = this.keyStroke[0],
0 <= this.singleKeys.indexOf(b.keyCode) && (this.sendKeys([b], !0), this.resetImmediate()));
this.removeKey(a);
clearTimeout(this._endCapture)
}
};
b.attachEvent = function(a, b) {
var d = this;
if ("function" === typeof b) {
var f = function(a) {
(d.root && d.root.contains(a.target) || a.target === d.root) && b.call(d, a)
};
q.addEventListener(a, f, !0);
this.events.push(function() {
q.removeEventListener(a, f, !0)
})
}
};
b.held = function(a) {
return this.holding.indexOf(a)
};
b.isModifier = function(a) {
return null != this.modifierCodes[a]
};
b.isModifierPressed =
function() {
return 0 < this.modifierPressed
};
b.isInitialModifier = function(a) {
return this.initialModifier ? this.initialModifier.keyCode === a.keyCode : !1
};
b.isCaptured = function(a) {
return null != this.keyStroke.reduce(function(b, d) {
null == b && d.keyCode === a.keyCode && (b = d);
return b
}, null)
};
b.isInputWithShift = function(a) {
return "INPUT" === a.target.nodeName ? a.shiftKey || 32 === a.keyCode || "shift" === this.modifierCodes[a.keyCode] : !1
};
b.destroy = function() {
var a;
for (this.resetImmediate(); a = this.events.pop();) a();
this.filters.length =
0
};
return a
}();
b.a = a
},
function(a, b, d) {
(function(a, g) {
var e = d(0),
h = d.n(e),
m = d(13),
f = d(27),
c = d(3),
l = d(20),
t = d(1);
e = "HTMLMediaElement" in n;
var z = {},
k = new a(["addEventListener", "removeEventListener"]),
y = function() {
function a() {
h()(this, "originalDescriptors", new g);
h()(this, "mocked", !1);
h()(this, "events", new m.a(["setter", "method"]));
c.ObjectUtils.assign(z, l.Tools.apiMock(HTMLMediaElement))
}
var b = a.prototype;
b.descriptor = function(a, c) {
return Object.getOwnPropertyDescriptor(a, c)
};
b.mock = function() {
var a =
this,
b = HTMLMediaElement.prototype,
f = this;
t.IterableUtils.forof(z.properties, function(d) {
if (k.has(d)) return !0;
var e = a.descriptor(b, d);
if (e) {
a.originalDescriptors.set(d, e);
var l = c.ObjectUtils.combine(e);
e.get && (l.get = function() {
return e.get.call(this)
});
e.set && (l.set = function(a) {
f.setterInvoked(this, d, a);
return e.set.call(this, a)
});
Object.defineProperty(b, d, l)
}
});
t.IterableUtils.forof(z.methods, function(c) {
if (k.has(c)) return !0;
var d = a.descriptor(b, c);
a.originalDescriptors.set(c, d);
Object.defineProperty(b,
c, {
configurable: !0,
value: function() {
for (var a, b = arguments.length, e = Array(b), l = 0; l < b; l++) e[l] = arguments[l];
f.methodInvoked(this, c, e);
return (a = d.value).call.apply(a, [this].concat(e))
}
})
});
this.mocked = !0
};
b.remove = function() {
this.events.off();
var a = HTMLMediaElement.prototype;
t.IterableUtils.forof(this.originalDescriptors, function(c, b) {
delete a[b];
Object.defineProperty(a, b, c)
});
this.mocked = !1
};
b.setterInvoked = function(a, c, b) {
var f = this;
this.mocked && C(function() {
f.send(a, "setter", {
name: c,
value: b
})
})
};
b.methodInvoked = function(a, c, b) {
var d = this;
this.mocked && C(function() {
b = b.map(function(a) {
return a instanceof Image ? Object(f.b)(a) : a
});
d.send(a, "method", {
name: c,
args: b
})
})
};
b.send = function(a, b, f) {
this.events.emit(b, c.ObjectUtils.combine(f, {
media: a
}))
};
return a
}();
h()(y, "supported", e);
b.a = y
}).call(this, d(7)["default"], d(10)["default"])
},
function(a, b, d) {
(function(a) {
d.d(b, "a", function() {
return e
});
var e = function(b, d) {
void 0 === d && (d = "body");
return new a(function(a) {
null == b.querySelector(d) || q.hidden ||
q.msHidden || q.webkitHidden ? function c() {
null == b.querySelector(d) || q.hidden || q.msHidden || q.webkitHidden ? C(c, 100) : a()
}() : a()
})
}
}).call(this, d(23).Promise)
},
function(a, b, d) {
(function(a, g, p) {
var e = d(12),
m = d.n(e);
e = d(5);
var f = d.n(e);
e = d(16);
var c = d.n(e);
e = d(0);
var l = d.n(e),
t = d(9);
e = d(13);
var z = d(30),
k = d(1),
n = d(3),
q = d(35),
O = d(20),
A = ["attributes", "namespace", "content", "parent"];
e = function(b) {
function d(c, d) {
var e = void 0 === d ? {} : d;
var h = e.autoIndex;
h = void 0 === h ? !0 : h;
e = e.disabled;
var m = void 0 === e ? !1 : e;
e = b.call(this) ||
this;
l()(f()(e), "eventsList", ["initialIndex:once:memory", "add", "remove", "node"]);
e.disabled = m;
e.nextID = 0;
e.closed = !1;
e.dom = new a;
e.index = new a;
e.initialDOM = new g;
e.middleware = new z.b;
e.document = c;
e.quickAccess = {};
h && e.initialIndex();
return e
}
c()(d, b);
var e = d.prototype;
e.initialIndex = function() {
this.fastIndex(this.document.documentElement)
};
e.use = function(a) {
this.middleware.use(a)
};
e.initDOMCache = function() {
this.domCache = new a(this.index)
};
e.writeCache = function(a, c, b) {
this.domCache && this.domCache.set(a, {
node: c,
data: b
})
};
e.findCache = function(a) {
if (this.domCache) return this.domCache.get(a)
};
e.addQuckAccessItem = function(a, c) {
null == this.quickAccess[a] && null == this[a] && (this.quickAccess[a] = c, Object.defineProperty(this, a, {
get: function() {
return this.quickAccess[a]
}
}))
};
e.addToIndex = function(a, c, b) {
void 0 === b && (b = null);
if (a = this.middleware.run(a)) {
this.emit("node", a);
var f = a._DOMIndexerInfo;
if (!1 === this.dom.has(a) || null == f) b = this.generateNodeID(b), f = {
id: b,
name: a.tagName || a.nodeName,
parent: c,
nativeNode: a,
namespace: t.c.getNamespace(a),
attributes: t.c.getAttributes(a),
content: t.c.getContent(a)
}, this.domCache && this.writeCache(b, a, f), this.dom.set(a, f), this.index.set(b, a), a._DOMIndexerID = b, a._DOMIndexerInfo = f, a._DOMIndexer = this;
this.emit("add", f);
return f
}
p.warn("Can't index undefined node")
};
e.clear = function(a) {
void 0 === a && (a = !0);
k.IterableUtils.forof(k.IterableUtils.keys(this.dom), function(a) {
k.IterableUtils.forof(["_DOMIndexer", "_DOMIndexerID", "_DOMIndexerInfo"], function(c) {
a[c] = null;
delete a[c]
})
});
a && (this.document = null);
this.dom.clear();
this.index.clear()
};
e.dump = function() {
return {
dom: new a(this.dom),
index: new a(this.index)
}
};
e.dumpRestore = function(a) {
n.ObjectUtils.assign(this, a);
this.document.body.innerHTML = ""
};
e.findByID = function(a) {
return this.find(a)
};
e.findByNode = function(a) {
return this.get(a)
};
e.find = function(a) {
if (null != a) {
var c = this.index.get(a);
return null == c && this.domCache ? (a = this.findCache(a)) && a.node : c
}
};
e.findInfo = function(a) {
return this.dom.get(this.find(a))
};
e.generateNodeID =
function(a) {
return null != a ? a : this.nextID++
};
e.get = function(a) {
return this.dom.get(a)
};
e.getNodeId = function(a) {
return (a = this.get(a)) && a.id
};
e.getIndexedNodeId = function(a) {
var c = this.getNodeId(a);
return null == c ? (this.reindexNodeTree(a), this.getNodeId(a)) : c
};
e.getNodesIds = function(a) {
var c = this;
return k.IterableUtils.toArray(a).map(function(a) {
return {
id: c.getNodeId(a),
nodes: c.getNodesIds(a.childNodes)
}
})
};
e.reindexNodeTree = function(a, c) {
var b = this,
f = void 0 === c ? {} : c,
d = f.returnAll;
d = void 0 === d ? !1 : d;
var e =
f.callback,
l = void 0 === e ? null : e;
f = f.parentID;
var h = void 0 === f ? null : f;
if (a) {
var g = [];
if (a.parentNode || h) l = q.FunctionUtils.toFunction(l), t.c.each(a, function(a, c) {
h = c.parentNode && b.getNodeId(c.parentNode) || h;
if (null != h) {
var f = b.addToIndex(c, h);
g.push(f);
l(f, c)
}
});
return d ? g : a._DOMIndexerID
}
};
e.removeFromIndex = function(a) {
var c = this.getNodeId(a);
this.dom["delete"](a);
this.index["delete"](c);
k.IterableUtils.toArray(a.childNodes).map(this.removeFromIndex.bind(this));
this.emit("remove", a);
return c
};
e.replaceBody =
function(a) {
this.removeNodeTree(this.BODY.id);
var c = this.BODY.nativeNode;
delete c._DOMIndexerInfo;
delete c._DOMIndexerID;
this.addToIndex(c, this.HTML.id, a)
};
e.removeNodeTree = function(a, c) {
var b = this;
void 0 === c && (c = !1);
if (a) {
var f = [],
d = a._DOMIndexerID;
t.c.each(a, function(a, c) {
var d = c._DOMIndexerID;
b.dom["delete"](c);
b.index["delete"](d);
b.emit("remove", c);
f.push(d)
});
return c ? f : d
}
};
e.fastIndex = function(a) {
if (!this.disabled) {
var c = this.addToIndex.bind(this),
b = this.initialDOM.add.bind(this.initialDOM);
t.c.each(a, function(a, f) {
var d = c(f, f.parentNode && f.parentNode._DOMIndexerID);
b(n.ObjectUtils.copyObject(d))
})
}
};
e.toJSON = function(a) {
return d.toJSON(a || this.dom)
};
e.isIndexed = function(a) {
return this.dom.has(a)
};
e.showMissingNodes = function(a) {
var c = this;
void 0 === a && (a = !1);
a && O.Tools.measure("Show missing nodes", function() {
var a = t.c.all(c.document.documentElement);
k.IterableUtils.fastIterate(a, function(a, b) {
!1 === c.dom.has(b) && p.log("Missing node", b)
});
p.log("Index diff: [DOM: " + a.length + "] [INDEX: " +
c.dom.size + "] [DIFF: " + (c.dom.size - a.length) + "]")
})
};
e.getCurrentHtml = function() {
var a = k.IterableUtils.map(this.dom, function(a) {
return a[1]
});
return d.simplify(a)
};
e.getDocument = function() {
return this.document
};
e.setDocument = function(a) {
this.document = a
};
m()(d, [{
key: "HTML",
get: function() {
return this.document.documentElement._DOMIndexerInfo
}
}, {
key: "BODY",
get: function() {
return this.document.body._DOMIndexerInfo
}
}, {
key: "html",
get: function() {
return d.simplify(this.initialDOM)
}
}]);
return d
}(e.a);
l()(e,
"simplify",
function(a) {
return k.IterableUtils.map(a, function(a) {
var c = {
id: a.id,
name: a.name.toLowerCase()
};
k.IterableUtils.forof(A, function(b) {
null != a[b] && (c[b] = a[b])
});
return c
})
});
l()(e, "toNodesTree", function(a) {
var c = {};
a = k.IterableUtils.toArray(a);
k.IterableUtils.forof(a, function(a) {
if (null == c[a.id]) {
var b = n.ObjectUtils.combine(a);
c[a.id] = b;
null != a.parent && (a = c[a.parent]) && (a.children = a.children || [], a.children.push(b))
}
});
return c[0]
});
b.a = e
}).call(this, d(10)["default"], d(7)["default"], d(15)["default"])
},
function(a, b, d) {
(function(a, g) {
var e = d(6),
h = d.n(e);
e = d(12);
var m = d.n(e);
e = d(0);
var f = d.n(e);
e = function() {
function c(c) {
void 0 === c && (c = n);
f()(this, "_cancelMainHandler", null);
f()(this, "subscriptions", {});
var b = a.isIframe(c);
this.window = b ? c.parent : c;
if (c._messenger) return c._messenger;
this.targetWindow = c;
c._messenger = this;
g.log("Messenger created [isFrame: " + b + "]", this.targetWindow.location.href);
c = this.targetWindow;
b = this.targetWindow.name || "";
b = /^ym-/.test(b) ? b : "ym-" + a.guid();
c.name = b;
this.identifier =
this.targetWindow.name;
this._handleMessages();
return this
}
var b = c.prototype;
b.send = function(a, c) {
var b = void 0 === c ? {} : c,
f = b.data,
d = b.onResponse;
b = b.receiver;
var e = null,
l = [];
"function" === typeof d && (e = a + "." + this.timestamp, this.listenOnce(function(a) {
a = a.data;
var c = a._ym_cancel_response,
b = a.data;
if (a.type === e) c ? g.warn("Seems like you forgot to call `answer` in message handler. This message requires your response") : d(b);
else return !1
}, this.targetWindow));
e && l.push("response:" + e);
this._sendMessage({
data: f,
type: a,
target: this._getReceiver(b),
flags: l
})
};
b.subscribe = function(a, c) {
var b = this._createSubscriptionsGroup(a);
if (!1 === this._isSubscribed(b, c)) b.push(c);
else throw Error("This callback has already been subscribed to " + a);
};
b.unsubscribe = function(c, b) {
var f = this._getSubcribers(c);
!0 === this._isSubscribed(f, b) && a.removeFromArray(f, b)
};
b.unsubscribeAll = function(a) {
(a = this._getSubcribers(a)) && a.splice(0)
};
b.listen = function(a) {
var c = this;
this._attachEvent("message", a);
return function() {
return c._removeEvent("message",
a)
}
};
b.listenOnce = function(a, c) {
var b = this;
c = c || this.window;
var f = function(c) {
!1 !== a(c) && d()
},
d = function() {
b._removeEvent("message", f, c)
};
this._attachEvent("message", f, c);
return d
};
b._attachEvent = function(a, c, b) {
var f = this;
(b || this.window).addEventListener(a, c);
return function() {
return f._removeEvent(a, c)
}
};
b._createSubscriptionsGroup = function(a) {
return this._getSubcribers(a) || (this.subscriptions[a] = [])
};
b._isSubscribed = function(a, c) {
return a && c && 0 <= a.indexOf(c)
};
b._removeEvent = function(a, c, b) {
(b ||
this.window).removeEventListener(a, c)
};
b._getSubcribers = function(a) {
return this.subscriptions[a] || null
};
b._sendMessage = function(a) {
var c = void 0 === a ? {} : a;
a = c.target;
var b = c.flags;
b = void 0 === b ? [] : b;
c = {
_ym_messenger: !0,
_ym_identifier: this.identifier,
type: c.type,
data: c.data
};
if (b && 0 < b.length)
for (var f = 0, d = b.length; f < d; f++) {
var e = b[f].split(":");
c["_ym_" + e[0]] = e[1] || !0
}
this._postMessage(c, a)
};
b._postMessage = function(a, c) {
(c || this.window).postMessage(a, "*")
};
b._getReceiver = function(a) {
if (null != a) {
if (a.postMessage) return a;
if (a.contentWindow) return a.contentWindow
}
};
b._handleMessages = function() {
var a = this;
if (null == this._cancelMainHandler) {
var c = this._attachEvent("message", function(c) {
c = c.data || {};
var b = c._ym_response,
f = c._ym_identifier,
d = c.data,
e = c.type;
if (!0 === c._ym_messenger && e && !/\.([0-9]+)$/.test(e)) {
c = a._getSubcribers(e);
var l = a._findIframeByName(f);
if (null === l) g.warn("Cannot find iframe with id " + f);
else {
var m = {
id: f,
sender: l,
data: d,
type: e
};
f = 0;
for (d = c.length; f < d; f++) {
var p = c[f];
b ? function() {
var c = {
type: b,
target: l.contentWindow
},
f = 2 === p.length,
d = null,
e = function(b) {
clearTimeout(d);
b = f ? h()({}, c, {
data: b
}) : h()({}, c, {
flags: ["cancel_response"]
});
a._sendMessage(b)
};
f ? (d = C(function() {
g.warn("Response has been canceled because `answer` was never called");
f = !1;
e()
}, 2E3), p(m, e)) : (p(m), e())
}() : p(m)
}
}
}
}, this.targetWindow);
this._cancelMainHandler = function() {
c();
a._cancelMainHandler = null
}
}
};
b._findIframe = function(c) {
var b = [].slice.call(q.querySelectorAll("iframe"));
return a.find(b, function(a) {
return a.contentWindow === c
}) || null
};
b._findIframeByName =
function(a) {
return this._findIframe(this.targetWindow.frames[a]) || null
};
m()(c, [{
key: "timestamp",
get: function() {
return a.now()
}
}]);
return c
}();
b.a = e
}).call(this, d(4)["default"], d(15)["default"])
},
function(a, b, d) {
(function(a, g) {
var e = d(6),
h = d.n(e);
e = function() {
function b(a, b, f) {
void 0 === a && (a = n);
void 0 === b && (b = q);
Object.defineProperty(this, "_indexer", {
value: f
});
this.window = a;
this.document = b;
this.indexer = this._indexer;
this.selection = this.window.getSelection()
}
var f = b.prototype;
f.getPageSelection = function() {
var a =
this.getSelection();
if (a) {
var b = this.indexer.getNodeId(a.startNode),
f = this.indexer.getNodeId(a.endNode);
this.restoreIndexer();
return h()({}, a, {
startNode: b,
endNode: f
})
}
};
f.restorePageSelection = function(c) {
if (c) {
var b = this.indexer.find(c.startNode),
f = this.indexer.find(c.endNode);
this.restoreIndexer();
a.isDOMNode(b) && a.isDOMNode(f) && this.restoreSelection(h()({}, c, {
startNode: b,
endNode: f
}))
}
};
f.getSelection = function() {
if (0 < this.selection.rangeCount) {
var a = this.selection.getRangeAt(0) || this.document.createRange();
return {
start: a.startOffset,
end: a.endOffset,
startNode: a.startContainer,
endNode: a.endContainer
}
}
};
f.restoreSelection = function(a) {
var c = a.start,
b = a.end,
f = a.startNode;
a = a.endNode;
try {
var d = f.ownerDocument,
e = d.defaultView.getSelection(),
h = d.createRange();
h.setStart(f, c);
h.setEnd(a, b);
e.removeAllRanges();
e.addRange(h)
} catch (O) {
g.log({
start: {
startNode: f,
start: c
},
end: {
endNode: a,
end: b
}
})
}
};
f.getSelectionFor = function(a) {
if (/text|search|password|tel|url/.test(a.type)) return {
start: a.selectionStart,
end: a.selectionEnd
}
};
f.restoreSelectionFor = function(a, b) {
b && null != b.start && null != b.end && /text|search|password|tel|url/.test(a.type) && (a.selectionStart = b.start, a.selectionEnd = b.end)
};
f.clear = function() {
var a = this.document.createRange();
a.setStart(this.document.body, 0);
a.setEnd(this.document.body, 0);
this.selection.removeAllRanges();
this.selection.addRange(a)
};
f.setIndexer = function(a) {
a !== this.indexer && (this.indexer = a)
};
f.restoreIndexer = function() {
this.indexer = this._indexer
};
return b
}();
b.a = e
}).call(this, d(4)["default"],
d(15)["default"])
},
function(a, b, d) {
(function(a, g) {
var e = d(2),
h = {
doNotTrack: function() {
return !0 !== navigator.doNotTrack
},
localStorage: function() {
try {
return e.a.localStorage.setItem("test", "value"), e.a.localStorage.removeItem("test"), !0
} catch (m) {
return !1
}
},
defineProperty: function() {
try {
return Object.defineProperty({}, "test", {
value: 123
}), !0
} catch (m) {
return !1
}
}
};
b.a = function() {
a.forin(h, function(a) {
if (!h[a]()) return g.log("Feature not supported: " + a), !1
});
return !0
}()
}).call(this, d(4)["default"], d(15)["default"])
},
function(a, b, d) {
(function(a) {
var e = d(29),
p = d.n(e);
e = d(10);
var h = d(1),
m = d(24),
f = d(3),
c = {
items: {
extnameFinder: /\.(css|png|gif|svg|jp[e]?g|mp4|ogv|webm|webp|mp3|ico|woff|ttf|eot)/gi,
urlPartsFinder: /([?./]*)/gi,
anchorFinder: /^(?!#).*([#]+)/g,
cssURLFinder: /url\(['"]?((?!#|data|blob))([^()'"]+)['"]?\)/g,
URLImportFinder: /@import ['"]((?!#|data|blob)([^()'"]+))['"]/g,
protocolMissing: /^(?!http[s]?).*/,
dataurlTest: /^(data|blob):/,
selectorTest: /^#(.*)/,
protocolIncomplete: /^(http[s]?)?(:?\/\/)/,
resourceFinder: /{{RESOURCE_URL}}/,
proxiedURL: /proxy([^?]*)\?url=/i
},
get: function(a) {
return this.items[a]
},
reset: function(a) {
this.items[a].lastIndex = 0
},
test: function(a, c) {
var b = this.get(a);
this.reset(a);
return b.test(c)
},
resetMultiple: function() {
for (var a, c = this, b = arguments.length, f = Array(b), d = 0; d < b; d++) f[d] = arguments[d];
f = (a = []).concat.apply(a, f);
h.IterableUtils.fastIterate(f, function(a, b) {
return c.reset(b)
})
},
resetAll: function() {
this.resetMultiple(h.IterableUtils.keys(this.items))
}
},
l = {
location: null,
proxy: null,
base: null,
window: "object" ===
typeof n && n || null,
document: "object" === typeof q && q || null
},
t = new e["default"],
k = new e["default"],
D = function(a) {
return "string" === typeof a ? URL.parse ? URL.parse(a) : new URL(a) : a
},
y = function(a) {
return k.get(a) || a
},
aa = function() {
var a = D(function() {
if (l.base) return l.base;
if (l.document) {
var a = l.document.querySelector("base[href]");
return a ? a.href : l.location
}
return l.location
}());
return l.location = {
host: a.host,
protocol: a.protocol,
path: (a.pathname || a.path || "").replace(/[^/]*$/, "")
}
},
O = [];
e = Object.defineProperties({
regexp: c,
patchCSS: function(a, b) {
var f = this,
d = (void 0 === b ? {} : b).location,
e = void 0 === d ? null : d,
l = {
cssURLFinder: function(a) {
return "url('" + a + "')"
},
URLImportFinder: function(a) {
return '@import "' + a + '"'
}
};
["cssURLFinder", "URLImportFinder"].forEach(function(a) {
return c.reset(a)
});
return ["cssURLFinder", "URLImportFinder"].reduce(function(a, b) {
return f.patchURLS(a, c.get(b), e, l[b])
}, a)
},
patchURLS: function(a, c, b, f) {
var d = this,
e = a,
l = function(a) {
return "function" === typeof a ? a : function(a) {
return a
}
}(f);
"string" === typeof a &&
a.match(c) && (e = a.replace(c, function() {
var a = d.patchURL(2 >= arguments.length ? w : arguments[2], {
location: b
});
return l(a)
}));
return e
},
patchURL: function(a, c) {
var b = this,
f = void 0 === c ? {} : c,
d = f.location,
e = void 0 === d ? null : d;
f = f.split;
var l = void 0 === f ? !1 : f;
return "string" === typeof a ? function(a) {
return l ? a.split(",") : [a]
}(a).reduce(function(a, c) {
var f = c.trim().split(" "),
d = f[0];
f = f.slice(1);
d = b.applyPatch(d, e);
a.push([d].concat(f).join(" "));
return a
}, []).join(", ") : a
},
applyPatch: function(b, f) {
var d = /^(?!\\)/.test(b),
e = this.getRelativeLocation(f),
h = e.host,
g = e.protocol;
e = e.pathname || e.path || "";
d = d ? this.resolvePath(b, e) : b;
if (0 <= O.indexOf(d)) return d;
if (k.has(d)) return t.get(d);
e = b;
c.resetAll();
if (c.test("dataurlTest", b) || c.test("selectorTest", b)) return b;
c.test("protocolMissing", b) && (e = c.test("protocolIncomplete", b) ? b.replace(c.get("protocolIncomplete"), g + "//") : g + "//" + (h + "/" + d).replace(/([/]+)/g, "/"));
k.set(b, e);
/http[s]?/.test(e) ? (h = e, c.test("proxiedURL", h) ? e = h : (l.isWhitelisted ? (g = l.isWhitelisted(h)) && a.warn("Whitelisted: " +
h) : g = !1, e = g ? h : (g = l.proxy) && c.test("resourceFinder", g) ? g.replace(c.get("resourceFinder"), h.replace(/&/g, "%26")) : h), O.push(e), t.set(b, e), h = e) : (O.push(b), t.set(b, e), h = b);
return l.noEncode ? decodeURIComponent(h) : h
},
getRelativeLocation: function(a) {
var c = /^(?!\\)/.test(a);
return a ? c ? (c = m.StringUtils.parseURL(y(a)), a = this.resolvePath(a, this.location.protocol + "//" + this.location.host + (this.location.path || this.location.pathname)), c || f.ObjectUtils.assign({}, this.location, {
path: a
})) : f.ObjectUtils.assign({}, this.location, {
path: a
}) : this.location
},
resolvePath: function(a, c) {
if (/^\//.test(a)) return a;
for (var b = (c + "/" + a).replace(/([/]+)/g, "/").split("/"), f = [], d = 0, e = b.length; d < e; d++) {
var l = b[d];
"" === l ? f.length = 0 : "." !== l && (".." === l ? 0 < f.length && --f.length : f.push(l))
}
f.unshift("");
return f.join("/")
},
configure: function(a) {
void 0 === a && (a = {});
var c = a;
a = c.proxyWhitelist;
c = p()(c, ["proxyWhitelist"]);
l = f.ObjectUtils.assign({}, l, c);
if (a) {
a = a.map(function(a) {
return a.replace("*", "(.*)")
}).join("|");
var b = new RegExp("" + a, "ig");
l.isWhitelisted =
function(a) {
b.lastIndex = 0;
return b.test(a)
}
}
},
isURLLike: function(a) {
c.resetMultiple(["dataurlTest", "selectorTest", "extnameFinder", "protocolMissing"]);
return c.test("dataurlTest", a) || c.test("selectorTest", a) ? !1 : c.test("extnameFinder", a) && c.test("protocolMissing", a)
},
clearCache: function() {
t.clear()
},
isProxiedURL: function(a) {
return a ? c.test("proxiedURL", a) : !1
}
}, {
location: {
get: function() {
return aa()
},
set: function(a) {
return (l = f.ObjectUtils.assign({}, l, {
location: a
})).location
},
configurable: !0,
enumerable: !0
},
config: {
get: function() {
return l
},
configurable: !0,
enumerable: !0
}
});
b.a = e
}).call(this, d(15)["default"])
},
function(a, b, d) {
function e() {
try {
if (!n.sessionStorage) return null;
var a = n.sessionStorage.getItem(p),
b = !1;
try {
var f = n.opener ? n.opener.sessionStorage : null;
b = !!f && a === f.getItem(p)
} catch (c) {
b = !0
}
if (!a || b) a = g["default"].guid(), n.sessionStorage.setItem(p, a);
return a
} catch (c) {
return null
}
}
d.d(b, "a", function() {
return e
});
var g = d(4),
p = "__vw_tab_guid"
},
function(a, b, d) {
a = d(41);
var e = new(d(28).a),
g = 0,
p = 0,
h =
function(a) {
var c = this,
b = this.stamp;
e.push(function() {
b !== g && (p = 0);
g = b;
c._publishMutations(c._getMutationObject(a, b, p++))
})
},
m = d(42),
f = d(43),
c, l = function(a, c) {
if (!this.IS_MOBILE_DEVICE) {
var b = 0,
f = function() {
var d = c.getValue.call(this, a);
d && (0 !== d.stamp ? this._publishActions(d) : 3 > b && (C(f, 300), b += 1))
}.bind(this);
f()
}
},
t = d(44),
k = d(45),
n = d(46),
y = d(47),
aa = d(48);
d = d(49);
b.a = {
canvas: {
create: function(a) {
var c = a.canvasProxy,
b = a._universalHandler(function(a) {
a = this._getEventObject("canvasProperty", a.canvas, {
property: a.name,
value: a.value
});
this._publishActions(a)
});
a = a._universalHandler(function(a) {
a = this._getEventObject("canvasMethod", a.canvas, {
method: a.name,
args: a.args
});
this._publishActions(a)
});
c.events.on("setter", b);
c.events.on("method", a);
c.mock()
},
destroy: function(a) {
a.canvasProxy.remove()
}
},
input: a.a,
keystrokes: {
create: function(a) {
a.keyCapture.onCapture(function(c) {
c = a._getEventObject("keystroke", -1, c);
a._publishActions(c)
})
},
destroy: function(a) {
a.keyCapture.destroy()
}
},
media: {
create: function(a) {
var c =
new a.MediaProxy,
b = a._universalHandler(function(c) {
c = a._getEventObject("mediaProperty", c.media, {
property: c.name,
value: c.value
});
a._publishActions(c)
}),
f = a._universalHandler(function(c) {
c = a._getEventObject("mediaMethod", c.media, {
method: c.name,
args: c.args
});
a._publishActions(c)
});
c.events.on("setter", b);
c.events.on("method", f);
c.mock()
},
destroy: function(a) {
a.mediaProxy.remove()
}
},
mutations: {
create: function(a) {
a.summary.on("mutation", a._universalHandler(h))
},
destroy: function(a) {
a.summary.off("mutation");
e.start(!0)
}
},
mouse: m.a,
focus: f.a,
resize: {
getValue: function() {
var a = this.viewport.getSize(1),
c = a.width;
a = a.height;
var b = this.viewport.scrollingElement;
if (0 < c && 0 < a) return this._getEventObject("resize", 0, {
width: c,
height: a,
pageWidth: b.scrollWidth,
pageHeight: b.scrollHeight
})
},
create: function(a) {
c = a.attachEvent(a.window, "resize", a._universalHandler(l, {
extra: [this]
}), {
passive: !0
})
},
destroy: function(a) {
a.removeEvent(c)
}
},
deviceRotation: t.a,
scroll: k.a,
selection: n.a,
touch: y.a,
zoom: aa.a,
window: d.a,
checkable: {
scanFrequency: 50,
timeoutId: null,
checkables: {},
recorder: null,
create: function(a) {
this.recorder = a;
this.handleNodeIndex = this.handleNodeIndex.bind(this);
this.handleNodeRemoval = this.handleNodeRemoval.bind(this);
a.indexer.on("add", this.handleNodeIndex);
a.indexer.on("remove", this.handleNodeRemoval);
this.updatecheckablesStates()
},
updatecheckablesStates: function() {
var a = this;
Object.keys(this.checkables).forEach(function(c) {
if ((c = a.checkables[c]) && c.nodeInfo.nativeNode.checked !== c.checked) {
var b = a.recorder._getEventObject("change",
c.nodeInfo.id, {
checked: c.nodeInfo.nativeNode.checked
});
a.recorder._publishActions(b);
c.checked = c.nodeInfo.nativeNode.checked
}
});
C(this.updatecheckablesStates.bind(this), this.scanFrequency)
},
handleNodeIndex: function(a) {
"INPUT" !== a.name || "checkbox" !== a.attributes.type && "radio" !== a.attributes.type || (this.checkables[a.id] = {
checked: a.nativeNode.checked,
nodeInfo: a
})
},
handleNodeRemoval: function(a) {
delete this.checkables[a.id]
},
destroy: function() {
clearTimeout(this.timeoutId);
this.recorder.indexer.off("add",
this.handleNodeIndex);
this.recorder.indexer.off("remove", this.handleNodeRemoval)
}
},
srcset: {
create: function(a) {
this.onImageLoad = this.onImageLoad.bind(this);
q.addEventListener("load", this.onImageLoad, !0);
this.recorder = a
},
onImageLoad: function(a) {
a = a.target;
"IMG" === (a.tagName || a.nodeName) && a.getAttribute("srcset") && this.recorder.summary.collectMutations([{
meta: {
name: "src",
oldValue: null,
newValue: a.currentSrc
},
target: a,
type: "attributes"
}])
},
destroy: function() {
q.removeEventListener("load", this.onImageLoad)
}
}
}
},
function(a, b, d) {
a = d(11);
var e = d(10),
g = d(14),
p = {
rand: function(a, b) {
return Math.round(Math.random() * (b - a)) + a
},
charFromRange: function(a, b) {
var c = this.rand(a, b);
return String.fromCharCode(c)
},
isLetter: function(a) {
return /[\w\u0410-\u042f\u0430-\u044f]/.test(a)
},
isNumber: function(a) {
return /[0-9]/.test(a)
},
isUpperCase: function(a) {
return a === a.toUpperCase()
},
randomizeString: function(a) {
var c = this;
return (a || "").split("").map(function(a) {
return c.isNumber(a) ? c.rand(0, 9) : c.isLetter(a) ? c.isUpperCase(a) ? c.charFromRange(65,
90) : c.charFromRange(97, 122) : a
}).join("")
},
getNodeBounds: function(a) {
if (a.getBoundingClientRect) return a.getBoundingClientRect();
var c = q.createRange();
c.selectNode(a);
a = c.getBoundingClientRect();
c.detach();
return a
}
},
h = a.a.DOMIndexer.HIDABLE_NODES,
m = new e.KeyValue,
f = function(a, b) {
var c = q.createElement(b),
f = p.getNodeBounds(a);
c.setAttribute("ym-node-type", a.nodeName.toLowerCase());
a.attributes && (g.DOMUtils.copyAttributes(a, c), c.className = a.className);
c.className += " ym-hidden-content";
return {
placeholder: c,
bounds: f
}
};
b.a = function(a) {
if (0 <= h.indexOf(a.nodeName)) {
var c = g.DOMUtils.isHiddenContent(a);
if (m.has(a)) return m.get(a);
if (c) {
var b = a.nodeName;
c = a.textContent;
if ("#text" === b && c && "" === c.trim()) return a;
c = function(a) {
switch (b) {
case "#text":
var c = f(a, "span").placeholder;
c.setAttribute("ym-text-content", p.randomizeString(a.textContent || ""));
return c;
case "IMG":
return c = f(a, "img"), a = c.placeholder, c = c.bounds, a.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII\x3d",
a.width = c.width, a.height = c.height, a;
case "TEXTAREA":
case "INPUT":
return c = f(a, "input"), a = c.placeholder, c = c.bounds, a.style.width = c.width + "px", a.style.height = c.height + "px", a;
default:
return c = f(a, "span"), a = c.placeholder, c = c.bounds, a.style.width = c.width + "px", a.style.height = c.height + "px", a
}
}(a);
m.set(a, c);
return c
}
}
return a
}
},
function(a, b, d) {
d.r(b);
(function(a, g, p, h) {
d.d(b, "default", function() {
return X
});
var e = d(40),
f = d.n(e);
e = d(6);
var c = d.n(e);
e = d(12);
var l = d.n(e);
e = d(5);
var t = d.n(e);
e = d(16);
var k = d.n(e);
e = d(0);
var D = d.n(e),
y = d(11),
aa = d(27),
O = d(63),
A = d(50),
ia = d(52),
v = d(19);
e = d(53);
var r = d(54),
w = d(55),
x = d(56),
u = d(57),
B = d(13),
E = d(21);
d(58);
var G = d(59),
K = d(60),
J = d(18),
I = d(61),
L = d(9),
P = d(62),
U = d(32),
M = d(14),
ba = d(36),
T = d(4),
ha = d(64),
R = n.console,
za = new e.a({
checkOnLoad: !1,
resetOnEnd: !0
}),
ca = {},
N = {
maxSize: a.size(50, "mb"),
maxDuration: 864E5,
compression: !1,
isEU: !1,
recording: {
keysMode: "explicit"
}
},
ka = !0 === K.a,
V = T.IS_INCOGNITO || T.DO_NOT_TRACK || "disable" === a.meta("webvisor"),
W = n !== n.top,
X = function(b) {
function d(c,
f) {
void 0 === c && (c = {});
void 0 === f && (f = {});
var d = b.call(this) || this;
D()(t()(d), "middlewares", []);
D()(t()(d), "iframes", []);
D()(t()(d), "waitingBody", null);
D()(t()(d), "_identifier", a.guid());
D()(t()(d), "offsets", {
left: 0,
top: 0
});
D()(t()(d), "fatalError", !1);
D()(t()(d), "captors", new g);
D()(t()(d), "prevMutationStamp", null);
D()(t()(d), "prevMutationOrderingID", 0);
D()(t()(d), "inited", !1);
D()(t()(d), "startOptions", null);
D()(t()(d), "precache", []);
D()(t()(d), "paused", !0);
D()(t()(d), "started", !1);
D()(t()(d), "stopped",
!1);
D()(t()(d), "eventsList", ["error"]);
D()(t()(d), "_sendEOF", a.once(function() {
if (!d._EOF_SENT) {
var a = d._getEventObject("eof");
d._saveChanges({
events: [a]
});
d._EOF_SENT = !0
}
}));
d._context = function(a) {
var c = {};
return a ? (c.window = a.window || n, c.document = a.document || q, c) : {
window: n,
document: q
}
}(f);
d._configOptions = c;
Object.defineProperty(d.window, "__YM_WV_ENABLED__", {
value: !0
});
return !ka || V ? t()(d) || t()(d) : d
}
k()(d, b);
var e = d.prototype;
e.configure = function() {
var c = this,
b = this._configOptions;
this.frames = [];
this.sender = new ia.a(this.middlewares.splice(0));
this.viewport = U.BrowserUtils.viewportGetter(this.document);
this.zoomLevel = this.viewport.zoomLevel;
this.captors = new g;
this.prevMutationStamp = null;
this.prevMutationOrderingID = 0;
this.inited = !1;
this.startOptions = this.initException = null;
this._timer = ba.TimeUtils.timer();
this.precache = [];
this.options = a.combine(N, b);
this.canvasProxy = aa.a;
this.MediaProxy = w.a;
L.c.addAttributesFilter(function(a, b, f) {
if (v.a.isValidNode(a) && "value" === b) return a = v.a.validate(a, c.options),
b = a.forceRecord, a.isAllowed || b ? f : v.a.encode(f)
})
};
e.attachEvent = function() {
for (var a, c = arguments.length, b = Array(c), f = 0; f < c; f++) b[f] = arguments[f];
E.a.on.apply(E.a, (a = []).concat.apply(a, b));
return b
};
e.removeEvent = function() {
for (var a, c = arguments.length, b = Array(c), f = 0; f < c; f++) b[f] = arguments[f];
E.a.off.apply(E.a, (a = []).concat.apply(a, b));
return b
};
e["continue"] = function() {
V || (this.paused = !1)
};
e.findNode = function(a) {
return this.indexer.getNodeId(a)
};
e.pause = function() {
V || (this.paused = !0)
};
e.middleware =
function(a) {
this.sender ? this.sender.use(a) : this.middlewares.push(a);
return this
};
e.init = function(a) {
var c = this;
void 0 === a && (a = {});
this.errorLogger(function() {
if (!ka || V) return p.resolve();
c.waitingDocument = Object(x.a)(q);
c.waitingDocument["catch"](function(a) {
var b = a;
"timeout" === a.message && (b = Error("No \x3cbody\x3e found. Can't continue"));
c.fatal("init-failed", b)
});
return c.waitingDocument.then(function() {
c.configure();
var b = c._initMessenger();
b["catch"](function(a) {
c.fatal("init-failed", a)
});
return b.then(function() {
c.waitingDocument = !1;
c.indexer = new u.a(q, {
autoIndex: !1,
disabled: a.disableIndex
});
c.indexer.on("node", function(a) {
return c.connectSlaveRecorder(a)
});
c.indexer.use(ha.a);
c.indexer.initialIndex();
c.summary = new A.a(q.documentElement, c.indexer);
c.selection = new G.a(n, q, c.indexer);
c.keyCapture = new r.a("body");
a.disableMutations || c.summary.initObserver();
c._initCaptors();
c._createSnapshot();
c.cancelIfNotStarted = C(function() {
c.stop(!0, !1)
}, 3E4);
c.emit("ready");
c.inited = !0;
c.startOptions && c.start(c.startOptions)
})
})
}, "init")["catch"](function(a) {
clearTimeout(c.cancelIfNotStarted);
c.waitingDocument = !1;
c.fatal("init-failed", a);
c.sendErrors = C(function() {
c.stop(!0, !1)
}, 3E4)
})
};
e.connectSlaveRecorder = function(a) {};
e.start = function(c) {
var b = this;
void 0 === c && (c = {});
this.errorLogger(function() {
if (b.waitingDocument)(function ya() {
b.waitingDocument ? C(ya, 50) : b.start(c)
})();
else if (!1 === b.fatalError)
if (!b.inited) b.savePageSnapshot(), b.fatal("init-failed", Error("Unknown error"));
else {
if (ka && !V) {
clearTimeout(b.cancelIfNotStarted);
var f = (c || {}).forms;
b.options.recording = a.combine(N.recording, {
keysMode: void 0 === f || f ? "regular" : "explicit"
});
b.start = a.noop();
b.started = !0;
b.sendSnapshot().then(function(a) {
a && (b._sendInitialEvents(), b._sendPreCachedData(), b._timer.start())
})["catch"](function(a) {
b.fatal("recording-interrupted", a);
b.start()
});
b["continue"]()
}
}
else b.stop(!0, !0)
}, "start")
};
e.stop = function(a, c) {
var b = this;
void 0 === a && (a = !1);
void 0 === c && (c = !0);
ka && !V && (!1 !== this.started && this.inited || a) && !0 !== this.stopped && (clearTimeout(this.cancelIfNotStarted), clearTimeout(this.sendErrors), this.captors.forEach(function(a) {
a &&
a.hasOwnProperty("destroy") && a.destroy(b)
}), this.indexer && this.indexer.clear(), this.captors && this.captors.clear(), J.a.invokeAll(this), this.summary && this.summary.destroy(), this.keyCapture && this.keyCapture.destroy(), c ? (this._sendEOF(), !0 === this.fatalError && this._sendPreCachedData({
force: !0
}), this.emit("stop")) : a && this.emit("close"), this.started = !1, this.stopped = !0)
};
e.fatal = function(c, b) {
void 0 === b && (b = null);
this.fatal = a.noop();
b = b || {
message: "Unknown exception",
stack: "No stack provided"
};
this.fatalError ||
(this.fatalError = !0, R.error("FATAL [" + c + "]:", b), this.savePageSnapshot(), this.sendCustomEvent("fatalError", {
code: c,
exception: b.message,
stack: b.stack
}), this.stop(!0, !0))
};
e.setURLProxy = function(a) {
I.a.proxy = function() {
if ("string" === typeof a) return a;
if ("function" === typeof a) return a.call(this)
}(a)
};
e.sendCustomEvent = function(a, c) {
var b = this._getEventObject(a, null, c);
this._saveChanges({
events: [b]
})
};
e._initCaptors = function() {
var c = this;
this.keyCapture.addElementFilter(function(a) {
return "INPUT" === a.nodeName ?
"password" !== a.type && !1 === /ym-disable-keys/.test(a.className) : !0
});
var b = a.combine({}, y.a.captors, W ? y.a.iframeCaptors : null);
a.forin(b, function(a) {
if (!0 === b[a]) {
var f = O.a[a];
c.errorLogger(function() {
return f.create(c)
}, "init-captor-" + a);
c.captors.set(a, f)
}
});
E.a.on(this.window, "beforeunload", this.stop.bind(this))
};
e.throwError = function(a, c) {
void 0 === c && (c = "recorder");
this.emit("error", {
error: a,
namespace: "recorder:" + c
});
throw a;
};
e.errorLogger = function(a, c) {
var b = this;
void 0 === c && (c = "recorder");
try {
var f =
a();
return f instanceof p ? f["catch"](function(a) {
b.throwError(a, c + ":async")
}) : f
} catch (ya) {
this.throwError(ya, c)
}
};
e._blockUpcomingCaptor = function(a, c) {
var b = this;
void 0 === c && (c = Infinity);
a && (this._blockedCaptors = this._blockedCaptors || new h, this._blockedCaptors.add(a), Infinity > c && C(function() {
return b._releaseCaptor(a)
}, c))
};
e._releaseCaptor = function(a) {
a && this._blockedCaptors.has(a) && this._blockedCaptors["delete"](a)
};
e._executeCaptor = function(a, c) {
a && "function" === typeof c && (this._blockedCaptors &&
this._blockedCaptors.has(a) ? this._releaseCaptor(a) : c())
};
e._getEventObject = function(a, c, b, f) {
c = "number" === typeof c ? c : c ? this.findNode(c) || -1 : null;
return {
stamp: this._stampForType(a, f),
type: a,
target: c,
meta: b || null
}
};
e._getMutationObject = function(a, c, b) {
void 0 === b && (b = 0);
return {
stamp: this._stampForType("mutation", c),
meta: {
changes: a,
index: b
}
}
};
e._stampForType = function(a, c) {
var b = c || this.stamp;
return ca[a] = b + (b === ca[a] ? 1 : 0)
};
e._getInitialScroll = function() {
var a = [],
c = this.document.body,
b = this._getScroll(c);
null != b && a.push(b);
a.concat(this._getScrolls(c.childNodes));
return a
};
e._getScrolls = function(c) {
var b = this;
return a.toArray(c).reduce(function(a, c) {
var f = b._getScroll(c);
null != f && a.push(f);
0 < c.childNodes.length && a.concat(b._getScrolls(c.childNodes));
return a
}, [])
};
e._getScroll = function(a) {
var c = a.scrollTop,
b = a.scrollLeft;
if (0 < c || 0 < b) return {
target: this.findNode(a),
scroll: [c, b]
}
};
e._initMessenger = function() {
return p.resolve()
};
e._initMasterMessenger = function() {
var b = this;
this.messenger.subscribe("iframe_register",
function(c, b) {
var f = a.offsets(c.sender);
b({
success: !0,
offsets: {
top: f.top,
left: f.left
}
})
});
this.messenger.subscribe("iframe_data", function(f) {
var d = f.data;
f = f.sender;
var e = b.findNode(f);
if (null != e) {
var l = {
frameId: e
};
d.page && (e = c()({}, d.page, l, {
stamp: b._stampForType("page")
}), b._request("/dump", {
page: e
}));
if (d.events) {
f = a.offsets(f, {
relative: !0
});
var h = f.left,
g = f.top;
f = d.events.map(function(a) {
/mouse/.test(a.type) && (a.meta.x = Math.round(a.meta.x + h), a.meta.y = Math.round(a.meta.y + g));
return c()({}, a, l, {
stamp: b._stampForType(a.type)
})
});
b._publishActions(f)
}
d.mutations && (d = d.mutations.map(function(a) {
return c()({}, a, l, {
stamp: b._stampForType("mutation")
})
}), b._publishMutations(d))
}
})
};
e._initSlaveMessenger = function() {};
e._publishActions = function() {
var a;
this._saveChanges({
events: (a = []).concat.apply(a, arguments)
})
};
e._publishMutations = function() {
var a;
this._saveChanges({
mutations: (a = []).concat.apply(a, arguments)
})
};
e._request = function(b, f, d) {
void 0 === f && (f = {});
void 0 === d && (d = !1);
this._EOF_SENT && !0 !==
d || (!0 === this.started || !0 === d ? (f = a.combine({
_v: y.a["package"].version
}, c()({}, f)), this.sender.send({
url: b,
data: c()({}, f)
})) : this.precache.push([b, f]))
};
e._saveChanges = function(a) {
this._request("/dump", a);
!this._EOF_SENT && this.started && (this.dataSent >= this.options.maxSize || this.hitDuration >= this.options.maxDuration) && this.stop()
};
e.sendSnapshot = function() {
var a = this;
return this.snapshot.get({
onSuccess: function(c) {
a.savePageSnapshot(c);
return !0
},
onFail: function() {
return !1
}
})
};
e._createSnapshot = function() {
var a =
this,
c = p.resolve().then(function() {
return {
content: a.summary.html
}
})["catch"](function(a) {
return {
error: a
}
}).then(function(a) {
return {
content: a.content,
error: a.error
}
});
this.snapshot = {
get: function(b) {
var f = b.onSuccess,
d = b.onFail;
return c.then(function(c) {
var b = c.error;
c = c.content;
b ? (c = d.call(a, c, b), a.fatal("invalid-snapshot", b)) : c = f.call(a, c);
return c
})
}
}
};
e.savePageSnapshot = function(a) {
if (this.indexer && !this.indexer.disabled) return a = c()({
content: a,
tabId: Object(P.a)(),
recordStamp: (new Date).getTime()
},
this.page), this._saveChanges({
page: a
})
};
e._sendInitialEvents = function() {
var a = this,
c = [],
b = function() {
var c = a.captors.get("resize");
return c && c.getValue.call(a)
}(),
f = this.viewport.scrollingElement,
d = this._getInitialScroll().map(function(c) {
var b = c.scroll,
d = b[0];
b = b[1];
c = function(a) {
return a === this.document || a === this.window ? f : a
}(a.indexer.find(c.target));
return a._getEventObject("scroll", c, {
x: b,
y: d,
page: c === f
})
});
b && c.push(b);
c.push.apply(c, d);
this._saveChanges({
events: c
})
};
e._sendPreCachedData = function(a) {
a =
(void 0 === a ? {} : a).force;
a = void 0 === a ? !1 : a;
if (this.precache.length)
for (var c; null != (c = this.precache.shift());) this._request(c[0], c[1], a)
};
e._connectToParent = function() {
this._sendMessage("connect", {
id: this._identifier
})
};
e._sendMessage = function(a, c) {
(W ? this.window.top : this.window).postMessage({
type: a,
data: c
}, "*")
};
e._universalHandler = function(a, c) {
var b = this,
f = (void 0 === c ? {} : c).extra,
d = void 0 === f ? [] : f;
return function() {
for (var c = arguments.length, f = Array(c), e = 0; e < c; e++) f[e] = arguments[e];
b.errorLogger(function() {
b.paused ||
a.apply(b, f.concat(d))
}, "universal-handler")
}
};
e._createInstance = function() {
for (var a = arguments.length, c = Array(a), b = 0; b < a; b++) c[b] = arguments[b];
return f()(this.constructor, c)
};
l()(d, [{
key: "window",
get: function() {
return this._context.window
}
}, {
key: "document",
get: function() {
return this._context.document
}
}, {
key: "bodyNode",
get: function() {
return this.__bodyNode || (this.__bodyNode = this.document.body)
}
}, {
key: "fpsDelay",
get: function() {
return 1E3 / this.fps
}
}, {
key: "doctype",
get: function() {
var a = this.document.doctype || {},
c = a.publicId,
b = a.systemId;
return "\x3c!DOCTYPE " + [a.name || "html", c ? ' PUBLIC "' + c + '"' : "", !c && b ? " SYSTEM" : "", b ? ' "' + b + '"' : ""].join("") + "\x3e"
}
}, {
key: "rootNode",
get: function() {
return this.__rootNode || (this.__rootNode = this.document.documentElement)
}
}, {
key: "stamp",
get: function() {
return this._timer ? this._timer.stamp() : 0
}
}, {
key: "eventID",
get: function() {
return this._eventID ? this._eventID += 1 : this._eventID = 1
}
}, {
key: "page",
get: function() {
var a = this.viewport ? this.viewport.getSize() : {
width: 0,
height: 0
},
c = M.DOMUtils.base(),
b = !!q.querySelector("base[href]");
return {
meta: {
base: c,
hasBase: b,
viewport: a,
title: q.title,
doctype: this.doctype,
address: H.href,
ua: navigator.userAgent,
referrer: q.referrer,
adblocking: za.checkSync(),
screen: {
width: da.width,
height: da.height
},
location: {
host: H.host,
protocol: H.protocol,
path: H.pathname
}
}
}
}
}]);
return d
}(B.a),
Y = {
IS_INCOGNITO: T.IS_INCOGNITO,
IS_MOBILE_DEVICE: T.IS_MOBILE_DEVICE,
DO_NOT_TRACK: T.DO_NOT_TRACK
};
a.forin(Y, function(a) {
var c = {
value: Y[a]
};
Object.defineProperty(X, a, c);
Object.defineProperty(X.prototype,
a, c)
})
}).call(this, d(4)["default"], d(10)["default"], d(23).Promise, d(7)["default"])
},
function(a, b, d) {
b = d(22)["default"];
a.exports = d(67)() ? b : d(68)
},
function(a, b, d) {
(function(b) {
var d = {
object: !0,
symbol: !0
};
a.exports = function() {
if ("function" !== typeof b) return !1;
var a = b("test symbol");
try {
String(a)
} catch (h) {
return !1
}
return d[typeof b.iterator] && d[typeof b.toPrimitive] && d[typeof b.toStringTag] ? !0 : !1
}
}).call(this, d(22)["default"])
},
function(a, b, d) {
(function(b) {
var e = d(69),
p = d(83),
h = Object.create,
m = Object.defineProperties,
f = Object.defineProperty,
c = Object.prototype,
l, t = h(null);
if ("function" === typeof b) {
var k = b;
try {
String(k());
var n = !0
} catch (O) {}
}
var y = function() {
var a = h(null);
return function(b) {
for (var d = 0, l, h; a[b + (d || "")];) ++d;
b += d || "";
a[b] = !0;
l = "@@" + b;
f(c, l, e.gs(null, function(a) {
h || (h = !0, f(this, l, e(a)), h = !1)
}));
return l
}
}();
var q = function(a) {
if (this instanceof q) throw new TypeError("Symbol is not a constructor");
return l(a)
};
a.exports = l = function ia(a) {
if (this instanceof ia) throw new TypeError("Symbol is not a constructor");
if (n) return k(a);
var c = h(q.prototype);
a = a === w ? "" : String(a);
return m(c, {
__description__: e("", a),
__name__: e("", y(a))
})
};
m(l, {
"for": e(function(a) {
return t[a] ? t[a] : t[a] = l(String(a))
}),
keyFor: e(function(a) {
var c;
p(a);
for (c in t)
if (t[c] === a) return c
}),
hasInstance: e("", k && k.hasInstance || l("hasInstance")),
isConcatSpreadable: e("", k && k.isConcatSpreadable || l("isConcatSpreadable")),
iterator: e("", k && k.iterator || l("iterator")),
match: e("", k && k.match || l("match")),
replace: e("", k && k.replace || l("replace")),
search: e("",
k && k.search || l("search")),
species: e("", k && k.species || l("species")),
split: e("", k && k.split || l("split")),
toPrimitive: e("", k && k.toPrimitive || l("toPrimitive")),
toStringTag: e("", k && k.toStringTag || l("toStringTag")),
unscopables: e("", k && k.unscopables || l("unscopables"))
});
m(q.prototype, {
constructor: e(l),
toString: e("", function() {
return this.__name__
})
});
m(l.prototype, {
toString: e(function() {
return "Symbol (" + p(this).__description__ + ")"
}),
valueOf: e(function() {
return p(this)
})
});
f(l.prototype, l.toPrimitive, e("",
function() {
var a = p(this);
return "symbol" === typeof a ? a : a.toString()
}));
f(l.prototype, l.toStringTag, e("c", "Symbol"));
f(q.prototype, l.toStringTag, e("c", l.prototype[l.toStringTag]));
f(q.prototype, l.toPrimitive, e("c", l.prototype[l.toPrimitive]))
}).call(this, d(22)["default"])
},
function(a, b, d) {
var e = d(70),
g = d(78),
p = d(79),
h = d(80);
(a.exports = function(a, b) {
var c;
if (2 > arguments.length || "string" !== typeof a) {
var f = b;
b = a;
a = null
} else f = arguments[2];
if (null == a) {
var d = c = !0;
var m = !1
} else d = h.call(a, "c"), m = h.call(a,
"e"), c = h.call(a, "w");
d = {
value: b,
configurable: d,
enumerable: m,
writable: c
};
return f ? e(g(f), d) : d
}).gs = function(a, b, c, d) {
"string" !== typeof a && (d = c, c = b, b = a, a = null);
null == b ? b = w : p(b) ? null == c ? c = w : p(c) || (d = c, c = w) : (d = b, b = c = w);
if (null == a) {
var f = !0;
a = !1
} else f = h.call(a, "c"), a = h.call(a, "e");
b = {
get: b,
set: c,
configurable: f,
enumerable: a
};
return d ? e(g(d), b) : b
}
},
function(a, b, d) {
a.exports = d(71)() ? Object.assign : d(72)
},
function(a, b, d) {
a.exports = function() {
var a = Object.assign;
if ("function" !== typeof a) return !1;
var b = {
foo: "raz"
};
a(b, {
bar: "dwa"
}, {
trzy: "trzy"
});
return "razdwatrzy" === b.foo + b.bar + b.trzy
}
},
function(a, b, d) {
var e = d(73),
g = d(77),
p = Math.max;
a.exports = function(a, b) {
var f, c, d = p(arguments.length, 2);
a = Object(g(a));
var h = function(c) {
try {
a[c] = b[c]
} catch (D) {
f || (f = D)
}
};
for (c = 1; c < d; ++c) b = arguments[c], e(b).forEach(h);
if (f !== w) throw f;
return a
}
},
function(a, b, d) {
a.exports = d(74)() ? Object.keys : d(75)
},
function(a, b, d) {
a.exports = function() {
try {
return Object.keys("primitive"), !0
} catch (e) {
return !1
}
}
},
function(a, b, d) {
var e = d(31),
g = Object.keys;
a.exports = function(a) {
return g(e(a) ? Object(a) : a)
}
},
function(a, b, d) {
a.exports = function() {}
},
function(a, b, d) {
var e = d(31);
a.exports = function(a) {
if (!e(a)) throw new TypeError("Cannot use null or undefined");
return a
}
},
function(a, b, d) {
var e = d(31),
g = Array.prototype.forEach,
p = Object.create;
a.exports = function(a) {
var b = p(null);
g.call(arguments, function(a) {
if (e(a)) {
a = Object(a);
for (var c in a) b[c] = a[c]
}
});
return b
}
},
function(a, b, d) {
a.exports = function(a) {
return "function" === typeof a
}
},
function(a, b, d) {
a.exports =
d(81)() ? String.prototype.contains : d(82)
},
function(a, b, d) {
a.exports = function() {
return "function" !== typeof "razdwatrzy".contains ? !1 : !0 === "razdwatrzy".contains("dwa") && !1 === "razdwatrzy".contains("foo")
}
},
function(a, b, d) {
var e = String.prototype.indexOf;
a.exports = function(a, b) {
return -1 < e.call(this, a, b)
}
},
function(a, b, d) {
var e = d(84);
a.exports = function(a) {
if (!e(a)) throw new TypeError(a + " is not a symbol");
return a
}
},
function(a, b, d) {
a.exports = function(a) {
return a ? "symbol" === typeof a ? !0 : a.constructor && "Symbol" ===
a.constructor.name ? "Symbol" === a[a.constructor.toStringTag] : !1 : !1
}
},
function(a, b, d) {
d.r(b);
d.d(b, "MapUtils", function() {
return e
});
var e = {
setIfNotExists: function(a, b, d) {
!1 === a.has(b) && a.set(b, this.invoke(d))
},
getOrSet: function(a, b, d) {
if (a.has(b)) return a.get(b);
d = this.invoke(d);
a.set(b, d);
return d
},
getAndUpdate: function(a, b, d) {
var e = d = this.invoke(d);
a.has(b) && (e = a.get(b));
a.set(b, d);
return e
}
}
},
function(a, b, d) {
(function(b) {
(function(b, d) {
a.exports = d()
})(this, function() {
function a(a) {
return "function" ===
typeof a
}
function d() {
return function() {
return b.nextTick(l)
}
}
function e() {
return "undefined" !== typeof P ? function() {
P(l)
} : c()
}
function m() {
var a = 0,
c = new U(l),
b = q.createTextNode("");
c.observe(b, {
characterData: !0
});
return function() {
b.data = a = ++a % 2
}
}
function f() {
var a = new MessageChannel;
a.port1.onmessage = l;
return function() {
return a.port2.postMessage(0)
}
}
function c() {
return function() {
return C(l, 1)
}
}
function l() {
for (var a = 0; a < L; a += 2)(0, R[a])(R[a + 1]), R[a] = w, R[a + 1] = w;
L = 0
}
function t() {
try {
var a = Function("return this")().require("vertx");
P = a.runOnLoop || a.runOnContext;
return e()
} catch (xa) {
return c()
}
}
function k(a, c) {
var b = this,
f = new this.constructor(y);
f[N] === w && J(f);
var d = b._state;
if (d) {
var e = arguments[d - 1];
ba(function() {
return G(d, f, e, b._result)
})
} else B(b, f, a, c);
return f
}
function D(a) {
if (a && "object" === typeof a && a.constructor === this) return a;
var c = new this(y);
r(c, a);
return c
}
function y() {}
function aa(a) {
try {
return a.then
} catch (xa) {
return X.error = xa, X
}
}
function O(a, c, b, f) {
try {
a.call(c, b, f)
} catch (la) {
return la
}
}
function A(a, c, b) {
ba(function(a) {
var f = !1,
d = O(b, c, function(b) {
f || (f = !0, c !== b ? r(a, b) : u(a, b))
}, function(c) {
f || (f = !0, F(a, c))
}, "Settle: " + (a._label || " unknown promise"));
!f && d && (f = !0, F(a, d))
}, a)
}
function ia(a, c) {
c._state === V ? u(a, c._result) : c._state === W ? F(a, c._result) : B(c, w, function(c) {
return r(a, c)
}, function(c) {
return F(a, c)
})
}
function v(c, b, f) {
b.constructor === c.constructor && f === k && b.constructor.resolve === D ? ia(c, b) : f === X ? (F(c, X.error), X.error = null) : f === w ? u(c, b) : a(f) ? A(c, b, f) : u(c, b)
}
function r(a, c) {
if (a === c) F(a, new TypeError("You cannot resolve a promise with itself"));
else {
var b = typeof c;
null === c || "object" !== b && "function" !== b ? u(a, c) : v(a, c, aa(c))
}
}
function x(a) {
a._onerror && a._onerror(a._result);
E(a)
}
function u(a, c) {
a._state === ka && (a._result = c, a._state = V, 0 !== a._subscribers.length && ba(E, a))
}
function F(a, c) {
a._state === ka && (a._state = W, a._result = c, ba(x, a))
}
function B(a, c, b, f) {
var d = a._subscribers,
e = d.length;
a._onerror = null;
d[e] = c;
d[e + V] = b;
d[e + W] = f;
0 === e && a._state && ba(E, a)
}
function E(a) {
var c = a._subscribers,
b = a._state;
if (0 !== c.length) {
for (var f, d, e = a._result, l = 0; l < c.length; l +=
3) f = c[l], d = c[l + b], f ? G(b, f, d, e) : d(e);
a._subscribers.length = 0
}
}
function G(c, b, f, d) {
var e = a(f),
l = void 0,
h = void 0,
g = void 0,
m = void 0;
if (e) {
try {
l = f(d)
} catch (Aa) {
X.error = Aa, l = X
}
l === X ? (m = !0, h = l.error, l.error = null) : g = !0;
if (b === l) {
F(b, new TypeError("A promises callback cannot return that same promise."));
return
}
} else l = d, g = !0;
b._state === ka && (e && g ? r(b, l) : m ? F(b, h) : c === V ? u(b, l) : c === W && F(b, l))
}
function K(a, c) {
try {
c(function(c) {
r(a, c)
}, function(c) {
F(a, c)
})
} catch (Q) {
F(a, Q)
}
}
function J(a) {
a[N] = Y++;
a._state = w;
a._result =
w;
a._subscribers = []
}
var H = void 0,
I = H = Array.isArray ? Array.isArray : function(a) {
return "[object Array]" === Object.prototype.toString.call(a)
},
L = 0,
P = void 0,
M = void 0,
ba = function(a, c) {
R[L] = a;
R[L + 1] = c;
L += 2;
2 === L && (M ? M(l) : ea())
},
T = (H = "undefined" !== typeof n ? n : w) || {},
U = T.MutationObserver || T.WebKitMutationObserver;
T = "undefined" === typeof self && "undefined" !== typeof b && "[object process]" === {}.toString.call(b);
var ca = "undefined" !== typeof Uint8ClampedArray && "undefined" !== typeof importScripts && "undefined" !== typeof MessageChannel,
R = Array(1E3),
ea = void 0;
ea = T ? d() : U ? m() : ca ? f() : H === w ? t() : c();
var N = Math.random().toString(36).substring(2),
ka = void 0,
V = 1,
W = 2,
X = {
error: null
},
Y = 0,
da = function() {
function a(a, c) {
this._instanceConstructor = a;
this.promise = new a(y);
this.promise[N] || J(this.promise);
I(c) ? (this._remaining = this.length = c.length, this._result = Array(this.length), 0 === this.length ? u(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(c), 0 === this._remaining && u(this.promise, this._result))) : F(this.promise, Error("Array Methods must be provided an Array"))
}
a.prototype._enumerate = function(a) {
for (var c = 0; this._state === ka && c < a.length; c++) this._eachEntry(a[c], c)
};
a.prototype._eachEntry = function(a, c) {
var b = this._instanceConstructor,
f = b.resolve;
f === D ? (f = aa(a), f === k && a._state !== ka ? this._settledAt(a._state, c, a._result) : "function" !== typeof f ? (this._remaining--, this._result[c] = a) : b === S ? (b = new b(y), v(b, a, f), this._willSettleAt(b, c)) : this._willSettleAt(new b(function(c) {
return c(a)
}), c)) : this._willSettleAt(f(a), c)
};
a.prototype._settledAt = function(a, c, b) {
var f = this.promise;
f._state === ka && (this._remaining--, a === W ? F(f, b) : this._result[c] = b);
0 === this._remaining && u(f, this._result)
};
a.prototype._willSettleAt = function(a, c) {
var b = this;
B(a, w, function(a) {
return b._settledAt(V, c, a)
}, function(a) {
return b._settledAt(W, c, a)
})
};
return a
}(),
S = function() {
function c(a) {
this[N] = Y++;
this._result = this._state = w;
this._subscribers = [];
if (y !== a) {
if ("function" !== typeof a) throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");
if (this instanceof c) K(this, a);
else throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
}
}
c.prototype["catch"] = function(a) {
return this.then(null, a)
};
c.prototype["finally"] = function(c) {
var b = this.constructor;
return a(c) ? this.then(function(a) {
return b.resolve(c()).then(function() {
return a
})
}, function(a) {
return b.resolve(c()).then(function() {
throw a;
})
}) : this.then(c, c)
};
return c
}();
S.prototype.then = k;
S.all = function(a) {
return (new da(this,
a)).promise
};
S.race = function(a) {
var c = this;
return I(a) ? new c(function(b, f) {
for (var d = a.length, e = 0; e < d; e++) c.resolve(a[e]).then(b, f)
}) : new c(function(a, c) {
return c(new TypeError("You must pass an array to race."))
})
};
S.resolve = D;
S.reject = function(a) {
var c = new this(y);
F(c, a);
return c
};
S._setScheduler = function(a) {
M = a
};
S._setAsap = function(a) {
ba = a
};
S._asap = ba;
S.polyfill = function() {
var a = void 0;
if ("undefined" !== typeof global) a = global;
else if ("undefined" !== typeof self) a = self;
else try {
a = Function("return this")()
} catch (fa) {
throw Error("polyfill failed because global object is unavailable in this environment");
}
var c = a.Promise;
if (c) {
var b = null;
try {
b = Object.prototype.toString.call(c.resolve())
} catch (fa) {}
if ("[object Promise]" === b && !c.cast) return
}
a.Promise = S
};
return S.Promise = S
})
}).call(this, d(37))
},
function(a, b, d) {
d.r(b);
(function(a) {
d.d(b, "MathUtils", function() {
return e
});
var e = {
toChunks: function(b, d) {
var e = b.slice(0),
f = e.length,
c = f === d ? Math.round : Math.floor,
l = 0;
return e.reduce(function(b, h, g) {
var m = c(d / (f / g));
0 < g && 1 < m - l && a.warn("Invalid index " + m + ": " + c(d / (f / (g - 1))) + " \x3c\x3d\x3e " + c(d / (f / g)), [e.length,
g, d
], [e.length / g], [d / (e.length / g)]);
l = m;
b[m] = b[m] || [];
b[m].push(h);
return b
}, [])
},
split: function(a, b) {
return a.reduce(function(a, f, c) {
c = Math.floor(c / b);
a[c] = (a[c] || []).concat(f);
return a
}, [])
},
avg: function(a) {
return a.length ? a.reduce(function(a, b) {
return a + b
}) / a.length : NaN
},
max: function(a) {
return a.length ? a.reduce(function(a, b) {
return a > b ? a : b
}) : NaN
},
random: function(a, b) {
void 0 === a && (a = 0);
return Math.round(Math.random() * b + a)
}
}
}).call(this, d(15)["default"])
},
function(a, b) {
function d(b, g) {
a.exports =
d = Object.setPrototypeOf || function(a, b) {
a.__proto__ = b;
return a
};
return d(b, g)
}
a.exports = d
}
])["default"]
} catch (a) {
La = {
error: a,
scope: "recoder"
}
}
var k = {
isNativeFunction: function(a, b) {
return a ? (new RegExp("function\\s*" + b + "\\s*\\(\\)\\s*\\{\\s*\\[native[\\s-]code\\]\\s*\\}", "i")).test(a.toString()) : !1
},
mixin: function(a) {
var b, d;
for (b = 1; b < arguments.length; b++)
if (arguments[b]) {
for (d in arguments[b]) arguments[b].hasOwnProperty(d) && (a[d] = arguments[b][d]);
arguments[b].hasOwnProperty("toString") && (a.toString =
arguments[b].toString)
} return a
}
},
I = function(a) {
a = a || {};
k.mixin(this, a);
this._initComponent()
};
I.prototype._initComponent = function() {};
I.inherit = function(a) {
a = a || {};
var b = "function" == typeof this ? this : Object;
a.hasOwnProperty("constructor") || (a.constructor = function() {
b.apply(this, arguments)
});
var d = function() {};
d.prototype = b.prototype;
a.constructor.prototype = new d;
k.mixin(a.constructor.prototype, a);
a.constructor.prototype.constructor = a.constructor;
a.constructor.superclass = b.prototype;
a.constructor.inherit =
I.inherit;
return a.constructor
};
k.forEachKey = function(a, b, d) {
for (var e in a) a.hasOwnProperty(e) && b.call(d, e, a[e], a)
};
k.isEqual = function(a, b) {
var d = !0;
k.forEachKey(a, function(a, g) {
b.hasOwnProperty(a) && b[a] === g || (d = !1)
});
if (!d) return d;
k.forEachKey(b, function(b, g) {
a.hasOwnProperty(b) && a[b] === g || (d = !1)
});
return d
};
k.getNativeFunction = function(a, b) {
var d;
b = b || n;
return (d = b.constructor && b.constructor.prototype && b.constructor.prototype[a] || b[a]) && "apply" in d ? function() {
return d.apply(b, arguments)
} : function() {}
};
k.setTimeout = function(a, b, d) {
return k.getNativeFunction("setTimeout")(E(a, d || "setTimeout"), b)
};
var r = I.inherit({
_initComponent: function() {
r.superclass._initComponent.apply(this, arguments);
this._listeners = []
},
on: function(a, b, d, e, g) {
g = r._getOpts(g);
b = b.split(",");
var p = b.length,
h = this._listeners,
m;
for (m = 0; m < p; m++) {
var f = b[m];
var c = E(function(a) {
d.call(e || this, a || n.event)
}, "on" + (f || "") + (g.name || ""));
h[h.length] = [a, f, d, e, g, c];
a.addEventListener ? a.addEventListener(f, c, r._prepOpts(g)) : a.attachEvent && a.attachEvent("on" +
f, c)
}
},
un: function(a, b, d, e, g) {
g = r._getOpts(g);
var p = this._listeners,
h = p.length,
m;
for (m = 0; m < h; m++) {
var f = p[m];
if (f[0] == a && f[1] == b && f[2] == d && f[3] == e && k.isEqual(f[4], g)) {
p.splice(m, 1);
this._removeListener(a, b, f[5], g);
break
}
}
},
unAll: function() {
var a = this._listeners,
b = a.length,
d;
for (d = 0; d < b; d++) {
var e = a[d];
this._removeListener(e[0], e[1], e[5], e[4])
}
a.length = 0
},
_removeListener: function(a, b, d, e) {
a.removeEventListener ? a.removeEventListener(b, d, r._prepOpts(e)) : a.detachEvent && a.detachEvent("on" + b, d)
}
});
r.supportsPassive =
function() {
if (r._supportsPassive !== w) return r._supportsPassive;
r._supportsPassive = !1;
try {
var a = Object.defineProperty({}, "passive", {
get: function() {
r._supportsPassive = !0
}
});
n.addEventListener("test", null, a)
} catch (b) {}
return r._supportsPassive
};
r._getOpts = function(a) {
return k.mixin({
capture: !0,
passive: !0
}, a || {})
};
r._prepOpts = function(a) {
return r.supportsPassive() ? a : !!a.capture
};
r.on = function() {
r._instance || (r._instance = new r);
r._instance.on.apply(r._instance, arguments)
};
r.un = function() {
r._instance &&
r._instance.un.apply(r._instance, arguments)
};
var x = {
UNLOAD_MS: 0,
isPerfomance: n.performance && n.performance.timing && n.performance.timing.navigationStart && n.performance.now,
getMs: function() {
return 0 < this.UNLOAD_MS ? this.UNLOAD_MS : this.isPerfomance ? Math.round(n.performance.timing.navigationStart + n.performance.now()) : x.oldMs()
},
getFormStart: function() {
return this.isPerfomance ? Math.round(n.performance.now()) : this.getMs() - this.initTime
}
};
x.oldMs = Date.now ? Date.now : function() {
return (new Date).getTime()
};
x.initTime =
x.getMs();
r.on(n, "beforeunload,unload", function() {
0 === x.UNLOAD_MS && (x.UNLOAD_MS = x.getMs())
});
k.pad = function(a) {
return (10 > a ? "0" : "") + a
};
x.getTimestamp = function() {
var a = new Date;
a = [a.getFullYear(), a.getMonth() + 1, a.getDate(), a.getHours(), a.getMinutes(), a.getSeconds()];
var b = "",
d;
for (d = 0; d < a.length; d++) b += k.pad(a[d]);
return b
};
x.getTimezone = function() {
return -(new Date).getTimezoneOffset()
};
x.getMinutes = function() {
return Math.floor(this.getMs() / 1E3 / 60)
};
x.getSeconds = function() {
return Math.round(this.getMs() /
1E3)
};
x.isPerfomance || (x.deltaTime = 0, x.lastNowTime = 0, x.correctTime = 0, x.timeCorrector = function(a) {
x.correctTime = x.getMs();
a && x.correctTime < x.lastTime && (x.deltaTime += a - x.correctTime + 20);
k.setTimeout(function() {
x.timeCorrector(x.correctTime)
}, 20, "timeCorrector")
});
x.initCorrector = function() {
x.isPerfomance || x.timeCorrector(0)
};
x.nowTime = function() {
if (this.isPerfomance) return this.getMs();
var a = this.getMs() + x.deltaTime;
a < x.lastNowTime && (a += x.lastNowTime + 10);
return x.lastNowTime = a
};
x.nowEventTime = function() {
return Math.round((x.nowTime() -
x.initTime) / 50)
};
k.toString = function(a) {
return Object.prototype.toString.call(a)
};
k.isFunction = function(a) {
return "function" === typeof a
};
k.isArray = function(a) {
return "function" === k.isFunction(Array.isArray) ? Array.isArray(a) : "[object Array]" === k.toString(a)
};
k.mergeArrays = function(a) {
var b, d, e = arguments.length;
for (b = 1; b < e; b++) {
var g = arguments[b];
if (k.isArray(g) || g && "[object Arguments]" === g.toString())
for (d = 0; d < g.length; d++) a[a.length] = g[d]
}
return a
};
k.defer = function(a, b, d, e, g) {
return k.setTimeout(function() {
a.apply(d,
e || [])
}, b, g)
};
k.throttle = function(a, b, d, e) {
var g, p, h;
return function() {
p = arguments;
h = this;
g || function() {
g = null;
p && (a.apply(d || h, p), p = null, g = k.setTimeout(arguments.callee, b, e))
}()
}
};
var va = I.inherit({
storage: null,
storageKey: "dataBuffer",
store: {
_keys: [],
_values: [],
get: function(a) {
a = k.arrayIndexOf(this._keys, a);
return -1 == a ? null : this._values[a]
},
set: function(a, b) {
this._keys.push(a);
this._values.push(b)
},
pop: function(a) {
a = k.arrayIndexOf(this._keys, a);
if (-1 == a) return null;
var b = this._values[a];
this._keys.splice(a,
1);
this._values.splice(a, 1);
return b
}
},
maxBufferSize: 255,
flushTimeout: 1E4,
startBufferTime: 0,
active: !0,
meta: null,
onFlush: function() {},
onFlushCtx: null,
bufferExpireTime: 864E5,
_initComponent: function() {
var a;
va.superclass._initComponent.apply(this, arguments);
this.wrappers = [];
this._data = [];
this._packetNumber = 0;
this._flushTID = null;
this._saveToStorageThrottled = k.throttle(this._saveToStorage, 300, this, "DataBuffer._saveToStorage");
this.storage && (a = this.storage.get(this.storageKey)) && a.data && a.meta && a.time &&
a.time + this.bufferExpireTime > +x.getMs() && this.onFlush.call(this.onFlushCtx || this, this.dataFromStorage(a.data), a.meta, a.pnum);
this.clear()
},
setWVType: function(a) {
this.wvType = a;
this._sender.version = a
},
getFlushSize: function() {
return this._data.length
},
mergeData: function(a, b) {
k.mergeArrays(a, b)
},
append: function(a, b) {
this.mergeData(this._data, a);
this._saveToStorageThrottled();
this.active && ((b || this.getFlushSize() >= this.maxBufferSize || this.getFlushSize() === this.maxChunkSize) && this._flush(b), this._flushTID ||
(this._flushTID = k.defer(this._flush, this.flushTimeout, this, [b], "DataBuffer._flush")))
},
activate: function() {
this.active || (this.active = !0, this.append([]))
},
clear: function() {
this._data.length = 0;
this._flushTID = null;
this.storage && this.storage.remove(this.storageKey)
},
_flush: function(a) {
if (!this.getFlushSize()) return this.clear(), !1;
this.onFlush.call(this.onFlushCtx || this, this._data, this.meta, this._packetNumber, a);
this._packetNumber++;
this.clear()
},
dataFromStorage: function(a) {
return a
},
dataToStorage: function(a) {
return a
},
_saveToStorage: function() {
this.storage && this._data.length && this.storage.set(this.storageKey, {
data: this.dataToStorage(this._data),
meta: this.meta,
pnum: this._packetNumber,
time: x.getMs()
})
}
}),
ob = "ru ua by kz az kg lv md tj tm uz ee fr co.il com.ge com.am com.tr".split(" ");
var ra = ["mc.webvisor.org", "mc.yandex.ru"];
var B = {
storage: {},
init: function() {
var a = this;
E(function() {
n.Ya = n.Ya || {};
n.Ya._metrika = n.Ya._metrika || {};
a.storage = n.Ya._metrika
}, "", !0)();
return this
},
setSafe: function(a, b) {
var d = this;
E(function() {
d.storage[a] ===
w && (d.storage[a] = b)
}, "", !0)();
return this
},
set: function(a, b) {
E(function() {
n.Ya._metrika[a] = b
}, "", !0)();
return this
},
get: function(a, b) {
return E(function() {
var d = n.Ya._metrika[a];
return d === w ? b : d
}, "", !0)()
}
};
k.async = function(a, b, d) {
if (n.postMessage) {
var e = "__ym__promise" + Math.random() + "_" + x.getMs();
var g = function(d) {
try {
var h = d.data
} catch (m) {
return
}
h === e && (d.stopPropagation && d.stopPropagation(), a.call(b), r.un(n, "message", g, null, {
passive: !1
}))
};
r.on(n, "message", g, null, {
passive: !1,
name: ".async." + (d ||
"")
});
n.postMessage(e, "*")
} else k.setTimeout(function() {
a.call(b)
}, 0)
};
var J = I.inherit({
counterId: "",
onlyCurrentDomain: !1,
skipPrefix: !1,
_initComponent: function() {
var a;
J.superclass._initComponent.apply(this, arguments);
this._domain = null;
if (!this.onlyCurrentDomain) {
var b = n.location.host.split(".");
for (a = 2;;)
if (a <= b.length) {
if (this._domain = "." + b.slice(-a).join("."), a++, this.isEnabled()) break
} else {
this._domain = null;
break
}
}
},
create: function(a, b, d) {
a = [this._prepareName(a) + "\x3d" + encodeURIComponent(b)];
d && (b = new Date, b.setTime(b.getTime() + 6E4 * d), a.push("expires\x3d" + b.toGMTString()));
this._domain && a.push("domain\x3d" + this._domain);
a.push("path\x3d/");
try {
q.cookie = a.join(";")
} catch (e) {}
},
read: function(a) {
try {
var b = q.cookie
} catch (d) {}
return b && b.match(new RegExp("(?:^|;\\s*)" + this._prepareName(a) + "\x3d([^;]*)")) ? decodeURIComponent(RegExp.$1) : null
},
erase: function(a) {
this.create(a, "", -1)
},
isEnabled: function() {
this.create("metrika_enabled", "1", 60);
var a = !!this.read("metrika_enabled");
this.erase("metrika_enabled");
return a
},
_prepareName: function(a) {
return (this.skipPrefix ? "" : "_ym_") + a + (this.counterId ? "_" + this.counterId : "")
}
});
J.get = function(a) {
return (new J({
onlyCurrentDomain: !0
})).read(a)
};
J.set = function(a, b, d) {
return (new J({
onlyCurrentDomain: !0
})).create(a, b, d)
};
J.isEnabled = function() {
return (new J({
onlyCurrentDomain: !0
})).isEnabled()
};
k._hasIndexOf = [].indexOf && 0 === [w].indexOf(w);
k.arrayIndexOf = k._hasIndexOf ? function(a, b) {
return a.indexOf(b)
} : function(a, b) {
var d;
for (d = 0; d < a.length; d++)
if (a[d] === b) return d;
return -1
};
k.map = function(a, b) {
var d, e = [];
for (d = 0; d < b.length; d++) e.push(a(b[d], d));
return e
};
var Fa = I.inherit({
hostIndexCookieName: "hostIndex",
hosts: ra.slice(),
HOSTS_DELIMITER: ",",
COUNTERS_DELIMITER: "-",
INDEX: 0,
SUCCESS_COUNTER: 1,
_initComponent: function() {
this.cookie = new J
},
readCookie: function() {
var a = this.cookie.read(this.hostIndexCookieName),
b, d = this;
if (null === a) this.hostsInfo = k.map(function(a, b) {
return [b, 0].join(d.COUNTERS_DELIMITER)
}, ra);
else
for (this.hostsInfo = a.split(this.HOSTS_DELIMITER), b = 0; b < this.hostsInfo.length; b++) a =
this.hostsInfo[b].split(this.COUNTERS_DELIMITER), 1 < parseInt(a[this.SUCCESS_COUNTER], 10) && (this.cookieIndex = parseInt(a[this.INDEX], 10));
this.cookieIndex === w && (this.cookieIndex = 1);
this.selectedHost = ra[this.cookieIndex];
return this
},
getUrls: function(a) {
var b = this,
d = ra.slice();
this.readCookie();
var e = this.cookieIndex;
d[0] = [d[e], d[e] = d[0]][0];
this.hosts = d;
return k.map(function(d) {
return [b.protocol, "//", d, "/", a].join("")
}, d)
},
onSuccess: function(a, b) {
var d = k.arrayIndexOf(ra, this.hosts[a]),
e = this;
"beacon" !==
b && this.cookieIndex !== w && d !== this.cookieIndex && this.cookie.create(this.hostIndexCookieName, k.map(function(a) {
a = a.split(e.COUNTERS_DELIMITER);
d == a[e.INDEX] && (a[e.SUCCESS_COUNTER] = parseInt(a[e.SUCCESS_COUNTER], 10) + 1);
return [a[e.INDEX], a[e.SUCCESS_COUNTER]].join(e.COUNTERS_DELIMITER)
}, this.hostsInfo).join(e.HOSTS_DELIMITER), 1440)
}
});
Fa.isEnabled = function() {
return 1 != (new Fa).readCookie().cookieIndex
};
var Lb = I.inherit({
transports: [],
globalConfig: B,
postParams: [],
isDisabled: function() {
return this.globalConfig.get("oo")
},
send: function(a, b, d, e) {
var g = [a],
p = this,
h = d || function() {};
if (p.isDisabled()) h.call(e);
else {
var m = new Fa({
protocol: this.protocol
});
this.forceHost ? g = [
[this.protocol, "//", this.forceHost, "/", a].join("")
] : ra && (g = m.getUrls(a));
(function l(a) {
if (a < this.transports.length) try {
var c = new this.transports[a]({
timeout: this.timeout,
postParams: this.postParams,
queryStringParams: this.queryStringParams
});
b["browser-info"] = c.logInfo(b["browser-info"]);
(function y(d) {
d >= g.length ? c.blockNext() || l.call(this, a + 1) : c.request(g[d],
b,
function(a, b, l) {
a ? (h.call(e, b, l), m.onSuccess(d, c.id)) : k.async(function() {
y.call(p, d + 1)
}, this, "senderCall")
}, this)
}).call(this, 0)
} catch (z) {
Wa(z, "send by " + (c && c.id)), l.call(this, a + 1)
}
}).call(this, 0)
}
}
}),
Ba = {};
k.keys = function(a) {
var b, d = [];
for (b in a) a.hasOwnProperty(b) && d.push(b);
return d
};
Ba.stringify = function(a, b) {
var d = [],
e = b || {},
g = {},
p = k.keys(a).length,
h, m;
if (e.lastOrdering !== w)
for (m = 1; m <= b.lastOrdering.length; m++) g[b.lastOrdering[m - 1]] = p + m;
if (e.firstOrdering !== w)
for (m = 0; m < b.firstOrdering.length; m++) g[b.firstOrdering[m]] =
m;
for (h in a)
if (a.hasOwnProperty(h))
if (e = a[h], k.isArray(e))
for (m = 0; m < e.length; m++) d.push({
key: h,
value: encodeURIComponent(h) + "\x3d" + encodeURIComponent(String(e[m]))
});
else d.push({
key: h,
value: encodeURIComponent(h) + "\x3d" + encodeURIComponent(String(e))
});
d.sort(function(a, c) {
var b = g[a.key],
f = g[c.key];
"undefined" === typeof b && (b = p);
"undefined" === typeof f && (f = p);
return b - f
});
return k.map(function(a) {
return a.value
}, d).join("\x26")
};
k.inArray = function(a, b) {
var d;
for (d = 0; d < a.length; d++)
if (a[d] == b) return !0;
return !1
};
var na = I.inherit({
postParams: [],
index: 0,
blockNext: function() {
return !1
},
logInfo: function(a) {
var b;
if (a) return a = (b = a.match(/^ti:\d:/)) ? a.replace(b[0], "") : a, "ti:" + this.index + ":" + a
},
_buildUrl: function(a, b) {
var d = Ba.stringify(b, this.queryStringParams);
return a + (-1 < a.indexOf("?") ? "\x26" : d ? "?" : "") + d
},
_splitParams: function(a) {
var b = {},
d = {};
k.forEachKey(a, function(a, g) {
k.inArray(this.postParams, a) ? d[a] = g : b[a] = g
}, this);
return {
get: b,
post: d
}
},
_parseResp: function(a) {
return a
}
}),
Ca = na.inherit({
id: "XHR",
index: 7,
method: "POST",
withCredentials: !0,
blockNext: function() {
return !n.XMLHttpRequest || navigator.platform.match(/Win/) ? !1 : "withCredentials" in new n.XMLHttpRequest
},
request: function(a, b, d, e) {
var g = this,
p;
if (/[^a-z0-9.:-]/.test(H.host) && n.opera && "function" === typeof n.opera.version) {
var h = n.opera.version();
if ("string" === typeof h && "12" === h.split(".")[0]) return d.call(e, !1)
}
if (n.XMLHttpRequest) {
var m = new XMLHttpRequest;
if ("withCredentials" in m) {
b = this._splitParams(b);
a = this._buildUrl(a, b.get);
try {
m.open(this.method,
a, !0)
} catch (f) {
return d.call(e, !1)
}
m.withCredentials = this.withCredentials;
this._setHeaders(m);
m.send(this._preparePostParams(b));
m.onreadystatechange = function() {
if (4 === m.readyState) {
try {
p = g._parseResp(m.responseText)
} catch (f) {
return d.call(e, !1)
}
d.apply(e, [200 === m.status].concat(p))
}
};
return
}
}
d.call(e, !1)
},
setMethod: function(a) {
this.method = a
},
_preparePostParams: function(a) {
return Ba.stringify(a.post)
},
_setHeaders: function(a) {
a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
}
}),
u = {};
k.memorize = function(a, b) {
var d = "memorize";
return function() {
"memorize" === d && (d = a.apply(b || this, arguments));
return d
}
};
u.isAndroidWebView = E(function() {
var a = navigator.userAgent || "";
return a.match(/Android.*Version\/[0-9][0-9.]*\sChrome\/[0-9][0-9.]/) || a.match(/Android.*Version\/[0-9][0-9.]*\s(?:Mobile\s)?Safari\/[0-9][0-9.]*\sChrome\/[0-9][0-9.]*/) || a.match(/; wv\).*Chrome\/[0-9][0-9.]*\sMobile/)
}, "isAndroidWebView");
var Mb = na.inherit({
id: "beacon",
index: 1,
request: function(a, b, d, e) {
"function" ===
typeof navigator.sendBeacon && !u.isAndroidWebView() && navigator.onLine ? (b = this._splitParams(b), b.get["force-urlencoded"] = 1, d.call(e, navigator.sendBeacon(this._buildUrl(a, b.get), Ba.stringify(b.post)))) : d.call(e, !1)
}
});
k.random = function(a, b) {
2 > arguments.length && (b = a, a = 0);
1 > arguments.length && (b = 1073741824);
return Math.floor(Math.random() * (b - a)) + a
};
var Ra = na.inherit({
id: "form",
index: 2,
enctype: "application/x-www-form-urlencoded",
htmlfileOnly: !1,
_initComponent: function() {
Ra.superclass._initComponent.apply(this,
arguments);
"_htmlfile" in Ra.prototype || (Ra.prototype._htmlfile = this._createHtmlfile());
this._doc = this._htmlfile || (this.htmlfileOnly ? null : q)
},
request: function(a, b, d, e) {
var g = this._doc;
if (!g) return d.call(e, !1);
b = this._splitParams(b);
var p = "ifr" + k.random();
var h = g.createElement("div");
h.style.position = "absolute";
h.style.left = "-99999px";
h.style.top = "-99999px";
var m = ['\x3ciframe name\x3d"', p, '"\x3e\x3c/iframe\x3e', '\x3cform action\x3d"', this._buildUrl(a, b.get), '" method\x3d"post" target\x3d"', p, '" enctype\x3d"',
this.enctype, '"\x3e'
];
k.forEachKey(b.post, function(a) {
k.mergeArrays(m, ['\x3cinput type\x3d"hidden" autocomplete\x3d"off" autocorrect\x3d"off"', ' autocapitalize\x3d"off" spellcheck\x3d"false" name\x3d"', a, '"/\x3e'])
});
k.mergeArrays(m, ["\x3c/form\x3e"]);
h.innerHTML = m.join("");
g.body.appendChild(h);
var f = h.getElementsByTagName("form")[0];
k.forEachKey(b.post, function(a, b) {
f[a].value = b
});
f.submit();
k.setTimeout(function() {
g.body.removeChild(h)
}, 1E4, "TransportForm.request.2");
return d.call(e, !0, "tf.request")
},
_createHtmlfile: function() {
try {
if (n.ActiveXObject) {
var a = new ActiveXObject("htmlfile");
a.open();
a.write("\x3chtml\x3e\x3cbody\x3e\x3c/body\x3e\x3c/html\x3e");
a.close();
return a
}
} catch (b) {}
return null
}
}),
Nb = Ra.inherit({
id: "htmlfile",
index: 3,
htmlfileOnly: !0
}),
oa = na.inherit({
id: "img",
index: 4,
request: function(a, b, d, e) {
a = this._buildUrl(a, b);
var g = !1;
b = q.createElement("img");
d = d || function() {};
b.onload = E(function() {
g || (d.call(e, !0), g = !0)
}, "TransportImage.request");
b.onerror = E(function() {
g || (d.call(e, !1),
g = !0)
}, "TransportImage.request");
b.src = a;
this.timeout && k.setTimeout(function() {
g || (d.call(e, !1), g = !0)
}, this.timeout, "ti.request")
}
}),
ea = {
stringify: function(a) {
try {
var b = JSON.stringify(a)
} catch (d) {}
return k.inArray(["{}", w], b) ? "null" : b
}
};
k.toJSON = function(a) {
var b;
if (a === w) return "";
if (null === a) return "null";
switch (a.constructor) {
case Boolean:
return a.toString();
case Number:
return isFinite(a) ? a.toString() : "null";
case String:
return '"' + a.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n").replace(/\r/g,
"\\r") + '"';
case Array:
var d = [];
var e = 0;
for (b = a.length; e < b; e++) d[d.length] = k.toJSON(a[e]);
return "[" + d.join(",") + "]";
case Object:
d = [];
for (e in a) a.hasOwnProperty(e) && a[e] !== w && (d[d.length] = k.toJSON(e) + ":" + k.toJSON(a[e]));
return "{" + d.join(",") + "}";
default:
return ea.stringify(a)
}
};
var ca = I.inherit({
counterId: "",
_initComponent: function() {
ca.superclass._initComponent.apply(this, arguments);
this._ls = null;
try {
this._ls = n.localStorage
} catch (a) {}
},
set: function(a, b) {
if (this.isEnabled()) try {
!b || b && k.isArray(b) &&
!b.length ? this.remove(a) : this._ls.setItem(this._getLsKey(a), k.toJSON(b))
} catch (d) {}
},
get: function(a) {
if (this.isEnabled()) try {
return JSON.parse(this._ls.getItem(this._getLsKey(a)))
} catch (b) {}
return null
},
remove: function(a) {
if (this.isEnabled()) try {
this._ls.removeItem(this._getLsKey(a))
} catch (b) {}
},
isEnabled: function() {
return this._ls && n.JSON && "object" == typeof this._ls && "object" == typeof n.JSON
},
getStorageId: function() {
var a = this.get("lsid");
a || (a = Math.round(Math.random() * x.getMs()), this.set("lsid", a));
return a
},
clearStorageId: function() {
this.remove("lsid")
},
_getLsKey: function(a) {
return "_ym_alt" + this.counterId + "_" + a
}
});
k.fnv32a = function(a) {
var b = 2166136261,
d;
var e = 0;
for (d = a.length; e < d; ++e) b ^= a.charCodeAt(e), b += (b << 1) + (b << 4) + (b << 7) + (b << 8) + (b << 24);
return b >>> 0
};
k.getTld = function() {
if (!this._tld) {
var a = H.hostname.split(".");
this._tld = a[a.length - 1]
}
return this._tld
};
var L = {
abc: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
tail: "+/\x3d",
tailSafe: "*-_"
},
v = {
removeNode: function(a) {
var b =
a && a.parentNode;
b && b.removeChild(a)
}
};
u.isSafariWebView = E(function() {
var a = navigator.userAgent || "";
return navigator.vendor && -1 < navigator.vendor.indexOf("Apple") && (!a.match(/Safari/) && a.match(/Mobile/) || a.match(/CFNetwork\/[0-9][0-9.]*.*Darwin\/[0-9][0-9.]*/) || -1 !== a.indexOf("FB_IAB") || -1 !== a.indexOf("FBAV") || -1 !== a.indexOf("OKApp") || -1 !== a.indexOf("GSA/"))
}, "isSafariWebView");
u.isSafari = function() {
try {
return navigator.vendor && -1 < navigator.vendor.indexOf("Apple") && navigator.userAgent && !navigator.userAgent.match("CriOS")
} catch (a) {}
return !1
};
u.getMacOSVersion = E(function() {
var a = navigator.userAgent.match(/Mac OS X ([0-9]+)_([0-9]+)_([0-9]+)/);
return a ? [+a[1], +a[2], +a[2]] : [0, 0, 0]
}, "", !0);
u.getPlatform = E(function() {
return "" + navigator.platform
}, "", !0);
u.isIOS = E(function() {
var a = u.getPlatform() || "";
return "iPhone" === a || "iPad" === a
}, "", !0);
u.isFF = E(function() {
return n && n.document && n.document.documentElement && n.document.documentElement.style ? "MozAppearance" in n.document.documentElement.style && "undefined" !== typeof n.InstallTrigger : !1
}, "isFF");
var Ma = {
_storage: new ca,
_cookie: new J,
key: "zzlc",
updateInfo: function(a) {
k.forEachKey(this.getInfoFlags(), function(b, d) {
var e = d.call(this);
e && (a[b] = e)
}, this);
return a
},
getZZ: function() {
return this._storage.get(this.key) ? this._storage.get(this.key) : this.zz
},
getPP: function() {
return this.globalConfig && this.globalConfig.get("pp") ? this.globalConfig.get("pp") : this.pp
},
getPU: function() {
return this.globalConfig && this.globalConfig.get("pu") ? this.globalConfig.get("pu") : this.pu
},
getFip: function() {
if (this._storage.get(this.fipKey)) return this._storage.get(this.fipKey)
},
getInfoFlags: function() {
return {
zz: this.getZZ,
pp: this.getPP,
pu: this.getPU,
fip: this.getFip
}
},
checkVersion: function() {
var a = u.getMacOSVersion();
return !((u.isIOS() || 10 <= a[0] && 13 <= a[2]) && u.isSafari()) || u.isSafariWebView()
},
noop: function() {},
genPu: function(a) {
var b = k.fnv32a(n.location.host) + this._cookie.read("uid");
this.pu = b;
a.set("pu", b);
return b
},
initPU: function(a, b) {
var d = this;
b.get("pu") !== w || this.checkVersion() || (this.globalConfig = b, b.setSafe("pu", null), a.addHandler("gpu-get", function() {
return {
type: "gpu-get",
pu: b.get("pu")
}
}, this), n.opener ? (k.setTimeout(function() {
d.genPu(b)
}, 200, "pu"), a.sendToIframe(n.opener, {
type: "gpu-get"
}, this.handleGpu, this)) : this.genPu(b))
},
handleGpu: function(a) {
if (a = a.pu) this.pu = a, this.globalConfig.set("pu", a)
},
onicecandidate: E(function(a) {
var b;
try {
var d = (b = a.localDescription.sdp) && b.match(/c=IN\s[\w\d]+\s([\w\d:.]+)/)
} catch (e) {
a.onicecandidate = this.noop;
"closed" !== a.iceConnectionState && a.close();
return
}
d && 0 < d.length && (this.pp = k.fnv32a(d[1]), this.globalConfig.set("pp", this.pp));
a.onicecandidate = this.noop;
a.close()
}, "wrt"),
onOffer: function(a, b) {
k.isFunction(a.setLocalDescription) && a.setLocalDescription(b, this.noop, this.noop)
},
initPP: E(function(a) {
var b = n.RTCPeerConnection || n.mozRTCPeerConnection || n.webkitRTCPeerConnection;
this.globalConfig = a;
if (n.navigator.onLine && b && a.get("pp") == w && (this.globalConfig.setSafe("pp", null), b && b.prototype && b.prototype.constructor && b.prototype.constructor.name)) {
try {
var d = new b({
iceServers: []
});
d.createDataChannel("y.metrika")
} catch (g) {
return
}
if (k.isFunction(d.createOffer) &&
!d.createOffer.length) {
try {
var e = d.createOffer()
} catch (g) {
return
}
k.isFunction(e.then) && e.then(k.bind(this.onOffer, this, d));
d.onicecandidate = k.bind(this.onicecandidate, this, d)
}
}
}, "rcinit"),
initZZ: function() {
var a = this;
if (!this.getZZ() && !this.checkVersion()) {
var b = k.getNativeFunction("createElement", q)("iframe");
b.style.display = "none";
b.style.width = "1px";
b.style.height = "1px";
b.style.visibility = "hidden";
b.src = "https://mc.webvisor.org" + L.decode("L21ldHJpa2EvenpsYy5odG1s");
n.document.documentElement.appendChild(b);
r.on(n, "message", this.onMessage, this, {
passive: !1
});
this.frame = b;
this.timeout = k.setTimeout(function() {
r.un(n, "message", a.onMessage, a, {
passive: !1
});
v.removeNode(a.frame);
a.zz = "na"
}, 3E3, "cd.initZZ")
}
},
onMessage: function(a) {
a.data && a.data.substr && "__ym__zz" === a.data.substr(0, 8) && (this.zz = a.data.substr(8), v.removeNode(this.frame), this._storage.set(this.key, this.zz), r.un(n, "message", this.onMessage, this, {
passive: !1
}), clearTimeout(this.timeout))
},
fipKey: "fip",
fpFactors: ["webGL", "plugins", "applePay", "dnt"],
initFip: function() {
if (Object.keys && !this.checkVersion() && !this._storage.get(this.fipKey)) {
var a = new cb(k.reduce(function(a, d) {
a[d] = 1;
return a
}, {}, this.fpFactors));
a = a.toString(!1).join("-");
this._storage.set(this.fipKey, a)
}
}
},
P = Lb.inherit({
protocol: "",
timeout: 4E3,
queryStringParams: {
firstOrdering: ["wmode", "callback", "cnt-class"],
lastOrdering: ["browser-info"]
},
resource: "",
counterId: "",
counterType: 0,
retry: !1,
transports: [Mb, Ca, oa, Nb],
_initComponent: function() {
P.superclass._initComponent.apply(this, arguments);
this.retry && (this._storage = new ca)
},
send: function(a, b, d, e) {
var g = this.globalConfig.get(wa.globalKey),
p = this;
g && 3 !== this.counterId ? g(function() {
var h = p._registerRequest(a, b);
p._sendSavedRequest(h, a, b, d, e)
}, a) : (g = p._registerRequest(a, b), p._sendSavedRequest(g, a, b, d, e))
},
_sendSavedRequest: function(a, b, d, e, g) {
var p = this.globalConfig.get("firstReqStatus"),
h = b.forceNoRedirect;
if ("process" == p) this.globalConfig.set("firstReqCallbacks", k.mergeArrays(this.globalConfig.get("firstReqCallbacks") || [], [
[this, arguments]
]));
else {
p || this.globalConfig.set("firstReqStatus", "process");
this.counterType && (b["cnt-class"] = this.counterType);
this.globalConfig.get("pri") && (d.pri = this.globalConfig.get("pri"));
d.st = x.getSeconds();
d.u = P._userID;
d = Ma.updateInfo(d);
d.hi = P._hostID;
p = [this.resource, "/", this.counterId, h ? "/1" : ""].join("");
delete b.forceNoRedirect;
var m = [];
d && (k.forEachKey(d, function(a, c) {
"t" != a && k.mergeArrays(m, [a, c])
}), d.t && k.mergeArrays(m, ["t", d.t]));
m.length && (b["browser-info"] = m.join(":"));
return P.superclass.send.call(this,
p, b,
function() {
var b;
this.globalConfig.set("firstReqStatus", "complete");
this._unregisterRequest(a);
var c = this.globalConfig.get("firstReqCallbacks");
this.globalConfig.set("firstReqCallbacks", null);
if (c)
for (b = 0; b < c.length; b++) c[b][0]._sendSavedRequest.apply(c[b][0], c[b][1]);
e && e.apply(g, arguments)
}, this)
}
},
_isRetryEnabled: function() {
return this.retry && this._storage && this._storage.isEnabled()
},
_registerRequest: function(a, b) {
var d;
if (this._isRetryEnabled()) {
b.rqnl = b.rqnl || 0;
b.rqnl++;
var e = this._storage.get("retryReqs") || {};
for (d = 1; e[d];) d++;
e[d] = {
protocol: this.protocol,
host: this.host,
resource: this.resource,
counterId: this.counterId,
counterType: this.counterType,
postParams: this.postParams,
params: a,
browserInfo: b,
ghid: this.globalConfig.get("_globalMetrikaHitId"),
time: x.getMs()
};
this._storage.set("retryReqs", e);
return d
}
},
_unregisterRequest: function(a) {
if (a && this._isRetryEnabled()) {
var b = this._storage.get("retryReqs") || {};
b[a] && (delete b[a], this._storage.set("retryReqs", b))
}
},
_getVersion: E(function() {
return Da
}, "", !0)
});
P._storage = new ca;
P.initCookie = function() {
var a = new J,
b = a.read("uid"),
d = a.read("d"),
e = x.getSeconds();
if (!b) b = e + "" + k.random(), a.create("uid", b, 525600), a.create("d", e, 525600);
else if (!d || 15768E3 < e - parseInt(d)) a.create("uid", b, 525600), a.create("d", e, 525600);
P._hostID = a.read("hostIndex");
P._userID = b
};
P.retransmit = function(a) {
var b = P._storage,
d = b.get("retryReqs") || {},
e;
b.remove("retryReqs");
k.forEachKey(d, function(b, d) {
var h = x.getMs();
a.get("firstReqStatus") || a.set("firstReqStatus", "complete");
d.ghid &&
d.ghid != a.get("_globalMetrikaHitId") && d.time && d.time + 864E5 > h && 500 < h - d.time && 2 >= d.browserInfo.rqnl && (e = new P({
protocol: d.protocol,
host: d.host,
resource: d.resource,
counterId: d.counterId,
counterType: d.counterType,
postParams: d.postParams || [],
retry: !0
}), e.send(d.params, d.browserInfo))
})
};
k.fletcher = function(a) {
for (var b = a.length, d = 0, e = 255, g = 255, p, h, m; b;) {
p = 21 < b ? 21 : b;
b -= p;
do h = "string" == typeof a ? a.charCodeAt(d) : a[d], d++, 255 < h && (m = h >> 8, h &= 255, h ^= m), e += h, g += e; while (--p);
e = (e & 255) + (e >> 8);
g = (g & 255) + (g >> 8)
}
a =
(e & 255) + (e >> 8) << 8 | (g & 255) + (g >> 8);
return 65535 == a ? 0 : a
};
L.encode = function(a, b) {
var d = (L.abc + (b ? L.tailSafe : L.tail)).split(""),
e = a.length,
g = [],
p = e - e % 3,
h;
for (h = 0; h < p; h += 3) {
var m = (a[h] << 16) + (a[h + 1] << 8) + a[h + 2];
k.mergeArrays(g, [d[m >> 18 & 63], d[m >> 12 & 63], d[m >> 6 & 63], d[m & 63]])
}
switch (e - p) {
case 1:
m = a[p] << 4;
k.mergeArrays(g, [d[m >> 6 & 63], d[m & 63], d[64], d[64]]);
break;
case 2:
m = (a[p] << 10) + (a[p + 1] << 2), k.mergeArrays(g, [d[m >> 12 & 63], d[m >> 6 & 63], d[m & 63], d[64]])
}
return g.join("")
};
k.arrayEvery = function(a, b, d) {
var e;
for (e = 0; e <
a.length; e++)
if (!b.call(d, a[e], e, a)) return !1;
return !0
};
k.is4Bytes = function(a) {
return !k.arrayEvery((encodeURIComponent(a).match(/(%[A-F,\d]{2})+/g) || []).join("").split("%"), function(a) {
return 240 > parseInt(a, 16)
})
};
k.trim = function(a, b) {
a = String(a).replace(/^\s+|\s+$/g, "");
b && a.length > b && (a = a.substr(0, b));
return a
};
k.isNumber = function(a) {
return isFinite(a) && !isNaN(a) && "[object Number]" === k.toString(a)
};
k.isString = function(a) {
return "[object String]" === k.toString(a)
};
k.warning = function() {
n.console && "function" ===
typeof n.console.warn && console.warn.apply(console, arguments)
};
k.isObject = function(a) {
try {
return a && null !== a && "[object Object]" === k.toString(a)
} catch (b) {
return !1
}
};
k._urlParser = null;
k.parseUrl = function(a) {
if (!this._urlParser) try {
this._urlParser = q.createElement("a")
} catch (b) {}
return this._urlParser ? (this._urlParser.href = a, {
protocol: this._urlParser.protocol,
host: this._urlParser.host,
port: this._urlParser.port,
hostname: this._urlParser.hostname,
hash: this._urlParser.hash,
search: this._urlParser.search,
query: this._urlParser.search.replace(/^\?/,
""),
pathname: this._urlParser.pathname || "/",
path: (this._urlParser.pathname || "/") + this._urlParser.search,
href: this._urlParser.href
}) : {}
};
k._playerRegexp = /^.+\.mtproxy\.yandex\.net$/;
k.isMetrikaPlayer = function() {
return "MetrikaPlayer" == n.name || this._playerRegexp.test(n.location.hostname)
};
v.getDocumentCharset = function() {
return ("" + (q.characterSet || q.charset || "")).toLowerCase()
};
v.getBody = function() {
for (var a = q.getElementsByTagName("body"); 0 < a.length;) return a[0]
};
v.getRootElement = function() {
var a = q.documentElement,
b = v.getBody();
return "CSS1Compat" == q.compatMode ? a : b || a
};
v.getViewportSize = function() {
var a = v.getRootElement();
return [a.clientWidth || n.innerWidth, a.clientHeight || n.innerHeight]
};
v.getDocumentTitle = function() {
var a = q.title;
"string" != typeof a && (a = (a = q.getElementsByTagName("title")) && a.length ? a[0].innerHTML : "");
return a
};
u.getSilverlightVersion = k.memorize(function() {
if (n.ActiveXObject) try {
var a = new ActiveXObject("AgControl.AgControl");
var b = function(a, b, e, f) {
for (; d(a, b);) b[e] += f;
b[e] -= f
};
var d = function(a,
b) {
return a.isVersionSupported(b[0] + "." + b[1] + "." + b[2] + "." + b[3])
};
var e = [1, 0, 0, 0];
b(a, e, 0, 1);
b(a, e, 1, 1);
b(a, e, 2, 1E4);
b(a, e, 2, 1E3);
b(a, e, 2, 100);
b(a, e, 2, 10);
b(a, e, 2, 1);
b(a, e, 3, 1);
var g = e.join(".")
} catch (p) {} else if (b = n.navigator, b = b.plugins && b.plugins["Silverlight Plug-In"]) g = b.description;
return g || ""
});
u.getFlashVersion = k.memorize(function() {
var a = n.navigator;
if ("undefined" != typeof a.plugins && "object" == typeof a.plugins["Shockwave Flash"]) {
var b = a.plugins["Shockwave Flash"];
var d = b.version;
if ((b = b.description) ||
d)
if (a = a.mimeTypes, "undefined" == typeof a || !a["application/x-shockwave-flash"] || a["application/x-shockwave-flash"].enabledPlugin) d ? u._flashVersion = d : b && (u._flashVersion = b.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, "."))
} else if ("undefined" != typeof n.ActiveXObject) try {
if (d = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"), b = d.GetVariable("$version")) u._flashVersion = b.split(" ")[1].replace(/,/g, ".").replace(/[^.\d]/g, "")
} catch (e) {}
return u._flashVersion
});
u.getLanguage = k.memorize(function() {
var a =
(n.navigator ? navigator.language || navigator.userLanguage || navigator.browserLanguage || navigator.systemLanguage : "").toLowerCase();
return k.isString(a) ? a : ""
});
u.getJavaEnabled = k.memorize(function() {
try {
return navigator.javaEnabled()
} catch (a) {
return !1
}
});
u.getFingerPrint = k.memorize(function() {
var a = [],
b;
if (navigator.plugins && navigator.plugins.length)
for (b = 0; b < navigator.plugins.length; b++) {
var d = navigator.plugins[b];
k.mergeArrays(a, [d.name, d.version, d.description, d.filename])
}
if (navigator.mimeTypes && navigator.mimeTypes.length)
for (b =
0; b < navigator.mimeTypes.length; b++) d = navigator.mimeTypes[b], k.mergeArrays(a, [d.type, d.description, d.suffixes]);
return k.fnv32a(a.join(";")) + "01"
});
u.getNotificationPermission = function() {
try {
var a = Notification.permission
} catch (b) {}
switch (a) {
case "denied":
return 1;
case "granted":
return 2
}
};
u.isIframe = k.memorize(function() {
try {
return n.top != n.self
} catch (a) {
return !1
}
});
u._nMap = {
other: "0",
none: "1",
unknown: "2",
wifi: "3",
ethernet: "4",
bluetooth: "5",
cellular: "6",
wimax: "7",
mixed: "8"
};
u.netType = function() {
var a =
(navigator.connection || {
type: ""
}).type;
return u._nMap[a] || a
};
u.isHeadLess = k.memorize(function() {
var a, b = ["_phantom", "__nightmare", "callPhantom"];
for (a = 0; a < b.length; a++)
if (n[b[a]]) return !0;
return /PhantomJS/.test(n.navigator.userAgent) || n.navigator.webdriver || n.isChrome && !n.chrome ? !0 : /HeadlessChrome/.test(n.navigator.userAgent)
});
u.getNavigationStart = k.memorize(function() {
var a = n.performance || n.webkitPerformance;
return a && a.timing && a.timing.navigationStart
});
u.isSameOriginTopFrame = function() {
try {
return n.top.contentWindow ||
!0
} catch (a) {
return !1
}
};
u.isDesktop = function(a) {
var b = a.get("bt", {});
a.get("bt") === w && (b.p = navigator.getBattery ? navigator.getBattery() : null, a.set("bt", b), b.p && b.p.then && b.p.then(function(a) {
b.v = a.charging && 0 === a.chargingTime
}));
return b.v
};
u.isSelenium = k.memorize(function() {
var a = ["_selenium", "callSelenium", "_Selenium_IDE_Recorder"],
b = ["selenium", "webdriver", "driver"],
d, e = n.document,
g = "__webdriver_evaluate __selenium_evaluate __webdriver_script_function __webdriver_script_func __webdriver_script_fn __fxdriver_evaluate __driver_unwrapped __webdriver_unwrapped __driver_evaluate __selenium_unwrapped __fxdriver_unwrapped".split(" ");
for (d = 0; d < a.length; d++)
if (n[a[d]]) return !0;
for (d = 0; d < g.length; d++)
if (e && e[g[d]]) return !0;
if (n.external && n.external.toString && 0 <= n.external.toString().indexOf("Sequentum")) return !0;
if (e.documentElement && e.documentElement.getAttribute)
for (d = 0; d < b.length; d++)
if (e.documentElement.getAttribute(b[d])) return !0;
return !1
});
r.ready = function(a) {
var b = q.readyState;
if ("interactive" === b || "complete" === b) k.setTimeout(a, 0, "evt::ready");
else {
var d = function() {
r.un(q, "DOMContentLoaded", d);
r.un(n, "load", d);
a()
};
r.on(q,
"DOMContentLoaded", d);
r.on(n, "load", d)
}
};
var pb = {
url: "https://mc.webvisor.org/metrika/",
_value: null,
init: function(a) {
var b = this._getLs().read("isad");
this.globalConfig = a || B;
b ? this._set(b) : this._getReqStatus() || this._send()
},
getVal: function() {
return this._value
},
_set: function(a) {
this._value = "1" == a || "2" == a ? a : null
},
_send: function() {
var a = this;
this._setReqStatus("process");
r.ready(function() {
var b = q.createElement("img");
b.onload = function() {
a._saveReq(!1);
v.removeNode(this)
};
b.onerror = function() {
a._saveReq(!0);
v.removeNode(this)
};
b.src = a.url + String.fromCharCode(97, 100, 118, 101, 114, 116, 46, 103, 105, 102);
u.isSafari() && (b.style.position = "absolute", b.style.visibility = "hidden", b.style.width = "0px", b.style.height = "0px", v.getRootElement().appendChild(b))
})
},
_saveReq: function(a) {
this._value = a = a ? "1" : "2";
this._setReqStatus("complete");
this._getLs().create("isad", a, 1200)
},
_setReqStatus: function(a) {
try {
this.globalConfig.set("adStatus", a)
} catch (b) {}
},
_getReqStatus: function() {
try {
return this.globalConfig.get("adStatus")
} catch (a) {
return "complete"
}
},
_getLs: function() {
this._ls || (this._ls = new J);
return this._ls
}
},
Sa = {
encode: function(a) {
var b = [],
d;
var e = 0;
for (d = a.length; e < d; e++) {
var g = a.charCodeAt(e);
128 > g ? b.push(g) : (127 < g && 2048 > g ? b.push(g >> 6 | 192) : (b.push(g >> 12 | 224), b.push(g >> 6 & 63 | 128)), b.push(g & 63 | 128))
}
return b
},
decode: function(a) {
for (var b = "", d = 0, e, g, p; d < a.length;) e = a.charCodeAt(d), 128 > e ? (b += String.fromCharCode(e), d++) : 191 < e && 224 > e ? (g = a.charCodeAt(d + 1), b += String.fromCharCode((e & 31) << 6 | g & 63), d += 2) : (g = a.charCodeAt(d + 1), p = a.charCodeAt(d + 2), b += String.fromCharCode((e &
15) << 12 | (g & 63) << 6 | p & 63), d += 3);
return b
}
};
L.decode = function(a, b) {
for (var d = L.abc + (b ? L.tailSafe : L.tail), e = 0, g = "", p, h, m, f, c; a.length % 4;) a += "\x3d";
do {
p = d.indexOf(a.charAt(e++));
h = d.indexOf(a.charAt(e++));
f = d.indexOf(a.charAt(e++));
c = d.indexOf(a.charAt(e++));
if (0 > p || 0 > h || 0 > f || 0 > c) return null;
m = p << 18 | h << 12 | f << 6 | c;
p = m >> 16 & 255;
h = m >> 8 & 255;
m &= 255;
g = 64 == f ? g + String.fromCharCode(p) : 64 == c ? g + String.fromCharCode(p, h) : g + String.fromCharCode(p, h, m)
} while (e < a.length);
return g
};
k.reduce = function(a, b, d) {
var e = 0;
b == w &&
(b = d[0], e++);
for (; e < d.length;) b = a(b, d[e]), e++;
return b
};
k.filter = function(a, b) {
var d, e = [];
for (d = 0; d < b.length; d++) a(b[d]) && e.push(b[d]);
return e
};
ea.parse = function(a) {
try {
return JSON.parse(a)
} catch (b) {
return null
}
};
var Ga = P.inherit({
hitId: 0,
trackHash: !1,
trimParams: !1,
webvisor: !1,
counter: null,
counterNum: 0,
resource: "watch",
retry: !0,
paramsQueue: {
paramsQueue: [],
length: function() {
return this.paramsQueue.length
},
push: function(a) {
this.paramsQueue.push(a)
},
_reduce: function(a) {
return function(b, d) {
k.arrayEvery(k.keys(d),
function(e) {
if (b.hasOwnProperty(e)) return 1; - 1 == k.arrayIndexOf(a, e) && (b[e] = d[e], delete d[e]);
return 1
});
return b
}
},
_filter: function(a) {
return k.keys(a).length
},
mixin: function(a) {
var b = {};
this.paramsQueue.length && (b = k.reduce(this._reduce(k.keys(a)), {}, this.paramsQueue), this.paramsQueue = k.filter(this._filter, this.paramsQueue));
return k.mixin({}, a, b)
}
},
postParams: ["site-info"],
countersNoTitle: "22836271 1143050 29626870 9928105 26128362 29850769".split(" "),
fake: !1,
sendTitle: !0,
_initComponent: function() {
Ga.superclass._initComponent.apply(this,
arguments);
this._trackHash = this.trackHash;
"0" === "" + this.counterType && (this.sendTitle = -1 === k.arrayIndexOf(this.countersNoTitle, "" + this.counterId))
},
setTrackHash: function(a) {
this._trackHash = a
},
sendHit: function(a) {
this._hitExt({
url: a.url,
title: a.title,
referrer: a.referrer,
vParams: a.vParams,
modes: k.mixin(a.modes || {}, {
ar: !0,
saveRef: !0,
pv: !0
}),
callback: a.callback,
hasPrerender: a.hasPrerender,
ctx: a.ctx
}, "hit")
},
sendExperiments: function(a) {
this._hitExt({
url: K().href,
title: "",
referrer: "",
modes: {
ex: !0,
ar: !0
},
experiments: a.experiments,
callback: a.callback,
ctx: a.ctx
}, "exp")
},
sendPrerenderHit: function(a) {
this._hitExt({
url: a.url,
vParams: a.vParams,
title: a.title,
referrer: a.referrer,
modes: {
ar: !0,
pq: !0
}
}, "hit")
},
sendAjaxHit: function(a) {
this._hitExt({
url: a.url,
title: a.title,
referrer: a.referrer,
modes: a.modes
}, "hit")
},
sendParams: function(a, b, d, e) {
this._hitExt({
url: e || K().href,
title: "",
referrer: "",
forceNoRedirect: !0,
vParams: a,
modes: {
ar: !0,
pa: !0,
onlyData: !0
},
callback: b,
ctx: d
}, "pa")
},
sendGoal: function(a, b) {
if (/[/&=?#]/.test(a)) k.warning("Incorrect goal");
else if (a) {
var d = b.url ? k.parseUrl(b.url) : K();
this._hitExt({
url: "goal://" + d.hostname + "/" + encodeURIComponent(a),
title: v.getDocumentTitle(),
referrer: d.href,
forceNoRedirect: !0,
vParams: b.vParams,
modes: {
ar: !0
},
callback: b.callback,
ctx: b.ctx
}, "go")
} else k.warning("Empty goal")
},
sendClickLink: function(a, b) {
this._hitExt({
url: a.url,
title: a.title,
referrer: b || K().href,
modes: a.modes
})
},
sendExtLink: function(a, b) {
this._hitExt({
url: a.url,
title: a.title || "",
referrer: b || K().href,
vParams: a.vParams,
modes: {
ar: !0,
ln: !0,
ut: db
},
callback: a.callback,
ctx: a.ctx
}, "cl")
},
sendFileUpload: function(a) {
this._hitExt({
url: a.url,
title: a.title || "",
referrer: K().href,
vParams: a.vParams,
modes: {
ar: !0,
ln: !0,
dl: !0
},
callback: a.callback,
ctx: a.ctx
}, "fu")
},
sendNotBounce: function(a, b) {
this._hitExt({
url: b.url || K().href,
title: "",
referrer: "",
modes: {
cl: a,
ar: !0,
nb: !0,
onlyData: !0
},
callback: b.callback,
ctx: b.ctx
}, "nb")
},
sendDevice: function(a) {
this._hitExt({
browserInfo: {
di: a.data,
dip: a.port
},
callback: a.callback,
ctx: a.ctx
}, "de")
},
_hitExt: function(a,
b) {
function d(a, c) {
c && (t[a] = c)
}
var e, g, p, h = {};
if (!k.isMetrikaPlayer()) {
var m = a.modes || {};
var f = a.browserInfo || {};
var c = "undefined" !== typeof a.referrer ? a.referrer : Ta.lastReferrer;
var l = a.url || "";
var t = {};
a.nohit && d("nohit", 1);
m.ar && !m.onlyData && (c = null === c || "" === c ? "" : this._prepareHitUrl(c), l = this._prepareHitUrl(a.url));
d("forceNoRedirect", a.forceNoRedirect);
d("page-ref", k.trim(c, eb));
d("page-url", k.trim(l, eb));
k.is4Bytes(a.title) && d("charset", "utf-8"); - 1 != K().hostname.search(/(?:^|\.)(?:ya|yandex)\.(?:\w+|com?\.\w+)$/) ?
d("ut", db) : "undefined" != typeof m.ut && d("ut", k.trim(m.ut, Ob));
d("exp", a.experiments);
(g = a.vParams) && this.counter && g.__ym && (k.isNumber(g.__ym.turbo_page) && (this.counter.tp = g.__ym.turbo_page), k.isNumber(g.__ym.turbo_page_id) && (this.counter.tpid = g.__ym.turbo_page_id));
(!g || k.isObject(g) && !g.__ym && !g.__ymu) && this.paramsQueue.length() && k.inArray(["go", "hit", "pa"], b) && (g = this.paramsQueue.mixin(g));
g && (l = k.toJSON(g), this.trimParams && l.length > Pb ? p = !0 : 7E5 < l ? k.warning("Too big params") : d("site-info", l));
m.saveRef &&
(Ta.lastReferrer = c);
h = function(a, c) {
var b = {};
k.forEachKey(c, function(a, c) {
-1 === k.arrayIndexOf(["", 0, w, null], c) && (b[a] = c)
});
return k.mixin({}, a, b)
}(h, {
gdpr: wa.getState(this.globalConfig),
tp: this.counter && this.counter.tp,
tpid: this.counter && this.counter.tpid,
fu: this.getFu(a.url, a.referrer),
eu: this.globalConfig.get("isEU"),
v: this._getVersion(),
pr: a.hasPrerender ? 1 : null
});
this.fake || (e = this._getTechInfo(a.title, m, this.counterId, a.ts, a.tz, this._trackHash, this.hitId, this.webvisor, this.counter, a.nohit));
h.wv =
2;
k.mixin(f, e, h);
this.send(t, f, function() {
p && this.counter.params(g);
a.userParams && this.counter.userParams(a.userParams);
k.isFunction(a.callback) && a.callback.apply(a.ctx, arguments)
}, this)
}
},
_prepareHitUrl: function(a) {
var b = K(),
d = b.host;
b = b.href;
if (!k.isString(a)) return b;
if (-1 != a.search(/^[a-z][\w.+-]+:\/\//i)) return a;
var e = a.charAt(0);
if ("?" == e) return e = b.search(/\?/), -1 == e ? b + a : b.substr(0, e) + a;
if ("#" == e) return e = b.search(/#/), -1 == e ? b + a : b.substr(0, e) + a;
if ("/" == e) {
if (e = b.search(d), -1 != e) return b.substr(0,
e + d.length) + a
} else return d = b.split("/"), d[d.length - 1] = a, d.join("/");
return a
},
getFu: function(a, b) {
var d = a !== K().href,
e = q.referrer.replace(/\/$/, ""),
g = (b || "").replace(/\/$/, "");
e = e !== g;
g = 0;
e && d ? g = 3 : e ? g = 1 : d && (g = 2);
return g
},
_getTechInfo: function(a, b, d, e, g, p, h, m, f, c) {
function l(a, c, b) {
var f = "" + c;
a && c && (b || -1 === f.indexOf(":")) && (z[a] = f)
}
function t(a) {
b[a] && l(a, "1")
}
var z = {};
b = b || {};
e = e || x.getTimestamp();
g = g || x.getTimezone();
l("j", u.getJavaEnabled() ? "1" : "");
var D = u.isDesktop(this.globalConfig);
D !== w &&
l("dp", D ? "1" : "0");
l("nt", u.netType());
l("ns", u.getNavigationStart());
da && l("s", da.width + "x" + da.height + "x" + (da.colorDepth || da.pixelDepth));
n.devicePixelRatio && l("sk", n.devicePixelRatio);
u.isSelenium() && l("iss", "1");
u.isHeadLess() && l("hdl", "1");
u.isIframe() && (l("ifr", "1"), l("sti", u.isSameOriginTopFrame() ? "1" : "0"));
n.ia_document && n.ia_document.shareURL && n.ia_document.referrer && l("iia", "1");
l("adb", pb.getVal());
l("f", u.getFlashVersion());
l("l", u.getSilverlightVersion());
l("fpr", u.getFingerPrint());
l("cn",
this.counterNum);
b.pa || (D = v.getViewportSize(), l("w", D[0] + "x" + D[1]));
l("z", g);
l("i", e);
l("et", x.getSeconds());
l("en", v.getDocumentCharset());
l("c", navigator.cookieEnabled ? "1" : "");
l("la", u.getLanguage());
l("ntf", u.getNotificationPermission());
k.random(100) || l("np", L.encode(Sa.encode(k.trim(u.getPlatform(), 100))));
p && l("wh", "1");
g = "ar ln dl cpf ad nb pa pq pv ex".split(" ");
for (e = 0; e < g.length; e++) t(g[e]);
g = "va vt sn sa he pai".split(" ");
b.nb && g.push("cl");
for (e = 0; e < g.length; e++) p = g[e], l(p, b[p]);
g = new ca({
counterId: d
});
g.isEnabled() && (d = g.getStorageId(), e = g.get("reqNum"), c || (e ? e++ : e = 1), g.set("reqNum", e), g.get("reqNum") == e ? (l("ls", d), l("rqn", e)) : (g.remove("reqNum"), g.clearStorageId(), 1 < e && (l("ls", d), l("rqn", 0))));
l("rn", k.random());
l("hid", h);
c || 3 == this.counterId || b.pq || l("ds", Hb(f));
f._firstPaint || c || (f._firstPaint = Jb(), l("fp", f._firstPaint));
if (m) {
n.name || (n.name = Math.round(65535 * Math.random()));
if (h = +n.name) 0 > h && (h *= -1), h %= 65535;
l("wn", h || k.fletcher(n.name));
try {
n.history && l("hl", String(n.history.length))
} catch (y) {}
}
h =
"";
this.sendTitle && (h = this._getTitle(a));
l("t", h, !0);
return z
},
_getTitle: function(a) {
a = "undefined" == typeof a ? (a = v.getDocumentTitle()) ? k.trim(a, qb) : "" : k.trim(a, qb);
return a
}
});
k.array2Props = function(a) {
var b = a.length,
d = {},
e = d,
g;
for (g = 0; g < b - 1; g++) {
var p = a[g];
e[p] = {};
g < b - 2 && (e = e[p])
}
e[p] = a[b - 1];
return d
};
var Oa = I.inherit({
sampling: 1,
counterId: 26302566,
_initComponent: function() {
Oa.superclass._initComponent.apply(this, arguments);
this._sender = new Ga({
protocol: "https:",
counterId: this.counterId,
retry: !1,
counter: {}
})
},
log: function() {
this.logParams(k.array2Props(arguments))
},
logParams: function(a) {
Math.random() < this.sampling && this._sender.sendHit({
url: H.href,
title: "",
referrer: "",
vParams: a
})
}
}),
Qb = P.inherit({
resource: "webvisor",
retry: !0,
postParams: ["wv-data"],
sendPacket: function(a, b, d, e, g, p, h, m) {
if (!a || !a.length) return !1;
var f = L.encode(a, !0);
if (0 == f.indexOf("AAAAAAAAADw") && n.Error) {
var c = Error();
"string" == typeof c.stack && (new Oa({
sampling: .1
})).log("bad visor packet 5", 1)
}
a = {
rn: k.random(),
"page-url": b,
wmode: 0,
"wv-type": 0,
"wv-hit": d,
"wv-part": e + 1,
"wv-check": k.fletcher(a),
"wv-data": f
};
g = {
v: this._getVersion(),
z: g,
i: p
};
return this.send(a, g, h, m)
}
}),
kb = va.inherit({
protocol: "",
counterId: "",
counterType: "",
meta: null,
maxBufferSize: 7500,
flushTimeout: 3E4,
storageKey: "visorbuff",
active: !1,
_initComponent: function() {
this.storage = new ca({
counterId: this.counterId
});
this._sender = new Qb({
globalConfig: this.globalConfig,
protocol: this.protocol,
counterId: this.counterId,
counterType: this.counterType
});
kb.superclass._initComponent.apply(this,
arguments)
},
onFlush: function(a, b, d) {
this._sender.sendPacket(a, b.url, b.hitId, d, b.timezone, b.timestamp)
}
});
v.getDocumentHTML = function() {
var a = "";
var b = q.documentElement;
var d = b.outerHTML,
e, g;
if (d) b = d;
else {
d = b.attributes;
var p = "";
for (e = 0; e < d.length; e++)(g = d[e]) && (p += " " + g.name + '\x3d"' + (g.value || "") + '"');
b = "\x3chtml" + p + "\x3e" + b.innerHTML + "\x3c/html\x3e"
}
if (d = q.doctype) a = d.publicId ? ' PUBLIC "' + d.publicId + '"' : "", p = d.systemId ? ' "' + d.systemId + '"' : "", a = "\x3c!DOCTYPE " + d.name + a + p + "\x3e\n";
return a + b
};
v.getElementParent =
function(a) {
if (!a || a == q.documentElement) return null;
if (a == v.getBody()) return q.documentElement;
var b = null;
try {
b = a.parentNode
} catch (d) {}
return b
};
v.getElementChildren = function(a, b) {
var d = [],
e, g, p;
if (a && (e = a.childNodes)) {
var h = 0;
for (p = e.length; h < p; h++) {
var m = e[h];
(g = "INPUT" == m.nodeName && m.type && "hidden" == m.type.toLocaleLowerCase()) || b && m.nodeName != b || k.mergeArrays(d, [m])
}
}
return d
};
v.getElementNeighborPosition = function(a) {
var b = v.getElementParent(a),
d;
if (b) {
var e = 0;
b = b.childNodes;
var g = a && a.nodeName;
for (d = 0; d < b.length; d++) {
var p = b[d] && b[d].nodeName;
if (g == p) {
if (a == b[d]) return e;
e++
}
}
}
return 0
};
v.getDocumentScroll = function() {
var a = v.getBody();
return [n.pageXOffset || q.documentElement && q.documentElement.scrollLeft || a && a.scrollLeft || 0, n.pageYOffset || q.documentElement && q.documentElement.scrollTop || a && a.scrollTop || 0]
};
v.getElementXY = function(a) {
var b;
if (!a || !a.ownerDocument || "PARAM" == a.tagName || a == v.getBody() || a == q.documentElement) return [0, 0];
if (a.getBoundingClientRect) {
a = a.getBoundingClientRect();
var d =
v.getDocumentScroll();
return [Math.round(a.left + d[0]), Math.round(a.top + d[1])]
}
for (b = d = 0; a;) d += a.offsetLeft, b += a.offsetTop, a = a.offsetParent;
return [d, b]
};
v.getDocumentSize = function() {
var a = v.getRootElement(),
b = v.getViewportSize();
return [Math.max(a.scrollWidth, b[0]), Math.max(a.scrollHeight, b[1])]
};
v.getElementSize = function(a) {
var b;
return a == v.getBody() || a == q.documentElement ? v.getDocumentSize() : (b = a.getBoundingClientRect && a.getBoundingClientRect()) ? [b.width, b.height] : [a.offsetWidth, a.offsetHeight]
};
v.getElementRegion =
function(a) {
var b = v.getElementXY(a);
a = v.getElementSize(a);
return [b[0], b[1], a[0], a[1]]
};
v.calcChildrenChecksum = function(a) {
var b = E(function() {
return a.innerHTML
}, "", !0)() || "";
return k.fletcher(b.replace(/(<[^>]*>|[\u0000-\u0020])/g, ""))
};
v.getFormNumber = function(a) {
var b = q.getElementsByTagName("form"),
d;
var e = 0;
for (d = b.length; e < d; e++)
if (b[e] == a) return e;
return -1
};
v.isEmptyField = function(a) {
return "INPUT" == a.nodeName && "submit" != a.type && "image" != a.type && "hidden" != a.type ? "radio" == a.type || "checkbox" == a.type ?
!a.checked : !a.value : "TEXTAREA" == a.nodeName ? !a.value : "SELECT" == a.nodeName ? 0 > a.selectedIndex : !0
};
v.calcTextChecksum = function(a) {
var b = "";
a = a.childNodes;
var d;
var e = 0;
for (d = a.length; e < d; e++) a[e] && 3 == a[e].nodeType && (b += a[e].nodeValue);
return k.fletcher(b.replace(/[\u0000-\u0020]+/g, ""))
};
v.calcAttribChecksum = function(a) {
var b = "",
d = "width height align title alt name".split(" "),
e;
"IMG" == a.tagName && (b += a.src.toLowerCase());
"A" == a.tagName && (b += a.href.toLowerCase());
b += String(a.className || "").toLowerCase();
for (e = 0; e < d.length; e++) a.getAttribute && (b += String(a.getAttribute(d[e]) || "").toLowerCase());
return k.fletcher(b.replace(/[\u0000-\u0020]+/g, ""))
};
v.classNameExists = function(a, b) {
try {
return (new RegExp("(?:^|\\s)" + b + "(?:\\s|$)")).test(a.className)
} catch (d) {
return !1
}
};
v.getElementsByClassName = function(a, b) {
var d;
b = b || q;
var e = b.getElementsByTagName("*");
var g = [];
for (d = 0; d < e.length; d++) v.classNameExists(e[d], a) && g.push(e[d]);
return g
};
try {
var cb = function(a) {
function b(e) {
if (d[e]) return d[e].f;
var g = d[e] = {
Z: e,
L: !1,
f: {}
};
return a[e].call(g.f, g, g.f, b), g.L = !0, g.f
}
var d = {};
return b.aa = a, b.W = d, b.o = function(a, d, p) {
b.D(a, d) || Object.defineProperty(a, d, {
enumerable: !0,
get: p
})
}, b.C = function(a) {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(a, Symbol.toStringTag, {
value: "Module"
});
Object.defineProperty(a, "__esModule", {
value: !0
})
}, b.$ = function(a, d) {
if ((1 & d && (a = b(a)), 8 & d) || 4 & d && "object" == typeof a && a && a.a) return a;
var e = Object.create(null);
if (b.C(e), Object.defineProperty(e, "default", {
enumerable: !0,
value: a
}), 2 & d && "string" != typeof a)
for (var h in a) b.o(e, h, function(b) {
return a[b]
}.bind(null, h));
return e
}, b.X = function(a) {
var d = a && a.a ? function() {
return a["default"]
} : function() {
return a
};
return b.o(d, "a", d), d
}, b.D = function(a, b) {
return Object.prototype.hasOwnProperty.call(a, b)
}, b.Y = "", b(b.ba = 0)
}([function(a, b, d) {
var e = this && this.U || function() {
return (e = Object.assign || function(a) {
for (var c, b = 1, f = arguments.length; b < f; b++)
for (var d in c = arguments[b]) Object.prototype.hasOwnProperty.call(c, d) && (a[d] = c[d]);
return a
}).apply(this, arguments)
};
b.a = !0;
var g = d(1),
p = d(2),
h = d(4),
m = d(5),
f = d(6);
a = function() {
function a(a) {
var c = this;
this.l = a;
this.H = {
webGL: g.B,
dnt: m.w,
plugins: p.A,
applePay: h.v
};
this.l = e({
webGL: !1,
dnt: !1,
plugins: !1,
applePay: !1
}, a);
this.G = Object.keys(this.l).filter(function(a) {
return c.l[a]
}).map(function(a) {
return new c.H[a]
})
}
return a.prototype.toString = function(a) {
void 0 === a && (a = !0);
var c = this.G.map(function(a) {
var c = "";
try {
c = a.g()
} catch (y) {}
return c
});
return a ? [f.hash(c.join(""), 210)] : c.map(function(a) {
return f.hash(a,
210)
})
}, a
}();
b.T = a;
b["default"] = a
}, function(a, b) {
var d = this && this.V || function() {
function a(b, d) {
return (a = Object.setPrototypeOf || {
__proto__: []
}
instanceof Array && function(a, b) {
a.__proto__ = b
} || function(a, b) {
for (var c in b) b.hasOwnProperty(c) && (a[c] = b[c])
})(b, d)
}
return function(b, d) {
function e() {
this.constructor = b
}
a(b, d);
b.prototype = null === d ? Object.create(d) : (e.prototype = d.prototype, new e)
}
}();
b.a = !0;
var e = function(a) {
function b() {
var b = a.call(this, "webgl") || this;
return b.h && !b.J() && (b.h = !1), b
}
return d(b,
a), b.prototype.J = function() {
var a = this.canvas.getContext && (this.canvas.getContext("webgl") || this.canvas.getContext("experimental-webgl"));
return !!n.WebGLRenderingContext && !!a
}, b.prototype.j = function(a) {
var b = this.c;
return b.clearColor(0, 0, 0, 1), b.enable(b.DEPTH_TEST), b.depthFunc(b.LEQUAL), b.clear(b.COLOR_BUFFER_BIT | b.DEPTH_BUFFER_BIT), "[" + a[0] + ", " + a[1] + "]"
}, b.prototype.M = function(a) {
var b, f = a.getExtension("EXT_texture_filter_anisotropic") || a.getExtension("WEBKIT_EXT_texture_filter_anisotropic") ||
a.getExtension("MOZ_EXT_texture_filter_anisotropic");
return f ? (0 === (b = a.getParameter(f.MAX_TEXTURE_MAX_ANISOTROPY_EXT)) && (b = 2), b) : null
}, b.prototype.s = function() {
var a = this.c,
b = [],
f = a.createBuffer();
a.bindBuffer(a.ARRAY_BUFFER, f);
a.bufferData(a.ARRAY_BUFFER, new Float32Array([-.2, -.9, 0, .4, -.26, 0, 0, .732134444, 0]), a.STATIC_DRAW);
f.K = 3;
f.O = 3;
var c = a.createProgram(),
d = a.createShader(a.VERTEX_SHADER);
a.shaderSource(d, "attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate\x3dattrVertex+uniformOffset;gl_Position\x3dvec4(attrVertex,0,1);}");
a.compileShader(d);
var e = a.createShader(a.FRAGMENT_SHADER);
a.shaderSource(e, "precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor\x3dvec4(varyinTexCoordinate,0,1);}");
a.compileShader(e);
a.attachShader(c, d);
a.attachShader(c, e);
a.linkProgram(c);
a.useProgram(c);
c.R = a.getAttribLocation(c, "attrVertex");
c.P = a.getUniformLocation(c, "uniformOffset");
a.enableVertexAttribArray(c.ca);
a.vertexAttribPointer(c.R, f.K, a.FLOAT, !1, 0, 0);
a.uniform2f(c.P, 1, 1);
a.drawArrays(a.TRIANGLE_STRIP,
0, f.O);
null != a.canvas && b.push(a.canvas.toDataURL());
b.push("extensions:" + a.getSupportedExtensions().join(";"));
b.push("webgl aliased line width range:" + this.j(a.getParameter(a.ALIASED_LINE_WIDTH_RANGE)));
b.push("webgl aliased point size range:" + this.j(a.getParameter(a.ALIASED_POINT_SIZE_RANGE)));
b.push("webgl alpha bits:" + a.getParameter(a.ALPHA_BITS));
b.push("webgl antialiasing:" + (a.getContextAttributes().antialias ? "yes" : "no"));
b.push("webgl blue bits:" + a.getParameter(a.BLUE_BITS));
b.push("webgl depth bits:" +
a.getParameter(a.DEPTH_BITS));
b.push("webgl green bits:" + a.getParameter(a.GREEN_BITS));
b.push("webgl max anisotropy:" + this.M(a));
b.push("webgl max combined texture image units:" + a.getParameter(a.MAX_COMBINED_TEXTURE_IMAGE_UNITS));
b.push("webgl max cube map texture size:" + a.getParameter(a.MAX_CUBE_MAP_TEXTURE_SIZE));
b.push("webgl max fragment uniform vectors:" + a.getParameter(a.MAX_FRAGMENT_UNIFORM_VECTORS));
b.push("webgl max render buffer size:" + a.getParameter(a.MAX_RENDERBUFFER_SIZE));
b.push("webgl max texture image units:" +
a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS));
b.push("webgl max texture size:" + a.getParameter(a.MAX_TEXTURE_SIZE));
b.push("webgl max varying vectors:" + a.getParameter(a.MAX_VARYING_VECTORS));
b.push("webgl max vertex attribs:" + a.getParameter(a.MAX_VERTEX_ATTRIBS));
b.push("webgl max vertex texture image units:" + a.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS));
b.push("webgl max vertex uniform vectors:" + a.getParameter(a.MAX_VERTEX_UNIFORM_VECTORS));
b.push("webgl max viewport dims:" + this.j(a.getParameter(a.MAX_VIEWPORT_DIMS)));
b.push("webgl red bits:" + a.getParameter(a.RED_BITS));
b.push("webgl renderer:" + a.getParameter(a.RENDERER));
b.push("webgl shading language version:" + a.getParameter(a.SHADING_LANGUAGE_VERSION));
b.push("webgl stencil bits:" + a.getParameter(a.STENCIL_BITS));
b.push("webgl vendor:" + a.getParameter(a.VENDOR));
b.push("webgl version:" + a.getParameter(a.VERSION));
try {
var g = a.getExtension("WEBGL_debug_renderer_info");
g && (b.push("webgl unmasked vendor:" + a.getParameter(g.UNMASKED_VENDOR_WEBGL)), b.push("webgl unmasked renderer:" +
a.getParameter(g.UNMASKED_RENDERER_WEBGL)))
} catch (D) {}
return a.getShaderPrecisionFormat ? (b.push("webgl vertex shader high float precision:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.HIGH_FLOAT).precision), b.push("webgl vertex shader high float precision rangeMin:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.HIGH_FLOAT).rangeMin), b.push("webgl vertex shader high float precision rangeMax:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.HIGH_FLOAT).rangeMax), b.push("webgl vertex shader medium float precision:" +
a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.MEDIUM_FLOAT).precision), b.push("webgl vertex shader medium float precision rangeMin:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.MEDIUM_FLOAT).rangeMin), b.push("webgl vertex shader medium float precision rangeMax:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.MEDIUM_FLOAT).rangeMax), b.push("webgl vertex shader low float precision:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.LOW_FLOAT).precision), b.push("webgl vertex shader low float precision rangeMin:" +
a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.LOW_FLOAT).rangeMin), b.push("webgl vertex shader low float precision rangeMax:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.LOW_FLOAT).rangeMax), b.push("webgl fragment shader high float precision:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.HIGH_FLOAT).precision), b.push("webgl fragment shader high float precision rangeMin:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.HIGH_FLOAT).rangeMin), b.push("webgl fragment shader high float precision rangeMax:" +
a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.HIGH_FLOAT).rangeMax), b.push("webgl fragment shader medium float precision:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.MEDIUM_FLOAT).precision), b.push("webgl fragment shader medium float precision rangeMin:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.MEDIUM_FLOAT).rangeMin), b.push("webgl fragment shader medium float precision rangeMax:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.MEDIUM_FLOAT).rangeMax), b.push("webgl fragment shader low float precision:" +
a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.LOW_FLOAT).precision), b.push("webgl fragment shader low float precision rangeMin:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.LOW_FLOAT).rangeMin), b.push("webgl fragment shader low float precision rangeMax:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.LOW_FLOAT).rangeMax), b.push("webgl vertex shader high int precision:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.HIGH_INT).precision), b.push("webgl vertex shader high int precision rangeMin:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER,
a.HIGH_INT).rangeMin), b.push("webgl vertex shader high int precision rangeMax:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.HIGH_INT).rangeMax), b.push("webgl vertex shader medium int precision:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.MEDIUM_INT).precision), b.push("webgl vertex shader medium int precision rangeMin:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.MEDIUM_INT).rangeMin), b.push("webgl vertex shader medium int precision rangeMax:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.MEDIUM_INT).rangeMax),
b.push("webgl vertex shader low int precision:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.LOW_INT).precision), b.push("webgl vertex shader low int precision rangeMin:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.LOW_INT).rangeMin), b.push("webgl vertex shader low int precision rangeMax:" + a.getShaderPrecisionFormat(a.VERTEX_SHADER, a.LOW_INT).rangeMax), b.push("webgl fragment shader high int precision:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.HIGH_INT).precision), b.push("webgl fragment shader high int precision rangeMin:" +
a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.HIGH_INT).rangeMin), b.push("webgl fragment shader high int precision rangeMax:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.HIGH_INT).rangeMax), b.push("webgl fragment shader medium int precision:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.MEDIUM_INT).precision), b.push("webgl fragment shader medium int precision rangeMin:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.MEDIUM_INT).rangeMin), b.push("webgl fragment shader medium int precision rangeMax:" +
a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.MEDIUM_INT).rangeMax), b.push("webgl fragment shader low int precision:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.LOW_INT).precision), b.push("webgl fragment shader low int precision rangeMin:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.LOW_INT).rangeMin), b.push("webgl fragment shader low int precision rangeMax:" + a.getShaderPrecisionFormat(a.FRAGMENT_SHADER, a.LOW_INT).rangeMax), b.join("~")) : b.join("~")
}, b
}(a = function() {
function a(a) {
this.F = a;
this.h = !0;
this.canvas = q.createElement("canvas");
this.I() || (this.h = !1)
}
return a.prototype.I = function() {
return this.c = this.canvas.getContext(this.F), !(!this.canvas.getContext || !this.c)
}, a.prototype.g = function() {
return this.h ? this.s() : this.id
}, a
}());
b.B = e;
a = function(a) {
function b() {
return a.call(this, "2d") || this
}
return d(b, a), b.prototype.s = function() {
var a = this.canvas,
b = this.c,
f = [];
return a.width = 2E3, a.height = 200, a.style.display = "inline", b.rect(0, 0, 10, 10), b.rect(2, 2, 6, 6), f.push("canvas winding:" + (!1 ===
b.isPointInPath(5, 5, "evenodd") ? "yes" : "no")), b.textBaseline = "alphabetic", b.fillStyle = "#f60", b.fillRect(125, 1, 62, 20), b.fillStyle = "#069", b.font = "11pt Arial", b.fillText("Cwm fjordbank glyphs vext quiz, \ud83d\ude03", 2, 15), b.fillStyle = "rgba(102, 204, 0, 0.2)", b.font = "18pt Arial", b.fillText("Cwm fjordbank glyphs vext quiz, \ud83d\ude03", 4, 45), b.globalCompositeOperation = "multiply", b.fillStyle = "rgb(255,0,255)", b.beginPath(), b.arc(50, 50, 50, 0, 2 * Math.PI, !0), b.closePath(), b.fill(), b.fillStyle = "rgb(0,255,255)",
b.beginPath(), b.arc(100, 50, 50, 0, 2 * Math.PI, !0), b.closePath(), b.fill(), b.fillStyle = "rgb(255,255,0)", b.beginPath(), b.arc(75, 100, 50, 0, 2 * Math.PI, !0), b.closePath(), b.fill(), b.fillStyle = "rgb(255,0,255)", b.arc(75, 75, 75, 0, 2 * Math.PI, !0), b.arc(75, 75, 25, 0, 2 * Math.PI, !0), b.fill("evenodd"), f.push("canvas fp:" + a.toDataURL()), f.join("~")
}, b
}(a);
b.S = a
}, function(a, b, d) {
b.a = !0;
var e = d(3);
a = function() {
function a() {}
return a.prototype.g = function() {
return e.u(navigator.plugins).sort(function(a, b) {
return a.name > b.name ? 1 :
2
}).map(function(a) {
return [a.name, a.description, e.u(a).map(function(a) {
return [a.description, a.suffixes, a.type].join()
}).join()].join()
}).join()
}, a
}();
b.A = a
}, function(a, b) {
b.a = !0;
b.u = function(a) {
return Array.prototype.slice.call(a)
}
}, function(a, b) {
b.a = !0;
a = function() {
function a() {
this.m = n.ApplePaySession
}
return a.prototype.g = function() {
var a = !1;
try {
a = n.self !== n.top
} catch (p) {}
if (!this.m || "https:" !== H.protocol || a) return "";
a = "";
for (var b = 1; 10 >= b; b++) a += this.m.supportsVersion(b) ? b : "0";
return a + this.m.canMakePayments()
},
a
}();
b.v = a
}, function(a, b) {
b.a = !0;
a = function() {
function a() {
this.b = n.navigator
}
return a.prototype.g = function() {
return this.b.i ? this.b.i : this.b.N ? this.b.N : this.b.i ? this.b.i : "unknown"
}, a
}();
b.w = a
}, function(a, b) {
function d(a, c) {
a = [a[0] >>> 16, 65535 & a[0], a[1] >>> 16, 65535 & a[1]];
c = [c[0] >>> 16, 65535 & c[0], c[1] >>> 16, 65535 & c[1]];
var b = [0, 0, 0, 0];
return b[3] += a[3] * c[3], b[2] += b[3] >>> 16, b[3] &= 65535, b[2] += a[2] * c[3], b[1] += b[2] >>> 16, b[2] &= 65535, b[2] += a[3] * c[2], b[1] += b[2] >>> 16, b[2] &= 65535, b[1] += a[1] * c[3], b[0] += b[1] >>> 16,
b[1] &= 65535, b[1] += a[2] * c[2], b[0] += b[1] >>> 16, b[1] &= 65535, b[1] += a[3] * c[1], b[0] += b[1] >>> 16, b[1] &= 65535, b[0] += a[0] * c[3] + a[1] * c[2] + a[2] * c[1] + a[3] * c[0], b[0] &= 65535, [b[0] << 16 | b[1], b[2] << 16 | b[3]]
}
function e(a, c) {
a = [a[0] >>> 16, 65535 & a[0], a[1] >>> 16, 65535 & a[1]];
c = [c[0] >>> 16, 65535 & c[0], c[1] >>> 16, 65535 & c[1]];
var b = [0, 0, 0, 0];
return b[3] += a[3] + c[3], b[2] += b[3] >>> 16, b[3] &= 65535, b[2] += a[2] + c[2], b[1] += b[2] >>> 16, b[2] &= 65535, b[1] += a[1] + c[1], b[0] += b[1] >>> 16, b[1] &= 65535, b[0] += a[0] + c[0], b[0] &= 65535, [b[0] << 16 | b[1], b[2] << 16 |
b[3]
]
}
function g(a, c) {
return 32 === (c %= 64) ? [a[1], a[0]] : 32 > c ? [a[0] << c | a[1] >>> 32 - c, a[1] << c | a[0] >>> 32 - c] : (c -= 32, [a[1] << c | a[0] >>> 32 - c, a[0] << c | a[1] >>> 32 - c])
}
function p(a, c) {
return 0 === (c %= 64) ? a : 32 > c ? [a[0] << c | a[1] >>> 32 - c, a[1] << c] : [a[1] << c - 32, 0]
}
function h(a, c) {
return [a[0] ^ c[0], a[1] ^ c[1]]
}
function m(a) {
return a = h(a, [0, a[0] >>> 1]), a = h(a = d(a, [4283543511, 3981806797]), [0, a[0] >>> 1]), h(a = d(a, [3301882366, 444984403]), [0, a[0] >>> 1])
}
b.a = !0;
b.hash = function(a, c) {
c = c || 0;
var b = (a = a || "").length % 16,
f = a.length - b,
k = [0, c];
c = [0, c];
for (var n, y, q = [2277735313, 289559509], r = [1291169091, 658871167], A = 0; A < f; A += 16) n = [255 & a.charCodeAt(A + 4) | (255 & a.charCodeAt(A + 5)) << 8 | (255 & a.charCodeAt(A + 6)) << 16 | (255 & a.charCodeAt(A + 7)) << 24, 255 & a.charCodeAt(A) | (255 & a.charCodeAt(A + 1)) << 8 | (255 & a.charCodeAt(A + 2)) << 16 | (255 & a.charCodeAt(A + 3)) << 24], y = [255 & a.charCodeAt(A + 12) | (255 & a.charCodeAt(A + 13)) << 8 | (255 & a.charCodeAt(A + 14)) << 16 | (255 & a.charCodeAt(A + 15)) << 24, 255 & a.charCodeAt(A + 8) | (255 & a.charCodeAt(A + 9)) << 8 | (255 & a.charCodeAt(A + 10)) << 16 | (255 & a.charCodeAt(A +
11)) << 24], n = g(n = d(n, q), 31), k = e(k = g(k = h(k, d(n, r)), 27), c), k = e(d(k, [0, 5]), [0, 1390208809]), y = g(y = d(y, r), 33), c = e(c = g(c = h(c, d(y, q)), 31), k), c = e(d(c, [0, 5]), [0, 944331445]);
switch (n = [0, 0], y = [0, 0], b) {
case 15:
y = h(y, p([0, a.charCodeAt(A + 14)], 48));
case 14:
y = h(y, p([0, a.charCodeAt(A + 13)], 40));
case 13:
y = h(y, p([0, a.charCodeAt(A + 12)], 32));
case 12:
y = h(y, p([0, a.charCodeAt(A + 11)], 24));
case 11:
y = h(y, p([0, a.charCodeAt(A + 10)], 16));
case 10:
y = h(y, p([0, a.charCodeAt(A + 9)], 8));
case 9:
y = d(y = h(y, [0, a.charCodeAt(A + 8)]), r), c = h(c, d(g(y,
33), q));
case 8:
n = h(n, p([0, a.charCodeAt(A + 7)], 56));
case 7:
n = h(n, p([0, a.charCodeAt(A + 6)], 48));
case 6:
n = h(n, p([0, a.charCodeAt(A + 5)], 40));
case 5:
n = h(n, p([0, a.charCodeAt(A + 4)], 32));
case 4:
n = h(n, p([0, a.charCodeAt(A + 3)], 24));
case 3:
n = h(n, p([0, a.charCodeAt(A + 2)], 16));
case 2:
n = h(n, p([0, a.charCodeAt(A + 1)], 8));
case 1:
n = d(n = h(n, [0, a.charCodeAt(A)]), q), k = h(k, d(g(n, 31), r))
}
return k = e(k = h(k, [0, a.length]), c = h(c, [0, a.length])), c = e(c, k), k = e(k = m(k), c = m(c)), c = e(c, k), ("00000000" + (k[0] >>> 0).toString(16)).slice(-8) + ("00000000" +
(k[1] >>> 0).toString(16)).slice(-8) + ("00000000" + (c[0] >>> 0).toString(16)).slice(-8) + ("00000000" + (c[1] >>> 0).toString(16)).slice(-8)
}
}]);
cb = cb["default"]
} catch (a) {
La = {
error: a,
scope: "fip"
}
}
k.arrayFilter = function(a, b, d) {
var e = [],
g;
for (g = 0; g < a.length; g++) b.call(d, a[g], g, a) && e.push(a[g]);
return e
};
k.arrDiff = function(a, b) {
return k.arrayFilter(a, function(a) {
return -1 === k.arrayIndexOf(b, a)
})
};
k.encodeURIComponent = function(a, b) {
a = String(a);
b && a.length > b && (a = a.substr(0, b));
return (n.encodeURIComponent || n.escape)(a).replace(/\+/g,
"%2B")
};
k.bind = function(a, b) {
var d = [].slice.call(arguments, 2);
return function() {
return a.apply(b || this, d.concat([].slice.call(arguments, 0)))
}
};
k.clearTimeout = function(a) {
return k.getNativeFunction("clearTimeout")(a)
};
k.safeDecodeURIComponent = function(a) {
try {
return decodeURIComponent(a)
} catch (b) {
return ""
}
};
k.isDev = function() {
return !1
};
k.noop = function() {};
!bb(/webkit/) && bb(/gecko/);
var fb = {
asyncChunk: 400,
maxDuration: 20,
restTime: 100,
asyncBuffer: [],
timeout: null,
rest: 0,
addAsyncItem: function(a, b, d, e, g) {
var p =
this;
this.asyncBuffer.push({
fn: a,
ctx: b,
args: e || [],
loggerName: g || ""
});
d ? (clearTimeout(this.timeout), p.flushAsync(!0)) : x.getMs() - this.rest >= this.restTime && !this.timeout ? (this.rest = x.getMs(), p.flushAsync()) : this.timeout || (this.timeout = k.setTimeout(function() {
p.rest = x.getMs();
p.flushAsync();
p.timeout = !1
}, this.restTime))
},
chain: function(a, b, d, e) {
var g = this;
a.push = function(a) {
throw 'Try to push in Executor when it started "' + a + '"';
};
(function c(b, d, f) {
g.addAsyncItem(function(b, f, d) {
f = a[b++](f);
b <= a.length -
1 && c(b, f, d)
}, null, f, [b, d], e + "." + b)
})(0, b, d)
},
callByTimeout: function(a, b) {
for (var d = x.getMs(), e = 0, g, p = (b || 0) + 1, h = 0, m = this; this.asyncBuffer.length;)
if (g = this.asyncBuffer.shift(), h += 1, !g.isExecuted && (E(function() {
g.fn.apply(g.ctx, g.args)
}, "AsyncExecutor." + g.loggerName)(), e = x.getMs() - d, g.isExecuted = !0, !a && (h >= this.asyncChunk || e >= this.maxDuration))) {
k.setTimeout(function() {
m.callByTimeout(a, p)
}, this.restTime);
break
}
},
flushAsync: function(a) {
this.asyncBuffer.length && this.callByTimeout(a)
}
},
Rb = Ca.inherit({
id: "XHRPlain",
index: 8,
_splitParams: function(a) {
var b = {},
d = {};
k.forEachKey(a, function(a, g) {
k.inArray(this.postParams, a) ? this.postParams.isSingle ? d = g : d[a] = g : b[a] = g
}, this);
return {
get: b,
post: d
}
},
_preparePostParams: function(a) {
return a.post
},
_setHeaders: function(a) {
a.setRequestHeader("Content-Type", "text/plain")
}
}),
gb = P.inherit({
resource: "webvisor",
version: 2,
retry: !1,
postParams: ["wv-data"],
transports: [Rb],
_initComponent: function() {
gb.superclass._initComponent.apply(this, arguments);
this.postParams.isSingle = !0
},
sendPacket: function(a,
b, d, e, g, p, h, m, f) {
var c = v.getViewportSize();
if (!a || !a.length) return !1;
a = {
rn: k.random(),
"page-url": b,
wmode: 0,
"wv-type": this.version,
"wv-hit": d,
"wv-part": e + 1,
"wv-data": a
};
g = {
et: h,
w: c[0] + "x" + c[1],
v: this._getVersion(),
z: g,
i: p
};
this.browserInfoMix && (g = k.mixin(g, this.browserInfoMix));
return this.send(a, g, m, f)
}
}),
Ua = va.inherit({
protocol: "",
chunkSize: 0,
counterId: "",
counterType: "",
meta: null,
maxBufferSize: 7E5,
flushTimeout: 2E3,
storageKey: "visorbuff2",
active: !1,
wvType: 2,
_v: "",
_initComponent: function() {
this._sender =
new gb({
version: this.wvType,
protocol: this.protocol,
globalConfig: this.globalConfig,
counterId: this.counterId,
browserInfoMix: this.browserInfoMix,
counterType: this.counterType
});
Ua.superclass._initComponent.apply(this, arguments)
},
append: function(a) {
!this._data.length && a && a.length && (this.startBufferTime = x.getSeconds());
Ua.superclass.append.apply(this, arguments)
},
_getSize: function(a) {
var b = this;
this.chunkSize = n.Blob ? this.chunkSize + (new Blob([a])).size : this.chunkSize + 2 * a.length;
this.wrappers.length && k.reduce(function(a,
e) {
var d = e.getBufferData();
b.chunkSize += k.toJSON(d).length
}, 0, this.wrappers);
return this.chunkSize
},
addData: function(a, b, d, e, g) {
var p = 0,
h = 1,
m = {
type: a
},
f = .9 * this.maxBufferSize;
this._v = d;
this.wrappers.length && k.arrayEvery(this.wrappers, function(c) {
c.trigger && c.trigger(a, b);
return 1
});
if (g) this._getSize("{}"), this.append([], e);
else {
b.stamp && (m.stamp = b.stamp, delete b.stamp);
d = ea.stringify(b);
g = this._getSize(d);
if (g > this.maxBufferSize)
for (this._data.length && this._flush(), e = Math.ceil(g / f); p < d.length;) m.partNum =
h, m.end = h === e, m.data = d.slice(p, p += f), h++, this._getSize(m.data), this.append([m], !0);
else m.data = d, this.append([m], e);
this.store.set(m, {
id: a,
data: b
})
}
},
onFlush: function(a, b, d) {
this.chunkSize = 0;
k.arrayEvery(this.wrappers, function(b) {
if (!b.onFlush) return 1;
k.arrayEvery(a, function(a) {
a = this.store.pop(a);
if (!a) return 1;
b.onFlush(a.id, a.data);
return 1
}, this);
return 1
}, this);
k.arrayEvery(this.wrappers, function(b) {
b = b.getBufferData();
b.data = ea.stringify(b.data);
a.push(b);
return 1
});
this._sender.sendPacket(ea.stringify(a),
b.url, b.hitId, d, b.timezone, b.timestamp, this.startBufferTime)
},
getFlushSize: function() {
return this.chunkSize
}
}),
G = function(a) {
function b(e) {
if (d[e]) return d[e].exports;
var g = d[e] = {
i: e,
l: !1,
exports: {}
};
a[e].call(g.exports, g, g.exports, b);
g.l = !0;
return g.exports
}
var d = {};
b.m = a;
b.c = d;
b.d = function(a, d, k) {
b.o(a, d) || Object.defineProperty(a, d, {
configurable: !1,
enumerable: !0,
get: k
})
};
b.r = function(a) {
Object.defineProperty(a, "__esModule", {
value: !0
})
};
b.n = function(a) {
var d = a && a.__esModule ? function() {
return a["default"]
} :
function() {
return a
};
b.d(d, "a", d);
return d
};
b.o = function(a, b) {
return Object.prototype.hasOwnProperty.call(a, b)
};
b.p = "";
return b(b.s = 18)
}([function(a, b, d) {
function e(a, b, d) {
for (var f = Object.keys(b), c = 0; c < f.length; ++c) void 0 !== a[f[c]] && d || (a[f[c]] = b[f[c]]);
return a
}
function g(a) {
function b(a, f) {
if (!(this instanceof b)) return new b(a, f);
Object.defineProperty(this, "message", {
get: function() {
return a
}
});
Error.captureStackTrace ? Error.captureStackTrace(this, b) : Object.defineProperty(this, "stack", {
value: Error().stack ||
""
});
f && e(this, f)
}(b.prototype = Object.create(Error.prototype)).constructor = b;
Object.defineProperty(b.prototype, "name", {
get: function() {
return a
}
});
b.prototype.toString = function() {
return this.name + ": " + this.message
};
return b
}
b.asPromise = d(15);
b.base64 = d(14);
b.EventEmitter = d(13);
b["float"] = d(12);
b.inquire = d(11);
b.utf8 = d(10);
b.pool = d(9);
b.LongBits = d(8);
b.global = "undefined" != typeof n && n || "undefined" != typeof global && global || "undefined" != typeof self && self || this;
b.emptyArray = Object.freeze ? Object.freeze([]) : [];
b.emptyObject = Object.freeze ? Object.freeze({}) : {};
b.isNode = !!(b.global.process && b.global.process.versions && b.global.process.versions.node);
b.isInteger = Number.isInteger || function(a) {
return "number" == typeof a && isFinite(a) && Math.floor(a) === a
};
b.isString = function(a) {
return "string" == typeof a || a instanceof String
};
b.isObject = function(a) {
return a && "object" == typeof a
};
b.isset = b.isSet = function(a, b) {
var d = a[b];
return !(null == d || !a.hasOwnProperty(b)) && ("object" != typeof d || 0 < (Array.isArray(d) ? d.length : Object.keys(d).length))
};
b.Buffer = function() {
try {
var a = b.inquire("buffer").Buffer;
return a.prototype.utf8Write ? a : null
} catch (h) {
return null
}
}();
b._Buffer_from = null;
b._Buffer_allocUnsafe = null;
b.newBuffer = function(a) {
return "number" == typeof a ? b.Buffer ? b._Buffer_allocUnsafe(a) : new b.Array(a) : b.Buffer ? b._Buffer_from(a) : "undefined" == typeof Uint8Array ? a : new Uint8Array(a)
};
b.Array = "undefined" != typeof Uint8Array ? Uint8Array : Array;
b.Long = b.global.dcodeIO && b.global.dcodeIO.Long || b.global.Long || b.inquire("long");
b.key2Re = /^true|false|0|1$/;
b.key32Re = /^-?(?:0|[1-9][0-9]*)$/;
b.key64Re = /^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;
b.longToHash = function(a) {
return a ? b.LongBits.from(a).toHash() : b.LongBits.zeroHash
};
b.longFromHash = function(a, d) {
var e = b.LongBits.fromHash(a);
return b.Long ? b.Long.fromBits(e.lo, e.hi, d) : e.toNumber(!!d)
};
b.merge = e;
b.lcFirst = function(a) {
return a.charAt(0).toLowerCase() + a.substring(1)
};
b.newError = g;
b.ProtocolError = g("ProtocolError");
b.oneOfGetter = function(a) {
for (var b = {}, d = 0; d < a.length; ++d) b[a[d]] = 1;
return function() {
for (var a =
Object.keys(this), c = a.length - 1; - 1 < c; --c)
if (1 === b[a[c]] && void 0 !== this[a[c]] && null !== this[a[c]]) return a[c]
}
};
b.oneOfSetter = function(a) {
return function(b) {
for (var d = 0; d < a.length; ++d) a[d] !== b && delete this[a[d]]
}
};
b.toJSONOptions = {
longs: String,
enums: String,
bytes: String,
json: !0
};
b._configure = function() {
var a = b.Buffer;
a ? (b._Buffer_from = a.from !== Uint8Array.from && a.from || function(b, d) {
return new a(b, d)
}, b._Buffer_allocUnsafe = a.allocUnsafe || function(b) {
return new a(b)
}) : b._Buffer_from = b._Buffer_allocUnsafe =
null
}
}, function(a, b, d) {
function e(a, c) {
return RangeError("index out of range: " + a.pos + " + " + (c || 1) + " \x3e " + a.len)
}
function g(a) {
this.buf = a;
this.pos = 0;
this.len = a.length
}
function k() {
var a = new l(0, 0),
c = 0;
if (!(4 < this.len - this.pos)) {
for (; 3 > c; ++c) {
if (this.pos >= this.len) throw e(this);
a.lo = (a.lo | (127 & this.buf[this.pos]) << 7 * c) >>> 0;
if (128 > this.buf[this.pos++]) return a
}
a.lo = (a.lo | (127 & this.buf[this.pos++]) << 7 * c) >>> 0;
return a
}
for (; 4 > c; ++c)
if (a.lo = (a.lo | (127 & this.buf[this.pos]) << 7 * c) >>> 0, 128 > this.buf[this.pos++]) return a;
a.lo = (a.lo | (127 & this.buf[this.pos]) << 28) >>> 0;
a.hi = (a.hi | (127 & this.buf[this.pos]) >> 4) >>> 0;
if (128 > this.buf[this.pos++]) return a;
c = 0;
if (4 < this.len - this.pos)
for (; 5 > c; ++c) {
if (a.hi = (a.hi | (127 & this.buf[this.pos]) << 7 * c + 3) >>> 0, 128 > this.buf[this.pos++]) return a
} else
for (; 5 > c; ++c) {
if (this.pos >= this.len) throw e(this);
a.hi = (a.hi | (127 & this.buf[this.pos]) << 7 * c + 3) >>> 0;
if (128 > this.buf[this.pos++]) return a
}
throw Error("invalid varint encoding");
}
function h(a, c) {
return (a[c - 4] | a[c - 3] << 8 | a[c - 2] << 16 | a[c - 1] << 24) >>> 0
}
function m() {
if (this.pos +
8 > this.len) throw e(this, 8);
return new l(h(this.buf, this.pos += 4), h(this.buf, this.pos += 4))
}
a.exports = g;
var f, c = d(0),
l = c.LongBits,
t = c.utf8,
z, n = "undefined" != typeof Uint8Array ? function(a) {
if (a instanceof Uint8Array || Array.isArray(a)) return new g(a);
throw Error("illegal buffer");
} : function(a) {
if (Array.isArray(a)) return new g(a);
throw Error("illegal buffer");
};
g.create = c.Buffer ? function(a) {
return (g.create = function(a) {
return c.Buffer.isBuffer(a) ? new f(a) : n(a)
})(a)
} : n;
g.prototype._slice = c.Array.prototype.subarray ||
c.Array.prototype.slice;
g.prototype.uint32 = (z = 4294967295, function() {
z = (127 & this.buf[this.pos]) >>> 0;
if (128 > this.buf[this.pos++]) return z;
z = (z | (127 & this.buf[this.pos]) << 7) >>> 0;
if (128 > this.buf[this.pos++]) return z;
z = (z | (127 & this.buf[this.pos]) << 14) >>> 0;
if (128 > this.buf[this.pos++]) return z;
z = (z | (127 & this.buf[this.pos]) << 21) >>> 0;
if (128 > this.buf[this.pos++]) return z;
z = (z | (15 & this.buf[this.pos]) << 28) >>> 0;
if (128 > this.buf[this.pos++]) return z;
if ((this.pos += 5) > this.len) throw this.pos = this.len, e(this, 10);
return z
});
g.prototype.int32 = function() {
return 0 | this.uint32()
};
g.prototype.sint32 = function() {
var a = this.uint32();
return a >>> 1 ^ -(1 & a) | 0
};
g.prototype.bool = function() {
return 0 !== this.uint32()
};
g.prototype.fixed32 = function() {
if (this.pos + 4 > this.len) throw e(this, 4);
return h(this.buf, this.pos += 4)
};
g.prototype.sfixed32 = function() {
if (this.pos + 4 > this.len) throw e(this, 4);
return 0 | h(this.buf, this.pos += 4)
};
g.prototype["float"] = function() {
if (this.pos + 4 > this.len) throw e(this, 4);
var a = c["float"].readFloatLE(this.buf, this.pos);
this.pos += 4;
return a
};
g.prototype["double"] = function() {
if (this.pos + 8 > this.len) throw e(this, 4);
var a = c["float"].readDoubleLE(this.buf, this.pos);
this.pos += 8;
return a
};
g.prototype.bytes = function() {
var a = this.uint32(),
c = this.pos,
b = this.pos + a;
if (b > this.len) throw e(this, a);
this.pos += a;
return Array.isArray(this.buf) ? this.buf.slice(c, b) : c === b ? new this.buf.constructor(0) : this._slice.call(this.buf, c, b)
};
g.prototype.string = function() {
var a = this.bytes();
return t.read(a, 0, a.length)
};
g.prototype.skip = function(a) {
if ("number" ==
typeof a) {
if (this.pos + a > this.len) throw e(this, a);
this.pos += a
} else {
do
if (this.pos >= this.len) throw e(this); while (128 & this.buf[this.pos++])
}
return this
};
g.prototype.skipType = function(a) {
switch (a) {
case 0:
this.skip();
break;
case 1:
this.skip(8);
break;
case 2:
this.skip(this.uint32());
break;
case 3:
for (; 4 != (a = 7 & this.uint32());) this.skipType(a);
break;
case 5:
this.skip(4);
break;
default:
throw Error("invalid wire type " + a + " at offset " + this.pos);
}
return this
};
g._configure = function(a) {
f = a;
var b = c.Long ? "toLong" : "toNumber";
c.merge(g.prototype, {
int64: function() {
return k.call(this)[b](!1)
},
uint64: function() {
return k.call(this)[b](!0)
},
sint64: function() {
return k.call(this).zzDecode()[b](!1)
},
fixed64: function() {
return m.call(this)[b](!0)
},
sfixed64: function() {
return m.call(this)[b](!1)
}
})
}
}, function(a, b, d) {
function e(a, c, b) {
this.fn = a;
this.len = c;
this.next = void 0;
this.val = b
}
function g() {}
function k(a) {
this.head = a.head;
this.tail = a.tail;
this.len = a.len;
this.next = a.states
}
function h() {
this.len = 0;
this.tail = this.head = new e(g, 0,
0);
this.states = null
}
function m(a, c, b) {
c[b] = 255 & a
}
function f(a, c) {
this.len = a;
this.next = void 0;
this.val = c
}
function c(a, c, b) {
for (; a.hi;) c[b++] = 127 & a.lo | 128, a.lo = (a.lo >>> 7 | a.hi << 25) >>> 0, a.hi >>>= 7;
for (; 127 < a.lo;) c[b++] = 127 & a.lo | 128, a.lo >>>= 7;
c[b++] = a.lo
}
function l(a, c, b) {
c[b] = 255 & a;
c[b + 1] = a >>> 8 & 255;
c[b + 2] = a >>> 16 & 255;
c[b + 3] = a >>> 24
}
a.exports = h;
var t, z = d(0),
n = z.LongBits,
q = z.base64,
r = z.utf8;
h.create = z.Buffer ? function() {
return (h.create = function() {
return new t
})()
} : function() {
return new h
};
h.alloc = function(a) {
return new z.Array(a)
};
z.Array !== Array && (h.alloc = z.pool(h.alloc, z.Array.prototype.subarray));
h.prototype._push = function(a, c, b) {
this.tail = this.tail.next = new e(a, c, b);
this.len += c;
return this
};
f.prototype = Object.create(e.prototype);
f.prototype.fn = function(a, c, b) {
for (; 127 < a;) c[b++] = 127 & a | 128, a >>>= 7;
c[b] = a
};
h.prototype.uint32 = function(a) {
this.len += (this.tail = this.tail.next = new f(128 > (a >>>= 0) ? 1 : 16384 > a ? 2 : 2097152 > a ? 3 : 268435456 > a ? 4 : 5, a)).len;
return this
};
h.prototype.int32 = function(a) {
return 0 > a ? this._push(c, 10, n.fromNumber(a)) :
this.uint32(a)
};
h.prototype.sint32 = function(a) {
return this.uint32((a << 1 ^ a >> 31) >>> 0)
};
h.prototype.uint64 = function(a) {
a = n.from(a);
return this._push(c, a.length(), a)
};
h.prototype.int64 = h.prototype.uint64;
h.prototype.sint64 = function(a) {
a = n.from(a).zzEncode();
return this._push(c, a.length(), a)
};
h.prototype.bool = function(a) {
return this._push(m, 1, a ? 1 : 0)
};
h.prototype.fixed32 = function(a) {
return this._push(l, 4, a >>> 0)
};
h.prototype.sfixed32 = h.prototype.fixed32;
h.prototype.fixed64 = function(a) {
a = n.from(a);
return this._push(l,
4, a.lo)._push(l, 4, a.hi)
};
h.prototype.sfixed64 = h.prototype.fixed64;
h.prototype["float"] = function(a) {
return this._push(z["float"].writeFloatLE, 4, a)
};
h.prototype["double"] = function(a) {
return this._push(z["float"].writeDoubleLE, 8, a)
};
var v = z.Array.prototype.set ? function(a, c, b) {
c.set(a, b)
} : function(a, c, b) {
for (var f = 0; f < a.length; ++f) c[b + f] = a[f]
};
h.prototype.bytes = function(a) {
var c = a.length >>> 0;
if (!c) return this._push(m, 1, 0);
if (z.isString(a)) {
var b = h.alloc(c = q.length(a));
q.decode(a, b, 0);
a = b
}
return this.uint32(c)._push(v,
c, a)
};
h.prototype.string = function(a) {
var c = r.length(a);
return c ? this.uint32(c)._push(r.write, c, a) : this._push(m, 1, 0)
};
h.prototype.fork = function() {
this.states = new k(this);
this.head = this.tail = new e(g, 0, 0);
this.len = 0;
return this
};
h.prototype.reset = function() {
this.states ? (this.head = this.states.head, this.tail = this.states.tail, this.len = this.states.len, this.states = this.states.next) : (this.head = this.tail = new e(g, 0, 0), this.len = 0);
return this
};
h.prototype.ldelim = function() {
var a = this.head,
c = this.tail,
b = this.len;
this.reset().uint32(b);
b && (this.tail.next = a.next, this.tail = c, this.len += b);
return this
};
h.prototype.finish = function() {
for (var a = this.head.next, c = this.constructor.alloc(this.len), b = 0; a;) a.fn(a.val, c, b), b += a.len, a = a.next;
return c
};
h._configure = function(a) {
t = a
}
}, function(a, b, d) {
a.exports = {}
}, function(a, b, d) {
function e(a, b, d) {
if ("function" != typeof a) throw TypeError("rpcImpl must be a function");
g.EventEmitter.call(this);
this.rpcImpl = a;
this.requestDelimited = !!b;
this.responseDelimited = !!d
}
a.exports = e;
var g =
d(0);
(e.prototype = Object.create(g.EventEmitter.prototype)).constructor = e;
e.prototype.rpcCall = function t(a, b, f, c, d) {
if (!c) throw TypeError("request must be specified");
var e = this;
if (!d) return g.asPromise(t, e, a, b, f, c);
if (e.rpcImpl) try {
return e.rpcImpl(a, b[e.requestDelimited ? "encodeDelimited" : "encode"](c).finish(), function(c, b) {
if (c) return e.emit("error", c, a), d(c);
if (null !== b) {
if (!(b instanceof f)) try {
b = f[e.responseDelimited ? "decodeDelimited" : "decode"](b)
} catch (aa) {
return e.emit("error", aa, a), d(aa)
}
e.emit("data",
b, a);
return d(null, b)
}
e.end(!0)
})
} catch (D) {
e.emit("error", D, a), C(function() {
d(D)
}, 0)
} else C(function() {
d(Error("already ended"))
}, 0)
};
e.prototype.end = function(a) {
this.rpcImpl && (a || this.rpcImpl(null, null, null), this.rpcImpl = null, this.emit("end").off());
return this
}
}, function(a, b, d) {
b.Service = d(4)
}, function(a, b, d) {
function e(a) {
g.call(this, a)
}
a.exports = e;
var g = d(1);
(e.prototype = Object.create(g.prototype)).constructor = e;
a = d(0);
a.Buffer && (e.prototype._slice = a.Buffer.prototype.slice);
e.prototype.string =
function() {
var a = this.uint32();
return this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + a, this.len))
}
}, function(a, b, d) {
function e() {
k.call(this)
}
function g(a, b, f) {
40 > a.length ? h.utf8.write(a, b, f) : b.utf8Write(a, f)
}
a.exports = e;
var k = d(2);
(e.prototype = Object.create(k.prototype)).constructor = e;
var h = d(0),
m = h.Buffer;
e.alloc = function(a) {
return (e.alloc = h._Buffer_allocUnsafe)(a)
};
var f = m && m.prototype instanceof Uint8Array && "set" === m.prototype.set.name ? function(a, b, f) {
b.set(a, f)
} : function(a, b, f) {
if (a.copy) a.copy(b,
f, 0, a.length);
else
for (var c = 0; c < a.length;) b[f++] = a[c++]
};
e.prototype.bytes = function(a) {
h.isString(a) && (a = h._Buffer_from(a, "base64"));
var c = a.length >>> 0;
this.uint32(c);
c && this._push(f, c, a);
return this
};
e.prototype.string = function(a) {
var c = m.byteLength(a);
this.uint32(c);
c && this._push(g, c, a);
return this
}
}, function(a, b, d) {
function e(a, c) {
this.lo = a >>> 0;
this.hi = c >>> 0
}
a.exports = e;
var g = d(0),
k = e.zero = new e(0, 0);
k.toNumber = function() {
return 0
};
k.zzEncode = k.zzDecode = function() {
return this
};
k.length = function() {
return 1
};
var h = e.zeroHash = "\x00\x00\x00\x00\x00\x00\x00\x00";
e.fromNumber = function(a) {
if (0 === a) return k;
var c = 0 > a;
c && (a = -a);
var b = a >>> 0;
a = (a - b) / 4294967296 >>> 0;
c && (a = ~a >>> 0, b = ~b >>> 0, 4294967295 < ++b && (b = 0, 4294967295 < ++a && (a = 0)));
return new e(b, a)
};
e.from = function(a) {
if ("number" == typeof a) return e.fromNumber(a);
if (g.isString(a)) {
if (!g.Long) return e.fromNumber(parseInt(a, 10));
a = g.Long.fromString(a)
}
return a.low || a.high ? new e(a.low >>> 0, a.high >>> 0) : k
};
e.prototype.toNumber = function(a) {
if (!a && this.hi >>> 31) {
a = 1 + ~this.lo >>>
0;
var c = ~this.hi >>> 0;
a || (c = c + 1 >>> 0);
return -(a + 4294967296 * c)
}
return this.lo + 4294967296 * this.hi
};
e.prototype.toLong = function(a) {
return g.Long ? new g.Long(0 | this.lo, 0 | this.hi, !!a) : {
low: 0 | this.lo,
high: 0 | this.hi,
unsigned: !!a
}
};
var m = String.prototype.charCodeAt;
e.fromHash = function(a) {
return a === h ? k : new e((m.call(a, 0) | m.call(a, 1) << 8 | m.call(a, 2) << 16 | m.call(a, 3) << 24) >>> 0, (m.call(a, 4) | m.call(a, 5) << 8 | m.call(a, 6) << 16 | m.call(a, 7) << 24) >>> 0)
};
e.prototype.toHash = function() {
return String.fromCharCode(255 & this.lo, this.lo >>>
8 & 255, this.lo >>> 16 & 255, this.lo >>> 24, 255 & this.hi, this.hi >>> 8 & 255, this.hi >>> 16 & 255, this.hi >>> 24)
};
e.prototype.zzEncode = function() {
var a = this.hi >> 31;
this.hi = ((this.hi << 1 | this.lo >>> 31) ^ a) >>> 0;
this.lo = (this.lo << 1 ^ a) >>> 0;
return this
};
e.prototype.zzDecode = function() {
var a = -(1 & this.lo);
this.lo = ((this.lo >>> 1 | this.hi << 31) ^ a) >>> 0;
this.hi = (this.hi >>> 1 ^ a) >>> 0;
return this
};
e.prototype.length = function() {
var a = this.lo,
c = (this.lo >>> 28 | this.hi << 4) >>> 0,
b = this.hi >>> 24;
return 0 === b ? 0 === c ? 16384 > a ? 128 > a ? 1 : 2 : 2097152 > a ? 3 :
4 : 16384 > c ? 128 > c ? 5 : 6 : 2097152 > c ? 7 : 8 : 128 > b ? 9 : 10
}
}, function(a, b, d) {
a.exports = function(a, b, d) {
var e = d || 8192,
g = e >>> 1,
f = null,
c = e;
return function(d) {
if (1 > d || d > g) return a(d);
c + d > e && (f = a(e), c = 0);
d = b.call(f, c, c += d);
7 & c && (c = 1 + (7 | c));
return d
}
}
}, function(a, b, d) {
b.length = function(a) {
for (var b = 0, d, e = 0; e < a.length; ++e) d = a.charCodeAt(e), 128 > d ? b += 1 : 2048 > d ? b += 2 : 55296 == (64512 & d) && 56320 == (64512 & a.charCodeAt(e + 1)) ? (++e, b += 4) : b += 3;
return b
};
b.read = function(a, b, d) {
if (1 > d - b) return "";
for (var e, g = null, f = [], c = 0; b < d;) e = a[b++],
128 > e ? f[c++] = e : 191 < e && 224 > e ? f[c++] = (31 & e) << 6 | 63 & a[b++] : 239 < e && 365 > e ? (e = ((7 & e) << 18 | (63 & a[b++]) << 12 | (63 & a[b++]) << 6 | 63 & a[b++]) - 65536, f[c++] = 55296 + (e >> 10), f[c++] = 56320 + (1023 & e)) : f[c++] = (15 & e) << 12 | (63 & a[b++]) << 6 | 63 & a[b++], 8191 < c && ((g || (g = [])).push(String.fromCharCode.apply(String, f)), c = 0);
return g ? (c && g.push(String.fromCharCode.apply(String, f.slice(0, c))), g.join("")) : String.fromCharCode.apply(String, f.slice(0, c))
};
b.write = function(a, b, d) {
for (var e, g, f = d, c = 0; c < a.length; ++c) e = a.charCodeAt(c), 128 > e ? b[d++] =
e : (2048 > e ? b[d++] = e >> 6 | 192 : (55296 == (64512 & e) && 56320 == (64512 & (g = a.charCodeAt(c + 1))) ? (e = 65536 + ((1023 & e) << 10) + (1023 & g), ++c, b[d++] = e >> 18 | 240, b[d++] = e >> 12 & 63 | 128) : b[d++] = e >> 12 | 224, b[d++] = e >> 6 & 63 | 128), b[d++] = 63 & e | 128);
return d - f
}
}, function(a, b, d) {
a.exports = function(a) {
return null
}
}, function(a, b, d) {
function e(a) {
"undefined" != typeof Float32Array ? function() {
function c(a, c, b) {
e[0] = a;
c[b] = g[0];
c[b + 1] = g[1];
c[b + 2] = g[2];
c[b + 3] = g[3]
}
function b(a, c, b) {
e[0] = a;
c[b] = g[3];
c[b + 1] = g[2];
c[b + 2] = g[1];
c[b + 3] = g[0]
}
function f(a,
c) {
g[0] = a[c];
g[1] = a[c + 1];
g[2] = a[c + 2];
g[3] = a[c + 3];
return e[0]
}
function d(a, c) {
g[3] = a[c];
g[2] = a[c + 1];
g[1] = a[c + 2];
g[0] = a[c + 3];
return e[0]
}
var e = new Float32Array([-0]),
g = new Uint8Array(e.buffer),
h = 128 === g[3];
a.writeFloatLE = h ? c : b;
a.writeFloatBE = h ? b : c;
a.readFloatLE = h ? f : d;
a.readFloatBE = h ? d : f
}() : function() {
function c(a, c, b, f) {
var d = 0 > c ? 1 : 0;
d && (c = -c);
if (0 === c) a(0 < 1 / c ? 0 : 2147483648, b, f);
else if (isNaN(c)) a(2143289344, b, f);
else if (3.4028234663852886e+38 < c) a((d << 31 | 2139095040) >>> 0, b, f);
else if (1.1754943508222875e-38 >
c) a((d << 31 | Math.round(c / 1.401298464324817e-45)) >>> 0, b, f);
else {
var e = Math.floor(Math.log(c) / Math.LN2);
a((d << 31 | e + 127 << 23 | 8388607 & Math.round(c * Math.pow(2, -e) * 8388608)) >>> 0, b, f)
}
}
function b(a, c, b) {
b = a(c, b);
a = 2 * (b >> 31) + 1;
c = b >>> 23 & 255;
b &= 8388607;
return 255 === c ? b ? NaN : 1 / 0 * a : 0 === c ? 1.401298464324817e-45 * a * b : a * Math.pow(2, c - 150) * (b + 8388608)
}
a.writeFloatLE = c.bind(null, g);
a.writeFloatBE = c.bind(null, k);
a.readFloatLE = b.bind(null, h);
a.readFloatBE = b.bind(null, m)
}();
"undefined" != typeof Float64Array ? function() {
function c(a,
c, b) {
e[0] = a;
c[b] = g[0];
c[b + 1] = g[1];
c[b + 2] = g[2];
c[b + 3] = g[3];
c[b + 4] = g[4];
c[b + 5] = g[5];
c[b + 6] = g[6];
c[b + 7] = g[7]
}
function b(a, c, b) {
e[0] = a;
c[b] = g[7];
c[b + 1] = g[6];
c[b + 2] = g[5];
c[b + 3] = g[4];
c[b + 4] = g[3];
c[b + 5] = g[2];
c[b + 6] = g[1];
c[b + 7] = g[0]
}
function f(a, c) {
g[0] = a[c];
g[1] = a[c + 1];
g[2] = a[c + 2];
g[3] = a[c + 3];
g[4] = a[c + 4];
g[5] = a[c + 5];
g[6] = a[c + 6];
g[7] = a[c + 7];
return e[0]
}
function d(a, c) {
g[7] = a[c];
g[6] = a[c + 1];
g[5] = a[c + 2];
g[4] = a[c + 3];
g[3] = a[c + 4];
g[2] = a[c + 5];
g[1] = a[c + 6];
g[0] = a[c + 7];
return e[0]
}
var e = new Float64Array([-0]),
g = new Uint8Array(e.buffer),
h = 128 === g[7];
a.writeDoubleLE = h ? c : b;
a.writeDoubleBE = h ? b : c;
a.readDoubleLE = h ? f : d;
a.readDoubleBE = h ? d : f
}() : function() {
function c(a, c, b, f, d, e) {
var l = 0 > f ? 1 : 0;
l && (f = -f);
if (0 === f) a(0, d, e + c), a(0 < 1 / f ? 0 : 2147483648, d, e + b);
else if (isNaN(f)) a(0, d, e + c), a(2146959360, d, e + b);
else if (1.7976931348623157e+308 < f) a(0, d, e + c), a((l << 31 | 2146435072) >>> 0, d, e + b);
else if (2.2250738585072014e-308 > f) f /= 5e-324, a(f >>> 0, d, e + c), a((l << 31 | f / 4294967296) >>> 0, d, e + b);
else {
var g = Math.floor(Math.log(f) / Math.LN2);
1024 === g && (g = 1023);
f *= Math.pow(2,
-g);
a(4503599627370496 * f >>> 0, d, e + c);
a((l << 31 | g + 1023 << 20 | 1048576 * f & 1048575) >>> 0, d, e + b)
}
}
function b(a, c, b, f, d) {
c = a(f, d + c);
f = a(f, d + b);
a = 2 * (f >> 31) + 1;
b = f >>> 20 & 2047;
c = 4294967296 * (1048575 & f) + c;
return 2047 === b ? c ? NaN : 1 / 0 * a : 0 === b ? 5e-324 * a * c : a * Math.pow(2, b - 1075) * (c + 4503599627370496)
}
a.writeDoubleLE = c.bind(null, g, 0, 4);
a.writeDoubleBE = c.bind(null, k, 4, 0);
a.readDoubleLE = b.bind(null, h, 0, 4);
a.readDoubleBE = b.bind(null, m, 4, 0)
}();
return a
}
function g(a, c, b) {
c[b] = 255 & a;
c[b + 1] = a >>> 8 & 255;
c[b + 2] = a >>> 16 & 255;
c[b + 3] = a >>> 24
}
function k(a, c, b) {
c[b] = a >>> 24;
c[b + 1] = a >>> 16 & 255;
c[b + 2] = a >>> 8 & 255;
c[b + 3] = 255 & a
}
function h(a, c) {
return (a[c] | a[c + 1] << 8 | a[c + 2] << 16 | a[c + 3] << 24) >>> 0
}
function m(a, c) {
return (a[c] << 24 | a[c + 1] << 16 | a[c + 2] << 8 | a[c + 3]) >>> 0
}
a.exports = e(e)
}, function(a, b, d) {
function e() {
this._listeners = {}
}
a.exports = e;
e.prototype.on = function(a, b, d) {
(this._listeners[a] || (this._listeners[a] = [])).push({
fn: b,
ctx: d || this
});
return this
};
e.prototype.off = function(a, b) {
if (void 0 === a) this._listeners = {};
else if (void 0 === b) this._listeners[a] = [];
else
for (var d = this._listeners[a], e = 0; e < d.length;) d[e].fn === b ? d.splice(e, 1) : ++e;
return this
};
e.prototype.emit = function(a) {
var b = this._listeners[a];
if (b) {
for (var d = [], e = 1; e < arguments.length;) d.push(arguments[e++]);
for (e = 0; e < b.length;) b[e].fn.apply(b[e++].ctx, d)
}
return this
}
}, function(a, b, d) {
b.length = function(a) {
var b = a.length;
if (!b) return 0;
for (var d = 0; 1 < --b % 4 && "\x3d" === a.charAt(b);) ++d;
return Math.ceil(3 * a.length) / 4 - d
};
var e = Array(64),
g = Array(123);
for (a = 0; 64 > a;) g[e[a] = 26 > a ? a + 65 : 52 > a ? a + 71 : 62 > a ? a - 4 :
a - 59 | 43] = a++;
b.encode = function(a, b, d) {
for (var f, c = null, l = [], g = 0, h = 0; b < d;) {
var m = a[b++];
switch (h) {
case 0:
l[g++] = e[m >> 2];
f = (3 & m) << 4;
h = 1;
break;
case 1:
l[g++] = e[f | m >> 4];
f = (15 & m) << 2;
h = 2;
break;
case 2:
l[g++] = e[f | m >> 6], l[g++] = e[63 & m], h = 0
}
8191 < g && ((c || (c = [])).push(String.fromCharCode.apply(String, l)), g = 0)
}
h && (l[g++] = e[f], l[g++] = 61, 1 === h && (l[g++] = 61));
return c ? (g && c.push(String.fromCharCode.apply(String, l.slice(0, g))), c.join("")) : String.fromCharCode.apply(String, l.slice(0, g))
};
b.decode = function(a, b, d) {
for (var f,
c = d, e = 0, h = 0; h < a.length;) {
var m = a.charCodeAt(h++);
if (61 === m && 1 < e) break;
if (void 0 === (m = g[m])) throw Error("invalid encoding");
switch (e) {
case 0:
f = m;
e = 1;
break;
case 1:
b[d++] = f << 2 | (48 & m) >> 4;
f = m;
e = 2;
break;
case 2:
b[d++] = (15 & f) << 4 | (60 & m) >> 2;
f = m;
e = 3;
break;
case 3:
b[d++] = (3 & f) << 6 | m, e = 0
}
}
if (1 === e) throw Error("invalid encoding");
return d - c
};
b.test = function(a) {
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)
}
}, function(a, b, d) {
a.exports = function(a, b) {
for (var d = Array(arguments.length -
1), e = 0, g = 2, f = !0; g < arguments.length;) d[e++] = arguments[g++];
return new Promise(function(c, l) {
d[e] = function(a) {
if (f)
if (f = !1, a) l(a);
else {
for (var b = Array(arguments.length - 1), d = 0; d < b.length;) b[d++] = arguments[d];
c.apply(null, b)
}
};
try {
a.apply(b || null, d)
} catch (t) {
f && (f = !1, l(t))
}
})
}
}, function(a, b, d) {
function e() {
g.Reader._configure(g.BufferReader);
g.util._configure()
}
var g = b;
g.build = "minimal";
g.Writer = d(2);
g.BufferWriter = d(7);
g.Reader = d(1);
g.BufferReader = d(6);
g.util = d(0);
g.rpc = d(5);
g.roots = d(3);
g.configure =
e;
g.Writer._configure(g.BufferWriter);
e()
}, function(a, b, d) {
a.exports = d(16)
}, function(a, b, d) {
b = d(17);
var e = b.Reader,
g = b.Writer,
k = b.util,
h = b.roots["default"] || (b.roots["default"] = {});
h.BufferWrapper = function() {
function a(a) {
this.buffer = [];
if (a)
for (var c = Object.keys(a), b = 0; b < c.length; ++b) null != a[c[b]] && (this[c[b]] = a[c[b]])
}
a.prototype.buffer = k.emptyArray;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, c) {
c || (c = g.create());
if (null != a.buffer && a.buffer.length)
for (var b = 0; b < a.buffer.length; ++b) h.Buffer.encode(a.buffer[b],
c.uint32(10).fork()).ldelim();
return c
};
a.decode = function(a, c) {
a instanceof e || (a = e.create(a));
for (var b = void 0 === c ? a.len : a.pos + c, f = new h.BufferWrapper; a.pos < b;) {
var d = a.uint32();
switch (d >>> 3) {
case 1:
f.buffer && f.buffer.length || (f.buffer = []);
f.buffer.push(h.Buffer.decode(a, a.uint32()));
break;
default:
a.skipType(7 & d)
}
}
return f
};
return a
}();
h.Buffer = function() {
function a(a) {
if (a)
for (var c = Object.keys(a), b = 0; b < c.length; ++b) null != a[c[b]] && (this[c[b]] = a[c[b]])
}
a.prototype.stamp = 0;
a.prototype.data = null;
a.prototype.page =
0;
a.prototype.chunk = k.newBuffer([]);
a.prototype.end = !1;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, c) {
c || (c = g.create());
null != a.stamp && a.hasOwnProperty("stamp") && c.uint32(8).int32(a.stamp);
null != a.data && a.hasOwnProperty("data") && h.Wrapper.encode(a.data, c.uint32(18).fork()).ldelim();
null != a.page && a.hasOwnProperty("page") && c.uint32(24).int32(a.page);
null != a.chunk && a.hasOwnProperty("chunk") && c.uint32(34).bytes(a.chunk);
null != a.end && a.hasOwnProperty("end") && c.uint32(40).bool(a.end);
return c
};
a.decode = function(a, c) {
a instanceof e || (a = e.create(a));
for (var b = void 0 === c ? a.len : a.pos + c, f = new h.Buffer; a.pos < b;) {
var d = a.uint32();
switch (d >>> 3) {
case 1:
f.stamp = a.int32();
break;
case 2:
f.data = h.Wrapper.decode(a, a.uint32());
break;
case 3:
f.page = a.int32();
break;
case 4:
f.chunk = a.bytes();
break;
case 5:
f.end = a.bool();
break;
default:
a.skipType(7 & d)
}
}
return f
};
return a
}();
h.Wrapper = function() {
function a(a) {
if (a)
for (var c = Object.keys(a), b = 0; b < c.length; ++b) null != a[c[b]] && (this[c[b]] = a[c[b]])
}
a.prototype.page =
null;
a.prototype.mutation = null;
a.prototype.event = null;
a.prototype.articleInfo = null;
a.prototype.publishersHeader = null;
a.prototype.activity = 0;
var b;
Object.defineProperty(a.prototype, "data", {
get: k.oneOfGetter(b = "page mutation event articleInfo publishersHeader activity".split(" ")),
set: k.oneOfSetter(b)
});
a.create = function(c) {
return new a(c)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.page && a.hasOwnProperty("page") && h.Page.encode(a.page, b.uint32(10).fork()).ldelim();
null != a.mutation && a.hasOwnProperty("mutation") &&
h.Mutation.encode(a.mutation, b.uint32(18).fork()).ldelim();
null != a.event && a.hasOwnProperty("event") && h.Event.encode(a.event, b.uint32(26).fork()).ldelim();
null != a.articleInfo && a.hasOwnProperty("articleInfo") && h.ArticleInfo.encode(a.articleInfo, b.uint32(34).fork()).ldelim();
null != a.publishersHeader && a.hasOwnProperty("publishersHeader") && h.PublishersHeader.encode(a.publishersHeader, b.uint32(42).fork()).ldelim();
null != a.activity && a.hasOwnProperty("activity") && b.uint32(48).uint32(a.activity);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, f = new h.Wrapper; a.pos < c;) {
var d = a.uint32();
switch (d >>> 3) {
case 1:
f.page = h.Page.decode(a, a.uint32());
break;
case 2:
f.mutation = h.Mutation.decode(a, a.uint32());
break;
case 3:
f.event = h.Event.decode(a, a.uint32());
break;
case 4:
f.articleInfo = h.ArticleInfo.decode(a, a.uint32());
break;
case 5:
f.publishersHeader = h.PublishersHeader.decode(a, a.uint32());
break;
case 6:
f.activity = a.uint32();
break;
default:
a.skipType(7 & d)
}
}
return f
};
return a
}();
h.Page = function() {
function a(a) {
this.content = [];
if (a)
for (var c = Object.keys(a), b = 0; b < c.length; ++b) null != a[c[b]] && (this[c[b]] = a[c[b]])
}
a.prototype.meta = null;
a.prototype.content = k.emptyArray;
a.prototype.frameId = 0;
a.prototype.tabId = "";
a.prototype.recordStamp = k.Long ? k.Long.fromBits(0, 0, !1) : 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, c) {
c || (c = g.create());
null != a.meta && a.hasOwnProperty("meta") && h.Page.Meta.encode(a.meta, c.uint32(10).fork()).ldelim();
if (null != a.content && a.content.length)
for (var b =
0; b < a.content.length; ++b) h.Page.Content.encode(a.content[b], c.uint32(18).fork()).ldelim();
null != a.frameId && a.hasOwnProperty("frameId") && c.uint32(24).sint32(a.frameId);
null != a.tabId && a.hasOwnProperty("tabId") && c.uint32(34).string(a.tabId);
null != a.recordStamp && a.hasOwnProperty("recordStamp") && c.uint32(40).int64(a.recordStamp);
return c
};
a.decode = function(a, c) {
a instanceof e || (a = e.create(a));
for (var b = void 0 === c ? a.len : a.pos + c, d = new h.Page; a.pos < b;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.meta = h.Page.Meta.decode(a,
a.uint32());
break;
case 2:
d.content && d.content.length || (d.content = []);
d.content.push(h.Page.Content.decode(a, a.uint32()));
break;
case 3:
d.frameId = a.sint32();
break;
case 4:
d.tabId = a.string();
break;
case 5:
d.recordStamp = a.int64();
break;
default:
a.skipType(7 & f)
}
}
return d
};
a.Box = function() {
function a(a) {
if (a)
for (var c = Object.keys(a), b = 0; b < c.length; ++b) null != a[c[b]] && (this[c[b]] = a[c[b]])
}
a.prototype.width = 0;
a.prototype.height = 0;
a.create = function(c) {
return new a(c)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.width && a.hasOwnProperty("width") && b.uint32(8).int32(a.width);
null != a.height && a.hasOwnProperty("height") && b.uint32(16).int32(a.height);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Page.Box; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.width = a.int32();
break;
case 2:
d.height = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
a.Location = function() {
function a(a) {
if (a)
for (var c = Object.keys(a), b = 0; b < c.length; ++b) null !=
a[c[b]] && (this[c[b]] = a[c[b]])
}
a.prototype.host = "";
a.prototype.protocol = "";
a.prototype.path = "";
a.create = function(c) {
return new a(c)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.host && a.hasOwnProperty("host") && b.uint32(10).string(a.host);
null != a.protocol && a.hasOwnProperty("protocol") && b.uint32(18).string(a.protocol);
null != a.path && a.hasOwnProperty("path") && b.uint32(26).string(a.path);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Page.Location; a.pos <
c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.host = a.string();
break;
case 2:
d.protocol = a.string();
break;
case 3:
d.path = a.string();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
a.Scroll = function() {
function a(a) {
this.scroll = [];
if (a)
for (var c = Object.keys(a), b = 0; b < c.length; ++b) null != a[c[b]] && (this[c[b]] = a[c[b]])
}
a.prototype.target = 0;
a.prototype.scroll = k.emptyArray;
a.create = function(c) {
return new a(c)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.target && a.hasOwnProperty("target") && b.uint32(8).int32(a.target);
if (null != a.scroll && a.scroll.length) {
b.uint32(18).fork();
for (var c = 0; c < a.scroll.length; ++c) b.int32(a.scroll[c]);
b.ldelim()
}
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Page.Scroll; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.target = a.int32();
break;
case 2:
d.scroll && d.scroll.length || (d.scroll = []);
if (2 == (7 & f))
for (f = a.uint32() + a.pos; a.pos < f;) d.scroll.push(a.int32());
else d.scroll.push(a.int32());
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
a.Meta = function() {
function a(a) {
this.initialScroll = [];
if (a)
for (var c = Object.keys(a), b = 0; b < c.length; ++b) null != a[c[b]] && (this[c[b]] = a[c[b]])
}
a.prototype.doctype = "";
a.prototype.title = "";
a.prototype.address = "";
a.prototype.ua = "";
a.prototype.referrer = "";
a.prototype.base = "";
a.prototype.hasBase = !1;
a.prototype.screen = null;
a.prototype.viewport = null;
a.prototype.location = null;
a.prototype.initialScroll = k.emptyArray;
a.create = function(c) {
return new a(c)
};
a.encode = function(a, b) {
b || (b = g.create());
null !=
a.doctype && a.hasOwnProperty("doctype") && b.uint32(10).string(a.doctype);
null != a.title && a.hasOwnProperty("title") && b.uint32(18).string(a.title);
null != a.address && a.hasOwnProperty("address") && b.uint32(26).string(a.address);
null != a.ua && a.hasOwnProperty("ua") && b.uint32(34).string(a.ua);
null != a.referrer && a.hasOwnProperty("referrer") && b.uint32(42).string(a.referrer);
null != a.base && a.hasOwnProperty("base") && b.uint32(50).string(a.base);
null != a.hasBase && a.hasOwnProperty("hasBase") && b.uint32(56).bool(a.hasBase);
null != a.screen && a.hasOwnProperty("screen") && h.Page.Box.encode(a.screen, b.uint32(66).fork()).ldelim();
null != a.viewport && a.hasOwnProperty("viewport") && h.Page.Box.encode(a.viewport, b.uint32(74).fork()).ldelim();
null != a.location && a.hasOwnProperty("location") && h.Page.Location.encode(a.location, b.uint32(82).fork()).ldelim();
if (null != a.initialScroll && a.initialScroll.length)
for (var c = 0; c < a.initialScroll.length; ++c) h.Page.Scroll.encode(a.initialScroll[c], b.uint32(90).fork()).ldelim();
return b
};
a.decode = function(a,
b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Page.Meta; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.doctype = a.string();
break;
case 2:
d.title = a.string();
break;
case 3:
d.address = a.string();
break;
case 4:
d.ua = a.string();
break;
case 5:
d.referrer = a.string();
break;
case 6:
d.base = a.string();
break;
case 7:
d.hasBase = a.bool();
break;
case 8:
d.screen = h.Page.Box.decode(a, a.uint32());
break;
case 9:
d.viewport = h.Page.Box.decode(a, a.uint32());
break;
case 10:
d.location = h.Page.Location.decode(a,
a.uint32());
break;
case 11:
d.initialScroll && d.initialScroll.length || (d.initialScroll = []);
d.initialScroll.push(h.Page.Scroll.decode(a, a.uint32()));
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
a.Content = function() {
function a(a) {
this.attributes = {};
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.id = 0;
a.prototype.name = "";
a.prototype.attributes = k.emptyObject;
a.prototype.parent = 0;
a.prototype.content = "";
a.prototype.next = 0;
a.prototype.prev = 0;
a.create =
function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.id && a.hasOwnProperty("id") && b.uint32(8).int32(a.id);
null != a.name && a.hasOwnProperty("name") && b.uint32(18).string(a.name);
if (null != a.attributes && a.hasOwnProperty("attributes"))
for (var c = Object.keys(a.attributes), d = 0; d < c.length; ++d) b.uint32(26).fork().uint32(10).string(c[d]).uint32(18).string(a.attributes[c[d]]).ldelim();
null != a.parent && a.hasOwnProperty("parent") && b.uint32(32).int32(a.parent);
null != a.content && a.hasOwnProperty("content") &&
b.uint32(42).string(a.content);
null != a.next && a.hasOwnProperty("next") && b.uint32(48).int32(a.next);
null != a.prev && a.hasOwnProperty("prev") && b.uint32(56).int32(a.prev);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c, d = void 0 === b ? a.len : a.pos + b, f = new h.Page.Content; a.pos < d;) switch (c = a.uint32(), c >>> 3) {
case 1:
f.id = a.int32();
break;
case 2:
f.name = a.string();
break;
case 3:
a.skip().pos++;
f.attributes === k.emptyObject && (f.attributes = {});
c = a.string();
a.pos++;
f.attributes[c] = a.string();
break;
case 4:
f.parent = a.int32();
break;
case 5:
f.content = a.string();
break;
case 6:
f.next = a.int32();
break;
case 7:
f.prev = a.int32();
break;
default:
a.skipType(7 & c)
}
return f
};
return a
}();
return a
}();
h.Mutation = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.target = 0;
a.prototype.stamp = 0;
a.prototype.meta = null;
a.prototype.frameId = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.target && a.hasOwnProperty("target") &&
b.uint32(8).int32(a.target);
null != a.stamp && a.hasOwnProperty("stamp") && b.uint32(16).int32(a.stamp);
null != a.meta && a.hasOwnProperty("meta") && h.Mutation.Meta.encode(a.meta, b.uint32(26).fork()).ldelim();
null != a.frameId && a.hasOwnProperty("frameId") && b.uint32(32).sint32(a.frameId);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Mutation; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.target = a.int32();
break;
case 2:
d.stamp = a.int32();
break;
case 3:
d.meta =
h.Mutation.Meta.decode(a, a.uint32());
break;
case 4:
d.frameId = a.sint32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
a.Delete = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.id = 0;
a.prototype.pr = 0;
a.prototype.nx = 0;
a.prototype.pa = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.id && a.hasOwnProperty("id") && b.uint32(8).int32(a.id);
null != a.pr && a.hasOwnProperty("pr") && b.uint32(16).int32(a.pr);
null !=
a.nx && a.hasOwnProperty("nx") && b.uint32(24).int32(a.nx);
null != a.pa && a.hasOwnProperty("pa") && b.uint32(32).int32(a.pa);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Mutation.Delete; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.id = a.int32();
break;
case 2:
d.pr = a.int32();
break;
case 3:
d.nx = a.int32();
break;
case 4:
d.pa = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
a.Add = function() {
function a(a) {
this.at = {};
if (a)
for (var b = Object.keys(a),
c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.id = 0;
a.prototype.nm = "";
a.prototype.pa = 0;
a.prototype.ns = "";
a.prototype.pr = 0;
a.prototype.at = k.emptyObject;
a.prototype.ct = "";
a.prototype.nx = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.id && a.hasOwnProperty("id") && b.uint32(8).int32(a.id);
null != a.nm && a.hasOwnProperty("nm") && b.uint32(18).string(a.nm);
null != a.pa && a.hasOwnProperty("pa") && b.uint32(24).int32(a.pa);
null != a.ns && a.hasOwnProperty("ns") &&
b.uint32(34).string(a.ns);
null != a.pr && a.hasOwnProperty("pr") && b.uint32(40).int32(a.pr);
if (null != a.at && a.hasOwnProperty("at"))
for (var c = Object.keys(a.at), d = 0; d < c.length; ++d) b.uint32(50).fork().uint32(10).string(c[d]).uint32(18).string(a.at[c[d]]).ldelim();
null != a.ct && a.hasOwnProperty("ct") && b.uint32(58).string(a.ct);
null != a.nx && a.hasOwnProperty("nx") && b.uint32(64).int32(a.nx);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c, d = void 0 === b ? a.len : a.pos + b, f = new h.Mutation.Add; a.pos <
d;) switch (c = a.uint32(), c >>> 3) {
case 1:
f.id = a.int32();
break;
case 2:
f.nm = a.string();
break;
case 3:
f.pa = a.int32();
break;
case 4:
f.ns = a.string();
break;
case 5:
f.pr = a.int32();
break;
case 6:
a.skip().pos++;
f.at === k.emptyObject && (f.at = {});
c = a.string();
a.pos++;
f.at[c] = a.string();
break;
case 7:
f.ct = a.string();
break;
case 8:
f.nx = a.int32();
break;
default:
a.skipType(7 & c)
}
return f
};
return a
}();
a.BeforeAfter = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.o =
"";
a.prototype.n = "";
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.o && a.hasOwnProperty("o") && b.uint32(10).string(a.o);
null != a.n && a.hasOwnProperty("n") && b.uint32(18).string(a.n);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Mutation.BeforeAfter; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.o = a.string();
break;
case 2:
d.n = a.string();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
a.AttributeChange =
function() {
function a(a) {
this.at = {};
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.id = 0;
a.prototype.at = k.emptyObject;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.id && a.hasOwnProperty("id") && b.uint32(8).int32(a.id);
if (null != a.at && a.hasOwnProperty("at"))
for (var c = Object.keys(a.at), d = 0; d < c.length; ++d) b.uint32(18).fork().uint32(10).string(c[d]), h.Mutation.BeforeAfter.encode(a.at[c[d]], b.uint32(18).fork()).ldelim().ldelim();
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c, d = void 0 === b ? a.len : a.pos + b, f = new h.Mutation.AttributeChange; a.pos < d;) switch (c = a.uint32(), c >>> 3) {
case 1:
f.id = a.int32();
break;
case 2:
a.skip().pos++;
f.at === k.emptyObject && (f.at = {});
c = a.string();
a.pos++;
f.at[c] = h.Mutation.BeforeAfter.decode(a, a.uint32());
break;
default:
a.skipType(7 & c)
}
return f
};
return a
}();
a.TextChange = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.id = 0;
a.prototype.ct = null;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.id && a.hasOwnProperty("id") && b.uint32(8).int32(a.id);
null != a.ct && a.hasOwnProperty("ct") && h.Mutation.BeforeAfter.encode(a.ct, b.uint32(18).fork()).ldelim();
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Mutation.TextChange; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.id = a.int32();
break;
case 2:
d.ct = h.Mutation.BeforeAfter.decode(a,
a.uint32());
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
a.Changes = function() {
function a(a) {
this.a = [];
this.b = [];
this.c = [];
this.d = [];
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.a = k.emptyArray;
a.prototype.b = k.emptyArray;
a.prototype.c = k.emptyArray;
a.prototype.d = k.emptyArray;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
if (null != a.a && a.a.length)
for (var c = 0; c < a.a.length; ++c) h.Mutation.Delete.encode(a.a[c], b.uint32(10).fork()).ldelim();
if (null != a.b && a.b.length)
for (c = 0; c < a.b.length; ++c) h.Mutation.Add.encode(a.b[c], b.uint32(18).fork()).ldelim();
if (null != a.c && a.c.length)
for (c = 0; c < a.c.length; ++c) h.Mutation.AttributeChange.encode(a.c[c], b.uint32(26).fork()).ldelim();
if (null != a.d && a.d.length)
for (c = 0; c < a.d.length; ++c) h.Mutation.TextChange.encode(a.d[c], b.uint32(34).fork()).ldelim();
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Mutation.Changes; a.pos < c;) {
var f = a.uint32();
switch (f >>>
3) {
case 1:
d.a && d.a.length || (d.a = []);
d.a.push(h.Mutation.Delete.decode(a, a.uint32()));
break;
case 2:
d.b && d.b.length || (d.b = []);
d.b.push(h.Mutation.Add.decode(a, a.uint32()));
break;
case 3:
d.c && d.c.length || (d.c = []);
d.c.push(h.Mutation.AttributeChange.decode(a, a.uint32()));
break;
case 4:
d.d && d.d.length || (d.d = []);
d.d.push(h.Mutation.TextChange.decode(a, a.uint32()));
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
a.Meta = function() {
function a(a) {
this.changes = [];
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null !=
a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.index = 0;
a.prototype.changes = k.emptyArray;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.index && a.hasOwnProperty("index") && b.uint32(8).int32(a.index);
if (null != a.changes && a.changes.length)
for (var c = 0; c < a.changes.length; ++c) h.Mutation.Changes.encode(a.changes[c], b.uint32(18).fork()).ldelim();
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Mutation.Meta; a.pos < c;) {
var f =
a.uint32();
switch (f >>> 3) {
case 1:
d.index = a.int32();
break;
case 2:
d.changes && d.changes.length || (d.changes = []);
d.changes.push(h.Mutation.Changes.decode(a, a.uint32()));
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
return a
}();
h.Event = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.type = 0;
a.prototype.target = 0;
a.prototype.frameId = 0;
a.prototype.mouseEvent = null;
a.prototype.scrollEvent = null;
a.prototype.windowEvent = null;
a.prototype.selectionEvent =
null;
a.prototype.changeEvent = null;
a.prototype.touchEvent = null;
a.prototype.methodEvent = null;
a.prototype.propertyEvent = null;
a.prototype.zoomEvent = null;
a.prototype.resizeEvent = null;
a.prototype.keystrokesEvent = null;
a.prototype.deviceRotationEvent = null;
a.prototype.fatalErrorEvent = null;
a.prototype.hashchangeEvent = null;
var b;
Object.defineProperty(a.prototype, "meta", {
get: k.oneOfGetter(b = "mouseEvent scrollEvent windowEvent selectionEvent changeEvent touchEvent methodEvent propertyEvent zoomEvent resizeEvent keystrokesEvent deviceRotationEvent fatalErrorEvent hashchangeEvent".split(" ")),
set: k.oneOfSetter(b)
});
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.type && a.hasOwnProperty("type") && b.uint32(8).int32(a.type);
null != a.target && a.hasOwnProperty("target") && b.uint32(16).sint32(a.target);
null != a.frameId && a.hasOwnProperty("frameId") && b.uint32(24).sint32(a.frameId);
null != a.mouseEvent && a.hasOwnProperty("mouseEvent") && h.MouseEvent.encode(a.mouseEvent, b.uint32(34).fork()).ldelim();
null != a.scrollEvent && a.hasOwnProperty("scrollEvent") && h.ScrollEvent.encode(a.scrollEvent,
b.uint32(42).fork()).ldelim();
null != a.windowEvent && a.hasOwnProperty("windowEvent") && h.WindowEvent.encode(a.windowEvent, b.uint32(50).fork()).ldelim();
null != a.selectionEvent && a.hasOwnProperty("selectionEvent") && h.SelectionEvent.encode(a.selectionEvent, b.uint32(58).fork()).ldelim();
null != a.changeEvent && a.hasOwnProperty("changeEvent") && h.ChangeEvent.encode(a.changeEvent, b.uint32(66).fork()).ldelim();
null != a.touchEvent && a.hasOwnProperty("touchEvent") && h.TouchEvent.encode(a.touchEvent, b.uint32(74).fork()).ldelim();
null != a.methodEvent && a.hasOwnProperty("methodEvent") && h.MethodEvent.encode(a.methodEvent, b.uint32(82).fork()).ldelim();
null != a.propertyEvent && a.hasOwnProperty("propertyEvent") && h.PropertyEvent.encode(a.propertyEvent, b.uint32(90).fork()).ldelim();
null != a.zoomEvent && a.hasOwnProperty("zoomEvent") && h.ZoomEvent.encode(a.zoomEvent, b.uint32(98).fork()).ldelim();
null != a.resizeEvent && a.hasOwnProperty("resizeEvent") && h.ResizeEvent.encode(a.resizeEvent, b.uint32(106).fork()).ldelim();
null != a.keystrokesEvent &&
a.hasOwnProperty("keystrokesEvent") && h.KeystrokesEvent.encode(a.keystrokesEvent, b.uint32(114).fork()).ldelim();
null != a.deviceRotationEvent && a.hasOwnProperty("deviceRotationEvent") && h.DeviceRotationEvent.encode(a.deviceRotationEvent, b.uint32(122).fork()).ldelim();
null != a.fatalErrorEvent && a.hasOwnProperty("fatalErrorEvent") && h.FatalErrorEvent.encode(a.fatalErrorEvent, b.uint32(130).fork()).ldelim();
null != a.hashchangeEvent && a.hasOwnProperty("hashchangeEvent") && h.HashchangeEvent.encode(a.hashchangeEvent,
b.uint32(138).fork()).ldelim();
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.Event; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.type = a.int32();
break;
case 2:
d.target = a.sint32();
break;
case 3:
d.frameId = a.sint32();
break;
case 4:
d.mouseEvent = h.MouseEvent.decode(a, a.uint32());
break;
case 5:
d.scrollEvent = h.ScrollEvent.decode(a, a.uint32());
break;
case 6:
d.windowEvent = h.WindowEvent.decode(a, a.uint32());
break;
case 7:
d.selectionEvent = h.SelectionEvent.decode(a,
a.uint32());
break;
case 8:
d.changeEvent = h.ChangeEvent.decode(a, a.uint32());
break;
case 9:
d.touchEvent = h.TouchEvent.decode(a, a.uint32());
break;
case 10:
d.methodEvent = h.MethodEvent.decode(a, a.uint32());
break;
case 11:
d.propertyEvent = h.PropertyEvent.decode(a, a.uint32());
break;
case 12:
d.zoomEvent = h.ZoomEvent.decode(a, a.uint32());
break;
case 13:
d.resizeEvent = h.ResizeEvent.decode(a, a.uint32());
break;
case 14:
d.keystrokesEvent = h.KeystrokesEvent.decode(a, a.uint32());
break;
case 15:
d.deviceRotationEvent = h.DeviceRotationEvent.decode(a,
a.uint32());
break;
case 16:
d.fatalErrorEvent = h.FatalErrorEvent.decode(a, a.uint32());
break;
case 17:
d.hashchangeEvent = h.HashchangeEvent.decode(a, a.uint32());
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.MouseEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.x = 0;
a.prototype.y = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.x && a.hasOwnProperty("x") && b.uint32(8).int32(a.x);
null !=
a.y && a.hasOwnProperty("y") && b.uint32(16).int32(a.y);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.MouseEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.x = a.int32();
break;
case 2:
d.y = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.ScrollEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.x = 0;
a.prototype.y = 0;
a.prototype.page = !1;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.x && a.hasOwnProperty("x") && b.uint32(8).int32(a.x);
null != a.y && a.hasOwnProperty("y") && b.uint32(16).int32(a.y);
null != a.page && a.hasOwnProperty("page") && b.uint32(24).bool(a.page);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ScrollEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.x = a.int32();
break;
case 2:
d.y = a.int32();
break;
case 3:
d.page = a.bool();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.WindowEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.WindowEvent; a.pos < c;) {
var f = a.uint32();
a.skipType(7 & f)
}
return d
};
return a
}();
h.SelectionEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] &&
(this[b[d]] = a[b[d]])
}
a.prototype.start = 0;
a.prototype.end = 0;
a.prototype.startNode = 0;
a.prototype.endNode = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.start && a.hasOwnProperty("start") && b.uint32(8).int32(a.start);
null != a.end && a.hasOwnProperty("end") && b.uint32(16).int32(a.end);
null != a.startNode && a.hasOwnProperty("startNode") && b.uint32(24).int32(a.startNode);
null != a.endNode && a.hasOwnProperty("endNode") && b.uint32(32).int32(a.endNode);
return b
};
a.decode = function(a,
b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.SelectionEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.start = a.int32();
break;
case 2:
d.end = a.int32();
break;
case 3:
d.startNode = a.int32();
break;
case 4:
d.endNode = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.ChangeEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.value = "";
a.prototype.checked = !1;
a.prototype.hidden = !1;
a.create =
function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.value && a.hasOwnProperty("value") && b.uint32(10).string(a.value);
null != a.checked && a.hasOwnProperty("checked") && b.uint32(16).bool(a.checked);
null != a.hidden && a.hasOwnProperty("hidden") && b.uint32(24).bool(a.hidden);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ChangeEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.value = a.string();
break;
case 2:
d.checked = a.bool();
break;
case 3:
d.hidden = a.bool();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.TouchEvent = function() {
function a(a) {
this.touches = [];
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.touches = k.emptyArray;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
if (null != a.touches && a.touches.length)
for (var c = 0; c < a.touches.length; ++c) h.TouchEvent.SubMeta.encode(a.touches[c], b.uint32(10).fork()).ldelim();
return b
};
a.decode = function(a,
b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.TouchEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.touches && d.touches.length || (d.touches = []);
d.touches.push(h.TouchEvent.SubMeta.decode(a, a.uint32()));
break;
default:
a.skipType(7 & f)
}
}
return d
};
a.SubMeta = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.id = "";
a.prototype.x = 0;
a.prototype.y = 0;
a.prototype.force = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.id && a.hasOwnProperty("id") && b.uint32(10).string(a.id);
null != a.x && a.hasOwnProperty("x") && b.uint32(21)["float"](a.x);
null != a.y && a.hasOwnProperty("y") && b.uint32(29)["float"](a.y);
null != a.force && a.hasOwnProperty("force") && b.uint32(37)["float"](a.force);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.TouchEvent.SubMeta; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.id = a.string();
break;
case 2:
d.x =
a["float"]();
break;
case 3:
d.y = a["float"]();
break;
case 4:
d.force = a["float"]();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
return a
}();
h.ZoomEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.zoomFrom = null;
a.prototype.zoomTo = null;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.zoomFrom && a.hasOwnProperty("zoomFrom") && h.ZoomEvent.ZoomPoint.encode(a.zoomFrom, b.uint32(10).fork()).ldelim();
null != a.zoomTo && a.hasOwnProperty("zoomTo") && h.ZoomEvent.ZoomPoint.encode(a.zoomTo, b.uint32(18).fork()).ldelim();
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ZoomEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.zoomFrom = h.ZoomEvent.ZoomPoint.decode(a, a.uint32());
break;
case 2:
d.zoomTo = h.ZoomEvent.ZoomPoint.decode(a, a.uint32());
break;
default:
a.skipType(7 & f)
}
}
return d
};
a.ZoomPoint = function() {
function a(a) {
if (a)
for (var b = Object.keys(a),
c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.level = 0;
a.prototype.x = 0;
a.prototype.y = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.level && a.hasOwnProperty("level") && b.uint32(13)["float"](a.level);
null != a.x && a.hasOwnProperty("x") && b.uint32(16).int32(a.x);
null != a.y && a.hasOwnProperty("y") && b.uint32(24).int32(a.y);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ZoomEvent.ZoomPoint; a.pos <
c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.level = a["float"]();
break;
case 2:
d.x = a.int32();
break;
case 3:
d.y = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
return a
}();
h.ResizeEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.width = 0;
a.prototype.height = 0;
a.prototype.pageWidth = 0;
a.prototype.pageHeight = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.width && a.hasOwnProperty("width") &&
b.uint32(8).int32(a.width);
null != a.height && a.hasOwnProperty("height") && b.uint32(16).int32(a.height);
null != a.pageWidth && a.hasOwnProperty("pageWidth") && b.uint32(24).int32(a.pageWidth);
null != a.pageHeight && a.hasOwnProperty("pageHeight") && b.uint32(32).int32(a.pageHeight);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ResizeEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.width = a.int32();
break;
case 2:
d.height = a.int32();
break;
case 3:
d.pageWidth =
a.int32();
break;
case 4:
d.pageHeight = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.MethodEvent = function() {
function a(a) {
this.args = [];
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.method = "";
a.prototype.args = k.emptyArray;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.method && a.hasOwnProperty("method") && b.uint32(10).string(a.method);
if (null != a.args && a.args.length)
for (var c = 0; c < a.args.length; ++c) b.uint32(18).string(a.args[c]);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.MethodEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.method = a.string();
break;
case 2:
d.args && d.args.length || (d.args = []);
d.args.push(a.string());
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.PropertyEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.property = "";
a.prototype.value = "";
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.property && a.hasOwnProperty("property") && b.uint32(10).string(a.property);
null != a.value && a.hasOwnProperty("value") && b.uint32(18).string(a.value);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.PropertyEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.property = a.string();
break;
case 2:
d.value = a.string();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.KeystrokesEvent = function() {
function a(a) {
this.keystrokes = [];
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.keystrokes = k.emptyArray;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
if (null != a.keystrokes && a.keystrokes.length)
for (var c = 0; c < a.keystrokes.length; ++c) h.KeystrokesEvent.KeystrokeEvent.encode(a.keystrokes[c], b.uint32(10).fork()).ldelim();
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.KeystrokesEvent; a.pos < c;) {
var f =
a.uint32();
switch (f >>> 3) {
case 1:
d.keystrokes && d.keystrokes.length || (d.keystrokes = []);
d.keystrokes.push(h.KeystrokesEvent.KeystrokeEvent.decode(a, a.uint32()));
break;
default:
a.skipType(7 & f)
}
}
return d
};
a.KeystrokeEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), c = 0; c < b.length; ++c) null != a[b[c]] && (this[b[c]] = a[b[c]])
}
a.prototype.id = 0;
a.prototype.key = "";
a.prototype.isMeta = !1;
a.prototype.modifier = "";
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.id && a.hasOwnProperty("id") &&
b.uint32(8).int32(a.id);
null != a.key && a.hasOwnProperty("key") && b.uint32(18).string(a.key);
null != a.isMeta && a.hasOwnProperty("isMeta") && b.uint32(24).bool(a.isMeta);
null != a.modifier && a.hasOwnProperty("modifier") && b.uint32(34).string(a.modifier);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.KeystrokesEvent.KeystrokeEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.id = a.int32();
break;
case 2:
d.key = a.string();
break;
case 3:
d.isMeta = a.bool();
break;
case 4:
d.modifier = a.string();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
return a
}();
h.DeviceRotationEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.width = 0;
a.prototype.height = 0;
a.prototype.orientation = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.width && a.hasOwnProperty("width") && b.uint32(8).int32(a.width);
null != a.height && a.hasOwnProperty("height") && b.uint32(16).int32(a.height);
null != a.orientation && a.hasOwnProperty("orientation") && b.uint32(24).int32(a.orientation);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.DeviceRotationEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.width = a.int32();
break;
case 2:
d.height = a.int32();
break;
case 3:
d.orientation = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.FatalErrorEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null !=
a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.code = "";
a.prototype.exception = "";
a.prototype.stack = "";
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.code && a.hasOwnProperty("code") && b.uint32(10).string(a.code);
null != a.exception && a.hasOwnProperty("exception") && b.uint32(18).string(a.exception);
null != a.stack && a.hasOwnProperty("stack") && b.uint32(26).string(a.stack);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.FatalErrorEvent; a.pos <
c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.code = a.string();
break;
case 2:
d.exception = a.string();
break;
case 3:
d.stack = a.string();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.HashchangeEvent = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.hash = "";
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.hash && a.hasOwnProperty("hash") && b.uint32(10).string(a.hash);
return b
};
a.decode = function(a,
b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.HashchangeEvent; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.hash = a.string();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.EventType = function() {
var a = {},
b = Object.create(a);
b[a[0] = "mousemove"] = 0;
b[a[1] = "mouseup"] = 1;
b[a[2] = "mousedown"] = 2;
b[a[3] = "click"] = 3;
b[a[4] = "scroll"] = 4;
b[a[5] = "windowblur"] = 5;
b[a[6] = "windowfocus"] = 6;
b[a[7] = "focus"] = 7;
b[a[8] = "blur"] = 8;
b[a[9] = "eof"] = 9;
b[a[10] = "selection"] = 10;
b[a[11] = "change"] =
11;
b[a[12] = "input"] = 12;
b[a[13] = "touchmove"] = 13;
b[a[14] = "touchstart"] = 14;
b[a[15] = "touchend"] = 15;
b[a[16] = "touchcancel"] = 16;
b[a[17] = "touchforcechange"] = 17;
b[a[18] = "canvasMethod"] = 18;
b[a[19] = "canvasProperty"] = 19;
b[a[20] = "zoom"] = 20;
b[a[21] = "resize"] = 21;
b[a[22] = "mediaMethod"] = 22;
b[a[23] = "mediaProperty"] = 23;
b[a[24] = "keystroke"] = 24;
b[a[25] = "deviceRotation"] = 25;
b[a[26] = "fatalError"] = 26;
b[a[27] = "hashchange"] = 27;
return b
}();
h.PublishersHeader = function() {
function a(a) {
this.articleMeta = [];
if (a)
for (var b = Object.keys(a),
d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.articleMeta = k.emptyArray;
a.prototype.involvedTime = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
if (null != a.articleMeta && a.articleMeta.length)
for (var c = 0; c < a.articleMeta.length; ++c) h.ArticleMeta.encode(a.articleMeta[c], b.uint32(10).fork()).ldelim();
null != a.involvedTime && a.hasOwnProperty("involvedTime") && b.uint32(16).int32(a.involvedTime);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.PublishersHeader; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.articleMeta && d.articleMeta.length || (d.articleMeta = []);
d.articleMeta.push(h.ArticleMeta.decode(a, a.uint32()));
break;
case 2:
d.involvedTime = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.ArticleMeta = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.id = 0;
a.prototype.x = 0;
a.prototype.y = 0;
a.prototype.width =
0;
a.prototype.height = 0;
a.prototype.involvedTime = 0;
a.prototype.maxScrolled = 0;
a.prototype.chars = 0;
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.id && a.hasOwnProperty("id") && b.uint32(8).uint32(a.id);
null != a.x && a.hasOwnProperty("x") && b.uint32(16).int32(a.x);
null != a.y && a.hasOwnProperty("y") && b.uint32(24).int32(a.y);
null != a.width && a.hasOwnProperty("width") && b.uint32(32).int32(a.width);
null != a.height && a.hasOwnProperty("height") && b.uint32(40).int32(a.height);
null !=
a.involvedTime && a.hasOwnProperty("involvedTime") && b.uint32(48).int32(a.involvedTime);
null != a.maxScrolled && a.hasOwnProperty("maxScrolled") && b.uint32(61)["float"](a.maxScrolled);
null != a.chars && a.hasOwnProperty("chars") && b.uint32(64).int32(a.chars);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ArticleMeta; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.id = a.uint32();
break;
case 2:
d.x = a.int32();
break;
case 3:
d.y = a.int32();
break;
case 4:
d.width =
a.int32();
break;
case 5:
d.height = a.int32();
break;
case 6:
d.involvedTime = a.int32();
break;
case 7:
d.maxScrolled = a["float"]();
break;
case 8:
d.chars = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.ArticleInfo = function() {
function a(a) {
this.authors = [];
this.topics = [];
this.rubric = [];
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.id = 0;
a.prototype.pageUrlCanonical = "";
a.prototype.pageTitle = "";
a.prototype.authors = k.emptyArray;
a.prototype.topics = k.emptyArray;
a.prototype.publicationDate = "";
a.prototype.chars = 0;
a.prototype.rubric = k.emptyArray;
a.prototype.updateDate = "";
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.id && a.hasOwnProperty("id") && b.uint32(8).uint32(a.id);
null != a.pageUrlCanonical && a.hasOwnProperty("pageUrlCanonical") && b.uint32(18).string(a.pageUrlCanonical);
null != a.pageTitle && a.hasOwnProperty("pageTitle") && b.uint32(26).string(a.pageTitle);
if (null != a.authors && a.authors.length)
for (var c = 0; c < a.authors.length; ++c) h.ArticleAuthor.encode(a.authors[c],
b.uint32(34).fork()).ldelim();
if (null != a.topics && a.topics.length)
for (c = 0; c < a.topics.length; ++c) h.ArticleTopic.encode(a.topics[c], b.uint32(42).fork()).ldelim();
null != a.publicationDate && a.hasOwnProperty("publicationDate") && b.uint32(50).string(a.publicationDate);
null != a.chars && a.hasOwnProperty("chars") && b.uint32(56).int32(a.chars);
if (null != a.rubric && a.rubric.length)
for (c = 0; c < a.rubric.length; ++c) h.ArticleRubric.encode(a.rubric[c], b.uint32(66).fork()).ldelim();
null != a.updateDate && a.hasOwnProperty("updateDate") &&
b.uint32(74).string(a.updateDate);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ArticleInfo; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.id = a.uint32();
break;
case 2:
d.pageUrlCanonical = a.string();
break;
case 3:
d.pageTitle = a.string();
break;
case 4:
d.authors && d.authors.length || (d.authors = []);
d.authors.push(h.ArticleAuthor.decode(a, a.uint32()));
break;
case 5:
d.topics && d.topics.length || (d.topics = []);
d.topics.push(h.ArticleTopic.decode(a, a.uint32()));
break;
case 6:
d.publicationDate = a.string();
break;
case 7:
d.chars = a.int32();
break;
case 8:
d.rubric && d.rubric.length || (d.rubric = []);
d.rubric.push(h.ArticleRubric.decode(a, a.uint32()));
break;
case 9:
d.updateDate = a.string();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.ArticleAuthor = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.name = "";
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.name &&
a.hasOwnProperty("name") && b.uint32(10).string(a.name);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ArticleAuthor; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.name = a.string();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.ArticleTopic = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.name = "";
a.create = function(b) {
return new a(b)
};
a.encode = function(a, b) {
b ||
(b = g.create());
null != a.name && a.hasOwnProperty("name") && b.uint32(10).string(a.name);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ArticleTopic; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.name = a.string();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
h.ArticleRubric = function() {
function a(a) {
if (a)
for (var b = Object.keys(a), d = 0; d < b.length; ++d) null != a[b[d]] && (this[b[d]] = a[b[d]])
}
a.prototype.name = "";
a.prototype.position = 0;
a.create =
function(b) {
return new a(b)
};
a.encode = function(a, b) {
b || (b = g.create());
null != a.name && a.hasOwnProperty("name") && b.uint32(10).string(a.name);
null != a.position && a.hasOwnProperty("position") && b.uint32(16).int32(a.position);
return b
};
a.decode = function(a, b) {
a instanceof e || (a = e.create(a));
for (var c = void 0 === b ? a.len : a.pos + b, d = new h.ArticleRubric; a.pos < c;) {
var f = a.uint32();
switch (f >>> 3) {
case 1:
d.name = a.string();
break;
case 2:
d.position = a.int32();
break;
default:
a.skipType(7 & f)
}
}
return d
};
return a
}();
a.exports =
h
}]),
hb = {
ScrollEvent: {
type: G.ScrollEvent,
events: ["scroll"]
},
SelectionEvent: {
type: G.SelectionEvent,
events: ["selection"]
},
ChangeEvent: {
type: G.ChangeEvent,
events: ["change", "input"]
},
MethodEvent: {
type: G.MethodEvent,
events: ["canvasMethod", "mediaMethod"]
},
PropertyEvent: {
type: G.PropertyEvent,
events: ["canvasProperty", "mediaProperty"]
},
KeystrokeEvent: {
type: G.KeystrokesEvent,
events: ["keystroke"]
},
ZoomEvent: {
type: G.ZoomEvent,
events: ["zoom"]
},
ResizeEvent: {
type: G.ResizeEvent,
events: ["resize"]
},
WindowEvent: {
type: G.WindowEvent,
events: ["windowfocus", "windowblur", "focus", "blur", "eof"]
},
MouseEvent: {
type: G.MouseEvent,
events: ["mousemove", "mouseup", "mousedown", "click"]
},
DeviceRotationEvent: {
type: G.DeviceRotationEvent,
events: ["deviceRotation"]
},
FatalErrorEvent: {
type: G.FatalErrorEvent,
events: ["fatalError"]
},
TouchEvent: {
type: G.TouchEvent,
events: ["touchmove", "touchstart", "touchend", "touchcancel", "touchforcechange"]
}
},
Sb = k.reduce(function(a, b) {
return a.concat(k.map(function(a) {
return {
eventName: a,
type: hb[b].type,
typeStr: b
}
}, hb[b].events))
},
[], k.keys(hb)),
rb = va.inherit({
protocol: "",
chunkSize: 0,
counterId: "",
counterType: "",
meta: null,
maxBufferSize: 7E5,
serializer: {
nullToStr: function(a) {
var b = this;
if (k.isArray(a)) return k.map(function(a) {
return b.nullToStr(a)
}, a);
if (k.isObject(a)) k.forEachKey(a, function(d, e) {
a[d] = b.nullToStr(e);
return !0
});
else if (null === a || a === w) a = "";
return a
},
uncapitalize: function(a, b) {
var d = a.slice(1);
return a.charAt(0).toLowerCase() + (b ? d.toLowerCase() : d)
},
capitalize: function(a, b) {
var d = a.slice(1);
return a.charAt(0).toUpperCase() +
(b ? d.toLowerCase() : d)
},
notNaN: function(a) {
return isNaN(a) && "number" == typeof a ? 0 : a
},
eventSerialize: function(a) {
var b = k.filter(function(b) {
return b.eventName == a.type
}, Sb),
d;
for (d = 0; d < b.length; d++) var e = b[d];
if (e) return d = new e.type(this.nullToStr(a.meta)), b = new G.Event({
type: G.EventType[e.eventName],
target: a.target,
frameId: a.frameId
}), b[this.uncapitalize(e.typeStr)] = d, b
},
pageSerialize: function(a) {
return new G.Page(this.nullToStr(a))
},
articleInfoSerialize: function(a) {
return new G.ArticleInfo(this.nullToStr(a))
},
publishersHeaderSerialize: function(a) {
return new G.PublishersHeader(this.nullToStr(a))
},
mutationSerialize: function(a) {
return new G.Mutation(this.nullToStr(a))
},
initBuffer: function() {
return new G.BufferWrapper
},
appendBuffer: function(a, b) {
a.buffer.push(b)
},
serializeChunk: function(a) {
return this.serializeBuffer(null, a)
},
serializeBuffer: function(a, b, d) {
var e = new G.Buffer(b);
a = a || new G.Wrapper;
b || (e.data = a);
d !== w && (e.stamp = d);
b && b.stamp === w && (e.stamp = x.getFormStart());
return e
},
toTransport: function(a,
b, d, e) {
var g = b || "BufferWrapper",
k = this;
if (d) fb.chain([function() {
return k.nullToStr(a)
}, function(a) {
return G[g].encode(a)
}, function(a) {
return a.finish()
}, function(a) {
return d.call(e, a)
}], "", !1, "toTransportChain." + g);
else return G[g].encode(this.nullToStr(a)).finish()
},
fromTrasport: function(a, b) {
if ("number" == typeof a[0]) return G[b || "BufferWrapper"].decode(a)
},
serialize: function(a, b, d) {
var e = {},
g = {},
k = this[a + "Serialize"];
if (k) e[a] = k.call(this, b), g = new G.Wrapper(e);
else if (d && G.Wrapper.prototype[a] !==
w) g[a] = b;
else throw "Unrecoginze type of message";
return d ? G.Wrapper.encode(g).finish() : g
}
},
_dataSize: 0,
flushTimeout: 2E3,
storageKey: "visorbuff3",
active: !1,
wvType: 3,
_v: "",
_initComponent: function() {
this._sender = new gb({
version: this.wvType,
protocol: this.protocol,
browserInfoMix: this.browserInfoMix,
globalConfig: this.globalConfig,
counterId: this.counterId,
counterType: this.counterType
});
this.maxChunkSize = .9 * this.maxBufferSize;
Ua.superclass._initComponent.apply(this, arguments)
},
activate: function() {
this.active ||
(this.active = !0)
},
mergeData: function(a, b) {
b.data && 0 === b.data.size || (this.serializer.appendBuffer(a, b), this._dataSize = 0)
},
_getSize: function(a) {
return a.length
},
sendEncoded: function(a, b, d, e, g) {
var k = this._getSize(a),
h = this.getFlushSize(),
m = 0,
f = 0,
c = 1;
d.size = k;
h + k > this.maxBufferSize && h && this._flush(e);
if (k > this.maxBufferSize)
for (h = Math.ceil(k / this.maxChunkSize); f < k;) {
b.page = c;
b.end = c === h;
b.chunk = a.slice(m, m += this.maxChunkSize);
if (0 == b.chunk.length) break;
b.size = this._getSize(b.chunk);
f += b.size;
d = this.serializer.serializeChunk(b);
this.store.set(d, g);
this.append(d, e);
c++
} else d = this.serializer.serializeBuffer(d, null, b.stamp), this.store.set(d, g), this.append(d, e)
},
addData: function(a, b, d, e, g) {
var p = {
type: a
};
this._v = d;
this.wrappers.length && k.arrayEvery(this.wrappers, function(d) {
d.trigger && d.trigger(a, b);
return 1
});
if (g) {
var h = this.serializer.serializeBuffer({
size: 0
});
this.append(h, e)
} else this._data && 0 == this._data.buffer.length && (this.startBufferTime = x.getSeconds()), b.stamp !== w && (p.stamp = b.stamp, delete b.stamp), h = this.serializer.serialize(a,
b), e ? (d = this.serializer.toTransport(h, "Wrapper"), this.sendEncoded(d, p, h, !0, {
id: a,
data: b
})) : this.serializer.toTransport(h, "Wrapper", function(d) {
this.sendEncoded(d, p, h, !1, {
id: a,
data: b
})
}, this)
},
dataFromStorage: function(a) {
return this.serializer.fromTrasport(a)
},
dataToStorage: function(a) {
return this.serializer.toTransport(a)
},
getFlushSize: function() {
var a = this,
b = k.reduce(function(a, b) {
return a + (b.data ? b.data.size : b.size)
}, 0, this._data.buffer);
this.wrappers.length && (b += k.reduce(function(b, e) {
var d = e.getBufferData();
return b += a.serializer.serialize(d.type, d.data, !0).length
}, b, this.wrappers));
return b
},
onFlush: function(a, b, d, e) {
var g = this;
this._dataSize = 0;
a && (this.wrappers.length && (k.arrayEvery(this.wrappers, function(b) {
if (!b.onFlush) return 1;
k.arrayEvery(a.buffer, function(a) {
a = this.store.pop(a);
if (!a) return 1;
b.onFlush(a.id, a.data);
return 1
}, this)
}, this), a = k.reduce(function(a, b) {
var d = b.getBufferData(),
e = {
data: {}
};
e.data[d.type] = d.data;
d = new g.serializer.serializeBuffer(null, e);
g.mergeData(a, d);
return a
}, a, this.wrappers)),
e ? this._sender.sendPacket(this.serializer.toTransport(a), b.url, b.hitId, d, b.timezone, b.timestamp, this.startBufferTime) : this.serializer.toTransport(a, "BufferWrapper", function(a) {
this._sender.sendPacket(a, b.url, b.hitId, d, b.timezone, b.timestamp, this.startBufferTime)
}, this))
},
clear: function() {
this._data = this.serializer.initBuffer();
this._dataSize = 0;
this._flushTID = null;
this.storage && this.storage.remove(this.storageKey)
}
}),
R = {};
R._cookie = new J({
onlyCurrentDomain: !0
});
R._check = E(function() {
return -1 < n.location.href.indexOf("_ym_debug\x3d1") ||
n._ym_debug || "1" === R._cookie.read("debug")
});
R.enabled = R._check();
R.log = E(function() {
(-1 < H.href.indexOf("_ym_debug\x3d1") || n._ym_debug) && this._cookie.create("debug", "1");
n.console && console.log && this._check() && (R.enabled = !0, console.log.apply(console, arguments))
}, "DebugConsole.log");
var Tb = I.inherit({
eventMap: {
mousemove: {
val: 0,
multiply: 1 / .68
},
click: {
val: 0,
multiply: 1 / .00975
},
input: {
val: 0,
multiply: 1 / .0116
},
scroll: {
val: 0,
multiply: 1 / .31
},
fatalError: {
val: 0,
multiply: 1
}
},
getBufferData: function() {
var a = this;
return {
type: "activity",
data: k.reduce(function(b, d) {
var e = a.eventMap[d];
return Math.round(b + e.val * e.multiply)
}, 0, k.keys(this.eventMap))
}
},
onFlush: function(a, b) {
var d;
if (d = this.eventMap["event" !== a ? a : b.type]) d.val += 1
}
}),
Ub = I.inherit({
buffer: null,
meta: !1,
activeEvents: "page resize scroll mousemove mousedown click windowfocus keystroke deviceRotation input touchmove touchstart".split(" "),
isStopped: !1,
schemas: {
schema: {
id: "s",
_select: function(a, b) {
return a.querySelectorAll(b)
},
_getVal: function(a) {
if (a &&
0 != a.length) return a.length === w && (a = [a]), a[0].getAttribute("content") || a[0].innerText
},
_getDate: function(a) {
var b = "";
a.length || (a = [a]);
a = a[0];
return b = a.attributes && a.attributes.datetime ? b + a.attributes.datetime.value : b + this._getVal(a)
},
fields: {
id: function(a) {
var b = this._select(a, '[itemprop\x3d"identifier"]');
if (b.length) return this._getVal(b);
b = this._select(a, '[itemprop\x3d"mainEntityOfPage"]');
return b.length && b[0].getAttribute("itemid") ? b[0].getAttribute("itemid") : null
},
chars: function(a) {
var b =
0,
d = this._select(a, '[itemprop\x3d"articleBody"]');
return b = d.length ? b + d[0].innerText.length : b + a.innerText.length
},
topics: function(a) {
var b = [];
a = this._select(a, '[itemprop\x3d"about"]');
return b = k.map(function(a) {
var b = {};
a = self._select(a, '[itemprop\x3d"name"]');
a.length && (b.name = self._getVal(a));
return b
}, a)
},
rubric: function(a) {
var b = [],
d = this;
a = this._select(a, '[itemtype\x3d"http://schema.org/BreadcrumbList"]');
a.length || (a = this._select(this.root, '[itemtype\x3d"http://schema.org/BreadcrumbList"]'));
a.length && (a = this._select(a[0], '[itemprop\x3d"itemListElement"]'), a.length && (b = k.map(function(a) {
return {
name: d._getVal(d._select(a, '[itemprop\x3d"name"]')),
position: d._getVal(d._select(a, '[itemprop\x3d"position"]'))
}
}, a)));
return b
},
updateDate: function(a) {
a = this._select(a, '[itemprop\x3d"dateModified"]');
return a.length ? this._getDate(a) : ""
},
publicationDate: function(a) {
a = this._select(a, '[itemprop\x3d"datePublished"]');
return a.length ? this._getDate(a) : ""
},
pageUrlCanonical: function() {
var a = this._select(this.root,
'[rel\x3d"canonical"]');
if (a.length) return a[0].href
},
pageTitle: function(a) {
var b = "",
d = this._select(a, '[itemprop\x3d"headline"]');
d.length && (b += this._getVal(d));
d = this._select(a, '[itemprop\x3d"alternativeHeadline"]');
d.length && (b += " " + this._getVal(d));
return b
},
authors: function(a) {
a = this._select(a, '[itemprop\x3d"author"]');
var b = this,
d = [];
return d = k.map(function(a) {
var d = {};
if ("http://schema.org/Person" == a.getAttribute("itemtype")) {
var e = b._select(a, '[itemprop\x3d"name"]');
e.length && (d.name = b._getVal(e))
}
d.name ||
(d.name = a.getAttribute("content") || a.innerText || a.getAttribute("href"));
return d
}, a)
}
},
_nodeToDict: function(a, b) {
var d = {},
e, g, p = this;
if (b) return p.fields[b].call(p, a);
k.map(function(b) {
d[b] = p.fields[b].call(p, a);
return 1
}, k.keys(this.fields));
d.stamp = x.getFormStart();
d.id || (d.id = d.pageTitle);
if (!d.id)
for (e = 1; 5 >= e; e++)
if (g = this._getVal(this._select(a, "h" + e))) {
d.id = g;
d.pageTitle = g;
break
} d.id || (e = this._select(this.root, '[rel\x3d"canonical"]'), e.length && (d.id = e[0].href));
d.id = k.fnv32a(d.id) || 1;
d.update =
k.bind(this._nodeToDict, this, a);
return d
},
findArticals: function() {
var a, b = [],
d = n.document.querySelectorAll('[itemtype*\x3d"Article"]');
for (a = 0; a < d.length; a++) b.push(k.mixin({
node: d[a],
sended: !1,
involvedTime: 0
}, this._nodeToDict(d[a])));
return b
}
}
},
checkSize: function() {
var a = this,
b = "pai" + this._schema.id,
d = this.globalConfig.get(b, []);
d.push(function(b) {
!a.isStopped && b.length && (a.findArticals(b), a.meta = a.getMeta(), a.send())
});
this.globalConfig.setSafe(b, d);
if (1 == d.length) {
var e = function(d) {
var g = a.globalConfig.get(b),
h = a._schema.findArticals();
a.findArticals(h);
a.meta = a.getMeta();
var m = k.toJSON(a.meta);
if (!a.isStopped) {
if (d !== m)
for (d = 0; d < g.length; d++) {
var f = k.map(function(a) {
return k.mixin({}, a)
}, h);
g[d](f)
}
a.timeout = k.setTimeout(function() {
e(m)
}, 1E3)
}
};
e()
}
},
stop: function() {
this.isStopped = !0
},
getBufferData: function() {
return {
type: "publishersHeader",
data: {
articleMeta: this.meta || {},
involvedTime: this.involvedTime || 0
}
}
},
findArticals: function(a) {
var b = k.map(function(a) {
return a.id
}, this.articles);
this.articles = this.articles.concat(k.filter(function(a) {
return !k.inArray(b,
a.id)
}, a))
},
getScroll: function() {
this.scroll = {
x: n.pageXOffset || this.root.scrollLeft,
y: n.pageYOffset || this.root.scrollTop
}
},
_initComponent: function() {
var a = v.getViewportSize();
this.handlers = [];
this.events = [];
this.articles = [];
this.root = v.getRootElement();
this.getScroll();
this.viewbox = {
width: a[0],
height: a[1]
}
},
getMeta: function() {
var a = this;
this.getScroll();
return k.map(function(b) {
var d = {
id: b.id,
involvedTime: b.involvedTime || 0,
maxScrolled: b.maxScrolled || 0,
chars: b.update ? b.update("chars") : 0
};
b.node && k.isFunction(b.node.getBoundingClientRect) &&
(b = b.node.getBoundingClientRect(), d.x = Math.round(b.left) + a.scroll.x, d.y = Math.round(b.top) + a.scroll.y, d.width = Math.round(b.width), d.height = Math.round(b.height));
return d
}, this.articles)
},
getArticalsToSend: function() {
var a = [],
b;
for (b = 0; b < this.articles.length; b++)
if (!this.articles[b].sended) {
var d = k.mixin({}, this.articles[b]);
delete d.node;
delete d.sended;
delete d.involvedTime;
delete d.visibility;
delete d.maxScrolled;
delete d.update;
a.push(d)
} return a
},
send: function() {
var a = this.getArticalsToSend();
a.length && (this.push({
articleInfo: a
}), k.arrayEvery(this.articles, function(a) {
a.sended = !0;
return 1
}))
},
start: function(a) {
var b = this;
a && a.schema && this.schemas[a.schema] && n.document && k.isFunction(n.document.querySelectorAll) ? (this.globalConfig.setSafe("pai", function() {
return k.reduce(function(a, b) {
(a.visibility || 0) <= b.visibility && (a = b);
return a
}, {}, b.articles).id
}), this._schema = this.schemas[a.schema], this._schema.root = this.root, this.checkSize()) : this.stop()
},
push: function(a) {
k.arrayEvery(this.handlers,
function(b) {
b(a);
return 1
});
this.events.push(a)
},
middleware: function(a) {
this.handlers.push(a);
k.arrayEvery(this.events, function(b) {
a(b)
})
},
lastStamp: 0,
involvedTime: 0,
MAX_INACTIVE: 5E3,
trigger: function(a, b) {
var d = "event" !== a ? a : b.type;
if (k.inArray(this.activeEvents, d)) {
"scroll" == d && b.meta && b.meta.page && (this.scroll = b.meta);
"resize" == d && 0 == b.target && (this.viewbox = b.meta);
var e = x.getMs() - this.lastStamp;
e = Math.min(e, this.MAX_INACTIVE);
this.involvedTime += Math.round(e);
this.lastStamp = x.getMs();
this.meta &&
this.scroll && this.viewbox && k.arrayEvery(this.articles, function(a, b) {
var d = this.meta[b],
g = Math.max((Math.min(this.scroll.y + this.viewbox.height, d.y + d.height) - Math.max(this.scroll.y, d.y)) / this.viewbox.height, 0),
f = Math.max((this.scroll.y + this.viewbox.height - d.y) / d.height, 0);
a.involvedTime += Math.round(g * e);
a.maxScrolled = Math.round(1E4 * f) / 1E4;
a.visibility = g;
d.involvedTime = a.involvedTime;
return 1
}, this)
}
}
}),
sb = I.inherit({
hid: 0,
tz: 0,
ts: 0,
counterId: 0,
counterType: 0,
url: "",
protocol: "",
executor: fb,
enabled: !1,
_map: {
page: {
iterate: !1,
name: "page"
},
events: {
iterate: !0,
name: "event"
},
mutations: {
iterate: !0,
name: "mutation"
},
articleInfo: {
iterate: !0,
name: "articleInfo"
}
},
_getBufferType: function() {
var a = Ua;
R.enabled || n.Uint8Array && n.Uint8Array.prototype.slice && (a = rb);
return a
},
_initComponent: E(function() {
var a = this._getBufferType();
this._localStorage = new ca({
counterId: this.counterId
});
var b = this._localStorage.get("pai");
var d = this._getStorage();
var e = d.read("visorc");
"b" !== e && "w" !== e && (e = "");
if (!d.isEnabled() || bb("opera mini")) e =
"b";
this._publisher = new Ub({
globalConfig: this.globalConfig
});
this._vc = e;
d = {
protocol: this.protocol,
counterId: this.counterId,
counterType: this.counterType,
globalConfig: this.globalConfig,
meta: {
url: this.url,
hitId: this.hid,
timezone: this.tz,
timestamp: this.ts
}
};
this._recorder = new Kb;
this._buffer = new a(k.mixin({}, d, {
browserInfoMix: {
bt: 1
}
}));
this._eventsBuffer = new a(k.mixin(d, b && {
browserInfoMix: {
pai: b
}
}));
this._localStorage.remove("pai");
this._buffer.activate();
this._eventsBuffer.activate();
"b" !== e && (this._formRecorder =
new Cb(this.protocol, this.counterId, this.counterType, this.hid, this.globalConfig), this._recorder.on("error", function(a) {
Wa(a.error, a.namespace)
}), this._activity = new Tb);
sb.superclass._initComponent.apply(this, arguments)
}, "wv2.init"),
start: E(function(a, b) {
var d = this,
e = this._vc;
if (this._recorder) {
a = a || {};
var g = +a.recp;
if (!isFinite(g) || 0 > g || 1 < g) e = "w";
e || (e = this.hid % 1E4 / 1E4 < g ? "w" : "b");
this._getStorage().create("visorc", e, 30);
this._publisher.start(b);
"w" === e && this.isEnabled() && this.globalConfig.setSafe("wv2Counter",
this.counterId);
"w" === e && this.isEnabled() && this._isCorrectCounter() ? (this._recorder.middleware(function(a) {
d.send(a.data)
}), this._recorder.init(), this._eventsBuffer.wrappers.push(this._activity), this._recorder.start(a), this._formRecorder.start(), this.globalConfig.get("stopRecoder", function() {})(), this.globalConfig.set("stopRecoder", function() {
d.stop()
})) : this._publisher && !this._publisher.isStopped ? (this._recorder.middleware(function(a) {
d.send(a.data, !0)
}), this._recorder.init({
disableIndex: !0,
disableMutations: !0
}),
this._recorder.start(a)) : this.stop();
this._publisher && !this._publisher.isStopped && (this._eventsBuffer.wrappers.push(this._publisher), this._eventsBuffer.setWVType(this._buffer instanceof rb ? 5 : 4), this._publisher.middleware(function(a) {
d.send(a)
}))
}
}, "wv2.start"),
stop: function() {
this._publisher && this._publisher.stop();
this._recorder && (this._recorder.stop(), this._formRecorder && this._formRecorder.stop())
},
isEnabled: function() {
var a = !this.globalConfig.get("oo");
return this.enabled && n.MutationObserver &&
a
},
send: function(a, b) {
var d = a._v;
k.forEachKey(a, function(a, g) {
var e = this._map[a],
h = this._buffer;
if (e) {
var m = e.name;
k.inArray(["event", "articleInfo"], m) && (h = this._eventsBuffer);
e.iterate ? k.forEachKey(g, function(a, c) {
var e = "eof" === c.type,
f = [h],
g;
e && (f = [this._eventsBuffer, this._buffer]);
for (g = 0; g < f.length; g++) this.executor.addAsyncItem(f[g].addData, f[g], e, [m, c, d, e, b], "send." + (c ? c.type || c.group || "" : "empty"))
}, this) : h.addData(m, g, d)
}
}, this)
},
getVc: function() {
return this._vc
},
_getStorage: function() {
this._storage ||
(this._storage = new J({
counterId: this.counterId
}));
return this._storage
},
_isCorrectCounter: function() {
return this.counterId === this.globalConfig.get("wv2Counter")
}
}),
tb = {
FN: "ym",
STACK: "a",
counters: [],
waitPool: {},
handle: function(a) {
if (2 > a.length) return 1;
var b = "" + a[0];
k.inArray(b, ":") || (b += ":0");
var d = b.split(":")[0];
var e = a[1];
var g = this.globalConfig.get("counters", {})[b];
"init" == e ? (e = "yaCounter" + d, n[e] || (a = k.mixin(a[2] || {}, {
id: +d
}), n[e] = new n.Ya[this.constructorName](a))) : k.inArray(this.counters, b) &&
g && g[e] ? (a = [].slice.call(a, 2), g[e].apply(g, a)) : k.inArray(this.counters, b) || (this.waitPool[b] || (this.waitPool[b] = []), this.waitPool[b].push(a));
return 1
},
subscribe: function(a) {
a && (this.counters.push(a), this.waitPool[a] && (k.arrayEvery(this.waitPool[a], this.handle, this), delete this.waitPool[a]))
},
init: function(a, b) {
var d = this,
e = n[this.FN];
if (e) {
var g = e[this.STACK];
this.constructorName = a;
this.globalConfig = b;
g || (e[this.STACK] = g = []);
var p = g.push;
g.push = function() {
var a = p.apply(g, arguments);
k.arrayEvery(arguments,
d.handle, d);
return a
};
e && k.isArray(g) && k.arrayEvery(g, this.handle, this)
}
}
},
Vb = function(a, b) {
var d = ["R0lGODlhAQABAO+/vQAAAAAAAAAAIe+/vQQBAAAAACwAAAAAAQABAAACAkQBADs\x3d", "R0lGODlhAQABAO+/vQEAAAAA77+977+977+9Ie+/vQQBAAABACwAAAAAAQABAAACAkwBADs\x3d"],
e = {},
g = !1,
p = function(b) {
g || (a(b), g = !0)
},
h = b || "aHR0cHM6Ly95YW5kZXgucnUvcG9ydGFsL2dlbmVyYXRlXzIwNA\x3d\x3d aHR0cHM6Ly95YW5kZXgudWEvcG9ydGFsL2dlbmVyYXRlXzIwNA\x3d\x3d aHR0cHM6Ly95YW5kZXguZnIvcG9ydGFsL2dlbmVyYXRlXzIwNA\x3d\x3d aHR0cHM6Ly9wYXNzcG9ydC55YW5kZXguZnIvbWMvcGl4ZWw\x3d aHR0cHM6Ly9wYXNzcG9ydC55YW5kZXgudWEvbWMvcGl4ZWw\x3d aHR0cHM6Ly9wYXNzcG9ydC55YW5kZXgucnUvbWMvcGl4ZWw\x3d aHR0cHM6Ly9nZXRmYXN0YnJvd3Nlci5jb20vbWMvcGl4ZWw\x3d aHR0cHM6Ly9nZXR5YWJyb3dzZXIuY29tL21jL3BpeGVs aHR0cHM6Ly9nZXRicm93c2VyMjQuY29tL21jL3BpeGVs aHR0cHM6Ly9tYy53ZWJ2aXNvci5jb20vd2F0Y2gvNDQ4ODk0NjMvMQ\x3d\x3d aHR0cHM6Ly9tYy53ZWJ2aXNvci5vcmcvd2F0Y2gvNDQ4ODk0NjMvMQ\x3d\x3d aHR0cHM6Ly9tYy55YW5kZXgudWEvd2F0Y2gvNDQ4ODk0NjMvMQ\x3d\x3d aHR0cHM6Ly9tYy55YW5kZXgucnUvd2F0Y2gvNDQ4ODk0NjMvMQ\x3d\x3d aHR0cHM6Ly95bWV0cmljYS5jb20vd2F0Y2gvNDQ4ODk0NjMvMQ\x3d\x3d aHR0cHM6Ly95bWV0cmljYTEuY29tL3dhdGNoLzQ0ODg5NDYzLzE aHR0cHM6Ly95bWV0cmljYTIuY29tL3dhdGNoLzQ0ODg5NDYzLzE\x3d aHR0cHM6Ly9tYWlsLnlhbmRleC5mci9tYy9waXhlbA\x3d\x3d aHR0cHM6Ly9tYWlsLnlhbmRleC5jb20vbWMvcGl4ZWw\x3d aHR0cHM6Ly9tYWlsLnlhbmRleC51YS9tYy9waXhlbA\x3d\x3d aHR0cHM6Ly9tYWlsLnlhbmRleC5ydS9tYy9waXhlbA\x3d\x3d aHR0cHM6Ly9zdGFydHVwLm1vYmlsZS55YW5kZXgubmV0L21jL3BpeGVs aHR0cHM6Ly9zdGFydHVwLm1vYmlsZS53ZWJ2aXNvci5jb20vbWMvcGl4ZWw\x3d aHR0cHM6Ly9yZXBvcnQuYXBwbWV0cmljYS53ZWJ2aXNvci5jb20vbWMvcGl4ZWw\x3d aHR0cHM6Ly9yZWRpcmVjdC5hcHBtZXRyaWNhLndlYnZpc29yLmNvbS9tYy9waXhlbA\x3d\x3d aHR0cHM6Ly9yZXBvcnQtMS5hcHBtZXRyaWNhLndlYnZpc29yLmNvbS9tYy9waXhlbA\x3d\x3d aHR0cHM6Ly9yZXBvcnQtMi5hcHBtZXRyaWNhLndlYnZpc29yLmNvbS9tYy9waXhlbA\x3d\x3d".split(" "),
m = k.random(0, h.length);
if (n.XMLHttpRequest) {
var f = L.decode(h[m]);
var c = new XMLHttpRequest;
c.timeout = 1E4;
c.open("GET", f, !0);
c.ontimeout = function() {
e[f] = {
status: "timeout"
};
p(e)
};
c.onreadystatechange = function() {
4 == c.readyState && c.responseURL && (c.responseURL !== f ? e[f] = {
status: "redirect",
body: c.responseURL
} : 2 >= m ? e[f] = 204 == c.status ? {
status: c.status
} : {
status: "onerror",
code: c.status
} : 200 != c.status || k.inArray(d, L.encode(Sa.encode(c.response))) ? e[f] = {
status: c.status
} : e[f] = {
status: "content"
}, p(e))
};
c.onerror =
function(a) {
e[f] = {
status: "onerror",
code: a.target.status
};
p(e)
};
c.send()
}
};
v.loadScript = function(a, b) {
b = b || n;
var d = k.mixin({
type: "text/javascript",
charset: "utf-8",
async: !0
}, a),
e = b.document,
g = k.getNativeFunction("createElement", e),
p = g("script");
if (p) {
p.type = d.type;
p.charset = d.charset;
p.src = d.src;
d.async && (p.async = !0);
try {
var h = e.getElementsByTagName("head")[0];
if (!h) {
var m = e.getElementsByTagName("html")[0];
h = g("head");
m && m.appendChild(h)
}
h.insertBefore(p, h.firstChild);
return p
} catch (f) {}
}
};
var Wb = na.inherit({
id: "script",
index: 6,
timeout: 6E4,
request: function(a, b, d, e) {
var g = !1,
p = k.getNativeFunction("createElement", q)("script");
this.timeout && k.setTimeout(function() {
g || (g = !0, v.removeNode(p), d.call(e, !1))
}, this.timeout, "ts.request");
if (!p) return g = !0, d.call(e, !1), !1;
var h = "_ymjsp" + k.random();
n[h] = E(function() {
if (!g) {
try {
delete n[h]
} catch (f) {
n[h] = w
}
d.apply(e, k.mergeArrays([!0], arguments));
g = !0;
v.removeNode(p)
}
}, "transport.script");
p.type = "text/javascript";
p.src = this._buildUrl(a, k.mixin({
wmode: 5,
callback: h
}, b));
p.async =
"async";
var m = q.getElementsByTagName("head")[0];
m || (m = q.createElement("head"), q.documentElement.appendChild(m));
k.async(function() {
m.insertBefore(p, m.firstChild)
});
p.onerror = function() {
g = !0;
d.call(e, !1);
n[h] = w
};
return !0
}
}),
ub = Ca.inherit({
id: "XHRhit",
index: 10,
_buildUrl: function(a, b) {
b.wmode = 7;
return ub.superclass._buildUrl.apply(this, [a, b])
},
_parseResp: function(a) {
var b = ea.parse(a);
if (!b) throw "";
return k.map(function(a) {
return b[a]
}, k.keys(b))
}
}),
ib = Ga.inherit({
transports: [ub, Wb],
trimParams: !0,
_initComponent: function() {
ib.superclass._initComponent.apply(this,
arguments);
this._ilStorage = new ca({
counterId: this.counterId
})
},
postParams: [],
checkYandexHost: function(a) {
if (a) {
a: {
if (a = k.parseUrl(a).host.match(/(?:^|\.)(?:ya|yandex)\.(?:\w+|com?\.\w+)$/))
if (a = a[0].split("yandex").reverse()[0].substring(1), -1 != k.arrayIndexOf(ob, a)) break a;a = !1
}
a && !Fa.isEnabled() && (this.forceHost = "mc.yandex." + a)
}
},
sendHit: function(a) {
var b = {},
d = this._ilStorage.get("il");
a.visitColor && (b.vc = a.visitColor);
d && (this._ilStorage.remove("il"), b.ilt = L.encode(Sa.encode(k.trim(d, vb))));
this.checkYandexHost(a.referrer);
this._hitExt({
url: a.url,
forceNoRedirect: a.forceNoRedirect,
nohit: a.nohit,
hasPrerender: a.hasPrerender,
title: a.title,
referrer: a.referrer,
vParams: a.vParams,
userParams: a.userParams,
experiments: a.experiments,
modes: a.modes,
browserInfo: b,
ts: a.ts,
tz: a.tz,
callback: a.callback,
ctx: a.ctx
}, "hit")
}
}),
wb = I.inherit({
cid: 3,
cnt: 0,
KEY_NAME: "wasSynced",
_initComponent: function() {
this._storage = new ca;
this._cookie = new J
},
hit: function(a, b) {
var d = this,
e = b === w ? !0 : !1,
g = e ? this._storage.get(this.KEY_NAME) : !1,
p = [],
h = this.globalConfig.get("fakeHit");
if (h) return h(function(b) {
a(b)
});
!g && e && (g = this._cookie.read(this.KEY_NAME)) && (g = ea.parse(g));
g && g.params && g.time + 864E5 > x.getMs() ? (d.globalConfig.set("isEU", g.params.eu), a(g)) : (this.globalConfig.set("fakeHit", function(a) {
p.push(a)
}), this._getSender().sendHit({
forceNoRedirect: this.forceNoRedirect,
callback: function(b, e) {
var c = b || {};
g = {
time: x.getMs(),
params: c,
bkParams: e
};
d.globalConfig.set("isEU", c.eu);
d._storage.set(d.KEY_NAME, g);
d._cookie.create(d.KEY_NAME, ea.stringify(g), 1728);
a(g);
d.globalConfig.set("fakeHit",
function(a) {
a(g)
});
k.arrayEvery(p, function(a) {
a(g);
return 1
})
}
}))
},
_getSender: function() {
this._sender || (this._sender = new ib({
protocol: "https:",
counterType: this.cnt,
counterId: this.cid,
sendTitle: !1,
globalConfig: this.globalConfig,
fake: !0
}));
return this._sender
}
}),
xb = I.inherit({
baseUrl: "mc.yandex.",
globalConfig: B,
baseTld: "ru",
partners: {
"mc.yandexsport.ru": {
regex: /^([^/]+\.)?yandexsport\.ru$/,
tld: "ru"
},
"mc.beru.ru": {
regex: /^([^/]+\.)?beru\.ru$/,
tld: "ru"
},
"mc.kinopoisk.ru": {
regex: /^([^/]+\.)?kinopoisk\.ru$/,
tld: "ru"
}
},
_initComponent: function() {
var a = this;
xb.superclass._initComponent.apply(this, arguments);
this.syncTlds = k.reduce(function(a, d) {
return d(a)
}, ob, [k.bind(k.filter, null, function(b) {
return b !== a.baseTld
}), k.bind(k.reduce, null, function(a, d) {
a[d] = [d];
return a
}, {})]);
k.forEachKey(this.partners, function(a, d) {
d.regex.test(n.location.hostname) && (this.syncTlds[d.tld] || (this.syncTlds[d.tld] = []), this.syncTlds[d.tld].push(a), this._replaceBase[a] = !0)
}, this);
this.syncTlds = k.mixin(this.syncTlds, {
ru: ["mc.webvisor.org"]
});
this._replaceBase["mc.webvisor.org"] = !0
},
_replaceBase: {},
langToDomain: {
ka: "ge",
ro: "md",
tg: "tj",
tk: "tm",
et: "ee",
hy: "com.am",
he: "co.li",
ky: "kg",
uk: "ua",
be: "by",
tr: "com.tr",
kk: "kz"
},
sync: function(a) {
var b = this,
d = this._need(),
e = -1 != K().hostname.search(/(?:^|\.)(?:ya|yandex|beru|kinopoisk)\.(?:\w+|com?\.\w+)$/);
this._is() ? a() : (e && b._syncAdmetrica(), d ? (this._setStatus(!0), this._getCn().hit(function() {
b._sync(d, a)
})) : a());
e && this._addMda()
},
_addMda: function() {
var a = new J({
skipPrefix: !0
}),
b = new J,
d = a.read("mda");
"0" !== d && "1" !== d && a.create("mda", "0", 1036800);
b.read("mda") && b.erase("mda")
},
_is: function() {
try {
return !!this.globalConfig.get("startSync")
} catch (a) {
return !1
}
},
_setStatus: function(a) {
try {
this.globalConfig.set("startSync", a)
} catch (b) {}
},
_need: function() {
var a = this._getDomainByLang(),
b = this._getTld(),
d = [],
e;
(e = this.syncTlds[b]) && d.push.apply(d, e);
e = this.syncTlds[a];
a !== b && e && d.push.apply(d, e);
var g = this._getLs().get("synced") || {};
d = k.arrayFilter(d, function(a) {
return (g[a] || 1) + 1440 < x.getMinutes()
});
return d.length &&
d || !1
},
_syncAdmetrica: function() {
var a = new oa({
timeout: 1E3
}),
b = this._getLs();
((b.get("synced") || {}).SYNCED_ADM || 1) + 1440 < x.getMinutes() && a.request("https://mc.admetrica.ru/sync_cookie_image_check", {}, function(a) {
b.get("synced");
var d = x.getMinutes();
a = b.get("synced") || {};
a.SYNCED_ADM = d;
b.set("synced", a)
})
},
_sync: function(a, b) {
var d, e = 0,
g = a.length,
k = this;
if (0 < g) {
b = b || function() {};
var h = function() {
e++;
g === e && b()
};
var m = k._getLs();
var f = new oa({
timeout: 1E3
});
for (d = 0; d < g; d++)(function(a) {
f.request("https://" +
(k._replaceBase[a] ? a : k.baseUrl + a) + "/sync_cookie_image_check", {},
function(b) {
h();
var c = x.getMinutes();
b = m.get("synced") || {};
b[a] = c;
m.set("synced", b)
})
})(a[d])
} else b()
},
_getCn: function() {
this._cn || (this._cn = new wb({
fake: !0,
globalConfig: this.globalConfig
}));
return this._cn
},
_getLs: function() {
this._ls || (this._ls = new ca);
return this._ls
},
_getTld: function() {
var a = k.getTld();
return {
am: "com.am",
tr: "com.tr",
ge: "com.ge",
il: "co.il",
"\u0440\u0444": "ru",
"xn--p1ai": "ru",
"\u0443\u043a\u0440": "ua",
"xn--j1amh": "ua",
"\u0431\u0435\u043b": "by",
"xn--90ais": "by"
} [a] || a
},
_getDomainByLang: function() {
if (!n.navigator) return "ru";
try {
var a = navigator.languages ? navigator.languages[0] : u.getLanguage()
} catch (b) {}
a && a.toLowerCase && (a = a.toLowerCase().split("-")[0]);
return this.langToDomain[a] || "ru"
}
}),
Xb = Ca.inherit({
id: "RawBodyXHR",
index: 9,
postParams: ["body"],
_setHeaders: function() {},
_preparePostParams: function(a) {
return a.post.body || ""
}
});
u.isAndroid = E(function() {
var a = navigator.userAgent.toLowerCase(),
b = u.getPlatform() || "";
return -1 < a.indexOf("android") && -1 < a.indexOf("mobile") && b.match(/^android|linux armv/i)
}, "", !0);
var Na = {
_url: "https://mc.webvisor.org/user_storage_set?",
_params: {},
init: function(a) {
this._params = a || {}
},
save: function(a, b) {
this._getReq().request(this._url + Ba.stringify({
key: a,
value: k.toJSON(b)
}));
this._getLs().set(a, b)
},
get: function(a) {
return {
remote: this._params[a],
local: this._getLs().get(a)
}
},
getNum: function(a) {
a = this.get(a);
return Math.max(+a.remote || 0, +a.local || 0)
},
_getLs: function() {
this._ls || (this._ls =
new ca);
return this._ls
},
_getReq: function() {
this._req || (this._req = new oa);
return this._req
}
},
Yb = {
sync: E(function(a, b, d, e) {
var g = {
t: 'UV|L7,!"T[rwe\x26D_\x3eZIb\\aW#98Y.PC6k'
};
this.globalConfig = e || B;
if (this._enabled(a, b, d)) {
this._setStatus(!0);
var k = new Xb({
method: "GET",
withCredentials: !1
});
var h = this._getHosts();
var m = h.length;
(function l(a) {
var b = h[a];
a < m ? k.request(b[0] + ":" + b[1] + "/p", g, function(c, d) {
c ? this._save(c, d, b[1]) : l.call(this, a + 1)
}, this) : this._save(!1)
}).call(this, 0)
}
}, "ds"),
_getHosts: function() {
var a = [],
b = H.protocol,
d = u.isIOS();
(u.isAndroid() || d && "http:" === b) && a.push(["http://127.0.0.1", "30102"], ["http://127.0.0.1", "29009"]);
d && "https:" === b && a.push(["https://yandexmetrica.com", "30103"], ["https://yandexmetrica.com", "29010"]);
return a
},
_save: function(a, b, d) {
var e = x.getMinutes();
a ? (new Ga({
protocol: "https:",
counterType: 0,
counterId: 42822899,
sendTitle: !1,
fake: !0
})).sendDevice({
data: k.trim(b),
port: d
}) : e -= 45;
Na.save("ds", e)
},
_is: function() {
try {
return !!this.globalConfig.get("dSync")
} catch (a) {
return !1
}
},
_enabled: function(a, b, d) {
if (!(60 < x.getMinutes() - Na.getNum("ds")) || this._is() || k.isDev(this.globalConfig)) return !1;
a = 0 === b && 0 <= k.arrayIndexOf([39370095, 1282253, 29302335, 43653484, 41734944, 31048081, 16443139, 27737346, 41870499, 33911514, 30744873, 5564395, 2580487], a);
a = ua() || !d && .1 >= Math.random() && a;
d = u.isIOS() && a;
return u.isAndroid() && a || d
},
_setStatus: function(a) {
try {
this.globalConfig.set("dSync", a)
} catch (b) {}
}
},
U = {
getPos: function(a) {
var b = v.getRootElement(),
d = v.getDocumentScroll();
return [a.pageX || a.clientX +
d[0] - (b.clientLeft || 0) || 0, a.pageY || a.clientY + d[1] - (b.clientTop || 0) || 0
]
},
getTarget: function(a) {
var b = null;
try {
if (b = a.target || a.srcElement) !b.ownerDocument && b.documentElement ? b = b.documentElement : b.ownerDocument !== q && (b = null)
} catch (d) {}
return b
},
getMouseButton: function(a) {
return a.which || a.button == w ? a.which : a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0
},
prevent: function(a) {
a = a || n.event;
a.preventDefault ? a.preventDefault() : a.returnValue = !1
}
};
U.dispatchCustomEvent = E(function(a, b) {
var d;
b = b || q;
if (d = k.getNativeFunction("createEvent",
q)("Event")) d.initEvent(a, !1, !1), k.getNativeFunction("dispatchEvent", b)(d)
}, "evt.dispatch");
var Ta = {
lastReferrer: null
},
Ha = I.inherit({
counter: null,
prefsEcommerce: null,
status: {
NEW: w,
PENDING: 1,
OK: 2,
FAIL: 3
},
dataLayerName: "dataLayer",
_initComponent: function() {
Ha.superclass._initComponent.apply(this, arguments);
this.frameConnector && this.frameConnector.addHandler("params", function(a, b) {
if (this.counter && this.counter.params) this.onCookies(function(a) {
this.counter.params(a.data)
}, this, b)
}, this);
this._overridePush(this.globalConfig.get("dataLayer"))
},
waitPool: [],
onCookies: function(a, b) {
this.waitPool.push({
fn: a,
ctx: b,
args: [].slice.call(arguments, 2)
})
},
initUserLayer: function() {
var a = "customArr";
k.arrayEvery(this.waitPool, function(a) {
a.fn.apply(a.ctx, a.args);
return 1
});
this.onCookies = function(a, d) {
a.apply(d, [].slice.call(arguments, 2))
};
if (this.prefsEcommerce || this.prefsUseDataLayer) this._overridePush(this.prefsEcommerce) || (k.isString(this.prefsEcommerce) && (this.dataLayerName = this.prefsEcommerce), a = this.dataLayerName, this._tryTimeout = k.bind(this._tryTimeout,
this), this._tryTimeout()), this.counter._ecommerce = a
},
_overridePush: function(a) {
if (a && "function" == typeof a.push) {
var b = this;
b._send(a);
var d = a.push;
a.push = function() {
var a = d.apply(this, arguments);
b._send([].slice.call(arguments, 0));
return a
};
return !0
}
return !1
},
_tryTimeout: function() {
this._overridePush(n[this.dataLayerName]) || k.setTimeout(this._tryTimeout, 1E3, "dlObserver")
},
_callHandlers: function(a) {
k.arrayEvery(Ha.handlers, function(b) {
b && b.type && k.arrayEvery(b.type.split(","), function(d) {
d.replace(" ",
"") === a.type && b.callback && b.callback(a);
return 1
});
return 1
})
},
allowedEvents: "currencyCode add delete remove purchase checkout detail".split(" "),
_convert: function(a, b) {
var d = k.keys(b),
e = !1,
g = {
transaction_id: "id",
value: "revenue"
};
if (b.items) {
var p = {};
p[a] = {
products: b.items
};
1 < d.length && (p[a].actionField = k.reduce(function(a, d) {
g[d] ? a[g[d]] = b[d] : "currency" === d ? e = b[d] : "items" !== d && b[d] && (a[d] = b[d]);
return a
}, {}, d));
e && (p.currencyCode = e);
return p
}
},
_checkGtag: function(a) {
var b = {
view_item: "detail",
add_to_cart: "add",
remove_from_cart: "remove",
begin_checkout: "checkout",
purchase: "purchase"
},
d = [];
a && "event" === a[0] && b[a[1]] && (a = this._convert(b[a[1]], a[2])) && d.push(a);
return d
},
_send: function(a) {
var b = [],
d = this.allowedEvents,
e, g;
var p = 0;
for (g = a.length; p < g; p++) {
if ((e = a[p]) && e.ymetrikaEvent) {
var h = e.ymetrikaEvent;
this._callHandlers(h);
if ("params" === h.type && h.data) {
h.sended || (h.sended = []);
if (h.counter) this.counter && this.counter.params && this.counterId == h.counter && (this.onCookies(function(a) {
this.counter.params(a.data)
},
this, k.mixin({}, h)), h.sended.push(this.counterId));
else this.onCookies(function(a) {
k.forEachKey(this.globalConfig.get("counters"), function(b, c) {
var d = b.split(":")[0];
!k.inArray(a.sended, d) && c && c.params && (c.params(a.data), a.sended.push(d))
}, this)
}, this, k.mixin({}, h));
h.status == this.status.NEW && h.parent && this.frameConnector && this.frameConnector.checkFrame(n.parent) && n.parent !== n && (this.frameConnector.sendToParents({
type: "params",
data: h.data
}, function() {
h.status = this.status.OK
}, this), h.status = this.status.PENDING)
}
}
if (e &&
e.ecommerce) {
var m = {};
var f = !1;
k.forEachKey(e.ecommerce, function(a, b) {
0 <= k.arrayIndexOf(d, a) && (f = !0, m[a] = b)
});
f && b.push(m)
}
b = b.concat(this._checkGtag(e))
}
if (b.length) this.onCookies(function(a) {
this.counter.params({
__ym: {
ecommerce: a
}
})
}, this, b)
}
});
Ha.handlers = [];
var yb = "GDPR-ok GDPR-cross GDPR-cancel GDPR-skip GDPR-frame-skip GDPR-frame-ya GDPR-frame-noya GDPR-open-start GDPR-eu-skip GDPR-open-fail GDPR-open-success GDPR-cookie-success GDPR-cookie-fail GDPR-skip-login GDPR-skip-domain GDPR-skip-na GDPR-skip-eu-na GDPR-skip-wv".split(" "),
Zb = ["https://brozen.yandex.ru", "https://yabro1.zen-test.yandex.ru/yabro/index.html", "https://yabro2.zen-test.yandex.ru/yabro/index.html"],
wa = I.inherit({
globalKey: "f1",
MAX_SIZE: 1E6,
isYAN: !1,
trigger: function(a) {
this.globalConfig.get("dataLayer").push({
ymetrikaEvent: {
type: a
}
})
},
initCounter: function() {},
enabled: ua() && -1 < n.location.href.indexOf("yagdprcheck\x3d1"),
_initComponent: function() {
this._cookie = wa.cookie;
this._sender = new wb({
fake: !0,
globalConfig: this.globalConfig,
forceNoRedirect: !0
})
},
realise: function(a,
b) {
this.initCounter.apply(n, a);
this.globalConfig.set(this.globalKey, function(a) {
a()
});
b.length && fb.chain(b.concat([function() {
b = []
}]), null, !1, "GDPR")
},
showPopup: function(a, b, d, e, g) {
var k = this;
a = v.loadScript({
src: "https://yastatic.net/q/global-notifications/cc/_lego-cc" + a + "." + b + ".js"
});
k.trigger("GDPR-open-start");
a.onerror = function(a) {
E(function() {
throw a;
}, "gdpr-popup")();
k.trigger("GDPR-open-fail");
k.realise(d, e);
k.frameConnector.sendToChildren({
type: "GDPR-ok"
})
};
a.onload = function() {
k.trigger("GDPR-open-success");
Ha.handlers = Ha.handlers.concat([{
type: "GDPR-ok, GDPR-cross",
callback: function(a) {
a.once || (g.create("gdpr", "0", 525600), k.realise(d, e), k.frameConnector.sendToChildren({
type: "GDPR-ok"
}), a.once = !0)
}
}, {
type: "GDPR-cancel",
callback: function() {
g.create("gdpr", "1");
k.logCancel();
k.frameConnector.sendToChildren({
type: "GDPR-cancel"
})
}
}])
}
},
askGDPR: function(a, b, d, e, g, n) {
if (k.inArray([null, ""], a)) this.showPopup(b, d, e, g, n);
else if ("0" === a) this.trigger("GDPR-cookie-success"), this.realise(e, g);
else if ("1" === a) return this.trigger("GDPR-cookie-fail"),
this.logCancel(), !1
},
logCancel: function() {
this._sender.hit(function() {}, !1)
},
handle: function() {
var a = this._sender,
b = [],
d = (u.getLanguage() || "").toLowerCase().split("-")[0],
e = "ontouchstart" in n ? "-touch" : "",
g = this._cookie,
p = g.read("gdpr"),
h = g.read("yaGdprCheck"),
m = this,
f = this.globalConfig.get(this.globalKey),
c = arguments;
b.size = 0;
if (f) return f(function() {
m.realise(c, b)
});
k.inArray("ru en kk be ky tr tt uk".split(" "), d) || (d = "en");
if (!this.enabled && ("0" === p || u.isSafariWebView() || u.isAndroidWebView() ||
k.inArray(Zb, n.location.href.split("?")[0]) || !ua() || g.read("yandex_login") || this.disable)) return g.read("yandex_login") ? this.trigger("GDPR-skip-login") : ua() ? "0" === p ? this.trigger("GDPR-skip") : u.isSafariWebView() || u.isAndroidWebView() ? this.trigger("GDPR-skip-wv") : this.trigger("GDPR-skip-na") : this.trigger("GDPR-skip-domain"), this.realise(c, b);
this.globalConfig.set(this.globalKey, function(a, c) {
var d = 0;
try {
d = JSON.stringify(c).length || 0
} catch (D) {}
b.size + d < m.MAX_SIZE ? (b.push(a), b.size += d) : k.warning("GDPR buffer is exceeded")
});
a.hit(function(a) {
if (a.params.eu || h || m.enabled)
if (m.frameConnector && m.frameConnector.addHandler("isYandex", function() {
return {
type: "isYandex",
isYandex: ua()
}
}), m.frameConnector.isIframe) {
m.frameConnector.sendToParents({
type: "isYandex"
}, function(a, c) {
var d = !1;
clearTimeout(f);
c[0].isYandex ? (m.trigger("GDPR-frame-ya"), m.frameConnector.addHandler("GDPR-ok", function() {
d || (g.create("gdpr", "0", 525600), m.realise(c, b), d = !0)
}), m.frameConnector.addHandler("GDPR-cancel", function() {
g.create("gdpr", "1")
})) : (m.trigger("GDPR-frame-noya"),
m.realise(c, b))
});
var f = k.setTimeout(function() {
m.trigger("GDPR-frame-skip");
m.realise(c, b)
}, 2E3)
} else m.askGDPR(p, e, d, c, b, g);
else return a.params.eu ? m.trigger("GDPR-skip-eu-na") : m.trigger("GDPR-eu-skip"), m.realise(c, b)
})
}
});
wa.globalKey = "f1";
wa.cookie = new J({
skipPrefix: !0
});
wa.getState = function(a) {
var b = wa.cookie.read("gdpr");
a = k.reduce(function(a, b) {
b.ymetrikaEvent && k.inArray(yb, b.ymetrikaEvent.type) && a.push(k.arrayIndexOf(yb, b.ymetrikaEvent.type));
return a
}, [], a.get("dataLayer"));
return a.length ?
(a = a.join(","), b && (a += "-" + (k.inArray(["0", "1"], b) ? b : "2")), a) : ""
};
var $b = {
init: function(a, b) {
var d = q.createElement("img");
a && a.account && a.tmsec && b && (d.src = "https://www.tns-counter.ru/V13a****" + a.account + "/ru/UTF-8/tmsec\x3d" + a.tmsec + "/" + b)
}
};
u.isIE = k.memorize(function() {
return q && !q.addEventListener || !1
});
u.isChromePdf = k.memorize(function() {
var a, b = navigator.plugins;
if (b && b.length)
for (a = 0; a < b.length; a++)
if (/Chrome PDF Viewer/.test(b[a].name)) return !0;
return !1
});
u.isPrivate = E(function(a) {
var b = k.bind(a,
null, 0);
a = k.bind(a, null, 1);
if (k.isFunction(n.webkitRequestFileSystem) && !u.isAndroid()) return n.webkitRequestFileSystem(0, 0, b, a);
if (u.isFF()) return "undefined" == typeof navigator.serviceWorker;
if (u.isSafari() && k.isFunction(n.openDatabase)) try {
n.openDatabase(null, null, null, null), b()
} catch (d) {
a()
} else {
if (n.indexedDB || !n.PointerEvent && !n.MSPointerEvent) return b();
a()
}
}, "isPrivate");
u.findTarget = function(a) {
a = a.target || a.srcElement;
var b;
if (!a) return !1;
3 == a.nodeType && (a = a.parentNode);
for (b = a && a.nodeName &&
a.nodeName.toString().toLowerCase(); a && a.parentNode && a.parentNode.nodeName && ("a" !== b && "area" !== b || !a.href && !a["xlink:href"]);) b = (a = a.parentNode) && a.nodeName && a.nodeName.toString().toLowerCase();
return a.href ? a : !1
};
u.getHref = function(a) {
if (!a) return "";
a = a.href;
return k.isString(a) ? "" + a : "[object SVGAnimatedString]" === k.toString(a) ? "" + a.baseVal : ""
};
u.getLinkComponents = function(a) {
return a && "function" === typeof HTMLAnchorElement && a instanceof HTMLAnchorElement ? {
href: a.href,
hostname: a.hostname || k.parseUrl(a.href).hostname ||
"",
host: a.host,
protocol: a.protocol,
pathname: a.pathname,
hash: a.hash,
port: a.port,
search: a.search,
query: a.search.slice(Math.min(1, a.search.length)),
path: (a.pathname || "/") + a.search
} : k.isString(a) ? k.parseUrl(a) : {
href: "",
hostname: "",
host: "",
protocol: "",
pathname: "",
hash: "",
port: "",
search: "",
query: "",
path: ""
}
};
var ac = P.inherit({
resource: "clmap",
retry: !0,
transports: [oa],
sendClick: function(a, b, d, e) {
this.send({
"page-url": a,
"pointer-click": b
}, {}, d, e)
}
}),
bc = I.inherit({
filter: null,
ignoreTags: [],
quota: 0,
isTrackHash: !1,
protocol: "",
counterId: 0,
counterType: 0,
startTime: 0,
MAX_LEN_PATH: 128,
TIMEOUT_CLICK: 50,
TIMEOUT_SAME_CLICKS: 1E3,
DELTA_SAME_CLICKS: 2,
tags: "A B BIG BODY BUTTON DD DIV DL DT EM FIELDSET FORM H1 H2 H3 H4 H5 H6 HR I IMG INPUT LI OL P PRE SELECT SMALL SPAN STRONG SUB SUP TABLE TBODY TD TEXTAREA TFOOT TH THEAD TR U UL ABBR AREA BLOCKQUOTE CAPTION CENTER CITE CODE CANVAS DFN EMBED FONT INS KBD LEGEND LABEL MAP OBJECT Q S SAMP STRIKE TT ARTICLE AUDIO ASIDE FOOTER HEADER MENU METER NAV PROGRESS SECTION TIME VIDEO NOINDEX NOBR MAIN svg circle clippath ellipse defs foreignobject g glyph glyphref image line lineargradient marker mask path pattern polygon polyline radialgradient rect set text textpath title".split(" "),
_initComponent: function() {
var a, b;
this._lastClick = null;
this.hasQuota = !!this.quota;
this._quota = this.quota;
this._ignoreTags = [];
if (this.ignoreTags)
for (a = 0; a < this.ignoreTags.length; a++) this.ignoreTags[a] && k.mergeArrays(this._ignoreTags, [String(this.ignoreTags[a]).toUpperCase()]);
this._cacheTags = {};
a = 59;
var d = String.fromCharCode;
for (b = 0; b < this.tags.length; b++) this._cacheTags[this.tags[b]] = d(a), d(a), a++;
this._sender = new ac({
globalConfig: this.globalConfig,
protocol: this.protocol,
counterId: this.counterId,
counterType: this.counterType
});
this._start = !1;
this.start()
},
destroy: function() {
this.stop()
},
start: function() {
if (!this._start) r.on(q, "click", this._handler, this);
this._start = !0
},
stop: function() {
this._start && r.un(q, "click", this._handler, this);
this._start = !1
},
setTrackHash: function(a) {
this.isTrackHash = a
},
_isIgnore: function(a) {
return v.classNameExists(a, "(ym-disable-clickmap|ym-clickmap-ignore)")
},
_handler: function(a) {
a = {
el: U.getTarget(a),
pos: U.getPos(a),
button: U.getMouseButton(a),
time: +new Date
};
if (this._isTrackingClick(a)) {
var b =
v.getElementSize(a.el);
var d = v.getElementXY(a.el);
b = ["rn", k.random(), "x", Math.floor(65535 * (a.pos[0] - d[0]) / (b[0] || 1)), "y", Math.floor(65535 * (a.pos[1] - d[1]) / (b[1] || 1)), "t", Math.floor((a.time - this.startTime) / 100), "p", this._getElPath(a.el)];
d = K().href;
this.isTrackHash ? k.mergeArrays(b, ["wh", "1"]) : d = d.split("#")[0];
this._sender.sendClick(k.trim(d, eb), b.join(":"));
this._lastClick = a
}
},
_isTrackingClick: function(a) {
var b;
if (n.ymDisabledClickmap || k.isMetrikaPlayer() || !a.el) return !1;
var d = a.el.tagName;
if ((2 ==
a.button || 3 == a.button) && "A" != d || this.filter && !this.filter(a.el, d)) return !1;
for (b = 0; b < this._ignoreTags.length; b++)
if (this._ignoreTags[b] == d) return !1;
for (d = a.el; d;) {
if (this._isIgnore(d)) return !1;
d = d.parentNode
}
if (this._lastClick) {
if (a.time - this._lastClick.time < this.TIMEOUT_CLICK) return !1;
d = Math.abs(this._lastClick.pos[0] - a.pos[0]);
b = Math.abs(this._lastClick.pos[1] - a.pos[1]);
var e = a.time - this._lastClick.time;
if (this._lastClick.el == a.el && d < this.DELTA_SAME_CLICKS && b < this.DELTA_SAME_CLICKS && e < this.TIMEOUT_SAME_CLICKS) return !1
}
if (this.hasQuota) {
if (!this._quota) return !1;
this._quota--
}
return !0
},
_getElPath: function(a) {
for (var b = ""; a && a.parentNode && "BODY" != a.tagName && "HTML" != a.tagName;) b += this._cacheTags[a.tagName] || "*", b += v.getElementNeighborPosition(a) || "", a = a.parentNode;
return k.trim(b, this.MAX_LEN_PATH)
}
}),
zb = I.inherit({
injectHash: {
Wjw75ghm7fa7JW8p: "https://yastatic.net/metrika-static-watch/assessor-init.js",
Z4RhWJNDJanzkGJa: "https://yastatic.net/metrika-static-watch/assessor-compare.js"
},
ASSESSOR_COOKIE: "assessor",
REMOTE_CONTROL: "i",
getInjectHash: function() {
var a = {};
k.forEachKey(this.injectHash, function(b) {
a[Da + ("" + k.fnv32a(b))] = this.injectHash[b]
}, this);
return a
},
checkAssessor: function() {
var a = [],
b = this.getInjectHash();
k.forEachKey(b, function(d) {
if ((new RegExp(d)).test(n.location.hash) || J.get(this.ASSESSOR_COOKIE + d)) J.set(this.ASSESSOR_COOKIE + d), a.push(b[d])
}, this);
return a
},
_initComponent: function() {
var a = this.checkAssessor();
this.globalConfig.get(this.REMOTE_CONTROL) || (this.globalConfig.set(this.REMOTE_CONTROL, !0), zb.superclass._initComponent.apply(this,
arguments), this._executedMsgs = {}, r.on(n, "message", this._onMessage, this), a.length && (this.globalConfig.set("oo", !0), this.globalConfig.get("stopRecoder", function() {})(), k.arrayEvery(a, function(a) {
v.loadScript({
src: a
}, n);
return 1
})))
},
_buildRemoteIframe: function(a) {
var b = k.getNativeFunction("createElement", q)("div"),
d = v.getBody() || q.documentElement;
if (d) {
b.innerHTML = '\x3ciframe name\x3d"RemoteIframe" allowtransparency\x3d"true" style\x3d"position: absolute; left: -999px; top: -999px; width: 1px; height: 1px;"\x3e\x3c/iframe\x3e';
var e = b.firstChild;
e.onload = function() {
v.loadScript({
src: a
}, e.contentWindow)
};
n._ym__remoteIframeEl = e;
b.createShadowRoot || b.webkitCreateShadowRoot ? (d.appendChild(b), b.removeChild(e), (d = b.createShadowRoot ? b.createShadowRoot() : b.webkitCreateShadowRoot()) && d.appendChild(e), n._ym__remoteIframeContainer = b) : (d.appendChild(e), n._ym__remoteIframeContainer = e)
}
},
_isAllowedLang: function(a) {
return -1 !== k.arrayIndexOf(["ru", "uk", "en", "tr"], a)
},
_isAllowedOrigin: function(a) {
return /^http:\/\/([\w\-.]+\.)?webvisor\.com\/?$/.test(a)
},
_isAllowedStatic: function(a) {
return /^(([\w\-.]+\.)?dev\.webvisor\.com|yastatic\.net|[\w\-.]+\.s3\.yandex\.net)$/.test(a)
},
_onMessage: function(a) {
try {
var b = a.origin
} catch (d) {}
b && this._isAllowedOrigin(b) && (b = ea.parse(a.data)) && "appendremote" === b.action && this._isAllowedStatic(k.parseUrl(b.domain).host) && this._isAllowedLang(b.lang) && !this._executedMsgs[b.id] && (this._executedMsgs[b.id] = !0, n._ym__postMessageEvent = a, n._ym__inpageMode = b.inpageMode, n._ym__initMessage = b.initMessage, this._buildRemoteIframe(b.domain +
"/cdn/inpage-remote/" + (b.newScriptAddr ? "_inpage-remote_" : "inpage-remote.") + b.lang + ".js"))
}
}),
cc = {
match: function() {
this.enabled() && r.ready(function() {
var a = k.getNativeFunction("createElement", q)("iframe");
a.onload = function() {
Na.save("cm", x.getMinutes());
v.removeNode(a)
};
a.style.display = "none";
a.src = "https://mc.webvisor.org/metrika/watch_match.html";
q.documentElement.appendChild(a)
})
},
enabled: function() {
return 1440 < x.getMinutes() - Na.getNum("cm") && "tr" === k.getTld()
}
};
E(function() {
(function(a) {
function b(e) {
if (d[e]) return d[e].exports;
var g = d[e] = {
i: e,
l: !1,
exports: {}
};
a[e].call(g.exports, g, g.exports, b);
g.l = !0;
return g.exports
}
var d = {};
b.m = a;
b.c = d;
b.d = function(a, d, k) {
b.o(a, d) || Object.defineProperty(a, d, {
configurable: !1,
enumerable: !0,
get: k
})
};
b.n = function(a) {
var d = a && a.__esModule ? function() {
return a["default"]
} : function() {
return a
};
b.d(d, "a", d);
return d
};
b.o = function(a, b) {
return Object.prototype.hasOwnProperty.call(a, b)
};
b.p = "";
return b(b.s = 3)
})({
0: function(a, b, d) {
b.__esModule = !0;
b.listToArray = function(a) {
return a ? [].slice.call(a) : []
}
},
1: function(a, b, d) {
b.__esModule = !0;
var e = [".googlesyndication.com/", "/googleads"];
b.isGoogleSrc = function(a) {
return !(!a || !e.filter(function(b) {
return 0 < a.indexOf(b)
}).length)
}
},
3: function(a, b, d) {
b.__esModule = !0;
a = {
detectAd: d(4).detectAd
};
n.Ya ? n.Ya.AdDetector ? a = n.Ya.AdDetector : n.Ya.AdDetector = a : n.Ya = {
AdDetector: a
};
b.AdDetector = a
},
34: function(a, b, d) {
b.__esModule = !0;
b.getParentElementsCount = function(a) {
for (var b = 0;;)
if (a = a.parentElement) b++;
else return b
}
},
4: function(a, b, d) {
b.__esModule = !0;
var e =
d(5),
g = d(9),
k = d(34),
h = d(6),
m = q.body,
f = q.documentElement;
b.detectAd = function() {
var a = n.pageYOffset || f.scrollTop || m.scrollTop,
b = n.pageXOffset || f.scrollLeft || m.scrollLeft,
d = f.clientTop || m.clientTop || 0,
p = f.clientLeft || m.clientLeft || 0,
q = f.scrollWidth || f.offsetWidth || n.innerWidth,
r = f.scrollHeight || f.offsetHeight || n.innerHeight,
v = h.getFrienlyWindowsTree(n),
u = [];
h.windowsTreeEach(v, function(a) {
var b = a.window,
c = a.parent,
d = 0 < e.getParentFriendlyIFrames(b.document.documentElement).length,
f = g.getAdsInWindow(b, {
isInIFrame: d
});
d = f.adElements;
f = f.iframeProviders;
if (c) {
var h = b.frameElement,
k = u.filter(function(a) {
return a.windowsTree === c
})[0].adElements;
f.forEach(function(a) {
k.push({
provider: a,
element: h
})
})
}
u.push({
windowsTree: a,
adElements: d
})
});
u.forEach(function(a) {
a.adElements = a.adElements.sort(function(a, b) {
return k.getParentElementsCount(a.element) - k.getParentElementsCount(b.element)
})
});
var w = [],
x = [];
u.forEach(function(a) {
var b = a.windowsTree,
c = b.parent;
a = a.adElements;
b = e.getParentFriendlyIFrames(b.window.document.documentElement);
var d = b[b.length - 1];
a.forEach(function(a) {
var b = a.element;
x.push({
provider: a.provider,
element: c ? d : b
})
})
});
x.forEach(function(c) {
var e = c.element;
var f = e.getBoundingClientRect();
var g = f.top + a - d;
f = f.left + b - p;
var h = e.clientWidth;
e = e.clientHeight;
var k = f + h,
l = g + e,
m = 0 > f ? 0 : f < q ? f : q,
n = 0 > g ? 0 : g < r ? g : r;
100 <= ((k > q ? q : k > m ? k : m) - m) * ((l > r ? r : l > n ? l : n) - n) && w.push({
top: g,
left: f,
width: h,
height: e,
provider: c.provider
})
});
return {
page: {
width: q,
height: r
},
window: {
top: a,
left: b,
width: n.innerWidth,
height: n.innerHeight
},
ads: w
}
}
},
5: function(a,
b, d) {
b.__esModule = !0;
b.getParentFriendlyIFrames = function(a) {
for (var b = [];;) try {
if (a = a.ownerDocument.defaultView.frameElement) b.push(a);
else return b
} catch (p) {
return b
}
}
},
6: function(a, b, d) {
function e(a) {
return m.listToArray(a.document.getElementsByTagName("iframe")).filter(function(a) {
if (h.isSafari) return !1;
try {
return a.contentWindow.document
} catch (l) {
return !1
}
}).map(function(a) {
return a.contentWindow
})
}
function g(a, b) {
var c = {
window: a,
children: [],
parent: b
};
c.children = e(a).map(function(a) {
return g(a,
c)
});
return c
}
function k(a, b) {
b(a);
a.children.forEach(function(a) {
return k(a, b)
})
}
b.__esModule = !0;
var h = d(7),
m = d(0);
b.getFrienlyWindowsTree = g;
b.windowsTreeEach = k
},
7: function(a, b, d) {
b.__esModule = !0;
a = d(8);
b.isSafari = a.isSafari()
},
8: function(a, b, d) {
b.__esModule = !0;
b.isSafari = function() {
var a = navigator.userAgent.toLowerCase();
return -1 !== a.indexOf("safari") && -1 === a.indexOf("chrome") && -1 === a.indexOf("android")
}
},
9: function(a, b, d) {
b.__esModule = !0;
var e = d(0),
g = d(1);
b.getAdsInWindow = function(a, b) {
function d(a,
b) {
b.forEach(function(b) {
q.push({
provider: a,
element: b
})
})
}
var f = b.isInIFrame,
c = a.document.body,
h = e.listToArray(c.querySelectorAll("img")),
k = e.listToArray(c.querySelectorAll("iframe")),
n = e.listToArray(c.querySelectorAll("script")),
p = e.listToArray(c.querySelectorAll("div")),
q = [],
r = [],
v = e.listToArray(c.querySelectorAll("yatag")),
u = e.listToArray(c.querySelectorAll("yatag yatag"));
d("yandex", v.filter(function(a) {
return -1 === u.indexOf(a)
}));
d("adriver", k.filter(function(a) {
return (a = a.src) && -1 < a.indexOf(".adriver.ru/")
}));
d("adfox", k.filter(function(a) {
return (a = a.id) && -1 < a.toLowerCase().indexOf("adfox")
}));
d("adfox", h.filter(function(a) {
return (a = a.src) && -1 < a.indexOf("/banners.adfox.ru/")
}));
d("adfox", p.filter(function(a) {
return -1 < a.id.indexOf("AdFox_banner_")
}));
f && h.filter(function(a) {
return (a = a.src) && -1 < a.indexOf(".adfox.ru/")
}).length && r.push("adfox");
k.filter(function(a) {
return g.isGoogleSrc(a.src)
}).forEach(function(a) {
q.push({
provider: "google",
element: a
})
});
f && n.filter(function(a) {
return g.isGoogleSrc(a.src)
}).length &&
r.push("google");
d("awaps", k.filter(function(a) {
return (a = a.src) && -1 < a.indexOf("awaps.yandex.net/")
}));
d("criteo", k.filter(function(a) {
var b = a.src;
a = a.id;
return b && (-1 < b.indexOf(".criteo.com/") || a && -1 < a.indexOf("cto_iframe_")) ? !0 : !1
}));
return {
adElements: q,
iframeProviders: r
}
}
}
})
}, "", !0)();
var dc = {
init: function(a, b) {
if (Math.random() < (b || .005) && !B.get("adDetect")) {
B.set("adDetect", !0);
var d = function(b) {
var d = n.Ya.AdDetector.detectAd();
var e = d.window;
var g = d.page;
a.sendParams({
__ym: {
ads: {
w: {
t: e.top,
l: e.left,
w: e.width,
h: e.height
},
p: {
w: g.width,
h: g.height
},
a: k.map(function(a) {
return {
t: a.top,
l: a.left,
w: a.width,
h: a.height,
p: a.provider
}
}, d.ads),
full: b ? 1 : 0
}
}
})
};
var e = E(function() {
r.un(n, "load", e);
d(!0)
}, "", !0);
r.on(n, "load", e);
k.setTimeout(d, 1E4, "AdDetector", !0)
}
}
},
Ab = I.inherit({
message: n.postMessage,
spliter: ":",
nameSpace: "__yminfo",
pending: {},
childs: {},
isIframe: !1,
parents: {},
dataToSend: {
parents: [],
childs: []
},
checkFrame: function(a) {
try {
var b = a && a.postMessage
} catch (d) {
return !1
}
return b
},
checkChildrenData: function(a,
b) {
k.arrayEvery(this.dataToSend.childs, function(d) {
-1 == k.arrayIndexOf(d.tryTo, b.counterId) && (d.tryTo.push(b.counterId), k.mixin(d.data, {
toCounter: b.counterId
}), this.sendToIframe(a, d.data, function() {
d.sendedTo.push(b.counterId);
d.callback && d.callback(b, arguments)
}));
return !0
}, this)
},
checkParentData: function(a, b) {
k.arrayEvery(this.dataToSend.parents, function(d) {
-1 == k.arrayIndexOf(d.tryTo, b.counterId) && (d.tryTo.push(b.counterId), k.mixin(d.data, {
toCounter: b.counterId
}), this.sendToIframe(a, d.data, function() {
d.sendedTo.push(b.counterId);
d.callback && d.callback(b, arguments)
}));
return !0
}, this)
},
getHandlers: function() {
return {
initToChild: [{
fn: function(a, b) {
a.source === n.top && this.trigger("parentConnect", a, b)
}
}],
initToParent: [{
fn: function(a, b) {
this.childs[b.counterId] = {
info: b,
window: a.source
};
this.checkChildrenData(a.source, b)
}
}],
parentConnect: [{
fn: function(a, b) {
this.parents[b.counterId] = {
info: b,
window: a.source
};
this.checkParentData(a.source, b)
}
}]
}
},
genMessage: function(a, b) {
var d = {
date: x.getMs(),
key: Math.random(),
dir: 0
};
b && (d = {
date: b[0],
key: b[1],
dir: b[2]
});
k.mixin(a, {
counterId: this.counterId,
hid: this.hid
});
var e = {
data: a
};
e[this.nameSpace] = [this.nameSpace, d.date, d.key, d.dir].join(this.spliter);
return {
meta: d,
string: ea.stringify(e)
}
},
sendToIframe: function(a, b, d, e) {
b = this.genMessage(b);
var g = this,
n = [b.meta.date, b.meta.key].join(this.spliter);
this.checkFrame(a) && (a.postMessage(b.string, "*"), this.pending[n] = k.bind(d, e || this), k.setTimeout(function() {
delete g.pending[n]
}, 5E3, this, "fc.toSendToIframe"))
},
sendToChildren: function(a, b, d) {
var e =
this,
g = this.dataToSend.childs.push({
sendedTo: [],
tryTo: [],
callback: b ? k.bind(b, d || this) : !1,
data: a
}) - 1;
k.forEachKey(this.childs, function(a) {
this.dataToSend.childs[g].tryTo.push(a);
return 1
}, this);
k.keys(this.childs).length && k.forEachKey(this.childs, function(b) {
this.sendToIframe(e.childs[b].window, k.mixin(a, {
toCounter: b
}), function(a) {
this.dataToSend.childs[g].sendedTo.push(b);
this.dataToSend.childs[g].callback && this.dataToSend.childs[g].callback(a)
}, this)
}, this)
},
sendToParents: function(a, b, d) {
var e = this.dataToSend.parents.push({
sendedTo: [],
tryTo: [],
callback: b ? k.bind(b, d || this) : !1,
data: a
}) - 1;
k.forEachKey(this.parents, function(a) {
this.dataToSend.parents[e].tryTo.push(a);
return 1
}, this);
k.keys(this.parents).length && this.sendToIframe(n.parent, a, function(a) {
k.forEachKey(this.parents, function(b) {
this.dataToSend.parents[e].sendedTo.push(b);
this.dataToSend.parents[e].callback && this.dataToSend.parents[e].callback(a)
}, this)
}, this)
},
addHandler: function(a, b, d) {
this.handlers[a] || (this.handlers[a] = []);
this.handlers[a].push({
fn: b,
ctx: d
})
},
_initComponent: function() {
var a =
n.document.getElementsByTagName("iframe"),
b = 0;
Ab.superclass._initComponent.apply(this, arguments);
this.handlers = k.mixin({}, this.getHandlers());
this.isIframe = u.isIframe();
if (this.message) {
for (b = 0; b < a.length; b++) {
var d = a[b];
(function(a, b) {
a.sendToIframe(b.contentWindow, {
type: "initToChild"
}, function(d) {
a.childs[d.counterId] = {
info: d,
window: b.contentWindow
}
})
})(this, d)
}
this.isIframe && this.sendToIframe(n.parent, {
type: "initToParent"
}, function(a) {
this.trigger("parentConnect", {
source: n.parent
}, a)
});
r.on(n,
"message", this.onMessage, this, {
passive: !1,
name: "FrameConnector"
})
}
},
trigger: function(a, b, d) {
var e = this;
return k.map(function(a) {
a = a.fn.call(a.ctx || e, b, d) || {};
return k.mixin(a, {
counterId: e.counterId,
hid: e.hid
})
}, this.handlers[a])
},
DIR_INDEX: 2,
onMessage: function(a) {
var b, d = [];
try {
var e = a.data;
e = ea.parse(a.data);
var g = e[this.nameSpace]
} catch (h) {
return
}
if (g && g.substring && g.substring(0, this.nameSpace.length) == this.nameSpace) {
for (b = 0; 3 >= b; b++) {
var n = k.arrayIndexOf(g, this.spliter); - 1 !== n ? d.push(g.substring(0,
n)) : d.push(g);
g = g.substring(n + 1)
}
b = d.splice(1, 3);
if ((e = e.data) && e.type && this.handlers[e.type] && "0" === b[this.DIR_INDEX]) {
if (!e.toCounter || e.toCounter === this.counterId) {
try {
a.source
} catch (h) {
return
}
e.counterId && this.checkFrame(a.source) && (n = this.trigger(e.type, a, e), a.source.postMessage(this.genMessage(n, [b[0], b[1], e.counterId]).string, "*"))
}
} else b[this.DIR_INDEX] == this.counterId && k.isArray(e) && k.arrayEvery(e, function(a) {
return a.counterId && a.hid
}) && (a = this.pending[[b[0], b[1]].join(this.spliter)]) &&
a.apply(this, e)
}
}
}),
H = K(),
$a = x.getTimezone(),
ab = x.getTimestamp(),
da = n.screen,
Ob = 64,
eb = u.isIE() ? 512 : 2048,
Pb = u.isIE() ? 512 : 2048,
qb = u.isIE() ? 100 : 400,
vb = 100,
db = "noindex",
Bb = /\.(3gp|7z|aac|ac3|acs|ai|avi|ape|apk|asf|bmp|bz2|cab|cdr|crc32|css|csv|cue|divx|dmg|djvu?|doc(x|m|b)?|emf|eps|exe|flac?|flv|iso|swf|gif|t?gz|jpe?g?|js|m3u8?|m4a|mp(3|4|e?g?)|m4v|md5|mkv|mov|msi|ods|og(g|m|v)|psd|rar|rss|rtf|sea|sfv|sit|sha1|svg|tar|tif?f|torrent|ts|txt|vob|wave?|wma|wmv|wmf|webm|ppt(x|m|b)?|xls(x|m|b)?|pdf|phps|png|xpi|g?zip)$/i,
ec = +new Date,
ma = "Metrika",
jb, Va, Da = function() {
return "1528"
}();
B.init().setSafe("counters", {}).setSafe("hitParam", {}).setSafe("counterNum", 0).setSafe("dataLayer", []).setSafe("hitId", k.random(1, 1073741824)).setSafe("_globalMetrikaHitId", k.random()).setSafe("v", Da);
ma = "Metrika2";
n.Ya[ma] = function(a, b, d, e) {
var g = this;
return E(function() {
function p(a, b, d) {
b = new J({
counterId: b
});
b.erase("mp2_substs");
if (a) {
a: {
var e = a.conditions;
var g;
if (e && e.length)
for (g = 0; g < e.length; g++) {
var l = e[g];
if ("ref" == l.type) var p =
h(l);
else if ("adv" == l.type) {
var Q = n.Ya._metrika.counter._directCampaign;
var fa = l.ServiceNamePattern;
var r = l.RefererPattern;
p = Q ? l.direct_orders : l.direct_camp;
var t = q.referrer,
v = Ba.parse(H.search),
la = c(H.search, H.hash),
u;
var w = v;
var x = {};
var y = ["source", "medium", "campaign", "term", "content"];
for (u = 0; u < y.length; u++) w["utm_" + y[u]] && (x[y[u]] = w["utm_" + y[u]]);
w = x;
y = Q ? "direct.yandex.ru" : la && la.service || w.source;
u = !1;
if (!u && fa && fa.length)
for (x = 0; x < fa.length; x++)
if ((new RegExp(fa[x], "i")).test(y)) {
u = !0;
break
} if (!u &&
!l.yandex_direct && r && r.length)
for (fa = 0; fa < r.length; fa++)
if ((new RegExp(r[fa], "i")).test(t)) {
u = !0;
break
}! u && l.google_adwords && v.gclid && (u = !0);
if (u && p && p.length && (u = !1, Q = Q || la && la.campaign || w && w.campaign))
for (l = 0; l < p.length; l++)
if (p[l] == Q) {
u = !0;
break
} p = u
} else p = !1;
if (p) {
e[g].track_id && b.create("mp2_track", e[g].track_id, 43200);
break a
}
}
}
e = b.read("mp2_track");a = a.substs && a.substs[e];e && a ? (b.create("mp2_substs", k.toJSON(a)), a = m(a), d.params("__ym", a ? "mp_trackid" : "mp_trackid_bad", e)) : f()
}
else f()
}
function h(a) {
var b =
q.referrer || "",
c, d;
if ((new RegExp("^https?://" + H.host + "/")).test(b)) return !1;
var e = a.patterns;
for (c = 0; c < e.length; c++) {
var f = new RegExp(e[c], "i");
if (b.match(f))
if (f = a.params || [], f.length) {
var g = k.safeDecodeURIComponent((RegExp.$1 || "").replace(/\+/g, "%20"));
for (d = 0; d < f.length; d++)
if (g == k.safeDecodeURIComponent(f[d])) return !0
} else return !0
}
return !1
}
function m(a, b) {
var c = !1,
d;
if (a && "string" != typeof a && a.length)
for (d = 0; d < a.length; d++) {
var e = a[d].selector;
var f = a[d].text;
var g = e.charAt(0);
e = e.slice(1);
if ("#" == g) {
if (g = q.getElementById(e)) c = !0, b && T.unshift([g, g.innerHTML]), g.innerHTML = f
} else if ("." == g)
for (g = v.getElementsByClassName(e), e = 0; e < g.length; e++) {
c = !0;
var h = g[e],
k = f;
b && T.unshift([h, h.innerHTML]);
h.innerHTML = k
}
}
return c
}
function f() {
var a;
for (a = 0; a < T.length; a++) T[a][0].innerHTML = T[a][1]
}
function c(a, b) {
var c, d = "";
a = a && a.replace(/^\?/, "");
b = b && b.replace(/^#/, "") || "";
if (a) {
var e = a.split("\x26");
for (c = 0; c < e.length; c++) {
var f = e[c].split("\x3d");
"_openstat" === f[0] && (d = f[1])
}
}
var g = b.split("?");
for (c = 0; c < g.length; c++) {
var h = g[c].split("\x26");
for (e = 0; e < h.length; e++) f = h[e].split("\x3d"), "_openstat" === f[0] && (d = f[1])
}
d && (d = -1 < d.indexOf(";") ? k.safeDecodeURIComponent(d) : Sa.decode(L.decode(d.replace(/[-*_]/g, function(a) {
return {
"*": "+",
"-": "/",
_: "\x3d"
} [a] || a
}))));
return d && (c = d.split(";"), 4 == c.length) ? {
service: c[0],
campaign: c[1],
ad: c[2],
source: c[3]
} : null
}
function l(a, b) {
return E(function() {
if (!g.isDestructing()) return a.apply(this, arguments)
}, b || "")
}
function t() {
var c = !1;
Ja || (P.initCookie(), pb.init(B));
Ma.initPU(za, B);
u.isAndroidWebView() || Ma.initPP(B);
Ia && $b.init(Ia, qa);
ka.init(ua);
tb.subscribe(ha);
if (B.get("hitParam")[ha]) {
if (1 != d || B.get("counters")[ha]) return !1;
c = !0
}
B.get("counters")[ha] = g;
B.get("hitParam")[ha] = 1;
k.async(function() {
Ma.initFip(B)
}, this, "initFip");
g._webvisor = F.webvisor || !1;
g._directCampaign = F.directCampaign;
F.trackHash && da(!0);
if (!c) {
oa = new sb({
protocol: "https:",
globalConfig: B,
counterId: a,
counterType: d,
hid: qa,
tz: $a,
ts: ab,
url: H.href,
enabled: g._webvisor
});
g.replacePhones();
c = new xb({
globalConfig: B
});
var f = function(c) {
var f = new ib({
protocol: "https:",
counterType: d,
counterId: a,
trackHash: Y,
hitId: qa,
webvisor: g._webvisor,
counter: g,
globalConfig: B,
counterNum: va
}),
h = {
ut: ta,
he: ~~F.httpError,
ad: 1 == d && n.Ya && n.Ya.Direct,
pv: !0,
cpf: u.isChromePdf(),
saveRef: !0
};
jb = +new Date;
f.sendHit({
url: M,
referrer: ba,
title: v.getDocumentTitle(),
vParams: b,
userParams: Da,
nohit: e,
experiments: Ea,
modes: h,
visitColor: oa.getVc(),
hasPrerender: na,
ts: ab,
tz: $a,
callback: function(f, h) {
var k;
e || (na = !1);
f = f || {};
(k = "0" !== f.pcs) || Ma.initZZ();
f.eu !== w && B.set("isEU", f.eu);
P.retransmit(B);
!k && .01 > Math.random() && Vb(function(a) {
(new Ga({
forceHost: L.decode("bGFsYWJsYWguY29t"),
noRedir: !0,
protocol: "https:",
counterType: d,
globalConfig: B,
counterId: 44743195,
hitId: qa,
counter: g,
counterNum: va
})).sendParams({
__ym: {
monitor: a
}
})
});
Na.init(h);
cc.match();
Yb.sync(a, d, k, B);
R.log("PageView. Counter ", a, ". URL: ", H.href, ". Referrer: " + q.referrer, ". Params: ", b);
Va || (Va = +new Date);
f.webvisor && (f.webvisor.isEU = B.get("isEU"));
g.isDestructing() || (oa.start(f.webvisor,
f.publisher), p(f.mp2, a, g), r.on(n, "load", g.replacePhones, g));
g._inited = !0;
c && c()
}
})
};
c.sync(f)
}
D(!1);
r.on(q, "click", y, null, {
name: "extLinkClick"
});
0 != k.keys(F).length && (Ca && Ca.initUserLayer(), F.enableAll ? (D(!0), C(!0), A()) : (F.clickmap && C(F.clickmap), F.trackLinks && D(F.trackLinks), F.accurateTrackBounce && A(F.accurateTrackBounce)), F.triggerEvent && k.async(function() {
U.dispatchCustomEvent("yacounter" + a + "inited")
}, this, "yacounterInit"))
}
function z(a) {
var b = new wa({
frameConnector: za,
globalConfig: B,
initCounter: t,
disable: F.yaDisableGDPR
});
na = a;
b.handle.apply(b, arguments)
}
function D(a) {
var b = {};
switch (typeof a) {
case "string":
b.on = !0;
break;
case "object":
b.on = !0;
break;
case "boolean":
b.on = a;
break;
default:
return
}
g._trackLinks = b
}
function y(a) {
if (g._trackLinks && g._trackLinks.on) {
a = u.findTarget(a);
var b = u.getLinkComponents(a),
c = b.href,
d = B.get("pai", k.noop)();
if (c && !v.classNameExists(a, "ym-disable-tracklink")) {
var e = b.protocol + "//" + b.hostname + b.pathname;
d = {
pai: d && d + "-" + qa,
ln: !0
};
var f = lb(a);
f = c === f ? "" : f;
if (v.classNameExists(a,
"ym-external-link")) N.sendClickLink({
url: c,
title: f,
modes: d
}, M);
else {
var h = F.url ? k.parseUrl(M).hostname : K().hostname;
d.dl = Bb.test(e) || Bb.test(c) || mb(c, W) || mb(e, W);
b = b.hostname;
(h ? h.replace(/^www\./, "") : "").toLowerCase() == (b ? b.replace(/^www\./, "") : "").toLowerCase() ? d.dl ? (d.ln = !1, N.sendClickLink({
url: c,
title: f,
modes: d
}, M)) : (f = lb(a), V.set("pai", d.pai), f && f !== c && V.set("il", k.trim(f, vb))) : c && -1 !== c.search(/^ *(data|javascript):/i) || (d.ut = db, N.sendClickLink({
url: c,
title: f,
modes: d
}, M))
}
}
}
}
function C(b) {
"undefined" ===
typeof b && (b = !0);
!0 === b && (b = {});
g._clickmap && g._clickmap.destroy();
b && (g._clickmap = new bc({
globalConfig: B,
filter: b.filter,
ignoreTags: b.ignoreTags,
quota: b.quota,
isTrackHash: b.isTrackHash,
protocol: "https:",
counterId: a,
counterType: d,
startTime: ec
}))
}
function G(a, b) {
function c() {
if (!Q) {
p && k.clearTimeout(p);
var c = h ? l : l + +new Date - m;
c = b - c;
0 > c && (c = 0);
p = k.setTimeout(function() {
Q = !0;
e(!1);
a()
}, c, "trackUserTime")
}
}
function d() {
g || (f = !0, h = !1, g = !0, c())
}
function e(a) {
var b;
for (b = 0; b < t.length; b += 3)
if (a) r.on(t[b],
t[b + 1], t[b + 2], {
name: "tabTrack"
});
else r.un(t[b], t[b + 1], t[b + 2])
}
var f = !1,
g = !1,
h = !0,
l = 0,
m = +new Date,
p = null,
Q = !1;
if (u.isIE()) k.setTimeout(a, b, "trackUserTime");
else {
var t = [n, "blur", function() {
h = f = g = !0;
l += +new Date - m;
m = +new Date;
c()
}, n, "focus", function() {
f || g || (l = 0);
m = +new Date;
f = g = !0;
h = !1;
c()
}, q, "click", d, q, "mousemove", d, q, "keydown", d, q, "scroll", d];
e(!0);
c()
}
}
function A(b) {
var c = F.referrer ? ba : q.referrer,
d = F.url ? M : K().href;
"number" !== typeof b && (b = 15E3);
if (!g._isAccurateTrackBounce) {
g._isAccurateTrackBounce = !0;
var e = new ca({
counterId: a
});
var f = e.get("lastHit");
e.set("lastHit", x.getMs());
((e = e.get("lastHit")) && (!f || f < e - 18E5) || !Gb(c, d) || .1 > Math.random()) && G(function() {
g.notBounce()
}, b)
}
}
function I(a) {
var b = function() {
var a = K().hash.split("#")[1];
if ("undefined" == typeof a) return !1;
var b = a.indexOf("?");
0 < b && (a = a.substring(0, b));
return a
};
var c = b();
(function Ka() {
var d = b();
d !== c && (a(), c = d);
X = k.setTimeout(Ka, 200, "trackHash")
})()
}
function da(a) {
if (!1 === a) Y && ("onhashchange" in n ? r.un(n, "hashchange", ma) : k.clearTimeout(X),
Y = !1);
else if (a = ma, !Y) {
if ("onhashchange" in n) r.on(n, "hashchange", a);
else I(a);
Y = !0
}
N.setTrackHash(Y);
g._trackHash = Y
}
function ma() {
var a = {
ut: ta,
ad: 1 == d && n.Ya && n.Ya.Direct,
wh: !0,
saveRef: !0,
pv: !0
};
ja = Ta.lastReferrer = ra;
N.sendAjaxHit({
url: F.url ? M : K().href,
title: v.getDocumentTitle(),
referrer: ja,
modes: a
});
ra = K().href
}
function pa(a, b, c) {
a = Fa.parseValidate(a, b);
b = [];
a && (b.push(a), c = c || {}, k.isFunction(c.callback) && (b.push(c.callback), c.ctx && b.push(c.ctx)));
b.length && g.params.apply(g, b)
}
var ta = "",
F = {},
ja = "",
ra = Ta.lastReferrer = H.href,
ua = 0,
na = !1,
oa;
B.setSafe("counter", g);
La && E(function() {
throw La.error;
}, "include." + La.scope)();
if ("object" === typeof a) {
F = a;
e = a.defer;
ta = a.ut;
d = a.type;
b = a.params;
var Da = a.userParams;
var Ia = a.tns;
var Ea = F.experiments;
var Ja = F.nck;
var M = a.url;
var ba = a.referrer;
a = a.id
}
if (!n["disableYaCounter" + a]) {
Ba.parse = function(a, b) {
var c = {},
d;
a = a && a.replace(/^\?/, "") || "";
if (a.length) {
var e = a.split("\x26");
for (d = 0; d < e.length; d++)
if (e[d]) {
var f = e[d].split("\x3d");
if (f[0]) {
var g = k.safeDecodeURIComponent(f[0]);
f = k.safeDecodeURIComponent((f[1] || "").replace(/\+/g, "%20"));
b && g in c ? k.isArray(c[g]) ? c[g].push(f) : c[g] = [c[g], f] : c[g] = f
}
}
}
return c
};
var T = [];
M = M ? M : K().href;
ba = ba ? ba : q.referrer;
a = a || 0;
/^\d+$/.test(a) || (a = 0);
d = d || 0;
var ha = a + ":" + d;
if (B.get("counters")[ha]) return R.log("Duplicate counter " + ha + " initialization"), B.get("counters")[ha];
var qa = B.get("hitId");
var za = new Ab({
counterId: a,
hid: qa
});
B.set("counterNum", B.get("counterNum") + 1);
var va = B.get("counterNum");
var N = new Ga({
protocol: "https:",
counterType: d,
counterId: a,
hitId: qa,
counter: g,
globalConfig: B,
counterNum: va
});
var ka = {
init: function(a, b) {
if (n.performance && "function" === typeof performance.getEntries && (a === w && (a = 1), !(Math.random() >= a))) {
var c = {
1882689622: 1,
2318205080: 1,
3115871109: 1,
3604875100: 1,
339366994: 1,
2890452365: 1,
849340123: 1,
173872646: 1,
2343947156: 1,
655012937: 1,
1996539654: 1,
2065498185: 1,
823651274: 1,
12282461: 1,
1555719328: 1,
1417229093: 1,
138396985: 1
},
d = performance.getEntries(),
e = {},
f = {},
g = {},
h = {},
l;
b && (g.counterId = 51533966);
for (l = 0; l < d.length; l++) {
var m =
d[l];
var p = m.name.replace(/^https?:\/\//, "").split("?")[0];
var q = k.fnv32a(p);
"script" == m.initiatorType && b && (f[p] = {
dns: Math.round(m.domainLookupEnd - m.domainLookupStart),
tcp: Math.round(m.connectEnd - m.connectStart),
duration: Math.round(m.duration),
response: Math.round(m.responseEnd - m.requestStart),
name: m.name,
decodedBodySize: m.decodedBodySize
});
!c[q] || e[p] || b || (e[p] = {
dns: Math.round(m.domainLookupEnd - m.domainLookupStart),
tcp: Math.round(m.connectEnd - m.connectStart),
duration: Math.round(m.duration),
response: Math.round(m.responseEnd -
m.requestStart),
pages: H.href
})
}
k.keys(e).length && (h.timings8 = e);
k.keys(f).length && (h.scripts = f);
k.keys(h).length && (new Oa(g)).logParams(h)
}
}
};
ua = 24226447 == a ? 1 : .002;
g.replacePhones = l(function() {
var b, c;
try {
(b = (new J({
counterId: a
})).read("mp2_substs")) && (c = ea.parse(b)) && m(c, !0)
} catch (la) {}
return g
}, "counter.replacePhones");
g.reachGoal = l(function(b, c, d, e) {
2 <= arguments.length && "function" === typeof c && (e = d, d = c, c = w);
R.log("Reach goal. Counter: " + a + ". Goal id: " + b + ". Params: ", c);
N.sendGoal(b, {
url: F.url ?
M : K().href,
vParams: c,
callback: d,
ctx: e
});
return g
}, "counter.reachGoal");
g.trackLinks = l(function(a) {
D(a);
return g
}, "counter.trackLinks");
var V = new ca({
counterId: a
});
g.hit = l(function(b, c, d, e, f, h) {
b ? (k.isObject(c) && (d = c.referer, e = c.params, f = c.callback, h = c.ctx, c = c.title), M = b, R.log("PageView. Counter " + a, ". URL: " + b, ". Referrer: " + d, ". Params: ", e), N.sendHit({
url: b,
title: c,
hasPrerender: na,
referrer: d,
vParams: e,
callback: f,
ctx: h
}), na = !1) : k.warning("Empty hit url");
return g
}, "counter.hit");
g.params = l(function(b) {
var c =
arguments.length,
d = c,
e = [].slice.call(arguments, 0);
if (b) {
if (1 < arguments.length) {
if (k.isFunction(arguments[c - 1])) {
var f = arguments[c - 1];
d = c - 1
} else if (k.isFunction(arguments[c - 2])) {
f = arguments[c - 2];
var h = arguments[c - 1];
d = c - 2
}
e = [].slice.call(e, 0, d);
1 < e.length && (e = [k.array2Props(e)])
}
c = -1 !== k.arrayIndexOf(k.keys(e[0]), "__ymu");
(d = -1 !== k.arrayIndexOf(k.keys(e[0]), "__ym") && e[0].__ym.user_id) ? R.log('Set user id "' + e[0].__ym.user_id + '"'): R.log((c ? "User p" : "P") + "arams. Counter " + a + ". Params: ", e[0]);
N.sendParams(e[0],
f, h, F.url ? M : K().href)
} else k.warning("Wrong params");
return g
}, "counter.params");
za.addHandler("pluginInfo", function() {
return F
}, this);
za.addHandler("parentConnect", function(a, b) {
N.paramsQueue.push({
__ym: {
parentIframe: {
counterId: b.counterId,
hid: b.hid
}
}
})
}, this);
g.file = l(function(a, b) {
a ? (b = b || {}, N.sendFileUpload({
url: a,
title: b.title,
vParams: b.params,
callback: b.callback,
ctx: b.ctx,
referrer: F.url ? M : K().href
})) : k.warning("Empty file url");
return g
}, "counter.file");
g.extLink = l(function(a, b) {
a ? (b = b || {},
N.sendExtLink({
url: a,
title: b.title,
vParams: b.params,
callback: b.callback,
ctx: b.ctx,
referrer: F.url ? M : K().href
}, M)) : k.warning("Empty link");
return g
}, "counter.extLink");
g.notBounce = l(function(a) {
var b = 0;
a = a || {};
jb && Va && (b = Va - jb);
N.sendNotBounce(b, {
url: F.url ? M : K().href,
callback: a.callback,
ctx: a.ctx
});
return g
}, "counter.notBounce");
var W = [];
g.addFileExtension = l(function(a) {
if (!a) return k.warning("Empty extension"), g;
"string" === typeof a ? W.push(a) : W = W.concat(a);
return g
});
g.clickmap = function(a) {
C(a);
return g
};
g.accurateTrackBounce = l(function(a) {
A(a);
return g
});
var X = null;
var Y = !1;
g.trackHash = l(function(a) {
da(a);
return g
});
var Fa = {
requiredEcommerceFields: ["currency", "goods"],
parseValidate: function(a, b) {
var c = this.validate(a, b),
d;
if (!c.isValid) return console && console.log(c.message), !1;
c = {};
c[a] = {};
b.currency && (c.currencyCode = b.currency);
b.goods && (c[a].products = b.goods);
for (d in b) b.hasOwnProperty(d) && -1 === k.arrayIndexOf(this.requiredEcommerceFields, d) && (c[a].actionField || (c[a].actionField = {}), c[a].actionField[d] =
b[d]);
return {
__ym: {
ecommerce: [c]
}
}
},
validate: function(a, b) {
var c = !1,
d = "";
if (k.isObject(b)) switch (a) {
case "detail":
case "add":
case "remove":
k.isArray(b.goods) && b.goods.length ? (c = k.arrayEvery(b.goods, function(a) {
return k.isObject(a) && (k.isString(a.id) || k.isNumber(a.id) || k.isString(a.name) || k.isString(a.name))
})) || (d = "All items in 'goods' should be objects and contain 'id' or 'name' field") : d = "Ecommerce data should contain 'goods' non-empty array";
break;
case "purchase":
k.isNumber(b.id) || k.isString(b.id) ?
c = !0 : d = "Purchase object should contain string or number 'id' field"
} else d = "Ecommerce data should be an object";
return {
isValid: c,
message: d
}
}
};
g.ecommerceDetail = l(function(a, b) {
pa("detail", a, b);
return g
}, "ecommerce.detail");
g.ecommerceAdd = l(function(a, b) {
pa("add", a, b);
return g
}, "ecommerce.add");
g.ecommerceRemove = l(function(a, b) {
pa("remove", a, b);
return g
}, "ecommerce.remove");
g.ecommercePurchase = l(function(a, b) {
pa("purchase", a, b);
return g
}, "ecommerce.purchase");
g.userParams = l(function(a, b, c) {
k.isObject(a) ?
g.params({
__ymu: a
}, b || function() {}, c) : k.warning("Wrong user params");
return g
}, "uparams");
g.experiments = l(function(a, b, c) {
N.sendExperiments({
callback: b,
ctx: c,
experiments: a
});
return g
}, "exps");
g.id = g.setUserID = l(function(a, b, c) {
k.isString(a) || k.isNumber(a) ? g.params({
__ym: {
user_id: a
}
}, b || function() {}, c) : k.warning("Incorrect user ID");
return g
}, "id");
var S = new J;
g.getClientID = l(function(a) {
var b = S.read("uid");
a && k.isFunction(a) && a(b);
return b
}, "guid");
g.enableAll = function() {
D(!0);
C(!0);
A();
return g
};
g.uploadPage = function() {};
g.destruct = l(function() {
g._isDestructing = !0;
r.un(q, "click", y, null, {
name: "extLinkClick"
});
r.un(n, "load", g.replacePhones, g);
da(!1);
oa && oa.stop();
B.set("stopRecoder", w);
B.set("counter", w);
C(!1);
try {
delete n["yaCounter" + a], delete B.get("counters")[ha], delete B.get("hitParam")[ha]
} catch (Q) {}
});
g.isDestructing = function() {
return !!g._isDestructing
};
dc.init(N);
g._performanceTiming = nb;
if (a) {
var Ca = new Ha({
counter: g,
counterId: a,
globalConfig: B,
frameConnector: za,
prefsEcommerce: F.ecommerce,
prefsUseDataLayer: F.useDataLayer
});
if ("prerender" === q.webkitVisibilityState || "prerender" === q.visibilityState) {
N.sendPrerenderHit({
url: M,
vParams: b,
title: v.getDocumentTitle(),
referrer: q.referrer
});
var xa = function() {
"prerender" !== q.webkitVisibilityState && "prerender" !== q.visibilityState && (r.un(q, "webkitvisibilitychange,visibilitychange", xa), z(!0))
};
r.on(q, "webkitvisibilitychange,visibilitychange", xa)
} else z(!1)
}
}
}, "init")()
};
tb.init(ma, B);
new zb({
globalConfig: B
});
n.Ya[ma].counters = function() {
var a = [];
k.forEachKey(B.get("counters"), function(b, d) {
var e = b.split(":");
a.push({
id: +e[0],
type: +e[1],
accurateTrackBounce: d._isAccurateTrackBounce,
clickmap: d._clickmap && d._clickmap._start,
oldCode: !!n.ya_cid,
trackHash: !!d._trackHash,
trackLinks: d._trackLinks && d._trackLinks.on,
webvisor: !!d._webvisor
})
});
return a
};
B.setSafe("getCounters", function() {
var a = [];
k.forEachKey(B.get("counters"), function(b, d) {
var e = b.split(":");
a.push({
id: +e[0],
type: +e[1],
accurateTrackBounce: d._isAccurateTrackBounce,
clickmap: d._clickmap &&
d._clickmap._start,
oldCode: !!n.ya_cid,
trackHash: !!d._trackHash,
trackLinks: d._trackLinks && d._trackLinks.on,
webvisor: !!d._webvisor
})
});
return a
});
n.ya_cid && n.Ya.Metrika && new n.Ya.Metrika(n.ya_cid, n.ya_params, n.ya_class);
n.ya_cid && !n.ya_hit && (n.ya_hit = function(a, b) {
n.Ya._metrika.counter && n.Ya._metrika.counter.reachGoal(a, b)
});
(function() {
function a(a) {
try {
delete n[a]
} catch (m) {
n[a] = w
}
}
var b = "yandex_metrika_callback",
d = "yandex_metrika_callbacks";
b = "yandex_metrika_callback2";
d = "yandex_metrika_callbacks2";
var e = n[b],
g = n[d],
k;
"function" == typeof e && e();
if ("object" == typeof g)
for (e = 0; e < g.length; e++)
if (k = g[e]) g[e] = null, k();
a(b);
a(d)
})();
n.Ya[ma].informer = function(a) {
var b = !!n.Ya[ma]._informer;
Ya[ma]._informer = a;
Ya[ma]._informer.domain = "metrika-informer.com";
b || v.loadScript({
src: "https://metrika-informer.com/metrika/informer.js"
})
};
r.on(q, "click", E(function(a) {
var b = U.getTarget(a);
if (b && "ym-advanced-informer" === b.className) {
var d = b.getAttribute("data-lang");
var e = b.getAttribute("data-cid");
n.Ya[ma].informer({
i: b,
id: +e,
lang: d
});
U.prevent(a)
}
}, "adv-inf"), null, {
passive: !1
})
})(this, this.document);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment