1import{jt as e}from"./BxR1oLWR.js";import{ca as t}from"./M-W19bnO.js";import{S as n,_ as r,f as i,g as a,l as o,s,t as c,u as l,w as u,x as d}from"./Blkf_UJD.js";function f(e){let t=e.split(`.`);if(t.length<=2)return e;let n=[`com.br`];if(t.length>=3){let e=t.slice(-2).join(`.`);if(n.includes(e))return t.slice(-3).join(`.`)}return t.slice(-2).join(`.`)}function p(){let e=u.get(n);if(e===void 0){e=c();let t=window.location.protocol===`https:`;u.set(n,e,{secure:t,sameSite:t?`Strict`:`Lax`,path:`/`,domain:`.${f(window.location.hostname)}`})}return e}function m(e){let t=Object.entries(e??{}).filter(([e,t])=>e&&t);return t.length?t.map(([e,t])=>`${e}=${t}`).join(`;`):void 0}async function h(e){let t=l.config?.clientKey;if(!t)return null;let n=l.config?.app?.environment??`production`,o=(l.config?.ads?.url??i[n]).replace(/\/$/,``),s=new URL(`${o}${r}`);s.searchParams.set(`key`,t),s.searchParams.set(`slot`,e.slot);let c=typeof window<`u`?window.location.href:void 0,u={pageType:e.pageType,routePattern:e.routePattern,q:e.query,tags:e.tags?.length?e.tags.join(`,`):void 0,vars:m(e.vars),device:e.device,geo:e.geo,limit:e.limit===void 0?void 0:String(e.limit),url:c};for(let[e,t]of Object.entries(u))t!==void 0&&t!==``&&s.searchParams.set(e,t);try{let e=await fetch(s.toString(),{headers:{[a]:p()}});return e.ok?await e.json():null}catch{return null}}async function g(){let e=l.config?.clientKey;if(!e)return[];let t=l.config?.app?.environment??`production`,n=(l.config?.ads?.url??i[t]).replace(/\/$/,``),r=new URL(`${n}${o}`);r.searchParams.set(`key`,e);try{let e=await fetch(r.toString());if(!e.ok)return[];let t=await e.json();return Array.isArray(t?.slots)?t.slots:[]}catch{return[]}}var _=`clamp(-14px, calc((var(--mads-popup-vw, 100vw) - 100%) / 2 - 30px), 0px)`;function v(e){return[`${e}{max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}`,`${e} .mads-popup__box{width:100%;height:100%;display:flex;align-items:center;justify-content:center}`,`${e} > .mads{max-height:100vh}`,`${e} .mads-popup__close{top:0;right:0}`].join(``)}function ee(e,t){return[`${e}{--mads-popup-w:${t}px;width:auto;height:auto;max-width:min(var(--mads-popup-vw, 100vw), var(--mads-popup-w, 100vw));max-height:88vh;margin:auto}`,`${e} .mads-popup__box{width:auto;height:auto;display:block}`,`${e} > .mads{max-height:88vh}`,`${e} .mads-popup__close{top:${_};right:${_}}`].join(``)}var y=` 2:host { all: initial; display: block; contain: content; } 3* { box-sizing: border-box; margin: 0; padding: 0; } 4.mads { 5 font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; 6 color: #1a1a2e; 7 position: relative; 8} 9.mads__label { 10 font-size: 10px; text-transform: uppercase; letter-spacing: .08em; 11 color: #8a8fa3; margin-bottom: 6px; 12} 13.mads__track { 14 display: flex; gap: 12px; overflow-x: auto; 15 scroll-snap-type: x mandatory; scrollbar-width: none; 16 -webkit-overflow-scrolling: touch; 17} 18.mads__track::-webkit-scrollbar { display: none; } 19.mads--grid .mads__track { 20 display: grid; overflow: visible; 21 grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); 22} 23/* Sem crases neste comentário: o CSS vive num template literal e uma crase 24 * fecharia a string. 25 * 26 * O overflow visÃvel vem junto com o display block, e não só ele: um banner é UM 27 * card, então o trilho não tem o que rolar â e como container de rolagem ele 28 * recortaria o que passa da caixa. Quem paga isso é o pack cujas setas ficam 29 * FORA do conteúdo (o padrão do design system as põe em -left-6/-right-6): 30 * sumiriam, sem nada indicando por quê. */ 31.mads--banner .mads__track { display: block; overflow: visible; } 32.mads__card { 33 scroll-snap-align: start; flex: 0 0 220px; 34 display: flex; flex-direction: column; gap: 8px; 35 border: 1px solid #e4e6ef; border-radius: 12px; padding: 14px; 36 background: #fff; text-decoration: none; color: inherit; 37 transition: box-shadow .15s ease; 38} 39.mads__card:hover { box-shadow: 0 4px 16px rgba(26,26,46,.12); } 40.mads--banner .mads__card { flex-direction: row; align-items: center; flex-basis: auto; } 41.mads__logo { 42 width: 40px; height: 40px; border-radius: 8px; object-fit: contain; 43 border: 1px solid #eef0f6; background: #fafbfe; 44} 45.mads__course { font-size: 14px; font-weight: 600; line-height: 1.25; } 46.mads__uni { font-size: 12px; color: #6b7085; } 47.mads__rating { font-size: 12px; color: #6b7085; } 48.mads__rating strong { color: #1a1a2e; } 49.mads__badge { 50 align-self: flex-start; font-size: 11px; font-weight: 600; 51 color: #0d6e4f; background: #e2f6ee; border-radius: 999px; padding: 2px 8px; 52} 53.mads__price { margin-top: auto; display: flex; align-items: baseline; gap: 6px; } 54.mads__price-full { font-size: 11px; color: #9aa0b5; text-decoration: line-through; }
55.mads__price-offered { font-size: 16px; font-weight: 700; } 56.mads__price-offered small { font-size: 11px; font-weight: 400; color: #6b7085; } 57.mads__cta { 58 margin-top: 10px; display: block; text-align: center; 59 font-size: 13px; font-weight: 600; color: #fff; 60 background: #1351d8; border-radius: 8px; padding: 8px 12px; 61} 62/* Raw image banner: no card chrome â the art IS the creative. 63 * 64 * NO RADIUS BY DEFAULT. The SDK used to round the corners at 20px, copied from 65 * one production banner, and that was the SDK deciding the look of somebody 66 * else's art: a square banner came out with rounded corners nobody asked for, 67 * and the only way out was for the SITE to override the token â the wrong owner 68 * for a decision that belongs to the piece. 69 * 70 * The radius is now declared by the CREATIVE (image.radius, applied inline, 71 * same as fit and maxWidth), and the token stays as the site-wide default for a 72 * host that wants every banner rounded. */ 73.mads__card--image { padding: 0; border: none; background: none; display: block; flex-basis: auto; } 74.mads__card--image picture { display: block; } 75.mads__card--image img { 76 display: block; width: 100%; object-fit: cover; 77 border-radius: var(--mads-image-radius, 0); 78} 79/* Plain text hyperlink: underline on hover, no box. */ 80.mads__card--link { 81 padding: 0; border: none; background: none; display: inline-block; 82 font-size: 14px; font-weight: 600; color: #1351d8; 83 text-decoration: none; 84} 85.mads__card--link:hover { text-decoration: underline; box-shadow: none; } 86/* Component pack: o pack traz o próprio CSS (Tailwind do design system, via 87 * adoptedStyleSheets no mesmo shadow root), então aqui só cedemos o espaço â 88 * qualquer chrome nosso brigaria com o estilo do componente. */ 89.mads__card--component { 90 padding: 0; border: none; background: none; display: block; 91 flex-basis: 100%; width: 100%; 92} 93.mads__card--component:hover { box-shadow: none; } 94.mads__nav { 95 position: absolute; top: 50%; transform: translateY(-50%); 96 width: 32px; height: 32px; border-radius: 50%; 97 border: 1px solid #e4e6ef; background: #fff; color: #1a1a2e; 98 font-size: 16px; line-height: 1; cursor: pointer; 99 display: flex; align-items: center; justify-content: center; 100 box-shadow: 0 2px 8px rgba(26,26,46,.14); 101} 102.mads__nav--prev { left: -8px; } 103.mads__nav--next { right: -8px; } 104.mads__nav[disabled] { opacity: .35; cursor: default; } 105 106/* Reserved slot (fixed IAB size, anti-CLS box): the host carries a min-height 107 * (the format's intrinsic height) set before the fetch. The slate fills that 108 * height via a flex chain so banners are full-bleed, but nothing is force-cut â 109 * if the creative is taller the box grows (min-height floor). Fluid slots keep 110 * their content-driven height. */ 111/* Popup â o slate dentro de um dialog no top layer. 112 * 113 * Sem position nem z-index aqui: o showModal() ancora na viewport e o navegador 114 * empilha acima de tudo. Posicionar a mao reintroduziria o problema que o dialog 115 * resolve (o host do slot tem contain: content, que prenderia um fixed). 116 * 117 * Limites em vh/vw e nao px: a arte e de terceiro, e um popup mais alto que a 118 * tela deixaria o botao de fechar fora de alcance â dai o scroll interno. 119 * 120 * A LARGURA nao esta escrita aqui. Ela chega em duas variaveis que o popup.ts 121 * escreve a partir da decisao: --mads-popup-w (teto em px) e --mads-popup-vw 122 * (fatia da tela). Enquanto o 640 e o 92 moravam neste arquivo, eram dois 123 * numeros de desenho longe de quem desenha â e a previa do admin tinha de 124 * copia-los para nao mentir. 125 * 126 * Os fallbacks sao 100vw, e nao um tamanho: eles existem para a expressao 127 * continuar valida quando so uma das duas vem. Com as duas, min() escolhe; com 128 * so a fatia, ela vence; com so o teto, ele vence; sem nenhuma, 100vw â que e 129 * "sem teto", e nao um default disfarcado. */ 130.mads-popup { 131 padding: 0; border: 0; background: transparent; overflow: visible; 132 max-width: min(var(--mads-popup-vw, 100vw), var(--mads-popup-w, 100vw)); 133 max-height: 88vh; 134 /* Margem automática DE VOLTA: o reset universal lá em cima zera a margem de 135 * tudo, inclusive deste dialog â e é ela, sobre o inset zero da UA, que 136 * centraliza um dialog modal. Com margem zero ele desabava no canto superior 137 * esquerdo, do tamanho do conteúdo. (Sem crases neste comentário: o CSS vive 138 * num template literal e uma crase fecharia a string.) */ 139 margin: auto; 140} 141/* O botão ancora AQUI, e não no <dialog>: a UA posiciona o dialog modal para 142 * centralizar (inset: 0; margin: auto), e declarar position: relative nele 143 * para servir de containing block quebraria essa centralização. */ 144.mads-popup__box { position: relative; } 145.mads-popup::backdrop { background: rgba(26,26,46,.62); } 146 147/* Tela cheia. Nao e "a caixa mais larga": e outra apresentacao â sem 148 * arredondamento, sem folga, e o backdrop deixa de aparecer porque nao sobra 149 * borda para ele. O fechar entra para dentro, que e o unico lugar que existe. 150 * 151 * As declaracoes vem de regrasDeTelaCheia, e nao escritas aqui, porque a MESMA 152 * apresentacao precisa sair tambem dentro de media query: a caixa por faixa pode 153 * pedir takeover so a partir de uma largura. Uma fonte para as duas saidas â 154 * classe e media query â e o que impede as duas de divergirem. (Sem crases neste 155 * comentario, como o de cima avisa: o CSS vive num template literal.) */ 156${v(`.mads-popup--full`)} 157 158/* Entrada do modal. 159 * 160 * display e overlay entram na transicao com allow-discrete, e o estado 161 * inicial vem do @starting-style â sem os dois o dialog aparece de estalo, 162 * porque ele salta de display: none para o top layer sem estado intermediario 163 * para interpolar. overlay e o que segura a saida: sem ele o navegador tira o 164 * dialog do top layer no instante do close e a animacao de saida roda invisivel. 165 * 166 * Navegador que nao conhece @starting-style ignora o bloco e mostra o modal 167 * direto â que e exatamente o comportamento de hoje, entao nao ha regressao. */ 168.mads-popup, .mads-popup::backdrop { 169 transition: opacity .18s ease, transform .18s ease, display .18s allow-discrete, overlay .18s allow-discrete; 170} 171.mads-popup { opacity: 1; transform: translateY(0); } 172.mads-popup::backdrop { opacity: 1; } 173.mads-popup:not([open]) { opacity: 0; transform: translateY(6px); } 174.mads-popup:not([open])::backdrop { opacity: 0; } 175@starting-style { 176 .mads-popup[open] { opacity: 0; transform: translateY(6px); } 177 .mads-popup[open]::backdrop { opacity: 0; } 178} 179 180/* Movimento reduzido: a caixa ainda aparece, so nao desliza nem desvanece. 181 * Remover a transicao inteira e o certo aqui â um fade curto ainda e movimento 182 * para quem pediu para nao ter. */ 183@media (prefers-reduced-motion: reduce) { 184 .mads-popup, .mads-popup::backdrop { transition: none; } 185 .mads-popup:not([open]) { opacity: 1; transform: none; } 186}
187/* Fora da caixa e ACIMA dela: arte sangrada não deixa espaço para o botão, e 188 * sobrepor cobriria o criativo. */ 189/* 44x44 e o minimo de alvo de toque. O botao continua FORA da caixa, mas agora 190 * ele so sai inteiro quando ha folga: clamp colapsa o deslocamento para dentro 191 * em tela estreita, onde a caixa ocupa a fatia inteira e um botao pendurado para 192 * fora ficaria cortado pela borda da viewport. 193 * 194 * A fatia entra por --mads-popup-vw, escrita pelo popup.ts. O fallback de 100vw 195 * nao e um default de desenho: e o caso em que ninguem mandou fatia nenhuma, e 196 * aà nao ha folga a calcular â o botao entra para dentro, que e o certo. */ 197.mads-popup__close { 198 position: absolute; z-index: 1; 199 top: ${_}; 200 right: ${_}; 201 width: 44px; height: 44px; border-radius: 50%; 202 border: 1px solid #e4e6ef; background: #fff; color: #1a1a2e; 203 font-size: 22px; line-height: 1; cursor: pointer; 204 display: flex; align-items: center; justify-content: center; 205 box-shadow: 0 2px 8px rgba(26,26,46,.24); 206} 207.mads-popup > .mads { max-height: 88vh; overflow: auto; } 208 209:host([data-montilla-reserved]) { display: flex; flex-direction: column; } 210:host([data-montilla-reserved]) .mads { flex: 1 0 auto; min-height: 0; display: flex; flex-direction: column; } 211:host([data-montilla-reserved]) .mads__track { flex: 1 0 auto; min-height: 0; } 212:host([data-montilla-reserved]) .mads--banner .mads__track { display: flex; } 213:host([data-montilla-reserved]) .mads--banner .mads__card, 214:host([data-montilla-reserved]) .mads__card--html { flex: 1 0 auto; } 215/* Lista EXPLÃCITA dos cards desenhados pelo SDK, e não um seletor img genérico. 216 * O genérico também alcançava a arte de dentro de um pack de componente, e por 217 * especificidade (:host([attr]) img vence .object-cover) atropelava a classe 218 * que o próprio pack emite â deixando o fit do pack inerte em TODO slot 219 * reservado, que é justamente onde uma faixa de banner vive. Aqui o SDK governa 220 * só o que ele mesmo renderiza; quem traz o próprio componente governa a 221 * própria arte. 222 * 223 * O criativo image fica de fora por ter regra própria logo abaixo, e o pack 224 * component por não ter nenhuma â é essa ausência que o faz funcionar. */ 225:host([data-montilla-reserved]) .mads__card--card img, 226:host([data-montilla-reserved]) .mads__card--text img, 227:host([data-montilla-reserved]) .mads__card--html img, 228:host([data-montilla-reserved]) .mads__card--link img { max-height: 100%; object-fit: contain; } 229/* Reserved image banners keep cover (full-bleed art), not contain. */ 230:host([data-montilla-reserved]) .mads__card--image img { height: 100%; object-fit: cover; } 231`;function b(e){let t=e.shadowRoot??e.attachShadow({mode:`open`});t.replaceChildren();let n=document.createElement(`style`);return n.textContent=y,t.appendChild(n),t}var x=`montilla-ads-light-styles`;function S(e){if(e.replaceChildren(),!document.getElementById(x)){let e=document.createElement(`style`);e.id=x,e.textContent=y.replace(/:host/g,`.mads`).replace(/(^|\})\s*\*\s*\{/g,`$1 .mads, .mads *{`),document.head.appendChild(e)}return e}var te=8,ne=3e4,re=2e4,ie=50,ae=[`pointerdown`,`pointermove`,`keydown`,`scroll`,`touchstart`,`wheel`],oe=e=>`montilla.popup.seen.${e}`;function se(e){try{return window.sessionStorage.getItem(oe(e))!==null}catch{return!1}}function ce(e){try{window.sessionStorage.setItem(oe(e),`1`)}catch{}}var le=0;function ue(e,t,n,r){let i=[...n].sort((e,t)=>e.minWidth-t.minWidth);if(!i.some(e=>e.fullBleed===!0||typeof e.maxWidth==`number`&&e.maxWidth>0))return!1;let a=`mads-box-${++le}`;e.setAttribute(`data-mads-box`,a);let o=`[data-mads-box="${a}"]`,s=i.map(e=>{let t=t=>`@media (min-width:${e.minWidth}px){${t}}`;if(e.fullBleed===!0)return t(v(o));let n=typeof e.maxWidth==`number`&&e.maxWidth>0?e.maxWidth:r;return n===void 0?``:t(ee(o,n))}).join(``);if(!s)return!1;let c=document.createElement(`style`);return c.textContent=s,t.appendChild(c),!0}function de(e,t,n,r=[]){if(t.maxWidth===`full`){e.classList.add(`mads-popup--full`);return}t.viewportPercent!==void 0&&e.style.setProperty(`--mads-popup-vw`,`${t.viewportPercent}vw`),!(r.length>0&&ue(e,n,r,typeof t.maxWidth==`number`?t.maxWidth:void 0))&&t.maxWidth!==void 0&&e.style.setProperty(`--mads-popup-w`,`${t.maxWidth}px`)}function fe(e){for(let t of e.querySelectorAll(`img[loading="lazy"]`))t.setAttribute(`loading`,`eager`),t.setAttribute(`fetchpriority`,`high`)}function pe(e,t,n,r,i,a){let o=document.createElement(`dialog`);o.className=`mads-popup`,o.setAttribute(`aria-label`,n.label??`Publicidade`),de(o,n,e,a);let s=document.createElement(`div`);if(s.className=`mads-popup__box`,n.dismissible!==!1){let e=document.createElement(`button`);
231e.type=`button`,e.className=`mads-popup__close`,e.setAttribute(`aria-label`,n.closeLabel??`Fechar`),e.textContent=`Ã`,e.addEventListener(`click`,()=>o.close(`dismiss`)),s.appendChild(e)}fe(t),s.appendChild(t),o.appendChild(s),e.appendChild(o);let c=!1,l=!1,u,d=[],f=null;function p(){f===null&&(f=document.documentElement.style.overflow,document.documentElement.style.overflow=`hidden`)}function m(){f!==null&&(document.documentElement.style.overflow=f,f=null)}function h(){if(!(c||l||!o.isConnected)){if(n.oncePerSession&&i&&se(i)){g();return}c=!0,g();try{o.showModal()}catch{c=!1;return}p(),n.oncePerSession&&i&&ce(i),r.onOpen()}}if(o.addEventListener(`close`,()=>{m(),c&&r.onDismiss()}),n.dismissible!==!1){let e=!1;o.addEventListener(`pointerdown`,t=>{e=t.target===o}),o.addEventListener(`click`,t=>{t.target===o&&e&&o.close(`backdrop`),e=!1})}function g(){for(clearTimeout(u),u=void 0;d.length;)d.pop()?.()}return me(n,h,d,e=>{u=setTimeout(h,e)}),{open:h,dispose:()=>{l=!0,g(),c=!1,o.open&&o.close(),m(),o.remove()}}}function me(e,t,n,r){let i=e.trigger??`immediate`;if(i===`immediate`){t();return}if(i===`timeout`){r(Math.max(0,e.delayMs??5e3));return}if(i===`idle`){he(e,t,n);return}if(i===`scroll`){ge(e,t,n);return}let a=e=>{e.clientY<=te&&!e.relatedTarget&&t()};document.addEventListener(`mouseout`,a),n.push(()=>document.removeEventListener(`mouseout`,a));let o=null,s=()=>{if(document.visibilityState===`hidden`){o=Date.now();return}if(o===null)return;let e=Date.now()-o;o=null,e>=ne&&t()};document.addEventListener(`visibilitychange`,s),n.push(()=>document.removeEventListener(`visibilitychange`,s))}function he(e,t,n){let r=Math.max(0,e.idleMs??re),i,a=()=>{clearTimeout(i),document.visibilityState!==`hidden`&&(i=setTimeout(t,r))};for(let e of ae)document.addEventListener(e,a,{passive:!0}),n.push(()=>document.removeEventListener(e,a));document.addEventListener(`visibilitychange`,a),n.push(()=>document.removeEventListener(`visibilitychange`,a)),n.push(()=>clearTimeout(i)),a()}function ge(e,t,n){let r=Math.min(100,Math.max(1,e.scrollPercent??ie)),i=()=>{let e=document.documentElement.scrollHeight-window.innerHeight;if(e<=0)return t();window.scrollY/e*100>=r&&t()};window.addEventListener(`scroll`,i,{passive:!0}),n.push(()=>window.removeEventListener(`scroll`,i)),i()}function _e(e,t,n){try{let r=new URL(e);return r.searchParams.set(t,n),r.toString()}catch{return`${e}${e.includes(`?`)?`&`:`?`}${t}=${encodeURIComponent(n)}`}}function C(e,t){return _e(e.href,t,e.tracking.mad)}function w(e){try{return new Intl.NumberFormat(`pt-BR`,{style:`currency`,currency:`BRL`}).format(e)}catch{return`R$ ${e.toFixed(2)}`}}function ve(e){let t=document.createElement(`template`);t.innerHTML=e;let n=new Set([`SCRIPT`,`IFRAME`,`OBJECT`,`EMBED`,`LINK`,`META`,`STYLE`]);for(let e of Array.from(t.content.querySelectorAll(`*`))){if(n.has(e.tagName)){e.remove();continue}for(let t of Array.from(e.attributes)){let n=t.name.toLowerCase(),r=t.value.trim().toLowerCase();(n.startsWith(`on`)||(n===`href`||n===`src`)&&r.startsWith(`javascript:`))&&e.removeAttribute(t.name)}}return t.innerHTML}function ye(e){let t=document.createElement(`div`);return t.className=`mads__card mads__card--html`,t.dataset.offerId=e.tracking.offerId,t.dataset.position=String(e.tracking.position),t.innerHTML=ve(e.html??``),t}function be(e,t){let n=document.createElement(`a`);if(n.className=`mads__card mads__card--${e.creativeType}`,n.href=C(e,t),n.rel=`sponsored noopener`,n.dataset.offerId=e.tracking.offerId,n.dataset.position=String(e.tracking.position),e.logoUrl){let t=document.createElement(`img`);t.className=`mads__logo`,t.src=e.logoUrl,t.alt=e.universityName,t.loading=`lazy`,n.appendChild(t)}let r=document.createElement(`div`);r.className=`mads__course`,r.textContent=e.courseName,n.appendChild(r);let i=document.createElement(`div`);if(i.className=`mads__uni`,i.textContent=e.universityName,n.appendChild(i),e.rating){let t=document.createElement(`div`);t.className=`mads__rating`;let r=document.createElement(`strong`);r.textContent=`â
${e.rating.score.toFixed(1)}`,t.appendChild(r),t.appendChild(document.createTextNode(` (${e.rating.reviewsCount})`)),n.appendChild(t)}let a=e.badges[0];if(a){let e=document.createElement(`span`);e.className=`mads__badge`,e.textContent=a.label,n.appendChild(e)}if(e.price){let t=document.createElement(`div`);if(t.className=`mads__price`,e.price.fullPrice!==null&&e.price.fullPrice>e.price.offeredPrice){let n=document.createElement(`span`);n.className=`mads__price-full`,n.textContent=w(e.price.fullPrice),t.appendChild(n)}let r=document.createElement(`span`);
231r.className=`mads__price-offered`,r.textContent=w(e.price.offeredPrice);let i=document.createElement(`small`);i.textContent=`/mês`,r.appendChild(i),t.appendChild(r),n.appendChild(t)}let o=document.createElement(`span`);return o.className=`mads__cta`,o.textContent=`Ver oferta`,n.appendChild(o),n}function xe(e,t){if(e?.arts?.length)return e.arts.filter(e=>e?.url&&Number.isFinite(e.minWidth)&&e.minWidth>=0).sort((e,t)=>t.minWidth-e.minWidth);let n=[];return e?.srcDesktop&&n.push({minWidth:t+1,url:e.srcDesktop}),e?.src&&n.push({minWidth:0,url:e.src}),n}function Se(e,t){return e.find(e=>e.alt?.trim()&&(e.minWidth<=0||globalThis.matchMedia?.(`(min-width: ${e.minWidth}px)`)?.matches))?.alt?.trim()||t}function Ce(e,t,n){let r=document.createElement(`a`);r.className=`mads__card mads__card--image`,r.href=C(e,t),r.rel=`sponsored noopener`,r.dataset.offerId=e.tracking.offerId,r.dataset.position=String(e.tracking.position);let i=xe(e.image,n),a=i[i.length-1],o=document.createElement(`picture`);for(let e of i.slice(0,-1)){let t=document.createElement(`source`);t.media=`(min-width: ${e.minWidth}px)`,t.srcset=e.url,o.appendChild(t)}let s=document.createElement(`img`);return s.loading=`lazy`,s.src=a?.url??``,s.alt=Se(i,e.image?.alt??e.courseName),o.appendChild(s),r.appendChild(o),Te(r,s,e.image,i),r}var T=new Set([`contain`,`scale-down`,`none`]),we=0;function Te(e,t,n,r){if(!r.some(e=>e.fit!==void 0||e.maxWidth!==void 0||e.radius!==void 0)){De(t,n);return}let i=`mads-art-${++we}`;e.classList.add(i);let a=`.${i}.${i}.${i} img`,o=[...r].sort((e,t)=>e.minWidth-t.minWidth).map(e=>{let t=`${a}{${Ee({fit:e.fit??n?.fit,maxWidth:e.maxWidth??n?.maxWidth,radius:e.radius??n?.radius})}}`;return e.minWidth>0?`@media (min-width:${e.minWidth}px){${t}}`:t}),s=document.createElement(`style`);s.textContent=o.join(``),e.appendChild(s)}function Ee(e){let t=e.fit??`cover`,n=T.has(t)?`auto`:`100%`;return[`object-fit:${t}`,`height:${n}`,`max-width:${e.maxWidth?`${e.maxWidth}px`:`none`}`,`margin-inline:${e.maxWidth?`auto`:`0`}`,`border-radius:${e.radius===void 0?`var(--mads-image-radius, 0)`:`${e.radius}px`}`].join(`;`)}function De(e,t){t&&(t.fit&&(e.style.setProperty(`object-fit`,t.fit),T.has(t.fit)&&e.style.setProperty(`height`,`auto`)),t.radius!==void 0&&e.style.setProperty(`border-radius`,`${t.radius}px`),t.maxWidth&&(e.style.setProperty(`max-width`,`${t.maxWidth}px`),e.style.setProperty(`margin-inline`,`auto`)))}function Oe(e,t){let n=document.createElement(`a`);return n.className=`mads__card mads__card--link`,n.href=C(e,t),n.rel=`sponsored noopener`,n.dataset.offerId=e.tracking.offerId,n.dataset.position=String(e.tracking.position),n.textContent=e.courseName,n}var ke=e=>t(()=>import(e),[],import.meta.url);function Ae(){}var je=`https://montilla-sdk.quero.space/ad-packs/v1`;function Me(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Z]+)([A-Z][a-z])/g,`$1-$2`).toLowerCase()}function Ne(e,t){return`${t.replace(/\/+$/,``)}/${Me(e)}.pack.mjs`}var E=new WeakMap;function D(e){for(let t of e){let e=E.get(t);if(e){E.delete(t);try{e()}catch{}}}}function Pe(e){let t=e?.itemId;return typeof t==`string`&&t?t:null}function Fe(t,n,r,i,a,o,s){let c=document.createElement(`div`);c.className=`mads__card mads__card--component`,c.dataset.offerId=t.tracking.offerId,c.dataset.position=String(t.tracking.position);let l=t.component;return l?.name&&(c.dataset.component=l.name,a(Ne(l.name,r)).then(r=>{if(typeof r?.mount!=`function`)return;let a=new Set,u=r.mount(c,{props:s?e(l.props??{},s):l.props??{},onEvent:(e,r)=>{let s=Pe(r);if(e===`impression`){if(!s||a.has(s))return;a.add(s),o?.(t,s);return}if(e!==`finish`)return;s?i(t,{item_id:s}):i(t);let c=r?.url;typeof c==`string`&&c&&window.location.assign(_e(c,n,t.tracking.mad))}});E.set(c,u)}).catch(()=>{c.dataset.packError=`1`})),c}function O(e,t){let n=document.createElement(`button`);return n.type=`button`,n.className=`mads__nav mads__nav--${e}`,n.setAttribute(`aria-label`,e===`prev`?`Anterior`:`Próximo`),n.textContent=e===`prev`?`â¹`:`âº`,n.addEventListener(`click`,()=>{let n=e===`prev`?-t.clientWidth:t.clientWidth;t.scrollBy({left:n,behavior:`smooth`})}),n}var Ie=`Publicidade`;function Le(e){if(e===!0)return Ie;if(typeof e==`string`){let t=e.trim();return t===``?null:t}return null}function k(e,t,n,r={}){let i=document.createElement(`div`);i.className=`mads mads--${t.unit}`,t.theme&&(i.dataset.theme=t.theme);let a=Le(r.adLabel);
231if(a){let e=document.createElement(`div`);e.className=`mads__label`,e.textContent=a,i.appendChild(e)}let o=document.createElement(`div`);o.className=`mads__track`;let s=t.offers.map(e=>e.creativeType===`html`?ye(e):e.creativeType===`image`?Ce(e,n,r.mobileBreakpoint??768):e.creativeType===`link`?Oe(e,n):e.creativeType===`component`?Fe(e,n,r.packsUrl??je,r.onConversion??Ae,r.loadPack??ke,r.onItemImpression,r.extraProps):be(e,n));for(let e of s)o.appendChild(e);return i.appendChild(o),t.unit===`carousel`&&s.length>1&&(i.appendChild(O(`prev`,o)),i.appendChild(O(`next`,o))),e.appendChild(i),s}function Re(e,t){let n=e.component?.props?.items;if(Array.isArray(n))for(let e of n){let n=e;if(n?.id===t)return typeof n.campaignId==`string`&&n.campaignId?n.campaignId:void 0}}function A(e,t,n){let r=n?Re(t,n):void 0;return{decision_id:e.id,slot:e.slotSlug,campaign_id:e.campaignId,campaign_name:e.campaignName,ad_set_id:e.adSetId??e.campaignId,offer_campaign_id:r??t.tracking.campaignId??``,ad_id:t.tracking.adId??``,offer_id:t.tracking.offerId,creative_type:t.creativeType,position:String(t.tracking.position),mad:t.tracking.mad}}function j(e,t,n,r,{impressions:i=!0}={}){let a=new WeakSet,o=new Map;e.forEach((e,n)=>{let r=t[n];r&&o.set(e,r)});let s=i&&typeof IntersectionObserver<`u`?new IntersectionObserver((e,t)=>{for(let i of e){if(!i.isIntersecting||a.has(i.target))continue;a.add(i.target),t.unobserve(i.target);let e=o.get(i.target);e&&r(`ad_impression`,A(n,e))}},{threshold:.5}):null;if(s)for(let t of e)s.observe(t);let c=new Map;for(let[e,t]of o){if(t.creativeType===`component`)continue;let i=()=>r(`ad_click`,A(n,t));e.addEventListener(`click`,i),c.set(e,i)}return()=>{s?.disconnect();for(let[e,t]of c)e.removeEventListener(`click`,t);c.clear()}}var M=`data-montilla-slot`,N=`data-montilla-size`,P=`data-montilla-height`,F=`data-montilla-ratio`,ze=`data-montilla-size-mobile`,Be=`data-montilla-height-mobile`,Ve=`data-montilla-ratio-mobile`,He=`data-montilla-tags`,I=`data-montilla-props`,L=`data-montilla-vars`;function R(e){let t={};for(let n of(e??``).split(`;`)){let e=n.indexOf(`=`);if(e<=0)continue;let r=n.slice(0,e).trim(),i=n.slice(e+1).trim();r&&i&&(t[r]=i)}return t}function Ue(e){if(e)try{let t=JSON.parse(e);return!t||typeof t!=`object`||Array.isArray(t)?void 0:t}catch{return}}var z={};function We(e){z={...z,...e}}var Ge=`data-montilla-collapse`,Ke=`data-montilla-ad-label`,qe=`data-montilla-mount`,Je=`data-montilla-mount-position`,B=`data-montilla-injected`,V=`data-montilla-reserved`,Ye=`montilla:ads:debug`,H=`data-montilla-debug-outline`,U=`data-montilla-debug-tag`,W=new WeakMap;function G(e){if(typeof e!=`string`)return e;if(/^\s*(\/|\(|\.\.?\/)/.test(e))try{let t=document.evaluate(e,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;return t instanceof HTMLElement?t:null}catch{return null}return document.querySelector(e)}function Xe(e){return e.decision!==null}var Ze=[`before`,`after`,`prepend`,`append`,`replace`];function Qe(e){return Ze.includes(e)?e:`append`}function K(e,t,n){switch(n){case`before`:e.before(t);break;case`after`:e.after(t);break;case`prepend`:e.prepend(t);break;case`replace`:e.replaceWith(t);break;default:e.append(t)}}var q=null;async function $e(){return q??=(async()=>{let e=await g();for(let t of e){let e=t.slug.replace(/["\\\]]/g,``);if(!e||document.querySelector(`[data-montilla-slot="${e}"]`))continue;let n=G(t.mount.target);if(!n)continue;let r=document.createElement(`div`);r.setAttribute(`data-montilla-slot`,e),t.size&&!s(t.size)&&r.setAttribute(`data-montilla-size`,t.size),r.setAttribute(B,``),K(n,r,t.mount.position)}})(),q}function et(){q=null}function tt(e){if(e.hasAttribute(B))return!0;let t=e.getAttribute(qe);if(!t)return!0;let n=G(t);return!n||n===e?!1:(K(n,e,Qe(e.getAttribute(Je))),e.setAttribute(B,``),!0)}function J(e,t,n,r){let i=t&&!s(t)?d(t):null;if(i)return e.setAttribute(V,``),e.style.setProperty(`min-height`,`${i.height}px`),e.style.setProperty(`max-width`,`${i.width}px`),!0;let a=nt(n);return a?(e.setAttribute(V,``),e.style.setProperty(`min-height`,a),!0):r?(e.setAttribute(V,``),e.style.setProperty(`aspect-ratio`,r),!0):!1}function nt(e){if(e==null||e===``)return null;let t=String(e).trim();return/^\d+(\.\d+)?$/.test(t)?`${t}px`:t}function rt(e){e.hasAttribute(V)&&(e.style.removeProperty(`min-height`),e.style.removeProperty(`max-width`),e.style.removeProperty(`aspect-ratio`),e.style.setProperty(`height`,`0`),e.style.setProperty(`overflow`,`hidden`))}function Y(e){e.hasAttribute(V)&&(e.removeAttribute(V),e.style.removeProperty(`min-height`),e.style.removeProperty(`max-width`),e.style.removeProperty(`aspect-ratio`))}function it(){return l.config?.ads?.mobileBreakpoint??768}function at(){return typeof window>`u`||typeof window.matchMedia!=`function`?null:window.matchMedia(`(max-width: ${it()}px)`)}function ot(){return typeof navigator>`u`?!1:/Android|iPhone|iPad|iPod|Mobi/i.test(navigator.userAgent)}function X(){return typeof window<`u`&&window.innerWidth===0?ot()?`mobile`:`desktop`:at()?.matches?`mobile`:`desktop`}var Z=new Map,st=!1;function ct(e,t){return t===`mobile`?e.mobile:e.desktop}
231function lt(){if(st)return;let e=at();!e||typeof e.addEventListener!=`function`||(st=!0,e.addEventListener(`change`,()=>{let e=X();for(let[t,n]of Z){if(!t.isConnected){Z.delete(t);continue}if(!t.hasAttribute(V)||t.style.height===`0px`)continue;let r=ct(n,e);Y(t),J(t,r.size,r.height,r.ratio)}}))}var Q=`data-montilla-debug`;function ut(){let e=l.config?.ads?.debug;if(e)return e===!0?`asset`:e;try{if(typeof localStorage>`u`)return`off`;let e=localStorage.getItem(Ye);return e===`1`||e===`box`?`box`:e===`asset`?`asset`:e===`asset-box`?`asset-box`:`off`}catch{return`off`}}var dt=` 232.mads-dbg { 233 box-sizing: border-box; flex: 1 0 auto; overflow: hidden; 234 display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; 235 border: 2px dashed #E5007A; border-radius: 8px; background: rgba(229,0,122,.06); 236 color: #E5007A; text-align: center; padding: 8px; 237 font-family: ui-monospace, 'SF Mono', Menlo, monospace; 238} 239/* O piso de 88px vale Sà para slot sem reserva. Quando a reserva existe, a 240 * moldura tem de caber nela: um piso aqui empurraria o host (min-height é piso, 241 * não teto) e a moldura passaria a mostrar uma área maior que a real â numa 242 * faixa de 64px ela media 88, 37% a mais, e cobria o que vem embaixo. O 243 * overflow hidden acima é o par disto: em reserva baixa o rótulo é cortado em 244 * vez de esticar a caixa. */ 245.mads-dbg--dynamic { min-height: 88px; } 246.mads-dbg__name { font-size: .95rem; font-weight: 700; letter-spacing: .01em; word-break: break-word; } 247.mads-dbg__meta { font-size: .68rem; opacity: .8; text-transform: uppercase; letter-spacing: .08em; } 248 249/* Absoluto no canto porque a moldura corta o que transborda e a reserva pode 250 * ser baixa: no fluxo, este botão roubaria a linha do rótulo numa faixa de 251 * 64px. */ 252.mads-dbg { position: relative; } 253.mads-dbg__more { 254 position: absolute; top: 4px; right: 4px; 255 width: 18px; height: 18px; padding: 0; 256 display: flex; align-items: center; justify-content: center; 257 border: 1px solid currentColor; border-radius: 50%; background: transparent; 258 color: inherit; font: inherit; font-size: .62rem; font-weight: 700; 259 line-height: 1; cursor: pointer; opacity: .65; 260} 261.mads-dbg__more:hover, .mads-dbg__more:focus-visible { opacity: 1; } 262 263.mads-dbg-panel { 264 max-width: min(30rem, 92vw); max-height: 80vh; overflow: auto; 265 border: 2px solid #E5007A; border-radius: 10px; padding: 16px; 266 background: #fff; color: #1a1a1a; 267 font-family: ui-monospace, 'SF Mono', Menlo, monospace; font-size: .78rem; 268 /* Centralizar um dialog modal depende do trio inset:0 + width:fit-content + 269 * margin:auto, e o margin:auto vem SO do user-agent â que o proprio reset do 270 * SDK atropela: AD_STYLES (cms/styles.ts) abre zerando margin no seletor 271 * universal, e isso vale para tudo no shadow root, dialog incluido. Sem esta linha o painel 272 * abria grudado no canto superior esquerdo da viewport, longe de onde se 273 * clicou e fora da area visivel com a pagina rolada â e, sendo rosa 274 * tracejado, ainda se confundia com outra moldura de debug. Lia-se como "o 275 * botao nao faz nada". 276 * 277 * Vai aqui e nao no reset porque o reset esta certo para o resto do slot: o 278 * criativo nao deve herdar margem de lugar nenhum. Quem precisa de excecao e 279 * o dialog. */ 280 margin: auto; 281} 282.mads-dbg-panel::backdrop { background: rgba(0,0,0,.45); } 283.mads-dbg-panel__title { 284 margin: 0 0 12px; font-size: .9rem; color: #E5007A; word-break: break-word; 285} 286.mads-dbg-panel__list { 287 display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 0; 288} 289.mads-dbg-panel__list dt { opacity: .6; text-transform: uppercase; font-size: .62rem; letter-spacing: .06em; } 290/* A moldura centraliza o próprio rótulo, e o painel herda isso por estar 291 * dentro dela â numa lista de pares, centralizar torna a leitura penosa. */ 292.mads-dbg-panel, .mads-dbg-panel__list dt, .mads-dbg-panel__list dd { text-align: left; } 293/* pre-line para a lista de tags, que sai com uma por linha. */ 294.mads-dbg-panel__list dd { margin: 0; white-space: pre-line; word-break: break-word; } 295.mads-dbg-panel__close { 296 margin-top: 16px; padding: 6px 12px; cursor: pointer; 297 border: 1px solid #E5007A; border-radius: 6px; 298 background: transparent; color: #E5007A; font: inherit; 299} 300`,ft=`montilla-ads-debug-styles`;function pt(e){if(e instanceof ShadowRoot){let t=document.createElement(`style`);t.textContent=dt,e.appendChild(t);return}if(document.getElementById(ft))return;let t=document.createElement(`style`);t.id=ft,t.textContent=dt,document.head.appendChild(t)}function mt(e,t,n=!1){let{slot:r,size:i,height:a,ratio:o}=t,c=J(e,i,a,o);c||(e.setAttribute(Q,``),e.style.setProperty(`min-height`,`88px`));let l=t.shadow===!1?S(e):b(e);pt(l);let u=document.createElement(`div`);u.className=c?`mads-dbg`:`mads-dbg mads-dbg--dynamic`;let d=document.createElement(`div`);d.className=`mads-dbg__name`,d.textContent=r;let f=document.createElement(`div`);f.className=`mads-dbg__meta`;let p=i&&!s(i)?i:a||o?`full-width`:`dynamic`;f.textContent=n?`${p} · sem peça`:p,u.append(d,f),u.append(ht(t,p,n)),l.appendChild(u);let m={slot:r,decision:null,unmount:()=>{vt(e),l.replaceChildren(),W.delete(e)}};return W.set(e,m),m}function ht(e,t,n){let r=document.createElement(`div`),i=document.createElement(`dialog`);i.className=`mads-dbg-panel`;let a=document.createElement(`h2`);a.className=`mads-dbg-panel__title`,a.textContent=e.slot;let o=document.createElement(`dl`);o.className=`mads-dbg-panel__list`;
300for(let[r,i]of gt(e,t,n)){let e=document.createElement(`dt`);e.textContent=r;let t=document.createElement(`dd`);t.textContent=i,o.append(e,t)}let s=document.createElement(`button`);s.type=`button`,s.className=`mads-dbg-panel__close`,s.textContent=`fechar`,s.addEventListener(`click`,()=>i.close()),i.append(a,o,s);let c=document.createElement(`button`);return c.type=`button`,c.className=`mads-dbg__more`,c.textContent=`i`,c.setAttribute(`aria-label`,`Detalhes do slot ${e.slot}`),c.addEventListener(`click`,()=>{typeof i.showModal==`function`?i.showModal():i.open=!0}),r.append(c,i),r}function gt(e,t,n){let{tags:r,device:i,routePattern:a,pageType:o,shadow:s,collapse:c,adLabel:l,extraProps:u,popup:d,mountPosition:f,vars:p}=e,m=[[`modo`,n?`asset â pediu e não veio peça`:`box â não pediu nada`],[`reserva`,t],[`tags`,r?.length?r.join(` 301`):`â`],[`device`,i??`â`],[`página`,a??o??`â`]];return p&&Object.keys(p).length&&m.push([`vars`,JSON.stringify(p)]),d&&m.push([`popup`,JSON.stringify(d)]),f&&m.push([`injeção`,f]),m.push([`shadow DOM`,s===!1?`não`:`sim`]),c!==void 0&&m.push([`colapsa no vazio`,c?`sim`:`não`]),l!==void 0&&m.push([`rótulo de anúncio`,String(l)]),u&&m.push([`props do host`,JSON.stringify(u)]),m}function _t(e,t=!1){yt(),e.setAttribute(H,``),t&&e.setAttribute(U,``)}function vt(e){e.removeAttribute(H),e.removeAttribute(U),e.hasAttribute(Q)&&(e.removeAttribute(Q),e.style.removeProperty(`min-height`))}var $=`montilla-ads-debug-outline`;function yt(){if(typeof document>`u`||document.getElementById($))return;let e=document.createElement(`style`);e.id=$,e.textContent=` 302[${H}] { outline: 2px dashed #c75d08; outline-offset: -2px; } 303/* position relative só no modo com carimbo: é o containing block do ::after. 304 O host de um slot contém apenas o que o SDK monta, então posicioná-lo não 305 alcança nada da página. (Sem crases: isto vive num template literal.) */ 306[${U}] { position: relative; } 307[${U}]::after { 308 content: attr(data-montilla-slot); 309 position: absolute; top: 0; left: 0; z-index: 2147483000; 310 padding: 1px 6px; border-radius: 0 0 4px 0; 311 background: #c75d08; color: #fff; 312 font: 600 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; 313 pointer-events: none; white-space: nowrap; 314}`,document.head.appendChild(e)}function bt(e,t,n){return{packsUrl:l.config?.ads?.packsUrl,adLabel:t.adLabel??l.config?.ads?.adLabel,mobileBreakpoint:it(),extraProps:t.extraProps,onConversion:(t,r)=>n(`ad_click`,{...A(e.decision,t,xt(r)),...r}),onItemImpression:(t,r)=>n(`ad_item_impression`,{...A(e.decision,t,r),item_id:r})}}function xt(e){let t=e?.item_id;return typeof t==`string`&&t?t:void 0}async function St(e,t,n){let r=G(e);if(!r)return null;if(t.mountPosition){let e=document.createElement(`div`);e.setAttribute(B,``),K(r,e,t.mountPosition);let i=await Ct(e,{...t,mountPosition:void 0},n);if(!i)return e.remove(),null;let a=i.unmount;return i.unmount=()=>{a(),e.remove()},i}return Ct(r,t,n)}async function Ct(e,t,n){W.get(e)?.unmount();let r=ut(),i=r===`asset`||r===`asset-box`;if(r===`box`)return mt(e,t);vt(e);let a={...t,device:t.device??X()},o=!t.popup&&J(e,a.size,a.height,a.ratio),s=await h(a);if(!s||!Xe(s)||s.offers.length===0){if(i)return mt(e,t,!0);let n=t.collapse??l.config?.ads?.collapseEmpty??!0;return o&&n&&rt(e),null}i&&_t(e,r===`asset-box`);let c=l.config?.ads?.param??`mad`;if(s.renderMode===`custom`){o&&Y(e);let n={slot:t.slot,decision:s.decision,renderMode:`custom`,offers:s.offers,unmount:()=>{W.delete(e)}};return W.set(e,n),n}if(s.renderMode===`swap`){o&&Y(e);let r=wt(e,s,c,n),i={slot:t.slot,decision:s.decision,renderMode:`swap`,unmount:()=>{r(),W.delete(e)}};return W.set(e,i),i}let u=t.popup??s.popup??null;if(u){o&&rt(e);let r=b(e),i=k(r,s,c,bt(s,t,n)),a=document.createElement(`div`);for(let e of i)a.appendChild(e);let l=pe(r,a,u,{onOpen:()=>{for(let e of s.offers)n(`ad_impression`,A(s.decision,e))},onDismiss:()=>{for(let e of s.offers)n(`ad_dismiss`,A(s.decision,e))}},s.decision.adSetId??s.decision.campaignId,s.offers[0]?.image?.arts?.map(e=>({minWidth:e.minWidth,maxWidth:e.popup?.maxWidth,fullBleed:e.popup?.boxMode===`full`}
314))),d=j(i,s.offers,s.decision,n,{impressions:!1}),f={slot:t.slot,decision:s.decision,renderMode:`render`,unmount:()=>{d(),l.dispose(),D(i),r.replaceChildren(),W.delete(e)}};return W.set(e,f),f}let d=t.shadow===!1?S(e):b(e),f=k(d,s,c,bt(s,t,n)),p=j(f,s.offers,s.decision,n),m={slot:t.slot,decision:s.decision,renderMode:`render`,unmount:()=>{p(),D(f),d.replaceChildren(),W.delete(e)}};return W.set(e,m),m}function wt(e,t,n,r){let i=t.offers[0],a=e instanceof HTMLAnchorElement?e:e.querySelector(`a`),o=e instanceof HTMLImageElement?e:e.querySelector(`img`);a&&(a.href=C(i,n),a.rel=`sponsored noopener`),o&&i.logoUrl&&(o.src=i.logoUrl);let s=a??o??e;return s.dataset.offerId=i.tracking.offerId,j([s],[i],t.decision,r)}function Tt(e){let t=G(e);t&&W.get(t)?.unmount()}async function Et(e){lt(),await $e();let t=X(),n=Array.from(document.querySelectorAll(`[${M}]`));return(await Promise.all(n.map(n=>{let r=n.getAttribute(M);if(!r||!tt(n))return Promise.resolve(null);let i=e=>n.getAttribute(e)??void 0,a={size:i(N),height:i(P),ratio:i(F)},o={size:i(`data-montilla-size-mobile`)??a.size,height:i(`data-montilla-height-mobile`)??a.height,ratio:i(`data-montilla-ratio-mobile`)??a.ratio};Z.set(n,{desktop:a,mobile:o});let s=ct({desktop:a,mobile:o},t),c=(i(`data-montilla-tags`)??``).split(`,`).map(e=>e.trim()).filter(Boolean),l=[...new Set([...z.tags??[],...c])],u=n.getAttribute(Ge),d=u===null?void 0:u!==`false`,f=n.getAttribute(`data-montilla-shadow`)!==`false`,p=n.getAttribute(Ke),m=p===null?void 0:p===`true`||p!==`false`&&p,h=Ue(i(I)),g=R(i(L)),_={...z.vars??{},...g};return St(n,{slot:r,size:s.size,height:s.height,ratio:s.ratio,device:t,collapse:d,shadow:f,adLabel:m,extraProps:h,routePattern:z.routePattern,tags:l.length?l:void 0,vars:Object.keys(_).length?_:void 0},e)}))).filter(e=>e!==null)}export{Ge as AD_COLLAPSE_ATTR,Ye as AD_DEBUG_KEY,P as AD_HEIGHT_ATTR,Be as AD_HEIGHT_MOBILE_ATTR,Ke as AD_LABEL_ATTR,qe as AD_MOUNT_ATTR,Je as AD_MOUNT_POSITION_ATTR,I as AD_PROPS_ATTR,F as AD_RATIO_ATTR,Ve as AD_RATIO_MOBILE_ATTR,N as AD_SIZE_ATTR,ze as AD_SIZE_MOBILE_ATTR,M as AD_SLOT_ATTR,He as AD_TAGS_ATTR,L as AD_VARS_ATTR,Ue as parseExtraProps,R as parseVars,St as render,et as resetInjectedBindings,Et as scan,We as setPageContext,Tt as unmount};
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.