(() => { var bundles = [['dynamicEngagements', () => { var define = true; !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.obBundle=n():(e.obBundle=e.obBundle||{},e.obBundle.dynamicEngagement=n())}(self,()=>(()=>{"use strict";var o={d:(e,n)=>{for(var t in n)o.o(n,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},o:(e,n)=>Object.prototype.hasOwnProperty.call(e,n),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},e={};o.r(e),o.d(e,{DynamicEngagements:()=>r,factory:()=>a});function n(){for(var e=[],n=0;n { var define = true; !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.obBundle=e():(t.obBundle=t.obBundle||{},t.obBundle.dresscode=e())}(self,()=>(()=>{"use strict";var i={d:(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},t={};i.r(t),i.d(t,{DressCode:()=>l,factory:()=>e});function a(){for(var t=[],e=0;e ")}function d(t){if(t)return t.id||(t.attribs?t.attribs.id:void 0)}function m(t){if(t)return t.className||(t.attribs?t.attribs.class:void 0)}function f(t,e){var n;void 0===e&&(e=window);var i,a,o=[];try{o=Array.from(null==(n=e.document)?void 0:n.querySelectorAll(t))}catch(t){e=t,void 0===i&&(i="codeless"),void 0===a&&(a=2),Math.floor(100*Math.random())<=a&&c({app:i,message:e.message,extra:{name:e.name,line:e.lineNumber||e.line,script:e.fileName||e.sourceURL||e.script,stack:e.stackTrace||e.stack}})}return r("last selector used ".concat(t," results ").concat(o.length)),o}function p(t){try{var e=new URL(t).hostname,n=e.split(".").reverse();return 2<=n.length?n[1]+"."+n[0]:e}catch(e){return console.error("Invalid URL:",t),""}}function b(s){var c,t,l,u,e,n=document.createElement("style");function i(){window.clearTimeout(t),t=setTimeout(function(){u=null},2e3)}document.head.appendChild(n),n.innerHTML="@keyframes heartfade {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n }\n .heart {\n z-index: 999;\n animation: heartfade 6s linear;\n position: absolute;\n }",c=document.createElement("DIV"),document.body.prepend(c),l=[],u=null,document.onmousedown=function(t){u=t,i()},document.onmouseup=function(t){i()},document.onmousemove=function(t){u=t,i()},document.ontouchstart=function(t){u=t.touches[0],i()},document.ontouchend=function(t){i()},document.ontouchmove=function(t){u=t.touches[0],i()},e=Date.now(),setInterval(function(){var t=Date.now(),i=t-e;e=t,l.forEach(function(t,e){var n=t.heart,t=t.heartEl;n.time-=i,0s[0]&&e[1] "),i=e.split(" > ");if(0===n.length||0===i.length)return 1;for(var a=Math.max(n.length,i.length);n.length=i)return this.log("(sticky)Randomly selected variation idx ".concat(o," random: ").concat(i,", i: ").concat(o),t[o]),o;throw new Error("weightedRandomSelection: should never get here")},u.prototype.getPinnedMutationAndVariation=function(){var t=null==(t=null==(t=new URL(this._window.location.href).searchParams.get("ob-var"))?void 0:t.trim())?void 0:t.toLocaleLowerCase();if(null!=t&&0!=t.length)return 1==(t=t.split(",")).length?"control"==t[0].trim().toLocaleLowerCase()?{mIdx:void 0,vIdx:0}:{mIdx:void 0,vIdx:isNaN(parseInt(t[0]))?void 0:parseInt(t[0])}:2<=t.length?{mIdx:isNaN(parseInt(t[0]))?void 0:parseInt(t[0]),vIdx:isNaN(parseInt(t[1]))?void 0:parseInt(t[1])}:{mIdx:void 0,vIdx:void 0}},u.prototype.setImageSource=function(n,i){var t=new Image;t.src=i,t.onload=function(){var t,e;"img"===n.tagName.toLowerCase()?(t=n.parentElement,e=[],t&&"picture"===t.tagName.toLowerCase()&&(e=Array.from(t.querySelectorAll("source"))),n.style.transition="opacity 0.5s ease-in-out",n.style.opacity=0,setTimeout(function(){n.src=i,e.forEach(function(t){return t.srcset=i}),n.srcset&&(n.srcset=i),n.style.opacity=1},500)):"div"===n.tagName.toLowerCase()&&(n.style.transition="opacity 0.5s ease-in-out",n.style.opacity=0,setTimeout(function(){n.style.setProperty("background-image","url(".concat(i,")"),"important"),n.style.opacity=1},500))},t.onerror=function(){console.error("Failed to load image: ".concat(i))}},u.prototype.setCssAttributes=function(t,m,f){return g(this,void 0,void 0,function(){var e,n,i,a,o,r,s,c,l,u,d,h;return x(this,function(t){if(!(m instanceof window.Element))return[2,!1];if(f){if(e=f.attributes,n=f.css,e)for(i=0,a=Object.entries(e);ia||i.top>o)&&(t.contains(e(i.left+(i.right-i.left)/2,i.top))||t.contains(e(i.left,i.top))||t.contains(e(i.right,i.top))||t.contains(e(i.right,i.bottom))||t.contains(e(i.left,i.bottom)))},u.prototype.doMutate=function(y,v){var w;return g(this,void 0,void 0,function(){var h,m,f,p,g;return x(this,function(t){switch(t.label){case 0:return t.trys.push([0,9,,10]),(h=this.similarityCalculator.extractWithSimilarity(this.boundElements,y.domTrail,y.cssSelectors,{name:y.name,id:"".concat(y.id)}))?(m=h.el,-1!==this.boundElements.indexOf(m)?[2,{method:h.method,domEl:m,status:"DUPLICATE"}]:(f=(null==(w=null==(w=v.cssAttributes.attributes)?void 0:w.textContent)?void 0:w.trim().toLocaleLowerCase())||"",p=function(){var t=f.match(/^(.+):(.+)$/);if(t){t[0];var e=t[1],t=t[2];if(S.includes(e)&&A.includes(t))return[e,t]}return[]}(),g=p[0],p=p[1],g&&"flow"===p?(b(g),[3,8]):[3,1])):[2,{status:"NOT_FOUND"}];case 1:return"soccer ball"!=f?[3,2]:(I(m,f),[3,8]);case 2:return["valentines heart","slot machine"].includes(f)?(this.log("adding ".concat(f," icon")),I(m,f),[3,8]):[3,3];case 3:return"pumpkins fall"!=f&&"pumpkins flow"!==f?[3,4]:(b("pumpkin"),[3,8]);case 4:if("xmas snow"!==f)return[3,5];else{this.log("XMS XMS XMS - adding a xmas snow");{function e(){if(r)for(var t=window.innerWidth,e=window.innerHeight,n=(o.width=t*s,o.height=e*s,o.style.width="".concat(t,"px"),o.style.height="".concat(e,"px"),r.scale(s,s),c.length=0,Math.floor(t*e/2e3)),i=0;io.height+this.size},u.prototype.reset=function(){this.x=Math.random()*o.width,this.y=-this.size},u.prototype.update=function(){this.windAngle+=this.windSpeed,this.wind=.5*Math.cos(this.windAngle),this.x+=this.wind,this.y+=this.velocity,this.isOutsideCanvas()&&this.reset()},u.prototype.draw=function(){r&&(r.beginPath(),r.arc(this.x,this.y,this.size,0,2*Math.PI),r.fillStyle=this.fill,r.shadowColor="rgba(0, 0, 0, 0.3)",r.shadowBlur=2,r.fill(),r.closePath())},u);function u(){this.x=Math.random()*o.width,this.y=Math.random()*o.height,this.size=2*Math.random()+1,this.velocity=.35*this.size;var t=Math.min(this.size/3+.3,1);this.fill="rgba(255, 255, 255, ".concat(t,")"),this.windSpeed=.1*(Math.random()-.5),this.windAngle=Math.random()*Math.PI*2,this.wind=0}window.addEventListener("resize",e),e();function d(){r&&(requestAnimationFrame(d),r.clearRect(0,0,o.width,o.height),c.forEach(function(t){t.update(),t.draw()}))}d()}return[3,8]}case 5:return[4,this.resolveCssAttributes(y,m,v.cssAttributes)];case 6:return p=t.sent(),[4,this.setCssAttributes(y,m,p)];case 7:if(!t.sent())return[2,{domEl:m,status:"ERROR"}];t.label=8;case 8:return this.boundElements.push(m),[2,{status:"APPLIED",method:h.method,domEl:m}];case 9:return g=t.sent(),this.log("error while trying to mutate",g),[2,{status:"ERROR"}];case 10:return[2]}})})},u.prototype.resolveCssAttributes=function(i,a,o){var r;return g(this,void 0,void 0,function(){var e,n;return x(this,function(t){switch(t.label){case 0:return"ac-image"!==i.name?[3,4]:(e=this.getMacroParam("ad_id"))?[4,fetch("https://my.outbrain.com/mtGetImageExternalUrlFromAdID/handler?adId=".concat(e,"&width=").concat(a.offsetWidth,"&height=").concat(a.offsetHeight))]:[2,o];case 1:return(e=t.sent()).ok?[4,e.json()]:[3,3];case 2:n=t.sent().cachedImageUrl,null!=(r=o.attributes)&&r.src?o.attributes.src=n:null!=(r=o.css)&&r.backgroundImage&&(o.css.backgroundImage=n),t.label=3;case 3:case 4:return[2,o]}})})},u.prototype.loadVariationIdFromStorage=function(t){var e=this._window.document.cookie.split(";").find(function(t){return t.trim().startsWith("dicbo_id")});if(e){e=e.split("=")[1];if(e){e=decodeURIComponent(e);try{var n=JSON.parse(e);if(null!=n.variations){var i=n.variations;if(this.log("we have vars in cookies",JSON.stringify(i)),null!=i&&0!=i.length){var a=i.split(",").filter(function(t){return!isNaN(parseInt(t))}).map(function(t){return parseInt(t)});if(0==a.length)this.log("could not find any variation id in cookies [".concat(a,"]"));else{var o,r=t.map(function(t){return t.variations.map(function(t){return t.id})}).flat(),s=a.filter(function(t){return r.includes(t)});if(this.log("we have ".concat(s.length," relevant variations in cookies"),s),0!=s.length)return o=s[Math.floor(Math.random()*s.length)],this.log("we picked variationId ".concat(o," from cookies")),o}}}}catch(t){}}}},u.prototype.getMutationAndVariationFromStorage=function(t){var e,n=this.loadVariationIdFromStorage(t);if(null!=n)return e=t.findIndex(function(t){return-1!=t.variations.findIndex(function(t){return t.id==n})}),t=t[e].variations.findIndex(function(t){return t.id==n}),this.log("found variation id ".concat(t," part of ").concat(e," in cookies, will use it")),{mIdx:e,vIdx:t};this.log("could not find variation id in cookies, will randomize")},u.prototype.selectAndMutate=function(a){return g(this,void 0,void 0,function(){var e,n,i;return x(this,function(t){switch(t.label){case 0:return(i=this.getPinnedMutationAndVariation())?(e=null==i.mIdx?Math.floor(Math.random()*a.length):Math.min(i.mIdx,a.length-1),n=null==i.vIdx?Math.floor(Math.random()*a[e].variations.length):Math.min(i.vIdx,a[e].variations.length-1),this.log("we have pinned mutation ".concat(e," and variant ").concat(n))):(i=this.getMutationAndVariationFromStorage(a))?(e=i.mIdx,n=i.vIdx):(e=Math.floor(Math.random()*a.length),n=this.weightedRandomSelection(a[e].variations),this.log("nothing in cookies, let's random mutataionId: ".concat(e," and variant ").concat(n))),[4,this.mutate(a[e],n)];case 1:return[2,t.sent()]}})})},u.prototype.mutate=function(a,o){var r;return g(this,void 0,void 0,function(){var e,n,i;return x(this,function(t){switch(t.label){case 0:return i=function(t){return 0===t.type},e=a.variations[o],this.log("we picked variant ".concat(o),e),(n=a.variations.find(i))?i(e)?(this.addMutation(e.id),[2,{status:"APPLIED"}]):[4,this.doMutate(a,e)]:(this.log("no control variant found for mutation ".concat(a.id," ").concat(a.name)),[2,{status:"ERROR"}]);case 1:return"APPLIED"===(i=t.sent()).status?(this.addMutation(e.id),a.domEl=i.domEl):"NOT_FOUND"!==i.status&&"DUPLICATE"!==i.status&&(this.addMutation(n.id),c({app:"dresscode",error:"failed to apply",marketerID:null==(r=window.obApi)?void 0:r.marketerId,status:i.status})),[2,i]}})})},u.prototype.addMutation=function(t){void 0!==window.obApi&&(null!==obApi&&void 0!==obApi&&obApi.addVariation(t),null!==obApi&&void 0!==obApi&&obApi("track","OB_MUTATION_IMPRESSION"),this.log("firing OB_MUTATION_IMPRESSION with",{variationId:t}))},u.prototype.getMacroParam=function(t){return this.getQueryParam("".concat("obac_").concat(t))||this.getQueryParam(t)},u.prototype.execute=function(u){return g(this,void 0,void 0,function(){var o,e,a,r,s,c,n,i,l=this;return x(this,function(t){switch(t.label){case 0:if(e=!(o=[]),a=function(t){return["ac-image","ac-header"].includes(t.name)},r=u.filter(function(t){return!(1!==t.status&&!l.isDraft)&&(a(t)?!!t.campaignId&&t.campaignId===l.getMacroParam("campaign_id")&&p(window.location.href)!==p(document.referrer):(e=l._window.location.href,t=t.finalUrl,!(!e||!t)&&(t=new URL(t.toLowerCase()),e=new URL(e.toLowerCase()),t.pathname=t.pathname.replace(/\/+$/,""),e.pathname=e.pathname.replace(/\/+$/,""),t.hash="",e.hash="",t.origin===e.origin)&&t.pathname===e.pathname&&(""===t.search&&""===e.search||(t=new URLSearchParams(t.search),n=new URLSearchParams(e.search),i=!0,t.forEach(function(t,e){(!n.has(e)||t&&n.get(e)!==t)&&(i=!1)}),i))));var e,n,i}),i=r.reduce(function(t,e){return a(e)?[y(y([],t[0],!0),[e],!1),t[1]]:[t[0],y(y([],t[1],!0),[e],!1)]},[[],[]]),s=i[0],c=i[1],this.log("handling ".concat(u.length," mutations, ad continuity mutations: ").concat(s.length,", regular experiments: ").concat(c.length),u),!r||0==(null==r?void 0:r.length))return[2,[]];n=function(){return g(l,void 0,void 0,function(){var e,n,i,a;return x(this,function(t){switch(t.label){case 0:if(this.log("only live(or draft) ".concat(r.length," mutations are relevant for url ").concat(this._window.location.href),r),o.find(function(t){return"APPLIED"===t.status}))return[2];if(!this._window.document)throw"document does not exist";if(this._window)return this.log("doc state is ".concat(this._window.document.readyState," trying to apply mutations")),c.length?[4,this.selectAndMutate(c)]:[3,2];throw"window does not exist";case 1:a=t.sent(),o.push(a),t.label=2;case 2:e=0,n=s,t.label=3;case 3:return e").map(function(t){return t.trim()}),i=/#([\w-]+)/,a=n.filter(function(t){return i.test(t)});return a.length?(n=n[n.length-1],a=a.join(" ").trim()+" "+n,f(a,t._window)):[]},function(t,e,n){n[0],n[1];var n=n[2].split(">").map(function(t){return t.trim()}),i=n.pop(),a=n.filter(function(t){return t.match(/.\w+$/)});if(!a.length)return[];for(var o=[],r=!0;!o.length&&a.length;)r||a.shift(),o=f(a.join(" ").trim()+" "+i,t._window),r=!1;return o},function(t,e,n){for(var i=n[0],a=i.replace(/:nth-of-type\(\d+\)/gi,""),o=[];i!==a&&o.length<3;)i=i.replace(/:nth-of-type\(\d+\)/,""),o=f(i,t._window);return o}],this.locationHref=t}return t})()),"undefined"!=typeof obBundle&&(new obBundle.dresscode.DressCode).execute([{id:252,name:"SP CHFR Title 1",finalUrl:"https://swiss-solaire.net/article/",status:1,modificationDate:"2024-04-11T14:51:32.000Z",creationDate:"2024-04-11T14:51:32.000Z",variations:[{id:943,mutationId:252,content:"La Suisse adopte une nouvelle loi pour aider les propriétaires à baisser leur facture d’électricité",cssAttributes:{attributes:{textContent:"La Suisse adopte une nouvelle loi pour aider les propriétaires à baisser leur facture d’électricité"}},type:0,allocation:50,status:1,modificationDate:"2024-08-08T12:07:25.000Z",creationDate:"2024-04-11T14:51:32.000Z"},{id:944,mutationId:252,content:"La Suisse adopte une nouvelle loi pour subventionne le coût d'installation des panneaux solaires",cssAttributes:{attributes:{textContent:"La Suisse adopte une nouvelle loi pour subventionne le coût d'installation des panneaux solaires"}},type:1,allocation:20,status:1,modificationDate:"2024-08-08T12:07:25.000Z",creationDate:"2024-04-11T14:51:32.000Z"}],cssSelectors:["html > body > div#flex-body-wrap > main > h1","html > body.page-template-default > div > main > h1","html > body.page-template-default.page > div > main > h1","html > body.page-template-default.page.page-id-15 > div > main > h1"],domTrail:[{entityId:252,creationDate:"Thu Apr 11 2024 10:51:32 GMT-0400 (Eastern Daylight Time)",domTrailId:35649,elementCssClasses:"",elementAttributeNames:"",tagName:"H1",elementId:"",elementNthChild:0,type:1},{entityId:252,creationDate:"Thu Apr 11 2024 10:51:32 GMT-0400 (Eastern Daylight Time)",domTrailId:35650,elementCssClasses:"",elementAttributeNames:"",tagName:"MAIN",elementId:"",elementNthChild:0,type:1},{entityId:252,creationDate:"Thu Apr 11 2024 10:51:32 GMT-0400 (Eastern Daylight Time)",domTrailId:35651,elementCssClasses:"",elementAttributeNames:"id:flex-body-wrap;",tagName:"DIV",elementId:"flex-body-wrap",elementNthChild:2,type:1},{entityId:252,creationDate:"Thu Apr 11 2024 10:51:32 GMT-0400 (Eastern Daylight Time)",domTrailId:35652,elementCssClasses:"page-template-default page page-id-15 wp-custom-logo",elementAttributeNames:"class:page-template-default page page-id-15 wp-custom-logo;data-pagetype:article;",tagName:"BODY",elementId:"",elementNthChild:0,type:1},{entityId:252,creationDate:"Thu Apr 11 2024 10:51:32 GMT-0400 (Eastern Daylight Time)",domTrailId:35653,elementCssClasses:"",elementAttributeNames:"",tagName:"HTML",elementId:"",elementNthChild:0,type:1}]},{id:254,name:"SP FR Title 1",finalUrl:"https://francesolaire.net/article2",status:1,modificationDate:"2024-04-11T14:54:01.000Z",creationDate:"2024-04-11T14:54:01.000Z",variations:[{id:947,mutationId:254,content:"La France adopte une nouvelle loi pour aider les propriétaires à baisser leur facture d'électricité",cssAttributes:{attributes:{textContent:"La France adopte une nouvelle loi pour aider les propriétaires à baisser leur facture d'électricité"}},type:0,allocation:50,status:1,modificationDate:"2024-08-08T12:07:25.000Z",creationDate:"2024-04-11T14:54:01.000Z"},{id:948,mutationId:254,content:"L'Etat subventionne vos panneaux solaires si vous habitez l'un de ces départements",cssAttributes:{attributes:{textContent:"L'Etat subventionne vos panneaux solaires si vous habitez l'un de ces départements"}},type:1,allocation:20,status:1,modificationDate:"2024-08-08T12:07:25.000Z",creationDate:"2024-04-11T14:54:01.000Z"}],cssSelectors:["html > body > main > h1","html > body > main.article > h1","html > body > main.article > h1","html > body > main.article > h1"],domTrail:[{entityId:254,creationDate:"Thu Apr 11 2024 10:54:01 GMT-0400 (Eastern Daylight Time)",domTrailId:35658,elementCssClasses:"",elementAttributeNames:"",tagName:"H1",elementId:"",elementNthChild:0,type:1},{entityId:254,creationDate:"Thu Apr 11 2024 10:54:01 GMT-0400 (Eastern Daylight Time)",domTrailId:35659,elementCssClasses:"article",elementAttributeNames:"class:article;",tagName:"MAIN",elementId:"",elementNthChild:0,type:1},{entityId:254,creationDate:"Thu Apr 11 2024 10:54:01 GMT-0400 (Eastern Daylight Time)",domTrailId:35660,elementCssClasses:"",elementAttributeNames:"data-page:article2;data-pagetype:article;class:;data-form-stage:initial;",tagName:"BODY",elementId:"",elementNthChild:0,type:1},{entityId:254,creationDate:"Thu Apr 11 2024 10:54:01 GMT-0400 (Eastern Daylight Time)",domTrailId:35661,elementCssClasses:"",elementAttributeNames:"lang:en;",tagName:"HTML",elementId:"",elementNthChild:0,type:1}]}]); }]]; for (var i = 0; i < bundles.length; i++) { var bundle = bundles[i]; bundle[1].call(window, bundle[2]); } })()