PageSourceSearch

https://www.martinique.org/modules/contrib/tac_services/libraries/…/tarteaucitron.services.js?v=1.1

js martinique.org collected 2026-09-24 19:03:24 UTC 217,994 bytes, 5,935 lines download raw bytes

1/*global tarteaucitron, ga, Shareaholic, stLight, clicky, top, google, Typekit, FB, ferankReady, IN, stButtons, twttr, PCWidget*/
2/*jslint regexp: true, nomen: true*/
3
4// generic iframe
5tarteaucitron.services.iframe = {
6    "key": "iframe",
7    "type": "other",
8    "name": "Web content",
9    "uri": "",
10    "needConsent": true,
11    "cookies": [],
12    "js": function () {
13        "use strict";
14        tarteaucitron.fallback(['tac_iframe'], function (x) {
15            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x,"title")) : '',
16                width = tarteaucitron.getElemAttr(x,"width"),
17                height = tarteaucitron.getElemAttr(x,"height"),
18                allowfullscreen = tarteaucitron.getElemAttr(x,"allowfullscreen"),
19                scrolling = (tarteaucitron.getElemAttr(x,"scrolling")),
20                url = tarteaucitron.getElemAttr(x,"url");
21
22            if(!scrolling){
23                scrolling = 'no';
24            }
25
26            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="'+scrolling+'" allowtransparency' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
27        });
28    },
29    "fallback": function () {
30        "use strict";
31        var id = 'iframe';
32        tarteaucitron.fallback(['tac_iframe'], function (elem) {
33            elem.style.width = tarteaucitron.getElemAttr(elem,'width') + 'px';
34            elem.style.height = tarteaucitron.getElemAttr(elem,'height') + 'px';
35            return tarteaucitron.engage(id);
36        });
37    }
38};
39
40// force24
41tarteaucitron.services.force24 = {
42    "key": "force24",
43    "type": "analytic",
44    "name": "Force24",
45    "uri": "https://support.force24.co.uk/support/solutions/articles/79000128057-cookie-policies",
46    "needConsent": true,
47    "cookies": ['F24_autoID', 'F24_personID'],
48    "js": function () {
49        "use strict";
50
51        if (tarteaucitron.user.force24trackingId === undefined || tarteaucitron.user.force24clientId === undefined) {
52            return;
53        }
54
55        window.Force24Object = "f24", window["f24"] = window["f24"] || function() {
56            window["f24"].q = window["f24"].q || [],
57                window["f24"].q.push(arguments)
58        }, window["f24"].l = 1 * new Date;
59
60        tarteaucitron.addScript('https://static.websites.data-crypt.com/scripts/activity/v3/inject-v3.min.js');
61
62        f24('config', 'set_tracking_id', tarteaucitron.user.force24trackingId);
63        f24('config', 'set_client_id', tarteaucitron.user.force24clientId);
64    }
65};
66
67// tiktokvideo
68tarteaucitron.services.tiktokvideo = {
69    "key": "tiktokvideo",
70    "type": "video",
71    "name": "Tiktok Video",
72    "uri": "https://www.tiktok.com/legal/page/eea/privacy-policy/en",
73    "needConsent": true,
74    "cookies": [],
75    "js": function () {
76        "use strict";
77
78        tarteaucitron.addScript('https://www.tiktok.com/embed.js');
79    },
80    "fallback": function () {
81        "use strict";
82        var id = 'tiktokvideo';
83        tarteaucitron.fallback(['tiktok-embed'], function (elem) {
84            return tarteaucitron.engage(id);
85        });
86    }
87};
88
89// shinystat
90tarteaucitron.services.shinystat = {
91    "key": "shinystat",
92    "type": "analytic",
93    "name": "Shinystat",
94    "uri": "https://www.shinystat.com/en/opt-out.html",
95    "needConsent": true,
96    "cookies": [],
97    "js": function () {
98        "use strict";
99
100        if (tarteaucitron.user.shinystatUser === undefined) {
101            return;
102        }
103
104        tarteaucitron.addScript('https://codice.shinystat.com/cgi-bin/getcod.cgi?USER=' + tarteaucitron.user.shinystatUser);
105    }
106};
107
108// activecampaignvgo
109tarteaucitron.services.activecampaignvgo = {
110    "key": "activecampaignvgo",
111    "type": "other",
112    "name": "Active Campaign",
113    "uri": "https://www.activecampaign.com/legal/privacy-policy/",
114    "needConsent": true,
115    "cookies": [],
116    "js": function () {
117        "use strict";
118
119        if (tarteaucitron.user.activecampaignAccount === undefined) {
120            return;
121        }
122
123        window.visitorGlobalObjectAlias="vgo";
124        window[window.visitorGlobalObjectAlias]=window[window.visitorGlobalObjectAlias]||function(){(window[window.visitorGlobalObjectAlias].q=window[window.visitorGlobalObjectAlias].q||[]).push(arguments)};
125        window[window.visitorGlobalObjectAlias].l=(new Date).getTime();
126
127        tarteaucitron.addScript('https://diffuser-cdn.app-us1.com/diffuser/diffuser.js', '', function () {
128            vgo('setAccount', tarteaucitron.user.activecampaignAccount);
129            vgo('setTrackByDefault', true);
130            vgo('process');
131        });
132    }
133};
134
135// sendinblue
136tarteaucitron.services.sendinblue = {
vendor: 8,673 bytes, lines 137-399
137    "key": "sendinblue",
138    "type": "other",
139    "name": "sendinblue",
140    "uri": "https://sendinblue.com/rgpd/",
141    "needConsent": true,
142    "cookies": [],
143    "js": function () {
144        "use strict";
145
146        if (tarteaucitron.user.sendinblueKey === undefined) {
147            return;
148        }
149
150        window.sib = {equeue: [], client_key: tarteaucitron.user.sendinblueKey};
151        window.sendinblue = {};
152        for (var j = ['track', 'identify', 'trackLink', 'page'], i = 0; i < j.length; i++) {
153            (function(k) {
154                window.sendinblue[k] = function() {
155                    var arg = Array.prototype.slice.call(arguments);
156                    (window.sib[k] || function() {
157                        var t = {};
158                        t[k] = arg;
159                        window.sib.equeue.push(t);
160                    })(arg[0], arg[1], arg[2], arg[3]);
161                };
162            })(j[i]);
163        }
164
165        tarteaucitron.addScript('https://sibautomation.com/sa.js?key=' + window.sib.client_key, 'sendinblue-js', function () {
166            window.sendinblue.page();
167        });
168    }
169};
170
171// collectchat
172tarteaucitron.services.collectchat = {
173    "key": "collectchat",
174    "type": "other",
175    "name": "Collect Chat",
176    "uri": "https://collect.chat/privacy/",
177    "needConsent": true,
178    "cookies": [],
179    "js": function () {
180        "use strict";
181
182        if (tarteaucitron.user.collectchatId === undefined) {
183            return;
184        }
185
186        window.CollectId = tarteaucitron.user.collectchatId;
187
188        tarteaucitron.addScript('https://collectcdn.com/launcher.js');
189    }
190};
191
192// eulerian
193tarteaucitron.services.eulerian = {
194    "key": "eulerian",
195    "type": "analytic",
196    "name": "Eulerian",
197    "uri": "https://www.eulerian.com/rgpd",
198    "needConsent": true,
199    "cookies": [],
200    "js": function () {
201        "use strict";
202
203        if (tarteaucitron.user.eulerianHost === undefined) {
204            return;
205        }
206
207        (function(e,a){var i=e.length,y=5381,k='script',s=window,v=document,o=v.createElement(k);for(;i;){i-=1;y=(y*33)^e.charCodeAt(i)}y='_EA_'+(y>>>=0);(function(e,a,s,y){s[a]=s[a]||function(){(s[y]=s[y]||[]).push(arguments);s[y].eah=e;};}(e,a,s,y));i=new Date/1E7|0;o.ea=y;y=i%26;o.async=1;o.src='//'+e+'/'+String.fromCharCode(97+y,122-y,65+y)+(i%1E3)+'.js?2';s=v.getElementsByTagName(k)[0];s.parentNode.insertBefore(o,s);})
208        (tarteaucitron.user.eulerianHost,'EA_push');
209        EA_push();
210    }
211};
212
213// posthog
214tarteaucitron.services.posthog = {
215    "key": "posthog",
216    "type": "other",
217    "name": "Posthog",
218    "uri": "https://posthog.com/privacy",
219    "needConsent": true,
220    "cookies": [],
221    "js": function () {
222        "use strict";
223
224        if (tarteaucitron.user.posthogApiKey === undefined || tarteaucitron.user.posthogHost === undefined) {
225            return;
226        }
227
228        !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
229
230        posthog.init(tarteaucitron.user.posthogApiKey, {api_host: tarteaucitron.user.posthogHost});
231
232    }
233};
234
235// googlesignin
236tarteaucitron.services.googlesignin = {
237    "key": "googlesignin",
238    "type": "other",
239    "name": "Google Signin",
240    "uri": "https://policies.google.com/technologies/cookies#types-of-cookies",
241    "needConsent": true,
242    "cookies": [],
243    "js": function () {
244        "use strict";
245
246        tarteaucitron.addScript('https://accounts.google.com/gsi/client');
247    }
248};
249
250// calendly
251tarteaucitron.services.calendly = {
252    "key": "calendly",
253    "type": "other",
254    "name": "Calendly",
255    "uri": "https://calendly.com/privacy",
256    "needConsent": true,
257    "cookies": [],
258    "js": function () {
259        "use strict";
260
261        tarteaucitron.addScript('https://assets.calendly.com/assets/external/widget.js');
262    }
263};
264
265// tolkai
266tarteaucitron.services.tolkai = {
267    "key": "tolkai",
268    "type": "other",
269    "name": "tolk.ai",
270    "uri": "https://www.tolk.ai/",
271    "needConsent": true,
272    "cookies": [],
273    "js": function () {
274        "use strict";
275
276        if (tarteaucitron.user.tolkaiBot === undefined) {
277            return;
278        }
279
280        window.tcfbot = tarteaucitron.user.tolkaiBot;
281        window.TcfWbchtParams = { behaviour: 'default' };
282        window.display = 'iframe';
283        tarteaucitron.addScript('https://script.tolk.ai/iframe-latest.js');
284    }
285};
286
287// kwanko
288tarteaucitron.services.kwanko = {
289    "key": "kwanko",
290    "type": "ads",
291    "name": "Kwanko",
292    "uri": "https://www.kwanko.com/fr/rgpd/politique-gestion-donnees/",
293    "needConsent": true,
294    "cookies": [],
295    "js": function () {
296        "use strict";
297        tarteaucitron.fallback(['tac_kwanko'], function (x) {
298            var mclic = x.getAttribute("data-mclic");
299
300            return '<img src="https://action.metaffiliation.com/trk.php?mclic=' + mclic + '" width="1" height="1" border="0" />';
301        });
302    },
303    "fallback": function () {
304        "use strict";
305        var id = 'kwanko';
306        tarteaucitron.fallback(['tac_kwanko'], function (elem) {
307            return tarteaucitron.engage(id);
308        });
309    }
310};
311
312// leadforensics
313tarteaucitron.services.leadforensics = {
314    "key": "leadforensics",
315    "type": "ads",
316    "name": "Lead Forensics",
317    "uri": "https://www.leadforensics.com/cookie-policy/",
318    "needConsent": true,
319    "cookies": ['ifuuid'],
320    "js": function () {
321        "use strict";
322        if (tarteaucitron.user.leadforensicsId === undefined) {
323            return;
324        }
325
326        tarteaucitron.addScript('https://secure.team8save.com/js/sc/'+ tarteaucitron.user.leadforensicsId +'.js');
327    }
328};
329
330// ubib
331tarteaucitron.services.ubib = {
332    "key": "ubib",
333    "type": "support",
334    "name": "Ubib Chatbot",
335    "uri": "https://ubib.libanswers.com/",
336    "needConsent": true,
337    "cookies": [],
338    "js": function () {
339        "use strict";
340
341        if (tarteaucitron.user.ubibId === undefined || tarteaucitron.user.ubibHash === undefined) {
342            return;
343        }
344
345        tarteaucitron.addScript('https://' + tarteaucitron.user.ubibId + '.libanswers.com/load_chat.php?hash=' + tarteaucitron.user.ubibHash);
346    }
347};
348
349// wysistathightrack
350tarteaucitron.services.wysistathightrack = {
351    "key": "wysistathightrack",
352    "type": "analytic",
353    "name": "Wysistat (privacy by design)",
354    "uri": "https://www.wysistat.net/webanalytics/exemption-cnil/",
355    "needConsent": false,
356    "cookies": ['wysistat'],
357    "js": function () {
358        "use strict";
359
360        if (tarteaucitron.user.wysistatNom === undefined) {
361            return;
362        }
363
364        window._wsq = window._wsq || [];
365        window._wsq.push(['_setNom', tarteaucitron.user.wysistatNom]);
366        window._wsq.push(['_wysistat']);
367
368        tarteaucitron.addScript('https://www.wysistat.com/ws.jsa');
369    }
370};
371
372// robofabrica
373tarteaucitron.services.robofabrica = {
374    "key": "robofabrica",
375    "type": "support",
376    "name": "Robo Fabrica Chatbot",
377    "uri": "https://robofabrica.tech/charte-vie-privee/",
378    "needConsent": true,
379    "cookies": [],
380    "js": function () {
381        "use strict";
382
383        if (tarteaucitron.user.robofabricaUuid === undefined) {
384            return;
385        }
386
387        tarteaucitron.addScript('https://app.robofabrica.tech/widget/script', 'inceptive-cw-script', function() {
388
389            document.getElementById('inceptive-cw-script').setAttribute('unique-url', tarteaucitron.user.robofabricaUuid);
390            document.getElementById('inceptive-cw-script').setAttribute('label', 'start');
391            document.getElementById('inceptive-cw-script').setAttribute('launch-btn-id', 'inceptive-cw-launch');
392            document.getElementById('inceptive-cw-script').setAttribute('chat-server-url', 'https://app.robofabrica.tech:443');
393
394        });
395    }
396};
397
398// trustpilot
399tarteaucitron.services.trustpilot = {
400    "key": "trustpilot",
401    "type": "other",
402    "name": "Trustpilot",
403    "uri": "https://fr.legal.trustpilot.com/for-reviewers/end-user-privacy-terms",
404    "needConsent": true,
405    "cookies": [],
406    "js": function () {
407        "use strict";
408        tarteaucitron.fallback(['trustpilot-widget'], '');
409        tarteaucitron.addScript('https://widget.trustpilot.com/bootstrap/v5/tp.widget.sync.bootstrap.min.js');
410    },
411    "fallback": function () {
412        "use strict";
413        var id = 'trustpilot';
414        tarteaucitron.fallback(['trustpilot-widget'], function (elem) {
415            elem.style.width = elem.getAttribute('data-style-width');
416            elem.style.height = elem.getAttribute('data-style-height');
417            return tarteaucitron.engage(id);
418        });
419    }
420};
421
422// snapchat
423tarteaucitron.services.snapchat = {
424    "key": "snapchat",
425    "type": "analytic",
426    "name": "Snapchat",
427    "uri": "https://snap.com/fr-FR/privacy/privacy-policy",
428    "needConsent": true,
429    "cookies": [],
430    "js": function () {
431        "use strict";
432
433        if (tarteaucitron.user.snapchatId === undefined || tarteaucitron.user.snapchatEmail === undefined) {
434            return;
435        }
436
437        var a = window.snaptr = function() {
438            a.handleRequest ? a.handleRequest.apply(a, arguments) : a.queue.push(arguments)
439        };
440        a.queue = [];
441        window.snaptr('init', tarteaucitron.user.snapchatId, {
442            'user_email': tarteaucitron.user.snapchatEmail
443        });
444        window.snaptr('track', 'PAGE_VIEW');
445
446        tarteaucitron.addScript('https://sc-static.net/scevent.min.js');
447
448        if (typeof tarteaucitron.user.snapchatMore === 'function') {
449            tarteaucitron.user.snapchatMore();
450        }
451    }
452};
453
454// antvoice
455tarteaucitron.services.antvoice = {
456    "key": "antvoice",
457    "type": "ads",
458    "name": "antvoice",
459    "uri": "https://www.antvoice.com/fr/privacy-policy/",
460    "needConsent": true,
461    "cookies": ['antvoice'],
462    "js": function () {
463        "use strict";
464
465        if (tarteaucitron.user.antvoiceId === undefined) {
466            return;
467        }
468
469        window.avDataLayer = window.avDataLayer || [];
470        window.avtag = window.avtag || function(_cmd,_p) {
471            window.avDataLayer.push({cmd:_cmd,p:_p});
472        }
473        window.avtag('setConsent', {consent:true});
474        window.avtag('init', {id: tarteaucitron.user.antvoiceId});
475
476        tarteaucitron.addScript('https://static.avads.net/avtag.min.js');
477    }
478};
479
480// plausible
481tarteaucitron.services.plausible = {
482    "key": "plausible",
483    "type": "analytic",
484    "name": "Plausible",
485    "uri": "https://plausible.io/privacy",
486    "needConsent": false,
487    "cookies": [],
488    "js": function () {
489        "use strict";
490
491        if (tarteaucitron.user.plausibleDomain === undefined) {
492            return;
493        }
494
495        tarteaucitron.addScript('https://plausible.io/js/script.js', '', '', '', 'data-domain', tarteaucitron.user.plausibleDomain);
496    }
497};
498
499// videas
500tarteaucitron.services.videas = {
501    "key": "videas",
502    "type": "video",
503    "name": "Videas",
504    "uri": "https://videas.fr/fr/legal",
505    "needConsent": true,
506    "cookies": [],
507    "js": function () {
508        "use strict";
509        tarteaucitron.fallback(['tac_videas'], function (x) {
510            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Videas iframe'),
511                width = x.getAttribute("width"),
512                height = x.getAttribute("height"),
513                id = x.getAttribute("data-id"),
514                allowfullscreen = x.getAttribute("allowfullscreen");
515
516            return '<iframe title="' + frame_title + '" src="https://app.videas.fr/embed/' + id + '/" width="' + width + '" height="' + height + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
517        });
518    },
519    "fallback": function () {
520        "use strict";
521        var id = 'videas';
522        tarteaucitron.fallback(['tac_videas'], function (elem) {
523            elem.style.width = elem.getAttribute('width') + 'px';
524            elem.style.height = elem.getAttribute('height') + 'px';
525            return tarteaucitron.engage(id);
526        });
527    }
528};
529
530// myfeelback
531tarteaucitron.services.myfeelback = {
vendor: 9,750 bytes, lines 532-822
532    "key": "myfeelback",
533    "type": "api",
534    "name": "MyFeelBack (Skeepers)",
535    "uri": "https://help.myfeelback.com/fr/quels-sont-les-cookies-d%C3%A9pos%C3%A9s-par-un-dispositif-de-collecte-myfeelback",
536    "needConsent": true,
537    "cookies": [],
538    "js": function () {
539        "use strict";
540        if (tarteaucitron.user.myfeelbackId === undefined) {
541            return;
542        }
543
544        window._Mfb_useCookie = true;
545        window._Mfb_ud = {
546            var1: undefined,
547            var2: undefined,
548            varN: undefined,
549            _context: {
550                lang: undefined,
551                privacyMode: false,
552                _page: {
553                    url: location.pathname,
554                    storageDuration: 30
555                }
556            }
557        };
558        tarteaucitron.addScript('https://actorssl-5637.kxcdn.com/actor/'+tarteaucitron.user.myfeelbackId+'/action', 'MFBActor');
559    }
560};
561
562// arcio
563tarteaucitron.services.arcio = {
564    "key": "arcio",
565    "type": "api",
566    "name": "Arc.io",
567    "uri": "https://arc.io/about",
568    "needConsent": true,
569    "cookies": [],
570    "js": function () {
571        "use strict";
572        if (tarteaucitron.user.arcId === undefined) {
573            return;
574        }
575
576        tarteaucitron.addScript('https://arc.io/widget.min.js#'+tarteaucitron.user.arcId);
577    }
578};
579
580// doubleclick
581tarteaucitron.services.doubleclick = {
582    "key": "doubleclick",
583    "type": "ads",
584    "name": "DoubleClick",
585    "uri": "https://support.google.com/admanager/answer/2839090",
586    "needConsent": true,
587    "cookies": [],
588    "js": function () {
589        "use strict";
590        tarteaucitron.fallback(['doubleclick_container'], function (x) {
591            var id1 = tarteaucitron.getElemAttr(x, "data-id1"),
592                id2 = tarteaucitron.getElemAttr(x, "data-id2"),
593                type = tarteaucitron.getElemAttr(x, "data-type"),
594                cat = tarteaucitron.getElemAttr(x, "data-cat"),
595                item = tarteaucitron.getElemAttr(x, "data-item"),
596                quantity = tarteaucitron.getElemAttr(x, "data-quantity"),
597                price = tarteaucitron.getElemAttr(x, "data-price"),
598                postage = tarteaucitron.getElemAttr(x, "data-postage"),
599                seller = tarteaucitron.getElemAttr(x, "data-seller"),
600                gdpr = tarteaucitron.getElemAttr(x, "data-gdpr"),
601                gdpr_consent = tarteaucitron.getElemAttr(x, "data-gdpr-consent"),
602                ord = tarteaucitron.getElemAttr(x, "data-ord"),
603                num = tarteaucitron.getElemAttr(x, "data-num");
604
605            return '<iframe src="https://'+id1+'.fls.doubleclick.net/activityi;src='+id2+';type='+type+';cat='+cat+';item='+item+';quantity='+quantity+';price='+price+';postage='+postage+';seller='+seller+';gdpr='+gdpr+';gdpr_consent='+gdpr_consent+';num='+num+';ord='+ord+'?" width="1" height="1" frameborder="0" style="display:none"></iframe>';
606        });
607    }
608};
609
610// userpilot
611tarteaucitron.services.userpilot = {
612    "key": "userpilot",
613    "type": "analytic",
614    "name": "UserPilot",
615    "uri": "https://userpilot.com/privacy-policy",
616    "needConsent": true,
617    "cookies": [],
618    "js": function () {
619        "use strict";
620        if (tarteaucitron.user.userpilotToken === undefined) {
621            return;
622        }
623
624        window.userpilotSettings = {token: tarteaucitron.user.userpilotToken};
625        tarteaucitron.addScript('https://js.userpilot.io/sdk/latest.js');
626    }
627};
628
629tarteaucitron.services.piwikpro = {
630    "key": "piwikpro",
631    "type": "analytic",
632    "name": "Piwik Pro",
633    "uri": "https://piwik.pro/privacy-policy/",
634    "needConsent": true,
635    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
636    "js": function () {
637        "use strict";
638        if (tarteaucitron.user.piwikProId === undefined) {
639            return;
640        }
641
642        window['dataLayer'] = window['dataLayer'] || [], window['dataLayer'].push({
643            start: (new Date).getTime(),
644            event: "stg.start"
645        });
646
647        function stgCreateCookie(a, b, c) {
648            var d = "";
649            if (c) {
650                var e = new Date;
651                e.setTime(e.getTime() + 24 * c * 60 * 60 * 1e3), d = "; expires=" + e.toUTCString()
652            }
653            document.cookie = a + "=" + b + d + "; path=/"
654        }
655
656        var isStgDebug = (window.location.href.match("stg_debug") || document.cookie.match("stg_debug")) && !window.location.href.match("stg_disable_debug");
657        stgCreateCookie("stg_debug", isStgDebug ? 1 : "", isStgDebug ? 14 : -1);
658        var qP = [];
659
660        var qPString = qP.length > 0 ? ("?" + qP.join("&")) : "";
661        tarteaucitron.addScript('https://carsatse.containers.piwik.pro/'+tarteaucitron.user.piwikProId+'.js'+qPString);
662
663        ! function(a, n, i) {
664            a[n] = a[n] || {};
665            for (var c = 0; c < i.length; c++) ! function(i) {
666                a[n][i] = a[n][i] || {}, a[n][i].api = a[n][i].api || function() {
667                    var a = [].slice.call(arguments, 0);
668                    "string" == typeof a[0] && window['dataLayer'].push({
669                        event: n + "." + i + ":" + a[0],
670                        parameters: [].slice.call(arguments, 1)
671                    })
672                }
673            }(i[c])
674        }(window, "ppms", ["tm", "cm"]);
675    }
676};
677
678// pinterestpixel
679tarteaucitron.services.pinterestpixel = {
680    "key": "pinterestpixel",
681    "type": "ads",
682    "name": "Pinterest Pixel",
683    "uri": "https://help.pinterest.com/fr/business/article/track-conversions-with-pinterest-tag",
684    "needConsent": true,
685    "cookies": ['_pinterest_sess', '_pinterest_ct', '_pinterest_ct_mw', '_pinterest_ct_rt', '_epik', '_derived_epik', '_pin_unauth', '_pinterest_ct_ua'],
686    "js": function () {
687        "use strict";
688
689        if (tarteaucitron.user.pinterestpixelId === undefined) {
690            return;
691        }
692
693        if (!window.pintrk) {
694            window.pintrk = function () {
695                window.pintrk.queue.push(Array.prototype.slice.call(arguments));
696            };
697
698            var n = window.pintrk;
699            n.queue = [];
700            n.version = "3.0";
701
702            tarteaucitron.addScript('https://s.pinimg.com/ct/core.js', '', function () {
703                window.pintrk('load', tarteaucitron.user.pinterestpixelId);
704                window.pintrk('page');
705            });
706        }
707    }
708};
709
710// elfsight
711tarteaucitron.services.elfsight = {
712    "key": "elfsight",
713    "type": "support",
714    "name": "Elfsight",
715    "uri": "https://elfsight.com/privacy-policy/",
716    "needConsent": true,
717    "cookies": ['__cfduid', '_p_hfp_client_id', 'session_id'],
718    "js": function () {
719        "use strict";
720
721        tarteaucitron.addScript('https://apps.elfsight.com/p/platform.js');
722    }
723};
724
725// plezi
726tarteaucitron.services.plezi = {
727    "key": "plezi",
728    "type": "analytic",
729    "name": "Plezi",
730    "uri": "https://www.plezi.co/fr/mentions-legales/",
731    "needConsent": true,
732    "cookies": [],
733    "js": function () {
734        "use strict";
735
736        if (tarteaucitron.user.pleziTenant === undefined || tarteaucitron.user.pleziTw === undefined) {
737            return;
738        }
739
740        tarteaucitron.addScript('https://app.plezi.co/scripts/ossleads_analytics.js?tenant=' + tarteaucitron.user.pleziTenant + '&tw=' + tarteaucitron.user.pleziTw);
741    }
742};
743
744
745// smartsupp
746tarteaucitron.services.smartsupp = {
747    "key": "smartsupp",
748    "type": "support",
749    "name": "Smartsupp",
750    "uri": "https://www.smartsupp.com/help/privacy/",
751    "needConsent": true,
752    "cookies": ['ssupp.vid', 'ssupp.visits', 'AWSALB', 'AWSALBCORS'],
753    "js": function () {
754        "use strict";
755
756        if (tarteaucitron.user.smartsuppKey === undefined) {
757            return;
758        }
759
760        window._smartsupp = window._smartsupp || {};
761        window._smartsupp.key = tarteaucitron.user.smartsuppKey;
762        window.smartsupp = function () {
763            window.smartsupp._.push(arguments)
764        };
765        window.smartsupp._ = [];
766
767        tarteaucitron.addScript('https://www.smartsuppchat.com/loader.js');
768    }
769};
770
771
772
773// sharpspring
774tarteaucitron.services.sharpspring = {
775    "key": "sharpspring",
776    "type": "analytic",
777    "name": "SharpSpring",
778    "uri": "https://sharpspring.com/legal/sharpspring-cookie-policy/",
779    "needConsent": true,
780    "cookies": ['koitk', '__ss', '__ss_tk', '__ss_referrer'],
781    "js": function () {
782        "use strict";
783
784        if (tarteaucitron.user.ssId === undefined || tarteaucitron.user.ssAccount === undefined) {
785            return;
786        }
787
788        window._ss = window._ss || [];
789        window._ss.push(['_setDomain', 'https://' + tarteaucitron.user.ssId + '.marketingautomation.services/net']);
790        window._ss.push(['_setAccount', tarteaucitron.user.ssAccount]);
791        window._ss.push(['_trackPageView']);
792
793        window._pa = window._pa || {};
794
795        tarteaucitron.addScript('https://' + tarteaucitron.user.ssId + '.marketingautomation.services/client/ss.js');
796    }
797};
798
799// pardot
800tarteaucitron.services.pardot = {
801    "key": "pardot",
802    "type": "analytic",
803    "name": "Pardot",
804    "uri": "https://www.salesforce.com/company/privacy/full_privacy/",
805    "needConsent": true,
806    "cookies": ['visitor_id'],
807    "js": function () {
808        "use strict";
809        if (tarteaucitron.user.piAId === undefined || tarteaucitron.user.piCId === undefined) {
810            return;
811        }
812
813        window.piAId = tarteaucitron.user.piAId;
814        window.piCId = tarteaucitron.user.piCId;
815        window.piHostname = 'pi.pardot.com';
816
817        tarteaucitron.addScript('https://pi.pardot.com/pd.js');
818    }
819};
820
821// Open Web Analytics
822tarteaucitron.services.openwebanalytics = {
823    "key": "openwebanalytics",
824    "type": "analytic",
825    "name": "Open Web Analytics",
826    "uri": "",
827    "needConsent": true,
828    "cookies": [],
829    "js": function () {
830        "use strict";
831
832        if (tarteaucitron.user.openwebanalyticsId === undefined || tarteaucitron.user.openwebanalyticsHost === undefined) {
833            return;
834        }
835
836        window.owa_baseUrl = tarteaucitron.user.openwebanalyticsHost;
837        window.owa_cmds = window.owa_cmds || [];
838        window.owa_cmds.push(['setSiteId', tarteaucitron.user.openwebanalyticsId]);
839        window.owa_cmds.push(['trackPageView']);
840        window.owa_cmds.push(['trackClicks']);
841
842        tarteaucitron.addScript(window.owa_baseUrl + 'modules/base/js/owa.tracker-combined-min.js');
843    }
844};
845
846// xandr universal pixel
847// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/universal-pixel-overview.html
848tarteaucitron.services.xandr = {
849    "key": "xandr",
850    "type": "ads",
851    "name": "Xandr (Universal)",
852    "uri": "https://www.xandr.com/privacy/cookie-policy/",
853    "needConsent": true,
854    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
855    "js": function () {
856        "use strict";
857        if (tarteaucitron.user.xandrId === undefined) {
858            return;
859        }
860
861        if (!window.pixie) {
862            var n = window.pixie = function (e, i, a) {
863                n.actionQueue.push({
864                    action: e,
865                    actionValue: i,
866                    params: a
867                })
868            };
869            n.actionQueue = [];
870        }
871
872        tarteaucitron.addScript('https://acdn.adnxs.com/dmp/up/pixie.js', '', function () {
873            window.pixie('init', tarteaucitron.user.xandrId);
874            window.pixie('event', 'PageView');
875        });
876    }
877};
878
879// xandr segment
880// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/segment-pixels-advanced.html
881tarteaucitron.services.xandrsegment = {
882    "key": "xandrsegment",
883    "type": "ads",
884    "name": "Xandr (Segment)",
885    "uri": "https://www.xandr.com/privacy/cookie-policy/",
886    "needConsent": true,
887    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
888    "js": function () {
889        "use strict";
890        var uniqIds = [],
891            i,
892            uri;
893
894        tarteaucitron.fallback(['xandrsegment-canvas'], function (x) {
895            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
896            uniqIds.push(uniqId);
897            return '<div id="' + uniqId + '" xandrsegmentAdd="' + x.getAttribute('xandrsegmentAdd') + '" xandrsegmentAddCode="' + x.getAttribute('xandrsegmentAddCode') + '" xandrsegmentRemove="' + x.getAttribute('xandrsegmentRemove') + '" xandrsegmentRemoveCode="' + x.getAttribute('xandrsegmentRemoveCode') + '" xandrsegmentMember="' + x.getAttribute('xandrsegmentMember') + '" xandrsegmentRedir="' + x.getAttribute('xandrsegmentRedir') + '" xandrsegmentValue="' + x.getAttribute('xandrsegmentValue') + '" xandrsegmentOther="' + x.getAttribute('xandrsegmentOther') + '"></div>';
898        });
899
900        for (i = 0; i < uniqIds.length; i += 1) {
901            uri = '//ib.adnxs.com/seg?t=2&';
902            uri += 'add=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAdd') + '&';
903            uri += 'add_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAddCode') + '&';
904            uri += 'remove=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemove') + '&';
905            uri += 'remove_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemoveCode') + '&';
906            uri += 'member=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentMember') + '&';
907            uri += 'redir=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRedir') + '&';
908            uri += 'value=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentValue') + '&';
909            uri += 'other=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentOther');
910
911            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
912        }
913    },
914    "fallback": function () {
915        "use strict";
916        var id = 'xandrsegment';
917        tarteaucitron.fallback(['xandrsegment-canvas'], tarteaucitron.engage(id));
918    }
919};
920
921// xandr conversion
922// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/working-with-conversion-pixels.html
923tarteaucitron.services.xandrconversion = {
924    "key": "xandrconversion",
925    "type": "ads",
926    "name": "Xandr (Conversion)",
927    "uri": "https://www.xandr.com/privacy/cookie-policy/",
928    "needConsent": true,
929    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
930    "js": function () {
931        "use strict";
932        var uniqIds = [],
933            i,
934            uri;
935
936        tarteaucitron.fallback(['xandrconversion-canvas'], function (x) {
937            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
938            uniqIds.push(uniqId);
939            return '<div id="' + uniqId + '" xandrconversionId="' + x.getAttribute('xandrconversionId') + '" xandrconversionSeg="' + x.getAttribute('xandrconversionSeg') + '" xandrconversionOrderId="' + x.getAttribute('xandrconversionOrderId') + '" xandrconversionValue="' + x.getAttribute('xandrconversionValue') + '" xandrconversionRedir="' + x.getAttribute('xandrconversionRedir') + '" xandrconversionOther="' + x.getAttribute('xandrconversionOther') + '"></div>';
940        });
941
942        for (i = 0; i < uniqIds.length; i += 1) {
943            uri = '//ib.adnxs.com/px?t=2&';
944            uri += 'id=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionId') + '&';
945            uri += 'seg=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionSeg') + '&';
946            uri += 'order_id=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionOrderId') + '&';
947            uri += 'value=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionValue') + '&';
948            uri += 'redir=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionRedir') + '&';
949            uri += 'other=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionOther');
950
951            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
952        }
953    },
954    "fallback": function () {
955        "use strict";
956        var id = 'xandrconversion';
957        tarteaucitron.fallback(['xandrconversion-canvas'], tarteaucitron.engage(id));
958    }
959};
960
961// helloasso
962tarteaucitron.services.helloasso = {
963    "key": "helloasso",
964    "type": "api",
965    "name": "HelloAsso",
966    "uri": "https://www.helloasso.com/confidentialite",
967    "needConsent": true,
968    "cookies": [],
969    "js": function () {
970        "use strict";
971        tarteaucitron.fallback(['tac_helloasso'], function (x) {
972            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'HelloAsso iframe'),
973                width = x.getAttribute("width"),
974                height = x.getAttribute("height"),
975                url = x.getAttribute("data-url"),
976                allowfullscreen = x.getAttribute("allowfullscreen");
977
978            return '<iframe title="' + frame_title + '" id="haWidget" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
979        });
980    },
981    "fallback": function () {
982        "use strict";
983        var id = 'helloasso';
984        tarteaucitron.fallback(['tac_helloasso'], function (elem) {
985            elem.style.width = elem.getAttribute('width') + 'px';
986            elem.style.height = elem.getAttribute('height') + 'px';
987            return tarteaucitron.engage(id);
988        });
989    }
990};
991
992// podcloud
993tarteaucitron.services.podcloud = {
994    "key": "podcloud",
995    "type": "video",
996    "name": "podCloud",
997    "uri": "https://podcloud.fr/privacy",
998    "needConsent": true,
999    "cookies": [],
1000    "js": function () {
1001        "use strict";
1002        tarteaucitron.fallback(['tac_podcloud'], function (x) {
1003            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'podCloud iframe'),
1004                width = x.getAttribute("width"),
1005                height = x.getAttribute("height"),
1006                url = x.getAttribute("data-url"),
1007                allowfullscreen = x.getAttribute("allowfullscreen");
1008
1009            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1010        });
1011    },
1012    "fallback": function () {
1013        "use strict";
1014        var id = 'podcloud';
1015        tarteaucitron.fallback(['tac_podcloud'], function (elem) {
1016            elem.style.width = elem.getAttribute('width') + 'px';
1017            elem.style.height = elem.getAttribute('height') + 'px';
1018            return tarteaucitron.engage(id);
1019        });
1020    }
1021};
1022
1023// facebookpost
1024tarteaucitron.services.facebookpost = {
1025    "key": "facebookpost",
1026    "type": "social",
1027    "name": "Facebook (post)",
1028    "uri": "https://www.facebook.com/policy.php",
1029    "needConsent": true,
1030    "cookies": [],
1031    "js": function () {
1032        "use strict";
1033        tarteaucitron.fallback(['tac_facebookpost'], function (x) {
1034            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Facebook iframe'),
1035                width = x.getAttribute("width"),
1036                height = x.getAttribute("height"),
1037                url = x.getAttribute("data-url"),
1038                appId = x.getAttribute("data-appid"),
1039                allowfullscreen = x.getAttribute("allowfullscreen"),
1040                showText = x.getAttribute("data-show-text");
1041
1042            return '<iframe title="' + frame_title + '" src="https://www.facebook.com/plugins/post.php?href=' + encodeURIComponent(url) + '&amp;width=' + width + '&amp;show_text=false&amp;appId=' + appId + '&amp;show_text=' + showText + '&amp;height=' + height + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1043        });
1044    },
1045    "fallback": function () {
1046        "use strict";
1047        var id = 'facebookpost';
1048        tarteaucitron.fallback(['tac_facebookpost'], function (elem) {
1049            elem.style.width = elem.getAttribute('width') + 'px';
1050            elem.style.height = elem.getAttribute('height') + 'px';
1051            return tarteaucitron.engage(id);
1052        });
1053    }
1054};
1055
1056// amplitude
1057tarteaucitron.services.amplitude = {
1058    "key": "amplitude",
1059    "type": "analytic",
1060    "name": "Amplitude",
1061    "uri": "https://amplitude.com/privacy",
1062    "needConsent": true,
1063    "cookies": [],
1064    "js": function () {
1065        "use strict";
1066        if (tarteaucitron.user.amplitude === undefined) {
1067            return;
1068        }
1069        tarteaucitron.addScript('https://cdn.amplitude.com/libs/amplitude-5.8.0-min.gz.js', '', function () {
1070
1071            window.amplitude = {
1072                _q: [],
1073                _iq: {}
1074            };
1075            function s(e, t) { e.prototype[t] = function () { this._q.push([t].concat(Array.prototype.slice.call(arguments, 0))); return this } }
1076            var o = function () { this._q = []; return this };
1077            var a = ["add", "append", "clearAll", "prepend", "set", "setOnce", "unset"];
1078            for (var u = 0; u < a.length; u++) { s(o, a[u]) }
1079            amplitude.Identify = o;
1080            var c = function () { this._q = []; return this };
1081            var l = ["setProductId", "setQuantity", "setPrice", "setRevenueType", "setEventProperties"];
1082            for (var p = 0; p < l.length; p++) { s(c, l[p]) }
1083            amplitude.Revenue = c;
1084            var d = ["init", "logEvent", "logRevenue", "setUserId", "setUserProperties", "setOptOut", "setVersionName", "setDomain", "setDeviceId", "enableTracking", "setGlobalUserProperties", "identify", "clearUserProperties", "setGroup", "logRevenueV2", "regenerateDeviceId", "groupIdentify", "onInit", "logEventWithTimestamp", "logEventWithGroups", "setSessionId", "resetSessionId"];
1085            function v(e) { function t(t) { e[t] = function () { e._q.push([t].concat(Array.prototype.slice.call(arguments, 0))) } } for (var n = 0; n < d.length; n++) { t(d[n]) } }
1086            v(amplitude);
1087            amplitude.getInstance = function (e) { e = (!e || e.length === 0 ? "$default_instance" : e).toLowerCase(); if (!amplitude._iq.hasOwnProperty(e)) { amplitude._iq[e] = { _q: [] }; v(amplitude._iq[e]) } return amplitude._iq[e] };
1088
1089            amplitude.getInstance().init(tarteaucitron.user.amplitude);
1090        });
1091    }
1092};
1093
1094// abtasty
1095tarteaucitron.services.abtasty = {
1096    "key": "abtasty",
1097    "type": "api",
1098    "name": "ABTasty",
1099    "uri": "https://www.abtasty.com/terms-of-use/",
1100    "needConsent": true,
1101    "cookies": ['ABTasty', 'ABTastySession'],
1102    "js": function () {
1103        "use strict";
1104        if (tarteaucitron.user.abtastyID === undefined) {
1105            return;
1106        }
vendor: 4,132 bytes, lines 1107-1226
1107        tarteaucitron.addScript('//try.abtasty.com/' + tarteaucitron.user.abtastyID + '.js');
1108    }
1109};
1110
1111
1112// yandex metrica
1113tarteaucitron.services.metrica = {
1114    "key": "metrica",
1115    "type": "analytic",
1116    "name": "Yandex Metrica",
1117    "uri": "https://yandex.com/legal/confidential/",
1118    "needConsent": true,
1119    "cookies": ['_ym_metrika_enabled', '_ym_isad', '_ym_uid', '_ym_d', 'yabs-sid', '_ym_debug', '_ym_mp2_substs', '_ym_hostIndex', '_ym_mp2_track', 'yandexuid', 'usst'],
1120    "js": function () {
1121        "use strict";
1122        if (tarteaucitron.user.yandexmetrica === undefined) {
1123            return;
1124        }
1125        tarteaucitron.addScript('https://mc.yandex.ru/metrika/tag.js', '', function () {
1126
1127            (function (m, e, t, r, i, k, a) {
1128                m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) };
1129                m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
1130            })
1131            (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
1132
1133            ym(tarteaucitron.user.yandexmetrica, "init", {
1134                clickmap: true,
1135                trackLinks: true,
1136                accurateTrackBounce: true,
1137                webvisor: true,
1138                ecommerce: "dataLayer"
1139            });
1140        });
1141    }
1142};
1143
1144// addthis
1145tarteaucitron.services.addthis = {
1146    "key": "addthis",
1147    "type": "social",
1148    "name": "AddThis",
1149    "uri": "https://www.addthis.com/privacy/privacy-policy#publisher-visitors",
1150    "needConsent": true,
1151    "cookies": ['__atuvc', '__atuvs'],
1152    "js": function () {
1153        "use strict";
1154        if (tarteaucitron.user.addthisPubId === undefined) {
1155            return;
1156        }
1157        if (tarteaucitron.isAjax === true) {
1158            window.addthis = null;
1159            window._adr = null;
1160            window._atc = null;
1161            window._atd = null;
1162            window._ate = null;
1163            window._atr = null;
1164            window._atw = null;
1165        }
1166        tarteaucitron.fallback(['addthis_inline_share_toolbox'], '');
1167        tarteaucitron.addScript('//s7.addthis.com/js/300/addthis_widget.js#pubid=' + tarteaucitron.user.addthisPubId);
1168    },
1169    "fallback": function () {
1170        "use strict";
1171        var id = 'addthis';
1172        tarteaucitron.fallback(['addthis_inline_share_toolbox'], tarteaucitron.engage(id));
1173    }
1174};
1175
1176// addtoanyfeed
1177tarteaucitron.services.addtoanyfeed = {
1178    "key": "addtoanyfeed",
1179    "type": "social",
1180    "name": "AddToAny (feed)",
1181    "uri": "https://www.addtoany.com/privacy",
1182    "needConsent": true,
1183    "cookies": [],
1184    "js": function () {
1185        "use strict";
1186        if (tarteaucitron.user.addtoanyfeedUri === undefined) {
1187            return;
1188        }
1189        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
1190        window.a2a_config = window.a2a_config || {};
1191        window.a2a_config.linkurl = tarteaucitron.user.addtoanyfeedUri;
1192        tarteaucitron.addScript('//static.addtoany.com/menu/feed.js');
1193    },
1194    "fallback": function () {
1195        "use strict";
1196        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
1197    }
1198};
1199
1200// addtoanyshare
1201tarteaucitron.services.addtoanyshare = {
1202    "key": "addtoanyshare",
1203    "type": "social",
1204    "name": "AddToAny (share)",
1205    "uri": "https://www.addtoany.com/privacy",
1206    "needConsent": true,
1207    "cookies": [],
1208    "js": function () {
1209        "use strict";
1210        tarteaucitron.fallback(['tac_addtoanyshare'], function (elem) {
1211            elem.remove();
1212        }, true);
1213        tarteaucitron.addScript('//static.addtoany.com/menu/page.js');
1214    },
1215    "fallback": function () {
1216        "use strict";
1217        var id = 'addtoanyshare';
1218        tarteaucitron.fallback(['tac_addtoanyshare'], tarteaucitron.engage(id));
1219    }
1220};
1221
1222// aduptech ads
1223tarteaucitron.services.aduptech_ads = {
1224    "key": "aduptech_ads",
1225    "type": "ads",
1226    "name": "Ad Up Technology (ads)",
1227    "uri": "https://www.adup-tech.com/datenschutz",
1228    "needConsent": true,
1229    "cookies": [],
1230    "js": function () {
1231        "use strict";
1232
1233        var IDENTIFIER = "aduptech_ads",
1234            API_URL = "https://s.d.adup-tech.com/jsapi";
1235
1236        var elements = document.getElementsByClassName(IDENTIFIER);
1237        if (!elements || elements.length === 0) {
1238            return;
1239        }
1240
1241        tarteaucitron.fallback([IDENTIFIER], "");
1242
1243        tarteaucitron.addScript(API_URL, "", function () {
1244            for (var i = 0; i < elements.length; i++) {
1245                var element = elements[i];
1246
1247                if (!element.getAttribute("id")) {
1248                    element.setAttribute("id", IDENTIFIER + Math.random().toString(36).substr(2, 9));
1249                }
1250
1251                window.uAd.embed(element.getAttribute("id"), {
1252                    placementKey: element.getAttribute("placementKey"),
1253                    responsive: Boolean(element.getAttribute("responsive")),
1254                    lazy: Boolean(element.getAttribute("lazy")),
1255                    adtest: Boolean(element.getAttribute("test")),
1256                    query: element.getAttribute("query") || "",
1257                    minCpc: element.getAttribute("minCpc") || "",
1258                    pageUrl: element.getAttribute("pageUrl") || "",
1259                    skip: element.getAttribute("skip") || ""
1260                });
1261            }
1262        });
1263
1264    },
1265    "fallback": function () {
1266        "use strict";
1267        tarteaucitron.fallback(["aduptech_ads"], tarteaucitron.engage("aduptech_ads"));
1268    }
1269};
1270
1271// aduptech conversion
1272tarteaucitron.services.aduptech_conversion = {
1273    "key": "aduptech_conversion",
1274    "type": "ads",
1275    "name": "Ad Up Technology (conversion)",
1276    "uri": "https://www.adup-tech.com/datenschutz",
1277    "needConsent": true,
1278    "cookies": [],
1279    "js": function () {
1280        "use strict";
1281
1282        var IDENTIFIER = "aduptech_conversion",
1283            CONVERSION_PIXEL_BASE_URL = "https://d.adup-tech.com/campaign/conversion";
1284
1285        var elements = document.getElementsByClassName(IDENTIFIER);
1286        if (!elements || elements.length === 0) {
1287            return;
1288        }
1289
1290        tarteaucitron.fallback([IDENTIFIER], "");
1291
1292        for (var i = 0; i < elements.length; i++) {
1293            var element = elements[i];
1294
1295            if (!element.getAttribute("advertiserId") || !element.getAttribute("conversionCode")) {
1296                continue;
1297            }
1298
1299            var url = CONVERSION_PIXEL_BASE_URL +
1300                "/" + encodeURIComponent(element.getAttribute("advertiserId")) +
1301                "?t=" + encodeURIComponent(element.getAttribute("conversionCode"));
1302
1303            if (element.getAttribute("price")) {
1304                url += "&price=" + encodeURIComponent(element.getAttribute("price"));
1305            }
1306
1307            if (element.getAttribute("quantity")) {
1308                url += "&quantity=" + encodeURIComponent(element.getAttribute("quantity"));
1309            }
1310
1311            if (element.getAttribute("total")) {
1312                url += "&total=" + encodeURIComponent(element.getAttribute("total"));
1313            }
1314
1315            if (element.getAttribute("orderId")) {
1316                url += "&order_id=" + encodeURIComponent(element.getAttribute("orderId"));
1317            }
1318
1319            if (element.getAttribute("itemNumber")) {
1320                url += "&item_number=" + encodeURIComponent(element.getAttribute("itemNumber"));
1321            }
1322
1323            if (element.getAttribute("description")) {
1324                url += "&description=" + encodeURIComponent(element.getAttribute("description"));
1325            }
1326
1327            (new Image()).src = url;
1328        }
1329    }
1330};
1331
1332// aduptech retargeting
1333tarteaucitron.services.aduptech_retargeting = {
1334    "key": "aduptech_retargeting",
1335    "type": "ads",
1336    "name": "Ad Up Technology (retargeting)",
1337    "uri": "https://www.adup-tech.com/datenschutz",
1338    "needConsent": true,
1339    "cookies": [],
1340    "js": function () {
1341        "use strict";
1342
1343        var IDENTIFIER = "aduptech_retargeting",
1344            API_URL = "https://s.d.adup-tech.com/services/retargeting.js";
1345
1346        var elements = document.getElementsByClassName(IDENTIFIER);
1347        if (!elements || elements.length === 0) {
1348            return;
1349        }
1350
1351        tarteaucitron.fallback([IDENTIFIER], "");
1352
1353        window.AdUpRetargeting = function (api) {
1354            for (var i = 0; i < elements.length; i++) {
1355                var element = elements[i];
1356
1357                api.init();
1358
1359                api.setAccount(element.getAttribute("account"));
1360
1361                if (element.getAttribute("email")) {
1362                    api.setEmail(element.getAttribute("email"));
1363                } else if (element.getAttribute("hashedEmail")) {
1364                    api.setHashedEmail(element.getAttribute("hashedEmail"));
1365                }
1366
1367                if (element.getAttribute("product")) {
1368                    try {
1369                        api.setProduct(JSON.parse(element.getAttribute("product")));
1370                    } catch (e) {
1371                        api.setProduct(element.getAttribute("product"));
1372                    }
1373                }
1374
1375                if (element.getAttribute("transaction")) {
1376                    try {
1377                        api.setTransaction(JSON.parse(element.getAttribute("transaction")));
1378                    } catch (e) {
1379                        api.setTransaction(element.getAttribute("transaction"));
1380                    }
1381                }
1382
1383                if (element.getAttribute("demarkUser")) {
1384                    api.setDemarkUser();
1385                } else if (element.getAttribute("demarkProducts")) {
1386                    api.setDemarkProducts();
1387                }
1388
1389                if (element.getAttribute("conversionCode")) {
1390                    api.setConversionCode(element.getAttribute("conversionCode"));
1391                }
1392
1393                if (element.getAttribute("device")) {
1394                    var setter = "set" + element.getAttribute("device").charAt(0).toUpperCase() + element.getAttribute("device").slice(1);
1395                    if (typeof api[setter] === 'function') {
1396                        api[setter]();
1397                    }
1398                }
1399
1400                if (element.getAttribute("track")) {
1401                    var tracker = "track" + element.getAttribute("track").charAt(0).toUpperCase() + element.getAttribute("track").slice(1);
1402                    if (typeof api[tracker] === "function") {
1403                        api[tracker]();
1404                    } else {
1405                        api.trackHomepage();
1406                    }
1407                }
1408            };
1409        };
1410
1411        tarteaucitron.addScript(API_URL);
1412    }
1413};
1414
1415// alexa
1416tarteaucitron.services.alexa = {
1417    "key": "alexa",
1418    "type": "analytic",
1419    "name": "Alexa",
1420    "uri": "https://www.alexa.com/help/privacy",
1421    "needConsent": true,
1422    "cookies": ['__asc', '__auc'],
1423    "js": function () {
1424        "use strict";
1425        if (tarteaucitron.user.alexaAccountID === undefined) {
1426            return;
1427        }
1428        window._atrk_opts = {
1429            atrk_acct: tarteaucitron.user.alexaAccountID,
1430            domain: window.location.hostname.match(/[^\.]*\.[^.]*$/)[0],
1431            dynamic: true
1432        };
1433        tarteaucitron.addScript('https://d31qbv1cthcecs.cloudfront.net/atrk.js');
1434    }
1435};
1436
1437// amazon
1438tarteaucitron.services.amazon = {
1439    "key": "amazon",
1440    "type": "ads",
1441    "name": "Amazon",
1442    "uri": "https://www.amazon.com/gp/help/customer/display.html/ref=help_search_1-1?ie=UTF8&nodeId=201909010&qid=1544617177&sr=1-1",
1443    "needConsent": true,
1444    "cookies": [],
1445    "js": function () {
1446        "use strict";
1447        tarteaucitron.fallback(['amazon_product'], function (x) {
1448            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Amazon iframe'),
1449                amazonId = x.getAttribute("amazonid"),
1450                productId = x.getAttribute("productid"),
1451                url = '//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=' + tarteaucitron.getLanguage().toUpperCase() + '&source=ss&ref=ss_til&ad_type=product_link&tracking_id=' + amazonId + '&marketplace=amazon&region=' + tarteaucitron.getLanguage().toUpperCase() + '&placement=' + productId + '&asins=' + productId + '&show_border=true&link_opens_in_new_window=true',
1452                iframe = '<iframe title="' + frame_title + '" style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" src="' + url + '"></iframe>';
1453
1454            return iframe;
1455        });
1456    },
1457    "fallback": function () {
1458        "use strict";
1459        var id = 'amazon';
1460        tarteaucitron.fallback(['amazon_product'], tarteaucitron.engage(id));
1461    }
1462};
1463
1464// calameo
1465tarteaucitron.services.calameo = {
1466    "key": "calameo",
1467    "type": "video",
1468    "name": "Calameo",
1469    "uri": "https://fr.calameo.com/privacy",
1470    "needConsent": true,
1471    "cookies": [],
1472    "js": function () {
1473        "use strict";
1474        tarteaucitron.fallback(['calameo-canvas'], function (x) {
1475            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Calameo iframe'),
1476                id = x.getAttribute("data-id"),
1477                width = x.getAttribute("width"),
1478                height = x.getAttribute("height"),
1479                url = '//v.calameo.com/?bkcode=' + id,
1480                allowfullscreen = x.getAttribute("allowfullscreen");
1481
1482            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1483        });
1484    },
1485    "fallback": function () {
1486        "use strict";
1487        var id = 'calameo';
1488        tarteaucitron.fallback(['calameo-canvas'], function (elem) {
1489            elem.style.width = elem.getAttribute('width') + 'px';
1490            elem.style.height = elem.getAttribute('height') + 'px';
1491            return tarteaucitron.engage(id);
1492        });
1493    }
1494};
1495
1496// clicky
1497tarteaucitron.services.clicky = {
1498    "key": "clicky",
1499    "type": "analytic",
1500    "name": "Clicky",
1501    "uri": "https://clicky.com/terms",
1502    "needConsent": true,
1503    "cookies": ['_jsuid', '_eventqueue', '_referrer_og', '_utm_og', '_first_pageview', 'clicky_olark', 'no_trackyy_' + tarteaucitron.user.clickyId, 'unpoco_' + tarteaucitron.user.clickyId, 'heatmaps_g2g_' + tarteaucitron.user.clickyId],
1504    "js": function () {
1505        "use strict";
1506        if (tarteaucitron.user.clickyId === undefined) {
1507            return;
1508        }
1509        tarteaucitron.addScript('//static.getclicky.com/js', '', function () {
1510            if (typeof clicky.init === 'function') {
1511                clicky.init(tarteaucitron.user.clickyId);
1512            }
1513            if (typeof tarteaucitron.user.clickyMore === 'function') {
1514                tarteaucitron.user.clickyMore();
1515            }
1516        });
1517    }
1518};
1519
1520// clicmanager
1521tarteaucitron.services.clicmanager = {
1522    "key": "clicmanager",
1523    "type": "ads",
1524    "name": "Clicmanager",
1525    "uri": "http://www.clicmanager.fr/infos_legales.php",
1526    "needConsent": true,
1527    "cookies": [],
1528    "js": function () {
1529        "use strict";
1530        var uniqIds = [],
1531            i,
1532            uri;
1533
1534        tarteaucitron.fallback(['clicmanager-canvas'], function (x) {
1535            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1536            uniqIds.push(uniqId);
1537            return '<div id="' + uniqId + '" c="' + x.getAttribute('c') + '" s="' + x.getAttribute('s') + '" t="' + x.getAttribute('t') + '"></div>';
1538        });
1539
1540        for (i = 0; i < uniqIds.length; i += 1) {
1541            uri = '//ads.clicmanager.fr/exe.php?';
1542            uri += 'c=' + document.getElementById(uniqIds[i]).getAttribute('c') + '&';
1543            uri += 's=' + document.getElementById(uniqIds[i]).getAttribute('s') + '&';
1544            uri += 't=' + document.getElementById(uniqIds[i]).getAttribute('t');
1545
1546            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
1547        }
1548    },
1549    "fallback": function () {
1550        "use strict";
1551        var id = 'clicmanager';
1552        tarteaucitron.fallback(['clicmanager-canvas'], tarteaucitron.engage(id));
1553    }
1554};
1555
1556// compteur
1557tarteaucitron.services.compteur = {
1558    "key": "compteur",
1559    "type": "analytic",
1560    "name": "Compteur.fr",
1561    "uri": "https://www.compteur.fr/help_privacy_policy.htm",
1562    "needConsent": true,
1563    "cookies": [],
1564    "js": function () {
1565        "use strict";
1566        if (tarteaucitron.user.compteurID === undefined) {
1567            return;
1568        }
1569        tarteaucitron.addScript('https://server2.compteur.fr/log7.js', '', function () { wtslog7(tarteaucitron.user.compteurID, 1); });
1570    }
1571};
1572
1573// contentsquare
1574tarteaucitron.services.contentsquare = {
1575    "key": "contentsquare",
1576    "type": "api",
1577    "name": "ContentSquare",
1578    "uri": "https://docs.contentsquare.com/uxa-en/#collected-data",
1579    "needConsent": true,
1580    "cookies": ['_cs_id', '_cs_s', '_cs_vars', '_cs_ex', '_cs_c', '_cs_optout'],
1581    "js": function () {
1582        "use strict";
1583        if (tarteaucitron.user.contentsquareID === undefined) {
1584            return;
1585        }
1586        tarteaucitron.addScript('//t.contentsquare.net/uxa/' + tarteaucitron.user.contentsquareID + '.js');
1587    }
1588};
1589
1590// crazyegg
1591tarteaucitron.services.crazyegg = {
1592    "key": "crazyegg",
1593    "type": "analytic",
1594    "name": "Crazy Egg",
1595    "uri": "https://www.crazyegg.com/privacy",
1596    "needConsent": true,
1597    "cookies": [],
1598    "js": function () {
1599        "use strict";
1600
1601        if (tarteaucitron.user.crazyeggId === undefined) {
1602            return;
1603        }
1604
1605        tarteaucitron.addScript('//script.crazyegg.com/pages/scripts/' + tarteaucitron.user.crazyeggId.substr(0, 4) + '/' + tarteaucitron.user.crazyeggId.substr(4, 4) + '.js');
1606    }
1607};
1608
1609// clarity
1610tarteaucitron.services.clarity = {
1611    "key": "clarity",
1612    "type": "analytic",
1613    "name": "Clarity",
1614    "uri": "https://clarity.microsoft.com/",
1615    "needConsent": true,
1616    "cookies": [],
1617    "js": function () {
1618        "use strict";
1619
1620        window["clarity"] = window["clarity"] || function () { (window["clarity"].q = window["clarity"].q || []).push(arguments) };
1621
1622        tarteaucitron.addScript('https://www.clarity.ms/tag/' + tarteaucitron.user.clarity);
1623    }
1624};
1625
1626// criteo
1627tarteaucitron.services.criteo = {
1628    "key": "criteo",
1629    "type": "ads",
1630    "name": "Criteo",
1631    "uri": "http://www.criteo.com/privacy/",
1632    "needConsent": true,
1633    "cookies": [],
1634    "js": function () {
1635        "use strict";
1636        document.MAX_ct0 = '';
1637        var uniqIds = [],
1638            i,
1639            uri;
1640
1641        tarteaucitron.fallback(['criteo-canvas'], function (x) {
1642            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1643            uniqIds.push(uniqId);
1644            return '<div id="' + uniqId + '" zoneid="' + x.getAttribute('zoneid') + '"></div>';
1645        });
1646
1647        for (i = 0; i < uniqIds.length; i += 1) {
1648            uri = '//cas.criteo.com/delivery/ajs.php?';
1649            uri += 'zoneid=' + document.getElementById(uniqIds[i]).getAttribute('zoneid');
1650            uri += '&nodis=1&cb=' + Math.floor(Math.random() * 99999999999);
1651            uri += '&loc=' + encodeURI(window.location);
1652            uri += (document.MAX_used !== ',') ? '&exclude=' + document.MAX_used : '';
1653            uri += (document.charset !== undefined ? '&charset=' + document.charset : '');
1654            uri += (document.characterSet !== undefined ? '&charset=' + document.characterSet : '');
1655            uri += (document.referrer !== undefined) ? '&referer=' + encodeURI(document.referrer) : '';
1656            uri += (document.context !== undefined) ? '&context=' + encodeURI(document.context) : '';
1657            uri += ((document.MAX_ct0 !== undefined) && (document.MAX_ct0.substring(0, 4) === 'http')) ? '&ct0=' + encodeURI(document.MAX_ct0) : '';
1658            uri += (document.mmm_fo !== undefined) ? '&mmm_fo=1' : '';
1659
1660            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
1661        }
1662    },
1663    "fallback": function () {
1664        "use strict";
1665        var id = 'criteo';
1666        tarteaucitron.fallback(['criteo-canvas'], tarteaucitron.engage(id));
1667    }
1668};
1669
1670// criteo onetag
1671tarteaucitron.services.criteoonetag = {
1672    "key": "criteoonetag",
1673    "type": "ads",
1674    "name": "Criteo OneTag",
1675    "uri": "https://www.criteo.com/privacy/",
1676    "needConsent": true,
1677    "cookies": ['uid', 'tk', 'uid3pd'],
1678    "js": function() {
1679        "use strict";
1680        if (tarteaucitron.user.criteoonetagAccount === undefined) return;
1681
1682        window.criteo_q = window.criteo_q || [];
1683        window.criteo_q.push({
1684            event: "setAccount",
1685            account: tarteaucitron.user.criteoonetagAccount
1686        })
1687
1688        tarteaucitron.addScript('//static.criteo.net/js/ld/ld.js', '', function() {
1689            if (typeof tarteaucitron.user.criteoonetagMore === 'function') {
1690                tarteaucitron.user.criteoonetagMore();
1691            }
1692        });
1693    }
1694};
1695
1696// artetv
1697tarteaucitron.services.artetv = {
1698    "key": "artetv",
1699    "type": "video",
1700    "name": "Arte.tv",
1701    "uri": "https://www.arte.tv/sites/fr/corporate/donnees-personnelles/",
1702    "needConsent": true,
1703    "cookies": [],
1704    "js": function () {
1705        "use strict";
1706        tarteaucitron.fallback(['artetv_player'], function (x) {
1707            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Arte.tv iframe'),
1708                video_json = x.getAttribute("json"),
1709                video_width = x.getAttribute("width"),
1710                video_height = x.getAttribute("height"),
1711                video_frame,
1712                video_allowfullscreen = x.getAttribute("allowfullscreen");
1713
1714            if (video_json === undefined) {
1715                return "";
1716            }
1717
1718            video_frame = '<iframe title="' + frame_title + '" style="transition-duration: 0; transition-property: no; margin: 0 auto; position: relative; display: block; background-color: #000000;" src="https://www.arte.tv/player/v5/index.php?json_url=' + video_json + '" width="' + video_width + '" height="' + video_height + '" scrolling="no" ' + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1719            return video_frame;
1720        });
1721    },
1722    "fallback": function () {
1723        "use strict";
1724        var id = 'artetv';
1725        tarteaucitron.fallback(['artetv_player'], function (elem) {
1726            elem.style.width = elem.getAttribute('width') + 'px';
1727            elem.style.height = elem.getAttribute('height') + 'px';
1728            return tarteaucitron.engage(id);
1729        });
1730    }
1731};
1732
1733// dailymotion
1734tarteaucitron.services.dailymotion = {
1735    "key": "dailymotion",
1736    "type": "video",
1737    "name": "Dailymotion",
1738    "uri": "https://www.dailymotion.com/legal/privacy",
1739    "needConsent": true,
1740    "cookies": ['ts', 'dmvk', 'hist', 'v1st', 's_vi'],
1741    "js": function () {
1742        "use strict";
1743        tarteaucitron.fallback(['dailymotion_player'], function (x) {
1744            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Dailymotion iframe'),
1745                video_id = tarteaucitron.getElemAttr(x, "videoID"),
1746                video_width = tarteaucitron.getElemAttr(x, "width"),
1747                frame_width = 'width=',
1748                video_height = tarteaucitron.getElemAttr(x, "height"),
1749                frame_height = 'height=',
1750                video_frame,
1751                embed_type = tarteaucitron.getElemAttr(x, "embedType"),
1752                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
1753                showinfo = tarteaucitron.getElemAttr(x, "showinfo"),
1754                autoplay = tarteaucitron.getElemAttr(x, "autoplay"),
1755                api = tarteaucitron.getElemAttr(x, "api"),
1756                params = 'info=' + showinfo + '&autoPlay=' + autoplay + '&api=' + api;
1757
1758            if (video_id === undefined) {
1759                return "";
1760            }
1761            if (video_width !== undefined) {
1762                frame_width += '"' + video_width + '" ';
1763            } else {
1764                frame_width += '"" ';
1765            }
1766            if (video_height !== undefined) {
1767                frame_height += '"' + video_height + '" ';
1768            } else {
1769                frame_height += '"" ';
1770            }
1771            if (embed_type === undefined || !['video', 'playlist'].includes(embed_type)) {
1772                embed_type = "video";
1773            }
1774            video_frame = '<iframe title="' + frame_title + '" src="//www.dailymotion.com/embed/' + embed_type + '/' + video_id + '?' + params + '" ' + frame_width + frame_height + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1775            return video_frame;
1776        });
1777    },
1778    "fallback": function () {
1779        "use strict";
1780        var id = 'dailymotion';
1781        tarteaucitron.fallback(['dailymotion_player'], function (elem) {
1782            elem.style.width = elem.getAttribute('width') + 'px';
1783            elem.style.height = elem.getAttribute('height') + 'px';
1784            return tarteaucitron.engage(id);
1785        });
1786    }
1787};
1788
1789// dating affiliation
1790tarteaucitron.services.datingaffiliation = {
1791    "key": "datingaffiliation",
1792    "type": "ads",
1793    "name": "Dating Affiliation",
1794    "uri": "http://www.dating-affiliation.com/conditions-generales.php",
1795    "needConsent": true,
1796    "cookies": [],
1797    "js": function () {
1798        "use strict";
1799        tarteaucitron.fallback(['datingaffiliation-canvas'], function (x) {
1800            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Dating Affiliation iframe'),
1801                comfrom = x.getAttribute("data-comfrom"),
1802                r = x.getAttribute("data-r"),
1803                p = x.getAttribute("data-p"),
1804                cf0 = x.getAttribute("data-cf0"),
1805                langue = x.getAttribute("data-langue"),
1806                forward_affiliate = x.getAttribute("data-forwardAffiliate"),
1807                cf2 = x.getAttribute("data-cf2"),
1808                cfsa2 = x.getAttribute("data-cfsa2"),
1809                width = x.getAttribute("width"),
1810                height = x.getAttribute("height"),
1811                url = 'http://www.tools-affil2.com/rotaban/ban.php?' + comfrom;
1812
1813            return '<iframe title="' + frame_title + '" src="' + url + '&r=' + r + '&p=' + p + '&cf0=' + cf0 + '&langue=' + langue + '&forward_affiliate=' + forward_affiliate + '&cf2=' + cf2 + '&cfsa2=' + cfsa2 + '" width="' + width + '" height="' + height + '" marginheight="0" marginwidth="0" scrolling="no"></iframe>';
1814        });
1815    },
1816    "fallback": function () {
1817        "use strict";
1818        var id = 'datingaffiliation';
1819        tarteaucitron.fallback(['datingaffiliation-canvas'], function (elem) {
1820            elem.style.width = elem.getAttribute('width') + 'px';
1821            elem.style.height = elem.getAttribute('height') + 'px';
1822            return tarteaucitron.engage(id);
1823        });
1824    }
1825};
1826
1827// dating affiliation popup
1828tarteaucitron.services.datingaffiliationpopup = {
1829    "key": "datingaffiliationpopup",
1830    "type": "ads",
1831    "name": "Dating Affiliation (Pop Up)",
1832    "uri": "http://www.dating-affiliation.com/conditions-generales.php",
1833    "needConsent": true,
1834    "cookies": ['__utma', '__utmb', '__utmc', '__utmt_Tools', '__utmv', '__utmz', '_ga', '_gat', '_gat_UA-65072040-17', '__da-pu-xflirt-ID-pc-o169'],
1835    "js": function () {
1836        "use strict";
1837        var uniqIds = [],
1838            i,
1839            uri;
1840
1841        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], function (x) {
1842            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1843            uniqIds.push(uniqId);
1844            return '<div id="' + uniqId + '" uri="' + x.getAttribute('uri') + '" comfrom="' + x.getAttribute('comfrom') + '" promo="' + x.getAttribute('promo') + '" productid="' + x.getAttribute('productid') + '" submitconfig="' + x.getAttribute('submitconfig') + '" ur="' + x.getAttribute('ur') + '" brand="' + x.getAttribute('brand') + '" lang="' + x.getAttribute('lang') + '" cf0="' + x.getAttribute('cf0') + '" cf2="' + x.getAttribute('cf2') + '" subid1="' + x.getAttribute('subid1') + '" cfsa2="' + x.getAttribute('cfsa2') + '" subid2="' + x.getAttribute('subid2') + '" nicheid="' + x.getAttribute('nicheid') + '" degreid="' + x.getAttribute('degreid') + '" bt="' + x.getAttribute('bt') + '" vis="' + x.getAttribute('vis') + '" hid="' + x.getAttribute('hid') + '" snd="' + x.getAttribute('snd') + '" aabd="' + x.getAttribute('aabd') + '" aabs="' + x.getAttribute('aabs') + '"></div>';
1845        });
1846
1847        for (i = 0; i < uniqIds.length; i += 1) {
1848            uri = 'http://www.promotools.biz/da/popunder/script.php?';
1849            uri += 'comfrom=' + document.getElementById(uniqIds[i]).getAttribute('comfrom') + '&';
1850            uri += 'promo=' + document.getElementById(uniqIds[i]).getAttribute('promo') + '&';
1851            uri += 'product_id=' + document.getElementById(uniqIds[i]).getAttribute('productid') + '&';
1852            uri += 'submitconfig=' + document.getElementById(uniqIds[i]).getAttribute('submitconfig') + '&';
1853            uri += 'ur=' + document.getElementById(uniqIds[i]).getAttribute('ur') + '&';
1854            uri += 'brand=' + document.getElementById(uniqIds[i]).getAttribute('brand') + '&';
1855            uri += 'lang=' + document.getElementById(uniqIds[i]).getAttribute('lang') + '&';
1856            uri += 'cf0=' + document.getElementById(uniqIds[i]).getAttribute('cf0') + '&';
1857            uri += 'cf2=' + document.getElementById(uniqIds[i]).getAttribute('cf2') + '&';
1858            uri += 'subid1=' + document.getElementById(uniqIds[i]).getAttribute('subid1') + '&';
1859            uri += 'cfsa2=' + document.getElementById(uniqIds[i]).getAttribute('cfsa2') + '&';
1860            uri += 'subid2=' + document.getElementById(uniqIds[i]).getAttribute('subid2') + '&';
1861            uri += 'nicheId=' + document.getElementById(uniqIds[i]).getAttribute('nicheid') + '&';
1862            uri += 'degreId=' + document.getElementById(uniqIds[i]).getAttribute('degreid') + '&';
1863            uri += 'bt=' + document.getElementById(uniqIds[i]).getAttribute('bt') + '&';
1864            uri += 'vis=' + document.getElementById(uniqIds[i]).getAttribute('vis') + '&';
1865            uri += 'hid=' + document.getElementById(uniqIds[i]).getAttribute('hid') + '&';
1866            uri += 'snd=' + document.getElementById(uniqIds[i]).getAttribute('snd') + '&';
1867            uri += 'aabd=' + document.getElementById(uniqIds[i]).getAttribute('aabd') + '&';
1868            uri += 'aabs=' + document.getElementById(uniqIds[i]).getAttribute('aabs');
1869
1870            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
1871        }
1872    },
1873    "fallback": function () {
1874        "use strict";
1875        var id = 'datingaffiliationpopup';
1876        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], tarteaucitron.engage(id));
1877    }
1878};
1879
1880// deezer
1881tarteaucitron.services.deezer = {
1882    "key": "deezer",
1883    "type": "video",
1884    "name": "Deezer",
1885    "uri": "https://www.deezer.com/legal/personal-datas",
1886    "needConsent": true,
1887    "cookies": [],
1888    "js": function () {
1889        "use strict";
1890        tarteaucitron.fallback(['deezer_player'], function (x) {
1891            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Deezer iframe'),
1892                deezer_id = x.getAttribute("deezerID"),
1893                deezer_width = x.getAttribute("width"),
1894                frame_width = 'width=',
1895                deezer_height = x.getAttribute("height"),
1896                frame_height = 'height=',
1897                deezer_frame,
1898                embed_theme = x.getAttribute("theme"),
1899                embed_type = x.getAttribute("embedType"),
1900                radius = x.getAttribute("radius"),
1901                tracklist = x.getAttribute("tracklist"),
1902                allowfullscreen = x.getAttribute("allowfullscreen"),
1903                params;
1904
1905            if (deezer_id === undefined) {
1906                return "";
1907            }
1908            if (deezer_width !== undefined) {
1909                frame_width += '"' + deezer_width + '" ';
1910            } else {
1911                frame_width += '"" ';
1912            }
1913            if (deezer_height !== undefined) {
1914                frame_height += '"' + deezer_height + '" ';
1915            } else {
1916                frame_height += '"" ';
1917            }
1918            if (embed_theme === undefined || !['auto', 'light', 'dark'].includes(embed_theme)) {
1919                embed_theme = "auto";
1920            }
1921            if (embed_type === undefined || !['album', 'track', 'playlist'].includes(embed_type)) {
1922                embed_type = "album";
1923            }
1924            if (radius === undefined || !['true', 'false'].includes(radius)) {
1925                radius = "true";
1926            }
1927            if (tracklist === undefined || !['true', 'false'].includes(tracklist)) {
1928                tracklist = "true";
1929            }
1930            params = 'tracklist=' + tracklist + '&radius=' + radiu
vendor: 21,939 bytes, lines 1930-2588
1930s;
1931            deezer_frame = '<iframe title="' + frame_title + '" src="//widget.deezer.com/widget/' + embed_theme + '/' + embed_type + '/' + deezer_id + '?' + params + '" ' + frame_width + frame_height + ' ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1932            return deezer_frame;
1933        });
1934    },
1935    "fallback": function () {
1936        "use strict";
1937        var id = 'deezer';
1938        tarteaucitron.fallback(['deezer_player'], function (elem) {
1939            elem.style.width = elem.getAttribute('width') + 'px';
1940            elem.style.height = elem.getAttribute('height') + 'px';
1941            return tarteaucitron.engage(id);
1942        });
1943    }
1944};
1945
1946// leadforensicsold
1947tarteaucitron.services.leadforensicsold = {
1948    "key": "leadforensicsold",
1949    "type": "analytic",
1950    "name": "LeadForensics",
1951    "uri": "https://www.leadforensics.com/privacy-policy/",
1952    "needConsent": true,
1953    "cookies": ['trackalyzer'],
1954    "js": function () {
1955        "use strict";
1956        if (tarteaucitron.user.leadforensicsSf14gv === undefined ||
1957            tarteaucitron.user.leadforensicsIidentifier === undefined) {
1958            return;
1959        }
1960
1961        window.sf14gv = tarteaucitron.user.leadforensicsSf14gv;
1962
1963        (function () {
1964            var sf14g = document.createElement('script'); sf14g.async = true;
1965            sf14g.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 't.sf14g.com/sf14g.js';
1966            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sf14g, s);
1967        })();
1968
1969        tarteaucitron.addScript('//secure.leadforensics.com/js/' + tarteaucitron.user.leadforensicsIidentifier + '.js');
1970    }
1971};
1972
1973// disqus
1974tarteaucitron.services.disqus = {
1975    "key": "disqus",
1976    "type": "comment",
1977    "name": "Disqus",
1978    "uri": "https://help.disqus.com/customer/portal/articles/466259-privacy-policy",
1979    "needConsent": true,
1980    "cookies": [],
1981    "js": function () {
1982        "use strict";
1983        if (tarteaucitron.user.disqusShortname === undefined) {
1984            return;
1985        }
1986        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/embed.js');
1987        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/count.js');
1988    },
1989    "fallback": function () {
1990        "use strict";
1991        var id = 'disqus';
1992
1993        if (document.getElementById('disqus_thread')) {
1994            document.getElementById('disqus_thread').innerHTML = tarteaucitron.engage(id);
1995        }
1996    }
1997};
1998
1999// ekomi
2000tarteaucitron.services.ekomi = {
2001    "key": "ekomi",
2002    "type": "social",
2003    "name": "eKomi",
2004    "uri": "http://www.ekomi-us.com/us/privacy/",
2005    "needConsent": true,
2006    "cookies": [],
2007    "js": function () {
2008        "use strict";
2009        if (tarteaucitron.user.ekomiCertId === undefined) {
2010            return;
2011        }
2012        window.eKomiIntegrationConfig = [
2013            { certId: tarteaucitron.user.ekomiCertId }
2014        ];
2015        tarteaucitron.addScript('//connect.ekomi.de/integration_1410173009/' + tarteaucitron.user.ekomiCertId + '.js');
2016    }
2017};
2018
2019// etracker
2020tarteaucitron.services.etracker = {
2021    "key": "etracker",
2022    "type": "analytic",
2023    "name": "eTracker",
2024    "uri": "https://www.etracker.com/en/data-protection.html",
2025    "needConsent": true,
2026    "cookies": [],
2027    "js": function () {
2028        "use strict";
2029        if (tarteaucitron.user.etracker === undefined) {
2030            return;
2031        }
2032
2033        tarteaucitron.addScript('//static.etracker.com/code/e.js', '_etLoader', function () { }, true, "data-secure-code", tarteaucitron.user.etracker);
2034    }
2035};
2036
2037// facebook
2038tarteaucitron.services.facebook = {
2039    "key": "facebook",
2040    "type": "social",
2041    "name": "Facebook",
2042    "uri": "https://www.facebook.com/policy.php",
2043    "needConsent": true,
2044    "cookies": ['xs', 'sb', 'fr', 'datr', 'dpr', 'c_user'],
2045    "js": function () {
2046        "use strict";
2047        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], '');
2048        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
2049        if (tarteaucitron.isAjax === true) {
2050            if (typeof FB !== "undefined") {
2051                FB.XFBML.parse();
2052            }
2053        }
2054    },
2055    "fallback": function () {
2056        "use strict";
2057        var id = 'facebook';
2058        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], tarteaucitron.engage(id));
2059    }
2060};
2061
2062// facebooklikebox
2063tarteaucitron.services.facebooklikebox = {
2064    "key": "facebooklikebox",
2065    "type": "social",
2066    "name": "Facebook (like box)",
2067    "uri": "https://www.facebook.com/policy.php",
2068    "needConsent": true,
2069    "cookies": [],
2070    "js": function () {
2071        "use strict";
2072        tarteaucitron.fallback(['fb-like-box', 'fb-page'], '');
2073        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.3', 'facebook-jssdk');
2074        if (tarteaucitron.isAjax === true) {
2075            if (typeof FB !== "undefined") {
2076                FB.XFBML.parse();
2077            }
2078        }
2079    },
2080    "fallback": function () {
2081        "use strict";
2082        var id = 'facebooklikebox';
2083        tarteaucitron.fallback(['fb-like-box', 'fb-page'], tarteaucitron.engage(id));
2084    }
2085};
2086
2087// facebookcomment
2088tarteaucitron.services.facebookcomment = {
2089    "key": "facebookcomment",
2090    "type": "comment",
2091    "name": "Facebook (commentaire)",
2092    "uri": "https://www.facebook.com/policy.php",
2093    "needConsent": true,
2094    "cookies": [],
2095    "js": function () {
2096        "use strict";
2097        tarteaucitron.fallback(['fb-comments'], '');
2098        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
2099        if (tarteaucitron.isAjax === true) {
2100            if (typeof FB !== "undefined") {
2101                FB.XFBML.parse();
2102            }
2103        }
2104    },
2105    "fallback": function () {
2106        "use strict";
2107        var id = 'facebookcomment';
2108        tarteaucitron.fallback(['fb-comments'], tarteaucitron.engage(id));
2109    }
2110};
2111
2112// ferank
2113tarteaucitron.services.ferank = {
2114    "key": "ferank",
2115    "type": "analytic",
2116    "name": "FERank",
2117    "uri": "https://www.ferank.fr/respect-vie-privee/#mesureaudience",
2118    "needConsent": false,
2119    "cookies": [],
2120    "js": function () {
2121        "use strict";
2122        tarteaucitron.addScript('//static.ferank.fr/pixel.js', '', function () {
2123            if (typeof tarteaucitron.user.ferankMore === 'function') {
2124                tarteaucitron.user.ferankMore();
2125            }
2126        });
2127    }
2128};
2129
2130// pingdom
2131tarteaucitron.services.pingdom = {
2132    "key": "pingdom",
2133    "type": "api",
2134    "name": "Pingdom",
2135    "uri": "https://www.solarwinds.com/general-data-protection-regulation-cloud",
2136    "needConsent": true,
2137    "cookies": [],
2138    "js": function () {
2139        "use strict";
2140
2141        if (tarteaucitron.user.pingdomId === undefined) {
2142            return;
2143        }
2144
2145        window._prum = [['id', tarteaucitron.user.pingdomId], ['mark', 'firstbyte', (new Date()).getTime()]];
2146
2147        tarteaucitron.addScript('https://rum-static.pingdom.net/prum.min.js');
2148    }
2149};
2150
2151
2152// simpleanalytics
2153tarteaucitron.services.simpleanalytics = {
2154    "key": "simpleanalytics",
2155    "type": "analytic",
2156    "name": "Simple Analytics",
2157    "uri": "https://docs.simpleanalytics.com/what-we-collect",
2158    "needConsent": false,
2159    "cookies": [],
2160    "js": function () {
2161        "use strict";
2162        tarteaucitron.addScript('https://scripts.simpleanalyticscdn.com/latest.js');
2163    }
2164};
2165
2166// stonly
2167tarteaucitron.services.stonly = {
2168    "key": "stonly",
2169    "type": "api",
2170    "name": "Stonly",
2171    "uri": "https://stonly.com/privacy",
2172    "needConsent": true,
2173    "cookies": [],
2174    "js": function () {
2175        "use strict";
2176        if (tarteaucitron.user.stonlyId === undefined) {
2177            return;
2178        }
2179
2180        window.STONLY_WID = tarteaucitron.user.stonlyId;
2181        window.StonlyWidget || ((window.w = window.StonlyWidget = function () {
2182            window.w._api ? window.w._api.apply(window.w, arguments) : window.w.queue.push(arguments)
2183        }).queue = []);
2184
2185        tarteaucitron.addScript('https://stonly.com/js/widget/v2/stonly-widget.js?v=' + Date.now());
2186    }
2187};
2188
2189// stripe
2190/*tarteaucitron.services.stripe = {
2191    "key": "stripe",
2192    "type": "api",
2193    "name": "Stripe",
2194    "uri": "https://stripe.com/cookies-policy/legal",
2195    "needConsent": true,
2196    "cookies": [],
2197    "js": function () {
2198        "use strict";
2199        tarteaucitron.addScript('https://js.stripe.com/v3/');
2200    }
2201};*/
2202
2203// ferank pub
2204tarteaucitron.services.ferankpub = {
2205    "key": "ferankpub",
2206    "type": "ads",
2207    "name": "FERank (pub)",
2208    "uri": "https://www.ferank.fr/respect-vie-privee/#regiepublicitaire",
2209    "needConsent": false,
2210    "cookies": [],
2211    "js": function () {
2212        "use strict";
2213        tarteaucitron.addScript('//static.ferank.fr/publicite.async.js');
2214        if (tarteaucitron.isAjax === true) {
2215            if (typeof ferankReady === 'function') {
2216                ferankReady();
2217            }
2218        }
2219    },
2220    "fallback": function () {
2221        "use strict";
2222        var id = 'ferankpub';
2223        tarteaucitron.fallback(['ferank-publicite'], tarteaucitron.engage(id));
2224    }
2225};
2226
2227// get+
2228tarteaucitron.services.getplus = {
2229    "key": "getplus",
2230    "type": "analytic",
2231    "name": "Get+",
2232    "uri": "http://www.getplus.fr/Conditions-generales-de-vente_a226.html",
2233    "needConsent": true,
2234    "cookies": ['_first_pageview', '_jsuid', 'no_trackyy_' + tarteaucitron.user.getplusId, '_eventqueue'],
2235    "js": function () {
2236        "use strict";
2237        if (tarteaucitron.user.getplusId === undefined) {
2238            return;
2239        }
2240
2241        window.webleads_site_ids = window.webleads_site_ids || [];
2242        window.webleads_site_ids.push(tarteaucitron.user.getplusId);
2243        tarteaucitron.addScript('//stats.webleads-tracker.com/js');
2244    }
2245};
2246
2247// google+
2248tarteaucitron.services.gplus = {
2249    "key": "gplus",
2250    "type": "social",
2251    "name": "Google+",
2252    "uri": "https://policies.google.com/privacy",
2253    "needConsent": true,
2254    "cookies": [],
2255    "js": function () {
2256        "use strict";
2257        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
2258    },
2259    "fallback": function () {
2260        "use strict";
2261        var id = 'gplus';
2262        tarteaucitron.fallback(['g-plus', 'g-plusone'], tarteaucitron.engage(id));
2263    }
2264};
2265
2266// google+ badge
2267tarteaucitron.services.gplusbadge = {
2268    "key": "gplusbadge",
2269    "type": "social",
2270    "name": "Google+ (badge)",
2271    "uri": "https://policies.google.com/privacy",
2272    "needConsent": true,
2273    "cookies": [],
2274    "js": function () {
2275        "use strict";
2276        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
2277    },
2278    "fallback": function () {
2279        "use strict";
2280        var id = 'gplusbadge';
2281        tarteaucitron.fallback(['g-page', 'g-person'], tarteaucitron.engage(id));
2282    }
2283};
2284
2285// google adsense
2286tarteaucitron.services.adsense = {
2287    "key": "adsense",
2288    "type": "ads",
2289    "name": "Google Adsense",
2290    "uri": "https://adssettings.google.com/",
2291    "needConsent": true,
2292    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
2293    "cookies": ['__gads'],
2294    "js": function () {
2295        "use strict";
2296        tarteaucitron.fallback(['adsbygoogle'], '');
2297        tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');
2298    },
2299    "fallback": function () {
2300        "use strict";
2301        var id = 'adsense';
2302        tarteaucitron.fallback(['adsbygoogle'], tarteaucitron.engage(id));
2303    }
2304};
2305
2306
2307// google adsense automatic
2308tarteaucitron.services.adsenseauto = {
2309    "key": "adsenseauto",
2310    "type": "ads",
2311    "name": "Google Adsense Automatic",
2312    "uri": "https://adssettings.google.com/",
2313    "needConsent": true,
2314    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
2315    "cookies": ['__gads'],
2316    "js": function () {
2317        "use strict";
2318
2319        if (tarteaucitron.user.adsensecapub === undefined) {
2320            return;
2321        }
2322        tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=' + tarteaucitron.user.adsensecapub, '', '', '', 'crossorigin', 'anonymous');
2323    }
2324};
2325
2326// Google Adsense Search
2327tarteaucitron.services.adsensesearch = {
2328    "key": "adsensesearch",
2329    "type": "ads",
2330    "name": "Google Adsense Search",
2331    "uri": "https://adssettings.google.com/",
2332    "needConsent": true,
2333    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
2334    "cookies": ['__gads'],
2335    "js": function () {
2336        "use strict";
2337        tarteaucitron.addScript('https://www.google.com/adsense/search/ads.js');
2338    },
2339    "fallback": function () {
2340        "use strict";
2341        var id = 'adsensesearch';
2342        tarteaucitron.fallback(['afscontainer1'], tarteaucitron.engage(id));
2343    }
2344};
2345
2346// google partners badge
2347tarteaucitron.services.googlepartners = {
2348    "key": "googlepartners",
2349    "type": "ads",
2350    "name": "Google Partners Badge",
2351    "uri": "https://adssettings.google.com/",
2352    "needConsent": true,
2353    "cookies": [],
2354    "js": function () {
2355        "use strict";
2356        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
2357    },
2358    "fallback": function () {
2359        "use strict";
2360        var id = 'googlepartners';
2361        tarteaucitron.fallback(['g-partnersbadge'], tarteaucitron.engage(id));
2362    }
2363};
2364
2365// google adsense search (form)
2366tarteaucitron.services.adsensesearchform = {
2367    "key": "adsensesearchform",
2368    "type": "ads",
2369    "name": "Google Adsense Search (form)",
2370    "uri": "https://adssettings.google.com/",
2371    "needConsent": true,
2372    "cookies": [],
2373    "js": function () {
2374        "use strict";
2375        tarteaucitron.addScript('//www.google.com/coop/cse/brand?form=cse-search-box&lang=' + tarteaucitron.getLanguage());
2376    }
2377};
2378
2379// google adsense search (result)
2380tarteaucitron.services.adsensesearchresult = {
2381    "key": "adsensesearchresult",
2382    "type": "ads",
2383    "name": "Google Adsense Search (result)",
2384    "uri": "https://adssettings.google.com/",
2385    "needConsent": true,
2386    "cookies": [],
2387    "js": function () {
2388        "use strict";
2389        if (tarteaucitron.user.adsensesearchresultCx === undefined) {
2390            return;
2391        }
2392        tarteaucitron.addScript('//www.google.com/cse/cse.js?cx=' + tarteaucitron.user.adsensesearchresultCx);
2393    },
2394    "fallback": function () {
2395        "use strict";
2396        var id = 'adsensesearchresult';
2397
2398        if (document.getElementById('gcse_searchresults')) {
2399            document.getElementById('gcse_searchresults').innerHTML = tarteaucitron.engage(id);
2400        }
2401    }
2402};
2403
2404// googleadwordsconversion
2405tarteaucitron.services.googleadwordsconversion = {
2406    "key": "googleadwordsconversion",
2407    "type": "ads",
2408    "name": "Google Adwords (conversion)",
2409    "uri": "https://www.google.com/settings/ads",
2410    "needConsent": true,
2411    "cookies": [],
2412    "js": function () {
2413        "use strict";
2414        if (tarteaucitron.user.adwordsconversionId === undefined) {
2415            return;
2416        }
2417
2418        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
2419            window.google_trackConversion({
2420                google_conversion_id: tarteaucitron.user.adwordsconversionId,
2421                google_conversion_label: tarteaucitron.user.adwordsconversionLabel,
2422                google_conversion_language: tarteaucitron.user.adwordsconversionLanguage,
2423                google_conversion_format: tarteaucitron.user.adwordsconversionFormat,
2424                google_conversion_color: tarteaucitron.user.adwordsconversionColor,
2425                google_conversion_value: tarteaucitron.user.adwordsconversionValue,
2426                google_conversion_currency: tarteaucitron.user.adwordsconversionCurrency,
2427                google_custom_params: {
2428                    parameter1: tarteaucitron.user.adwordsconversionCustom1,
2429                    parameter2: tarteaucitron.user.adwordsconversionCustom2
2430                }
2431            });
2432        });
2433    }
2434};
2435
2436// googleadwordsremarketing
2437tarteaucitron.services.googleadwordsremarketing = {
2438    "key": "googleadwordsremarketing",
2439    "type": "ads",
2440    "name": "Google Adwords (remarketing)",
2441    "uri": "https://www.google.com/settings/ads",
2442    "needConsent": true,
2443    "cookies": [],
2444    "js": function () {
2445        "use strict";
2446        if (tarteaucitron.user.adwordsremarketingId === undefined) {
2447            return;
2448        }
2449
2450        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
2451            window.google_trackConversion({
2452                google_conversion_id: tarteaucitron.user.adwordsremarketingId,
2453                google_remarketing_only: true
2454            });
2455        });
2456    }
2457};
2458
2459// google analytics (old)
2460tarteaucitron.services.gajs = {
2461    "key": "gajs",
2462    "type": "analytic",
2463    "name": "Google Analytics (ga.js)",
2464    "uri": "https://policies.google.com/privacy",
2465    "needConsent": true,
2466    "cookies": (function () {
2467        var googleIdentifier = tarteaucitron.user.gajsUa,
2468            tagUaCookie = '_gat_gtag_' + googleIdentifier,
2469            tagGCookie = '_ga_' + googleIdentifier;
2470
2471        tagUaCookie = tagUaCookie.replace(/-/g, '_');
2472        tagGCookie = tagGCookie.replace(/G-/g, '');
2473
2474        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
2475    })(),
2476    "js": function () {
2477        "use strict";
2478        window._gaq = window._gaq || [];
2479        window._gaq.push(['_setAccount', tarteaucitron.user.gajsUa]);
2480        if (timeExpire !== undefined) {
2481            _gaq.push(['_setVisitorCookieTimeout', timeExpire]);
2482        }
2483
2484        if (tarteaucitron.user.gajsAnonymizeIp) {
2485            window._gaq.push(['_gat._anonymizeIp']);
2486        }
2487
2488        if (tarteaucitron.user.gajsPageView) {
2489            window._gaq.push(['_trackPageview, ' + tarteaucitron.user.gajsPageView]);
2490        } else {
2491            window._gaq.push(['_trackPageview']);
2492        }
2493
2494        tarteaucitron.addScript('//www.google-analytics.com/ga.js', '', function () {
2495            if (typeof tarteaucitron.user.gajsMore === 'function') {
2496                tarteaucitron.user.gajsMore();
2497            }
2498        });
2499    }
2500};
2501
2502// google analytics
2503tarteaucitron.services.analytics = {
2504    "key": "analytics",
2505    "type": "analytic",
2506    "name": "Google Analytics (universal)",
2507    "uri": "https://policies.google.com/privacy",
2508    "needConsent": true,
2509    "cookies": (function () {
2510        var googleIdentifier = tarteaucitron.user.analyticsUa,
2511            tagUaCookie = '_gat_gtag_' + googleIdentifier,
2512            tagGCookie = '_ga_' + googleIdentifier;
2513
2514        tagUaCookie = tagUaCookie.replace(/-/g, '_');
2515        tagGCookie = tagGCookie.replace(/G-/g, '');
2516
2517        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
2518    })(),
2519    "js": function () {
2520        "use strict";
2521        window.GoogleAnalyticsObject = 'ga';
2522        window.ga = window.ga || function () {
2523            window.ga.q = window.ga.q || [];
2524            window.ga.q.push(arguments);
2525        };
2526        window.ga.l = new Date();
2527        tarteaucitron.addScript('https://www.google-analytics.com/analytics.js', '', function () {
2528            var uaCreate = { 'cookieExpires': (timeExpire !== undefined) ? timeExpire : 34128000 };
2529            tarteaucitron.extend(uaCreate, tarteaucitron.user.analyticsUaCreate || {});
2530            ga('create', tarteaucitron.user.analyticsUa, uaCreate);
2531
2532            if (tarteaucitron.user.analyticsAnonymizeIp) {
2533                ga('set', 'anonymizeIp', true);
2534            }
2535
2536            if (typeof tarteaucitron.user.analyticsPrepare === 'function') {
2537                tarteaucitron.user.analyticsPrepare();
2538            }
2539
2540            if (tarteaucitron.user.analyticsPageView) {
2541                ga('send', 'pageview', tarteaucitron.user.analyticsPageView);
2542            } else {
2543                ga('send', 'pageview');
2544            }
2545
2546            if (typeof tarteaucitron.user.analyticsMore === 'function') {
2547                tarteaucitron.user.analyticsMore();
2548            }
2549        });
2550    }
2551};
2552
2553// google ads
2554tarteaucitron.services.googleads = {
2555    "key": "googleads",
2556    "type": "ads",
2557    "name": "Google Ads",
2558    "uri": "https://policies.google.com/privacy",
2559    "needConsent": true,
2560    "cookies": (function () {
2561        var googleIdentifier = tarteaucitron.user.googleadsId,
2562            tagUaCookie = '_gat_gtag_' + googleIdentifier,
2563            tagGCookie = '_ga_' + googleIdentifier;
2564
2565        tagUaCookie = tagUaCookie.replace(/-/g, '_');
2566        tagGCookie = tagGCookie.replace(/G-/g, '');
2567
2568        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
2569    })(),
2570    "js": function () {
2571        "use strict";
2572        window.dataLayer = window.dataLayer || [];
2573        tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + tarteaucitron.user.googleadsId, '', function () {
2574            window.gtag = function gtag() { dataLayer.push(arguments); }
2575            gtag('js', new Date());
2576            var additional_config_info = (timeExpire !== undefined) ? {'anonymize_ip': true, 'cookie_expires': timeExpire / 1000} : {'anonymize_ip': true};
2577
2578            gtag('config', tarteaucitron.user.googleadsId, additional_config_info);
2579
2580            if (typeof tarteaucitron.user.googleadsMore === 'function') {
2581                tarteaucitron.user.googleadsMore();
2582            }
2583        });
2584    }
2585};
2586
2587// google analytics
2588tarteaucitron.services.gtag = {
2589    "key": "gtag",
2590    "type": "analytic",
2591    "name": "Google Analytics (GA4)",
2592    "uri": "https://policies.google.com/privacy",
2593    "needConsent": true,
2594    "cookies": (function () {
2595        var googleIdentifier = tarteaucitron.user.gtagUa,
2596            tagUaCookie = '_gat_gtag_' + googleIdentifier,
2597            tagGCookie = '_ga_' + googleIdentifier;
2598
2599        tagUaCookie = tagUaCookie.replace(/-/g, '_');
2600        tagGCookie = tagGCookie.replace(/G-/g, '');
2601
2602        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
2603    })(),
2604    "js": function () {
2605        "use strict";
2606        window.dataLayer = window.dataLayer || [];
2607        tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + tarteaucitron.user.gtagUa, '', function () {
2608            window.gtag = function gtag() { dataLayer.push(arguments); }
2609            gtag('js', new Date());
2610            var additional_config_info = (timeExpire !== undefined) ? {'anonymize_ip': true, 'cookie_expires': timeExpire / 1000} : {'anonymize_ip': true};
2611
2612            if (tarteaucitron.user.gtagCrossdomain) {
2613                /**
2614                 * https://support.google.com/analytics/answer/7476333?hl=en
2615                 * https://developers.google.com/analytics/devguides/collection/gtagjs/cross-domain
2616                 */
2617                gtag('config', tarteaucitron.user.gtagUa, additional_config_info, { linker: { domains: tarteaucitron.user.gtagCrossdomain, } });
2618            } else {
2619                gtag('config', tarteaucitron.user.gtagUa, additional_config_info);
2620            }
2621
2622            if (typeof tarteaucitron.user.gtagMore === 'function') {
2623                tarteaucitron.user.gtagMore();
2624            }
2625        });
2626    }
2627};
2628
2629tarteaucitron.services.firebase = {
2630    "key": "firebase",
2631    "type": "analytic",
2632    "name": "Firebase",
2633    "uri": "https://firebase.google.com/support/privacy",
2634    "needConsent": true,
2635    "cookies": (function () {
2636        var googleIdentifier = tarteaucitron.user.firebaseMeasurementId,
2637            tagGCookie = '_ga_' + googleIdentifier;
2638
2639        tagGCookie = tagGCookie.replace(/G-/g, '');
2640
2641        return ['_ga', tagGCookie];
2642    })(),
2643    "js": function () {
2644        "use strict";
2645
2646        if (tarteaucitron.user.firebaseApiKey === undefined) {
2647            return;
2648        }
2649
2650        tarteaucitron.addScript('https://www.gstatic.com/firebasejs/8.6.2/firebase-app.js', '', function () {
2651            tarteaucitron.addScript('https://www.gstatic.com/firebasejs/8.6.2/firebase-analytics.js', '', function () {
2652
2653                var firebaseConfig = {
2654                    apiKey: tarteaucitron.user.firebaseApiKey,
2655                    authDomain: tarteaucitron.user.firebaseAuthDomain,
2656                    databaseURL: tarteaucitron.user.firebaseDatabaseUrl,
2657                    projectId: tarteaucitron.user.firebaseProjectId,
2658                    storageBucket: tarteaucitron.user.firebaseStorageBucket,
2659                    appId: tarteaucitron.user.firebaseAppId,
2660                    measurementId: tarteaucitron.user.firebaseMeasurementId,
2661                };
2662                firebase.initializeApp(firebaseConfig);
2663                firebase.analytics();
2664            });
2665        });
2666    }
2667};
2668
2669// genially
2670tarteaucitron.services.genially = {
2671    "key": "genially",
2672    "type": "api",
2673    "name": "genially",
2674    "uri": "https://www.genial.ly/cookies",
2675    "needConsent": true,
2676    "cookies": ['_gat', '_ga', '_gid'],
2677    "js": function () {
2678        "use strict";
2679
2680        tarteaucitron.fallback(['tac_genially'], function (x) {
2681            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'genially iframe'),
2682                width = x.getAttribute("width"),
2683                height = x.getAttribute("height"),
2684                geniallyid = x.getAttribute("geniallyid"),
2685                allowfullscreen = x.getAttribute("allowfullscreen");
2686
2687            return '<div style="position: relative; padding-bottom: 109.00%; padding-top: 0; height: 0;"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" title="' + frame_title + '" src="https://view.genial.ly/' + geniallyid + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe></div>';
2688        });
2689    },
2690    "fallback": function () {
2691        "use strict";
2692        var id = 'genially';
2693        tarteaucitron.fallback(['tac_genially'], function (elem) {
2694            elem.style.width = elem.getAttribute('width') + 'px';
2695            elem.style.height = elem.getAttribute('height') + 'px';
2696            return tarteaucitron.engage(id);
2697        });
2698    }
2699};
2700
2701// google maps
2702tarteaucitron.services.googlemaps = {
2703    "key": "googlemaps",
2704    "type": "api",
2705    "name": "Google Maps",
2706    "uri": "https://policies.google.com/privacy",
2707    "needConsent": true,
2708    "cookies": [],
2709    "js": function () {
2710        "use strict";
2711        var mapOptions,
2712            map,
2713            uniqIds = [],
2714            i;
2715
2716        if (tarteaucitron.user.mapscallback === undefined) {
2717            tarteaucitron.user.mapscallback = 'tac_googlemaps_callback';
2718        }
2719
2720        // Add Google Maps libraries if any (https://developers.google.com/maps/documentation/javascript/libraries)
2721        var googleMapsLibraries = '';
2722        if (tarteaucitron.user.googlemapsLibraries) {
2723            googleMapsLibraries = '&libraries=' + tarteaucitron.user.googlemapsLibraries;
2724        }
2725
2726        tarteaucitron.addScript('//maps.googleapis.com/maps/api/js?v=3.exp&key=' + tarteaucitron.user.googlemapsKey + '&callback=' + tarteaucitron.user.mapscallback + googleMapsLibraries);
2727
2728        window.tac_googlemaps_callback = function () {
2729            tarteaucitron.fallback(['googlemaps-canvas'], function (x) {
2730                var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2731                uniqIds.push(uniqId);
2732                return '<div id="' + uniqId + '" zoom="' + x.getAttribute('zoom') + '" latitude="' + x.getAttribute('latitude') + '" longitude="' + x.getAttribute('longitude') + '" style="width:' + x.offsetWidth + 'px;height:' + x.offsetHeight + 'px"></div>';
2733            });
2734
2735            var i;
2736            for (i = 0; i < uniqIds.length; i += 1) {
2737                mapOptions = {
2738                    zoom: parseInt(document.getElementById(uniqIds[i]).getAttribute('zoom'), 10),
2739                    center: new google.maps.LatLng(parseFloat(document.getElementById(uniqIds[i]).getAttribute('latitude'), 10), parseFloat(document.getElementById(uniqIds[i]).getAttribute('longitude'), 10))
2740                };
2741                map = new google.maps.Map(document.getElementById(uniqIds[i]), mapOptions);
2742                new google.maps.Marker({ position: { lat: parseFloat(document.getElementById(uniqIds[i]).getAttribute('latitude'), 10), lng: parseFloat(document.getElementById(uniqIds[i]).getAttribute('longitude'), 10) }, map: map });
2743            }
2744        };
2745    },
2746    "fallback": function () {
2747        "use strict";
2748        var id = 'googlemaps';
2749        tarteaucitron.fallback(['googlemaps-canvas'], tarteaucitron.engage(id));
2750    }
2751};
2752
2753// googlemaps search
2754tarteaucitron.services.googlemapssearch = {
2755    "key": "googlemapssearch",
2756    "type": "api",
2757    "name": "Google Maps Search API",
2758    "uri": "https://policies.google.com/privacy",
2759    "needConsent": true,
2760    "cookies": ['nid'],
2761    "js": function () {
2762        "use strict";
2763        tarteaucitron.fallback(['googlemapssearch'], function (x) {
2764            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Google search iframe'),
2765                width = x.getAttribute("width"),
2766                height = x.getAttribute("height"),
2767                // url = x.getAttribute("data-url");
2768                query = escape(x.getAttribute("data-search")),
2769                key = x.getAttribute("data-api-key");
2770
2771            return '<iframe title="' + frame_title + '" width="' + width + '" height="' + height + '" style="border:0" src="https://www.google.com/maps/embed/v1/place?q=' + query + '&key=' + key + '" allowfullscreen></iframe> '
2772        });
2773    },
2774    "fallback": function () {
2775        "use strict";
2776        var id = 'googlemapssearch';
2777        tarteaucitron.fallback(['googlemapssearch'], function (elem) {
2778            elem.style.width = elem.getAttribute('width') + 'px';
2779            elem.style.height = elem.getAttribute('height') + 'px';
2780            return tarteaucitron.engage(id);
2781        });
2782    }
2783};
2784
2785// googlemaps embed iframe
2786tarteaucitron.services.googlemapsembed = {
2787    "key": "googlemapsembed",
2788    "type": "api",
2789    "name": "Google Maps Embed",
2790    "uri": "https://policies.google.com/privacy",
2791    "needConsent": true,
2792    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
2793    "js": function () {
2794        "use strict";
2795        tarteaucitron.fallback(['googlemapsembed'], function (x) {
2796            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Google maps iframe'),
2797                width = tarteaucitron.getElemWidth(x),
2798                height = tarteaucitron.getElemHeight(x),
2799                url = x.getAttribute("data-url");
2800
2801            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
2802        });
2803    },
2804    "fallback": function () {
2805        "use strict";
2806        var id = 'googlemapsembed';
2807        tarteaucitron.fallback(['googlemapsembed'], function (elem) {
2808            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
2809            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
2810            return tarteaucitron.engage(id);
2811        });
2812    }
2813};
2814
2815
2816// openstreetmap embed iframe
2817tarteaucitron.services.openstreetmap = {
2818    "key": "openstreetmap",
2819    "type": "api",
2820    "name": "Openstreetmap Embed",
2821    "uri": "https://wiki.osmfoundation.org/wiki/Privacy_Policy#Cookies",
2822    "needConsent": true,
2823    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
2824    "js": function () {
2825        "use strict";
2826        tarteaucitron.fallback(['openstreetmap'], function (x) {
2827            var width = tarteaucitron.getElemWidth(x),
2828                height = tarteaucitron.getElemHeight(x),
2829                url = x.getAttribute("data-url");
2830
2831            return '<iframe src="' + url + '" width="' + width + '" height="' + height + '" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" allowfullscreen></iframe>';
2832        });
2833    },
2834    "fallback": function () {
2835        "use strict";
2836        var id = 'openstreetmap';
2837        tarteaucitron.fallback(['openstreetmap'], function (elem) {
2838            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
2839            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
2840            return tarteaucitron.engage(id);
2841        });
2842    }
2843};
2844
2845// geoportail embed iframe
2846tarteaucitron.services.geoportail = {
2847    "key": "geoportail",
2848    "type": "api",
2849    "name": "Geoportail maps Embed",
2850    "uri": "https://www.ign.fr/institut/gestion-des-cookies",
2851    "needConsent": true,
2852    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
2853    "js": function () {
2854        "use strict";
2855        tarteaucitron.fallback(['geoportail'], function (x) {
2856            var width = tarteaucitron.getElemWidth(x),
2857                height = tarteaucitron.getElemHeight(x),
2858                url = x.getAttribute("data-url");
2859
2860            return '<iframe src="' + url + '" width="' + width + '" height="' + height + '" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" sandbox="allow-forms allow-scripts allow-same-origin" allowfullscreen></iframe>';
2861        });
2862    },
2863    "fallback": function () {
2864        "use strict";
2865        var id = 'geoportail';
2866        tarteaucitron.fallback(['geoportail'], function (elem) {
2867            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
2868            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
2869            return tarteaucitron.engage(id);
2870        });
2871    }
2872};
2873
2874
2875// google tag manager
2876tarteaucitron.services.googletagmanager = {
2877    "key": "googletagmanager",
2878    "type": "api",
2879    "name": "Google Tag Manager",
2880    "uri": "https://policies.google.com/privacy",
2881    "needConsent": true,
2882    "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
2883    "js": function () {
2884        "use strict";
2885        if (tarteaucitron.user.googletagmanagerId === undefined) {
2886            return;
2887        }
2888        window.dataLayer = window.dataLayer || [];
2889        window.dataLayer.push({
2890            'gtm.start': new Date().getTime(),
2891            event: 'gtm.js'
2892        });
2893        tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + tarteaucitron.user.googletagmanagerId);
2894    }
2895};
2896
2897// google tag manager multiple
2898tarteaucitron.services.multiplegoogletagmanager = {
2899    "key": "multiplegoogletagmanager",
2900    "type": "api",
2901    "name": "Google Tag Manager",
2902    "uri": "https://policies.google.com/privacy",
2903    "needConsent": true,
2904    "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
2905    "js": function () {
2906        "use strict";
2907        if (tarteaucitron.user.multiplegoogletagmanagerId === undefined) {
2908            return;
2909        }
2910        window.dataLayer = window.dataLayer || [];
2911        window.dataLayer.push({
2912            'gtm.start': new Date().getTime(),
2913            event: 'gtm.js'
2914        });
2915
2916        tarteaucitron.user.multiplegoogletagmanagerId.forEach(function (id) {
2917            tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + id);
2918        });
2919
2920    }
2921};
2922
2923// google webfonts
2924tarteaucitron.services.googlefonts = {
2925    "key": "googlefonts",
2926    "type": "api",
2927    "name": "Google Webfonts",
2928    "uri": "https://policies.google.com/privacy",
2929    "needConsent": true,
2930    "cookies": [],
2931    "js": function () {
2932        "use strict";
2933        if (tarteaucitron.user.googleFonts === undefined) {
2934            return;
2935        }
2936        tarteaucitron.addScript('//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js', '', function () {
2937            WebFont.load({
2938                google: {
2939                    families: tarteaucitron.user.googleFonts
2940                }
2941            });
2942        });
2943    }
2944};
2945
2946// hubspot
2947tarteaucitron.services.hubspot = {
2948    "key": "hubspot",
2949    "type": "analytic",
2950    "name": "Hubspot",
2951    "uri": "https://legal.hubspot.com/privacy-policy",
2952    "needConsent": true,
2953    "cookies": ['hubspotutk', 'fr', '__hstc', '__hssrc', '__hssc', '__cfduid'],
2954    "js": function () {
2955        "use strict";
2956        tarteaucitron.addScript('//js.hs-scripts.com/' + tarteaucitron.user.hubspotId + '.js', 'hs-script-loader');
2957    }
2958};
2959
2960// instagram
2961tarteaucitron.services.instagram = {
2962    "key": "instagram",
2963    "type": "social",
2964    "name": "Instagram",
2965    "uri": "https://www.instagram.com/legal/privacy/",
2966    "needConsent": true,
2967    "cookies": ['shbts', 'sessionid', 'csrftoken', 'rur', 'shbid', 'mid', 'ds_usr_id', 'ig_did', 'ig_cb', 'datr'],
2968    "js": function () {
2969        "use strict";
2970        tarteaucitron.fallback(['instagram_post'], function (x) {
2971            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Instagram iframe'),
2972                post_id = x.getAttribute('postId'),
2973                post_permalink = x.getAttribute('data-instgrm-permalink'),
2974                embed_width = x.getAttribute('width'),
2975                embed_height = x.getAttribute('height'),
2976                frame_width,
2977                frame_height,
2978                post_frame;
2979
2980            if (post_permalink != null) {
2981                tarteaucitron.addScript('//www.instagram.com/embed.js', 'instagram-embed');
2982
2983                return '';
2984            }
2985
2986            if (post_id === undefined) {
2987                return "";
2988            }
2989
2990            if (embed_width !== undefined) {
2991                frame_width = 'width="' + embed_width + '" ';
2992            } else {
2993                frame_width = '"" ';
2994            }
2995            if (embed_height !== undefined) {
2996                frame_height = 'height="' + embed_height + '" ';
2997            } else {
2998                frame_height = '"" ';
2999            }
3000
3001            post_frame = '<iframe title="' + frame_title + '" src="//www.instagram.com/' + post_id + '/embed" ' + frame_width + frame_height + '></iframe>';
3002
3003            return post_frame;
3004        });
3005    },
3006    "fallback": function () {
3007        "use strict";
3008        var id = 'instagram';
3009        tarteaucitron.fallback(['instagram_post'], function (elem) {
3010            elem.style.width = elem.getAttribute('width') + 'px';
3011            elem.style.height = elem.getAttribute('height') + 'px';
3012            return tarteaucitron.engage(id);
3013        });
3014    }
3015};
3016
3017// jsapi
3018tarteaucitron.services.jsapi = {
3019    "key": "jsapi",
3020    "type": "api",
3021    "name": "Google jsapi",
3022    "uri": "https://policies.google.com/privacy",
3023    "needConsent": true,
3024    "cookies": [],
3025    "js": function () {
3026        "use strict";
3027        tarteaucitron.addScript('//www.google.com/jsapi');
3028    }
3029};
3030
3031// twitterwidgetsapi
3032tarteaucitron.services.twitterwidgetsapi = {
3033    "key": "twitterwidgetsapi",
3034    "type": "api",
3035    "name": "Twitter Widgets API",
3036    "uri": "https://support.twitter.com/articles/20170514",
3037    "needConsent": true,
3038    "cookies": [],
3039    "js": function () {
3040        "use strict";
3041        tarteaucitron.fallback(['tacTwitterAPI'], '');
3042        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
3043    },
3044    "fallback": function () {
3045        "use strict";
3046        var id = 'twitterwidgetsapi';
3047        tarteaucitron.fallback(['tacTwitterAPI'], tarteaucitron.engage(id));
3048    }
3049};
3050
3051// recaptcha
3052tarteaucitron.services.recaptcha = {
3053    "key": "recaptcha",
3054    "type": "api",
3055    "name": "reCAPTCHA",
3056    "uri": "https://policies.google.com/privacy",
3057    "needConsent": true,
3058    "cookies": ['nid'],
3059    "js": function () {
3060        "use strict";
3061        window.tacRecaptchaOnLoad = tarteaucitron.user.recaptchaOnLoad || function () { };
3062        tarteaucitron.fallback(['g-recaptcha'], '');
3063
3064        if (tarteaucitron.user.recaptchaapi === undefined) {
3065            tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad');
3066        } else {
3067            tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad&render=' + tarteaucitron.user.recaptchaapi);
3068        }
3069
3070    },
3071    "fallback": function () {
3072        "use strict";
3073        var id = 'recaptcha';
3074        tarteaucitron.fallback(['g-recaptcha'], tarteaucitron.engage(id));
3075    }
3076};
3077
3078// linkedin
3079tarteaucitron.services.linkedin = {
vendor: 5,096 bytes, lines 3080-3233
3080    "key": "linkedin",
3081    "type": "social",
3082    "name": "Linkedin",
3083    "uri": "https://www.linkedin.com/legal/cookie_policy",
3084    "needConsent": true,
3085    "cookies": [],
3086    "js": function () {
3087        "use strict";
3088        tarteaucitron.fallback(['tacLinkedin'], '');
3089        tarteaucitron.addScript('//platform.linkedin.com/in.js');
3090        if (tarteaucitron.isAjax === true) {
3091            if (typeof IN !== "undefined") {
3092                IN.parse();
3093            }
3094        }
3095    },
3096    "fallback": function () {
3097        "use strict";
3098        var id = 'linkedin';
3099        tarteaucitron.fallback(['tacLinkedin'], tarteaucitron.engage(id));
3100    }
3101};
3102
3103// mautic
3104tarteaucitron.services.mautic = {
3105    "key": "mautic",
3106    "type": "analytic",
3107    "name": "Mautic",
3108    "uri": "https://www.mautic.org/privacy-policy/",
3109    "needConsent": true,
3110    "cookies": ['mtc_id', 'mtc_sid'],
3111    "js": function () {
3112        "use strict";
3113        if (tarteaucitron.user.mauticurl === undefined) {
3114            return;
3115        }
3116
3117        window.MauticTrackingObject = 'mt';
3118        window.mt = window.mt || function () {
3119            window.mt.q = window.mt.q || [];
3120            window.mt.q.push(arguments);
3121        };
3122
3123        tarteaucitron.addScript(tarteaucitron.user.mauticurl, '', function () {
3124            mt('send', 'pageview');
3125        });
3126    }
3127};
3128
3129// microsoftcampaignanalytics
3130tarteaucitron.services.microsoftcampaignanalytics = {
3131    "key": "microsoftcampaignanalytics",
3132    "type": "analytic",
3133    "name": "Microsoft Campaign Analytics",
3134    "uri": "https://privacy.microsoft.com/privacystatement/",
3135    "needConsent": true,
3136    "cookies": [],
3137    "js": function () {
3138        "use strict";
3139        if (tarteaucitron.user.microsoftcampaignanalyticsUUID === undefined) {
3140            return;
3141        }
3142
3143        tarteaucitron.addScript('//flex.atdmt.com/mstag/site/' + tarteaucitron.user.microsoftcampaignanalyticsUUID + '/mstag.js', 'mstag_tops', function () {
3144            window.mstag = { loadTag: function () { }, time: (new Date()).getTime() };
3145            window.mstag.loadTag("analytics", { dedup: "1", domainId: tarteaucitron.user.microsoftcampaignanalyticsdomainId, type: "1", actionid: tarteaucitron.user.microsoftcampaignanalyticsactionId });
3146        });
3147    }
3148};
3149
3150// onesignal
3151tarteaucitron.services.onesignal = {
3152    "key": "onesignal",
3153    "type": "api",
3154    "name": "OneSignal",
3155    "uri": "https://onesignal.com/privacy_policy",
3156    "needConsent": true,
3157    "cookies": [],
3158    "js": function () {
3159        "use strict";
3160        if (tarteaucitron.user.onesignalAppId === undefined) {
3161            return;
3162        }
3163        window.OneSignal = window.OneSignal || [];
3164
3165        window.OneSignal.push(function () {
3166            window.OneSignal.init({
3167                appId: tarteaucitron.user.onesignalAppId,
3168            });
3169        });
3170
3171        tarteaucitron.addScript('https://cdn.onesignal.com/sdks/OneSignalSDK.js');
3172    }
3173};
3174
3175// pinterest
3176tarteaucitron.services.pinterest = {
3177    "key": "pinterest",
3178    "type": "social",
3179    "name": "Pinterest",
3180    "uri": "https://about.pinterest.com/privacy-policy",
3181    "needConsent": true,
3182    "cookies": [],
3183    "js": function () {
3184        "use strict";
3185        tarteaucitron.fallback(['tacPinterest'], '');
3186        tarteaucitron.addScript('//assets.pinterest.com/js/pinit.js');
3187    },
3188    "fallback": function () {
3189        "use strict";
3190        var id = 'pinterest';
3191        tarteaucitron.fallback(['tacPinterest'], tarteaucitron.engage(id));
3192    }
3193};
3194
3195// prelinker
3196tarteaucitron.services.prelinker = {
3197    "key": "prelinker",
3198    "type": "ads",
3199    "name": "Prelinker",
3200    "uri": "http://www.prelinker.com/index/index/cgu/",
3201    "needConsent": true,
3202    "cookies": ['_sp_id.32f5', '_sp_ses.32f5'],
3203    "js": function () {
3204        "use strict";
3205        var uniqIds = [],
3206            i,
3207            uri;
3208
3209        tarteaucitron.fallback(['prelinker-canvas'], function (x) {
3210            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3211            uniqIds.push(uniqId);
3212            return '<div id="' + uniqId + '" siteId="' + x.getAttribute('siteId') + '" bannerId="' + x.getAttribute('bannerId') + '" defaultLanguage="' + x.getAttribute('defaultLanguage') + '" tracker="' + x.getAttribute('tracker') + '"></div>';
3213        });
3214
3215        for (i = 0; i < uniqIds.length; i += 1) {
3216            uri = 'http://promo.easy-dating.org/banner/index?';
3217            uri += 'site_id=' + document.getElementById(uniqIds[i]).getAttribute('siteId') + '&';
3218            uri += 'banner_id=' + document.getElementById(uniqIds[i]).getAttribute('bannerId') + '&';
3219            uri += 'default_language=' + document.getElementById(uniqIds[i]).getAttribute('defaultLanguage') + '&';
3220            uri += 'tr4ck=' + document.getElementById(uniqIds[i]).getAttribute('trackrt');
3221
3222            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
3223        }
3224    },
3225    "fallback": function () {
3226        "use strict";
3227        var id = 'prelinker';
3228        tarteaucitron.fallback(['prelinker-canvas'], tarteaucitron.engage(id));
3229    }
3230};
3231
3232// prezi
3233tarteaucitron.services.prezi = {
3234    "key": "prezi",
3235    "type": "video",
3236    "name": "Prezi",
3237    "uri": "https://prezi.com/privacy-policy/",
3238    "needConsent": true,
3239    "cookies": [],
3240    "js": function () {
3241        "use strict";
3242        tarteaucitron.fallback(['prezi-canvas'], function (x) {
3243            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Prezi iframe'),
3244                id = x.getAttribute("data-id"),
3245                width = x.getAttribute("width"),
3246                height = x.getAttribute("height"),
3247                url = 'https://prezi.com/embed/' + id + '/?bgcolor=ffffff&amp;lock_to_path=0&amp;autoplay=0&amp;autohide_ctrls=0';
3248
3249            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
3250        });
3251    },
3252    "fallback": function () {
3253        "use strict";
3254        var id = 'prezi';
3255        tarteaucitron.fallback(['prezi-canvas'], function (elem) {
3256            elem.style.width = elem.getAttribute('width') + 'px';
3257            elem.style.height = elem.getAttribute('height') + 'px';
3258            return tarteaucitron.engage(id);
3259        });
3260    }
3261};
3262
3263// pubdirecte
3264tarteaucitron.services.pubdirecte = {
3265    "key": "pubdirecte",
3266    "type": "ads",
3267    "name": "Pubdirecte",
3268    "uri": "http://pubdirecte.com/contact.php",
3269    "needConsent": true,
3270    "cookies": [],
3271    "js": function () {
3272        "use strict";
3273        var uniqIds = [],
3274            i,
3275            uri;
3276
3277        tarteaucitron.fallback(['pubdirecte-canvas'], function (x) {
3278            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3279            uniqIds.push(uniqId);
3280            return '<div id="' + uniqId + '" pid="' + x.getAttribute('pid') + '" ref="' + x.getAttribute('ref') + '"></div>';
3281        });
3282
3283        for (i = 0; i < uniqIds.length; i += 1) {
3284            uri = '//www.pubdirecte.com/script/banniere.php?';
3285            uri += 'id=' + document.getElementById(uniqIds[i]).getAttribute('pid') + '&';
3286            uri += 'ref=' + document.getElementById(uniqIds[i]).getAttribute('ref');
3287
3288            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
3289        }
3290    },
3291    "fallback": function () {
3292        "use strict";
3293        var id = 'pubdirecte';
3294        tarteaucitron.fallback(['pubdirecte-canvas'], tarteaucitron.engage(id));
3295    }
3296};
3297
3298// purechat
3299tarteaucitron.services.purechat = {
3300    "key": "purechat",
3301    "type": "support",
3302    "name": "PureChat",
3303    "uri": "https://www.purechat.com/privacy",
3304    "needConsent": true,
3305    "cookies": [],
3306    "js": function () {
3307        "use strict";
3308        if (tarteaucitron.user.purechatId === undefined) {
3309            return;
3310        }
3311
3312        tarteaucitron.addScript('//app.purechat.com/VisitorWidget/WidgetScript', '', function () {
3313            try {
3314                window.w = new PCWidget({ c: tarteaucitron.user.purechatId, f: true });
3315            } catch (e) { }
3316        });
3317    }
3318};
3319
3320// Intercom
3321tarteaucitron.services.intercomChat = {
3322    "key": "intercomChat",
3323    "type": "support",
3324    "name": "Intercom",
3325    "uri": "https://www.intercom.com/",
3326    "needConsent": true,
3327    "cookies": [
3328        "intercom-id-" + tarteaucitron.user.intercomKey,
3329        "intercom-session-" + tarteaucitron.user.intercomKey,
3330    ],
3331    "readmoreLink": "https://www.intercom.com/legal/privacy",
3332    "js": function () {
3333        window.intercomSettings = {
3334            app_id: tarteaucitron.user.intercomKey,
3335        };
3336
3337        var w = window;
3338        var ic = w.Intercom;
3339        if (typeof ic === "function") {
3340            ic("reattach_activator");
3341            ic("update", w.intercomSettings);
3342        } else {
3343            var i = function () {
3344                i.c(arguments);
3345            };
3346            i.q = [];
3347            i.c = function (args) {
3348                i.q.push(args);
3349            };
3350            w.Intercom = i;
3351            tarteaucitron.addScript(
3352                "https://widget.intercom.io/widget/" + tarteaucitron.user.intercomKey,
3353                "",
3354                function () {
3355                    // Execute callback if function `intercomChatEnable`
3356                    // is defined
3357                    if (typeof intercomChatEnable === 'function') {
3358                        intercomChatEnable()
3359                    }
3360                }
3361            );
3362        }
3363    },
3364    "fallback": function () {
3365        "use strict";
3366        var id = "intercomChat";
3367        tarteaucitron.fallback(
3368            ["intercom-chat"],
3369            function () {
3370                // Execute callback if function `intercomChatDisable`
3371                // is defined
3372                if (typeof intercomChatDisable === 'function') {
3373                    intercomChatDisable()
3374                }
3375                return tarteaucitron.engage(id)
3376            }
3377        );
3378    },
3379};
3380
3381// rumbletalk
3382tarteaucitron.services.rumbletalk = {
3383    "key": "rumbletalk",
3384    "type": "social",
3385    "name": "RumbleTalk",
3386    "needConsent": true,
3387    "cookies": ['AWSALB'],
3388    "js": function () {
3389        "use strict";
3390        if (tarteaucitron.user.rumbletalkid === undefined) {
3391            return;
3392        }
3393
3394        tarteaucitron.addScript('https://rumbletalk.com/client/?' + tarteaucitron.user.rumbletalkid);
3395
3396        tarteaucitron.fallback(['rumbletalk'], function (x) {
3397            var width = tarteaucitron.getElemWidth(x),
3398                height = tarteaucitron.getElemHeight(x),
3399                id = x.getAttribute("data-id");
3400
3401            return '<div style="height: ' + height + 'px; width: ' + width + 'px;"><div id="' + id + '"></div></div>';
3402        });
3403    },
3404    "fallback": function () {
3405        "use strict";
3406        var id = 'rumbletalk';
3407        tarteaucitron.fallback(['rumbletalk'], function (elem) {
3408            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
3409            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
3410
3411            return tarteaucitron.engage(id);
3412        });
3413    }
3414};
3415
3416// shareaholic
3417tarteaucitron.services.shareaholic = {
3418    "key": "shareaholic",
3419    "type": "social",
3420    "name": "Shareaholic",
3421    "uri": "https://shareaholic.com/privacy/choices",
3422    "needConsent": true,
3423    "cookies": ['__utma', '__utmb', '__utmc', '__utmz', '__utmt_Shareaholic%20Pageviews'],
3424    "js": function () {
3425        "use strict";
3426        if (tarteaucitron.user.shareaholicSiteId === undefined) {
3427            return;
3428        }
3429
3430        tarteaucitron.fallback(['shareaholic-canvas'], '');
3431        tarteaucitron.addScript('//dsms0mj1bbhn4.cloudfront.net/assets/pub/shareaholic.js', '', function () {
3432            try {
3433                Shareaholic.init(tarteaucitron.user.shareaholicSiteId);
3434            } catch (e) { }
3435        });
3436    },
3437    "fallback": function () {
3438        "use strict";
3439        var id = 'shareaholic';
3440        tarteaucitron.fallback(['shareaholic-canvas'], tarteaucitron.engage(id));
3441    }
3442};
3443
3444// shareasale
3445tarteaucitron.services.shareasale = {
3446    "key": "shareasale",
3447    "type": "ads",
3448    "name": "ShareASale",
3449    "uri": "https://www.shareasale.com/PrivacyPolicy.pdf",
3450    "needConsent": true,
3451    "cookies": [],
3452    "js": function () {
3453        "use strict";
3454        var uniqIds = [],
3455            i,
3456            uri;
3457
3458        tarteaucitron.fallback(['shareasale-canvas'], function (x) {
3459            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3460            uniqIds.push(uniqId);
3461            return '<div id="' + uniqId + '" amount="' + x.getAttribute('amount') + '" tracking="' + x.getAttribute('tracking') + '" transtype="' + x.getAttribute('transtype') + '" persale="' + x.getAttribute('persale') + '" perlead="' + x.getAttribute('perlead') + '" perhit="' + x.getAttribute('perhit') + '" merchantID="' + x.getAttribute('merchantID') + '"></div>';
3462        });
3463
3464        for (i = 0; i < uniqIds.length; i += 1) {
3465            uri = 'https://shareasale.com/sale.cfm?';
3466            uri += 'amount=' + document.getElementById(uniqIds[i]).getAttribute('amount') + '&';
3467            uri += 'tracking=' + document.getElementById(uniqIds[i]).getAttribute('tracking') + '&';
3468            uri += 'transtype=' + document.getElementById(uniqIds[i]).getAttribute('transtype') + '&';
3469            uri += 'persale=' + document.getElementById(uniqIds[i]).getAttribute('persale') + '&';
3470            uri += 'perlead=' + document.getElementById(uniqIds[i]).getAttribute('perlead') + '&';
3471            uri += 'perhit=' + document.getElementById(uniqIds[i]).getAttribute('perhit') + '&';
3472            uri += 'merchantID=' + document.getElementById(uniqIds[i]).getAttribute('merchantID');
3473
3474            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
3475        }
3476    },
3477    "fallback": function () {
3478        "use strict";
3479        var id = 'shareasale';
3480        tarteaucitron.fallback(['shareasale-canvas'], tarteaucitron.engage(id));
3481    }
3482};
3483
3484// sharethis
3485tarteaucitron.services.sharethis = {
3486    "key": "sharethis",
3487    "type": "social",
3488    "name": "ShareThis",
3489    "uri": "http://www.sharethis.com/legal/privacy/",
3490    "needConsent": true,
3491    "cookies": ['__unam'],
3492    "js": function () {
3493        "use strict";
3494        if (tarteaucitron.user.sharethisPublisher === undefined) {
3495            return;
3496        }
3497        var switchTo5x = true,
3498            uri = ('https:' === document.location.protocol ? 'https://ws' : 'http://w') + '.sharethis.com/button/buttons.js';
3499
3500        tarteaucitron.fallback(['tacSharethis'], '');
3501        tarteaucitron.addScript(uri, '', function () {
3502            stLight.options({ publisher: tarteaucitron.user.sharethisPublisher, doNotHash: false, doNotCopy: false, hashAddressBar: false });
3503        });
3504
3505        if (tarteaucitron.isAjax === true) {
3506            if (typeof stButtons !== "undefined") {
3507                stButtons.locateElements();
3508            }
3509        }
3510    },
3511    "fallback": function () {
3512        "use strict";
3513        var id = 'sharethis';
3514        tarteaucitron.fallback(['tacSharethis'], tarteaucitron.engage(id));
3515    }
3516};
3517
3518// slideshare
3519tarteaucitron.services.slideshare = {
3520    "key": "slideshare",
3521    "type": "video",
3522    "name": "SlideShare",
3523    "uri": "https://www.linkedin.com/legal/privacy-policy",
3524    "needConsent": true,
3525    "cookies": [],
3526    "js": function () {
3527        "use strict";
3528        tarteaucitron.fallback(['slideshare-canvas'], function (x) {
3529            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Slideshare iframe'),
3530                id = x.getAttribute("data-id"),
3531                width = x.getAttribute("width"),
3532                height = x.getAttribute("height"),
3533                url = '//www.slideshare.net/slideshow/embed_code/' + id;
3534
3535            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
3536        });
3537    },
3538    "fallback": function () {
3539        "use strict";
3540        var id = 'slideshare';
3541        tarteaucitron.fallback(['slideshare-canvas'], function (elem) {
3542            elem.style.width = elem.getAttribute('width') + 'px';
3543            elem.style.height = elem.getAttribute('height') + 'px';
3544            return tarteaucitron.engage(id);
3545        });
3546    }
3547};
3548
3549// soundcloud
3550tarteaucitron.services.soundcloud = {
3551    key: 'soundcloud',
3552    type: 'video',
3553    name: 'SoundCloud',
3554    needConsent: true,
3555    cookies: ['sc_anonymous_id', 'sclocale'],
3556    js: function () {
3557        "use strict";
3558        tarteaucitron.fallback(['soundcloud_player'], function (x) {
3559            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Soundcloud iframe'),
3560                player_height = x.getAttribute('data-height'),
3561                frame_height = 'height="' + player_height + '" ',
3562                playable_id = x.getAttribute('data-playable-id'),
3563                playable_type = x.getAttribute('data-playable-type'),
3564                playable_url = x.getAttribute('data-playable-url'),
3565                color = x.getAttribute('data-color'),
3566                autoplay = x.getAttribute('data-auto-play'),
3567                hideRelated = x.getAttribute('data-hide-related'),
3568                showComments = x.getAttribute('data-show-comments'),
3569                showUser = x.getAttribute('data-show-user'),
3570                showReposts = x.getAttribute('data-show-reposts'),
3571                showTeaser = x.getAttribute('data-show-teaser'),
3572                visual = x.getAttribute('data-visual'),
3573                artwork = x.getAttribute('data-artwork');
3574
3575            var allowAutoplay = autoplay === 'true' ? 'allow="autoplay"' : '';
3576
3577            if (playable_id === undefined && playable_url === undefined) {
3578                return "";
3579            }
3580
3581            // Allow to embed from API results (playable_type + playable_id)
3582            var qs = '?url=https%3A//api.soundcloud.com/' + playable_type + '/' + playable_id;
3583            // Or from raw URL from Soundcloud website
3584            if (playable_url && playable_url.length > 0) qs = '?url=' + escape(playable_url);
3585
3586            if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated;
3587            if (color && color.length > 0) qs += '&color=' + color.replace('#', '%23');
3588            if (autoplay && autoplay.length > 0) qs += '&auto_play=' + autoplay;
3589            if (showComments && showComments.length > 0) qs += '&show_comments=' + showComments;
3590            if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated;
3591            if (showUser && showUser.length > 0) qs += '&show_user=' + showUser;
3592            if (showReposts && showReposts.length > 0) qs += '&show_reposts=' + showReposts;
3593            if (showTeaser && showTeaser.length > 0) qs += '&show_teaser=' + showTeaser;
3594            if (visual && visual.length > 0) qs += '&visual=' + visual;
3595            if (artwork && artwork.length >
3595 0) qs += '&show_artwork=' + artwork;
3596
3597            return '<iframe title="' + frame_title + '" width="100%" ' + frame_height + ' scrolling="no" ' + allowAutoplay + ' src="https://w.soundcloud.com/player/' + qs + '"></iframe>';
3598        });
3599    },
3600    fallback: function () {
3601        "use strict";
3602        tarteaucitron.fallback(['soundcloud_player'], function (elem) {
3603            elem.style.height = elem.getAttribute('data-height') + 'px';
3604            return tarteaucitron.engage('soundcloud');
3605        });
3606    }
3607};
3608
3609// spotify
3610tarteaucitron.services.spotify = {
3611    "key": "spotify",
3612    "type": "video",
3613    "name": "Spotify",
3614    "uri": "https://www.spotify.com/us/legal/privacy-policy/",
3615    "needConsent": true,
3616    "cookies": ['sp_landing', '_ga', 'sp_ab', 'sp_landingref', 'sp_t', 'sp_usid', 'OptanonConsent', 'sp_m', 'spot'],
3617    "js": function () {
3618        "use strict";
3619        tarteaucitron.fallback(['spotify_player'], function (x) {
3620            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Spotify iframe'),
3621                spotify_id = x.getAttribute("spotifyID"),
3622                spotify_width = x.getAttribute("width"),
3623                frame_width = 'width=',
3624                spotify_height = x.getAttribute("height"),
3625                frame_height = 'height=',
3626                spotify_frame;
3627
3628            if (spotify_id === undefined) {
3629                return "";
3630            }
3631            if (spotify_width !== undefined) {
3632                frame_width += '"' + spotify_width + '" ';
3633            } else {
3634                frame_width += '"" ';
3635            }
3636            if (spotify_height !== undefined) {
3637                frame_height += '"' + spotify_height + '" ';
3638            } else {
3639                frame_height += '"" ';
3640            }
3641            spotify_frame = '<iframe title="' + frame_title + '" src="//open.spotify.com/embed/' + spotify_id + '" ' + frame_width + frame_height + ' allowfullscreen></iframe>';
3642            return spotify_frame;
3643        });
3644    },
3645    "fallback": function () {
3646        "use strict";
3647        var id = 'spotify';
3648        tarteaucitron.fallback(['spotify_player'], function (elem) {
3649            elem.style.width = elem.getAttribute('width') + 'px';
3650            elem.style.height = elem.getAttribute('height') + 'px';
3651            return tarteaucitron.engage(id);
3652        });
3653    }
3654};
3655
3656// statcounter
3657tarteaucitron.services.statcounter = {
3658    "key": "statcounter",
3659    "type": "analytic",
3660    "name": "StatCounter",
3661    "uri": "https://fr.statcounter.com/about/legal/#privacy",
3662    "needConsent": true,
3663    "cookies": ['sc_is_visitor_unique'],
3664    "js": function () {
3665        "use strict";
3666        var uniqIds = [],
3667            i,
3668            uri = '//statcounter.com/counter/counter.js';
3669
3670        tarteaucitron.fallback(['statcounter-canvas'], function (x) {
3671            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3672            uniqIds.push(uniqId);
3673            return '<div id="' + uniqId + '"></div>';
3674        });
3675
3676        for (i = 0; i < uniqIds.length; i += 1) {
3677            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
3678        }
3679    },
3680    "fallback": function () {
3681        "use strict";
3682        var id = 'statcounter';
3683        tarteaucitron.fallback(['statcounter-canvas'], tarteaucitron.engage(id));
3684    }
3685};
3686
3687// timelinejs
3688tarteaucitron.services.timelinejs = {
3689    "key": "timelinejs",
3690    "type": "api",
3691    "name": "Timeline JS",
3692    "uri": "http://timeline.knightlab.com/#help",
3693    "needConsent": true,
3694    "cookies": [],
3695    "js": function () {
3696        "use strict";
3697        tarteaucitron.fallback(['timelinejs-canvas'], function (x) {
3698            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Twitter iframe'),
3699                spreadsheet_id = x.getAttribute("spreadsheet_id"),
3700                width = x.getAttribute("width"),
3701                height = x.getAttribute("height"),
3702                lang = x.getAttribute("lang_2_letter"),
3703                font = x.getAttribute("font"),
3704                map = x.getAttribute("map"),
3705                start_at_end = x.getAttribute("start_at_end"),
3706                hash_bookmark = x.getAttribute("hash_bookmark"),
3707                start_at_slide = x.getAttribute("start_at_slide"),
3708                start_zoom = x.getAttribute("start_zoom"),
3709                url = '//cdn.knightlab.com/libs/timeline/latest/embed/index.html?source=' + spreadsheet_id + '&font=' + font + '&maptype=' + map + '&lang=' + lang + '&start_at_end=' + start_at_end + '&hash_bookmark=' + hash_bookmark + '&start_at_slide=' + start_at_slide + '&start_zoom_adjust=' + start_zoom + '&height=' + height;
3710
3711            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" allowtransparency allowfullscreen></iframe>';
3712        });
3713    },
3714    "fallback": function () {
3715        "use strict";
3716        var id = 'timelinejs';
3717        tarteaucitron.fallback(['timelinejs-canvas'], function (elem) {
3718            elem.style.width = elem.getAttribute('width') + 'px';
3719            elem.style.height = elem.getAttribute('height') + 'px';
3720            return tarteaucitron.engage(id);
3721        });
3722    }
3723};
3724
3725// tagcommander
3726tarteaucitron.services.tagcommander = {
3727    "key": "tagcommander",
3728    "type": "api",
3729    "name": "TagCommander",
3730    "uri": "https://www.commandersact.com/en/privacy/",
3731    "needConsent": true,
3732    "cookies": [],
3733    "js": function () {
3734        "use strict";
3735        if (tarteaucitron.user.tagcommanderid === undefined) {
3736            return;
3737        }
3738        tarteaucitron.addScript('https://cdn.tagcommander.com/' + tarteaucitron.user.tagcommanderid + '.js');
3739    }
3740};
3741
3742// typekit
3743tarteaucitron.services.typekit = {
3744    "key": "typekit",
3745    "type": "api",
3746    "name": "Typekit (adobe)",
3747    "uri": "https://www.adobe.com/privacy.html",
3748    "needConsent": true,
3749    "cookies": [],
3750    "js": function () {
3751        "use strict";
3752        if (tarteaucitron.user.typekitId === undefined) {
3753            return;
3754        }
3755        tarteaucitron.addScript('//use.typekit.net/' + tarteaucitron.user.typekitId + '.js', '', function () {
3756            try {
3757                Typekit.load();
3758            } catch (e) { }
3759        });
3760    }
3761};
3762
3763// twenga
3764tarteaucitron.services.twenga = {
3765    "key": "twenga",
3766    "type": "ads",
3767    "name": "Twenga",
3768    "uri": "http://www.twenga.com/privacy.php",
3769    "needConsent": true,
3770    "cookies": [],
3771    "js": function () {
3772        "use strict";
3773
3774        if (tarteaucitron.user.twengaId === undefined || tarteaucitron.user.twengaLocale === undefined) {
3775            return;
3776        }
3777
3778        tarteaucitron.addScript('//tracker.twenga.' + tarteaucitron.user.twengaLocale + '/st/tracker_' + tarteaucitron.user.twengaId + '.js');
3779    }
3780};
3781
3782// twitter
3783tarteaucitron.services.twitter = {
3784    "key": "twitter",
3785    "type": "social",
3786    "name": "Twitter",
3787    "uri": "https://support.twitter.com/articles/20170514",
3788    "needConsent": true,
3789    "cookies": [],
3790    "js": function () {
3791        "use strict";
3792        tarteaucitron.fallback(['tacTwitter'], '');
3793        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
3794    },
3795    "fallback": function () {
3796        "use strict";
3797        var id = 'twitter';
3798        tarteaucitron.fallback(['tacTwitter'], tarteaucitron.engage(id));
3799    }
3800};
3801
3802// twitter embed
3803tarteaucitron.services.twitterembed = {
3804    "key": "twitterembed",
3805    "type": "social",
3806    "name": "Twitter (cards)",
3807    "uri": "https://support.twitter.com/articles/20170514",
3808    "needConsent": true,
3809    "cookies": [],
3810    "js": function () {
3811        "use strict";
3812        var uniqIds = [],
3813            i,
3814            e,
3815            html;
3816
3817        tarteaucitron.fallback(['twitterembed-canvas'], function (x) {
3818            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3819            uniqIds.push(uniqId);
3820            html = '<div id="' + uniqId + '" ';
3821            html += 'tweetid="' + x.getAttribute('tweetid') + '" ';
3822            html += 'theme="' + x.getAttribute('theme') + '" ';
3823            html += 'cards="' + x.getAttribute('cards') + '" ';
3824            html += 'conversation="' + x.getAttribute('conversation') + '" ';
3825            html += 'data-width="' + x.getAttribute('data-width') + '" ';
3826            html += 'data-align="' + x.getAttribute('data-align') + '" ';
3827            html += '></div>';
3828            return html;
3829        });
3830
3831        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs', function () {
3832            var i;
3833            for (i = 0; i < uniqIds.length; i += 1) {
3834                e = document.getElementById(uniqIds[i]);
3835                twttr.widgets.createTweet(
3836                    e.getAttribute('tweetid'),
3837                    e,
3838                    {
3839                        theme: e.getAttribute('theme'),
3840                        cards: e.getAttribute('cards'),
3841                        conversation: e.getAttribute('conversation'),
3842                        lang: tarteaucitron.getLanguage(),
3843                        dnt: true,
3844                        width: e.getAttribute('data-width'),
3845                        align: e.getAttribute('data-align')
3846                    }
3847                );
3848            }
3849        });
3850    },
3851    "fallback": function () {
3852        "use strict";
3853        var id = 'twitterembed';
3854        tarteaucitron.fallback(['twitterembed-canvas'], function (elem) {
3855            elem.style.width = elem.getAttribute('data-width') + 'px';
3856            return tarteaucitron.engage(id);
3857        });
3858    }
3859};
3860
3861// twitter timeline
3862tarteaucitron.services.twittertimeline = {
3863    "key": "twittertimeline",
3864    "type": "social",
3865    "name": "Twitter (timelines)",
3866    "uri": "https://support.twitter.com/articles/20170514",
3867    "needConsent": true,
3868    "cookies": [],
3869    "js": function () {
3870        "use strict";
3871        tarteaucitron.fallback(['tacTwitterTimelines'], '');
3872        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
3873    },
3874    "fallback": function () {
3875        "use strict";
3876        var id = 'twittertimeline';
3877        tarteaucitron.fallback(['tacTwitterTimelines'], tarteaucitron.engage(id));
3878    }
3879};
3880
3881// twitter universal website tag
3882tarteaucitron.services.twitteruwt = {
3883    "key": "twitteruwt",
3884    "type": "analytic",
3885    "name": "Twitter Universal Website Tag",
3886    "uri": "https://business.twitter.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html",
3887    "needConsent": true,
3888    "cookies": [],
3889    "js": function () {
3890        "use strict";
3891
3892        window.twq = function () {
3893            window.twq.exe ? window.twq.exe.apply(window.twq, arguments) : window.twq.queue.push(arguments);
3894        }
3895        window.twq.version = '1.1';
3896        window.twq.queue = [];
3897
3898        tarteaucitron.addScript('https://static.ads-twitter.com/uwt.js', '', function () {
3899            window.twq('init', tarteaucitron.user.twitteruwtId);
3900            window.twq('track', 'PageView');
3901        });
3902    }
3903};
3904
3905// user voice
3906tarteaucitron.services.uservoice = {
3907    "key": "uservoice",
3908    "type": "support",
3909    "name": "UserVoice",
3910    "uri": "https://www.uservoice.com/privacy/",
3911    "needConsent": true,
3912    "cookies": [],
3913    "js": function () {
3914        "use strict";
3915        if (tarteaucitron.user.userVoiceApi === undefined) {
3916            return;
3917        }
3918        tarteaucitron.addScript('//widget.uservoice.com/' + tarteaucitron.user.userVoiceApi + '.js');
3919    }
3920};
3921
3922// vimeo
3923tarteaucitron.services.vimeo = {
3924    "key": "vimeo",
3925    "type": "video",
3926    "name": "Vimeo",
3927    "uri": "https://vimeo.com/privacy",
3928    "needConsent": true,
3929    "cookies": ['__utmt_player', '__utma', '__utmb', '__utmc', '__utmv', 'vuid', '__utmz', 'player'],
3930    "js": function () {
3931        "use strict";
3932        tarteaucitron.fallback(['vimeo_player'], function (x) {
3933            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Vimeo iframe'),
3934                video_width = tarteaucitron.getElemAttr(x, "width"),
3935                frame_width = 'width=',
3936                video_height = tarteaucitron.getElemAttr(x, "height"),
3937                frame_height = 'height=',
3938
3939                video_id = tarteaucitron.getElemAttr(x, "videoID"),
3940                video_hash = tarteaucitron.getElemAttr(x, "data-hash") || '',
3941                video_allowfullscreen = tarteaucitron.getElemAttr(x, "data-allowfullscreen"),
3942
3943                video_qs = "",
3944                attrs = ["title", "byline", "portrait", "loop", "autoplay", "autopause", "background", "color", "controls", "maxheight", "maxwidth", "muted", "playsinline", "speed", "transparent"],
3945                params = attrs.filter(function (a) {
3946                    return tarteaucitron.getElemAttr(x, a) !== null;
3947                }).map(function (a) {
3948                    return a + "=" + tarteaucitron.getElemAttr(x, a);
3949                }),
3950
3951                video_frame;
3952
3953            if (video_id === undefined) {
3954                return "";
3955            }
3956
3957            // query params
3958            if (video_hash.length > 0) {
3959                params.push("h=" + video_hash);
3960            }
3961            if (params.length > 0) {
3962                video_qs = "?" + params.join("&");
3963            }
3964
3965            // attributes
3966            if (video_width !== undefined) {
3967                frame_width += '"' + video_width + '" ';
3968            } else {
3969                frame_width += '"" ';
3970            }
3971            if (video_height !== undefined) {
3972                frame_height += '"' + video_height + '" ';
3973            } else {
3974                frame_height += '"" ';
3975            }
3976
3977            video_frame = '<iframe title="' + frame_title + '" src="//player.vimeo.com/video/' + video_id + video_qs + '" ' + frame_width + frame_height + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
3978
3979            return video_frame;
3980        });
3981    },
3982    "fallback": function () {
3983        "use strict";
3984        var id = 'vimeo';
3985        tarteaucitron.fallback(['vimeo_player'], function (elem) {
3986            elem.style.width = elem.getAttribute('width') + 'px';
3987            elem.style.height = elem.getAttribute('height') + 'px';
3988            return tarteaucitron.engage(id);
3989        });
3990    }
3991};
3992
3993// visualrevenue
3994tarteaucitron.services.visualrevenue = {
vendor: 4,299 bytes, lines 3995-4124
3995    "key": "visualrevenue",
3996    "type": "analytic",
3997    "name": "VisualRevenue",
3998    "uri": "http://www.outbrain.com/legal/privacy-713/",
3999    "needConsent": true,
4000    "cookies": ['__vrf', '__vrm', '__vrl', '__vry', '__vru', '__vrid', '__vrz'],
4001    "js": function () {
4002        "use strict";
4003        if (tarteaucitron.user.visualrevenueId === undefined) {
4004            return;
4005        }
4006        window._vrq = window._vrq || [];
4007        window._vrq.push(['id', tarteaucitron.user.visualrevenueId]);
4008        window._vrq.push(['automate', true]);
4009        window._vrq.push(['track', function () { }]);
4010        tarteaucitron.addScript('http://a.visualrevenue.com/vrs.js');
4011    }
4012};
4013
4014// verizon dot tag
4015tarteaucitron.services.verizondottag = {
4016    "key": "verizondottag",
4017    "type": "analytic",
4018    "name": "Verizon Dot Tag",
4019    "uri": "https://developer.verizonmedia.com/native/guide/audience-management/dottags/",
4020    "needConsent": true,
4021    "cookies": [],
4022    "js": function () {
4023        "use strict";
4024
4025        window.dotq = window.dotq || [];
4026        window.dotq.push({
4027            'projectId': tarteaucitron.user.verizondottagProjectId,
4028            'properties': { 'pixelId': tarteaucitron.user.verizondottagPixelId }
4029        });
4030
4031        tarteaucitron.addScript('https://s.yimg.com/wi/ytc.js', '', function () {
4032            //const items = window.dotq;
4033            window.dotq = [];
4034            window.dotq.push = function (item) {
4035                YAHOO.ywa.I13N.fireBeacon([item])
4036            };
4037            YAHOO.ywa.I13N.fireBeacon(items)
4038        });
4039    }
4040};
4041
4042// vshop
4043tarteaucitron.services.vshop = {
4044    "key": "vshop",
4045    "type": "ads",
4046    "name": "vShop",
4047    "uri": "http://vshop.fr/privacy-policy",
4048    "needConsent": true,
4049    "cookies": [],
4050    "js": function () {
4051        "use strict";
4052        tarteaucitron.fallback(['vcashW'], '');
4053        tarteaucitron.addScript('//vshop.fr/js/w.js');
4054    },
4055    "fallback": function () {
4056        "use strict";
4057        var id = 'vshop';
4058        tarteaucitron.fallback(['vcashW'], tarteaucitron.engage(id));
4059    }
4060};
4061
4062// wysistat
4063tarteaucitron.services.wysistat = {
4064    "key": "wysistat",
4065    "type": "analytic",
4066    "name": "Wysistat",
4067    "uri": "http://wysistat.net/contact/",
4068    "needConsent": true,
4069    "cookies": ['Wysistat'],
4070    "js": function () {
4071        "use strict";
4072        if (tarteaucitron.user.wysistat === undefined) {
4073            return;
4074        }
4075        tarteaucitron.addScript('//www.wysistat.com/statistique.js', '', function () {
4076            window.stat(tarteaucitron.user.wysistat.cli, tarteaucitron.user.wysistat.frm, tarteaucitron.user.wysistat.prm, tarteaucitron.user.wysistat.ce, tarteaucitron.user.wysistat.page, tarteaucitron.user.wysistat.roi, tarteaucitron.user.wysistat.prof, tarteaucitron.user.wysistat.cpt);
4077        });
4078    }
4079};
4080
4081// xiti
4082tarteaucitron.services.xiti = {
4083    "key": "xiti",
4084    "type": "analytic",
4085    "name": "Xiti",
4086    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
4087    "needConsent": true,
4088    "cookies": [],
4089    "js": function () {
4090        "use strict";
4091        if (tarteaucitron.user.xitiId === undefined) {
4092            return;
4093        }
4094        var Xt_param = 's=' + tarteaucitron.user.xitiId + '&p=',
4095            Xt_r,
4096            Xt_h,
4097            Xt_i,
4098            Xt_s,
4099            div = document.createElement('div');
4100        try {
4101            Xt_r = top.document.referrer;
4102        } catch (e) {
4103            Xt_r = document.referrer;
4104        }
4105        Xt_h = new Date();
4106        Xt_i = '<img style="display:none" border="0" alt="" ';
4107        Xt_i += 'src="http://logv3.xiti.com/hit.xiti?' + Xt_param;
4108        Xt_i += '&hl=' + Xt_h.getHours() + 'x' + Xt_h.getMinutes() + 'x' + Xt_h.getSeconds();
4109        if (parseFloat(navigator.appVersion) >= 4) {
4110            Xt_s = screen;
4111            Xt_i += '&r=' + Xt_s.width + 'x' + Xt_s.height + 'x' + Xt_s.pixelDepth + 'x' + Xt_s.colorDepth;
4112        }
4113
4114        div.innerHTML = Xt_i + '&ref=' + Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$') + '" title="Internet Audience">';
4115        document.getElementsByTagName('body')[0].appendChild(div.firstChild);
4116
4117        if (typeof tarteaucitron.user.xitiMore === 'function') {
4118            tarteaucitron.user.xitiMore();
4119        }
4120    }
4121};
4122
4123// AT Internet
4124tarteaucitron.services.atinternet = {
4125    "key": "atinternet",
4126    "type": "analytic",
4127    "name": "AT Internet (privacy by design)",
4128    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
4129    "needConsent": true,
4130    "safeanalytic": false,
4131    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'],
4132    "js": function () {
4133        "use strict";
4134        if (tarteaucitron.user.atLibUrl === undefined) {
4135            return;
4136        }
4137
4138        if (tarteaucitron.user.atinternetAlreadyLoaded !== undefined) {
4139            return;
4140        }
4141
4142        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
4143
4144            window.tag = new ATInternet.Tracker.Tag();
4145
4146            if (typeof window.tag.privacy !== 'undefined') {
4147                window.tag.privacy.setVisitorOptin();
4148            }
4149
4150            if (typeof tarteaucitron.user.atMore === 'function') {
4151                tarteaucitron.user.atMore();
4152            }
4153
4154            if (tarteaucitron.user.atinternetSendData !== false) {
4155                window.tag.page.send();
4156            }
4157        });
4158    },
4159    "fallback": function () {
4160        "use strict";
4161        if (tarteaucitron.user.atLibUrl === undefined) {
4162            return;
4163        }
4164
4165        if (tarteaucitron.user.atNoFallback === true) {
4166            return;
4167        }
4168
4169        tarteaucitron.user.atinternetAlreadyLoaded = true;
4170
4171        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
4172
4173            window.tag = new ATInternet.Tracker.Tag();
4174
4175            if (typeof window.tag.privacy !== 'undefined') {
4176
4177                var visitorMode = window.tag.privacy.getVisitorMode();
4178                if (visitorMode !== null && visitorMode.name !== undefined && visitorMode.name == "optout") {
4179                    window.tag.privacy.setVisitorOptout();
4180                } else {
4181                    window.tag.privacy.setVisitorMode('cnil', 'exempt');
4182                }
4183            }
4184
4185            if (typeof tarteaucitron.user.atMore === 'function') {
4186                tarteaucitron.user.atMore();
4187            }
4188
4189            if (tarteaucitron.user.atinternetSendData !== false) {
4190                window.tag.page.send();
4191            }
4192        });
4193    }
4194};
4195
4196// AT Internet
4197tarteaucitron.services.atinternethightrack = {
4198    "key": "atinternethightrack",
4199    "type": "analytic",
4200    "name": "AT Internet",
4201    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
4202    "needConsent": true,
4203    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'],
4204    "js": function () {
4205        "use strict";
4206        if (tarteaucitron.user.atLibUrl === undefined) {
4207            return;
4208        }
4209
4210        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
4211
4212            var tag = new ATInternet.Tracker.Tag();
4213
4214            if (typeof tarteaucitron.user.atMore === 'function') {
4215                tarteaucitron.user.atMore();
4216            }
4217        })
4218    }
4219};
4220
4221// youtube
4222tarteaucitron.services.youtube = {
4223    "key": "youtube",
4224    "type": "video",
4225    "name": "YouTube",
4226    "uri": "https://policies.google.com/privacy",
4227    "needConsent": true,
4228    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'],
4229    "js": function () {
4230        "use strict";
4231        tarteaucitron.fallback(['youtube_player'], function (x) {
4232            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Youtube iframe'),
4233                video_id = tarteaucitron.getElemAttr(x, "videoID"),
4234                srcdoc = tarteaucitron.getElemAttr(x, "srcdoc"),
4235                loading = tarteaucitron.getElemAttr(x, "loading"),
4236                video_width = tarteaucitron.getElemAttr(x, "width"),
4237                frame_width = 'width=',
4238                video_height = tarteaucitron.getElemAttr(x, "height"),
4239                frame_height = 'height=',
4240                video_frame,
4241                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
4242                attrs = ["theme", "rel", "controls", "showinfo", "autoplay", "mute", "start", "loop", "enablejsapi"],
4243                params = attrs.filter(function (a) {
4244                    return tarteaucitron.getElemAttr(x, a) !== null;
4245                }).map(function (a) {
4246                    return a + "=" + tarteaucitron.getElemAttr(x, a);
4247                }).join("&");
4248
4249            if(tarteaucitron.getElemAttr(x, "loop") == 1) {
4250                params = params + "&playlist=" + video_id;
4251            }
4252
4253            if (video_id === undefined) {
4254                return "";
4255            }
4256            if (video_width !== undefined) {
4257                frame_width += '"' + video_width + '" ';
4258            } else {
4259                frame_width += '"" ';
4260            }
4261            if (video_height !== undefined) {
4262                frame_height += '"' + video_height + '" ';
4263            } else {
4264                frame_height += '"" ';
4265            }
4266
4267            if (srcdoc !== undefined && srcdoc !== null && srcdoc !== "") {
4268                srcdoc = 'srcdoc="' + srcdoc + '" ';
4269            } else {
4270                srcdoc = '';
4271            }
4272
4273            if (loading !== undefined && loading !== null && loading !== "") {
4274                loading = 'loading ';
4275            } else {
4276                loading = '';
4277            }
4278
4279            video_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/' + video_id + '?' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + ' ' + srcdoc + ' ' + loading + '></iframe>';
4280            return video_frame;
4281        });
4282    },
4283    "fallback": function () {
4284        "use strict";
4285        var id = 'youtube';
4286        tarteaucitron.fallback(['youtube_player'], function (elem) {
4287            elem.style.width = tarteaucitron.getElemAttr(elem,'width') + 'px';
4288            elem.style.height = tarteaucitron.getElemAttr(elem,'height') + 'px';
4289            return tarteaucitron.engage(id);
4290        });
4291    }
4292};
4293
4294// youtube playlist
4295tarteaucitron.services.youtubeplaylist = {
4296    "key": "youtubeplaylist",
4297    "type": "video",
4298    "name": "YouTube (playlist)",
4299    "uri": "https://policies.google.com/privacy",
4300    "needConsent": true,
4301    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'],
4302    "js": function () {
4303        "use strict";
4304        tarteaucitron.fallback(['youtube_playlist_player'], function (x) {
4305            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Youtube iframe'),
4306                playlist_id = tarteaucitron.getElemAttr(x, "playlistID"),
4307                video_width = tarteaucitron.getElemAttr(x, "width"),
4308                frame_width = 'width=',
4309                video_height = tarteaucitron.getElemAttr(x, "height"),
4310                frame_height = 'height=',
4311                video_frame,
4312                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
4313                params = 'theme=' + tarteaucitron.getElemAttr(x, "theme") + '&rel=' + tarteaucitron.getElemAttr(x, "rel") + '&controls=' + tarteaucitron.getElemAttr(x, "controls") + '&showinfo=' + tarteaucitron.getElemAttr(x, "showinfo") + '&autoplay=' + tarteaucitron.getElemAttr(x, "autoplay") + '&mute=' + tarteaucitron.getElemAttr(x, "mute");
4314
4315            if (playlist_id === undefined) {
4316                return "";
4317            }
4318            if (video_width !== undefined) {
4319                frame_width += '"' + video_width + '" ';
4320            } else {
4321                frame_width += '"" ';
4322            }
4323            if (video_height !== undefined) {
4324                frame_height += '"' + video_height + '" ';
4325            } else {
4326                frame_height += '"" ';
4327            }
4328            video_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/videoseries?list=' + playlist_id + '&' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
4329            return video_frame;
4330        });
4331    },
4332    "fallback": function () {
4333        "use strict";
4334        var id = 'youtubeplaylist';
4335        tarteaucitron.fallback(['youtube_playlist_player'], function (elem) {
4336            elem.style.width = tarteaucitron.getElemAttr(elem,'width') + 'px';
4337            elem.style.height = tarteaucitron.getElemAttr(elem,'height') + 'px';
4338            return tarteaucitron.engage(id);
4339        });
4340    }
4341};
4342
4343// zopim
4344tarteaucitron.services.zopim = {
4345    "key": "zopim",
4346    "type": "support",
4347    "name": "Zopim",
4348    "uri": "https://www.zopim.com/privacy",
4349    "needConsent": true,
4350    "cookies": ['__zlcid', '__zprivacy'],
4351    "js": function () {
4352        "use strict";
4353        if (tarteaucitron.user.zopimID === undefined) {
4354            return;
4355        }
4356        tarteaucitron.addScript('//v2.zopim.com/?' + tarteaucitron.user.zopimID);
4357    }
4358};
4359
4360// kameleoon
4361tarteaucitron.services.kameleoon = {
4362    "key": "kameleoon",
4363    "type": "analytic",
4364    "name": "Kameleoon",
4365    "uri": "https://www.kameleoon.com/fr/compliance/rgpd",
4366    "needConsent": true,
4367    "cookies": [],
4368    "js": function () {
4369        "use strict";
4370        if (tarteaucitron.user.kameleoon !== undefined) {
4371            tarteaucitron.addScript("https://" + tarteaucitron.user.kameleoon + ".kameleoon.eu/kameleoon.js");
4372        }
4373    }
4374};
4375
4376// linkedin insight
4377tarteaucitron.services.linkedininsighttag = {
4378    "key": "linkedininsighttag",
4379    "type": "ads",
4380    "name": "Linkedin Insight",
4381    "uri": "https://www.linkedin.com/legal/cookie_policy",
4382    "needConsent": true,
4383    "cookies": ['li_fat_id'],
4384    "js": function () {
4385        "use strict";
4386        if (tarteaucitron.user.linkedininsighttag !== undefined) {
4387            window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
4388            window._linkedin_data_partner_ids.push(tarteaucitron.user.linkedininsighttag);
4389        }
4390
4391        tarteaucitron.addScript('https://snap.licdn.com/li.lms-analytics/insight.min.js');
4392    }
4393};
4394
4395// xiti smartTag
4396tarteaucitron.services.xiti_smarttag = {
4397    "key": "xiti_smarttag",
4398    "type": "analytic",
4399    "name": "Xiti (SmartTag)",
4400    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
4401    "needConsent": true,
4402    "cookies": ["atidvisitor", "atreman", "atredir", "atsession", "attvtreman", "attvtsession"],
4403    "js": function () {
4404        "use strict";
4405        if (tarteaucitron.user.xiti_smarttagLocalPath !== undefined) {
4406            tarteaucitron.addScript(tarteaucitron.user.xiti_smarttagLocalPath, 'smarttag', null, null, "onload", "addTracker();");
4407        } else {
4408            var xitiSmarttagId = tarteaucitron.user.xiti_smarttagSiteId;
4409            if (xitiSmarttagId === undefined) {
4410                return;
4411            }
4412
4413            tarteaucitron.addScript('//tag.aticdn.net/' + xitiSmarttagId + '/smarttag.js', 'smarttag', null, null, "onload", "addTracker();");
4414        }
4415    }
4416};
4417
4418// facebook pixel
4419tarteaucitron.services.facebookpixel = {
4420    "key": "facebookpixel",
4421    "type": "ads",
4422    "name": "Facebook Pixel",
4423    "uri": "https://www.facebook.com/policy.php",
4424    "needConsent": true,
4425    "cookies": ['datr', 'fr', 'reg_ext_ref', 'reg_fb_gate', 'reg_fb_ref', 'sb', 'wd', 'x-src', '_fbp'],
4426    "js": function () {
4427        "use strict";
4428        var n;
4429        if (window.fbq) return;
4430        n = window.fbq = function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) };
4431        if (!window._fbq) window._fbq = n;
4432        n.push = n;
4433        n.loaded = !0;
4434        n.version = '2.0';
4435        n.queue = [];
4436        tarteaucitron.addScript('https://connect.facebook.net/en_US/fbevents.js');
4437        fbq('init', tarteaucitron.user.facebookpixelId);
4438        fbq('track', 'PageView');
4439
4440        if (typeof tarteaucitron.user.facebookpixelMore === 'function') {
4441            tarteaucitron.user.facebookpixelMore();
4442        }
4443    }
4444};
4445
4446//Issuu
4447tarteaucitron.services.issuu = {
4448    "key": "issuu",
4449    "type": "other",
4450    "name": "Issuu",
4451    "uri": "https://issuu.com/legal/privacy",
4452    "needConsent": true,
4453    "cookies": ['__qca', 'iutk', 'mc'],
4454    "js": function () {
4455        "use strict";
4456        tarteaucitron.fallback(['issuu_player'], function (x) {
4457            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Issuu iframe'),
4458                issuu_id = x.getAttribute("issuuID"),
4459                issuu_width = x.getAttribute("width"),
4460                frame_width = 'width=',
4461                issuu_height = x.getAttribute("height"),
4462                frame_height = 'height=',
4463                issuu_frame,
4464                issuu_embed;
4465
4466            if (issuu_id === undefined) {
4467                return "";
4468            }
4469            if (issuu_width !== undefined) {
4470                frame_width += '"' + issuu_width + '" ';
4471            } else {
4472                frame_width += '"" ';
4473            }
4474            if (issuu_height !== undefined) {
4475                frame_height += '"' + issuu_height + '" ';
4476            } else {
4477                frame_height += '"" ';
4478            }
4479
4480
4481            if (issuu_id.match(/\d+\/\d+/)) { issuu_embed = '#' + issuu_id; } else if (issuu_id.match(/d=(.*)&u=(.*)/)) { issuu_embed = '?' + issuu_id; }
4482
4483
4484            issuu_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//e.issuu.com/embed.html' + issuu_embed + '"></iframe>';
4485
4486            return issuu_frame;
4487        });
4488    },
4489    "fallback": function () {
4490        "use strict";
4491        var id = 'issuu';
4492        tarteaucitron.fallback(['issuu_player'], function (elem) {
4493            elem.style.width = elem.getAttribute('width') + 'px';
4494            elem.style.height = elem.getAttribute('height') + 'px';
4495            return tarteaucitron.engage(id);
4496        });
4497    }
4498};
4499
4500// webmecanik
4501tarteaucitron.services.webmecanik = {
4502    "key": "webmecanik",
4503    "type": "analytic",
4504    "name": "Webmecanik",
4505    "uri": "https://webmecanik.com/tos",
4506    "needConsent": true,
4507    "cookies": ['mtc_id', 'mtc_sid'],
4508    "js": function () {
4509        "use strict";
4510        if (tarteaucitron.user.webmecanikurl === undefined) {
4511            return;
4512        }
4513
4514        window.MauticTrackingObject = 'mt';
4515        window.mt = window.mt || function () {
4516            window.mt.q = window.mt.q || [];
4517            window.mt.q.push(arguments);
4518        };
4519
4520        tarteaucitron.addScript(tarteaucitron.user.webmecanikurl, '', function () {
4521            mt('send', 'pageview');
4522        });
4523    }
4524};
4525
4526// google analytics multiple
4527tarteaucitron.services.multiplegtag = {
4528    "key": "multiplegtag",
4529    "type": "analytic",
4530    "name": "Google Analytics (gtag.js)",
4531    "uri": "https://support.google.com/analytics/answer/6004245",
4532    "needConsent": true,
4533    "cookies": (function () {
4534
4535        var cookies = ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '_gcl_au'];
4536
4537        if (tarteaucitron.user.multiplegtagUa !== undefined) {
4538            tarteaucitron.user.multiplegtagUa.forEach(function (ua) {
4539                cookies.push('_gat_gtag_' + ua.replace(/-/g, '_'));
4540                cookies.push('_ga_' + ua.replace(/G-/g, ''));
4541            });
4542        }
4543
4544        return cookies;
4545    })(),
4546    "js": function () {
4547        "use strict";
4548        window.dataLayer = window.dataLayer || [];
4549
4550        if (tarteaucitron.user.multiplegtagUa !== undefined) {
4551            tarteaucitron.user.multiplegtagUa.forEach(function (ua) {
4552                tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + ua, '', function () {
4553                    window.gtag = function gtag() { dataLayer.push(arguments); }
4554                    gtag('js', new Date());
4555                    var additional_config_info = (timeExpire !== undefined) ? {'anonymize_ip': true, 'cookie_expires': timeExpire / 1000} : {'anonymize_ip': true};
4556                    gtag('config', ua, additional_config_info);
4557                });
4558            });
4559        }
4560    }
4561};
4562
4563// Koban
4564tarteaucitron.services.koban = {
4565    "key": "koban",
4566    "type": "analytic",
4567    "name": "Koban",
4568    "uri": "https://koban.cloud/tos",
4569    "needConsent": true,
4570    "cookies": ['kbntrk'],
4571    "js": function () {
4572        "use strict";
4573        if (tarteaucitron.user.kobanurl === undefined) {
4574            return;
4575        }
4576        if (tarteaucitron.user.kobanapi === undefined) {
4577            return;
4578        }
4579        window.KobanObject = 'kb';
4580        window.kb = window.kb || function () {
4581            window.kb.q = window.kb.q || [];
4582            window.kb.q.push(arguments);
4583        };
4584        window.kb.l = new Date();
4585        kb('reg', tarteaucitron.user.kobanapi);
4586        tarteaucitron.addScript(tarteaucitron.user.kobanurl, '', function () {
4587        });
4588    }
4589};
4590
4591tarteaucitron.services.matomo = {
4592    "key": "matomo",
4593    "type": "analytic",
4594    "name": "Matomo",
4595    "uri": "https://matomo.org/faq/general/faq_146/",
4596    "needConsent": true,
4597    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
4598    "js": function () {
4599        "use strict";
4600        if (tarteaucitron.user.matomoId === undefined) {
4601            return;
4602        }
4603
4604        var _paq = window._paq = window._paq || [];
4605        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
4606        _paq.push(['trackPageView']);
4607        _paq.push(['enableLinkTracking']);
4608        (function() {
4609            var u = tarteaucitron.user.matomoHost;
4610            _paq.push(['setTrackerUrl', u+'/matomo.php']);
4611            _paq.push(['setSiteId', tarteaucitron.user.matomoId]);
4612            var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
4613            g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s);
4614        })();
4615
4616    }
4617};
4618
4619
4620// DEPRECATED, USE MATOMO CLOUD
4621tarteaucitron.services.matomohightrack = {
4622    "key": "matomohightrack",
4623    "type": "analytic",
4624    "name": "Matomo",
4625    "uri": "https://matomo.org/faq/general/faq_146/",
4626    "needConsent": false,
4627    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
4628    "js": function () {
4629        "use strict";
4630        if (tarteaucitron.user.matomoId === undefined) {
4631            return;
4632        }
4633
4634        window._paq = window._paq || [];
4635        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
4636        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]);
4637        window._paq.push(["trackPageView"]);
4638        window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
4639        window._paq.push(["enableLinkTracking"]);
4640        window._paq.push([function () {
4641            var self = this;
4642        }]);
4643
4644        tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true);
4645
4646        // waiting for piwik to be ready to check first party cookies
4647        var interval = setInterval(function () {
4648            if (typeof Piwik === 'undefined') return
4649
4650            clearInterval(interval)
4651            Piwik.getTracker();
4652
4653            var theCookies = document.cookie.split(';');
4654            for (var i = 1; i <= theCookies.length; i++) {
4655                var cookie = theCookies[i - 1].split('=');
4656                var cookieName = cookie[0].trim();
4657
4658                if (cookieName.indexOf('_pk_') === 0) {
4659                    tarteaucitron.services.matomo.cookies.push(cookieName);
4660                }
4661            }
4662        }, 100)
4663    }
4664};
4665
4666// matomocloud
4667tarteaucitron.services.matomocloud = {
vendor: 5,102 bytes, lines 4668-4797
4668    "key": "matomocloud",
4669    "type": "analytic",
4670    "name": "Matomo Cloud (privacy by design)",
4671    "uri": "https://matomo.org/faq/general/faq_146/",
4672    "needConsent": false,
4673    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'mtm_consent', 'matomo_ignore', 'matomo_sessid'],
4674    "js": function () {
4675        "use strict";
4676        if (tarteaucitron.user.matomoId === undefined) {
4677            return;
4678        }
4679
4680        window._paq = window._paq || [];
4681        window._paq.push(["requireCookieConsent"]);
4682        window._paq.push(["setCookieConsentGiven"]);
4683        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
4684        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "matomo.php"]);
4685        window._paq.push(["trackPageView"]);
4686        window._paq.push(["enableLinkTracking"]);
4687
4688        if (tarteaucitron.user.matomoCustomJSPath === undefined || tarteaucitron.user.matomoCustomJSPath == '') {
4689            tarteaucitron.addScript('https://cdn.matomo.cloud/matomo.js', '', '', true, 'defer', true);
4690        } else {
4691            tarteaucitron.addScript(tarteaucitron.user.matomoCustomJSPath, '', '', true, 'defer', true);
4692        }
4693
4694        // waiting for Matomo to be ready to check first party cookies
4695        var interval = setInterval(function () {
4696            if (typeof Matomo === 'undefined') return
4697
4698            clearInterval(interval)
4699
4700            // make Matomo cookie accessible by getting tracker
4701            Matomo.getTracker();
4702
4703            // looping through cookies
4704            var theCookies = document.cookie.split(';');
4705            for (var i = 1; i <= theCookies.length; i++) {
4706                var cookie = theCookies[i - 1].split('=');
4707                var cookieName = cookie[0].trim();
4708
4709                // if cookie starts like a matomo one, register it
4710                if (cookieName.indexOf('_pk_') === 0) {
4711                    tarteaucitron.services.matomo.cookies.push(cookieName);
4712                }
4713            }
4714        }, 100);
4715    },
4716    "fallback": function () {
4717        "use strict";
4718        if (tarteaucitron.user.matomoId === undefined) {
4719            return;
4720        }
4721
4722        window._paq = window._paq || [];
4723        window._paq.push(["requireCookieConsent"]);
4724        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
4725        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "matomo.php"]);
4726        window._paq.push(["trackPageView"]);
4727        window._paq.push(["enableLinkTracking"]);
4728
4729        if (tarteaucitron.user.matomoCustomJSPath === undefined || tarteaucitron.user.matomoCustomJSPath == '') {
4730            tarteaucitron.addScript('https://cdn.matomo.cloud/matomo.js', '', '', true, 'defer', true);
4731        } else {
4732            tarteaucitron.addScript(tarteaucitron.user.matomoCustomJSPath, '', '', true, 'defer', true);
4733        }
4734    }
4735};
4736
4737// matomotm
4738tarteaucitron.services.matomotm = {
4739    "key": "matomotm",
4740    "type": "api",
4741    "name": "Matomo Tag Manager",
4742    "uri": "https://matomo.org/privacy/",
4743    "needConsent": true,
4744    "cookies": [],
4745    "js": function () {
4746        "use strict";
4747        if (tarteaucitron.user.matomotmUrl === undefined) {
4748            return;
4749        }
4750
4751        var _mtm = window._mtm = window._mtm || [];
4752        _mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
4753
4754        tarteaucitron.addScript(tarteaucitron.user.matomotmUrl);
4755    }
4756};
4757
4758
4759// Hotjar
4760/*
4761   1. Set the following variable before the initialization :
4762    tarteaucitron.user.hotjarId = YOUR_WEBSITE_ID;
4763   tarteaucitron.user.HotjarSv = XXXX; // Can be found in your website tracking code as "hjvs=XXXX"
4764    2. Push the service :
4765    (tarteaucitron.job = tarteaucitron.job || []).push('hotjar');
4766    3. HTML
4767   You don't need to add any html code, if the service is autorized, the javascript is added. otherwise no.
4768 */
4769tarteaucitron.services.hotjar = {
4770    "key": "hotjar",
4771    "type": "analytic",
4772    "name": "Hotjar",
4773    "uri": "https://help.hotjar.com/hc/en-us/categories/115001323967-About-Hotjar",
4774    "needConsent": true,
4775    "cookies": ["hjClosedSurveyInvites", "_hjDonePolls", "_hjMinimizedPolls", "_hjDoneTestersWidgets", "_hjMinimizedTestersWidgets", "_hjDoneSurveys", "_hjIncludedInSample", "_hjShownFeedbackMessage", "_hjAbsoluteSessionInProgress", "_hjIncludeInPageviewSample", "_hjid"],
4776    "js": function () {
4777        "use strict";
4778        if (tarteaucitron.user.hotjarId === undefined || tarteaucitron.user.HotjarSv === undefined) {
4779            return;
4780        }
4781        window.hj = window.hj || function () {
4782            (window.hj.q = window.hj.q || []).push(arguments)
4783        };
4784        window._hjSettings = {
4785            hjid: tarteaucitron.user.hotjarId,
4786            hjsv: tarteaucitron.user.HotjarSv
4787        };
4788        var uri = 'https://static.hotjar.com/c/hotjar-';
4789        var extension = '.js?sv=';
4790        tarteaucitron.addScript(uri + window._hjSettings.hjid + extension + window._hjSettings.hjsv);
4791    }
4792};
4793
4794// bing ads universal event tracking
4795tarteaucitron.services.bingads = {
4796    'key': 'bingads',
4797    'type': 'ads',
4798    'name': 'Bing Ads Universal Event Tracking',
4799    'uri': 'https://advertise.bingads.microsoft.com/en-us/resources/policies/personalized-ads',
4800    'needConsent': true,
4801    'cookies': ['_uetmsclkid', '_uetvid', '_uetsid'],
4802    'js': function () {
4803        'use strict';
4804        //var u = tarteaucitron.user.bingadsTag || 'uetq';
4805        window.uetq = window.uetq || [];
4806
4807        tarteaucitron.addScript('https://bat.bing.com/bat.js', '', function () {
4808            var bingadsCreate = { ti: tarteaucitron.user.bingadsID };
4809
4810            if ('bingadsStoreCookies' in tarteaucitron.user) {
4811                bingadsCreate['storeConvTrackCookies'] = tarteaucitron.user.bingadsStoreCookies;
4812            }
4813
4814            bingadsCreate.q = window.uetq;
4815            window.uetq = new UET(bingadsCreate);
4816            window.uetq.push('pageLoad');
4817
4818            if (typeof tarteaucitron.user.bingadsMore === 'function') {
4819                tarteaucitron.user.bingadsMore();
4820            }
4821        });
4822    }
4823};
4824
4825//Matterport
4826tarteaucitron.services.matterport = {
4827    "key": "matterport",
4828    "type": "other",
4829    "name": "Matterport",
4830    "uri": "https://matterport.com/es/legal/privacy-policy/",
4831    "needConsent": true,
4832    "cookies": ['__cfduid', 'ajs_anonymous_id', 'ajs_group_id', 'ajs_user_id'],
4833    "js": function () {
4834        "use strict";
4835        tarteaucitron.fallback(['matterport'], function (x) {
4836            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Matterport iframe'),
4837                matterport_id = x.getAttribute("matterportID"),
4838                matterport_width = x.getAttribute("width"),
4839                frame_width = 'width=',
4840                matterport_height = x.getAttribute("height"),
4841                frame_height = 'height=',
4842                matterport_parameters = x.getAttribute("parameters"),
4843                matterport_allowfullscreen = x.getAttribute('allowfullscreen'),
4844                matterport_frame;
4845
4846            if (matterport_id === undefined) {
4847                return "";
4848            }
4849            if (matterport_width !== undefined) {
4850                frame_width += '"' + matterport_width + '" ';
4851            } else {
4852                frame_width += '"" ';
4853            }
4854            if (matterport_height !== undefined) {
4855                frame_height += '"' + matterport_height + '" ';
4856            } else {
4857                frame_height += '"" ';
4858            }
4859            if (matterport_parameters === undefined) {
4860                return "";
4861            }
4862
4863            matterport_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="https://my.matterport.com/show/?m=' + matterport_id + '&utm_source=hit-content' + matterport_parameters + '"' + (matterport_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
4864            return matterport_frame;
4865        });
4866    },
4867    "fallback": function () {
4868        "use strict";
4869        var id = 'matterport';
4870        tarteaucitron.fallback(['matterport'], function (elem) {
4871            elem.style.width = elem.getAttribute('width') + 'px';
4872            elem.style.height = elem.getAttribute('height') + 'px';
4873            return tarteaucitron.engage(id);
4874        });
4875    }
4876};
4877
4878// Adform
4879tarteaucitron.services.adform = {
4880    "key": "adform",
4881    "type": "ads",
4882    "name": "Adform",
4883    "uri": "https://site.adform.com/privacy-center/overview/",
4884    "needConsent": true,
4885    "cookies": [],
4886    "js": function () {
4887        "use strict";
4888
4889        if (tarteaucitron.user.adformpm === undefined || tarteaucitron.user.adformpagename === undefined) {
4890            return;
4891        }
4892
4893        window._adftrack = {
4894            pm: tarteaucitron.user.adformpm,
4895            divider: encodeURIComponent('|'),
4896            pagename: encodeURIComponent(tarteaucitron.user.adformpagename)
4897        };
4898
4899        tarteaucitron.addScript("https://track.adform.net/serving/scripts/trackpoint/async/");
4900    }
4901};
4902
4903// Active Campaign
4904tarteaucitron.services.activecampaign = {
4905    "key": "activecampaign",
4906    "type": "ads",
4907    "name": "Active Campaign",
4908    "uri": "https://www.activecampaign.com/privacy-policy/",
4909    "needConsent": true,
4910    "cookies": [],
4911    "js": function () {
4912        "use strict";
4913        if (tarteaucitron.user.actid === undefined) {
4914            return;
4915        }
4916
4917        window.trackcmp_email = '';
4918
4919        tarteaucitron.addScript('https://trackcmp.net/visit?actid=' + tarteaucitron.user.actid + '&e=' + encodeURIComponent(trackcmp_email) + '&r=' + encodeURIComponent(document.referrer) + '&u=' + encodeURIComponent(window.location.href));
4920    }
4921};
4922
4923// tawk.to
4924tarteaucitron.services.tawkto = {
4925    "key": "tawkto",
4926    "type": "support",
4927    "name": "Tawk.to chat",
4928    "uri": "https://www.tawk.to/data-protection/",
4929    "needConsent": true,
4930    "cookies": [],
4931    "js": function () {
4932        "use strict";
4933        if (tarteaucitron.user.tawktoId === undefined) {
4934            return;
4935        }
4936
4937        tarteaucitron.user.tawktoWidgetId = tarteaucitron.user.tawktoWidgetId || 'default';
4938
4939        window.Tawk_API = window.Tawk_API || {};
4940        window.Tawk_LoadStart = new Date();
4941
4942        tarteaucitron.addScript('https://embed.tawk.to/' + tarteaucitron.user.tawktoId + '/' + tarteaucitron.user.tawktoWidgetId);
4943    }
4944
4945};
4946
4947// getquanty
4948tarteaucitron.services.getquanty = {
4949    "key": "getquanty",
4950    "type": "analytic",
4951    "name": "GetQuanty",
4952    "uri": "https://www.getquanty.com/mentions-legales/",
4953    "needConsent": true,
4954    "cookies": ['_first_pageview', 'eqy_sessionid', 'eqy_siteid', 'cluid', 'eqy_company', 'cluid', 'gq_utm', '_jsuid'],
4955    "js": function () {
4956        "use strict";
4957        if (tarteaucitron.user.getguanty === undefined) {
4958            return;
4959        }
4960
4961        if (tarteaucitron.user.getquantyAlreadyLoaded !== undefined) {
4962            return;
4963        }
4964
4965        tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '&consent=1');
4966    },
4967    "fallback": function () {
4968        "use strict";
4969        if (tarteaucitron.user.getguanty === undefined) {
4970            return;
4971        }
4972
4973        tarteaucitron.user.getquantyAlreadyLoaded = true;
4974
4975        tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '&notrack=1');
4976    }
4977};
4978
4979// emolytics
4980tarteaucitron.services.emolytics = {
4981    "key": "emolytics",
4982    "type": "analytic",
4983    "name": "Emolytics",
4984    "uri": "https://www.emolytics.com/main/privacy-policy.php",
4985    "needConsent": true,
4986    "cookies": ['__hssc', '__hssrc', '__hstc', '_ga', '_gid', 'hubspotutk', 'lang', 'incap_ses_', 'nlbi_', 'visid_incap_'],
4987    "js": function () {
4988        "use strict";
4989        if (tarteaucitron.user.emolyticsID === undefined) {
4990            return;
4991        }
4992        var scriptEmolytics = document.createElement('script');
4993        scriptEmolytics.text = 'var getsmily_id="' + tarteaucitron.user.emolyticsID + '";';
4994        document.getElementsByTagName('body')[0].appendChild(scriptEmolytics);
4995        tarteaucitron.addScript('https://cdn.emolytics.com/script/emolytics-widget.js')
4996    }
4997};
4998
4999// youtubeapi
5000tarteaucitron.services.youtubeapi = {
5001    "key": "youtubeapi",
5002    "type": "video",
5003    "name": "Youtube (Js API)",
5004    "uri": "https://policies.google.com/privacy",
5005    "needConsent": true,
5006    "cookies": [],
5007    "js": function () {
5008        "use strict";
5009        tarteaucitron.addScript('https://www.youtube.com/player_api');
5010    }
5011};
5012
5013// Facil'ITI
5014tarteaucitron.services.faciliti = {
5015    "key": "faciliti",
5016    "type": "other",
5017    "name": "Facil'ITI",
5018    "uri": "https://ws.facil-iti.com/mentions-legales.html",
5019    "needConsent": true,
5020    "cookies": ['FACIL_ITI_LS'],
5021    "js": function () {
5022        "use strict";
5023        if (tarteaucitron.user.facilitiID === undefined) {
5024            return;
5025        }
5026
5027        (function (w, d, s, f) {
5028            w[f] = w[f] || { conf: function () { (w[f].data = w[f].data || []).push(arguments); } };
5029            var l = d.createElement(s), e = d.getElementsByTagName(s)[0];
5030            l.async = 1; l.src = 'https://ws.facil-iti.com/tag/faciliti-tag.min.js'; e.parentNode.insertBefore(l, e);
5031        }(window, document, 'script', 'FACIL_ITI'));
5032        FACIL_ITI.conf('userId', tarteaucitron.user.facilitiID);
5033    }
5034};
5035
5036// userlike
5037tarteaucitron.services.userlike = {
5038    "key": "userlike",
5039    "type": "support",
5040    "name": "Userlike",
5041    "uri": "https://www.userlike.com/en/terms#privacy-policy",
5042    "needConsent": true,
5043    "cookies": ['uslk_s', 'uslk_e'],
5044    "js": function () {
5045        "use strict";
5046        if (tarteaucitron.user.userlikeKey === undefined) {
5047            return;
5048        }
5049        tarteaucitron.addScript('//userlike-cdn-widgets.s3-eu-west-1.amazonaws.com/' + tarteaucitron.user.userlikeKey);
5050    }
5051};
5052
5053// adobeanalytics
5054tarteaucitron.services.adobeanalytics = {
vendor: 4,699 bytes, lines 5055-5171
5055    "key": "adobeanalytics",
5056    "type": "analytic",
5057    "name": "Adobe Analytics",
5058    "uri": "https://www.adobe.com/privacy/policy.html",
5059    "needConsent": true,
5060    "cookies": ['s_ecid', 's_cc', 's_sq', 's_vi', 's_fid'],
5061    "js": function () {
5062        "use strict";
5063        if (tarteaucitron.user.adobeanalyticskey === undefined) {
5064            return;
5065        }
5066        tarteaucitron.addScript('//assets.adobedtm.com/launch-' + tarteaucitron.user.adobeanalyticskey + '.min.js');
5067    }
5068};
5069
5070// woopra customer journey analytics
5071tarteaucitron.services.woopra = {
5072    'key': 'woopra',
5073    'type': 'analytic',
5074    'name': 'Woopra Customer Journey Analytics',
5075    'uri': 'https://www.woopra.com/privacy',
5076    'needConsent': true,
5077    'cookies': ['wooTracker', 'intercom-session-erbfalba', 'intercom-id-erbfalba'],
5078    'js': function () {
5079        'use strict';
5080        //var w = tarteaucitron.user.woopraDomain;
5081        //window[w] = window[w] || [];
5082
5083        (function () {
5084            var t, i, e, n = window, o = document, a = arguments, s = "script", r = ["config", "track", "identify", "visit", "push", "call", "trackForm", "trackClick"], c = function () { var t, i = this; for (i._e = [], t = 0; r.length > t; t++)(function (t) { i[t] = function () { return i._e.push([t].concat(Array.prototype.slice.call(arguments, 0))), i } })(r[t]) }; for (n._w = n._w || {}, t = 0; a.length > t; t++)n._w[a[t]] = n[a[t]] = n[a[t]] || new c; i = o.createElement(s), i.async = 1, i.src = "//static.woopra.com/js/w.js", e = o.getElementsByTagName(s)[0], e.parentNode.insertBefore(i, e)
5085        })("woopra");
5086
5087        woopra.config({
5088            domain: tarteaucitron.user.woopraDomain
5089        });
5090        woopra.track();
5091    }
5092};
5093
5094// ausha
5095tarteaucitron.services.ausha = {
5096    key: "ausha",
5097    type: "video",
5098    name: "Ausha",
5099    uri: "https://www.ausha.co/protection-personal-data/",
5100    needConsent: true,
5101    cookies: [],
5102    js: function () {
5103        "use strict";
5104        tarteaucitron.fallback(['ausha_player'], function (x) {
5105            var player_height = x.getAttribute('data-height'),
5106                podcast_id = x.getAttribute('data-podcast-id'),
5107                player_id = x.getAttribute('data-player-id'),
5108                playlist = x.getAttribute('data-playlist'),
5109                useshowid = x.getAttribute('data-useshowid'),
5110                color = x.getAttribute('data-color');
5111
5112            if (podcast_id === undefined) {
5113                return "";
5114            }
5115
5116            var src = 'https://player.ausha.co/index.html?podcastId=' + podcast_id + '&v=3';
5117
5118            if (useshowid == "1") {
5119                src = 'https://player.ausha.co/index.html?showId=' + podcast_id + '&v=3';
5120            }
5121
5122            if (playlist && playlist.length > 0) src += '&playlist=' + playlist;
5123            if (color && color.length > 0) src += '&color=' + color.replace('#', '%23');
5124            if (player_id && player_id.length > 0) src += '&playerId=' + player_id;
5125
5126            return '<iframe id="' + player_id + '" loading="lazy" width="100%" height="' + player_height + '" scrolling="no" frameborder="no" src="' + src + '"></iframe>';
5127        });
5128
5129        tarteaucitron.addScript('//player.ausha.co/ausha-player.js', 'ausha-player');
5130    },
5131    fallback: function () {
5132        "use strict";
5133        tarteaucitron.fallback(['ausha_player'], function (elem) {
5134            elem.style.height = elem.getAttribute('data-height') + 'px';
5135            return tarteaucitron.engage('ausha');
5136        });
5137    }
5138};
5139
5140// visiblee
5141tarteaucitron.services.visiblee = {
5142    key: "visiblee",
5143    type: "analytic",
5144    name: "Visiblee",
5145    uri: "http://confidentiality.visiblee.io/fr/confidentialite",
5146    needConsent: true,
5147    cookies: ["visitor_v2", tarteaucitron.user.visibleedomain, "check", "campaign_ref_" + tarteaucitron.user.visibleedomain, "reload_" + tarteaucitron.user.visibleedomain],
5148    js: function () {
5149        "use strict";
5150
5151        if (tarteaucitron.user.visibleeclientid === undefined) {
5152            return;
5153        }
5154        tarteaucitron.addScript('//www.link-page.info/tracking_' + tarteaucitron.user.visibleeclientid + '.js', 'visiblee');
5155    }
5156};
5157
5158// bandcamp
5159tarteaucitron.services.bandcamp = {
5160    key: "bandcamp",
5161    type: "video",
5162    name: "Bandcamp",
5163    uri: "https://bandcamp.com",
5164    readmoreLink: "https://bandcamp.com/privacy",
5165    needConsent: true,
5166    cookies: ['client_id', 'BACKENDID', '_comm_playlist'],
5167    js: function () {
5168        "use strict";
5169        tarteaucitron.fallback(['bandcamp_player'], function (x) {
5170            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Bandcamp iframe'),
5171                album_id = x.getAttribute("albumID"),
5172                bandcamp_width = x.getAttribute("width"),
5173                frame_width = 'width=',
5174                bandcamp_height = x.getAttribute("height"),
5175                frame_height = 'height=',
5176                attrs = ["size", "bgcol", "linkcol", "artwork", "minimal", "tracklist", "package", "transparent"],
5177                params = attrs.filter(function (a) {
5178                    return x.getAttribute(a) !== null;
5179                }).map(function (a) {
5180                    if (a && a.length > 0) return a + "=" + x.getAttribute(a);
5181                }).join("/");
5182
5183            if (album_id === null) {
5184                return "";
5185            }
5186
5187            if (bandcamp_width !== null || bandcamp_width !== "") {
5188                frame_width += '"' + bandcamp_width + '" ';
5189            } else {
5190                frame_width += '"" ';
5191            }
5192            if (bandcamp_height !== null || bandcamp_height !== "") {
5193                frame_height += '"' + bandcamp_height + '" ';
5194            } else {
5195                frame_height += '"" ';
5196            }
5197
5198            var src = 'https://bandcamp.com/EmbeddedPlayer/album=' + album_id + '/' + params;
5199
5200            return '<iframe title="' + frame_title + '"' + frame_width + frame_height + 'src="' + src + '" frameborder="0" allowfullscreen seamless></iframe>';
5201        });
5202    },
5203    fallback: function () {
5204        "use strict";
5205        tarteaucitron.fallback(['bandcamp_player'], function (elem) {
5206            elem.style.width = elem.getAttribute('width');
5207            elem.style.height = elem.getAttribute('height');
5208            return tarteaucitron.engage('bandcamp');
5209        });
5210    }
5211};
5212
5213// Discord Widget
5214tarteaucitron.services.discord = {
5215    "key": "discord",
5216    "type": "social",
5217    "name": "Discord (Server Widget)",
5218    "needConsent": true,
5219    "cookies": ["__cfruid", "__dcfduid", "_ga", "_gcl_au", "OptanonConsent", "locale", "_gid"],
5220    "uri": "https://discord.com/privacy",
5221    "js": function () {
5222        "use strict";
5223        tarteaucitron.fallback(['discord_widget'], function (x) {
5224            var id = x.getAttribute("guildID"),
5225                width = x.getAttribute("width"),
5226                height = x.getAttribute("height")
5227            var widgetURL = "https://discord.com/widget?id=" + id;
5228            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"" + widgetURL + "\"></iframe>";
5229        });
5230    },
5231    "fallback": function () {
5232        "use strict";
5233        var id = 'discord';
5234        tarteaucitron.fallback(['discord_widget'], function (elem) {
5235            elem.style.width = elem.getAttribute('width') + 'px';
5236            elem.style.height = elem.getAttribute('height') + 'px';
5237            return tarteaucitron.engage(id);
5238        });
5239    }
5240};
5241
5242// Google Maps
5243tarteaucitron.services.maps_noapi = {
5244    "key": "maps_noapi",
5245    "type": "other",
5246    "name": "Google Maps",
5247    "needConsent": true,
5248    "cookies": ["NID", "OGPC", "1P_JAR", "CONSENT"],
5249    "uri": "https://policies.google.com/privacy",
5250    "js": function () {
5251        "use strict";
5252        tarteaucitron.fallback(['googlemaps_embed'], function (x) {
5253            var id = x.getAttribute("id"),
5254                width = x.getAttribute("width"),
5255                height = x.getAttribute("height")
5256            var widgetURL = "https://www.google.com/maps/embed?pb=" + id;
5257            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"" + widgetURL + "\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\"></iframe>";
5258        });
5259    },
5260    "fallback": function () {
5261        "use strict";
5262        var id = 'maps_noapi';
5263        tarteaucitron.fallback(['googlemaps_embed'], function (elem) {
5264            elem.style.width = elem.getAttribute('width') + 'px';
5265            elem.style.height = elem.getAttribute('height') + 'px';
5266            return tarteaucitron.engage(id);
5267        });
5268    }
5269};
5270
5271// hCaptcha
5272tarteaucitron.services.hcaptcha = {
5273    "key": "hcaptcha",
5274    "type": "other",
5275    "name": "hCaptcha",
5276    "needConsent": true,
5277    "cookies": [],
5278    "uri": "https://www.hcaptcha.com/privacy",
5279    "js": function () {
5280        "use strict";
5281        tarteaucitron.fallback(["h-captcha"], '');
5282        tarteaucitron.addScript("https://hcaptcha.com/1/api.js", "hcaptcha")
5283    },
5284    "fallback": function () {
5285        "use strict";
5286        var id = "hcaptcha";
5287        tarteaucitron.fallback(["h-captcha"], tarteaucitron.engage(id));
5288    }
5289};
5290
5291// France Culture
5292tarteaucitron.services.fculture = {
5293    "key": "fculture",
5294    "type": "video",
5295    "name": "France Culture",
5296    "needConsent": true,
5297    "cookies": ["_gid", "didomi_token", "outbrain_cid_fetch", "xtvrn", "xtant", "YSC", "ABTasty", "xtan", "ABTastySession", "xtidc", "_ga", "VISITOR_INFO1_LIVE", "euconsent-v2", "v1st", "dmvk", "ts", "VISITOR_INFO1_LIVE", "YSC"],
5298    "uri": "https://www.radiofrance.com/politique-d-utilisation-des-cookies-sur-les-sites-internet-du-groupe-radio-france",
5299    "js": function () {
5300        "use strict";
5301        tarteaucitron.fallback(['fculture_embed'], function (x) {
5302            var id = x.getAttribute('id'),
5303                width = x.getAttribute('width'),
5304                height = x.getAttribute('height');
5305            return "<iframe src=\"https://www.franceculture.fr/player/export-reecouter?content=" + id + "\" height=\"" + height + "\" width=\"" + width + "\"></iframe>"
5306        });
5307    },
5308    "fallback": function () {
5309        "use strict";
5310        var id = "fculture";
5311        tarteaucitron.fallback(["fculture_embed"], tarteaucitron.engage(id));
5312    }
5313};
5314
5315// Acast
5316tarteaucitron.services.acast = {
5317    "key": "acast",
5318    "type": "video",
5319    "name": "Acast",
5320    "needConsent": true,
5321    "cookies": ["intercom-id-ayi0335i", "intercom-session-ayi0335i"],
5322    "uri": "https://www.acast.com/en/privacy",
5323    "js": function () {
5324        "use strict";
5325        tarteaucitron.fallback(['acast_embed'], function (x) {
5326            var id = x.getAttribute('id1'),
5327                id2 = x.getAttribute('id2'),
5328                width = x.getAttribute('width'),
5329                height = x.getAttribute('height'),
5330                seek = x.getAttribute('seek');
5331            var widgetURL = "https://embed.acast.com/" + id + "/" + id2 + "?seek=" + seek;
5332            return "<iframe title=\"Embed Player\" width=\"" + width + "\" height=\"" + height + "\" src=\"" + widgetURL + "\" scrolling=\"no\" frameBorder=\"0\" style=\"border: none; overflow: hidden;\"></iframe>";
5333        });
5334    },
5335    "fallback": function () {
5336        "use strict";
5337        var id = "acast";
5338        tarteaucitron.fallback(["acast_embed"], tarteaucitron.engage(id));
5339    }
5340};
5341
5342// Mixcloud
5343tarteaucitron.services.mixcloud = {
5344    "key": "mixcloud",
5345    "type": "video",
5346    "name": "Mixcloud",
5347    "needConsent": true,
5348    "cookies": ["UID", "_gat", "__stripe_mid", "_gid", "_ga", "c", "csrftoken", "__stripe_sid", "mx_t"],
5349    "uri": "https://www.mixcloud.com/privacy/",
5350    "js": function () {
5351        "use strict";
5352        tarteaucitron.fallback(['mixcloud_embed'], function (x) {
5353            var id = x.getAttribute('id'),
5354                hidecover = x.getAttribute('hidecover'),
5355                mini = x.getAttribute('mini'),
5356                light = x.getAttribute('light'),
5357                width = x.getAttribute('width'),
5358                height = x.getAttribute('height');
5359            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://www.mixcloud.com/widget/iframe/?hide_cover=" + hidecover + "&mini=" + mini + "&light=" + light + "&feed=" + id + "\" frameborder=\"0\" ></iframe>";
5360        });
5361    },
5362    "fallback": function () {
5363        "use strict";
5364        var id = "mixcloud";
5365        tarteaucitron.fallback(["mixcloud_embed"], tarteaucitron.engage(id));
5366    }
5367};
5368
5369// Google Agenda
5370tarteaucitron.services.gagenda = {
5371    "key": "gagenda",
5372    "type": "other",
5373    "name": "Google Agenda",
5374    "needConsent": true,
5375    "cookies": ["CONSENT", "NID"],
5376    "uri": "https://policies.google.com/privacy",
5377    "js": function () {
5378        "use strict";
5379        tarteaucitron.fallback(['gagenda_embed'], function (x) {
5380            var calendar_data = x.getAttribute('data'),
5381                width = x.getAttribute('width'),
5382                height = x.getAttribute('height');
5383            return "<iframe loarding=\"lazy\" width=\"" + width + "\" height=\"" + height + "\" src=\"https://www.google.com/calendar/embed?" + calendar_data + "\" frameborder=\"0\" scrolling=\"no\" style=\"border-width:0\"></iframe>";
5384        });
5385    },
5386    "fallback": function () {
5387        "use strict";
5388        var id = "gagenda";
5389        tarteaucitron.fallback(["gagenda_embed"], tarteaucitron.engage(id));
5390    }
5391};
5392
5393// Google Docs
5394tarteaucitron.services.gdocs = {
vendor: 4,303 bytes, lines 5395-5513
5395    "key": "gdocs",
5396    "type": "other",
5397    "name": "Google Docs",
5398    "needConsent": true,
5399    "cookies": ["CONSENT", "NID"],
5400    "uri": "https://policies.google.com/privacy",
5401    "js": function () {
5402        "use strict";
5403        tarteaucitron.fallback(['gdocs_embed'], function (x) {
5404            var id = x.getAttribute('id'),
5405                width = x.getAttribute('width'),
5406                height = x.getAttribute('height');
5407            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/document/d/e/" + id + "/pub?embedded=true\"></iframe>";
5408        });
5409    },
5410    "fallback": function () {
5411        "use strict";
5412        var id = "gdocs";
5413        tarteaucitron.fallback(["gdocs_embed"], tarteaucitron.engage(id));
5414    }
5415};
5416
5417// Google Sheets
5418tarteaucitron.services.gsheets = {
5419    "key": "gsheets",
5420    "type": "other",
5421    "name": "Google Sheets",
5422    "needConsent": true,
5423    "cookies": ["CONSENT", "NID"],
5424    "uri": "https://policies.google.com/privacy",
5425    "js": function () {
5426        "use strict";
5427        tarteaucitron.fallback(['gsheets_embed'], function (x) {
5428            var id = x.getAttribute('id'),
5429                width = x.getAttribute('width'),
5430                height = x.getAttribute('height'),
5431                headers = x.getAttribute('headers');
5432            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/spreadsheets/d/e/" + id + "/pubhtml?widget=true&amp;headers=" + headers + "\"></iframe>";
5433        });
5434    },
5435    "fallback": function () {
5436        "use strict";
5437        var id = "gsheets";
5438        tarteaucitron.fallback(["gsheets_embed"], tarteaucitron.engage(id));
5439    }
5440};
5441
5442// Google Slides
5443tarteaucitron.services.gslides = {
5444    "key": "gslides",
5445    "type": "other",
5446    "name": "Google Slides",
5447    "needConsent": true,
5448    "cookies": ["CONSENT", "NID"],
5449    "uri": "https://policies.google.com/privacy",
5450    "js": function () {
5451        "use strict";
5452        tarteaucitron.fallback(['gslides_embed'], function (x) {
5453            var id = x.getAttribute('id'),
5454                width = x.getAttribute('width'),
5455                height = x.getAttribute('height'),
5456                autostart = x.getAttribute('autostart'),
5457                loop = x.getAttribute('loop'),
5458                delay = x.getAttribute('delay');
5459            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/presentation/d/e/" + id + "/embed?start=" + autostart + "&loop=" + loop + "&delayms=" + delay + "\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"></iframe>";
5460        });
5461    },
5462    "fallback": function () {
5463        "use strict";
5464        var id = "gslides";
5465        tarteaucitron.fallback(["gslides_embed"], tarteaucitron.engage(id));
5466    }
5467};
5468
5469// Google Forms
5470tarteaucitron.services.gforms = {
5471    "key": "gforms",
5472    "type": "other",
5473    "name": "Google Forms",
5474    "needConsent": true,
5475    "cookies": ["CONSENT", "NID"],
5476    "uri": "https://policies.google.com/privacy",
5477    "js": function () {
5478        "use strict";
5479        tarteaucitron.fallback(['gforms_embed'], function (x) {
5480            var id = x.getAttribute('id'),
5481                width = x.getAttribute('width'),
5482                height = x.getAttribute('height');
5483            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/forms/d/e/" + id + "/viewform?embedded=true\" frameborder=\"0\" marginheight=\"0\" marginwidth=\"0\"></iframe>";
5484        });
5485    },
5486    "fallback": function () {
5487        "use strict";
5488        var id = "gforms";
5489        tarteaucitron.fallback(['gforms_embed'], tarteaucitron.engage(id));
5490    }
5491};
5492
5493// Google Optimize
5494tarteaucitron.services.goptimize = {
5495    "key": "goptimize",
5496    "type": "other",
5497    "name": "Google Optimize",
5498    "needConsent": true,
5499    "cookies": ["CONSENT", "NID"],
5500    "uri": "https://policies.google.com/privacy",
5501    "js": function () {
5502        "use strict";
5503
5504        if (tarteaucitron.user.goptimize === undefined) {
5505            return;
5506        }
5507
5508        tarteaucitron.addScript('https://www.googleoptimize.com/optimize.js?id=' + tarteaucitron.user.goptimize);
5509    }
5510};
5511
5512// Marketo munchkin
5513tarteaucitron.services.marketomunchkin = {
5514    "key": "marketomunchkin",
5515    "type": "api",
5516    "name": "Marketo munchkin",
5517    "uri": "https://documents.marketo.com/legal/cookies",
5518    "needConsent": true,
5519    "cookies": ['OptAnon', '_mkto_trk'],
5520    "js": function () {
5521        "use strict";
5522        if (tarteaucitron.user.marketomunchkinkey === undefined) {
5523            return;
5524        }
5525        var didInit = false;
5526        function initMunchkin() {
5527            if (didInit === false) {
5528                didInit = true;
5529                Munchkin.init(tarteaucitron.user.marketomunchkinkey);
5530            }
5531        }
5532        var s = document.createElement('script');
5533        s.type = 'text/javascript';
5534        s.async = true;
5535        s.src = '//munchkin.marketo.net/munchkin.js';
5536        s.onreadystatechange = function () {
5537            if (this.readyState == 'complete' || this.readyState == 'loaded') {
5538                initMunchkin();
5539            }
5540        };
5541        s.onload = initMunchkin;
5542        document.getElementsByTagName('head')[0].appendChild(s);
5543    }
5544};
5545
5546// outbrain
5547tarteaucitron.services.outbrain = {
5548    "key": "outbrain",
5549    "type": "ads",
5550    "name": "Outbrain",
5551    "uri": "https://www.outbrain.com/fr/advertisers/guidelines/",
5552    "needConsent": true,
5553    "cookies": [],
5554    "js": function () {
5555        "use strict";
5556
5557        tarteaucitron.addScript('https://widgets.outbrain.com/outbrain.js');
5558    }
5559};
5560
5561// affilae
5562tarteaucitron.services.affilae = {
5563    "key": "affilae",
5564    "type": "ads",
5565    "name": "Affilae",
5566    "uri": "https://affilae.com/en/privacy-cookie-policy/",
5567    "needConsent": true,
5568    "cookies": [],
5569    "js": function () {
5570        "use strict";
5571
5572        if (tarteaucitron.user.affilae === undefined) {
5573            return;
5574        }
5575
5576        window._ae = { "pid": tarteaucitron.user.affilae };
5577
5578        tarteaucitron.addScript('https://static.affilae.com/ae-v3.5.js');
5579    }
5580};
5581
5582// Canal-U.tv
5583tarteaucitron.services.canalu = {
5584    "key": "canalu",
5585    "type": "video",
5586    "name": "Canal-U.tv",
5587    "uri": "https://www.canal-u.tv/conditions-generales-utilisations",
5588    "needConsent": true,
5589    "cookies": [],
5590    "js": function () {
5591        "use strict";
5592        tarteaucitron.fallback(['canalu_player'], function (x) {
5593            var video_title = tarteaucitron.fixSelfXSS(x.getAttribute("videoTitle")),
5594                frame_url = 'https://www.canal-u.tv/embed/' + video_title;
5595
5596            return '<div style="position:relative;padding-bottom:56.25%;padding-top:10px;height:0;overflow:hidden;">' +
5597                '<iframe src="' + frame_url + '?width=100%&amp;height=100%" ' +
5598                'style="position:absolute;top:0;left:0;width:100%;height: 100%;" ' +
5599                'frameborder="0" ' +
5600                'allowfullscreen ' +
5601                'scrolling="no">' +
5602                '</iframe>' +
5603                '</div>';
5604        });
5605    },
5606    "fallback": function () {
5607        "use strict";
5608        tarteaucitron.fallback(['canalu_player'], function (elem) {
5609            return tarteaucitron.engage('canalu');
5610        });
5611    }
5612};
5613
5614// WebTV Normandie Université
5615tarteaucitron.services.webtvnu = {
5616    "key": "webtvnu",
5617    "type": "video",
5618    "name": "WebTV Normandie Université",
5619    "uri": "https://docs.google.com/document/d/1tpVclj4QBoAq1meSZgYrpNECwp7dbmb_IhICY3sTl9c/edit",
5620    "needConsent": true,
5621    "cookies": [],
5622    "js": function () {
5623        "use strict";
5624        tarteaucitron.fallback(['webtvnu_player'], function (x) {
5625            var frame_url = 'https://webtv.normandie-univ.fr/permalink/' + x.getAttribute("videoID") + '/iframe/',
5626                width = x.getAttribute("width"),
5627                height = x.getAttribute("height");
5628
5629            return '<iframe width="' + width + '" height="' + height + '" src="' + frame_url + '" allowfullscreen="allowfullscreen" allow="autoplay"></iframe>';
5630        });
5631    },
5632    "fallback": function () {
5633        "use strict";
5634        tarteaucitron.fallback(['webtvnu_player'], function (elem) {
5635            return tarteaucitron.engage('webtvnu');
5636        });
5637    }
5638};
5639
5640// studizz
5641tarteaucitron.services.studizz = {
5642    "key": "studizz",
5643    "type": "other",
5644    "name": "Studizz Chatbot",
5645    "uri": "https://group.studizz.fr/",
5646    "needConsent": true,
5647    "cookies": [],
5648    "js": function () {
5649        "use strict";
5650
5651        if (tarteaucitron.user.studizzToken === undefined) {
5652            return;
5653        }
5654
5655        tarteaucitron.addScript('https://webchat.studizz.fr/webchat.js?token=' + tarteaucitron.user.studizzToken);
5656    }
5657};
5658
5659// meteofrance
5660tarteaucitron.services.meteofrance = {
5661    "key": "meteofrance",
5662    "type": "api",
5663    "name": "Météo France",
5664    "uri": "https://meteofrance.com/politique-de-confidentialite",
5665    "needConsent": true,
5666    "cookies": [],
5667    "js": function () {
5668        "use strict";
5669        tarteaucitron.fallback(['tac_meteofrance'], function (x) {
5670            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Météo France iframe'),
5671                width = x.getAttribute("width"),
5672                height = x.getAttribute("height"),
5673                insee = x.getAttribute("data-insee"),
5674                allowfullscreen = x.getAttribute("allowfullscreen");
5675
5676            return '<iframe title="' + frame_title + '" src="https://meteofrance.com/widget/prevision/' + insee + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
5677        });
5678    },
5679    "fallback": function () {
5680        "use strict";
5681        var id = 'meteofrance';
5682        tarteaucitron.fallback(['tac_meteofrance'], function (elem) {
5683            elem.style.width = elem.getAttribute('width') + 'px';
5684            elem.style.height = elem.getAttribute('height') + 'px';
5685            return tarteaucitron.engage(id);
5686        });
5687    }
5688};
5689
5690// m6meteo
5691tarteaucitron.services.m6meteo = {
5692    "key": "m6meteo",
5693    "type": "api",
5694    "name": "M6 Météo",
5695    "uri": "https://gdpr.m6tech.net/charte-confidentialite-m6-web-meteocity.pdf",
5696    "needConsent": true,
5697    "cookies": [],
5698    "js": function () {
5699        "use strict";
5700        tarteaucitron.fallback(['tac_m6meteo'], function (x) {
5701            var id = x.getAttribute("data-id");
5702
5703            tarteaucitron.addScript('https://www.meteocity.com/widget/js/'+id);
5704
5705            return '<div id="cont_'+id+'"><div id="spa_'+id+'"><a id="a_'+id+'" href="#"></a> ©<a target="_top" href="https://www.meteocity.com">M6météo</a></div></div>';
5706        });
5707    },
5708    "fallback": function () {
5709        "use strict";
5710        var id = 'm6meteo';
5711        tarteaucitron.fallback(['tac_m6meteo'], function (elem) {
5712
5713            return tarteaucitron.engage(id);
5714        });
5715    }
5716};
5717
5718// mtcaptcha
5719tarteaucitron.services.mtcaptcha = {
5720    "key": "mtcaptcha",
5721    "type": "api",
5722    "name": "MTcaptcha",
5723    "uri": "https://www.mtcaptcha.com",
5724    "readmoreLink": "https://www.mtcaptcha.com/faq-cookie-declaration",
5725    "needConsent": true,
5726    "cookies": ['mtv1Pulse','mtv1ConfSum','mtv1Pong'],
5727
5728    "js": function () {
5729
5730        window.mtcaptchaConfig = {
5731            "sitekey": tarteaucitron.user.mtcaptchaSitekey
5732        };
5733
5734        tarteaucitron.addScript('https://service.mtcaptcha.com/mtcv1/client/mtcaptcha.min.js');
5735        tarteaucitron.addScript('https://service2.mtcaptcha.com/mtcv1/client/mtcaptcha2.min.js');
5736    }
5737};
5738
5739// Internet Archive / https://archive.org
5740tarteaucitron.services.archive = {
5741    "key": "archive",
5742    "type": "video",
5743    "name": "Internet Archive",
5744    "uri": "https://archive.org/about/terms.php",
5745    "needConsent": true,
5746    "cookies": ['abtest-identifier','donation-identifier'],
5747    "js": function () {
5748        "use strict";
5749        tarteaucitron.fallback(['archive_player'], function (x) {
5750            var video_id = tarteaucitron.getElemAttr(x, "data-videoID"),
5751                video_width = tarteaucitron.getElemAttr(x, "data-width"),
5752                frame_width = 'width=',
5753                video_height = tarteaucitron.getElemAttr(x, "data-height"),
5754                frame_height = 'height=',
5755                video_frame;
5756
5757            if (video_id === undefined) {
5758                return "";
5759            }
5760            if (video_width !== undefined) {
5761                frame_width += '"' + video_width + '" ';
5762            } else {
5763                frame_width += '"" ';
5764            }
5765            if (video_height !== undefined) {
5766                frame_height += '"' + video_height + '" ';
5767            } else {
5768                frame_height += '"" ';
5769            }
5770            video_frame = '<iframe src="https://archive.org/embed/' + video_id + '" ' + frame_width + frame_height + ' frameborder="0" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen></iframe>';
5771            return video_frame;
5772        });
5773    },
5774    "fallback": function () {
5775        "use strict";
5776        var id = 'archive';
5777        tarteaucitron.fallback(['archive_player'], function (elem) {
5778            elem.style.width = elem.getAttribute('data-width') + 'px';
5779            elem.style.height = elem.getAttribute('data-height') + 'px';
5780            return tarteaucitron.engage(id);
5781        });
5782    }
5783};
5784
5785// Gallica
5786tarteaucitron.services.gallica = {
vendor: 4,181 bytes, lines 5787-5921
5787    "key": "gallica",
5788    "type": "other",
5789    "name": "Gallica",
5790    "uri": "https://gallica.bnf.fr/edit/und/conditions-dutilisation-des-contenus-de-gallica",
5791    "needConsent": true,
5792    "cookies": ['dtCookie', 'dtLatC', 'dtPC', 'dtSa', 'rxVisitor', 'rxvt', 'xtvrn'],
5793    "js": function () {
5794        "use strict";
5795        tarteaucitron.fallback(['gallica_player'], function (x) {
5796            var src = tarteaucitron.getElemAttr(x, "data-src"),
5797                style = tarteaucitron.getElemAttr(x, "data-style"),
5798                frame;
5799            if (src === undefined) {
5800                return "";
5801            }
5802            frame = '<iframe style="'+ style + '" src="' + src + '"></iframe>';
5803            return frame;
5804        });
5805    },
5806    "fallback": function () {
5807        "use strict";
5808        var id = 'gallica';
5809        tarteaucitron.fallback(['gallica_player'], function (elem) {
5810            elem.style = elem.getAttribute('data-style');
5811            return tarteaucitron.engage(id);
5812        });
5813    }
5814};
5815
5816// crisp
5817tarteaucitron.services.crisp = {
5818    "key": "crisp",
5819    "type": "other",
5820    "name": "Crisp Chat",
5821    "uri": "https://help.crisp.chat/en/article/crisp-chatbox-cookie-ip-policy-1147xor/",
5822    "needConsent": false,
5823    "cookies": ['crisp-client', '__cfduid'],
5824    "js": function () {
5825        "use strict";
5826
5827        if (tarteaucitron.user.crispID === undefined) {
5828            return;
5829        }
5830
5831        window.$crisp = [];
5832        window.CRISP_WEBSITE_ID = tarteaucitron.user.crispID;
5833
5834        tarteaucitron.addScript('https://client.crisp.chat/l.js');
5835    }
5836};
5837
5838// microanalytics
5839tarteaucitron.services.microanalytics = {
5840    "key": "microanalytics",
5841    "type": "analytic",
5842    "name": "MicroAnalytic",
5843    "uri": "https://microanalytics.io/page/privacy",
5844    "needConsent": false,
5845    "cookies": [],
5846    "js": function () {
5847        "use strict";
5848
5849        if (tarteaucitron.user.microanalyticsID === undefined) {
5850            return;
5851        }
5852
5853        tarteaucitron.addScript('https://microanalytics.io/js/script.js', tarteaucitron.user.microanalyticsID, undefined, true, "data-host", "https://microanalytics.io");
5854    }
5855};
5856
5857// facebookcustomerchat
5858tarteaucitron.services.facebookcustomerchat = {
5859    "key": "facebookcustomerchat",
5860    "type": "social",
5861    "name": "Facebook (Customer Chat)",
5862    "uri": "https://www.facebook.com/policies/cookies/",
5863    "needConsent": true,
5864    "cookies": ['act','c_user','datr','dpr','presence','sb','wd','xs','/tr'],
5865    "js": function () {
5866        "use strict";
5867
5868        if (tarteaucitron.user.facebookChatID === undefined) {
5869            return;
5870        }
5871
5872        tarteaucitron.fallback(['fb-customerchat'], '');
5873        window.fbAsyncInit=function(){FB.init({appId:tarteaucitron.user.facebookChatID,autoLogAppEvents:!0,xfbml:!0,version:"v3.0"})};
5874        tarteaucitron.addScript('https://connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk/xfbml.customerchat.js', 'facebook-jssdk');
5875    },
5876    "fallback": function () {
5877        "use strict";
5878        var id = 'facebookcustomerchat';
5879        tarteaucitron.fallback(['fb-customerchat'], tarteaucitron.engage(id));
5880    }
5881};
5882
5883// weborama
5884tarteaucitron.services.weborama = {
5885    "key": "weborama",
5886    "type": "analytic",
5887    "name": "Weborama",
5888    "uri": "https://weborama.com/faq-cnil-avril-2021/",
5889    "needConsent": true,
5890    "cookies": [],
5891    "js": function () {
5892        "use strict";
5893        tarteaucitron.addScript('https://cstatic.weborama.fr/js/advertiserv2/adperf_conversion.js');
5894    }
5895};
5896
5897// tiktok
5898tarteaucitron.services.tiktok = {
5899    "key": "tiktok",
5900    "type": "analytic",
5901    "name": "Tiktok",
5902    "uri": "https://www.tiktok.com/legal/tiktok-website-cookies-policy",
5903    "needConsent": true,
5904    "cookies": [],
5905    "js": function () {
5906        "use strict";
5907
5908        if (tarteaucitron.user.tiktokId === undefined) {
5909            return;
5910        }
5911
5912        tarteaucitron.addScript('https://analytics.tiktok.com/i18n/pixel/sdk.js?sdkid=' + tarteaucitron.user.tiktokId);
5913
5914        if (typeof tarteaucitron.user.tiktokMore === 'function') {
5915            tarteaucitron.user.tiktokMore();
5916        }
5917    }
5918};
5919
5920// Klaviyo
5921tarteaucitron.services.klaviyo = {
5922    "key": "klaviyo",
5923    "type": "ads",
5924    "name": "Klaviyo",
5925    "uri": "https://help.klaviyo.com/hc/en-us/articles/360034666712-About-Cookies-in-Klaviyo",
5926    "needConsent": true,
5927    "cookies": ['__kla_id'],
5928    "js": function () {
5929        "use strict";
5930        if (tarteaucitron.user.klaviyoCompanyId === undefined) {
5931            return;
5932        }
5933        tarteaucitron.addScript('//static.klaviyo.com/onsite/js/klaviyo.js?company_id=' + tarteaucitron.user.klaviyoCompanyId);
5934    }
5935};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.