PageSourceSearch

https://s1.48hourprint.com/assets/libraries/headjs/1.0.3/head.js?v=fb3fa59328baab7f81ef2ae3b3610c7c8b01ed36

js 48hourprint.com collected 2026-10-03 22:10:26 UTC 15,997 bytes, 496 lines download raw bytes

vendor: 6,767 bytes, lines 1-184
1/*! head.core - v1.0.2 */
2(function(n, t) {
3    "use strict";
4
5    function r(n) {
6        a[a.length] = n
7    }
8
9    function k(n) {
10        var t = new RegExp(" ?\\b" + n + "\\b");
11        c.className = c.className.replace(t, "")
12    }
13
14    function p(n, t) {
15        for (var i = 0, r = n.length; i < r; i++) t.call(n, n[i], i)
16    }
17
18    function tt() {
19        var t, e, f, o;
20        c.className = c.className.replace(/ (w-|eq-|gt-|gte-|lt-|lte-|portrait|no-portrait|landscape|no-landscape)\d+/g, "");
21        t = n.innerWidth || c.clientWidth;
22        e = n.outerWidth || n.screen.width;
23        u.screen.innerWidth = t;
24        u.screen.outerWidth = e;
25        r("w-" + t);
26        p(i.screens, function(n) {
27            t > n ? (i.screensCss.gt && r("gt-" + n), i.screensCss.gte && r("gte-" + n)) : t < n ? (i.screensCss.lt && r("lt-" + n), i.screensCss.lte && r("lte-" + n)) : t === n && (i.screensCss.lte && r("lte-" + n), i.screensCss.eq && r("e-q" + n), i.screensCss.gte && r("gte-" + n))
28        });
29        f = n.innerHeight || c.clientHeight;
30        o = n.outerHeight || n.screen.height;
31        u.screen.innerHeight = f;
32        u.screen.outerHeight = o;
33        u.feature("portrait", f > t);
34        u.feature("landscape", f < t)
35    }
36
37    function it() {
38        n.clearTimeout(b);
39        b = n.setTimeout(tt, 50)
40    }
41    var y = n.document,
42        rt = n.navigator,
43        ut = n.location,
44        c = y.documentElement,
45        a = [],
46        i = {
47            screens: [240, 320, 480, 640, 768, 800, 1024, 1280, 1440, 1680, 1920],
48            screensCss: {
49                gt: !0,
50                gte: !1,
51                lt: !0,
52                lte: !1,
53                eq: !1
54            },
55            browsers: [{
56                ie: {
57                    min: 6,
58                    max: 11
59                }
60            }],
61            browserCss: {
62                gt: !0,
63                gte: !1,
64                lt: !0,
65                lte: !1,
66                eq: !0
67            },
68            html5: !0,
69            page: "-page",
70            section: "-section",
71            head: "head"
72        },
73        v, u, s, w, o, h, l, d, f, g, nt, e, b;
74    if (n.head_conf)
75        for (v in n.head_conf) n.head_conf[v] !== t && (i[v] = n.head_conf[v]);
76    u = n[i.head] = function() {
77        u.ready.apply(null, arguments)
78    };
79    u.feature = function(n, t, i) {
80        return n ? (Object.prototype.toString.call(t) === "[object Function]" && (t = t.call()), r((t ? "" : "no-") + n), u[n] = !!t, i || (k("no-" + n), k(n), u.feature()), u) : (c.className += " " + a.join(" "), a = [], u)
81    };
82    u.feature("js", !0);
83    s = rt.userAgent.toLowerCase();
84    w = /mobile|android|kindle|silk|midp|phone|(windows .+arm|touch)/.test(s);
85    u.feature("mobile", w, !0);
86    u.feature("desktop", !w, !0);
87    s = /(chrome|firefox)[ \/]([\w.]+)/.exec(s) || /(iphone|ipad|ipod)(?:.*version)?[ \/]([\w.]+)/.exec(s) || /(android)(?:.*version)?[ \/]([\w.]+)/.exec(s) || /(webkit|opera)(?:.*version)?[ \/]([\w.]+)/.exec(s) || /(msie) ([\w.]+)/.exec(s) || /(trident).+rv:(\w.)+/.exec(s) || [];
88    o = s[1];
89    h = parseFloat(s[2]);
90    switch (o) {
91        case "msie":
92        case "trident":
93            o = "ie";
94            h = y.documentMode || h;
95            break;
96        case "firefox":
97            o = "ff";
98            break;
99        case "ipod":
100        case "ipad":
101        case "iphone":
102            o = "ios";
103            break;
104        case "webkit":
105            o = "safari"
106    }
107    for (u.browser = {
108        name: o,
109        version: h
110    }, u.browser[o] = !0, l = 0, d = i.browsers.length; l < d; l++)
111        for (f in i.browsers[l])
112            if (o === f)
113                for (r(f), g = i.browsers[l][f].min, nt = i.browsers[l][f].max, e = g; e <= nt; e++) h > e ? (i.browserCss.gt && r("gt-" + f + e), i.browserCss.gte && r("gte-" + f + e)) : h < e ? (i.browserCss.lt && r("lt-" + f + e), i.browserCss.lte && r("lte-" + f + e)) : h === e && (i.browserCss.lte && r("lte-" + f + e), i.browserCss.eq && r("eq-" + f + e), i.browserCss.gte && r("gte-" + f + e));
114            else r("no-" + f);
115    r(o);
116    r(o + parseInt(h, 10));
117    i.html5 && o === "ie" && h < 9 && p("abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|progress|section|summary|time|video".split("|"), function(n) {
118        y.createElement(n)
119    });
120    p(ut.pathname.split("/"), function(n, u) {
121        if (this.length > 2 && this[u + 1] !== t) u && r(this.slice(u, u + 1).join("-").toLowerCase() + i.section);
122        else {
123            var f = n || "index",
124                e = f.indexOf(".");
125            e > 0 && (f = f.substring(0, e));
126            c.id = f.toLowerCase() + i.page;
127            u || r("root" + i.section)
128        }
129    });
130    u.screen = {
131        height: n.screen.height,
132        width: n.screen.width
133    };
134    tt();
135    b = 0;
136    n.addEventListener ? n.addEventListener("resize", it, !1) : n.attachEvent("onresize", it)
137})(window);
138/*! head.css3 - v1.0.0 */
139(function(n, t) {
140    "use strict";
141
142    function a(n) {
143        for (var r in n)
144            if (i[n[r]] !== t) return !0;
145        return !1
146    }
147
148    function r(n) {
149        var t = n.charAt(0).toUpperCase() + n.substr(1),
150            i = (n + " " + c.join(t + " ") + t).split(" ");
151        return !!a(i)
152    }
153    var h = n.document,
154        o = h.createElement("i"),
155        i = o.style,
156        s = " -o- -moz- -ms- -webkit- -khtml- ".split(" "),
157        c = "Webkit Moz O ms Khtml".split(" "),
158        l = n.head_conf && n.head_conf.head || "head",
159        u = n[l],
160        f = {
161            gradient: function() {
162                var n = "background-image:";
163                return i.cssText = (n + s.join("gradient(linear,left top,right bottom,from(#9f9),to(#fff));" + n) + s.join("linear-gradient(left top,#eee,#fff);" + n)).slice(0, -n.length), !!i.backgroundImage
164            },
165            rgba: function() {
166                return i.cssText = "background-color:rgba(0,0,0,0.5)", !!i.backgroundColor
167            },
168            opacity: function() {
169                return o.style.opacity === ""
170            },
171            textshadow: function() {
172                return i.textShadow === ""
173            },
174            multiplebgs: function() {
175                i.cssText = "background:url(https://),url(https://),red url(https://)";
176                var n = (i.background || "").match(/url/g);
177                return Object.prototype.toString.call(n) === "[object Array]" && n.length === 3
178            },
179            boxshadow: function() {
180                return r("boxShadow")
181            },
182            borderimage: function() {
183                return r("borderImage")
184            },
vendor: 9,230 bytes, lines 185-496
185            borderradius: function() {
186                return r("borderRadius")
187            },
188            cssreflections: function() {
189                return r("boxReflect")
190            },
191            csstransforms: function() {
192                return r("transform")
193            },
194            csstransitions: function() {
195                return r("transition")
196            },
197            touch: function() {
198                return "ontouchstart" in n
199            },
200            retina: function() {
201                return n.devicePixelRatio > 1
202            },
203            fontface: function() {
204                var t = u.browser.name,
205                    n = u.browser.version;
206                switch (t) {
207                    case "ie":
208                        return n >= 9;
209                    case "chrome":
210                        return n >= 13;
211                    case "ff":
212                        return n >= 6;
213                    case "ios":
214                        return n >= 5;
215                    case "android":
216                        return !1;
217                    case "webkit":
218                        return n >= 5.1;
219                    case "opera":
220                        return n >= 10;
221                    default:
222                        return !1
223                }
224            }
225        };
226    for (var e in f) f[e] && u.feature(e, f[e].call(), !0);
227    u.feature()
228})(window);
229/*! head.load - v1.0.3 */
230(function(n, t) {
231    "use strict";
232
233    function w() {}
234
235    function u(n, t) {
236        if (n) {
237            typeof n == "object" && (n = [].slice.call(n));
238            for (var i = 0, r = n.length; i < r; i++) t.call(n, n[i], i)
239        }
240    }
241
242    function it(n, i) {
243        var r = Object.prototype.toString.call(i).slice(8, -1);
244        return i !== t && i !== null && r === n
245    }
246
247    function s(n) {
248        return it("Function", n)
249    }
250
251    function a(n) {
252        return it("Array", n)
253    }
254
255    function et(n) {
256        var i = n.split("/"),
257            t = i[i.length - 1],
258            r = t.indexOf("?");
259        return r !== -1 ? t.substring(0, r) : t
260    }
261
262    function f(n) {
263        (n = n || w, n._done) || (n(), n._done = 1)
264    }
265
266    function ot(n, t, r, u) {
267        var f = typeof n == "object" ? n : {
268                test: n,
269                success: !t ? !1 : a(t) ? t : [t],
270                failure: !r ? !1 : a(r) ? r : [r],
271                callback: u || w
272            },
273            e = !!f.test;
274        return e && !!f.success ? (f.success.push(f.callback), i.load.apply(null, f.success)) : e || !f.failure ? u() : (f.failure.push(f.callback), i.load.apply(null, f.failure)), i
275    }
276
277    function v(n) {
278        var t = {},
279            i, r;
280        if (typeof n == "object")
281            for (i in n) !n[i] || (t = {
282                name: i,
283                url: n[i]
284            });
285        else t = {
286            name: et(n),
287            url: n
288        };
289        return (r = c[t.name], r && r.url === t.url) ? r : (c[t.name] = t, t)
290    }
291
292    function y(n) {
293        n = n || c;
294        for (var t in n)
295            if (n.hasOwnProperty(t) && n[t].state !== l) return !1;
296        return !0
297    }
298
299    function st(n) {
300        n.state = ft;
301        u(n.onpreload, function(n) {
302            n.call()
303        })
304    }
305
306    function ht(n) {
307        n.state === t && (n.state = nt, n.onpreload = [], rt({
308            url: n.url,
309            type: "cache"
310        }, function() {
311            st(n)
312        }))
313    }
314
315    function ct() {
316        var n = arguments,
317            t = n[n.length - 1],
318            r = [].slice.call(n, 1),
319            f = r[0];
320        return (s(t) || (t = null), a(n[0])) ? (n[0].push(t), i.load.apply(null, n[0]), i) : (f ? (u(r, function(n) {
321            s(n) || !n || ht(v(n))
322        }), b(v(n[0]), s(f) ? f : function() {
323            i.load.apply(null, r)
324        })) : b(v(n[0])), i)
325    }
326
327    function lt() {
328        var n = arguments,
329            t = n[n.length - 1],
330            r = {};
331        return (s(t) || (t = null), a(n[0])) ? (n[0].push(t), i.load.apply(null, n[0]), i) : (u(n, function(n) {
332            n !== t && (n = v(n), r[n.name] = n)
333        }), u(n, function(n) {
334            n !== t && (n = v(n), b(n, function() {
335                y(r) && f(t)
336            }))
337        }), i)
338    }
339
340    function b(n, t) {
341        if (t = t || w, n.state === l) {
342            t();
343            return
344        }
345        if (n.state === tt) {
346            i.ready(n.name, t);
347            return
348        }
349        if (n.state === nt) {
350            n.onpreload.push(function() {
351                b(n, t)
352            });
353            return
354        }
355        n.state = tt;
356        rt(n, function() {
357            n.state = l;
358            t();
359            u(h[n.name], function(n) {
360                f(n)
361            });
362            o && y() && u(h.ALL, function(n) {
363                f(n)
364            })
365        })
366    }
367
368    function at(n) {
369        n = n || "";
370        var t = n.split("?")[0].split(".");
371        return t[t.length - 1].toLowerCase()
372    }
373
374    function rt(t, i) {
375        function e(t) {
376            t = t || n.event;
377            u.onload = u.onreadystatechange = u.onerror = null;
378            i()
379        }
380
381        function o(f) {
382            f = f || n.event;
383            (f.type === "load" || /loaded|complete/.test(u.readyState) && (!r.documentMode || r.documentMode < 9)) && (n.clearTimeout(t.errorTimeout), n.clearTimeout(t.cssTimeout), u.onload = u.onreadystatechange = u.onerror = null, i())
384        }
385
386        function s() {
387            if (t.state !== l && t.cssRetries <= 20) {
388                for (var i = 0, f = r.styleSheets.length; i < f; i++)
389                    if (r.styleSheets[i].href === u.href) {
390                        o({
391                            type: "load"
392                        });
393                        return
394                    }
395                t.cssRetries++;
396                t.cssTimeout = n.setTimeout(s, 250)
397            }
398        }
399        var u, h, f;
400        i = i || w;
401        h = at(t.url);
402        h === "css" ? (u = r.createElement("link"), u.type = "text/" + (t.type || "css"), u.rel = "stylesheet", u.href = t.url, t.cssRetries = 0, t.cssTimeout = n.setTimeout(s, 500)) : (u = r.createElement("script"), u.type = "text/" + (t.type || "javascript"), u.src = t.url);
403        u.onload = u.onreadystatechange = o;
404        u.onerror = e;
405        u.async = !1;
406        u.defer = !1;
407        t.errorTimeout = n.setTimeout(function() {
408            e({
409                type: "timeout"
410            })
411        }, 30e3);
412        f = r.head || r.getElementsByTagName("head")[0];
413        f.insertBefore(u, f.lastChild)
414    }
415
416    function vt() {
417        for (var t, u = r.getElementsByTagName("script"), n = 0, f = u.length; n < f; n++)
418            if (t = u[n].getAttribute("data-headjs-load"), !!t) {
419                i.load(t);
420                return
421            }
422    }
423
424    function yt(n, t) {
425        var v, p, e;
426        return n === r ? (o ? f(t) : d.push(t), i) : (s(n) && (t = n, n = "ALL"), a(n)) ? (v = {}, u(n, function(n) {
427            v[n] = c[n];
428            i.ready(n, function() {
429                y(v) && f(t)
430            })
431        }), i) : typeof n != "string" || !s(t) ? i : (p = c[n], p && p.state === l || n === "ALL" && y() && o) ? (f(t), i) : (e = h[n], e ? e.push(t) : e = h[n] = [t], i)
432    }
433
434    function e() {
435        if (!r.body) {
436            n.clearTimeout(i.readyTimeout);
437            i.readyTimeout = n.setTimeout(e, 50);
438            return
439        }
440        o || (o = !0, vt(), u(d, function(n) {
441            f(n)
442        }))
443    }
444
445    function k() {
446        r.addEventListener ? (r.removeEventListener("DOMContentLoaded", k, !1), e()) : r.readyState === "complete" && (r.detachEvent("onreadystatechange", k), e())
447    }
448    var r = n.document,
449        d = [],
450        h = {},
451        c = {},
452        ut = "async" in r.createElement("script") || "MozAppearance" in r.documentElement.style || n.opera,
453        o, g = n.head_conf && n.head_conf.head || "head",
454        i = n[g] = n[g] || function() {
455                i.ready.apply(null, arguments)
456            },
457        nt = 1,
458        ft = 2,
459        tt = 3,
460        l = 4,
461        p;
462    if (r.readyState === "complete") e();
463    else if (r.addEventListener) r.addEventListener("DOMContentLoaded", k, !1), n.addEventListener("load", e, !1);
464    else {
465        r.attachEvent("onreadystatechange", k);
466        n.attachEvent("onload", e);
467        p = !1;
468        try {
469            p = !n.frameElement && r.documentElement
470        } catch (wt) {}
471        p && p.doScroll && function pt() {
472            if (!o) {
473                try {
474                    p.doScroll("left")
475                } catch (t) {
476                    n.clearTimeout(i.readyTimeout);
477                    i.readyTimeout = n.setTimeout(pt, 50);
478                    return
479                }
480                e()
481            }
482        }()
483    }
484    i.load = i.js = ut ? lt : ct;
485    i.test = ot;
486    i.ready = yt;
487    i.ready(r, function() {
488        y() && u(h.ALL, function(n) {
489            f(n)
490        });
491        i.feature && i.feature("domloaded", !0)
492    })
493})(window);
494/*
495 //# sourceMappingURL=head.min.js.map
496 */

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.