diff --git a/static/_headers b/static/_headers
index 9ca3f0f..a91c22c 100644
--- a/static/_headers
+++ b/static/_headers
@@ -1,5 +1,5 @@
/*
- Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://utteranc.es; style-src 'self' 'unsafe-inline'; img-src 'self' data: https://www.google-analytics.com; font-src 'self'; connect-src 'self' https://www.google-analytics.com; frame-src https://www.youtube-nocookie.com https://utteranc.es; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests
+ Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://utteranc.es https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https://www.google-analytics.com; font-src 'self'; connect-src 'self' https://www.google-analytics.com https://cloudflareinsights.com; frame-src https://www.youtube-nocookie.com https://utteranc.es; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
diff --git a/static/js/cookieconsent.umd.js b/static/js/cookieconsent.umd.js
index 7fcf1fd..c7394b4 100644
--- a/static/js/cookieconsent.umd.js
+++ b/static/js/cookieconsent.umd.js
@@ -1,1483 +1,7 @@
/*!
- * CookieConsent 3.1.0
- * https://github.com/orestbida/cookieconsent
- * Author Orest Bida
- * Released under the MIT License
- */
-var e, t;
-((e = this),
- (t = function (e) {
- 'use strict';
- const t = 'opt-in',
- o = 'opt-out',
- n = 'show--consent',
- s = 'show--preferences',
- a = 'disable--interaction',
- c = 'data-category',
- r = 'div',
- i = 'button',
- l = 'aria-hidden',
- d = 'btn-group',
- f = 'click',
- _ = 'data-role',
- u = 'consentModal',
- p = 'preferencesModal';
- class g {
- constructor() {
- ((this.t = {
- mode: t,
- revision: 0,
- autoShow: !0,
- lazyHtmlGeneration: !0,
- autoClearCookies: !0,
- manageScriptTags: !0,
- hideFromBots: !0,
- cookie: {
- name: 'cc_cookie',
- expiresAfterDays: 182,
- domain: '',
- path: '/',
- secure: !0,
- sameSite: 'Lax',
- },
- }),
- (this.o = {
- i: {},
- l: '',
- _: {},
- u: {},
- p: {},
- m: [],
- v: !1,
- h: null,
- C: null,
- S: null,
- M: '',
- T: !0,
- D: !1,
- k: !1,
- A: !1,
- N: !1,
- H: [],
- V: !1,
- j: !0,
- I: [],
- L: !1,
- F: '',
- P: !1,
- O: [],
- R: [],
- B: [],
- $: [],
- G: !1,
- J: !1,
- U: !1,
- q: [],
- K: [],
- W: [],
- X: {},
- Y: {},
- Z: {},
- ee: {},
- te: {},
- oe: [],
- }),
- (this.ne = { se: {}, ae: {} }),
- (this.ce = {}),
- (this.re = {
- ie: 'cc:onFirstConsent',
- le: 'cc:onConsent',
- de: 'cc:onChange',
- fe: 'cc:onModalShow',
- _e: 'cc:onModalHide',
- ue: 'cc:onModalReady',
- }));
- }
- }
- const m = new g(),
- b = (e, t) => e.indexOf(t),
- v = (e, t) => -1 !== b(e, t),
- y = (e) => Array.isArray(e),
- h = (e) => 'string' == typeof e,
- C = (e) => !!e && 'object' == typeof e && !y(e),
- w = (e) => 'function' == typeof e,
- S = (e) => Object.keys(e),
- x = (e) => Array.from(new Set(e)),
- M = () => document.activeElement,
- T = (e) => e.preventDefault(),
- D = (e, t) => e.querySelectorAll(t),
- k = (e) => e.dispatchEvent(new Event('change')),
- E = (e) => {
- const t = document.createElement(e);
- return (e === i && (t.type = e), t);
- },
- A = (e, t, o) => e.setAttribute(t, o),
- N = (e, t, o) => {
- e.removeAttribute(o ? 'data-' + t : t);
- },
- H = (e, t, o) => e.getAttribute(o ? 'data-' + t : t),
- V = (e, t) => e.appendChild(t),
- j = (e, t) => e.classList.add(t),
- I = (e, t) => j(e, 'cm__' + t),
- L = (e, t) => j(e, 'pm__' + t),
- F = (e, t) => e.classList.remove(t),
- P = (e) => {
- if ('object' != typeof e) return e;
- if (e instanceof Date) return new Date(e.getTime());
- let t = Array.isArray(e) ? [] : {};
- for (let o in e) {
- let n = e[o];
- t[o] = P(n);
- }
- return t;
- },
- O = () => {
- const e = {},
- { O: t, X: o, Y: n } = m.o;
- for (const s of t) e[s] = G(n[s], S(o[s]));
- return e;
- },
- R = (e, t) => dispatchEvent(new CustomEvent(e, { detail: t })),
- B = (e, t, o, n) => {
- (e.addEventListener(t, o), n && m.o.m.push({ pe: e, ge: t, me: o }));
- },
- $ = () => {
- const e = m.t.cookie.expiresAfterDays;
- return w(e) ? e(m.o.F) : e;
- },
- G = (e, t) => {
- const o = e || [],
- n = t || [];
- return o.filter((e) => !v(n, e)).concat(n.filter((e) => !v(o, e)));
- },
- J = (e) => {
- ((m.o.R = x(e)),
- (m.o.F = (() => {
- let e = 'custom';
- const { R: t, O: o, B: n } = m.o,
- s = t.length;
- return (s === o.length ? (e = 'all') : s === n.length && (e = 'necessary'), e);
- })()));
- },
- U = (e, t, o, n) => {
- const s = 'accept-',
- { show: a, showPreferences: c, hide: r, hidePreferences: i, acceptCategory: l } = t,
- d = e || document,
- _ = (e) => D(d, `[data-cc="${e}"]`),
- u = (e, t) => {
- (T(e), l(t), i(), r());
- },
- p = _('show-preferencesModal'),
- g = _('show-consentModal'),
- b = _(s + 'all'),
- v = _(s + 'necessary'),
- y = _(s + 'custom'),
- h = m.t.lazyHtmlGeneration;
- for (const e of p)
- (A(e, 'aria-haspopup', 'dialog'),
- B(e, f, (e) => {
- (T(e), c());
- }),
- h &&
- (B(
- e,
- 'mouseenter',
- (e) => {
- (T(e), m.o.N || o(t, n));
- },
- !0,
- ),
- B(e, 'focus', () => {
- m.o.N || o(t, n);
- })));
- for (let e of g)
- (A(e, 'aria-haspopup', 'dialog'),
- B(
- e,
- f,
- (e) => {
- (T(e), a(!0));
- },
- !0,
- ));
- for (let e of b)
- B(
- e,
- f,
- (e) => {
- u(e, 'all');
- },
- !0,
- );
- for (let e of y)
- B(
- e,
- f,
- (e) => {
- u(e);
- },
- !0,
- );
- for (let e of v)
- B(
- e,
- f,
- (e) => {
- u(e, []);
- },
- !0,
- );
- },
- z = (e, t) => {
- e && (t && (e.tabIndex = -1), e.focus(), t && e.removeAttribute('tabindex'));
- },
- q = (e, t) => {
- const o = (n) => {
- (n.target.removeEventListener('transitionend', o),
- 'opacity' === n.propertyName &&
- '1' === getComputedStyle(e).opacity &&
- z(((e) => (1 === e ? m.ne.be : m.ne.ve))(t)));
- };
- B(e, 'transitionend', o);
- };
- let K;
- const Q = (e) => {
- (clearTimeout(K),
- e
- ? j(m.ne.ye, a)
- : (K = setTimeout(() => {
- F(m.ne.ye, a);
- }, 500)));
- },
- W = [
- 'M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5',
- 'M 3.572 13.406 L 8.281 18.115 L 20.428 5.885',
- 'M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 ',
- ],
- X = (e = 0, t = 1.5) =>
- ``,
- Y = (e) => {
- const t = m.ne,
- o = m.o;
- ((e) => {
- const n = e === t.he,
- s = o.i.disablePageInteraction ? t.ye : n ? t.Ce : t.ye;
- B(
- s,
- 'keydown',
- (t) => {
- if ('Tab' !== t.key || !(n ? o.k && !o.A : o.A)) return;
- const s = M(),
- a = n ? o.q : o.K;
- 0 !== a.length &&
- (t.shiftKey
- ? (s !== a[0] && e.contains(s)) || (T(t), z(a[1]))
- : (s !== a[1] && e.contains(s)) || (T(t), z(a[0])));
- },
- !0,
- );
- })(e);
- },
- Z = ['[href]', i, 'input', 'details', '[tabindex]']
- .map((e) => e + ':not([tabindex="-1"])')
- .join(','),
- ee = (e) => {
- const { o: t, ne: o } = m,
- n = (e, t) => {
- const o = D(e, Z);
- ((t[0] = o[0]), (t[1] = o[o.length - 1]));
- };
- (1 === e && t.D && n(o.he, t.q), 2 === e && t.N && n(o.we, t.K));
- },
- te = (e, t, o) => {
- const { de: n, le: s, ie: a, _e: c, ue: r, fe: i } = m.ce,
- l = m.re;
- if (t) {
- const n = { modalName: t };
- return (
- e === l.fe ? w(i) && i(n) : e === l._e ? w(c) && c(n) : ((n.modal = o), w(r) && r(n)),
- R(e, n)
- );
- }
- const d = { cookie: m.o.p };
- (e === l.ie
- ? w(a) && a(P(d))
- : e === l.le
- ? w(s) && s(P(d))
- : ((d.changedCategories = m.o.I), (d.changedServices = m.o.ee), w(n) && n(P(d))),
- R(e, P(d)));
- },
- oe = (e, t) => {
- try {
- return e();
- } catch (e) {
- return (!t && console.warn('CookieConsent:', e), !1);
- }
- },
- ne = (e) => {
- const { Y: t, ee: o, O: n, X: s, oe: a, p: r, I: i } = m.o;
- for (const e of n) {
- const n = o[e] || t[e] || [];
- for (const o of n) {
- const n = s[e][o];
- if (!n) continue;
- const { onAccept: a, onReject: c } = n;
- !n.Se && v(t[e], o)
- ? ((n.Se = !0), w(a) && a())
- : n.Se && !v(t[e], o) && ((n.Se = !1), w(c) && c());
- }
- }
- if (!m.t.manageScriptTags) return;
- const l = a,
- d = e || r.categories || [],
- f = (e, n) => {
- if (n >= e.length) return;
- const s = a[n];
- if (s.xe) return f(e, n + 1);
- const r = s.Me,
- l = s.Te,
- _ = s.De,
- u = v(d, l),
- p = !!_ && v(t[l], _);
- if (
- (!_ && !s.ke && u) ||
- (!_ && s.ke && !u && v(i, l)) ||
- (_ && !s.ke && p) ||
- (_ && s.ke && !p && v(o[l] || [], _))
- ) {
- s.xe = !0;
- const t = H(r, 'type', !0);
- (N(r, 'type', !!t), N(r, c));
- let o = H(r, 'src', !0);
- o && N(r, 'src', !0);
- const a = E('script');
- a.textContent = r.innerHTML;
- for (const { nodeName: e } of r.attributes) A(a, e, r[e] || H(r, e));
- (t && (a.type = t), o ? (a.src = o) : (o = r.src));
- const i = !!o && (!t || ['text/javascript', 'module'].includes(t));
- if (
- (i &&
- (a.onload = a.onerror =
- () => {
- f(e, ++n);
- }),
- r.replaceWith(a),
- i)
- )
- return;
- }
- f(e, ++n);
- };
- f(l, 0);
- },
- se = 'bottom',
- ae = 'left',
- ce = 'center',
- re = 'right',
- ie = 'inline',
- le = 'wide',
- de = 'pm--',
- fe = ['middle', 'top', se],
- _e = [ae, ce, re],
- ue = {
- box: { Ee: [le, ie], Ae: fe, Ne: _e, He: se, Ve: re },
- cloud: { Ee: [ie], Ae: fe, Ne: _e, He: se, Ve: ce },
- bar: { Ee: [ie], Ae: fe.slice(1), Ne: [], He: se, Ve: '' },
- },
- pe = {
- box: { Ee: [], Ae: [], Ne: [], He: '', Ve: '' },
- bar: { Ee: [le], Ae: [], Ne: [ae, re], He: '', Ve: ae },
- },
- ge = (e) => {
- const t = m.o.i.guiOptions,
- o = t && t.consentModal,
- n = t && t.preferencesModal;
- (0 === e && me(m.ne.he, ue, o, 'cm--', 'box', 'cm'),
- 1 === e && me(m.ne.we, pe, n, de, 'box', 'pm'));
- },
- me = (e, t, o, n, s, a) => {
- e.className = a;
- const c = o && o.layout,
- r = o && o.position,
- i = o && o.flipButtons,
- l = !o || !1 !== o.equalWeightButtons,
- d = (c && c.split(' ')) || [],
- f = d[0],
- _ = d[1],
- u = f in t ? f : s,
- p = t[u],
- g = v(p.Ee, _) && _,
- b = (r && r.split(' ')) || [],
- y = b[0],
- h = n === de ? b[0] : b[1],
- C = v(p.Ae, y) ? y : p.He,
- w = v(p.Ne, h) ? h : p.Ve,
- S = (t) => {
- t && j(e, n + t);
- };
- (S(u), S(g), S(C), S(w), i && S('flip'));
- const x = a + '__btn--secondary';
- if ('cm' === a) {
- const { je: e, Ie: t } = m.ne;
- (e && (l ? F(e, x) : j(e, x)), t && (l ? F(t, x) : j(t, x)));
- } else {
- const { Le: e } = m.ne;
- e && (l ? F(e, x) : j(e, x));
- }
- },
- be = (e, t) => {
- const o = m.o,
- n = m.ne,
- { hide: s, hidePreferences: a, acceptCategory: c } = e,
- u = (e) => {
- (c(e), a(), s());
- },
- g = o.u && o.u.preferencesModal;
- if (!g) return;
- const b = g.title,
- v = g.closeIconLabel,
- y = g.acceptAllBtn,
- w = g.acceptNecessaryBtn,
- x = g.savePreferencesBtn,
- M = g.sections || [],
- T = y || w || x;
- if (n.Fe) ((n.Pe = E(r)), L(n.Pe, 'body'));
- else {
- ((n.Fe = E(r)), j(n.Fe, 'pm-wrapper'));
- const e = E('div');
- (j(e, 'pm-overlay'),
- V(n.Fe, e),
- B(e, f, a),
- (n.we = E(r)),
- j(n.we, 'pm'),
- A(n.we, 'role', 'dialog'),
- A(n.we, l, !0),
- A(n.we, 'aria-modal', !0),
- A(n.we, 'aria-labelledby', 'pm__title'),
- B(
- n.ye,
- 'keydown',
- (e) => {
- 27 === e.keyCode && a();
- },
- !0,
- ),
- (n.Oe = E(r)),
- L(n.Oe, 'header'),
- (n.Re = E('h2')),
- L(n.Re, 'title'),
- (n.Re.id = 'pm__title'),
- (n.Be = E(i)),
- L(n.Be, 'close-btn'),
- A(n.Be, 'aria-label', g.closeIconLabel || ''),
- B(n.Be, f, a),
- (n.$e = E('span')),
- (n.$e.innerHTML = X()),
- V(n.Be, n.$e),
- (n.Ge = E(r)),
- L(n.Ge, 'body'),
- (n.Je = E(r)),
- L(n.Je, 'footer'));
- var D = E(r);
- j(D, 'btns');
- var k = E(r),
- N = E(r);
- (L(k, d),
- L(N, d),
- V(n.Je, k),
- V(n.Je, N),
- V(n.Oe, n.Re),
- V(n.Oe, n.Be),
- (n.ve = E(r)),
- A(n.ve, 'tabIndex', -1),
- V(n.we, n.ve),
- V(n.we, n.Oe),
- V(n.we, n.Ge),
- T && V(n.we, n.Je),
- V(n.Fe, n.we));
- }
- let H;
- (b && ((n.Re.innerHTML = b), v && A(n.Be, 'aria-label', v)),
- M.forEach((e, t) => {
- const s = e.title,
- a = e.description,
- c = e.linkedCategory,
- d = c && o.P[c],
- _ = e.cookieTable,
- u = _ && _.body,
- p = _ && _.caption,
- m = u && u.length > 0,
- b = !!d,
- v = b && o.X[c],
- y = (C(v) && S(v)) || [],
- w = b && (!!a || !!m || S(v).length > 0);
- var x = E(r);
- if ((L(x, 'section'), w || a)) {
- var M = E(r);
- L(M, 'section-desc-wrapper');
- }
- let T = y.length;
- if (w && T > 0) {
- const e = E(r);
- L(e, 'section-services');
- for (const t of y) {
- const o = v[t],
- n = (o && o.label) || t,
- s = E(r),
- a = E(r),
- i = E(r),
- l = E(r);
- (L(s, 'service'),
- L(l, 'service-title'),
- L(a, 'service-header'),
- L(i, 'service-icon'));
- const f = ve(n, t, d, !0, c);
- ((l.innerHTML = n), V(a, i), V(a, l), V(s, a), V(s, f), V(e, s));
- }
- V(M, e);
- }
- if (s) {
- var D = E(r),
- k = E(b ? i : r);
- if (
- (L(D, 'section-title-wrapper'),
- L(k, 'section-title'),
- (k.innerHTML = s),
- V(D, k),
- b)
- ) {
- const e = E('span');
- ((e.innerHTML = X(2, 3.5)),
- L(e, 'section-arrow'),
- V(D, e),
- (x.className += '--toggle'));
- const t = ve(s, c, d);
- let o = g.serviceCounterLabel;
- if (T > 0 && h(o)) {
- let e = E('span');
- (L(e, 'badge'),
- L(e, 'service-counter'),
- A(e, l, !0),
- A(e, 'data-servicecounter', T),
- o &&
- ((o = o.split('|')),
- (o = o.length > 1 && T > 1 ? o[1] : o[0]),
- A(e, 'data-counterlabel', o)),
- (e.innerHTML = T + (o ? ' ' + o : '')),
- V(k, e));
- }
- if (w) {
- L(x, 'section--expandable');
- var N = c + '-desc';
- (A(k, 'aria-expanded', !1), A(k, 'aria-controls', N));
- }
- V(D, t);
- } else (A(k, 'role', 'heading'), A(k, 'aria-level', '3'));
- V(x, D);
- }
- if (a) {
- var I = E('p');
- (L(I, 'section-desc'), (I.innerHTML = a), V(M, I));
- }
- if (
- w &&
- (A(M, l, 'true'),
- (M.id = N),
- ((e, t, o) => {
- B(k, f, () => {
- t.classList.contains('is-expanded')
- ? (F(t, 'is-expanded'), A(o, 'aria-expanded', 'false'), A(e, l, 'true'))
- : (j(t, 'is-expanded'), A(o, 'aria-expanded', 'true'), A(e, l, 'false'));
- });
- })(M, x, k),
- m)
- ) {
- const e = E('table'),
- o = E('thead'),
- s = E('tbody');
- if (p) {
- const t = E('caption');
- (L(t, 'table-caption'), (t.innerHTML = p), e.appendChild(t));
- }
- (L(e, 'section-table'), L(o, 'table-head'), L(s, 'table-body'));
- const a = _.headers,
- c = S(a),
- i = n.Ue.createDocumentFragment(),
- l = E('tr');
- for (const e of c) {
- const o = a[e],
- n = E('th');
- ((n.id = 'cc__row-' + o + t),
- A(n, 'scope', 'col'),
- L(n, 'table-th'),
- (n.innerHTML = o),
- V(i, n));
- }
- (V(l, i), V(o, l));
- const d = n.Ue.createDocumentFragment();
- for (const e of u) {
- const o = E('tr');
- L(o, 'table-tr');
- for (const n of c) {
- const s = a[n],
- c = e[n],
- i = E('td'),
- l = E(r);
- (L(i, 'table-td'),
- A(i, 'data-column', s),
- A(i, 'headers', 'cc__row-' + s + t),
- l.insertAdjacentHTML('beforeend', c),
- V(i, l),
- V(o, i));
- }
- V(d, o);
- }
- (V(s, d), V(e, o), V(e, s), V(M, e));
- }
- (w || a) && V(x, M);
- const P = n.Pe || n.Ge;
- (b ? (H || ((H = E(r)), L(H, 'section-toggles')), H.appendChild(x)) : (H = null),
- V(P, H || x));
- }),
- y &&
- (n.ze ||
- ((n.ze = E(i)),
- L(n.ze, 'btn'),
- A(n.ze, _, 'all'),
- V(k, n.ze),
- B(n.ze, f, () => u('all'))),
- (n.ze.innerHTML = y)),
- w &&
- (n.Le ||
- ((n.Le = E(i)),
- L(n.Le, 'btn'),
- A(n.Le, _, 'necessary'),
- V(k, n.Le),
- B(n.Le, f, () => u([]))),
- (n.Le.innerHTML = w)),
- x &&
- (n.qe ||
- ((n.qe = E(i)),
- L(n.qe, 'btn'),
- L(n.qe, 'btn--secondary'),
- A(n.qe, _, 'save'),
- V(N, n.qe),
- B(n.qe, f, () => u())),
- (n.qe.innerHTML = x)),
- n.Pe && (n.we.replaceChild(n.Pe, n.Ge), (n.Ge = n.Pe)),
- ge(1),
- o.N ||
- ((o.N = !0),
- te(m.re.ue, p, n.we),
- t(e),
- V(n.Ce, n.Fe),
- Y(n.we),
- setTimeout(() => j(n.Fe, 'cc--anim'), 100)),
- ee(2));
- };
- function ve(e, t, o, n, s) {
- const a = m.o,
- r = m.ne,
- i = E('label'),
- d = E('input'),
- _ = E('span'),
- u = E('span'),
- p = E('span'),
- g = E('span'),
- b = E('span');
- if (
- ((g.innerHTML = X(1, 3)),
- (b.innerHTML = X(0, 3)),
- (d.type = 'checkbox'),
- j(i, 'section__toggle-wrapper'),
- j(d, 'section__toggle'),
- j(g, 'toggle__icon-on'),
- j(b, 'toggle__icon-off'),
- j(_, 'toggle__icon'),
- j(u, 'toggle__icon-circle'),
- j(p, 'toggle__label'),
- A(_, l, 'true'),
- n ? (j(i, 'toggle-service'), A(d, c, s), (r.ae[s][t] = d)) : (r.se[t] = d),
- n
- ? ((e) => {
- B(d, 'change', () => {
- const t = r.ae[e],
- o = r.se[e];
- a.Z[e] = [];
- for (let o in t) {
- const n = t[o];
- n.checked && a.Z[e].push(n.value);
- }
- o.checked = a.Z[e].length > 0;
- });
- })(s)
- : ((e) => {
- B(d, f, () => {
- const t = r.ae[e],
- o = d.checked;
- a.Z[e] = [];
- for (let n in t) ((t[n].checked = o), o && a.Z[e].push(n));
- });
- })(t),
- (d.value = t),
- (p.textContent = e.replace(/<.*>.*<\/.*>/gm, '')),
- V(u, b),
- V(u, g),
- V(_, u),
- a.T)
- )
- (o.readOnly || o.enabled) && (d.checked = !0);
- else if (n) {
- const e = a.Y[s];
- d.checked = o.readOnly || v(e, t);
- } else v(a.R, t) && (d.checked = !0);
- return (o.readOnly && (d.disabled = !0), V(i, d), V(i, _), V(i, p), i);
- }
- const ye = () => {
- const e = E('span');
- return (m.ne.Ke || (m.ne.Ke = e), e);
- },
- he = (e, t) => {
- const o = m.o,
- n = m.ne,
- { hide: s, showPreferences: a, acceptCategory: c } = e,
- p = o.u && o.u.consentModal;
- if (!p) return;
- const g = p.acceptAllBtn,
- b = p.acceptNecessaryBtn,
- v = p.showPreferencesBtn,
- y = p.closeIconLabel,
- h = p.footer,
- C = p.label,
- w = p.title,
- S = (e) => {
- (s(), c(e));
- };
- if (!n.Qe) {
- ((n.Qe = E(r)),
- (n.he = E(r)),
- (n.We = E(r)),
- (n.Xe = E(r)),
- (n.Ye = E(r)),
- j(n.Qe, 'cm-wrapper'),
- j(n.he, 'cm'),
- I(n.We, 'body'),
- I(n.Xe, 'texts'),
- I(n.Ye, 'btns'),
- A(n.he, 'role', 'dialog'),
- A(n.he, 'aria-modal', 'true'),
- A(n.he, l, 'false'),
- A(n.he, 'aria-describedby', 'cm__desc'),
- C ? A(n.he, 'aria-label', C) : w && A(n.he, 'aria-labelledby', 'cm__title'));
- const e = 'box',
- t = o.i.guiOptions,
- s = t && t.consentModal,
- a = ((s && s.layout) || e).split(' ')[0] === e;
- (w &&
- y &&
- a &&
- (n.Ie ||
- ((n.Ie = E(i)),
- (n.Ie.innerHTML = X()),
- I(n.Ie, 'btn'),
- I(n.Ie, 'btn--close'),
- B(n.Ie, f, () => {
- S([]);
- }),
- V(n.We, n.Ie)),
- A(n.Ie, 'aria-label', y)),
- V(n.We, n.Xe),
- (g || b || v) && V(n.We, n.Ye),
- (n.be = E(r)),
- A(n.be, 'tabIndex', -1),
- V(n.he, n.be),
- V(n.he, n.We),
- V(n.Qe, n.he));
- }
- w &&
- (n.Ze || ((n.Ze = E('h2')), (n.Ze.className = n.Ze.id = 'cm__title'), V(n.Xe, n.Ze)),
- (n.Ze.innerHTML = w));
- let x = p.description;
- if (
- (x &&
- (o.V && (x = x.replace('{{revisionMessage}}', o.j ? '' : p.revisionMessage || '')),
- n.et || ((n.et = E('p')), (n.et.className = n.et.id = 'cm__desc'), V(n.Xe, n.et)),
- (n.et.innerHTML = x)),
- g &&
- (n.tt ||
- ((n.tt = E(i)),
- V(n.tt, ye()),
- I(n.tt, 'btn'),
- A(n.tt, _, 'all'),
- B(n.tt, f, () => {
- S('all');
- })),
- (n.tt.firstElementChild.innerHTML = g)),
- b &&
- (n.je ||
- ((n.je = E(i)),
- V(n.je, ye()),
- I(n.je, 'btn'),
- A(n.je, _, 'necessary'),
- B(n.je, f, () => {
- S([]);
- })),
- (n.je.firstElementChild.innerHTML = b)),
- v &&
- (n.ot ||
- ((n.ot = E(i)),
- V(n.ot, ye()),
- I(n.ot, 'btn'),
- I(n.ot, 'btn--secondary'),
- A(n.ot, _, 'show'),
- B(n.ot, 'mouseenter', () => {
- o.N || be(e, t);
- }),
- B(n.ot, f, a)),
- (n.ot.firstElementChild.innerHTML = v)),
- n.nt ||
- ((n.nt = E(r)),
- I(n.nt, d),
- g && V(n.nt, n.tt),
- b && V(n.nt, n.je),
- (g || b) && V(n.We, n.nt),
- V(n.Ye, n.nt)),
- n.ot &&
- !n.st &&
- ((n.st = E(r)),
- n.je && n.tt
- ? (I(n.st, d), V(n.st, n.ot), V(n.Ye, n.st))
- : (V(n.nt, n.ot), I(n.nt, d + '--uneven'))),
- h)
- ) {
- if (!n.ct) {
- let e = E(r),
- t = E(r);
- ((n.ct = E(r)),
- I(e, 'footer'),
- I(t, 'links'),
- I(n.ct, 'link-group'),
- V(t, n.ct),
- V(e, t),
- V(n.he, e));
- }
- n.ct.innerHTML = h;
- }
- (ge(0),
- o.D ||
- ((o.D = !0),
- te(m.re.ue, u, n.he),
- t(e),
- V(n.Ce, n.Qe),
- Y(n.he),
- setTimeout(() => j(n.Qe, 'cc--anim'), 100)),
- ee(1),
- U(n.We, e, be, t));
- },
- Ce = (e) => {
- if (!h(e)) return null;
- if (e in m.o._) return e;
- let t = e.slice(0, 2);
- return t in m.o._ ? t : null;
- },
- we = () => m.o.l || m.o.i.language.default,
- Se = (e) => {
- e && (m.o.l = e);
- },
- xe = async (e) => {
- const t = m.o;
- let o = Ce(e) ? e : we(),
- n = t._[o];
- if (
- (h(n)
- ? (n = await (async (e) => {
- try {
- const t = await fetch(e);
- return await t.json();
- } catch (e) {
- return (console.error(e), !1);
- }
- })(n))
- : w(n) && (n = await n()),
- !n)
- )
- throw `Could not load translation for the '${o}' language`;
- return ((t.u = n), Se(o), !0);
- },
- Me = () => {
- let e = m.o.i.language.rtl,
- t = m.ne.Ce;
- e && t && (y(e) || (e = [e]), v(e, m.o.l) ? j(t, 'cc--rtl') : F(t, 'cc--rtl'));
- },
- Te = () => {
- const e = m.ne;
- if (e.Ce) return;
- ((e.Ce = E(r)), (e.Ce.id = 'cc-main'), e.Ce.setAttribute('data-nosnippet', ''), Me());
- let t = m.o.i.root;
- (t && h(t) && (t = document.querySelector(t)), (t || e.Ue.body).appendChild(e.Ce));
- },
- De = (e) => oe(() => localStorage.removeItem(e)),
- ke = (e, t) => {
- if (t instanceof RegExp) return e.filter((e) => t.test(e));
- {
- const o = b(e, t);
- return o > -1 ? [e[o]] : [];
- }
- },
- Ee = (e) => {
- const { hostname: t, protocol: o } = location,
- { name: n, path: s, domain: a, sameSite: c, useLocalStorage: r, secure: i } = m.t.cookie,
- l = e
- ? (() => {
- const e = m.o.S,
- t = e ? new Date() - e : 0;
- return 864e5 * $() - t;
- })()
- : 864e5 * $(),
- d = new Date();
- (d.setTime(d.getTime() + l), (m.o.p.expirationTime = d.getTime()));
- const f = JSON.stringify(m.o.p);
- let _ =
- n +
- '=' +
- encodeURIComponent(f) +
- (0 !== l ? '; expires=' + d.toUTCString() : '') +
- '; Path=' +
- s +
- '; SameSite=' +
- c;
- (v(t, '.') && (_ += '; Domain=' + a),
- i && 'https:' === o && (_ += '; Secure'),
- r
- ? ((e, t) => {
- oe(() => localStorage.setItem(e, t));
- })(n, f)
- : (document.cookie = _),
- m.o.p);
- },
- Ae = (e, t, o) => {
- if (0 === e.length) return;
- const n = o || m.t.cookie.domain,
- s = t || m.t.cookie.path,
- a = 'www.' === n.slice(0, 4),
- c = a && n.substring(4),
- r = (e, t) => {
- (t && '.' !== t.slice(0, 1) && (t = '.' + t),
- (document.cookie =
- e +
- '=; path=' +
- s +
- (t ? '; domain=' + t : '') +
- '; expires=Thu, 01 Jan 1970 00:00:01 GMT;'));
- };
- for (const t of e) (r(t, o), o || r(t, n), a && r(t, c));
- },
- Ne = (e) => {
- const t = e || m.t.cookie.name,
- o = m.t.cookie.useLocalStorage;
- return ((e, t) => {
- let o;
- return ((o = oe(() => JSON.parse(t ? e : decodeURIComponent(e)), !0) || {}), o);
- })(o ? ((n = t), oe(() => localStorage.getItem(n)) || '') : He(t, !0), o);
- var n;
- },
- He = (e, t) => {
- const o = document.cookie.match('(^|;)\\s*' + e + '\\s*=\\s*([^;]+)');
- return o ? (t ? o.pop() : e) : '';
- },
- Ve = (e) => {
- const t = document.cookie.split(/;\s*/),
- o = [];
- for (const n of t) {
- let t = n.split('=')[0];
- e
- ? oe(() => {
- e.test(t) && o.push(t);
- })
- : o.push(t);
- }
- return o;
- },
- je = (e, n = []) => {
- (((e, t) => {
- const { O: o, R: n, B: s, N: a, Z: c, $: r, X: i } = m.o;
- let l = [];
- if (e) {
- y(e) ? l.push(...e) : h(e) && (l = 'all' === e ? o : [e]);
- for (const e of o) c[e] = v(l, e) ? S(i[e]) : [];
- } else
- ((l = [...n, ...r]),
- a &&
- (l = (() => {
- const e = m.ne.se;
- if (!e) return [];
- let t = [];
- for (let o in e) e[o].checked && t.push(o);
- return t;
- })()));
- ((l = l.filter((e) => !v(o, e) || !v(t, e))), l.push(...s), J(l));
- })(e, n),
- (() => {
- const e = m.o,
- { Z: t, B: o, Y: n, X: s, O: a } = e,
- c = a;
- e.te = P(n);
- for (const a of c) {
- const c = s[a],
- r = S(c),
- i = t[a] && t[a].length > 0,
- l = v(o, a);
- if (0 !== r.length) {
- if (((n[a] = []), l)) n[a].push(...r);
- else if (i) {
- const e = t[a];
- n[a].push(...e);
- } else n[a] = e.Z[a];
- n[a] = x(n[a]);
- }
- }
- })(),
- (() => {
- const e = m.o;
- e.I = m.t.mode === o && e.T ? G(e.$, e.R) : G(e.R, e.p.categories);
- let n = e.I.length > 0,
- s = !1;
- for (const t of e.O) ((e.ee[t] = G(e.Y[t], e.te[t])), e.ee[t].length > 0 && (s = !0));
- const a = m.ne.se;
- for (const t in a) a[t].checked = v(e.R, t);
- for (const t of e.O) {
- const o = m.ne.ae[t],
- n = e.Y[t];
- for (const e in o) o[e].checked = v(n, e);
- }
- (e.C || (e.C = new Date()),
- e.M ||
- (e.M = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (e) =>
- (e ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (e / 4)))).toString(
- 16,
- ),
- )),
- (e.p = {
- categories: P(e.R),
- revision: m.t.revision,
- data: e.h,
- consentTimestamp: e.C.toISOString(),
- consentId: e.M,
- services: P(e.Y),
- languageCode: m.o.l,
- }),
- e.S && (e.p.lastConsentTimestamp = e.S.toISOString()));
- let c = !1;
- const r = n || s;
- ((e.T || r) &&
- (e.T && ((e.T = !1), (c = !0)),
- (e.S = e.S ? new Date() : e.C),
- (e.p.lastConsentTimestamp = e.S.toISOString()),
- Ee(),
- m.t.autoClearCookies &&
- (c || r) &&
- ((e) => {
- const t = m.o,
- o = Ve(),
- n = ((e) => {
- const t = m.o;
- return (e ? t.O : t.I).filter((e) => {
- const o = t.P[e];
- return !!o && !o.readOnly && !!o.autoClear;
- });
- })(e);
- for (const e in t.ee)
- for (const n of t.ee[e]) {
- const s = t.X[e][n].cookies;
- if (!v(t.Y[e], n) && s)
- for (const e of s) {
- const t = ke(o, e.name);
- Ae(t, e.path, e.domain);
- }
- }
- for (const s of n) {
- const n = t.P[s].autoClear,
- a = (n && n.cookies) || [],
- c = v(t.I, s),
- r = !v(t.R, s),
- i = c && r;
- if (e ? r : i) {
- n.reloadPage && i && (t.L = !0);
- for (const e of a) {
- const t = ke(o, e.name);
- Ae(t, e.path, e.domain);
- }
- }
- }
- })(c),
- ne()),
- (c && (te(m.re.ie), te(m.re.le), m.t.mode === t)) ||
- (r && te(m.re.de), e.L && ((e.L = !1), location.reload())));
- })());
- },
- Ie = (e) => {
- const t = m.o.T ? [] : m.o.R;
- return v(t, e);
- },
- Le = (e, t) => {
- const o = m.o.T ? [] : m.o.Y[t] || [];
- return v(o, e);
- },
- Fe = (e, t, o) => {
- let n = [];
- const s = (e) => {
- if (h(e)) {
- let t = He(e);
- '' !== t && n.push(t);
- } else n.push(...Ve(e));
- };
- if (y(e)) for (let t of e) s(t);
- else s(e);
- Ae(n, t, o);
- },
- Pe = (e) => {
- const { ne: t, o: o } = m;
- if (!o.k) {
- if (!o.D) {
- if (!e) return;
- he($e, Te);
- }
- ((o.k = !0),
- (o.J = M()),
- o.v && Q(!0),
- q(t.he, 1),
- j(t.ye, n),
- A(t.he, l, 'false'),
- setTimeout(() => {
- z(m.ne.be);
- }, 100),
- te(m.re.fe, u));
- }
- },
- Oe = () => {
- const { ne: e, o: t, re: o } = m;
- t.k &&
- ((t.k = !1),
- t.v && Q(),
- z(e.Ke, !0),
- F(e.ye, n),
- A(e.he, l, 'true'),
- z(t.J),
- (t.J = null),
- te(o._e, u));
- },
- Re = () => {
- const e = m.o;
- e.A ||
- (e.N || be($e, Te),
- (e.A = !0),
- e.k ? (e.U = M()) : (e.J = M()),
- q(m.ne.we, 2),
- j(m.ne.ye, s),
- A(m.ne.we, l, 'false'),
- setTimeout(() => {
- z(m.ne.ve);
- }, 100),
- te(m.re.fe, p));
- },
- Be = () => {
- const e = m.o;
- e.A &&
- ((e.A = !1),
- (() => {
- const e = Je(),
- t = m.o.P,
- o = m.ne.se,
- n = m.ne.ae,
- s = (e) => v(m.o.$, e);
- for (const a in o) {
- const c = !!t[a].readOnly;
- o[a].checked = c || (e ? Ie(a) : s(a));
- for (const t in n[a]) n[a][t].checked = c || (e ? Le(t, a) : s(a));
- }
- })(),
- z(m.ne.$e, !0),
- F(m.ne.ye, s),
- A(m.ne.we, l, 'true'),
- e.k ? (z(e.U), (e.U = null)) : (z(e.J), (e.J = null)),
- te(m.re._e, p));
- };
- var $e = { show: Pe, hide: Oe, showPreferences: Re, hidePreferences: Be, acceptCategory: je };
- const Ge = (e, t) => {
- const o = Ne(t);
- return e ? o[e] : o;
- },
- Je = () => !m.o.T;
- ((e.acceptCategory = je),
- (e.acceptService = (e, t) => {
- const { O: o, X: n } = m.o;
- if (!(e && t && h(t) && v(o, t) && 0 !== S(n[t]).length)) return !1;
- (((e, t) => {
- const o = m.o,
- { X: n, Z: s, N: a } = o,
- c = m.ne.ae[t] || {},
- r = m.ne.se[t] || {},
- i = S(n[t]);
- if (((s[t] = []), h(e))) {
- if ('all' === e) {
- if ((s[t].push(...i), a)) for (let e in c) ((c[e].checked = !0), k(c[e]));
- } else if ((v(i, e) && s[t].push(e), a))
- for (let t in c) ((c[t].checked = e === t), k(c[t]));
- } else if (y(e))
- for (let o of i) {
- const n = v(e, o);
- (n && s[t].push(o), a && ((c[o].checked = n), k(c[o])));
- }
- const l = 0 === s[t].length;
- ((o.R = l ? o.R.filter((e) => e !== t) : x([...o.R, t])), a && ((r.checked = !l), k(r)));
- })(e, t),
- je());
- }),
- (e.acceptedCategory = Ie),
- (e.acceptedService = Le),
- (e.eraseCookies = Fe),
- (e.getConfig = (e) => {
- const t = m.t,
- o = m.o.i;
- return e ? t[e] || o[e] : { ...t, ...o, cookie: { ...t.cookie } };
- }),
- (e.getCookie = Ge),
- (e.getUserPreferences = () => {
- const { F: e, Y: t } = m.o,
- { accepted: o, rejected: n } = (() => {
- const { T: e, R: t, O: o } = m.o;
- return { accepted: t, rejected: e ? [] : o.filter((e) => !v(t, e)) };
- })();
- return P({
- acceptType: e,
- acceptedCategories: o,
- rejectedCategories: n,
- acceptedServices: t,
- rejectedServices: O(),
- });
- }),
- (e.hide = Oe),
- (e.hidePreferences = Be),
- (e.loadScript = (e, t) => {
- let o = document.querySelector('script[src="' + e + '"]');
- return new Promise((n) => {
- if (o) return n(!0);
- if (((o = E('script')), C(t))) for (const e in t) A(o, e, t[e]);
- ((o.onload = () => n(!0)),
- (o.onerror = () => {
- (o.remove(), n(!1));
- }),
- (o.src = e),
- V(document.head, o));
- });
- }),
- (e.reset = (e) => {
- const { Ce: t, ye: o } = m.ne,
- { name: c, path: r, domain: i, useLocalStorage: l } = m.t.cookie;
- e && (l ? De(c) : Fe(c, r, i));
- for (const { pe: e, ge: t, me: o } of m.o.m) e.removeEventListener(t, o);
- (t && t.remove(), o && o.classList.remove(a, s, n));
- const d = new g();
- for (const e in m) m[e] = d[e];
- window._ccRun = !1;
- }),
- (e.run = async (e) => {
- const { o: t, t: n, re: s } = m,
- a = window;
- if (!a._ccRun) {
- if (
- ((a._ccRun = !0),
- ((e) => {
- const { ne: t, t: n, o: s } = m,
- a = n,
- r = s,
- { cookie: i } = a,
- l = m.ce,
- d = e.cookie,
- f = e.categories,
- _ = S(f) || [],
- u = navigator,
- p = document;
- ((t.Ue = p),
- (t.ye = p.documentElement),
- (i.domain = location.hostname),
- (r.i = e),
- (r.P = f),
- (r.O = _),
- (r._ = e.language.translations),
- (r.v = !!e.disablePageInteraction),
- (l.ie = e.onFirstConsent),
- (l.le = e.onConsent),
- (l.de = e.onChange),
- (l._e = e.onModalHide),
- (l.fe = e.onModalShow),
- (l.ue = e.onModalReady));
- const {
- mode: g,
- autoShow: b,
- lazyHtmlGeneration: y,
- autoClearCookies: h,
- revision: w,
- manageScriptTags: x,
- hideFromBots: M,
- } = e;
- (g === o && (a.mode = g),
- 'boolean' == typeof h && (a.autoClearCookies = h),
- 'boolean' == typeof x && (a.manageScriptTags = x),
- 'number' == typeof w && w >= 0 && ((a.revision = w), (r.V = !0)),
- 'boolean' == typeof b && (a.autoShow = b),
- 'boolean' == typeof y && (a.lazyHtmlGeneration = y),
- !1 === M && (a.hideFromBots = !1),
- !0 === a.hideFromBots &&
- u &&
- (r.G =
- (u.userAgent && /bot|crawl|spider|slurp|teoma/i.test(u.userAgent)) ||
- u.webdriver),
- C(d) && (a.cookie = { ...i, ...d }),
- a.autoClearCookies,
- r.V,
- a.manageScriptTags,
- ((e) => {
- const { P: t, X: o, Y: n, Z: s, B: a } = m.o;
- for (let c of e) {
- const e = t[c],
- r = e.services || {},
- i = (C(r) && S(r)) || [];
- ((o[c] = {}),
- (n[c] = []),
- (s[c] = []),
- e.readOnly && (a.push(c), (n[c] = i)),
- (m.ne.ae[c] = {}));
- for (let e of i) {
- const t = r[e];
- ((t.Se = !1), (o[c][e] = t));
- }
- }
- })(_),
- (() => {
- if (!m.t.manageScriptTags) return;
- const e = m.o,
- t = D(document, 'script[' + c + ']');
- for (const o of t) {
- let t = H(o, c),
- n = o.dataset.service || '',
- s = !1;
- if (
- (t && '!' === t.charAt(0) && ((t = t.slice(1)), (s = !0)),
- '!' === n.charAt(0) && ((n = n.slice(1)), (s = !0)),
- v(e.O, t) && (e.oe.push({ Me: o, xe: !1, ke: s, Te: t, De: n }), n))
- ) {
- const o = e.X[t];
- o[n] || (o[n] = { Se: !1 });
- }
- }
- })(),
- Se(
- (() => {
- const e = m.o.i.language.autoDetect;
- if (e) {
- const t = {
- browser: navigator.language,
- document: document.documentElement.lang,
- },
- o = Ce(t[e]);
- if (o) return o;
- }
- return we();
- })(),
- ));
- })(e),
- t.G)
- )
- return;
- (() => {
- const e = m.o,
- t = m.t,
- n = Ne(),
- {
- categories: s,
- services: a,
- consentId: c,
- consentTimestamp: r,
- lastConsentTimestamp: i,
- data: l,
- revision: d,
- } = n,
- f = y(s);
- ((e.p = n), (e.M = c));
- const _ = !!c && h(c);
- ((e.C = r),
- e.C && (e.C = new Date(r)),
- (e.S = i),
- e.S && (e.S = new Date(i)),
- (e.h = void 0 !== l ? l : null),
- e.V && _ && d !== t.revision && (e.j = !1),
- (e.T = !(_ && e.j && e.C && e.S && f)),
- t.cookie.useLocalStorage &&
- !e.T &&
- ((e.T = new Date().getTime() > (n.expirationTime || 0)), e.T && De(t.cookie.name)),
- e.T,
- (() => {
- const e = m.o;
- for (const t of e.O) {
- const n = e.P[t];
- if (n.readOnly || n.enabled) {
- e.$.push(t);
- const n = e.X[t] || {};
- for (let s in n) (e.Z[t].push(s), e.i.mode === o && e.Y[t].push(s));
- }
- }
- })(),
- e.T
- ? t.mode === o && (e.R = [...e.$])
- : ((e.Y = { ...e.Y, ...a }), (e.Z = { ...e.Y }), J([...e.B, ...s])));
- })();
- const i = Je();
- if (!(await xe())) return !1;
- if (
- (U(null, (r = $e), be, Te),
- m.o.T && he(r, Te),
- m.t.lazyHtmlGeneration || be(r, Te),
- n.autoShow && !i && Pe(!0),
- i)
- )
- return (ne(), te(s.le));
- n.mode === o && ne(t.$);
- }
- var r;
- }),
- (e.setCookieData = (e) => {
- let t,
- o = e.value,
- n = e.mode,
- s = !1;
- const a = m.o;
- if ('update' === n) {
- a.h = t = Ge('data');
- const e = typeof t == typeof o;
- if (e && 'object' == typeof t) {
- !t && (t = {});
- for (let e in o) t[e] !== o[e] && ((t[e] = o[e]), (s = !0));
- } else (!e && t) || t === o || ((t = o), (s = !0));
- } else ((t = o), (s = !0));
- return (s && ((a.h = t), (a.p.data = t), Ee(!0)), s);
- }),
- (e.setLanguage = async (e, t) => {
- if (!Ce(e)) return !1;
- const o = m.o;
- return !(
- (e === we() && !0 !== t) ||
- !(await xe(e)) ||
- (Se(e), o.D && he($e, Te), o.N && be($e, Te), Me(), 0)
- );
- }),
- (e.show = Pe),
- (e.showPreferences = Re),
- (e.validConsent = Je),
- (e.validCookie = (e) => '' !== He(e, !0)));
- }),
- 'object' == typeof exports && 'undefined' != typeof module
- ? t(exports)
- : 'function' == typeof define && define.amd
- ? define(['exports'], t)
- : t(((e = 'undefined' != typeof globalThis ? globalThis : e || self).CookieConsent = {})));
+* CookieConsent 3.1.0
+* https://github.com/orestbida/cookieconsent
+* Author Orest Bida
+* Released under the MIT License
+*/
+var e,t;e=this,t=function(e){"use strict";const t="opt-in",o="opt-out",n="show--consent",r="show--preferences",s="disable--interaction",c="data-category",a="div",i="button",l="aria-hidden",d="btn-group",f="click",u="data-role",p="consentModal",h="preferencesModal";class m{constructor(){this.t={mode:t,revision:0,autoShow:!0,lazyHtmlGeneration:!0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:"cc_cookie",expiresAfterDays:182,domain:"",path:"/",secure:!0,sameSite:"Lax"}},this.o={i:{},l:"",_:{},u:{},p:{},m:[],v:!1,h:null,C:null,S:null,M:"",T:!0,D:!1,k:!1,A:!1,N:!1,H:[],V:!1,j:!0,I:[],L:!1,F:"",P:!1,O:[],R:[],B:[],$:[],G:!1,J:!1,U:!1,q:[],K:[],W:[],X:{},Y:{},Z:{},ee:{},te:{},oe:[]},this.ne={se:{},ae:{}},this.ce={},this.re={ie:"cc:onFirstConsent",le:"cc:onConsent",de:"cc:onChange",fe:"cc:onModalShow",_e:"cc:onModalHide",ue:"cc:onModalReady"}}}const g=new m,y=(e,t)=>e.indexOf(t),b=(e,t)=>-1!==y(e,t),v=e=>Array.isArray(e),w=e=>"string"==typeof e,C=e=>!!e&&"object"==typeof e&&!v(e),k=e=>"function"==typeof e,T=e=>Object.keys(e),S=e=>Array.from(new Set(e)),L=()=>document.activeElement,M=e=>e.preventDefault(),_=(e,t)=>e.querySelectorAll(t),x=e=>e.dispatchEvent(new Event("change")),H=e=>{const t=document.createElement(e);return e===i&&(t.type=e),t},A=(e,t,o)=>e.setAttribute(t,o),O=(e,t,o)=>{e.removeAttribute(o?"data-"+t:t)},I=(e,t,o)=>e.getAttribute(o?"data-"+t:t),R=(e,t)=>e.appendChild(t),P=(e,t)=>e.classList.add(t),j=(e,t)=>P(e,"cm__"+t),N=(e,t)=>P(e,"pm__"+t),B=(e,t)=>e.classList.remove(t),D=e=>{if("object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=D(n)}return t},E=()=>{const e={},{O:t,X:o,Y:n}=g.o;for(const r of t)e[r]=X(n[r],T(o[r]));return e},Y=(e,t)=>dispatchEvent(new CustomEvent(e,{detail:t})),F=(e,t,o,n)=>{e.addEventListener(t,o),n&&g.o.m.push({pe:e,ge:t,me:o})},Z=()=>{const e=g.t.cookie.expiresAfterDays;return k(e)?e(g.o.F):e},X=(e,t)=>{const o=e||[],n=t||[];return o.filter(e=>!b(n,e)).concat(n.filter(e=>!b(o,e)))},q=e=>{g.o.R=S(e),g.o.F=(()=>{let e="custom";const{R:t,O:o,B:n}=g.o,r=t.length;return r===o.length?e="all":r===n.length&&(e="necessary"),e})()},G=(e,t,o,n)=>{const r="accept-",{show:s,showPreferences:c,hide:a,hidePreferences:i,acceptCategory:l}=t,d=e||document,u=e=>_(d,`[data-cc="${e}"]`),p=(e,t)=>{M(e),l(t),i(),a()},h=u("show-preferencesModal"),m=u("show-consentModal"),y=u(r+"all"),b=u(r+"necessary"),v=u(r+"custom"),w=g.t.lazyHtmlGeneration;for(const e of h)A(e,"aria-haspopup","dialog"),F(e,f,e=>{M(e),c()}),w&&(F(e,"mouseenter",e=>{M(e),g.o.N||o(t,n)},!0),F(e,"focus",()=>{g.o.N||o(t,n)}));for(let e of m)A(e,"aria-haspopup","dialog"),F(e,f,e=>{M(e),s(!0)},!0);for(let e of y)F(e,f,e=>{p(e,"all")},!0);for(let e of v)F(e,f,e=>{p(e)},!0);for(let e of b)F(e,f,e=>{p(e,[])},!0)},J=(e,t)=>{e&&(t&&(e.tabIndex=-1),e.focus(),t&&e.removeAttribute("tabindex"))},$=(e,t)=>{const o=n=>{n.target.removeEventListener("transitionend",o),"opacity"===n.propertyName&&"1"===getComputedStyle(e).opacity&&J((e=>1===e?g.ne.be:g.ne.ve)(t))};F(e,"transitionend",o)};let U;const z=e=>{clearTimeout(U),e?P(g.ne.ye,s):U=setTimeout(()=>{B(g.ne.ye,s)},500)},V=["M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5","M 3.572 13.406 L 8.281 18.115 L 20.428 5.885","M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 "],W=(e=0,t=1.5)=>``,K=e=>{const t=g.ne,o=g.o;(e=>{const n=e===t.he,r=o.i.disablePageInteraction?t.ye:n?t.Ce:t.ye;F(r,"keydown",t=>{if("Tab"!==t.key||!(n?o.k&&!o.A:o.A))return;const r=L(),s=n?o.q:o.K;0!==s.length&&(t.shiftKey?r!==s[0]&&e.contains(r)||(M(t),J(s[1])):r!==s[1]&&e.contains(r)||(M(t),J(s[0])))},!0)})(e)},Q=["[href]",i,"input","details","[tabindex]"].map(e=>e+':not([tabindex="-1"])').join(","),ee=e=>{const{o:t,ne:o}=g,n=(e,t)=>{const o=_(e,Q);t[0]=o[0],t[1]=o[o.length-1]};1===e&&t.D&&n(o.he,t.q),2===e&&t.N&&n(o.we,t.K)},te=(e,t,o)=>{const{de:n,le:r,ie:s,_e:c,ue:a,fe:i}=g.ce,l=g.re;if(t){const n={modalName:t};return e===l.fe?k(i)&&i(n):e===l._e?k(c)&&c(n):(n.modal=o,k(a)&&a(n)),Y(e,n)}const d={cookie:g.o.p};e===l.ie?k(s)&&s(D(d)):e===l.le?k(r)&&r(D(d)):(d.changedCategories=g.o.I,d.changedServices=g.o.ee,k(n)&&n(D(d))),Y(e,D(d))},oe=(e,t)=>{try{return e()}catch(e){return!t&&console.warn("CookieConsent:",e),!1}},ne=e=>{const{Y:t,ee:o,O:n,X:r,oe:s,p:a,I:i}=g.o;for(const e of n){const n=o[e]||t[e]||[];for(const o of n){const n=r[e][o];if(!n)continue;const{onAccept:s,onReject:c}=n;!n.Se&&b(t[e],o)?(n.Se=!0,k(s)&&s()):n.Se&&!b(t[e],o)&&(n.Se=!1,k(c)&&c())}}if(!g.t.manageScriptTags)return;const l=s,d=e||a.categories||[],f=(e,n)=>{if(n>=e.length)return;const r=s[n];if(r.xe)return f(e,n+1);const a=r.Me,l=r.Te,u=r.De,p=b(d,l),h=!!u&&b(t[l],u);if(!u&&!r.ke&&p||!u&&r.ke&&!p&&b(i,l)||u&&!r.ke&&h||u&&r.ke&&!h&&b(o[l]||[],u)){r.xe=!0;const t=I(a,"type",!0);O(a,"type",!!t),O(a,c);let o=I(a,"src",!0);o&&O(a,"src",!0);const s=H("script");s.textContent=a.innerHTML;for(const{nodeName:e}of a.attributes)A(s,e,a[e]||I(a,e));t&&(s.type=t),o?s.src=o:o=a.src;const i=!!o&&(!t||["text/javascript","module"].includes(t));if(i&&(s.onload=s.onerror=()=>{f(e,++n)}),a.replaceWith(s),i)return}f(e,++n)};f(l,0)},re="bottom",se="left",ce="center",ae="right",ie="inline",le="wide",de="pm--",fe=["middle","top",re],ue=[se,ce,ae],pe={box:{Ee:[le,ie],Ae:fe,Ne:ue,He:re,Ve:ae},cloud:{Ee:[ie],Ae:fe,Ne:ue,He:re,Ve:ce},bar:{Ee:[ie],Ae:fe.slice(1),Ne:[],He:re,Ve:""}},he={box:{Ee:[],Ae:[],Ne:[],He:"",Ve:""},bar:{Ee:[le],Ae:[],Ne:[se,ae],He:"",Ve:se}},me=e=>{const t=g.o.i.guiOptions,o=t&&t.consentModal,n=t&&t.preferencesModal;0===e&&ge(g.ne.he,pe,o,"cm--","box","cm"),1===e&&ge(g.ne.we,he,n,de,"box","pm")},ge=(e,t,o,n,r,s)=>{e.className=s;const c=o&&o.layout,a=o&&o.position,i=o&&o.flipButtons,l=!o||!1!==o.equalWeightButtons,d=c&&c.split(" ")||[],f=d[0],u=d[1],p=f in t?f:r,h=t[p],m=b(h.Ee,u)&&u,y=a&&a.split(" ")||[],v=y[0],w=n===de?y[0]:y[1],C=b(h.Ae,v)?v:h.He,k=b(h.Ne,w)?w:h.Ve,T=t=>{t&&P(e,n+t)};T(p),T(m),T(C),T(k),i&&T("flip");const S=s+"__btn--secondary";if("cm"===s){const{je:e,Ie:t}=g.ne;e&&(l?B(e,S):P(e,S)),t&&(l?B(t,S):P(t,S))}else{const{Le:e}=g.ne;e&&(l?B(e,S):P(e,S))}},ye=(e,t)=>{const o=g.o,n=g.ne,{hide:r,hidePreferences:s,acceptCategory:c}=e,p=e=>{c(e),s(),r()},m=o.u&&o.u.preferencesModal;if(!m)return;const y=m.title,b=m.closeIconLabel,v=m.acceptAllBtn,k=m.acceptNecessaryBtn,S=m.savePreferencesBtn,L=m.sections||[],M=v||k||S;if(n.Fe)n.Pe=H(a),N(n.Pe,"body");else{n.Fe=H(a),P(n.Fe,"pm-wrapper");const e=H("div");P(e,"pm-overlay"),R(n.Fe,e),F(e,f,s),n.we=H(a),P(n.we,"pm"),A(n.we,"role","dialog"),A(n.we,l,!0),A(n.we,"aria-modal",!0),A(n.we,"aria-labelledby","pm__title"),F(n.ye,"keydown",e=>{27===e.keyCode&&s()},!0),n.Oe=H(a),N(n.Oe,"header"),n.Re=H("h2"),N(n.Re,"title"),n.Re.id="pm__title",n.Be=H(i),N(n.Be,"close-btn"),A(n.Be,"aria-label",m.closeIconLabel||""),F(n.Be,f,s),n.$e=H("span"),n.$e.innerHTML=W(),R(n.Be,n.$e),n.Ge=H(a),N(n.Ge,"body"),n.Je=H(a),N(n.Je,"footer");var _=H(a);P(_,"btns");var x=H(a),O=H(a);N(x,d),N(O,d),R(n.Je,x),R(n.Je,O),R(n.Oe,n.Re),R(n.Oe,n.Be),n.ve=H(a),A(n.ve,"tabIndex",-1),R(n.we,n.ve),R(n.we,n.Oe),R(n.we,n.Ge),M&&R(n.we,n.Je),R(n.Fe,n.we)}let I;y&&(n.Re.innerHTML=y,b&&A(n.Be,"aria-label",b)),L.forEach((e,t)=>{const r=e.title,s=e.description,c=e.linkedCategory,d=c&&o.P[c],u=e.cookieTable,p=u&&u.body,h=u&&u.caption,g=p&&p.length>0,y=!!d,b=y&&o.X[c],v=C(b)&&T(b)||[],k=y&&(!!s||!!g||T(b).length>0);var S=H(a);if(N(S,"section"),k||s){var L=H(a);N(L,"section-desc-wrapper")}let M=v.length;if(k&&M>0){const e=H(a);N(e,"section-services");for(const t of v){const o=b[t],n=o&&o.label||t,r=H(a),s=H(a),i=H(a),l=H(a);N(r,"service"),N(l,"service-title"),N(s,"service-header"),N(i,"service-icon");const f=be(n,t,d,!0,c);l.innerHTML=n,R(s,i),R(s,l),R(r,s),R(r,f),R(e,r)}R(L,e)}if(r){var _=H(a),x=H(y?i:a);if(N(_,"section-title-wrapper"),N(x,"section-title"),x.innerHTML=r,R(_,x),y){const e=H("span");e.innerHTML=W(2,3.5),N(e,"section-arrow"),R(_,e),S.className+="--toggle";const t=be(r,c,d);let o=m.serviceCounterLabel;if(M>0&&w(o)){let e=H("span");N(e,"badge"),N(e,"service-counter"),A(e,l,!0),A(e,"data-servicecounter",M),o&&(o=o.split("|"),o=o.length>1&&M>1?o[1]:o[0],A(e,"data-counterlabel",o)),e.innerHTML=M+(o?" "+o:""),R(x,e)}if(k){N(S,"section--expandable");var O=c+"-desc";A(x,"aria-expanded",!1),A(x,"aria-controls",O)}R(_,t)}else A(x,"role","heading"),A(x,"aria-level","3");R(S,_)}if(s){var j=H("p");N(j,"section-desc"),j.innerHTML=s,R(L,j)}if(k&&(A(L,l,"true"),L.id=O,((e,t,o)=>{F(x,f,()=>{t.classList.contains("is-expanded")?(B(t,"is-expanded"),A(o,"aria-expanded","false"),A(e,l,"true")):(P(t,"is-expanded"),A(o,"aria-expanded","true"),A(e,l,"false"))})})(L,S,x),g)){const e=H("table"),o=H("thead"),r=H("tbody");if(h){const t=H("caption");N(t,"table-caption"),t.innerHTML=h,e.appendChild(t)}N(e,"section-table"),N(o,"table-head"),N(r,"table-body");const s=u.headers,c=T(s),i=n.Ue.createDocumentFragment(),l=H("tr");for(const e of c){const o=s[e],n=H("th");n.id="cc__row-"+o+t,A(n,"scope","col"),N(n,"table-th"),n.innerHTML=o,R(i,n)}R(l,i),R(o,l);const d=n.Ue.createDocumentFragment();for(const e of p){const o=H("tr");N(o,"table-tr");for(const n of c){const r=s[n],c=e[n],i=H("td"),l=H(a);N(i,"table-td"),A(i,"data-column",r),A(i,"headers","cc__row-"+r+t),l.insertAdjacentHTML("beforeend",c),R(i,l),R(o,i)}R(d,o)}R(r,d),R(e,o),R(e,r),R(L,e)}(k||s)&&R(S,L);const D=n.Pe||n.Ge;y?(I||(I=H(a),N(I,"section-toggles")),I.appendChild(S)):I=null,R(D,I||S)}),v&&(n.ze||(n.ze=H(i),N(n.ze,"btn"),A(n.ze,u,"all"),R(x,n.ze),F(n.ze,f,()=>p("all"))),n.ze.innerHTML=v),k&&(n.Le||(n.Le=H(i),N(n.Le,"btn"),A(n.Le,u,"necessary"),R(x,n.Le),F(n.Le,f,()=>p([]))),n.Le.innerHTML=k),S&&(n.qe||(n.qe=H(i),N(n.qe,"btn"),N(n.qe,"btn--secondary"),A(n.qe,u,"save"),R(O,n.qe),F(n.qe,f,()=>p())),n.qe.innerHTML=S),n.Pe&&(n.we.replaceChild(n.Pe,n.Ge),n.Ge=n.Pe),me(1),o.N||(o.N=!0,te(g.re.ue,h,n.we),t(e),R(n.Ce,n.Fe),K(n.we),setTimeout(()=>P(n.Fe,"cc--anim"),100)),ee(2)};function be(e,t,o,n,r){const s=g.o,a=g.ne,i=H("label"),d=H("input"),u=H("span"),p=H("span"),h=H("span"),m=H("span"),y=H("span");if(m.innerHTML=W(1,3),y.innerHTML=W(0,3),d.type="checkbox",P(i,"section__toggle-wrapper"),P(d,"section__toggle"),P(m,"toggle__icon-on"),P(y,"toggle__icon-off"),P(u,"toggle__icon"),P(p,"toggle__icon-circle"),P(h,"toggle__label"),A(u,l,"true"),n?(P(i,"toggle-service"),A(d,c,r),a.ae[r][t]=d):a.se[t]=d,n?(e=>{F(d,"change",()=>{const t=a.ae[e],o=a.se[e];s.Z[e]=[];for(let o in t){const n=t[o];n.checked&&s.Z[e].push(n.value)}o.checked=s.Z[e].length>0})})(r):(e=>{F(d,f,()=>{const t=a.ae[e],o=d.checked;s.Z[e]=[];for(let n in t)t[n].checked=o,o&&s.Z[e].push(n)})})(t),d.value=t,h.textContent=e.replace(/<.*>.*<\/.*>/gm,""),R(p,y),R(p,m),R(u,p),s.T)(o.readOnly||o.enabled)&&(d.checked=!0);else if(n){const e=s.Y[r];d.checked=o.readOnly||b(e,t)}else b(s.R,t)&&(d.checked=!0);return o.readOnly&&(d.disabled=!0),R(i,d),R(i,u),R(i,h),i}const ve=()=>{const e=H("span");return g.ne.Ke||(g.ne.Ke=e),e},we=(e,t)=>{const o=g.o,n=g.ne,{hide:r,showPreferences:s,acceptCategory:c}=e,h=o.u&&o.u.consentModal;if(!h)return;const m=h.acceptAllBtn,y=h.acceptNecessaryBtn,b=h.showPreferencesBtn,v=h.closeIconLabel,w=h.footer,C=h.label,k=h.title,T=e=>{r(),c(e)};if(!n.Qe){n.Qe=H(a),n.he=H(a),n.We=H(a),n.Xe=H(a),n.Ye=H(a),P(n.Qe,"cm-wrapper"),P(n.he,"cm"),j(n.We,"body"),j(n.Xe,"texts"),j(n.Ye,"btns"),A(n.he,"role","dialog"),A(n.he,"aria-modal","true"),A(n.he,l,"false"),A(n.he,"aria-describedby","cm__desc"),C?A(n.he,"aria-label",C):k&&A(n.he,"aria-labelledby","cm__title");const e="box",t=o.i.guiOptions,r=t&&t.consentModal,s=(r&&r.layout||e).split(" ")[0]===e;k&&v&&s&&(n.Ie||(n.Ie=H(i),n.Ie.innerHTML=W(),j(n.Ie,"btn"),j(n.Ie,"btn--close"),F(n.Ie,f,()=>{T([])}),R(n.We,n.Ie)),A(n.Ie,"aria-label",v)),R(n.We,n.Xe),(m||y||b)&&R(n.We,n.Ye),n.be=H(a),A(n.be,"tabIndex",-1),R(n.he,n.be),R(n.he,n.We),R(n.Qe,n.he)}k&&(n.Ze||(n.Ze=H("h2"),n.Ze.className=n.Ze.id="cm__title",R(n.Xe,n.Ze)),n.Ze.innerHTML=k);let S=h.description;if(S&&(o.V&&(S=S.replace("{{revisionMessage}}",o.j?"":h.revisionMessage||"")),n.et||(n.et=H("p"),n.et.className=n.et.id="cm__desc",R(n.Xe,n.et)),n.et.innerHTML=S),m&&(n.tt||(n.tt=H(i),R(n.tt,ve()),j(n.tt,"btn"),A(n.tt,u,"all"),F(n.tt,f,()=>{T("all")})),n.tt.firstElementChild.innerHTML=m),y&&(n.je||(n.je=H(i),R(n.je,ve()),j(n.je,"btn"),A(n.je,u,"necessary"),F(n.je,f,()=>{T([])})),n.je.firstElementChild.innerHTML=y),b&&(n.ot||(n.ot=H(i),R(n.ot,ve()),j(n.ot,"btn"),j(n.ot,"btn--secondary"),A(n.ot,u,"show"),F(n.ot,"mouseenter",()=>{o.N||ye(e,t)}),F(n.ot,f,s)),n.ot.firstElementChild.innerHTML=b),n.nt||(n.nt=H(a),j(n.nt,d),m&&R(n.nt,n.tt),y&&R(n.nt,n.je),(m||y)&&R(n.We,n.nt),R(n.Ye,n.nt)),n.ot&&!n.st&&(n.st=H(a),n.je&&n.tt?(j(n.st,d),R(n.st,n.ot),R(n.Ye,n.st)):(R(n.nt,n.ot),j(n.nt,d+"--uneven"))),w){if(!n.ct){let e=H(a),t=H(a);n.ct=H(a),j(e,"footer"),j(t,"links"),j(n.ct,"link-group"),R(t,n.ct),R(e,t),R(n.he,e)}n.ct.innerHTML=w}me(0),o.D||(o.D=!0,te(g.re.ue,p,n.he),t(e),R(n.Ce,n.Qe),K(n.he),setTimeout(()=>P(n.Qe,"cc--anim"),100)),ee(1),G(n.We,e,ye,t)},Ce=e=>{if(!w(e))return null;if(e in g.o._)return e;let t=e.slice(0,2);return t in g.o._?t:null},ke=()=>g.o.l||g.o.i.language.default,Te=e=>{e&&(g.o.l=e)},Se=async e=>{const t=g.o;let o=Ce(e)?e:ke(),n=t._[o];if(w(n)?n=await(async e=>{try{const t=await fetch(e);return await t.json()}catch(e){return console.error(e),!1}})(n):k(n)&&(n=await n()),!n)throw`Could not load translation for the '${o}' language`;return t.u=n,Te(o),!0},Le=()=>{let e=g.o.i.language.rtl,t=g.ne.Ce;e&&t&&(v(e)||(e=[e]),b(e,g.o.l)?P(t,"cc--rtl"):B(t,"cc--rtl"))},Me=()=>{const e=g.ne;if(e.Ce)return;e.Ce=H(a),e.Ce.id="cc-main",e.Ce.setAttribute("data-nosnippet",""),Le();let t=g.o.i.root;t&&w(t)&&(t=document.querySelector(t)),(t||e.Ue.body).appendChild(e.Ce)},_e=e=>oe(()=>localStorage.removeItem(e)),xe=(e,t)=>{if(t instanceof RegExp)return e.filter(e=>t.test(e));{const o=y(e,t);return o>-1?[e[o]]:[]}},He=e=>{const{hostname:t,protocol:o}=location,{name:n,path:r,domain:s,sameSite:c,useLocalStorage:a,secure:i}=g.t.cookie,l=e?(()=>{const e=g.o.S,t=e?new Date-e:0;return 864e5*Z()-t})():864e5*Z(),d=new Date;d.setTime(d.getTime()+l),g.o.p.expirationTime=d.getTime();const f=JSON.stringify(g.o.p);let u=n+"="+encodeURIComponent(f)+(0!==l?"; expires="+d.toUTCString():"")+"; Path="+r+"; SameSite="+c;b(t,".")&&(u+="; Domain="+s),i&&"https:"===o&&(u+="; Secure"),a?((e,t)=>{oe(()=>localStorage.setItem(e,t))})(n,f):document.cookie=u,g.o.p},Ae=(e,t,o)=>{if(0===e.length)return;const n=o||g.t.cookie.domain,r=t||g.t.cookie.path,s="www."===n.slice(0,4),c=s&&n.substring(4),a=(e,t)=>{t&&"."!==t.slice(0,1)&&(t="."+t),document.cookie=e+"=; path="+r+(t?"; domain="+t:"")+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;"};for(const t of e)a(t,o),o||a(t,n),s&&a(t,c)},Oe=e=>{const t=e||g.t.cookie.name,o=g.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=oe(()=>JSON.parse(t?e:decodeURIComponent(e)),!0)||{},o})(o?(n=t,oe(()=>localStorage.getItem(n))||""):Ie(t,!0),o);var n},Ie=(e,t)=>{const o=document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]+)");return o?t?o.pop():e:""},Re=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split("=")[0];e?oe(()=>{e.test(t)&&o.push(t)}):o.push(t)}return o},Pe=(e,n=[])=>{((e,t)=>{const{O:o,R:n,B:r,N:s,Z:c,$:a,X:i}=g.o;let l=[];if(e){v(e)?l.push(...e):w(e)&&(l="all"===e?o:[e]);for(const e of o)c[e]=b(l,e)?T(i[e]):[]}else l=[...n,...a],s&&(l=(()=>{const e=g.ne.se;if(!e)return[];let t=[];for(let o in e)e[o].checked&&t.push(o);return t})());l=l.filter(e=>!b(o,e)||!b(t,e)),l.push(...r),q(l)})(e,n),(()=>{const e=g.o,{Z:t,B:o,Y:n,X:r,O:s}=e,c=s;e.te=D(n);for(const s of c){const c=r[s],a=T(c),i=t[s]&&t[s].length>0,l=b(o,s);if(0!==a.length){if(n[s]=[],l)n[s].push(...a);else if(i){const e=t[s];n[s].push(...e)}else n[s]=e.Z[s];n[s]=S(n[s])}}})(),(()=>{const e=g.o;e.I=g.t.mode===o&&e.T?X(e.$,e.R):X(e.R,e.p.categories);let n=e.I.length>0,r=!1;for(const t of e.O)e.ee[t]=X(e.Y[t],e.te[t]),e.ee[t].length>0&&(r=!0);const s=g.ne.se;for(const t in s)s[t].checked=b(e.R,t);for(const t of e.O){const o=g.ne.ae[t],n=e.Y[t];for(const e in o)o[e].checked=b(n,e)}e.C||(e.C=new Date),e.M||(e.M=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))),e.p={categories:D(e.R),revision:g.t.revision,data:e.h,consentTimestamp:e.C.toISOString(),consentId:e.M,services:D(e.Y),languageCode:g.o.l},e.S&&(e.p.lastConsentTimestamp=e.S.toISOString());let c=!1;const a=n||r;(e.T||a)&&(e.T&&(e.T=!1,c=!0),e.S=e.S?new Date:e.C,e.p.lastConsentTimestamp=e.S.toISOString(),He(),g.t.autoClearCookies&&(c||a)&&(e=>{const t=g.o,o=Re(),n=(e=>{const t=g.o;return(e?t.O:t.I).filter(e=>{const o=t.P[e];return!!o&&!o.readOnly&&!!o.autoClear})})(e);for(const e in t.ee)for(const n of t.ee[e]){const r=t.X[e][n].cookies;if(!b(t.Y[e],n)&&r)for(const e of r){const t=xe(o,e.name);Ae(t,e.path,e.domain)}}for(const r of n){const n=t.P[r].autoClear,s=n&&n.cookies||[],c=b(t.I,r),a=!b(t.R,r),i=c&&a;if(e?a:i){n.reloadPage&&i&&(t.L=!0);for(const e of s){const t=xe(o,e.name);Ae(t,e.path,e.domain)}}}})(c),ne()),c&&(te(g.re.ie),te(g.re.le),g.t.mode===t)||(a&&te(g.re.de),e.L&&(e.L=!1,location.reload()))})()},je=e=>{const t=g.o.T?[]:g.o.R;return b(t,e)},Ne=(e,t)=>{const o=g.o.T?[]:g.o.Y[t]||[];return b(o,e)},Be=(e,t,o)=>{let n=[];const r=e=>{if(w(e)){let t=Ie(e);""!==t&&n.push(t)}else n.push(...Re(e))};if(v(e))for(let t of e)r(t);else r(e);Ae(n,t,o)},De=e=>{const{ne:t,o:o}=g;if(!o.k){if(!o.D){if(!e)return;we(Ze,Me)}o.k=!0,o.J=L(),o.v&&z(!0),$(t.he,1),P(t.ye,n),A(t.he,l,"false"),setTimeout(()=>{J(g.ne.be)},100),te(g.re.fe,p)}},Ee=()=>{const{ne:e,o:t,re:o}=g;t.k&&(t.k=!1,t.v&&z(),J(e.Ke,!0),B(e.ye,n),A(e.he,l,"true"),J(t.J),t.J=null,te(o._e,p))},Ye=()=>{const e=g.o;e.A||(e.N||ye(Ze,Me),e.A=!0,e.k?e.U=L():e.J=L(),$(g.ne.we,2),P(g.ne.ye,r),A(g.ne.we,l,"false"),setTimeout(()=>{J(g.ne.ve)},100),te(g.re.fe,h))},Fe=()=>{const e=g.o;e.A&&(e.A=!1,(()=>{const e=qe(),t=g.o.P,o=g.ne.se,n=g.ne.ae,r=e=>b(g.o.$,e);for(const s in o){const c=!!t[s].readOnly;o[s].checked=c||(e?je(s):r(s));for(const t in n[s])n[s][t].checked=c||(e?Ne(t,s):r(s))}})(),J(g.ne.$e,!0),B(g.ne.ye,r),A(g.ne.we,l,"true"),e.k?(J(e.U),e.U=null):(J(e.J),e.J=null),te(g.re._e,h))};var Ze={show:De,hide:Ee,showPreferences:Ye,hidePreferences:Fe,acceptCategory:Pe};const Xe=(e,t)=>{const o=Oe(t);return e?o[e]:o},qe=()=>!g.o.T;e.acceptCategory=Pe,e.acceptService=(e,t)=>{const{O:o,X:n}=g.o;if(!(e&&t&&w(t)&&b(o,t)&&0!==T(n[t]).length))return!1;((e,t)=>{const o=g.o,{X:n,Z:r,N:s}=o,c=g.ne.ae[t]||{},a=g.ne.se[t]||{},i=T(n[t]);if(r[t]=[],w(e)){if("all"===e){if(r[t].push(...i),s)for(let e in c)c[e].checked=!0,x(c[e])}else if(b(i,e)&&r[t].push(e),s)for(let t in c)c[t].checked=e===t,x(c[t])}else if(v(e))for(let o of i){const n=b(e,o);n&&r[t].push(o),s&&(c[o].checked=n,x(c[o]))}const l=0===r[t].length;o.R=l?o.R.filter(e=>e!==t):S([...o.R,t]),s&&(a.checked=!l,x(a))})(e,t),Pe()},e.acceptedCategory=je,e.acceptedService=Ne,e.eraseCookies=Be,e.getConfig=e=>{const t=g.t,o=g.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},e.getCookie=Xe,e.getUserPreferences=()=>{const{F:e,Y:t}=g.o,{accepted:o,rejected:n}=(()=>{const{T:e,R:t,O:o}=g.o;return{accepted:t,rejected:e?[]:o.filter(e=>!b(t,e))}})();return D({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:E()})},e.hide=Ee,e.hidePreferences=Fe,e.loadScript=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise(n=>{if(o)return n(!0);if(o=H("script"),C(t))for(const e in t)A(o,e,t[e]);o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,R(document.head,o)})},e.reset=e=>{const{Ce:t,ye:o}=g.ne,{name:c,path:a,domain:i,useLocalStorage:l}=g.t.cookie;e&&(l?_e(c):Be(c,a,i));for(const{pe:e,ge:t,me:o}of g.o.m)e.removeEventListener(t,o);t&&t.remove(),o&&o.classList.remove(s,r,n);const d=new m;for(const e in g)g[e]=d[e];window._ccRun=!1},e.run=async e=>{const{o:t,t:n,re:r}=g,s=window;if(!s._ccRun){if(s._ccRun=!0,(e=>{const{ne:t,t:n,o:r}=g,s=n,a=r,{cookie:i}=s,l=g.ce,d=e.cookie,f=e.categories,u=T(f)||[],p=navigator,h=document;t.Ue=h,t.ye=h.documentElement,i.domain=location.hostname,a.i=e,a.P=f,a.O=u,a._=e.language.translations,a.v=!!e.disablePageInteraction,l.ie=e.onFirstConsent,l.le=e.onConsent,l.de=e.onChange,l._e=e.onModalHide,l.fe=e.onModalShow,l.ue=e.onModalReady;const{mode:m,autoShow:y,lazyHtmlGeneration:v,autoClearCookies:w,revision:k,manageScriptTags:S,hideFromBots:L}=e;m===o&&(s.mode=m),"boolean"==typeof w&&(s.autoClearCookies=w),"boolean"==typeof S&&(s.manageScriptTags=S),"number"==typeof k&&k>=0&&(s.revision=k,a.V=!0),"boolean"==typeof y&&(s.autoShow=y),"boolean"==typeof v&&(s.lazyHtmlGeneration=v),!1===L&&(s.hideFromBots=!1),!0===s.hideFromBots&&p&&(a.G=p.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(p.userAgent)||p.webdriver),C(d)&&(s.cookie={...i,...d}),s.autoClearCookies,a.V,s.manageScriptTags,(e=>{const{P:t,X:o,Y:n,Z:r,B:s}=g.o;for(let c of e){const e=t[c],a=e.services||{},i=C(a)&&T(a)||[];o[c]={},n[c]=[],r[c]=[],e.readOnly&&(s.push(c),n[c]=i),g.ne.ae[c]={};for(let e of i){const t=a[e];t.Se=!1,o[c][e]=t}}})(u),(()=>{if(!g.t.manageScriptTags)return;const e=g.o,t=_(document,"script["+c+"]");for(const o of t){let t=I(o,c),n=o.dataset.service||"",r=!1;if(t&&"!"===t.charAt(0)&&(t=t.slice(1),r=!0),"!"===n.charAt(0)&&(n=n.slice(1),r=!0),b(e.O,t)&&(e.oe.push({Me:o,xe:!1,ke:r,Te:t,De:n}),n)){const o=e.X[t];o[n]||(o[n]={Se:!1})}}})(),Te((()=>{const e=g.o.i.language.autoDetect;if(e){const t={browser:navigator.language,document:document.documentElement.lang},o=Ce(t[e]);if(o)return o}return ke()})())})(e),t.G)return;(()=>{const e=g.o,t=g.t,n=Oe(),{categories:r,services:s,consentId:c,consentTimestamp:a,lastConsentTimestamp:i,data:l,revision:d}=n,f=v(r);e.p=n,e.M=c;const u=!!c&&w(c);e.C=a,e.C&&(e.C=new Date(a)),e.S=i,e.S&&(e.S=new Date(i)),e.h=void 0!==l?l:null,e.V&&u&&d!==t.revision&&(e.j=!1),e.T=!(u&&e.j&&e.C&&e.S&&f),t.cookie.useLocalStorage&&!e.T&&(e.T=(new Date).getTime()>(n.expirationTime||0),e.T&&_e(t.cookie.name)),e.T,(()=>{const e=g.o;for(const t of e.O){const n=e.P[t];if(n.readOnly||n.enabled){e.$.push(t);const n=e.X[t]||{};for(let r in n)e.Z[t].push(r),e.i.mode===o&&e.Y[t].push(r)}}})(),e.T?t.mode===o&&(e.R=[...e.$]):(e.Y={...e.Y,...s},e.Z={...e.Y},q([...e.B,...r]))})();const i=qe();if(!await Se())return!1;if(G(null,a=Ze,ye,Me),g.o.T&&we(a,Me),g.t.lazyHtmlGeneration||ye(a,Me),n.autoShow&&!i&&De(!0),i)return ne(),te(r.le);n.mode===o&&ne(t.$)}var a},e.setCookieData=e=>{let t,o=e.value,n=e.mode,r=!1;const s=g.o;if("update"===n){s.h=t=Xe("data");const e=typeof t==typeof o;if(e&&"object"==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],r=!0)}else!e&&t||t===o||(t=o,r=!0)}else t=o,r=!0;return r&&(s.h=t,s.p.data=t,He(!0)),r},e.setLanguage=async(e,t)=>{if(!Ce(e))return!1;const o=g.o;return!(e===ke()&&!0!==t||!await Se(e)||(Te(e),o.D&&we(Ze,Me),o.N&&ye(Ze,Me),Le(),0))},e.show=De,e.showPreferences=Ye,e.validConsent=qe,e.validCookie=e=>""!==Ie(e,!0)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CookieConsent={});
\ No newline at end of file
diff --git a/templates/base.html b/templates/base.html
index 932c525..ab399f9 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -109,8 +109,9 @@
{% endif %}
-
-
+
+
+