analytics.js 74 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618
  1. 'use strict';
  2. var _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (t) {
  3. return typeof t;
  4. } : function (t) {
  5. return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t;
  6. };
  7. !function () {
  8. function t(t, e) {
  9. t = t.split('.');
  10. var n, r = h;
  11. t[0] in r || void 0 === r.execScript || r.execScript('var ' + t[0]);
  12. for (; t.length && (n = t.shift());)
  13. t.length || void 0 === e ? r = r[n] && r[n] !== Object.prototype[n] ? r[n] : r[n] = {} : r[n] = e;
  14. }
  15. function u(t, e) {
  16. for (var n in e)
  17. e.hasOwnProperty(n) && (t[n] = e[n]);
  18. }
  19. function i(t) {
  20. for (var e in t)
  21. if (t.hasOwnProperty(e))
  22. return 1;
  23. }
  24. function o(t, e) {
  25. p.addEventListener ? p.addEventListener(t, e, !1) : p.attachEvent && p.attachEvent('on' + t, e);
  26. }
  27. function a() {
  28. e.TAGGING = e.TAGGING || [], e.TAGGING[1] = !0;
  29. }
  30. function s(t, e) {
  31. 'protocol' !== (e = e && String(e).toLowerCase()) && 'port' !== e || (t.protocol = w(t.protocol) || w(d.location.protocol)), 'port' === e ? t.port = String(Number(t.hostname ? t.port : d.location.port) || ('http' == t.protocol ? 80 : 'https' == t.protocol ? 443 : '')) : 'host' === e && (t.hostname = (t.hostname || d.location.hostname).replace(m, '').toLowerCase());
  32. var n = w(t.protocol);
  33. switch (e = e && String(e).toLowerCase()) {
  34. case 'url_no_fragment':
  35. e = '', t && t.href && (e = (e = t.href.indexOf('#')) < 0 ? t.href : t.href.substr(0, e)), t = e;
  36. break;
  37. case 'protocol':
  38. t = n;
  39. break;
  40. case 'host':
  41. t = t.hostname.replace(m, '').toLowerCase();
  42. break;
  43. case 'port':
  44. t = String(Number(t.port) || ('http' == n ? 80 : 'https' == n ? 443 : ''));
  45. break;
  46. case 'path':
  47. t.pathname || t.hostname || a();
  48. t:
  49. if (e = (t = (t = '/' == t.pathname.substr(0, 1) ? t.pathname : '/' + t.pathname).split('/'))[t.length - 1], n = [], Array.prototype.indexOf)
  50. e = n.indexOf(e), e = 'number' == typeof e ? e : -1;
  51. else {
  52. for (var r = 0; r < n.length; r++)
  53. if (n[r] === e) {
  54. e = r;
  55. break t;
  56. }
  57. e = -1;
  58. }
  59. 0 <= e && (t[t.length - 1] = ''), t = t.join('/');
  60. break;
  61. case 'query':
  62. t = t.search.replace('?', '');
  63. break;
  64. case 'extension':
  65. t = (t = 1 < (t = t.pathname.split('.')).length ? t[t.length - 1] : '').split('/')[0];
  66. break;
  67. case 'fragment':
  68. t = t.hash.replace('#', '');
  69. break;
  70. default:
  71. t = t && t.href;
  72. }
  73. return t;
  74. }
  75. function c(t) {
  76. var e = p.createElement('a');
  77. t && (e.href = t);
  78. var n = e.pathname;
  79. return '/' !== n[0] && (t || a(), n = '/' + n), t = e.hostname.replace(m, ''), {
  80. href: e.href,
  81. protocol: e.protocol,
  82. host: e.host,
  83. hostname: t,
  84. pathname: n,
  85. search: e.search,
  86. hash: e.hash,
  87. port: e.port
  88. };
  89. }
  90. var l, f, g, h = this || self, d = window, p = document, v = /^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i, e = {}, m = /:[0-9]+$/, w = function (t) {
  91. return t ? t.replace(':', '').toLowerCase() : '';
  92. };
  93. function _() {
  94. for (var t = l, e = {}, n = 0; n < t.length; ++n)
  95. e[t[n]] = n;
  96. return e;
  97. }
  98. function b() {
  99. var t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  100. return (t += t.toLowerCase() + '0123456789-_') + '.';
  101. }
  102. function y(t) {
  103. l = l || b(), f = f || _();
  104. for (var e = [], n = 0; n < t.length; n += 3) {
  105. var r = n + 1 < t.length, a = n + 2 < t.length, o = t.charCodeAt(n), i = r ? t.charCodeAt(n + 1) : 0, s = a ? t.charCodeAt(n + 2) : 0, c = o >> 2;
  106. o = (3 & o) << 4 | i >> 4, i = (15 & i) << 2 | s >> 6, s &= 63, a || (s = 64, r || (i = 64)), e.push(l[c], l[o], l[i], l[s]);
  107. }
  108. return e.join('');
  109. }
  110. function k(r) {
  111. function t(t) {
  112. for (; a < r.length;) {
  113. var e = r.charAt(a++), n = f[e];
  114. if (null != n)
  115. return n;
  116. if (!/^[\s\xa0]*$/.test(e))
  117. throw Error('Unknown base64 encoding at char: ' + e);
  118. }
  119. return t;
  120. }
  121. l = l || b(), f = f || _();
  122. for (var e = '', a = 0;;) {
  123. var n = t(-1), o = t(0), i = t(64), s = t(64);
  124. if (64 === s && -1 === n)
  125. return e;
  126. e += String.fromCharCode(n << 2 | o >> 4), 64 != i && (e += String.fromCharCode(o << 4 & 240 | i >> 2), 64 != s && (e += String.fromCharCode(i << 6 & 192 | s)));
  127. }
  128. }
  129. function O() {
  130. function t(t) {
  131. e(t.target || t.srcElement || {});
  132. }
  133. var e = D, n = G, r = S();
  134. if (!r.init) {
  135. o('mousedown', t), o('keyup', t), o('submit', function (t) {
  136. n(t.target || t.srcElement || {});
  137. });
  138. var a = HTMLFormElement.prototype.submit;
  139. HTMLFormElement.prototype.submit = function () {
  140. n(this), a.call(this);
  141. }, r.init = !0;
  142. }
  143. }
  144. function x(t, e, n) {
  145. for (var r = S().decorators, a = {}, o = 0; o < r.length; ++o) {
  146. var i, s = r[o];
  147. if (i = !n || s.forms)
  148. t: {
  149. var c = t;
  150. if ((i = s.domains) && (s.sameHost || c !== p.location.hostname))
  151. for (var l = 0; l < i.length; l++)
  152. if (i[l] instanceof RegExp) {
  153. if (i[l].test(c)) {
  154. i = !0;
  155. break t;
  156. }
  157. } else if (0 <= c.indexOf(i[l])) {
  158. i = !0;
  159. break t;
  160. }
  161. i = !1;
  162. }
  163. i && (null == (i = s.placement) && (i = s.fragment ? 2 : 1), i === e && u(a, s.callback()));
  164. }
  165. return a;
  166. }
  167. var S = function () {
  168. var t = {}, e = d.google_tag_data;
  169. return d.google_tag_data = void 0 === e ? t : e, (e = (t = d.google_tag_data).gl) && e.decorators || (e = { decorators: [] }, t.gl = e), e;
  170. }, T = /(.*?)\*(.*?)\*(.*)/, C = /([^?#]+)(\?[^#]*)?(#.*)?/;
  171. function j(t) {
  172. return new RegExp('(.*?)(^|&)' + t + '=([^&]*)&?(.*)');
  173. }
  174. function A(t) {
  175. var e, n = [];
  176. for (e in t)
  177. if (t.hasOwnProperty(e)) {
  178. var r = t[e];
  179. void 0 !== r && r == r && null !== r && '[object Object]' !== r.toString() && (n.push(e), n.push(y(String(r))));
  180. }
  181. return t = n.join('*'), ["1",N(t),t].join('*');
  182. }
  183. var N = function (t, e) {
  184. if (t = [window.navigator.userAgent,(new Date).getTimezoneOffset(),window.navigator.userLanguage||window.navigator.language,Math.floor((new Date).getTime()/60/1e3)-(void 0===e?0:e),t].join('*'), !(e = g)) {
  185. e = Array(256);
  186. for (var n = 0; n < 256; n++) {
  187. for (var r = n, a = 0; a < 8; a++)
  188. r = 1 & r ? r >>> 1 ^ 3988292384 : r >>> 1;
  189. e[n] = r;
  190. }
  191. }
  192. for (g = e, e = 4294967295, n = 0; n < t.length; n++)
  193. e = e >>> 8 ^ g[255 & (e ^ t.charCodeAt(n))];
  194. return ((-1 ^ e) >>> 0).toString(36);
  195. };
  196. function E(t, e) {
  197. if (t = j(t).exec(e)) {
  198. var n = t[2], r = t[4];
  199. e = t[1], r && (e = e + n + r);
  200. }
  201. return e;
  202. }
  203. var I = function (t, e, n) {
  204. function r(t, e) {
  205. return (t = E('_gl', t)).length && (t = e + t), t;
  206. }
  207. if (d.history && d.history.replaceState) {
  208. var a = j('_gl');
  209. (a.test(e) || a.test(n)) && (t = s(t, 'path'), e = r(e, '?'), n = r(n, '#'), d.history.replaceState({}, void 0, '' + t + e + n));
  210. }
  211. }, R = function (t) {
  212. var e = void 0 === e ? 3 : e;
  213. try {
  214. if (t) {
  215. t: {
  216. for (var n = 0; n < 3; ++n) {
  217. var r = T.exec(t);
  218. if (r) {
  219. var a = r;
  220. break t;
  221. }
  222. t = decodeURIComponent(t);
  223. }
  224. a = void 0;
  225. }
  226. if (a && '1' === a[1]) {
  227. var o = a[2], i = a[3];
  228. t: {
  229. for (a = 0; a < e; ++a)
  230. if (o === N(i, a)) {
  231. var s = !0;
  232. break t;
  233. }
  234. s = !1;
  235. }
  236. if (s) {
  237. e = {};
  238. var c = i ? i.split('*') : [];
  239. for (i = 0; i < c.length; i += 2)
  240. e[c[i]] = k(c[i + 1]);
  241. return e;
  242. }
  243. }
  244. }
  245. } catch (t) {
  246. }
  247. };
  248. function L(n, t, e, r) {
  249. function a(t) {
  250. var e = (t = E(n, t)).charAt(t.length - 1);
  251. return t && '&' !== e && (t += '&'), t + s;
  252. }
  253. r = void 0 !== r && r;
  254. var o = C.exec(e);
  255. if (!o)
  256. return '';
  257. e = o[1];
  258. var i = o[2] || '';
  259. o = o[3] || '';
  260. var s = n + '=' + t;
  261. return r ? o = '#' + a(o.substring(1)) : i = '?' + a(i.substring(1)), '' + e + i + o;
  262. }
  263. function $(t, e) {
  264. var n = 'FORM' === (t.tagName || '').toUpperCase(), r = x(e, 1, n), a = x(e, 2, n);
  265. for (var o in (e = x(e, 3, n), i(r) && (r = A(r), n ? U('_gl', r, t) : M('_gl', r, t, !1)), !n && i(a) && M('_gl', n = A(a), t, !0), e))
  266. e.hasOwnProperty(o) && P(o, e[o], t);
  267. }
  268. function P(t, e, n, r) {
  269. if (n.tagName) {
  270. if ('a' === n.tagName.toLowerCase())
  271. return M(t, e, n, r);
  272. if ('form' === n.tagName.toLowerCase())
  273. return U(t, e, n);
  274. }
  275. if ('string' == typeof n)
  276. return L(t, e, n, r);
  277. }
  278. function M(t, e, n, r) {
  279. n.href && (t = L(t, e, n.href, void 0 !== r && r), v.test(t) && (n.href = t));
  280. }
  281. function U(t, e, n) {
  282. if (n && n.action) {
  283. var r = (n.method || '').toLowerCase();
  284. if ('get' === r) {
  285. r = n.childNodes || [];
  286. for (var a = !1, o = 0; o < r.length; o++) {
  287. var i = r[o];
  288. if (i.name === t) {
  289. i.setAttribute('value', e), a = !0;
  290. break;
  291. }
  292. }
  293. a || ((r = p.createElement('input')).setAttribute('type', 'hidden'), r.setAttribute('name', t), r.setAttribute('value', e), n.appendChild(r));
  294. } else
  295. 'post' === r && (t = L(t, e, n.action), v.test(t) && (n.action = t));
  296. }
  297. }
  298. var D = function (t) {
  299. try {
  300. t: {
  301. for (var e = 100; t && 0 < e;) {
  302. if (t.href && t.nodeName.match(/^a(?:rea)?$/i)) {
  303. var n = t;
  304. break t;
  305. }
  306. t = t.parentNode, e--;
  307. }
  308. n = null;
  309. }
  310. if (n) {
  311. var r = n.protocol;
  312. 'http:' !== r && 'https:' !== r || $(n, n.hostname);
  313. }
  314. } catch (t) {
  315. }
  316. }, G = function (t) {
  317. try {
  318. if (t.action)
  319. $(t, s(c(t.action), 'host'));
  320. } catch (t) {
  321. }
  322. };
  323. t('google_tag_data.glBridge.auto', function (t, e, n, r) {
  324. O(), t = {
  325. callback: t,
  326. domains: e,
  327. fragment: 2 === (n = 'fragment' === n ? 2 : 1),
  328. placement: n,
  329. forms: !!r,
  330. sameHost: !1
  331. }, S().decorators.push(t);
  332. }), t('google_tag_data.glBridge.decorate', function (t, e, n) {
  333. return P('_gl', t = A(t), e, !!n);
  334. }), t('google_tag_data.glBridge.generate', A), t('google_tag_data.glBridge.get', function (t, e) {
  335. var i, n = (i = !!e, function (t) {
  336. var e = c(d.location.href), n = e.search.replace('?', '');
  337. t: {
  338. for (var r = n.split('&'), a = 0; a < r.length; a++) {
  339. var o = r[a].split('=');
  340. if ('_gl' === decodeURIComponent(o[0]).replace(/\+/g, ' ')) {
  341. r = o.slice(1).join('=');
  342. break t;
  343. }
  344. }
  345. r = void 0;
  346. }
  347. t.query = R(r || '') || {}, a = (r = s(e, 'fragment')).match(j('_gl')), t.fragment = R(a && a[3] || '') || {}, i && I(e, n, r);
  348. });
  349. return (e = S()).data || (e.data = {
  350. query: {},
  351. fragment: {}
  352. }, n(e.data)), n = {}, (e = e.data) && (u(n, e.query), t && u(n, e.fragment)), n;
  353. });
  354. }(window), function () {
  355. function i(t) {
  356. var e, n = 1;
  357. if (t)
  358. for (n = 0, e = t.length - 1; 0 <= e; e--) {
  359. var r = t.charCodeAt(e);
  360. n = 0 != (r = 266338304 & (n = (n << 6 & 268435455) + r + (r << 14))) ? n ^ r >> 21 : n;
  361. }
  362. return n;
  363. }
  364. function a(t) {
  365. this.w = t || [];
  366. }
  367. a.prototype.set = function (t) {
  368. this.w[t] = !0;
  369. }, a.prototype.encode = function () {
  370. for (var t = [], e = 0; e < this.w.length; e++)
  371. this.w[e] && (t[Math.floor(e / 6)] ^= 1 << e % 6);
  372. for (e = 0; e < t.length; e++)
  373. t[e] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'.charAt(t[e] || 0);
  374. return t.join('') + '~';
  375. };
  376. var t, e, n = window.GoogleAnalyticsObject;
  377. if ((t = null != n) && (t = -1 < (n.constructor + '').indexOf('String')), e = t) {
  378. var r = window.GoogleAnalyticsObject;
  379. e = r ? r.replace(/^[\s\xa0]+|[\s\xa0]+$/g, '') : '';
  380. }
  381. var o = e || 'ga', c = /^(?:utma\.)?\d+\.\d+$/, l = /^amp-[\w.-]{22,64}$/, s = !1, u = new a();
  382. function f(t) {
  383. u.set(t);
  384. }
  385. function g(t) {
  386. t = S(t), t = new a(t);
  387. for (var e = u.w.slice(), n = 0; n < t.w.length; n++)
  388. e[n] = e[n] || t.w[n];
  389. return new a(e).encode();
  390. }
  391. function h(t) {
  392. return 'function' == typeof t;
  393. }
  394. function d(t) {
  395. return null != t && -1 < (t.constructor + '').indexOf('String');
  396. }
  397. function p() {
  398. for (var t = W.navigator.userAgent + (Z.cookie ? Z.cookie : '') + (Z.referrer ? Z.referrer : ''), e = t.length, n = W.history.length; 0 < n;)
  399. t += n-- ^ e++;
  400. return [Tt()^2147483647&i(t),Math.round((new Date).getTime()/1e3)].join('.');
  401. }
  402. function v(t) {
  403. var e = Z.createElement('img');
  404. return e.width = 1, e.height = 1, e.src = t, e;
  405. }
  406. function m() {
  407. }
  408. function w(t) {
  409. return encodeURIComponent instanceof Function ? encodeURIComponent(t) : (f(28), t);
  410. }
  411. function _(t, e, n, r) {
  412. try {
  413. t.addEventListener ? t.addEventListener(e, n, !!r) : t.attachEvent && t.attachEvent('on' + e, n);
  414. } catch (t) {
  415. f(27);
  416. }
  417. }
  418. function b(t, e) {
  419. return N(Z.location[e ? 'href' : 'search'], t);
  420. }
  421. function y() {
  422. var t = '' + Z.location.hostname;
  423. return 0 == t.indexOf('www.') ? t.substring(4) : t;
  424. }
  425. function k(t, e) {
  426. var n = t.indexOf(e);
  427. return !(5 != n && 6 != n || '/' != (t = t.charAt(n + e.length)) && '?' != t && '' != t && ':' != t);
  428. }
  429. function O(t, e) {
  430. if (1 == e.length && null != e[0] && 'object' === _typeof(e[0]))
  431. return e[0];
  432. for (var n = {}, r = Math.min(t.length + 1, e.length), a = 0; a < r; a++) {
  433. if ('object' === _typeof(e[a])) {
  434. for (var o in e[a])
  435. e[a].hasOwnProperty(o) && (n[o] = e[a][o]);
  436. break;
  437. }
  438. a < t.length && (n[t[a]] = e[a]);
  439. }
  440. return n;
  441. }
  442. function x() {
  443. this.keys = [], this.values = {}, this.m = {};
  444. }
  445. var S = function (t) {
  446. return t = t.get(De), T(t) || (t = []), t;
  447. }, T = function (t) {
  448. return '[object Array]' == Object.prototype.toString.call(Object(t));
  449. }, C = function (t, e) {
  450. return 0 == t.indexOf(e);
  451. }, j = /^[\w\-:/.?=&%!\[\]]+$/, A = /^[\w+/_-]+[=]{0,2}$/, N = function (t, e) {
  452. return (t = t.match('(?:&|#|\\?)' + w(e).replace(/([.*+?^=!:${}()|\[\]\/\\])/g, '\\$1') + '=([^&#]*)')) && 2 == t.length ? t[1] : '';
  453. };
  454. x.prototype.set = function (t, e, n) {
  455. this.keys.push(t), n ? this.m[':' + t] = e : this.values[':' + t] = e;
  456. }, x.prototype.get = function (t) {
  457. return this.m.hasOwnProperty(':' + t) ? this.m[':' + t] : this.values[':' + t];
  458. }, x.prototype.map = function (t) {
  459. for (var e = 0; e < this.keys.length; e++) {
  460. var n = this.keys[e], r = this.get(n);
  461. r && t(n, r);
  462. }
  463. };
  464. function E(t, e) {
  465. return setTimeout(t, e);
  466. }
  467. function I(t) {
  468. var e = Y._gaUserPrefs;
  469. if (e && e.ioo && e.ioo() || t && !0 === Y['ga-disable-' + t])
  470. return 1;
  471. try {
  472. var n = Y.external;
  473. if (n && n._gaUserPrefs && 'oo' == n._gaUserPrefs)
  474. return 1;
  475. } catch (t) {
  476. }
  477. for (t = [], e = String(J.cookie || document.cookie).split(';'), n = 0; n < e.length; n++) {
  478. var r = e[n].split('='), a = r[0].replace(/^\s*|\s*$/g, '');
  479. a && 'AMP_TOKEN' == a && ((r = r.slice(1).join('=').replace(/^\s*|\s*$/g, '')) && (r = decodeURIComponent(r)), t.push(r));
  480. }
  481. for (e = 0; e < t.length; e++)
  482. if ('$OPT_OUT' == t[e])
  483. return 1;
  484. return !!J.getElementById('__gaOptOutExtension');
  485. }
  486. function R(t) {
  487. var e = [], n = Z.cookie.split(';');
  488. t = new RegExp('^\\s*' + t + '=\\s*(.*?)\\s*$');
  489. for (var r = 0; r < n.length; r++) {
  490. var a = n[r].match(t);
  491. a && e.push(a[1]);
  492. }
  493. return e;
  494. }
  495. function L(t, e, n, r, a, o, i) {
  496. if (a = !I(a) && !(tt.test(Z.location.hostname) || '/' == n && Q.test(r))) {
  497. if (e && 1200 < e.length && (e = e.substring(0, 1200)), n = t + '=' + e + '; path=' + n + '; ', o && (n += 'expires=' + new Date(new Date().getTime() + o).toGMTString() + '; '), r && 'none' !== r && (n += 'domain=' + r + ';'), i && (n += i + ';'), r = Z.cookie, Z.cookie = n, !(r = r != Z.cookie))
  498. t: {
  499. for (t = R(t), r = 0; r < t.length; r++)
  500. if (e == t[r]) {
  501. r = !0;
  502. break t;
  503. }
  504. r = !1;
  505. }
  506. return r;
  507. }
  508. }
  509. function $(t) {
  510. return encodeURIComponent ? encodeURIComponent(t).replace(/\(/g, '%28').replace(/\)/g, '%29') : t;
  511. }
  512. function P() {
  513. if (void 0 !== W.__ga4__)
  514. return W.__ga4__;
  515. if (void 0 === H) {
  516. var t = W.navigator.userAgent;
  517. if (t) {
  518. var e = t;
  519. try {
  520. e = decodeURIComponent(t);
  521. } catch (t) {
  522. }
  523. (t = !(0 <= e.indexOf('Chrome') || 0 <= e.indexOf('CriOS') || !(0 <= e.indexOf('Safari/') || 0 <= e.indexOf('Safari,')))) && (t = 11 <= ((e = et.exec(e)) ? Number(e[1]) : -1)), H = t;
  524. } else
  525. H = !1;
  526. }
  527. return H;
  528. }
  529. function M(t) {
  530. return (t || s || 'https:' == Z.location.protocol ? 'https:' : 'http:') + '//www.google-analytics.com';
  531. }
  532. function U(t) {
  533. this.name = 'len', this.message = t + '-8192';
  534. }
  535. function D(t, e, n) {
  536. if (n = n || m, e.length <= 2036)
  537. gt(t, e, n);
  538. else {
  539. if (!(e.length <= 8192))
  540. throw pt('len', e.length), new U(e.length);
  541. dt(t, e, n) || ht(t, e, n) || gt(t, e, n);
  542. }
  543. }
  544. function G(t, e, n, r) {
  545. ht(t + '?' + e, '', r = r || m, n);
  546. }
  547. function q() {
  548. return W.gaData = W.gaData || {};
  549. }
  550. function V(t) {
  551. var e = q();
  552. return e[t] = e[t] || {};
  553. }
  554. function F() {
  555. this.M = [];
  556. }
  557. var H, B, z, K, X, W = window, Z = document, Y = window, J = document, Q = /^(www\.)?google(\.com?)?(\.[a-z]{2})?$/, tt = /(^|\.)doubleclick\.net$/i, et = /^.*Version\/?(\d+)[^\d].*$/i, nt = /^https?:\/\/[^/]*cdn\.ampproject\.org\//, rt = /^(?:www\.|m\.|amp\.)+/, at = [], ot = function () {
  558. ta.D([m]);
  559. }, it = function t(e, n) {
  560. var r = R('AMP_TOKEN');
  561. return 1 < r.length ? (f(55), !1) : '$OPT_OUT' == (r = decodeURIComponent(r[0] || '')) || '$ERROR' == r || I(n) ? (f(62), !1) : nt.test(Z.referrer) || '$NOT_FOUND' != r ? void 0 !== X ? (f(56), E(function () {
  562. e(X);
  563. }, 0), !0) : B ? (at.push(e), !0) : '$RETRIEVING' == r ? (f(57), E(function () {
  564. t(e, n);
  565. }, 10000), !0) : (B = !0, r && '$' != r[0] || (lt('$RETRIEVING', 30000), setTimeout(ct, 30000), r = ''), !!st(r, n) && (at.push(e), !0)) : (f(68), !1);
  566. }, st = function e(n, r, a) {
  567. if (!window.JSON)
  568. return f(58), !1;
  569. var t = W.XMLHttpRequest;
  570. if (!t)
  571. return f(59), !1;
  572. var o = new t();
  573. return 'withCredentials' in o ? (o.open('POST', (a || 'https://ampcid.google.com/v1/publisher:getClientId') + '?key=AIzaSyA65lEHUEizIsNtlbNo-l2K18dT680nsaM', !0), o.withCredentials = !0, o.setRequestHeader('Content-Type', 'text/plain'), o.onload = function () {
  574. if (B = !1, 4 == o.readyState) {
  575. try {
  576. 200 != o.status && (f(61), ut('', '$ERROR', 30000));
  577. var t = JSON.parse(o.responseText);
  578. t.optOut ? (f(63), ut('', '$OPT_OUT', 31536000000)) : t.clientId ? ut(t.clientId, t.securityToken, 31536000000) : !a && t.alternateUrl ? (z && clearTimeout(z), B = !0, e(n, r, t.alternateUrl)) : (f(64), ut('', '$NOT_FOUND', 3600000));
  579. } catch (t) {
  580. f(65), ut('', '$ERROR', 30000);
  581. }
  582. o = null;
  583. }
  584. }, t = { originScope: 'AMP_ECID_GOOGLE' }, n && (t.securityToken = n), o.send(JSON.stringify(t)), z = E(function () {
  585. f(66), ut('', '$ERROR', 30000);
  586. }, 10000), !0) : (f(60), !1);
  587. }, ct = function () {
  588. B = !1;
  589. }, lt = function (t, e) {
  590. if (void 0 === K) {
  591. K = '';
  592. for (var n = nr(), r = 0; r < n.length; r++) {
  593. var a = n[r];
  594. if (L('AMP_TOKEN', encodeURIComponent(t), '/', a, '', e))
  595. return void (K = a);
  596. }
  597. }
  598. L('AMP_TOKEN', encodeURIComponent(t), '/', K, '', e);
  599. }, ut = function (t, e, n) {
  600. for (z && clearTimeout(z), e && lt(e, n), X = t, e = at, at = [], n = 0; n < e.length; n++)
  601. e[n](t);
  602. }, ft = function (t) {
  603. t: {
  604. if (nt.test(Z.referrer)) {
  605. var e = Z.location.hostname.replace(rt, '');
  606. e: {
  607. var n = Z.referrer, r = (n = n.replace(/^https?:\/\//, '')).replace(/^[^/]+/, '').split('/'), a = r[2];
  608. if (!(r = (r = 's' == a ? r[3] : a) ? decodeURIComponent(r) : r)) {
  609. if (0 == n.indexOf('xn--')) {
  610. n = '';
  611. break e;
  612. }
  613. (n = n.match(/(.*)\.cdn\.ampproject\.org\/?$/)) && 2 == n.length && (r = n[1].replace(/-/g, '.').replace(/\.\./g, '-'));
  614. }
  615. n = r ? r.replace(rt, '') : '';
  616. }
  617. if ((r = e === n) || (n = '.' + n, r = e.substring(e.length - n.length, e.length) === n), r) {
  618. e = !0;
  619. break t;
  620. }
  621. f(78);
  622. }
  623. e = !1;
  624. }
  625. return e && !1 !== t;
  626. }, gt = function (t, e, n) {
  627. var r = v(t + '?' + e);
  628. r.onload = r.onerror = function () {
  629. r.onload = null, r.onerror = null, n();
  630. };
  631. }, ht = function (t, e, r, a) {
  632. var n = W.XMLHttpRequest;
  633. if (!n)
  634. return !1;
  635. var o = new n();
  636. return 'withCredentials' in o && (t = t.replace(/^http:/, 'https:'), o.open('POST', t, !0), o.withCredentials = !0, o.setRequestHeader('Content-Type', 'text/plain'), o.onreadystatechange = function () {
  637. if (4 == o.readyState) {
  638. if (a)
  639. try {
  640. var t = o.responseText;
  641. if (t.length < 1)
  642. pt('xhr', 'ver', '0'), r();
  643. else if ('1' != t.charAt(0))
  644. pt('xhr', 'ver', String(t.length)), r();
  645. else if (3 < a.count++)
  646. pt('xhr', 'tmr', '' + a.count), r();
  647. else if (1 == t.length)
  648. r();
  649. else {
  650. var e = t.charAt(1);
  651. if ('d' == e)
  652. G('https://stats.g.doubleclick.net/j/collect', a.U, a, r);
  653. else if ('g' == e) {
  654. gt('https://www.google.%/ads/ga-audiences'.replace('%', 'com'), a.google, r);
  655. var n = t.substring(2);
  656. n && (/^[a-z.]{1,6}$/.test(n) ? gt('https://www.google.%/ads/ga-audiences'.replace('%', n), a.google, m) : pt('tld', 'bcc', n));
  657. } else
  658. pt('xhr', 'brc', e), r();
  659. }
  660. } catch (t) {
  661. pt('xhr', 'rsp'), r();
  662. }
  663. else
  664. r();
  665. o = null;
  666. }
  667. }, o.send(e), !0);
  668. }, dt = function (t, e, n) {
  669. return !!W.navigator.sendBeacon && (!!W.navigator.sendBeacon(t, e) && (n(), !0));
  670. }, pt = function (t, e, n) {
  671. 1 <= 100 * Math.random() || I('?') || (t = ["t=error","_e="+t,"_v=j81","sr=1"], e && t.push('_f=' + e), n && t.push('_m=' + w(n.substring(0, 100))), t.push('aip=1'), t.push('z=' + Tt()), gt(M(!0) + '/u/d', t.join('&'), m));
  672. };
  673. function vt(t) {
  674. if (100 != t.get(yn) && i(At(t, an)) % 10000 >= 100 * Nt(t, yn))
  675. throw 'abort';
  676. }
  677. function mt(t) {
  678. if (I(At(t, ln)))
  679. throw 'abort';
  680. }
  681. function wt() {
  682. var t = Z.location.protocol;
  683. if ('http:' != t && 'https:' != t)
  684. throw 'abort';
  685. }
  686. function _t(n) {
  687. try {
  688. W.navigator.sendBeacon ? f(42) : W.XMLHttpRequest && 'withCredentials' in new W.XMLHttpRequest() && f(40);
  689. } catch (t) {
  690. }
  691. n.set(Ue, g(n), !0), n.set(Xt, Nt(n, Xt) + 1);
  692. var r = [];
  693. Pt.map(function (t, e) {
  694. e.F && (null != (t = n.get(t)) && t != e.defaultValue && ('boolean' == typeof t && (t *= 1), r.push(e.F + '=' + w('' + t))));
  695. }), !1 === n.get(Un) && r.push('npa=1'), r.push('z=' + St()), n.set(Bt, r.join('&'), !0);
  696. }
  697. function bt(t) {
  698. var e = At(t, Kt);
  699. !e && t.get(zt) && (e = 'beacon');
  700. var n = At(t, Rn), r = At(t, In), a = n || (r ? r + '/3' : M(!1) + '/collect');
  701. switch (At(t, Pn)) {
  702. case 'd':
  703. a = n || (r ? r + '/32' : M(!1) + '/j/collect'), e = t.get($n) || void 0, G(a, At(t, Bt), e, t.Z(Ht));
  704. break;
  705. case 'b':
  706. a = n || (r ? r + '/31' : M(!1) + '/r/collect');
  707. default:
  708. e ? (n = At(t, Bt), r = (r = t.Z(Ht)) || m, 'image' == e ? gt(a, n, r) : 'xhr' == e && ht(a, n, r) || 'beacon' == e && dt(a, n, r) || D(a, n, r)) : D(a, At(t, Bt), t.Z(Ht));
  709. }
  710. a = At(t, ln), e = (a = V(a)).hitcount, a.hitcount = e ? e + 1 : 1, a = At(t, ln), delete V(a).pending_experiments, t.set(Ht, m, !0);
  711. }
  712. function yt(t) {
  713. q().expId && t.set(je, q().expId), q().expVar && t.set(Ae, q().expVar);
  714. var e = At(t, ln);
  715. if (e = V(e).pending_experiments) {
  716. var n = [];
  717. for (r in e)
  718. e.hasOwnProperty(r) && e[r] && n.push(encodeURIComponent(r) + '.' + encodeURIComponent(e[r]));
  719. var r = n.join('!');
  720. } else
  721. r = void 0;
  722. r && t.set(Ne, r, !0);
  723. }
  724. function kt() {
  725. if (W.navigator && 'preview' == W.navigator.loadPurpose)
  726. throw 'abort';
  727. }
  728. function Ot(t) {
  729. var e = W.gaDevIds;
  730. T(e) && 0 != e.length && t.set('&did', e.join(','), !0);
  731. }
  732. function xt(t) {
  733. if (!t.get(ln))
  734. throw 'abort';
  735. }
  736. F.prototype.add = function (t) {
  737. this.M.push(t);
  738. }, F.prototype.D = function (t) {
  739. try {
  740. for (var e = 0; e < this.M.length; e++) {
  741. var n = t.get(this.M[e]);
  742. n && h(n) && n.call(W, t);
  743. }
  744. } catch (t) {
  745. }
  746. (e = t.get(Ht)) != m && h(e) && (t.set(Ht, m, !0), setTimeout(e, 10));
  747. };
  748. function St() {
  749. try {
  750. var t = new Uint32Array(1);
  751. return W.crypto.getRandomValues(t), 2147483647 & t[0];
  752. } catch (t) {
  753. return Tt();
  754. }
  755. }
  756. var Tt = function () {
  757. return Math.round(2147483647 * Math.random());
  758. };
  759. function Ct(t) {
  760. var e = Nt(t, Le);
  761. 500 <= e && f(15);
  762. var n = At(t, Ft);
  763. if ('transaction' != n && 'item' != n) {
  764. n = Nt(t, Pe);
  765. var r = new Date().getTime(), a = Nt(t, $e);
  766. if (0 == a && t.set($e, r), 0 < (a = Math.round(2 * (r - a) / 1000)) && (n = Math.min(n + a, 20), t.set($e, r)), n <= 0)
  767. throw 'abort';
  768. t.set(Pe, --n);
  769. }
  770. t.set(Le, ++e);
  771. }
  772. function jt() {
  773. this.data = new x();
  774. }
  775. jt.prototype.get = function (t) {
  776. var e = Ut(t), n = this.data.get(t);
  777. return e && null == n && (n = h(e.defaultValue) ? e.defaultValue() : e.defaultValue), e && e.Z ? e.Z(this, t, n) : n;
  778. };
  779. function At(t, e) {
  780. return null == (t = t.get(e)) ? '' : '' + t;
  781. }
  782. function Nt(t, e) {
  783. return null == (t = t.get(e)) || '' === t ? 0 : Number(t);
  784. }
  785. jt.prototype.Z = function (t) {
  786. return (t = this.get(t)) && h(t) ? t : m;
  787. }, jt.prototype.set = function (t, e, n) {
  788. if (t)
  789. if ('object' == (void 0 === t ? 'undefined' : _typeof(t)))
  790. for (var r in t)
  791. t.hasOwnProperty(r) && $t(this, r, t[r], n);
  792. else
  793. $t(this, t, e, n);
  794. };
  795. function Et(t, e, n, r, a) {
  796. this.name = t, this.F = e, this.Z = r, this.o = a, this.defaultValue = n;
  797. }
  798. function It(t, e, n, r, a) {
  799. return t = new Et(t, e, n, r, a), Pt.set(t.name, t), t.name;
  800. }
  801. function Rt(t, e) {
  802. Mt.push([new RegExp("^"+t+"$"),e]);
  803. }
  804. function Lt(t, e, n) {
  805. return It(t, e, n, void 0, Dt);
  806. }
  807. var $t = function (t, e, n, r) {
  808. if (null != n)
  809. switch (e) {
  810. case ln:
  811. $r.test(n);
  812. }
  813. var a = Ut(e);
  814. a && a.o ? a.o(t, e, n, r) : t.data.set(e, n, r);
  815. }, Pt = new x(), Mt = [], Ut = function (t) {
  816. var e = Pt.get(t);
  817. if (!e)
  818. for (var n = 0; n < Mt.length; n++) {
  819. var r = Mt[n], a = r[0].exec(t);
  820. if (a) {
  821. e = r[1](a), Pt.set(e.name, e);
  822. break;
  823. }
  824. }
  825. return e;
  826. }, Dt = function () {
  827. }, Gt = Lt('apiVersion', 'v'), qt = Lt('clientVersion', '_v');
  828. It('anonymizeIp', 'aip');
  829. var Vt = It('adSenseId', 'a'), Ft = It('hitType', 't'), Ht = It('hitCallback'), Bt = It('hitPayload');
  830. It('nonInteraction', 'ni'), It('currencyCode', 'cu'), It('dataSource', 'ds');
  831. var zt = It('useBeacon', void 0, !1), Kt = It('transport');
  832. It('sessionControl', 'sc', ''), It('sessionGroup', 'sg'), It('queueTime', 'qt');
  833. var Xt = It('_s', '_s');
  834. It('screenName', 'cd');
  835. var Wt = It('location', 'dl', ''), Zt = It('referrer', 'dr'), Yt = It('page', 'dp', '');
  836. It('hostname', 'dh');
  837. var Jt = It('language', 'ul'), Qt = It('encoding', 'de');
  838. It('title', 'dt', function () {
  839. return Z.title || void 0;
  840. }), Rt('contentGroup([0-9]+)', function (t) {
  841. return new Et(t[0], 'cg' + t[1]);
  842. });
  843. var te = It('screenColors', 'sd'), ee = It('screenResolution', 'sr'), ne = It('viewportSize', 'vp'), re = It('javaEnabled', 'je'), ae = It('flashVersion', 'fl');
  844. It('campaignId', 'ci'), It('campaignName', 'cn'), It('campaignSource', 'cs'), It('campaignMedium', 'cm'), It('campaignKeyword', 'ck'), It('campaignContent', 'cc');
  845. var oe = It('eventCategory', 'ec'), ie = It('eventAction', 'ea'), se = It('eventLabel', 'el'), ce = It('eventValue', 'ev'), le = It('socialNetwork', 'sn'), ue = It('socialAction', 'sa'), fe = It('socialTarget', 'st'), ge = It('l1', 'plt'), he = It('l2', 'pdt'), de = It('l3', 'dns'), pe = It('l4', 'rrt'), ve = It('l5', 'srt'), me = It('l6', 'tcp'), we = It('l7', 'dit'), _e = It('l8', 'clt'), be = It('l9', '_gst'), ye = It('l10', '_gbt'), ke = It('l11', '_cst'), Oe = It('l12', '_cbt'), xe = It('timingCategory', 'utc'), Se = It('timingVar', 'utv'), Te = It('timingLabel', 'utl'), Ce = It('timingValue', 'utt');
  846. It('appName', 'an'), It('appVersion', 'av', ''), It('appId', 'aid', ''), It('appInstallerId', 'aiid', ''), It('exDescription', 'exd'), It('exFatal', 'exf');
  847. var je = It('expId', 'xid'), Ae = It('expVar', 'xvar'), Ne = It('exp', 'exp'), Ee = It('_utma', '_utma'), Ie = It('_utmz', '_utmz'), Re = It('_utmht', '_utmht'), Le = It('_hc', void 0, 0), $e = It('_ti', void 0, 0), Pe = It('_to', void 0, 20);
  848. Rt('dimension([0-9]+)', function (t) {
  849. return new Et(t[0], 'cd' + t[1]);
  850. }), Rt('metric([0-9]+)', function (t) {
  851. return new Et(t[0], 'cm' + t[1]);
  852. }), It('linkerParam', void 0, void 0, function (t) {
  853. if (t.get(Me))
  854. return f(35), lr.generate(_r(t));
  855. var e = At(t, an), n = At(t, xn) || '';
  856. return e = '_ga=2.' + w(hr(n + e, 0) + '.' + n + '-' + e), t = (t = br(t)) ? (f(44), '&_gac=1.' + w([hr(t.qa,0),t.timestamp,t.qa].join('.'))) : '', e + t;
  857. }, Dt);
  858. var Me = Lt('_cd2l', void 0, !1), Ue = It('usage', '_u'), De = It('_um');
  859. It('forceSSL', void 0, void 0, function () {
  860. return s;
  861. }, function (t, e, n) {
  862. f(34), s = !!n;
  863. });
  864. var Ge = It('_j1', 'jid'), qe = It('_j2', 'gjid');
  865. Rt('\\&(.*)', function (t) {
  866. var n, r, e = new Et(t[0], t[1]), a = (n = t[0].substring(1), Pt.map(function (t, e) {
  867. e.F == n && (r = e);
  868. }), r && r.name);
  869. return a && (e.Z = function (t) {
  870. return t.get(a);
  871. }, e.o = function (t, e, n, r) {
  872. t.set(a, n, r);
  873. }, e.F = void 0), e;
  874. });
  875. var Ve = Lt('_oot'), Fe = It('previewTask'), He = It('checkProtocolTask'), Be = It('validationTask'), ze = It('checkStorageTask'), Ke = It('historyImportTask'), Xe = It('samplerTask'), We = It('_rlt'), Ze = It('buildHitTask'), Ye = It('sendHitTask'), Je = It('ceTask'), Qe = It('devIdTask'), tn = It('timingTask'), en = It('displayFeaturesTask'), nn = It('customTask'), rn = Lt('name'), an = Lt('clientId', 'cid'), on = Lt('clientIdTime'), sn = Lt('storedClientId'), cn = It('userId', 'uid'), ln = Lt('trackingId', 'tid'), un = Lt('cookieName', void 0, '_ga'), fn = Lt('cookieDomain'), gn = Lt('cookiePath', void 0, '/'), hn = Lt('cookieExpires', void 0, 63072000), dn = Lt('cookieUpdate', void 0, !0), pn = Lt('cookieFlags', void 0, ''), vn = Lt('legacyCookieDomain'), mn = Lt('legacyHistoryImport', void 0, !0), wn = Lt('storage', void 0, 'cookie'), _n = Lt('allowLinker', void 0, !1), bn = Lt('allowAnchor', void 0, !0), yn = Lt('sampleRate', 'sf', 100), kn = Lt('siteSpeedSampleRate', void 0, 1), On = Lt('alwaysSendReferrer', void 0, !1), xn = Lt('_gid', '_gid'), Sn = Lt('_gcn'), Tn = Lt('useAmpClientId'), Cn = Lt('_gclid'), jn = Lt('_gt'), An = Lt('_ge', void 0, 7776000000), Nn = Lt('_gclsrc'), En = Lt('storeGac', void 0, !0), In = It('_x_19'), Rn = It('transportUrl'), Ln = It('_r', '_r'), $n = It('_dp'), Pn = It('_jt', void 0, 'n'), Mn = It('allowAdFeatures', void 0, !0), Un = It('allowAdPersonalizationSignals', void 0, !0);
  876. function Dn(e, t, n, r) {
  877. t[e] = function () {
  878. try {
  879. return r && f(r), n.apply(this, arguments);
  880. } catch (t) {
  881. throw pt('exc', e, t && t.name), t;
  882. }
  883. };
  884. }
  885. function Gn() {
  886. this.V = 100, this.$ = this.fa = !1, this.oa = 'detourexp', this.groups = 1;
  887. }
  888. function qn(o) {
  889. return function (t) {
  890. if ('pageview' == t.get(Ft) && !o.I) {
  891. o.I = !0;
  892. var e = (r = t, a = Math.min(Nt(r, kn), 100), !(i(At(r, an)) % 100 >= a)), n = 0 < N(At(t, Wt), 'gclid').length;
  893. (e || n) && function t(e) {
  894. var n = {};
  895. if (Bn(n) || zn(n)) {
  896. var r = n[ge];
  897. null == r || 1 / 0 == r || isNaN(r) || (0 < r ? (Kn(n, de), Kn(n, me), Kn(n, ve), Kn(n, he), Kn(n, pe), Kn(n, we), Kn(n, _e), Kn(n, be), Kn(n, ye), Kn(n, ke), Kn(n, Oe), E(function () {
  898. e(n);
  899. }, 10)) : _(W, 'load', function () {
  900. t(e);
  901. }, !1));
  902. }
  903. }(function (t) {
  904. e && o.send('timing', t), n && o.send('adtiming', t);
  905. });
  906. }
  907. var r, a;
  908. };
  909. }
  910. function Vn(t) {
  911. if ('cookie' == At(t, wn)) {
  912. if (t.get(dn) || At(t, sn) != At(t, an)) {
  913. var e = 1000 * Nt(t, hn);
  914. Wn(t, an, un, e);
  915. }
  916. if (!t.get(dn) && Zn(t) == At(t, xn) || Wn(t, xn, Sn, 86400000), t.get(En)) {
  917. var n = At(t, Cn);
  918. if (n) {
  919. var r = Math.min(Nt(t, An), 1000 * Nt(t, hn));
  920. r = Math.min(r, 1000 * Nt(t, jn) + r - new Date().getTime()), t.data.set(An, r), e = {};
  921. var a = At(t, jn), o = At(t, Nn), i = rr(At(t, gn)), s = er(At(t, fn)), c = At(t, ln);
  922. t = At(t, pn), o && 'aw.ds' != o ? e && (e.ua = !0) : (n = ["1",a,$(n)].join('.'), 0 < r && (e && (e.ta = !0), L('_gac_' + $(c), n, i, s, c, r, t))), or(e);
  923. }
  924. } else
  925. f(75);
  926. }
  927. }
  928. function Fn(t) {
  929. if ('cookie' == At(t, wn) && !Xn && (Vn(t), !Xn))
  930. throw 'abort';
  931. }
  932. function Hn(t) {
  933. if (t.get(mn)) {
  934. var e = At(t, fn), n = At(t, vn) || y(), r = ir('__utma', n, e);
  935. r && (f(19), t.set(Re, new Date().getTime(), !0), t.set(Ee, r.R), (e = ir('__utmz', n, e)) && r.hash == e.hash && t.set(Ie, e.R));
  936. }
  937. }
  938. var Bn = function (t) {
  939. var e = W.performance || W.webkitPerformance;
  940. if (!(e = e && e.timing))
  941. return !1;
  942. var n = e.navigationStart;
  943. return 0 != n && (t[ge] = e.loadEventStart - n, t[de] = e.domainLookupEnd - e.domainLookupStart, t[me] = e.connectEnd - e.connectStart, t[ve] = e.responseStart - e.requestStart, t[he] = e.responseEnd - e.responseStart, t[pe] = e.fetchStart - n, t[we] = e.domInteractive - n, t[_e] = e.domContentLoadedEventStart - n, t[be] = ea.L - n, t[ye] = ea.ya - n, W.google_tag_manager && W.google_tag_manager._li && (e = W.google_tag_manager._li, t[ke] = e.cst, t[Oe] = e.cbt), !0);
  944. }, zn = function (t) {
  945. if (W.top != W)
  946. return !1;
  947. var e = W.external, n = e && e.onloadT;
  948. return e && !e.isValidLoadTime && (n = void 0), 2147483648 < n && (n = void 0), 0 < n && e.setPageReadyTime(), null != n && (t[ge] = n, !0);
  949. }, Kn = function (t, e) {
  950. var n = t[e];
  951. (isNaN(n) || 1 / 0 == n || n < 0) && (t[e] = void 0);
  952. }, Xn = !1, Wn = function (t, e, n, r) {
  953. var a = Yn(t, e);
  954. if (a) {
  955. n = At(t, n);
  956. var o = rr(At(t, gn)), i = er(At(t, fn)), s = At(t, pn), c = At(t, ln);
  957. if ('auto' != i)
  958. L(n, a, o, i, c, r, s) && (Xn = !0);
  959. else {
  960. f(32);
  961. for (var l = nr(), u = 0; u < l.length; u++)
  962. if (i = l[u], t.data.set(fn, i), a = Yn(t, e), L(n, a, o, i, c, r, s))
  963. return void (Xn = !0);
  964. t.data.set(fn, 'auto');
  965. }
  966. }
  967. }, Zn = function (t) {
  968. var e = R(At(t, Sn));
  969. return Jn(t, e);
  970. }, Yn = function (t, e) {
  971. e = $(At(t, e));
  972. var n = er(At(t, fn)).split('.').length;
  973. return 1 < (t = ar(At(t, gn))) && (n += '-' + t), e ? ["GA1",n,e].join('.') : '';
  974. }, Jn = function (t, e) {
  975. return Qn(e, At(t, fn), At(t, gn));
  976. }, Qn = function (t, e, n) {
  977. if (!t || t.length < 1)
  978. f(12);
  979. else {
  980. for (var r = [], a = 0; a < t.length; a++) {
  981. var o = t[a], i = o.split('.'), s = i.shift();
  982. (i = ('GA1' == s || '1' == s) && 1 < i.length ? (1 == (o = i.shift().split('-')).length && (o[1] = '1'), o[0] *= 1, o[1] *= 1, {
  983. H: o,
  984. s: i.join('.')
  985. }) : l.test(o) ? {
  986. H: [0,0],
  987. s: o
  988. } : void 0) && r.push(i);
  989. }
  990. if (1 == r.length)
  991. return f(13), r[0].s;
  992. if (0 != r.length)
  993. return f(14), 1 == (r = tr(r, er(e).split('.').length, 0)).length ? r[0].s : (1 < (r = tr(r, ar(n), 1)).length && f(41), r[0] && r[0].s);
  994. f(12);
  995. }
  996. }, tr = function (t, e, n) {
  997. for (var r, a = [], o = [], i = 0; i < t.length; i++) {
  998. var s = t[i];
  999. s.H[n] == e ? a.push(s) : null == r || s.H[n] < r ? (o = [s], r = s.H[n]) : s.H[n] == r && o.push(s);
  1000. }
  1001. return 0 < a.length ? a : o;
  1002. }, er = function (t) {
  1003. return 0 == t.indexOf('.') ? t.substr(1) : t;
  1004. }, nr = function () {
  1005. var t = [], e = y().split('.');
  1006. if (4 == e.length) {
  1007. var n = e[e.length - 1];
  1008. if (parseInt(n, 10) == n)
  1009. return ["none"];
  1010. }
  1011. for (n = e.length - 2; 0 <= n; n--)
  1012. t.push(e.slice(n).join('.'));
  1013. return e = Z.location.hostname, tt.test(e) || Q.test(e) || t.push('none'), t;
  1014. }, rr = function (t) {
  1015. return t ? (1 < t.length && t.lastIndexOf('/') == t.length - 1 && (t = t.substr(0, t.length - 1)), 0 != t.indexOf('/') && (t = '/' + t), t) : '/';
  1016. }, ar = function (t) {
  1017. return '/' == (t = rr(t)) ? 1 : t.split('/').length;
  1018. }, or = function (t) {
  1019. t.ta && f(77), t.na && f(74), t.pa && f(73), t.ua && f(69);
  1020. };
  1021. function ir(t, e, n) {
  1022. 'none' == e && (e = '');
  1023. var r = [], a = R(t);
  1024. t = '__utma' == t ? 6 : 2;
  1025. for (var o = 0; o < a.length; o++) {
  1026. var i = ('' + a[o]).split('.');
  1027. i.length >= t && r.push({
  1028. hash: i[0],
  1029. R: a[o],
  1030. O: i
  1031. });
  1032. }
  1033. if (0 != r.length)
  1034. return 1 != r.length && (sr(e, r) || sr(n, r) || sr(null, r)) || r[0];
  1035. }
  1036. function sr(t, e) {
  1037. if (null == t)
  1038. var n = t = 1;
  1039. else
  1040. n = i(t), t = i(C(t, '.') ? t.substring(1) : '.' + t);
  1041. for (var r = 0; r < e.length; r++)
  1042. if (e[r].hash == n || e[r].hash == t)
  1043. return e[r];
  1044. }
  1045. var cr = new RegExp(/^https?:\/\/([^\/:]+)/), lr = W.google_tag_data.glBridge, ur = /(.*)([?&#])(?:_ga=[^&#]*)(?:&?)(.*)/, fr = /(.*)([?&#])(?:_gac=[^&#]*)(?:&?)(.*)/;
  1046. function gr(t, e) {
  1047. var n = new Date(), r = W.navigator, a = r.plugins || [];
  1048. for (t = [t,r.userAgent,n.getTimezoneOffset(),n.getYear(),n.getDate(),n.getHours(),n.getMinutes()+e], e = 0; e < a.length; ++e)
  1049. t.push(a[e].description);
  1050. return i(t.join('.'));
  1051. }
  1052. function hr(t, e) {
  1053. var n = new Date(), r = W.navigator, a = n.getHours() + Math.floor((n.getMinutes() + e) / 60);
  1054. return i([t,r.userAgent,r.language||"",n.getTimezoneOffset(),n.getYear(),n.getDate()+Math.floor(a/24),(24+a)%24,(60+n.getMinutes()+e)%60].join('.'));
  1055. }
  1056. function dr(t) {
  1057. f(48), this.target = t, this.T = !1;
  1058. }
  1059. dr.prototype.ca = function (t, e) {
  1060. if (t) {
  1061. if (this.target.get(Me))
  1062. return lr.decorate(_r(this.target), t, e);
  1063. if (t.tagName) {
  1064. if ('a' == t.tagName.toLowerCase())
  1065. return void (t.href && (t.href = pr(this, t.href, e)));
  1066. if ('form' == t.tagName.toLowerCase())
  1067. return vr(this, t);
  1068. }
  1069. if ('string' == typeof t)
  1070. return pr(this, t, e);
  1071. }
  1072. };
  1073. var pr = function (t, e, n) {
  1074. var r = ur.exec(e);
  1075. r && 3 <= r.length && (e = r[1] + (r[3] ? r[2] + r[3] : '')), (r = fr.exec(e)) && 3 <= r.length && (e = r[1] + (r[3] ? r[2] + r[3] : '')), t = t.target.get('linkerParam');
  1076. var a = e.indexOf('?');
  1077. return r = e.indexOf('#'), n ? e += (-1 == r ? '#' : '&') + t : (n = -1 == a ? '?' : '&', e = -1 == r ? e + (n + t) : e.substring(0, r) + n + t + e.substring(r)), (e = e.replace(/&+_ga=/, '&_ga=')).replace(/&+_gac=/, '&_gac=');
  1078. }, vr = function (t, e) {
  1079. if (e && e.action)
  1080. if ('get' == e.method.toLowerCase()) {
  1081. t = t.target.get('linkerParam').split('&');
  1082. for (var n = 0; n < t.length; n++) {
  1083. var r = t[n].split('='), a = r[1];
  1084. r = r[0];
  1085. for (var o = e.childNodes || [], i = !1, s = 0; s < o.length; s++)
  1086. if (o[s].name == r) {
  1087. o[s].setAttribute('value', a), i = !0;
  1088. break;
  1089. }
  1090. i || ((o = Z.createElement('input')).setAttribute('type', 'hidden'), o.setAttribute('name', r), o.setAttribute('value', a), e.appendChild(o));
  1091. }
  1092. } else
  1093. 'post' == e.method.toLowerCase() && (e.action = pr(t, e.action));
  1094. };
  1095. function mr(t, e) {
  1096. if (e != Z.location.hostname)
  1097. for (var n = 0; n < t.length; n++)
  1098. if (t[n] instanceof RegExp) {
  1099. if (t[n].test(e))
  1100. return 1;
  1101. } else if (0 <= e.indexOf(t[n]))
  1102. return 1;
  1103. }
  1104. function wr(t, e) {
  1105. return e != gr(t, 0) && e != gr(t, -1) && e != gr(t, -2) && e != hr(t, 0) && e != hr(t, -1) && e != hr(t, -2);
  1106. }
  1107. function _r(t) {
  1108. var e = br(t);
  1109. return {
  1110. _ga: t.get(an),
  1111. _gid: t.get(xn) || void 0,
  1112. _gac: e ? [e.qa,e.timestamp].join('.') : void 0
  1113. };
  1114. }
  1115. function br(t) {
  1116. function e(t) {
  1117. return null == t || '' === t ? 0 : Number(t);
  1118. }
  1119. var n = t.get(Cn);
  1120. if (n && t.get(En)) {
  1121. var r = e(t.get(jn));
  1122. if (!(1000 * r + e(t.get(An)) <= new Date().getTime()))
  1123. return {
  1124. timestamp: r,
  1125. qa: n
  1126. };
  1127. f(76);
  1128. }
  1129. }
  1130. dr.prototype.S = function (r, a, t) {
  1131. function e(t) {
  1132. try {
  1133. t = t || W.event;
  1134. t: {
  1135. var e = t.target || t.srcElement;
  1136. for (t = 100; e && 0 < t;) {
  1137. if (e.href && e.nodeName.match(/^a(?:rea)?$/i)) {
  1138. var n = e;
  1139. break t;
  1140. }
  1141. e = e.parentNode, t--;
  1142. }
  1143. n = {};
  1144. }
  1145. ('http:' == n.protocol || 'https:' == n.protocol) && mr(r, n.hostname || '') && n.href && (n.href = pr(o, n.href, a));
  1146. } catch (t) {
  1147. f(26);
  1148. }
  1149. }
  1150. var o = this;
  1151. this.target.get(Me) ? lr.auto(function () {
  1152. return _r(o.target);
  1153. }, r, a ? 'fragment' : '', t) : (this.T || (this.T = !0, _(Z, 'mousedown', e, !1), _(Z, 'keyup', e, !1)), t && _(Z, 'submit', function (t) {
  1154. if ((t = (t = t || W.event).target || t.srcElement) && t.action) {
  1155. var e = t.action.match(cr);
  1156. e && mr(r, e[1]) && vr(o, t);
  1157. }
  1158. }));
  1159. };
  1160. function yr(t, e, n) {
  1161. this.aa = e, (e = n) || (e = (e = At(t, rn)) && 't0' != e ? Lr.test(e) ? '_gat_' + $(At(t, ln)) : '_gat_' + $(e) : '_gat'), this.Y = e, this.ra = null;
  1162. }
  1163. function kr(t, e) {
  1164. if (!(t = t.b).get('dcLoaded')) {
  1165. var n, r = new a(S(t));
  1166. r.set(29), t.set(De, r.w), (e = e || {})[un] && (n = $(e[un])), function (r, t) {
  1167. var n = t.get(Ze);
  1168. t.set(Ze, function (t) {
  1169. Ar(r, t, Ge), Ar(r, t, qe);
  1170. var e = n(t);
  1171. return Nr(r, t), e;
  1172. });
  1173. var a = t.get(Ye);
  1174. t.set(Ye, function (t) {
  1175. var e = a(t);
  1176. if (Er(t)) {
  1177. if (P() !== Rr(r, t)) {
  1178. f(80);
  1179. var n = {
  1180. U: Ir(r, t, 1),
  1181. google: Ir(r, t, 2),
  1182. count: 0
  1183. };
  1184. G('https://stats.g.doubleclick.net/j/collect', n.U, n);
  1185. } else
  1186. v(Ir(r, t, 0));
  1187. t.set(Ge, '', !0);
  1188. }
  1189. return e;
  1190. });
  1191. }(e = new yr(t, 'https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&', n), t), t.set('dcLoaded', !0);
  1192. }
  1193. }
  1194. function Or(t) {
  1195. if (!t.get('dcLoaded') && 'cookie' == t.get(wn)) {
  1196. var e = new yr(t);
  1197. if (Ar(e, t, Ge), Ar(e, t, qe), Nr(e, t), Er(t)) {
  1198. var n = P() !== Rr(e, t);
  1199. t.set(Ln, 1, !0), n ? (f(79), t.set(Pn, 'd', !0), t.set($n, {
  1200. U: Ir(e, t, 1),
  1201. google: Ir(e, t, 2),
  1202. count: 0
  1203. }, !0)) : t.set(Pn, 'b', !0);
  1204. }
  1205. }
  1206. }
  1207. function xr(t) {
  1208. function n(t, e) {
  1209. o.b.data.set(t, e);
  1210. }
  1211. function e(t, e) {
  1212. n(t, e), o.filters.add(t);
  1213. }
  1214. var r, a, o = this;
  1215. this.b = new jt(), this.filters = new F(), n(rn, t[rn]), n(ln, (r = t[ln]) ? r.replace(/^[\s\xa0]+|[\s\xa0]+$/g, '') : ''), n(un, t[un]), n(fn, t[fn] || y()), n(gn, t[gn]), n(hn, t[hn]), n(dn, t[dn]), n(pn, t[pn]), n(vn, t[vn]), n(mn, t[mn]), n(_n, t[_n]), n(bn, t[bn]), n(yn, t[yn]), n(kn, t[kn]), n(On, t[On]), n(wn, t[wn]), n(cn, t[cn]), n(on, t[on]), n(Tn, t[Tn]), n(En, t[En]), n(Me, t[Me]), n(In, t[In]), n(Gt, 1), n(qt, 'j81'), e(Ve, mt), e(nn, m), e(Fe, kt), e(He, wt), e(Be, xt), e(ze, Fn), e(Ke, Hn), e(Xe, vt), e(We, Ct), e(Je, yt), e(Qe, Ot), e(en, Or), e(Ze, _t), e(Ye, bt), e(tn, qn(this)), Mr(this.b), Pr(this.b, t[an]), this.b.set(Vt, (a = W.gaGlobal = W.gaGlobal || {}).hid = a.hid || Tt());
  1216. }
  1217. var Sr = /^(GTM|OPT)-[A-Z0-9]+$/, Tr = /;_gaexp=[^;]*/g, Cr = /;((__utma=)|([^;=]+=GAX?\d+\.))[^;]*/g, jr = /^https?:\/\/[\w\-.]+\.google.com(:\d+)?\/optimize\/opt-launch\.html\?.*$/, Ar = function (t, e, n) {
  1218. !1 === e.get(Mn) || e.get(n) || ('1' == R(t.Y)[0] ? e.set(n, '', !0) : e.set(n, '' + Tt(), !0));
  1219. }, Nr = function (t, e) {
  1220. Er(e) && L(t.Y, '1', At(e, gn), At(e, fn), At(e, ln), 60000, At(e, pn));
  1221. }, Er = function (t) {
  1222. return !!t.get(Ge) && !1 !== t.get(Mn);
  1223. }, Ir = function (t, e, n) {
  1224. function r(t) {
  1225. Ut(t).F && a.set(Ut(t).F, e.get(t));
  1226. }
  1227. var a = new x();
  1228. r(Gt), r(qt), r(ln), r(an), r(Ge), 0 != n && 1 != n || (r(cn), r(qe), r(xn)), a.set(Ut(Ue).F, g(e));
  1229. var o = '';
  1230. return a.map(function (t, e) {
  1231. o += w(t) + '=', o += w('' + e) + '&';
  1232. }), o += 'z=' + Tt(), 0 == n ? o = t.aa + o : 1 == n ? o = 't=dc&aip=1&_r=3&' + o : 2 == n && (o = 't=sr&aip=1&_r=4&slf_rd=1&' + o), o;
  1233. }, Rr = function (t, e) {
  1234. return null === t.ra && (t.ra = 1 === function (t) {
  1235. var e, n = new Gn();
  1236. if (n.fa && n.$)
  1237. return 0;
  1238. if (n.$ = !0, t) {
  1239. if (n.oa && void 0 !== t.get(n.oa))
  1240. return Nt(t, n.oa);
  1241. if (0 == t.get(kn))
  1242. return 0;
  1243. }
  1244. return 0 == n.V ? 0 : (void 0 === e && (e = St()), 0 == e % n.V ? Math.floor(e / n.V) % n.groups + 1 : 0);
  1245. }(e), t.ra && f(33)), t.ra;
  1246. }, Lr = /^gtm\d+$/, $r = /^(UA|YT|MO|GP)-(\d+)-(\d+)$/, Pr = function (t, e) {
  1247. var n = At(t, un);
  1248. if (t.data.set(Sn, '_ga' == n ? '_gid' : n + '_gid'), 'cookie' == At(t, wn)) {
  1249. if (Xn = !1, n = R(At(t, un)), !(n = Jn(t, n))) {
  1250. n = At(t, fn);
  1251. var r = At(t, vn) || y();
  1252. n = null != (n = ir('__utma', r, n)) ? (f(10), n.O[1] + '.' + n.O[2]) : void 0;
  1253. }
  1254. if (n && (Xn = !0), r = n && !t.get(dn))
  1255. if (2 != (r = n.split('.')).length)
  1256. r = !1;
  1257. else if (r = Number(r[1])) {
  1258. var a = Nt(t, hn);
  1259. r = r + a < new Date().getTime() / 1000;
  1260. } else
  1261. r = !1;
  1262. if (r && (n = void 0), n && (t.data.set(sn, n), t.data.set(an, n), (n = Zn(t)) && t.data.set(xn, n)), t.get(En) && (n = t.get(Cn), r = t.get(Nn), !n || r && 'aw.ds' != r)) {
  1263. if (n = {}, Z) {
  1264. r = [], a = Z.cookie.split(';');
  1265. for (var o = /^\s*_gac_(UA-\d+-\d+)=\s*(.+?)\s*$/, i = 0; i < a.length; i++) {
  1266. var s = a[i].match(o);
  1267. s && r.push({
  1268. ja: s[1],
  1269. value: s[2]
  1270. });
  1271. }
  1272. if (a = {}, r && r.length)
  1273. for (o = 0; o < r.length; o++)
  1274. '1' != (i = r[o].value.split('.'))[0] || 3 != i.length ? n && (n.na = !0) : i[1] && (a[r[o].ja] ? n && (n.pa = !0) : a[r[o].ja] = [], a[r[o].ja].push({
  1275. timestamp: i[1],
  1276. qa: i[2]
  1277. }));
  1278. r = a;
  1279. } else
  1280. r = {};
  1281. r = r[At(t, ln)], or(n), r && 0 != r.length && (n = r[0], t.data.set(jn, n.timestamp), t.data.set(Cn, n.qa));
  1282. }
  1283. }
  1284. if (t.get(dn) && (n = b('_ga', !!t.get(bn)), o = b('_gl', !!t.get(bn)), a = (r = lr.get(t.get(bn)))._ga, o && 0 < o.indexOf('_ga*') && !a && f(30), o = r.gclid, i = r._gac, n || a || o || i))
  1285. if (n && a && f(36), t.get(_n) || ft(t.get(Tn))) {
  1286. if (a && (f(38), t.data.set(an, a), r._gid && (f(51), t.data.set(xn, r._gid))), o ? (f(82), t.data.set(Cn, o), r.gclsrc && t.data.set(Nn, r.gclsrc)) : i && (r = i.split('.')) && 2 === r.length && (f(37), t.data.set(Cn, r[0]), t.data.set(jn, r[1])), n)
  1287. t:
  1288. if (r = n.indexOf('.'), -1 == r)
  1289. f(22);
  1290. else {
  1291. if (a = n.substring(0, r), r = (o = n.substring(r + 1)).indexOf('.'), n = o.substring(0, r), o = o.substring(r + 1), '1' == a) {
  1292. if (wr(r = o, n)) {
  1293. f(23);
  1294. break t;
  1295. }
  1296. } else {
  1297. if ('2' != a) {
  1298. f(22);
  1299. break t;
  1300. }
  1301. if (a = '', r = 0 < (r = o.indexOf('-')) ? (a = o.substring(0, r), o.substring(r + 1)) : o.substring(1), wr(a + r, n)) {
  1302. f(53);
  1303. break t;
  1304. }
  1305. a && (f(2), t.data.set(xn, a));
  1306. }
  1307. f(11), t.data.set(an, r), (n = b('_gac', !!t.get(bn))) && ('1' != (n = n.split('.'))[0] || 4 != n.length ? f(72) : wr(n[3], n[1]) ? f(71) : (t.data.set(Cn, n[3]), t.data.set(jn, n[2]), f(70)));
  1308. }
  1309. } else
  1310. f(21);
  1311. e && (f(9), t.data.set(an, w(e))), t.get(an) || ((e = (e = W.gaGlobal && W.gaGlobal.vid) && -1 != e.search(c) ? e : void 0) ? (f(17), t.data.set(an, e)) : (f(8), t.data.set(an, p()))), t.get(xn) || (f(3), t.data.set(xn, p())), Vn(t);
  1312. }, Mr = function (t) {
  1313. var e = W.navigator, n = W.screen, r = Z.location;
  1314. if (t.set(Zt, function (t, e) {
  1315. var n = Z.referrer;
  1316. if (/^(https?|android-app):\/\//i.test(n)) {
  1317. if (t)
  1318. return n;
  1319. if (t = '//' + Z.location.hostname, !k(n, t))
  1320. return e && (e = t.replace(/\./g, '-') + '.cdn.ampproject.org', k(n, e)) ? void 0 : n;
  1321. }
  1322. }(!!t.get(On), !!t.get(Tn))), r) {
  1323. var a = r.pathname || '';
  1324. '/' != a.charAt(0) && (f(31), a = '/' + a), t.set(Wt, r.protocol + '//' + r.hostname + a + r.search);
  1325. }
  1326. n && t.set(ee, n.width + 'x' + n.height), n && t.set(te, n.colorDepth + '-bit'), n = Z.documentElement;
  1327. var o = (a = Z.body) && a.clientWidth && a.clientHeight, i = [];
  1328. if (n && n.clientWidth && n.clientHeight && ('CSS1Compat' === Z.compatMode || !o) ? i = [n.clientWidth,n.clientHeight] : o && (i = [a.clientWidth,a.clientHeight]), n = i[0] <= 0 || i[1] <= 0 ? '' : i.join('x'), t.set(ne, n), t.set(ae, function () {
  1329. var t, e;
  1330. if ((e = (e = W.navigator) ? e.plugins : null) && e.length)
  1331. for (var n = 0; n < e.length && !t; n++) {
  1332. var r = e[n];
  1333. -1 < r.name.indexOf('Shockwave Flash') && (t = r.description);
  1334. }
  1335. if (!t)
  1336. try {
  1337. var a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.7');
  1338. t = a.GetVariable('$version');
  1339. } catch (t) {
  1340. }
  1341. if (!t)
  1342. try {
  1343. a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6'), t = 'WIN 6,0,21,0', a.AllowScriptAccess = 'always', t = a.GetVariable('$version');
  1344. } catch (t) {
  1345. }
  1346. if (!t)
  1347. try {
  1348. t = (a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash')).GetVariable('$version');
  1349. } catch (t) {
  1350. }
  1351. return t && (a = t.match(/[\d]+/g)) && 3 <= a.length && (t = a[0] + '.' + a[1] + ' r' + a[2]), t || void 0;
  1352. }()), t.set(Qt, Z.characterSet || Z.charset), t.set(re, e && 'function' == typeof e.javaEnabled && e.javaEnabled() || !1), t.set(Jt, (e && (e.language || e.browserLanguage) || '').toLowerCase()), t.data.set(Cn, b('gclid', !0)), t.data.set(Nn, b('gclsrc', !0)), t.data.set(jn, Math.round(new Date().getTime() / 1000)), r && t.get(bn) && (e = Z.location.hash)) {
  1353. for (e = e.split(/[?&#]+/), r = [], n = 0; n < e.length; ++n)
  1354. (C(e[n], 'utm_id') || C(e[n], 'utm_campaign') || C(e[n], 'utm_source') || C(e[n], 'utm_medium') || C(e[n], 'utm_term') || C(e[n], 'utm_content') || C(e[n], 'gclid') || C(e[n], 'dclid') || C(e[n], 'gclsrc')) && r.push(e[n]);
  1355. 0 < r.length && (e = '#' + r.join('&'), t.set(Wt, t.get(Wt) + e));
  1356. }
  1357. };
  1358. xr.prototype.get = function (t) {
  1359. return this.b.get(t);
  1360. }, xr.prototype.set = function (t, e) {
  1361. this.b.set(t, e);
  1362. };
  1363. var Ur = {
  1364. pageview: [Yt],
  1365. event: [oe,ie,se,ce],
  1366. social: [le,ue,fe],
  1367. timing: [xe,Se,Ce,Te]
  1368. };
  1369. xr.prototype.send = function (t) {
  1370. if (!(arguments.length < 1)) {
  1371. if ('string' == typeof t)
  1372. var e = t, n = [].slice.call(arguments, 1);
  1373. else
  1374. e = t && t[Ft], n = arguments;
  1375. e && ((n = O(Ur[e] || [], n))[Ft] = e, this.b.set(n, void 0, !0), this.filters.D(this.b), this.b.data.m = {});
  1376. }
  1377. }, xr.prototype.ma = function (t, e) {
  1378. var n = this;
  1379. Wr(t, n, e) || (Yr(t, function () {
  1380. Wr(t, n, e);
  1381. }), Zr(String(n.get(rn)), t, void 0, e, !0));
  1382. };
  1383. function Dr(t) {
  1384. return 'prerender' != Z.visibilityState && (t(), !0);
  1385. }
  1386. function Gr(r) {
  1387. if (!Dr(r)) {
  1388. f(16);
  1389. var a = !1;
  1390. _(Z, 'visibilitychange', function t() {
  1391. if (!a && Dr(r)) {
  1392. a = !0;
  1393. var e = t, n = Z;
  1394. n.removeEventListener ? n.removeEventListener('visibilitychange', e, !1) : n.detachEvent && n.detachEvent('onvisibilitychange', e);
  1395. }
  1396. });
  1397. }
  1398. }
  1399. function qr(t) {
  1400. if (h(t[0]))
  1401. this.u = t[0];
  1402. else {
  1403. var e = zr.exec(t[0]);
  1404. if (null != e && 4 == e.length && (this.c = e[1] || 't0', this.K = e[2] || '', this.methodName = e[3], this.a = [].slice.call(t, 1), this.K || (this.A = 'create' == this.methodName, this.i = 'require' == this.methodName, this.g = 'provide' == this.methodName, this.ba = 'remove' == this.methodName), this.i && (3 <= this.a.length ? (this.X = this.a[1], this.W = this.a[2]) : this.a[1] && (d(this.a[1]) ? this.X = this.a[1] : this.W = this.a[1]))), e = t[1], t = t[2], !this.methodName)
  1405. throw 'abort';
  1406. if (this.i && (!d(e) || '' == e))
  1407. throw 'abort';
  1408. if (this.g && (!d(e) || '' == e || !h(t)))
  1409. throw 'abort';
  1410. if (Kr(this.c) || Kr(this.K))
  1411. throw 'abort';
  1412. if (this.g && 't0' != this.c)
  1413. throw 'abort';
  1414. }
  1415. }
  1416. var Vr, Fr, Hr, Br, zr = /^(?:(\w+)\.)?(?:(\w+):)?(\w+)$/;
  1417. function Kr(t) {
  1418. return 0 <= t.indexOf('.') || 0 <= t.indexOf(':');
  1419. }
  1420. Vr = new x(), Hr = new x(), Br = new x(), Fr = {
  1421. ec: 45,
  1422. ecommerce: 46,
  1423. linkid: 47
  1424. };
  1425. function Xr(t, e) {
  1426. Vr.set(t, e), e = Br.get(t) || [];
  1427. for (var n = 0; n < e.length; n++)
  1428. e[n]();
  1429. Br.set(t, []);
  1430. }
  1431. var Wr = function (t, e, n) {
  1432. e == ea || e.get(rn);
  1433. var r = Vr.get(t);
  1434. return !!h(r) && (e.plugins_ = e.plugins_ || new x(), e.plugins_.get(t) || e.plugins_.set(t, new r(e, n || {})), !0);
  1435. }, Zr = function (t, e, n, r, a) {
  1436. if (!h(Vr.get(e)) && !Hr.get(e)) {
  1437. if (Fr.hasOwnProperty(e) && f(Fr[e]), t = ea.j(t), Sr.test(e)) {
  1438. if (f(52), !t)
  1439. return !0;
  1440. r = {
  1441. id: e,
  1442. B: (n = r || {}).dataLayer || 'dataLayer',
  1443. ia: !!t.get('anonymizeIp'),
  1444. sync: a,
  1445. G: !1
  1446. }, t.get('&gtm') == e && (r.G = !0);
  1447. var o = String(t.get('name'));
  1448. 't0' != o && (r.target = o), I(String(t.get('trackingId'))) || (r.clientId = String(t.get(an)), r.ka = Number(t.get(on)), n = n.palindrome ? Cr : Tr, n = (n = Z.cookie.replace(/^|(; +)/g, ';').match(n)) ? n.sort().join('').substring(1) : void 0, r.la = n, r.qa = N(t.b.get(Wt) || '', 'gclid')), n = r.B, o = new Date().getTime(), W[n] = W[n] || [], o = { 'gtm.start': o }, a || (o.event = 'gtm.js'), W[n].push(o), l = 'https://www.google-analytics.com/gtm/js?id=' + w((c = r).id), 'dataLayer' != c.B && s('l', c.B), s('t', c.target), s('cid', c.clientId), s('cidt', c.ka), s('gac', c.la), s('aip', c.ia), c.sync && s('m', 'sync'), s('cycle', c.G), c.qa && s('gclid', c.qa), jr.test(Z.referrer) && s('cb', String(Tt())), n = l;
  1449. }
  1450. if (!n && Fr.hasOwnProperty(e) ? (f(39), n = e + '.js') : f(43), n) {
  1451. if (t) {
  1452. var i = t.get(In);
  1453. d(i) || (i = void 0);
  1454. }
  1455. n && 0 <= n.indexOf('/') || (n = (i ? i + '/34' : M(!1) + '/plugins/ua/') + n), t = (i = Qr(n)).protocol, r = Z.location.protocol, ('https:' == t || t == r || 'http:' == t && 'http:' == r) && Jr(i) && ((i = i.url) && (t = (t = Z.querySelector && Z.querySelector('script[nonce]') || null) && (t.nonce || t.getAttribute && t.getAttribute('nonce')) || '', a ? (a = '', t && A.test(t) && (a = ' nonce="' + t + '"'), j.test(i) && Z.write('<script' + a + ' src="' + i + '"></script>')) : ((a = Z.createElement('script')).type = 'text/javascript', a.async = !0, a.src = i, t && a.setAttribute('nonce', t), (i = Z.getElementsByTagName('script')[0]).parentNode.insertBefore(a, i))), Hr.set(e, !0));
  1456. }
  1457. }
  1458. function s(t, e) {
  1459. e && (l += '&' + t + '=' + w(e));
  1460. }
  1461. var c, l;
  1462. }, Yr = function (t, e) {
  1463. var n = Br.get(t) || [];
  1464. n.push(e), Br.set(t, n);
  1465. }, Jr = function (t) {
  1466. var e = Qr(Z.location.href);
  1467. return !!C(t.url, 'https://www.google-analytics.com/gtm/js?id=') || !(t.query || 0 <= t.url.indexOf('?') || 0 <= t.path.indexOf('://')) && (t.host == e.host && t.port == e.port || (e = 'http:' == t.protocol ? 80 : 443, !('www.google-analytics.com' != t.host || (t.port || e) != e || !C(t.path, '/plugins/'))));
  1468. }, Qr = function (t) {
  1469. function e(t) {
  1470. var e = t.hostname || '', n = 0 <= e.indexOf(']');
  1471. return e = e.split(n ? ']' : ':')[0].toLowerCase(), n && (e += ']'), n = (t.protocol || '').toLowerCase(), n = +t.port || ('http:' == n ? 80 : 'https:' == n ? 443 : ''), t = t.pathname || '', C(t, '/') || (t = '/' + t), [e,""+n,t];
  1472. }
  1473. var n = Z.createElement('a');
  1474. n.href = Z.location.href;
  1475. var r = (n.protocol || '').toLowerCase(), a = e(n), o = n.search || '', i = r + '//' + a[0] + (a[1] ? ':' + a[1] : '');
  1476. return C(t, '//') ? t = r + t : C(t, '/') ? t = i + t : !t || C(t, '?') ? t = i + a[2] + (t || o) : t.split('/')[0].indexOf(':') < 0 && (t = i + a[2].substring(0, a[2].lastIndexOf('/')) + '/' + t), n.href = t, r = e(n), {
  1477. protocol: (n.protocol || '').toLowerCase(),
  1478. host: r[0],
  1479. port: r[1],
  1480. path: r[2],
  1481. query: n.search || '',
  1482. url: t || ''
  1483. };
  1484. }, ta = {
  1485. ga: function () {
  1486. ta.f = [];
  1487. }
  1488. };
  1489. ta.ga(), ta.D = function (t) {
  1490. var e = ta.J.apply(ta, arguments);
  1491. for (e = ta.f.concat(e), ta.f = []; 0 < e.length && !ta.v(e[0]) && (e.shift(), !(0 < ta.f.length)););
  1492. ta.f = ta.f.concat(e);
  1493. }, ta.J = function (t) {
  1494. for (var e = [], n = 0; n < arguments.length; n++)
  1495. try {
  1496. var r = new qr(arguments[n]);
  1497. r.g ? Xr(r.a[0], r.a[1]) : (r.i && (r.ha = Zr(r.c, r.a[0], r.X, r.W)), e.push(r));
  1498. } catch (t) {
  1499. }
  1500. return e;
  1501. }, ta.v = function (t) {
  1502. try {
  1503. if (t.u)
  1504. t.u.call(W, ea.j('t0'));
  1505. else {
  1506. var e = t.c == o ? ea : ea.j(t.c);
  1507. if (t.A) {
  1508. if ('t0' == t.c && null === (e = ea.create.apply(ea, t.a)))
  1509. return !0;
  1510. } else if (t.ba)
  1511. ea.remove(t.c);
  1512. else if (e)
  1513. if (t.i) {
  1514. if (t.ha && (t.ha = Zr(t.c, t.a[0], t.X, t.W)), !Wr(t.a[0], e, t.W))
  1515. return !0;
  1516. } else if (t.K) {
  1517. var n = t.methodName, r = t.a, a = e.plugins_.get(t.K);
  1518. a[n].apply(a, r);
  1519. } else
  1520. e[t.methodName].apply(e, t.a);
  1521. }
  1522. } catch (t) {
  1523. }
  1524. };
  1525. var ea = function (t) {
  1526. f(1), ta.D.apply(ta, [arguments]);
  1527. };
  1528. ea.h = {}, ea.P = [], ea.L = 0, ea.ya = 0, ea.answer = 42;
  1529. var na = [ln,fn,rn];
  1530. ea.create = function (t) {
  1531. var e = O(na, [].slice.call(arguments));
  1532. e[rn] || (e[rn] = 't0');
  1533. var n = '' + e[rn];
  1534. if (ea.h[n])
  1535. return ea.h[n];
  1536. if (function (t) {
  1537. if (ft(t[Tn])) {
  1538. var e;
  1539. if (void 0 === X)
  1540. (e = (e = lr.get()) && e._ga || void 0) && (X = e, f(81));
  1541. if (void 0 !== X)
  1542. return t[an] || (t[an] = X), !1;
  1543. }
  1544. if (t[Tn]) {
  1545. if (f(67), t[wn] && 'cookie' != t[wn])
  1546. return !1;
  1547. if (void 0 !== X)
  1548. t[an] || (t[an] = X);
  1549. else {
  1550. t: {
  1551. e = String(t[fn] || y());
  1552. var n = String(t[gn] || '/'), r = R(String(t[un] || '_ga'));
  1553. if (!(e = Qn(r, e, n)) || c.test(e))
  1554. e = !0;
  1555. else if (0 == (e = R('AMP_TOKEN')).length)
  1556. e = !0;
  1557. else {
  1558. if (1 == e.length && ('$RETRIEVING' == (e = decodeURIComponent(e[0])) || '$OPT_OUT' == e || '$ERROR' == e || '$NOT_FOUND' == e)) {
  1559. e = !0;
  1560. break t;
  1561. }
  1562. e = !1;
  1563. }
  1564. }
  1565. if (e && it(ot, String(t[ln])))
  1566. return !0;
  1567. }
  1568. }
  1569. return !1;
  1570. }(e))
  1571. return null;
  1572. if (e = new xr(e), ea.h[n] = e, ea.P.push(e), n = q().tracker_created, h(n))
  1573. try {
  1574. n(e);
  1575. } catch (t) {
  1576. }
  1577. return e;
  1578. }, ea.remove = function (t) {
  1579. for (var e = 0; e < ea.P.length; e++)
  1580. if (ea.P[e].get(rn) == t) {
  1581. ea.P.splice(e, 1), ea.h[t] = null;
  1582. break;
  1583. }
  1584. }, ea.j = function (t) {
  1585. return ea.h[t];
  1586. }, ea.getAll = function () {
  1587. return ea.P.slice(0);
  1588. }, ea.N = function () {
  1589. 'ga' != o && f(49);
  1590. var t = W[o];
  1591. if (!t || 42 != t.answer) {
  1592. ea.L = t && t.l, ea.ya = +new Date(), ea.loaded = !0;
  1593. var e = W[o] = ea;
  1594. if (Dn('create', e, e.create), Dn('remove', e, e.remove), Dn('getByName', e, e.j, 5), Dn('getAll', e, e.getAll, 6), Dn('get', e = xr.prototype, e.get, 7), Dn('set', e, e.set, 4), Dn('send', e, e.send), Dn('requireSync', e, e.ma), Dn('get', e = jt.prototype, e.get), Dn('set', e, e.set), 'https:' != Z.location.protocol && !s) {
  1595. t: {
  1596. e = Z.getElementsByTagName('script');
  1597. for (var n = 0; n < e.length && n < 100; n++) {
  1598. var r = e[n].src;
  1599. if (r && 0 == r.indexOf(M(!0) + '/analytics')) {
  1600. e = !0;
  1601. break t;
  1602. }
  1603. }
  1604. e = !1;
  1605. }
  1606. e && (s = !0);
  1607. }
  1608. e = ((W.gaplugins = W.gaplugins || {}).Linker = dr).prototype, Xr('linker', dr), Dn('decorate', e, e.ca, 20), Dn('autoLink', e, e.S, 25), Xr('displayfeatures', kr), Xr('adfeatures', kr), t = t && t.q, T(t) ? ta.D.apply(ea, t) : f(50);
  1609. }
  1610. }, ea.da = function () {
  1611. for (var t = ea.getAll(), e = 0; e < t.length; e++)
  1612. t[e].get(rn);
  1613. };
  1614. var ra = ea.N, aa = W[o];
  1615. aa && aa.r ? ra() : Gr(ra), Gr(function () {
  1616. ta.D(["provide","render",m]);
  1617. });
  1618. }(window);