1import { n as e, r as t } from "./rolldown-runtime-BEVGH_SI.esm.min.js"; 2import { n, t as r } from "./element-observer-CkO0wIRI.esm.min.js"; 3import { D as i, F as ee, P as te, j as ne, k as re, z as ie } from "./utils-CFH2HoT6.esm.min.js"; 4import { n as a, t as o } from "./error-logger-B5ObxGrl.esm.min.js"; 5import { n as ae, t as oe } from "./consent-RBt4TFuB.esm.min.js"; 6import { r as se, t as ce } from "./tracking-DPGCiTY6.esm.min.js"; 7var s, c, le, l, u, ue, d, f, de, p, m, h, g, _, v, y, b, fe, x, S, C, w, T, E, D, O, k, A, j, M, N, P, F, I, L, R, z, B, V, H, U, pe, W, G, me, K, he, q, J, ge, _e, ve, ye, be, xe, Se, Y = e(() => { 8 s = { 9 galleryNode: null, 10 galleryItems: null, 11 progressValue: null, 12 galleryLength: 0, 13 currentPage: 1, 14 strippedPageUrl: "" 15 }, c = () => { 16 let e = document.querySelector("[data-role=\"alice-gallery\"]"), t = e?.querySelectorAll("[data-role=\"alice-gallery-item\"]"), n = document.querySelector("[data-role=\"alice-gallery-progress-value\"]"); 17 s.galleryNode = e, s.galleryItems = t, s.progressValue = n, s.galleryLength = t?.length || 0, s.currentPage = 1, s.strippedPageUrl = le(); 18 }, le = () => window.location.href.split(/[?#]/)[0], l = { 19 init: c, 20 get: () => s, 21 set: (e) => { 22 s = Object.assign({}, s, e); 23 } 24 }; 25}), X = e(() => { 26 ee(), oe(), a(), Y(), u = () => { 27 if (window.smbContext?.page?.ad?.components?.includes("metatag")) try { 28 let e = ue(); 29 d(e), de(e); 30 } catch { 31 o(/* @__PURE__ */ Error("Gallery | Could not circulate mobile ads")); 32 } 33 }, ue = () => { 34 let e = []; 35 return l.get().galleryItems?.[l.get().currentPage - 2] && e.push(l.get().galleryItems[l.get().currentPage - 2]), l.get().galleryItems?.[l.get().currentPage - 1] && e.push(l.get().galleryItems[l.get().currentPage - 1]), l.get().galleryItems?.[l.get().currentPage] && e.push(l.get().galleryItems[l.get().currentPage]), l.get().galleryItems?.[l.get().currentPage + 1] && e.push(l.get().galleryItems[l.get().currentPage + 1]), l.get().galleryItems?.[l.get().currentPage + 2] && e.push(l.get().galleryItems[l.get().currentPage + 2]), e; 36 }, d = (e) => { 37 l.get().galleryItems?.forEach((t, n) => { 38 e.includes(t) || f(t); 39 }); 40 }, f = (e) => { 41 e.querySelectorAll("[data-slotname]").forEach((e) => { 42 if (e && e.getAttribute("data-sdg-ad")) { 43 let t = e?.dataset?.sdgAd; 44 e.removeAttribute("data-sdg-ad"), h(t); 45 } 46 }); 47 }, de = (e) => { 48 e.forEach((e, t) => { 49 p(e); 50 }); 51 }, p = (e) => { 52 e.querySelectorAll("[data-slotname]").forEach((e, t) => { 53 if (e && !e.hasAttribute("data-sdg-ad")) { 54 let t = e.getAttribute("data-slotname"); 55 e.setAttribute("data-sdg-ad", t), m(e); 56 } 57 }); 58 }, m = (e) => { 59 document.dispatchEvent(new CustomEvent("adloader:load-ad", { detail: e })); 60 }, h = (e) => { 61 document.dispatchEvent(new CustomEvent("adloader:unregister-ad", { detail: e })); 62 }, g = (e) => { 63 let t = e.querySelector("[data-role=\"alice-gallery-nativendo\"] iframe"); 64 if (!t) return; 65 let n = t.getAttribute("data-src"); 66 t.getAttribute("data-consent-processed") === "true" ? t.setAttribute("src", n) : ae.onConsentReady((e) => { 67 n = ie(n, e?.tcString), n = _(n), t.setAttribute("data-consent-processed", "true"), t.setAttribute("data-src", n), t.setAttribute("src", n); 68 }); 69 }, _ = (e) => e + `${e.includes("?") ? "&" : "?"}url=${encodeURIComponent(document.location.href)}`, v = { 70 assignAds: p, 71 assignConative: (e) => { 72 let t = e.querySelector("[data-role=\"alice-gallery-conative\"]"); 73 t && ae.onVendorReady(["definemedia"], (e) => { 74 let n = t.querySelector("[data-role=\"alice-gallery-conative-template\"]"); 75 if (!n) return; 76 let r = te(n.dataset.content); 77 t.insertBefore(r, t.firstChild); 78 let i = t.querySelector("iframe"); 79 i?.addEventListener("load", () => { 80 new MutationObserver(() => { 81 i.style.height = `${i.contentWindow?.document?.body?.scrollHeight}px`; 82 }).observe(i.contentWindow?.document?.body, { 83 characterData: !0, 84 childList: !0, 85 subtree: !0 86 }); 87 }); 88 }); 89 }, 90 assignNativendo: g, 91 circulate: u, 92 unAssignAds: f, 93 unAssignNativendo: (e) => { 94 let t = e.querySelector("[data-role=\"alice-gallery-nativendo\"] iframe"); 95 t && t.setAttribute("src", ""); 96 }, 97 unAssignConative: (e) => { 98 let t = e.querySelector("[data-role=\"alice-gallery-conative\"]"); 99 t && t.remove(); 100 } 101 }; 102}), Ce = e(() => { 103 y = { 104 reloadImgurIframe: (e) => { 105 e.querySelectorAll("[data-provider=\"imgur\"] iframe").forEach((e) => { 106 e.src += ""; 107 }); 108 }, 109 reloadRedditIframe: (e) => { 110 e.querySelectorAll("[data-provider=\"reddit\"] iframe").forEach((e) => { 111 e.src += ""; 112 }); 113 }, 114 stopYoutubeVideo: (e) => { 115 e.querySelectorAll("[data-provider=\"youtube\"] iframe").forEach((e) => { 116 e.src += ""; 117 }); 118 } 119 }; 120}), Z = e(() => { 121 a(), Y(), b = () => { 122 x(C() === l.get().currentPage ? "replaceState" : "pushState"); 123 }, fe = () => { 124 x("replaceState"); 125 }, x = (e) => { 126 let t = l.get().currentPage, n = t > 1 ? `${l.get().strippedPageUrl}#page-${t}` : l.get().strippedPageUrl; 127 try { 128 window.history[e]({ page: t }, "", n); 129 } catch { 130 o(/* @__PURE__ */ Error("Gallery | Could not pushState() to window.history")); 131 } 132 }, S = () => { 133 let e = window.location.hash; 134 if (e.includes("#pid-")) { 135 let t = e.replace("#pid-", ""), n = document.querySelector(`[data-role="alice-gallery-item"][data-pid="${t}"]`), r = n?.dataset?.index ? parseInt(n.dataset.index) : null; 136 return w(r) ? r : null; 137 } 138 if (e.includes("#page-")) { 139 let t = parseInt(e.replace(/^\D+/g, "")); 140 return w(t) ? t : null; 141 } 142 return null; 143 }
143, C = () => window.location.hash === "" ? 1 : S(), w = (e) => typeof e == "number" && e > 0 && e <= l.get().galleryLength, T = { 144 updateStateHistory: b, 145 replaceStateHistory: fe, 146 getPageIdFromHash: S, 147 getCurrentPageId: C 148 }; 149}), Q = e(() => { 150 Y(), E = 0, D = (e) => { 151 let { progressValue: t, currentPage: n } = l.get(), r = String(n); 152 t?.style.setProperty("transform", `scaleX(${Math.min(Math.max(e, 0), 1)})`), t?.getAttribute("aria-valuenow") !== r && t?.setAttribute("aria-valuenow", r); 153 }, O = () => { 154 let { progressValue: e } = l.get(); 155 e && (e.style.transition = "none", window.removeEventListener("scroll", k), window.addEventListener("scroll", k, { passive: !0 }), D(A())); 156 }, k = () => { 157 window.cancelAnimationFrame(E), E = window.requestAnimationFrame(() => D(A())); 158 }, A = () => { 159 let { galleryItems: e } = l.get(); 160 if (!e?.length) return 0; 161 let t = e[0].getBoundingClientRect().top, n = e[e.length - 1].getBoundingClientRect().bottom - t; 162 return n > 0 ? (window.innerHeight - t) / n : 0; 163 }, j = { 164 observeScroll: O, 165 update: () => { 166 let { currentPage: e, galleryLength: t } = l.get(); 167 D(t > 0 ? e / t : 0); 168 } 169 }; 170}), $ = e(() => { 171 ce(), Y(), M = () => { 172 let e = window.location.pathname + window.location.hash; 173 l.get().currentPage === 1 && (e = window.location.pathname), se({ 174 event: "itemstream-pageview", 175 pageViewType: "virtual pageview", 176 isItemstream: !0, 177 page: e, 178 contentPageCount: l.get().galleryLength, 179 contentPageIndex: l.get().currentPage, 180 contentPageViewType: l.get().galleryLength === l.get().currentPage ? "last element" : "nth element" 181 }); 182 }; 183}), we = e(() => { 184 X(), Ce(), Z(), Q(), $(), Y(), N = () => { 185 let e = T.getPageIdFromHash(); 186 e ? (B(1), l.set({ currentPage: e }), V(e)) : V(1), j.update(), z(), H(), F(), P(); 187 }, P = () => { 188 document.onkeydown = (e) => { 189 switch (e.keyCode) { 190 case 37: 191 L(); 192 break; 193 case 39: I(); 194 } 195 }; 196 }, F = () => { 197 document.querySelectorAll("[data-role=\"alice-gallery-prev\"]").forEach((e) => { 198 e.addEventListener("click", (e) => { 199 e.preventDefault(), L(); 200 }); 201 }), document.querySelectorAll("[data-role=\"alice-gallery-next\"]").forEach((e) => { 202 e.addEventListener("click", (e) => { 203 e.preventDefault(), I(); 204 }); 205 }); 206 }, I = () => { 207 l.get().currentPage < l.get().galleryLength && R(l.get().currentPage + 1); 208 }, L = () => { 209 l.get().currentPage > 1 && R(l.get().currentPage - 1); 210 }, R = (e) => { 211 B(l.get().currentPage), l.set({ currentPage: e }), V(l.get().currentPage), j.update(), document.dispatchEvent(new Event("adloader:refresh-all")), document.dispatchEvent(new Event("gallery:change-page")), T.updateStateHistory(), window.scrollTo(0, 0), z(), M(); 212 }, z = () => { 213 l.get().currentPage === 1 ? document.querySelector("[data-role=\"alice-article-header\"]")?.classList.remove("alice-layout-article-header-hidden") : document.querySelector("[data-role=\"alice-article-header\"]")?.classList.add("alice-layout-article-header-hidden"); 214 }, B = (e) => { 215 let t = l.get().galleryItems?.[e - 1]; 216 t && (t.classList.add("alice-gallery-item-hidden"), v.unAssignAds(t), y.stopYoutubeVideo(t)); 217 }, V = (e) => { 218 let t = l.get().galleryItems?.[e - 1]; 219 t && (t.classList.remove("alice-gallery-item-hidden"), v.assignAds(t), y.reloadImgurIframe(t), y.reloadRedditIframe(t)); 220 }, H = () => { 221 window.onhashchange = () => { 222 let e = T.getCurrentPageId(); 223 e && e !== l.get().currentPage && R(e); 224 }; 225 }, U = { init: N }; 226}), Te = e(() => { 227 X(), Ce(), Z(), Q(), $(), Y(), pe = () => { 228 let e = T.getPageIdFromHash(); 229 e ? (q(1), l.set({ currentPage: e }), J(e)) : J(1), j.update(), ge(), W(); 230 }, W = () => { 231 document.querySelectorAll("[data-role=\"alice-gallery-prev\"]").forEach((e) => { 232 e.addEventListener("click", (e) => { 233 e.preventDefault(), me(); 234 }); 235 }), document.querySelectorAll("[data-role=\"alice-gallery-next\"]").forEach((e) => { 236 e.addEventListener("click", (e) => { 237 e.preventDefault(), G(); 238 }); 239 }); 240 }, G = () => { 241 l.get().currentPage < l.get().galleryLength && K(l.get().currentPage + 1); 242 }, me = () => { 243 l.get().currentPage > 1 && K(l.get().currentPage - 1); 244 }, K = (e) => { 245 q(l.get().currentPage), l.set({ currentPage: e }), J(l.get().currentPage), j.update(), document.dispatchEvent(new Event("adloader:refresh-all")), document.dispatchEvent(new Event("gallery:change-page")), T.updateStateHistory(), window.scrollTo(0, 0), he(), M(); 246 }, he = () => { 247 l.get().currentPage === 1 ? document.querySelector("[data-role=\"alice-article-header\"]")?.classList.remove("alice-layout-article-header-hidden") : document.querySelector("[data-role=\"alice-article-header\"]")?.classList.add("alice-layout-article-header-hidden"); 248 }, q = (e) => { 249 let t = l.get().galleryItems?.[e - 1]; 250 t && (t.classList.add("alice-gallery-item-hidden"), v.unAssignNativendo(t), v.unAssignConative(t), y.stopYoutubeVideo(t)); 251 }, J = (e) => { 252 let t = l.get().galleryItems?.[e - 1]; 253 t && (t.classList.remove("alice-gallery-item-hidden"), v.assignNativendo(t), v.assignConative(t), y.reloadImgurIframe(t), y.reloadRedditIframe(t)); 254 }, ge = () => { 255 window.onhashchange = () => { 256 let e = T.getCurrentPageId(); 257 e && e !== l.get().currentPage && K(e); 258 }; 259 }, _e = { init: pe }; 260}), Ee = e(() => { 261 r(), X(), Z(), Q(), $(), Y(), ve = () => { 262 v.circulate(), j.observeScroll(), ye(), be(); 263 }, ye = () => { 264 l.get().galleryItems?.forEach((e, t) => { 265 let r = e.querySelector("[data-role=\"alice-gallery-item-content\"]"); 266 r && n.repeat(r, () => { 267 l.get().currentPage !== t + 1 && (l.set({ currentPage: t + 1 }), M(), v.circulate(), T.replaceStateHistory()); 268 }); 269 }); 270 }, be = () => { 271 window.onhashchange = () => { 272 let e = T.getCurrentPageId(); 273 e && l.set({ currentPage: e }); 274 }; 275 }, xe = { init: ve }; 276}), De = t({ default: () => Se }), Oe = e(() => { 277 i(), we(), Te(), Ee(), Y(), Se = { init: () => {
278 l.init(), ne() ? re() ? _e.init() : xe.init() : U.init(); 279 } }; 280}); 281export { De as n, Oe as t };
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.