Overview

URL 26porn.com/
IP172.67.147.16
ASNCLOUDFLARENET
Location United States
Report completed2022-09-12 14:08:03 UTC
StatusLoading report..
urlquery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer


Intrusion Detection Systems

Suricata /w Emerging Threats Pro  No alerts detected


Blocklists

OpenPhish  No alerts detected
PhishTank  No alerts detected
Fortinet's Web Filter  No alerts detected
mnemonic secure dns  No alerts detected
Quad9 DNS
Scan Date Severity Indicator Comment
2022-09-12 2 news-debipa.com Sinkholed
2022-09-12 2 news-debipa.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed
2022-09-12 2 851ae974fe.com Sinkholed


Files

No files detected



Passive DNS (62)

Passive DNS Source Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
mnemonic passive DNS in16.zog.link (2) 76485 2018-07-31 21:03:54 UTC 2022-09-12 06:10:16 UTC 109.206.191.198
mnemonic passive DNS tsyndicate.com (3) 13042 2017-03-16 09:04:54 UTC 2022-09-12 06:13:15 UTC 136.243.75.209
mnemonic passive DNS firefox.settings.services.mozilla.com (2) 867 2020-06-04 20:08:41 UTC 2022-09-12 08:28:26 UTC 143.204.55.115
mnemonic passive DNS videotxxx.com (1) 165435 2020-01-13 11:23:30 UTC 2022-09-12 06:41:41 UTC 62.122.168.133
mnemonic passive DNS www.googletagmanager.com (2) 75 2012-12-25 14:52:06 UTC 2022-09-12 04:57:45 UTC 142.250.74.72
mnemonic passive DNS s3t3d2y8.afcdn.net (5) 0 2022-08-08 22:22:56 UTC 2022-09-12 05:49:26 UTC 185.76.9.18 Unknown ranking
mnemonic passive DNS btds.zog.link (5) 38469 2019-10-07 21:35:03 UTC 2022-09-12 06:42:55 UTC 109.206.163.112
mnemonic passive DNS ocsp.pki.goog (9) 175 2017-06-14 07:23:31 UTC 2022-09-12 04:51:36 UTC 142.250.74.3
mnemonic passive DNS ads.exoclick.com (1) 32908 2012-11-29 00:05:16 UTC 2022-09-12 10:02:46 UTC 205.185.216.10
mnemonic passive DNS rtbrennab.com (10) 0 2022-04-20 15:49:10 UTC 2022-09-12 06:42:55 UTC 116.202.60.158 Unknown ranking
mnemonic passive DNS ocsp.sectigo.com (3) 487 2018-12-17 11:31:55 UTC 2022-09-12 10:03:51 UTC 104.18.32.68
mnemonic passive DNS chatw-45.stream.highwebmedia.com (1) 369525 2021-02-12 01:16:06 UTC 2022-09-12 10:47:44 UTC 104.19.241.83
mnemonic passive DNS js.wpadmngr.com (1) 25762 2021-06-02 14:43:46 UTC 2022-09-12 07:01:31 UTC 45.133.44.24
mnemonic passive DNS js.wpshsdk.com (4) 12130 2021-06-04 13:50:00 UTC 2022-09-12 09:37:28 UTC 45.133.44.25
mnemonic passive DNS ocsp.globalsign.com (1) 2075 2012-05-25 06:20:55 UTC 2022-09-12 04:54:20 UTC 104.18.21.226
mnemonic passive DNS sw.wpush.org (1) 78308 2020-02-15 07:54:44 UTC 2022-09-12 10:14:44 UTC 45.133.44.24
mnemonic passive DNS cdn.1vag.com (1) 48829 2021-02-10 15:12:50 UTC 2022-09-12 06:42:55 UTC 45.133.44.24
mnemonic passive DNS 26porn.com (3) 0 2016-11-07 17:24:35 UTC 2022-09-12 13:05:55 UTC 104.21.28.181 Unknown ranking
mnemonic passive DNS img-getpocket.cdn.mozilla.net (6) 1631 2017-09-01 03:40:57 UTC 2022-09-12 09:59:49 UTC 34.120.237.76
mnemonic passive DNS tn.vxxx.com (1) 128069 2021-03-23 08:58:16 UTC 2022-09-11 21:09:56 UTC 45.133.44.25
mnemonic passive DNS 12007250.pix-cdn.org (1) 56455 2017-09-27 14:40:52 UTC 2022-09-12 06:10:17 UTC 45.133.44.25
mnemonic passive DNS s.viifixi.com (1) 0 2022-08-23 15:28:27 UTC 2022-09-12 10:22:43 UTC 31.220.27.155 Unknown ranking
mnemonic passive DNS nereserv.com (1) 40015 2020-12-21 11:07:56 UTC 2022-09-12 10:15:28 UTC 168.119.25.22
mnemonic passive DNS js.cabnnr.com (1) 37463 2021-08-30 12:50:21 UTC 2022-09-12 08:28:25 UTC 45.133.44.25
mnemonic passive DNS s.optnx.com (6) 20469 2020-03-25 00:41:59 UTC 2022-09-12 06:44:44 UTC 95.211.229.246
mnemonic passive DNS track.trackingtraffo.com (1) 0 2021-12-15 22:48:04 UTC 2022-09-12 06:54:12 UTC 88.214.195.156 Unknown ranking
mnemonic passive DNS fonts.gstatic.com (4) 0 2014-08-29 13:43:22 UTC 2022-09-12 04:51:32 UTC 142.250.74.163 Domain (gstatic.com) ranked at: 540
mnemonic passive DNS notification.tubecup.net (1) 8210 2019-08-30 09:36:01 UTC 2022-09-12 09:25:49 UTC 116.202.204.12
mnemonic passive DNS mc.yandex.ru (10) 2672 2017-01-29 05:34:36 UTC 2022-09-12 07:49:35 UTC 93.158.134.119
mnemonic passive DNS bam.nr-data.net (3) 630 2015-02-10 00:06:27 UTC 2022-09-12 05:03:26 UTC 162.247.241.14
mnemonic passive DNS wpunativesh.com (6) 116169 2021-10-06 16:12:29 UTC 2022-09-11 08:30:07 UTC 94.130.81.200
mnemonic passive DNS pn.bquildna43.site (1) 20139 2021-11-22 11:15:47 UTC 2022-09-12 06:42:53 UTC 104.21.84.94
mnemonic passive DNS cbjpeg.stream.highwebmedia.com (3) 23619 2017-04-27 08:00:06 UTC 2022-09-12 08:43:40 UTC 131.153.88.93
mnemonic passive DNS content-signature-2.cdn.mozilla.net (1) 1152 2020-11-03 12:26:46 UTC 2022-09-12 05:38:13 UTC 143.204.55.49
mnemonic passive DNS ocsp.digicert.com (6) 86 2012-05-21 07:02:23 UTC 2022-09-12 10:53:21 UTC 93.184.220.29
mnemonic passive DNS push.services.mozilla.com (1) 2140 2015-09-03 10:29:36 UTC 2022-09-12 06:04:57 UTC 52.42.74.230
mnemonic passive DNS syndication.realsrv.com (5) 9112 2019-07-03 21:39:52 UTC 2022-09-12 06:20:41 UTC 95.211.229.246
mnemonic passive DNS 34231a287f.851ae974fe.com (2) 0 2022-09-09 03:30:58 UTC 2022-09-12 09:32:11 UTC 45.133.44.25 Unknown ranking
mnemonic passive DNS c9d9c41eb7.dcf0698a21.com (2) 0 2022-09-12 03:32:41 UTC 2022-09-12 10:14:43 UTC 45.133.44.24 Unknown ranking
mnemonic passive DNS tn.txxx.tube (1) 106247 2021-04-15 09:35:37 UTC 2022-09-12 06:41:57 UTC 45.133.44.25
mnemonic passive DNS r3.o.lencr.org (29) 344 2020-12-02 08:52:13 UTC 2022-09-12 04:51:47 UTC 95.101.11.115
mnemonic passive DNS 305f1060b6.851ae974fe.com (1) 0 2022-09-12 03:18:33 UTC 2022-09-12 10:02:51 UTC 94.130.197.134 Unknown ranking
mnemonic passive DNS a.adtng.com (3) 15165 2018-07-26 19:17:41 UTC 2022-09-12 11:48:36 UTC 66.254.114.171
mnemonic passive DNS hw-cdn2.ang-content.com (3) 165651 2019-03-25 22:41:04 UTC 2022-09-12 11:48:36 UTC 205.185.208.20
mnemonic passive DNS a.realsrv.com (1) 10080 2019-07-03 16:12:14 UTC 2022-09-12 06:41:18 UTC 205.185.216.10
mnemonic passive DNS 8cb55b9840.851ae974fe.com (8) 0 2022-09-12 03:32:41 UTC 2022-09-12 10:14:44 UTC 168.119.25.22 Unknown ranking
mnemonic passive DNS js-agent.newrelic.com (1) 378 2017-01-30 05:00:15 UTC 2022-09-12 05:15:47 UTC 151.101.86.137
mnemonic passive DNS contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2022-09-12 04:53:23 UTC 34.117.237.239
mnemonic passive DNS pxl.tsyndicate.com (3) 14763 2017-07-05 13:51:06 UTC 2022-09-12 08:43:42 UTC 136.243.81.150
mnemonic passive DNS fonts.googleapis.com (2) 8877 2014-07-21 13:19:55 UTC 2022-09-12 12:21:46 UTC 142.250.74.10
mnemonic passive DNS fp.metricswpsh.com (4) 0 2022-04-22 11:20:32 UTC 2022-09-12 08:28:25 UTC 157.90.84.242 Unknown ranking
mnemonic passive DNS 12112336.pix-cdn.org (2) 18294 2018-08-23 11:18:44 UTC 2022-09-12 06:42:52 UTC 45.133.44.24
mnemonic passive DNS vast.yomeno.xyz (4) 44241 2019-12-12 11:10:55 UTC 2022-09-12 06:47:32 UTC 109.206.163.116
mnemonic passive DNS i.cdnkimg.com (2) 8049 2020-08-20 06:43:50 UTC 2022-09-12 11:13:36 UTC 45.133.44.36
mnemonic passive DNS 26porn.com (3) 0 2016-11-07 17:24:35 UTC 2022-09-12 13:05:55 UTC 172.67.147.16 Unknown ranking
mnemonic passive DNS 9d634cf29b.851ae974fe.com (21) 0 2022-09-12 00:13:23 UTC 2022-09-12 09:01:24 UTC 116.202.60.158 Unknown ranking
mnemonic passive DNS lcdn.tsyndicate.com (3) 12634 2020-03-31 14:26:34 UTC 2022-09-12 11:48:36 UTC 8.248.225.238
mnemonic passive DNS static-assets.highwebmedia.com (12) 16059 2021-01-19 21:46:26 UTC 2022-09-12 13:25:07 UTC 104.16.94.42
mnemonic passive DNS realtime.pa.highwebmedia.com (12) 24791 2021-01-21 22:18:59 UTC 2022-09-12 10:49:32 UTC 54.230.111.60
mnemonic passive DNS news-debipa.com (2) 0 2022-06-21 17:11:38 UTC 2022-09-02 22:18:07 UTC 149.7.16.221 Unknown ranking
mnemonic passive DNS txxx.com (1) 36561 2020-02-27 06:36:52 UTC 2022-09-12 06:41:41 UTC 104.21.234.41
mnemonic passive DNS static.bookmsg.com (2) 47495 2020-11-24 14:56:32 UTC 2022-09-12 10:14:45 UTC 78.47.199.210


Recent reports on same IP/ASN/Domain/Screenshot

Last 5 reports on IP: 172.67.147.16

Date UQ / IDS / BL URL IP
2022-11-25 14:54:58 +0000
0 - 0 - 2 myluckymail.shop/ 172.67.147.16
2022-11-25 13:29:23 +0000
0 - 0 - 8 www.myluckymail.shop/10518-149-4979-12979256/ (...) 172.67.147.16
2022-09-16 05:40:41 +0000
0 - 0 - 6 itec-online.net/ 172.67.147.16
2022-09-14 21:21:52 +0000
0 - 0 - 3 26porn.com/ 172.67.147.16
2022-09-13 21:35:50 +0000
0 - 0 - 4 26porn.com/en/ 172.67.147.16

Last 5 reports on ASN: CLOUDFLARENET

Date UQ / IDS / BL URL IP
2022-11-28 11:50:22 +0000
0 - 0 - 1 cdn.discordapp.com/attachments/10410042960508 (...) 162.159.133.233
2022-11-28 11:50:22 +0000
0 - 0 - 1 cdn.discordapp.com/attachments/10283134982640 (...) 162.159.133.233
2022-11-28 11:50:17 +0000
0 - 0 - 1 cdn.discordapp.com/attachments/70392060780006 (...) 162.159.133.233
2022-11-28 11:50:17 +0000
0 - 0 - 1 cdn.discordapp.com/attachments/10451677610070 (...) 162.159.133.233
2022-11-28 11:50:16 +0000
0 - 0 - 2 cdn.discordapp.com/attachments/83369837801740 (...) 162.159.135.233

Last 3 reports on domain: 26porn.com

Date UQ / IDS / BL URL IP
2022-09-14 21:21:52 +0000
0 - 0 - 3 26porn.com/ 172.67.147.16
2022-09-13 21:35:50 +0000
0 - 0 - 4 26porn.com/en/ 172.67.147.16
2022-09-12 14:08:03 +0000
0 - 0 - 34 26porn.com/ 172.67.147.16

No other reports with similar screenshot



JavaScript

Executed Scripts (97)


Executed Evals (1)

#1 JavaScript::Eval (size: 111790, repeated: 1) - SHA256: d13f8c25844de590f83774077b233b14b5c04952715b8e605095c91716488507

                                        (() => {
    "use strict";
    var e = "2.19.2",
        t = Number("0"),
        n = "3600000";

    function r(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }

    function i(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(i, o) {
                var s = e.apply(t, n);

                function a(e) {
                    r(s, i, o, a, c, "next", e)
                }

                function c(e) {
                    r(s, i, o, a, c, "throw", e)
                }
                a(void 0)
            }))
        }
    }
    var o = (e, t) => new Promise((n => setTimeout(n.bind(null, t), e)));

    function s() {
        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
        return Object.keys(e).map((t => {
            var n = "object" == typeof e[t] ? JSON.stringify(e[t]) : e[t];
            return "".concat(encodeURIComponent(t), "=").concat(encodeURIComponent(n))
        })).join("&")
    }

    function a() {
        t && console.log(...arguments)
    }

    function c(e) {
        return l.apply(this, arguments)
    }

    function l() {
        return (l = i((function*(e) {
            try {
                var t =
                    yield fetch(e);
                return yield t.json()
            } catch (e) {
                throw new Error("No message data")
            }
        }))).apply(this, arguments)
    }

    function u(e) {
        return Promise.allSettled && Promise.allSettled(e) || Promise.all(e.map((e => e.then((e => ({
            status: "fulfilled",
            value: e
        }))).catch((e => ({
            status: "rejected",
            reason: e
        }))))))
    }
    const d = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : "undefined" != typeof window ? window : global,
        h = Object.keys,
        f = Array.isArray;

    function p(e, t) {
        return "object" != typeof t || h(t).forEach((function(n) {
            e[n] = t[n]
        })), e
    }
    "undefined" == typeof Promise || d.Promise || (d.Promise = Promise);
    const m = Object.getPrototypeOf,
        y = {}.hasOwnProperty;

    function v(e, t) {
        return y.call(e, t)
    }

    function g(e, t) {
        "function" == typeof t && (t = t(m(e))), ("undefined" == typeof Reflect ? h : Reflect.ownKeys)(t).forEach((n => {
            _(e, n, t[n])
        }))
    }
    const b = Object.defineProperty;

    function _(e, t, n, r) {
        b(e, t, p(n && v(n, "get") && "function" == typeof n.get ? {get: n.get,
            set: n.set,
            configurable: !0
        } : {
            value: n,
            configurable: !0,
            writable: !0
        }, r))
    }

    function w(e) {
        return {
            from: function(t) {
                return e.prototype = Object.create(t.prototype), _(e.prototype, "constructor", e), {
                    extend: g.bind(null, e.prototype)
                }
            }
        }
    }
    const k = Object.getOwnPropertyDescriptor;

    function C(e, t) {
        let n;
        return k(e, t) || (n = m(e)) && C(n, t)
    }
    const x = [].slice;

    function P(e, t, n) {
        return x.call(e, t, n)
    }

    function O(e, t) {
        return t(e)
    }

    function S(e) {
        if (!e) throw new Error("Assertion Failed")
    }

    function K(e) {
        d.setImmediate ? setImmediate(e) : setTimeout(e, 0)
    }

    function E(e, t) {
        return e.reduce(((e, n, r) => {
            var i = t(n, r);
            return i && (e[i[0]] = i[1]), e
        }), {})
    }

    function A(e, t) {
        if (v(e, t)) return e[t];
        if (!t) return e;
        if ("string" != typeof t) {
            for (var n = [], r = 0, i = t.length; r < i; ++r) {
                var o = A(e, t[r]);
                n.push(o)
            }
            return n
        }
        var s = t.indexOf(".");
        if (-1 !== s) {
            var a = e[t.substr(0, s)];
            return void 0 === a ? void 0 : A(a, t.substr(s + 1))
        }
    }

    function D(e, t, n) {
        if (e && void 0 !== t && (!("isFrozen" in Object) || !Object.isFrozen(e)))
            if ("string" != typeof t && "length" in t) {
                S("string" != typeof n && "length" in n);
                for (var r = 0, i = t.length; r < i; ++r) D(e, t[r], n[r])
            } else {
                var o = t.indexOf(".");
                if (-1 !== o) {
                    var s = t.substr(0, o),
                        a = t.substr(o + 1);
                    if ("" === a) void 0 === n ? f(e) && !isNaN(parseInt(s)) ? e.splice(s, 1) : delete e[s] : e[s] = n;
                    else {
                        var c = e[s];
                        c || (c = e[s] = {}), D(c, a, n)
                    }
                } else void 0 === n ? f(e) && !isNaN(parseInt(t)) ? e.splice(t, 1) : delete e[t] : e[t] = n
            }
    }

    function M(e) {
        var t = {};
        for (var n in e) v(e, n) && (t[n] = e[n]);
        return t
    }
    const I = [].concat;

    function B(e) {
        return I.apply([], e)
    }
    const R = "Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(B([8, 16, 32, 64].map((e => ["Int", "Uint", "Float"].map((t => t + e + "Array")))))).filter((e => d[e])),
        j = R.map((e => d[e]));
    E(R, (e => [e, !0]));
    let T = null;

    function N(e) {
        T = "undefined" != typeof WeakMap && new WeakMap;
        const t = F(e);
        return T = null, t
    }

    function F(e) {
        if (!e || "object" != typeof e) return e;
        let t = T && T.get(e);
        if (t) return t;
        if (f(e)) {
            t = [], T && T.set(e, t);
            for (var n = 0, r = e.length; n < r; ++n) t.push(F(e[n]))
        } else if (j.indexOf(e.constructor) >= 0) t = e;
        else {
            const n = m(e);
            for (var i in t = n === Object.prototype ? {} : Object.create(n), T && T.set(e, t), e) v(e, i) && (t[i] = F(e[i]))
        }
        return t
    }
    const {
        toString: q
    } = {};

    function U(e) {
        return q.call(e).slice(8, -1)
    }
    const L = "undefined" != typeof Symbol ? Symbol.iterator : "@@iterator",
        z = "symbol" == typeof L ? function(e) {
            var t;
            return null != e && (t = e[L]) && t.apply(e)
        } : function() {
            return null
        },
        W = {};

    function G(e) {
        var t, n, r, i;
        if (1 === arguments.length) {
            if (f(e)) return e.slice();
            if (this === W && "string" == typeof e) return [e];
            if (i = z(e)) {
                for (n = []; !(r = i.next()).done;) n.push(r.value);
                return n
            }
            if (null == e) return [e];
            if ("number" == typeof(t = e.length)) {
                for (n = new Array(t); t--;) n[t] = e[t];
                return n
            }
            return [e]
        }
        for (t = arguments.length, n = new Array(t); t--;) n[t] = arguments[t];
        return n
    }
    const V = "undefined" != typeof Symbol ? e => "AsyncFunction" === e[Symbol.toStringTag] : () => !1;
    var Y = "undefined" != typeof location && /^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);

    function J(e, t) {
        Y = e, H = t
    }
    var H = () => !0;
    const Q = !new Error("").stack;

    function Z() {
        if (Q) try {
            throw Z.arguments, new Error
        } catch (e) {
            return e
        }
        return new Error
    }

    function X(e, t) {
        var n = e.stack;
        return n ? (t = t || 0, 0 === n.indexOf(e.name) && (t += (e.name + e.message).split("\n").length), n.split("\n").slice(t).filter(H).map((e => "\n" + e)).join("")) : ""
    }
    var $ = ["Unknown", "Constraint", "Data", "TransactionInactive", "ReadOnly", "Version", "NotFound", "InvalidState", "InvalidAccess", "Abort", "Timeout", "QuotaExceeded", "Syntax", "DataClone"],
        ee = ["Modify", "Bulk", "OpenFailed", "VersionChange", "Schema", "Upgrade", "InvalidTable", "MissingAPI", "NoSuchDatabase", "InvalidArgument", "SubTransaction", "Unsupported", "Internal", "DatabaseClosed", "PrematureCommit", "ForeignAwait"].concat($),
        te = {
            VersionChanged: "Database version changed by other database connection",
            DatabaseClosed: "Database has been closed",
            Abort: "Transaction aborted",
            TransactionInactive: "Transaction has already completed or failed",
            MissingAPI: "IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"
        };

    function ne(e, t) {
        this._e = Z(), this.name = e, this.message = t
    }

    function re(e, t) {
        return e + ". Errors: " + Object.keys(t).map((e => t[e].toString())).filter(((e, t, n) => n.indexOf(e) === t)).join("\n")
    }

    function ie(e, t, n, r) {
        this._e = Z(), this.failures = t, this.failedKeys = r, this.successCount = n, this.message = re(e, t)
    }

    function oe(e, t) {
        this._e = Z(), this.name = "BulkError", this.failures = Object.keys(t).map((e => t[e])), this.failuresByPos = t, this.message = re(e, t)
    }
    w(ne).from(Error).extend({
        stack: {get: function() {
                return this._stack || (this._stack = this.name + ": " + this.message + X(this._e, 2))
            }
        },
        toString: function() {
            return this.name + ": " + this.message
        }
    }), w(ie).from(ne), w(oe).from(ne);
    var se = ee.reduce(((e, t) => (e[t] = t + "Error", e)), {});
    const ae = ne;
    var ce = ee.reduce(((e, t) => {
        var n = t + "Error";

        function r(e, r) {
            this._e = Z(), this.name = n, e ? "string" == typeof e ? (this.message = `${e}${r?"\n "+r:""}`, this.inner = r || null) : "object" == typeof e && (this.message = `${e.name} ${e.message}`, this.inner = e) : (this.message = te[t] || n, this.inner = null)
        }
        return w(r).from(ae), e[t] = r, e
    }), {});
    ce.Syntax = SyntaxError, ce.Type = TypeError, ce.Range = RangeError;
    var le = $.reduce(((e, t) => (e[t + "Error"] = ce[t], e)), {}),
        ue = ee.reduce(((e, t) => (-1 === ["Syntax", "Type", "Range"].indexOf(t) && (e[t + "Error"] = ce[t]), e)), {});

    function de() {}

    function he(e) {
        return e
    }

    function fe(e, t) {
        return null == e || e === he ? t : function(n) {
            return t(e(n))
        }
    }

    function pe(e, t) {
        return function() {
            e.apply(this, arguments), t.apply(this, arguments)
        }
    }

    function me(e, t) {
        return e === de ? t : function() {
            var n = e.apply(this, arguments);
            void 0 !== n && (arguments[0] = n);
            var r = this.onsuccess,
                i = this.onerror;
            this.onsuccess = null, this.onerror = null;
            var o = t.apply(this, arguments);
            return r && (this.onsuccess = this.onsuccess ? pe(r, this.onsuccess) : r), i && (this.onerror = this.onerror ? pe(i, this.onerror) : i), void 0 !== o ? o : n
        }
    }

    function ye(e, t) {
        return e === de ? t : function() {
            e.apply(this, arguments);
            var n = this.onsuccess,
                r = this.onerror;
            this.onsuccess = this.onerror = null, t.apply(this, arguments), n && (this.onsuccess = this.onsuccess ? pe(n, this.onsuccess) : n), r && (this.onerror = this.onerror ? pe(r, this.onerror) : r)
        }
    }

    function ve(e, t) {
        return e === de ? t : function(n) {
            var r = e.apply(this, arguments);
            p(n, r);
            var i = this.onsuccess,
                o = this.onerror;
            this.onsuccess = null, this.onerror = null;
            var s = t.apply(this, arguments);
            return i && (this.onsuccess = this.onsuccess ? pe(i, this.onsuccess) : i), o && (this.onerror = this.onerror ? pe(o, this.onerror) : o), void 0 === r ? void 0 === s ? void 0 : s : p(r, s)
        }
    }

    function ge(e, t) {
        return e === de ? t : function() {
            return !1 !== t.apply(this, arguments) && e.apply(this, arguments)
        }
    }

    function be(e, t) {
        return e === de ? t : function() {
            var n = e.apply(this, arguments);
            if (n && "function" == typeof n.then) {
                for (var r = this, i = arguments.length, o = new Array(i); i--;) o[i] = arguments[i];
                return n.then((function() {
                    return t.apply(r, o)
                }))
            }
            return t.apply(this, arguments)
        }
    }
    ue.ModifyError = ie, ue.DexieError = ne, ue.BulkError = oe;
    var _e = {};
    const [we, ke, Ce] = "undefined" == typeof Promise ? [] : (() => {
        let e = Promise.resolve();
        if ("undefined" == typeof crypto || !crypto.subtle) return [e, m(e), e];
        const t = crypto.subtle.digest("SHA-512", new Uint8Array([0]));
        return [t, m(t), e]
    })(), xe = ke && ke.then, Pe = we && we.constructor, Oe = !!Ce;
    var Se = !1,
        Ke = Ce ? () => {
            Ce.then(Ze)
        } : d.setImmediate ? setImmediate.bind(null, Ze) : d.MutationObserver ? () => {
            var e = document.createElement("div");
            new MutationObserver((() => {
                Ze(), e = null
            })).observe(e, {
                attributes: !0
            }), e.setAttribute("i", "1")
        } : () => {
            setTimeout(Ze, 0)
        },
        Ee = function(e, t) {
            Ne.push([e, t]), De && (Ke(), De = !1)
        },
        Ae = !0,
        De = !0,
        Me = [],
        Ie = [],
        Be = null,
        Re = he,
        je = {
            id: "global",
            global: !0,
            ref: 0,
            unhandleds: [],
            onunhandled: wt,
            pgp: !1,
            env: {},
            finalize: function() {
                this.unhandleds.forEach((e => {
                    try {
                        wt(e[0], e[1])
                    } catch (e) {}
                }))
            }
        },
        Te = je,
        Ne = [],
        Fe = 0,
        qe = [];

    function Ue(e) {
        if ("object" != typeof this) throw new TypeError("Promises must be constructed via new");
        this._listeners = [], this.onuncatched = de, this._lib = !1;
        var t = this._PSD = Te;
        if (Y && (this._stackHolder = Z(), this._prev = null, this._numPrev = 0), "function" != typeof e) {
            if (e !== _e) throw new TypeError("Not a function");
            return this._state = arguments[1], this._value = arguments[2], void(!1 === this._state && Ge(this, this._value))
        }
        this._state = null, this._value = null, ++t.ref, We(this, e)
    }
    const Le = {get: function() {
            var e = Te,
                t = at;

            function n(n, r) {
                var i = !e.global && (e !== Te || t !== at);
                const o = i && !dt();
                var s = new Ue(((t, s) => {
                    Ye(this, new ze(bt(n, e, i, o), bt(r, e, i, o), t, s, e))
                }));
                return Y && Qe(s, this), s
            }
            return n.prototype = _e, n
        },
        set: function(e) {
            _(this, "then", e && e.prototype === _e ? Le : {get: function() {
                    return e
                },
                set: Le.set
            })
        }
    };

    function ze(e, t, n, r, i) {
        this.onFulfilled = "function" == typeof e ? e : null, this.onRejected = "function" == typeof t ? t : null, this.resolve = n, this.reject = r, this.psd = i
    }

    function We(e, t) {
        try {
            t((t => {
                if (null === e._state) {
                    if (t === e) throw new TypeError("A promise cannot be resolved with itself.");
                    var n = e._lib && Xe();
                    t && "function" == typeof t.then ? We(e, ((e, n) => {
                        t instanceof Ue ? t._then(e, n) : t.then(e, n)
                    })) : (e._state = !0, e._value = t, Ve(e)), n && $e()
                }
            }), Ge.bind(null, e))
        } catch (t) {
            Ge(e, t)
        }
    }

    function Ge(e, t) {
        if (Ie.push(t), null === e._state) {
            var n = e._lib && Xe();
            t = Re(t), e._state = !1, e._value = t, Y && null !== t && "object" == typeof t && !t._promise && function(e, t, n) {
                    try {
                        e.apply(null, void 0)
                    } catch (e) {}
                }((() => {
                    var n = C(t, "stack");
                    t._promise = e, _(t, "stack", {get: () => Se ? n && (n.get ? n.get.apply(t) : n.value) : e.stack
                    })
                })),
                function(e) {
                    Me.some((t => t._value === e._value)) || Me.push(e)
                }(e), Ve(e), n && $e()
        }
    }

    function Ve(e) {
        var t = e._listeners;
        e._listeners = [];
        for (var n = 0, r = t.length; n < r; ++n) Ye(e, t[n]);
        var i = e._PSD;
        --i.ref || i.finalize(), 0 === Fe && (++Fe, Ee((() => {
            0 == --Fe && et()
        }), []))
    }

    function Ye(e, t) {
        if (null !== e._state) {
            var n = e._state ? t.onFulfilled : t.onRejected;
            if (null === n) return (e._state ? t.resolve : t.reject)(e._value);
            ++t.psd.ref, ++Fe, Ee(Je, [n, e, t])
        } else e._listeners.push(t)
    }

    function Je(e, t, n) {
        try {
            Be = t;
            var r, i = t._value;
            t._state ? r = e(i) : (Ie.length && (Ie = []), r = e(i), -1 === Ie.indexOf(i) && function(e) {
                for (var t = Me.length; t;)
                    if (Me[--t]._value === e._value) return void Me.splice(t, 1)
            }(t)), n.resolve(r)
        } catch (e) {
            n.reject(e)
        } finally {
            Be = null, 0 == --Fe && et(), --n.psd.ref || n.psd.finalize()
        }
    }

    function He(e, t, n) {
        if (t.length === n) return t;
        var r = "";
        if (!1 === e._state) {
            var i, o, s = e._value;
            null != s ? (i = s.name || "Error", o = s.message || s, r = X(s, 0)) : (i = s, o = ""), t.push(i + (o ? ": " + o : "") + r)
        }
        return Y && ((r = X(e._stackHolder, 2)) && -1 === t.indexOf(r) && t.push(r), e._prev && He(e._prev, t, n)), t
    }

    function Qe(e, t) {
        var n = t ? t._numPrev + 1 : 0;
        n < 100 && (e._prev = t, e._numPrev = n)
    }

    function Ze() {
        Xe() && $e()
    }

    function Xe() {
        var e = Ae;
        return Ae = !1, De = !1, e
    }

    function $e() {
        var e, t, n;
        do {
            for (; Ne.length > 0;)
                for (e = Ne, Ne = [], n = e.length, t = 0; t < n; ++t) {
                    var r = e[t];
                    r[0].apply(null, r[1])
                }
        } while (Ne.length > 0);
        Ae = !0, De = !0
    }

    function et() {
        var e = Me;
        Me = [], e.forEach((e => {
            e._PSD.onunhandled.call(null, e._value, e)
        }));
        for (var t = qe.slice(0), n = t.length; n;) t[--n]()
    }

    function tt(e) {
        return new Ue(_e, !1, e)
    }

    function nt(e, t) {
        var n = Te;
        return function() {
            var r = Xe(),
                i = Te;
            try {
                return mt(n, !0), e.apply(this, arguments)
            } catch (e) {
                t && t(e)
            } finally {
                mt(i, !1), r && $e()
            }
        }
    }
    g(Ue.prototype, {
        then: Le,
        _then: function(e, t) {
            Ye(this, new ze(null, null, e, t, Te))
        },
        catch: function(e) {
            if (1 === arguments.length) return this.then(null, e);
            var t = arguments[0],
                n = arguments[1];
            return "function" == typeof t ? this.then(null, (e => e instanceof t ? n(e) : tt(e))) : this.then(null, (e => e && e.name === t ? n(e) : tt(e)))
        },
        finally: function(e) {
            return this.then((t => (e(), t)), (t => (e(), tt(t))))
        },
        stack: {get: function() {
                if (this._stack) return this._stack;
                try {
                    Se = !0;
                    var e = He(this, [], 20).join("\nFrom previous: ");
                    return null !== this._state && (this._stack = e), e
                } finally {
                    Se = !1
                }
            }
        },
        timeout: function(e, t) {
            return e < 1 / 0 ? new Ue(((n, r) => {
                var i = setTimeout((() => r(new ce.Timeout(t))), e);
                this.then(n, r).finally(clearTimeout.bind(null, i))
            })) : this
        }
    }), "undefined" != typeof Symbol && Symbol.toStringTag && _(Ue.prototype, Symbol.toStringTag, "Dexie.Promise"), je.env = yt(), g(Ue, {
        all: function() {
            var e = G.apply(null, arguments).map(ht);
            return new Ue((function(t, n) {
                0 === e.length && t([]);
                var r = e.length;
                e.forEach(((i, o) => Ue.resolve(i).then((n => {
                    e[o] = n, --r || t(e)
                }), n)))
            }))
        },
        resolve: e => {
            if (e instanceof Ue) return e;
            if (e && "function" == typeof e.then) return new Ue(((t, n) => {
                e.then(t, n)
            }));
            var t = new Ue(_e, !0, e);
            return Qe(t, Be), t
        },
        reject: tt,
        race: function() {
            var e = G.apply(null, arguments).map(ht);
            return new Ue(((t, n) => {
                e.map((e => Ue.resolve(e).then(t, n)))
            }))
        },
        PSD: {get: () => Te,
            set: e => Te = e
        },
        totalEchoes: {get: () => at
        },
        newPSD: lt,
        usePSD: vt,
        scheduler: {get: () => Ee,
            set: e => {
                Ee = e
            }
        },
        rejectionMapper: {get: () => Re,
            set: e => {
                Re = e
            }
        },
        follow: (e, t) => new Ue(((n, r) => lt(((t, n) => {
            var r = Te;
            r.unhandleds = [], r.onunhandled = n, r.finalize = pe((function() {
                ! function(e) {
                    qe.push((function t() {
                        e(), qe.splice(qe.indexOf(t), 1)
                    })), ++Fe, Ee((() => {
                        0 == --Fe && et()
                    }), [])
                }((() => {
                    0 === this.unhandleds.length ? t() : n(this.unhandleds[0])
                }))
            }), r.finalize), e()
        }), t, n, r)))
    }), Pe && (Pe.allSettled && _(Ue, "allSettled", (function() {
        const e = G.apply(null, arguments).map(ht);
        return new Ue((t => {
            0 === e.length && t([]);
            let n = e.length;
            const r = new Array(n);
            e.forEach(((e, i) => Ue.resolve(e).then((e => r[i] = {
                status: "fulfilled",
                value: e
            }), (e => r[i] = {
                status: "rejected",
                reason: e
            })).then((() => --n || t(r)))))
        }))
    })), Pe.any && "undefined" != typeof AggregateError && _(Ue, "any", (function() {
        const e = G.apply(null, arguments).map(ht);
        return new Ue(((t, n) => {
            0 === e.length && n(new AggregateError([]));
            let r = e.length;
            const i = new Array(r);
            e.forEach(((e, o) => Ue.resolve(e).then((e => t(e)), (e => {
                i[o] = e, --r || n(new AggregateError(i))
            }))))
        }))
    })));
    const rt = {
        awaits: 0,
        echoes: 0,
        id: 0
    };
    var it = 0,
        ot = [],
        st = 0,
        at = 0,
        ct = 0;

    function lt(e, t, n, r) {
        var i = Te,
            o = Object.create(i);
        o.parent = i, o.ref = 0, o.global = !1, o.id = ++ct;
        var s = je.env;
        o.env = Oe ? {
            Promise: Ue,
            PromiseProp: {
                value: Ue,
                configurable: !0,
                writable: !0
            },
            all: Ue.all,
            race: Ue.race,
            allSettled: Ue.allSettled,
            any: Ue.any,
            resolve: Ue.resolve,
            reject: Ue.reject,
            nthen: _t(s.nthen, o),
            gthen: _t(s.gthen, o)
        } : {}, t && p(o, t), ++i.ref, o.finalize = function() {
            --this.parent.ref || this.parent.finalize()
        };
        var a = vt(o, e, n, r);
        return 0 === o.ref && o.finalize(), a
    }

    function ut() {
        return rt.id || (rt.id = ++it), ++rt.awaits, rt.echoes += 100, rt.id
    }

    function dt() {
        return !!rt.awaits && (0 == --rt.awaits && (rt.id = 0), rt.echoes = 100 * rt.awaits, !0)
    }

    function ht(e) {
        return rt.echoes && e && e.constructor === Pe ? (ut(), e.then((e => (dt(), e)), (e => (dt(), kt(e))))) : e
    }

    function ft(e) {
        ++at, rt.echoes && 0 != --rt.echoes || (rt.echoes = rt.id = 0), ot.push(Te), mt(e, !0)
    }

    function pt() {
        var e = ot[ot.length - 1];
        ot.pop(), mt(e, !1)
    }

    function mt(e, t) {
        var n = Te;
        if ((t ? !rt.echoes || st++ && e === Te : !st || --st && e === Te) || gt(t ? ft.bind(null, e) : pt), e !== Te && (Te = e, n === je && (je.env = yt()), Oe)) {
            var r = je.env.Promise,
                i = e.env;
            ke.then = i.nthen, r.prototype.then = i.gthen, (n.global || e.global) && (Object.defineProperty(d, "Promise", i.PromiseProp), r.all = i.all, r.race = i.race, r.resolve = i.resolve, r.reject = i.reject, i.allSettled && (r.allSettled = i.allSettled), i.any && (r.any = i.any))
        }
    }

    function yt() {
        var e = d.Promise;
        return Oe ? {
            Promise: e,
            PromiseProp: Object.getOwnPropertyDescriptor(d, "Promise"),
            all: e.all,
            race: e.race,
            allSettled: e.allSettled,
            any: e.any,
            resolve: e.resolve,
            reject: e.reject,
            nthen: ke.then,
            gthen: e.prototype.then
        } : {}
    }

    function vt(e, t, n, r, i) {
        var o = Te;
        try {
            return mt(e, !0), t(n, r, i)
        } finally {
            mt(o, !1)
        }
    }

    function gt(e) {
        xe.call(we, e)
    }

    function bt(e, t, n, r) {
        return "function" != typeof e ? e : function() {
            var i = Te;
            n && ut(), mt(t, !0);
            try {
                return e.apply(this, arguments)
            } finally {
                mt(i, !1), r && gt(dt)
            }
        }
    }

    function _t(e, t) {
        return function(n, r) {
            return e.call(this, bt(n, t), bt(r, t))
        }
    }

    function wt(e, t) {
        var n;
        try {
            n = t.onuncatched(e)
        } catch (e) {}
        if (!1 !== n) try {
            var r, i = {
                promise: t,
                reason: e
            };
            if (d.document && document.createEvent ? ((r = document.createEvent("Event")).initEvent("unhandledrejection", !0, !0), p(r, i)) : d.CustomEvent && p(r = new CustomEvent("unhandledrejection", {
                    detail: i
                }), i), r && d.dispatchEvent && (dispatchEvent(r), !d.PromiseRejectionEvent && d.onunhandledrejection)) try {
                d.onunhandledrejection(r)
            } catch (e) {}
            Y && r && !r.defaultPrevented && console.warn(`Unhandled rejection: ${e.stack||e}`)
        } catch (e) {}
    } - 1 === ("" + xe).indexOf("[native code]") && (ut = dt = de);
    var kt = Ue.reject;

    function Ct(e, t, n, r) {
        if (e.idbdb && (e._state.openComplete || Te.letThrough || e._vip)) {
            var i = e._createTransaction(t, n, e._dbSchema);
            try {
                i.create(), e._state.PR1398_maxLoop = 3
            } catch (i) {
                return i.name === se.InvalidState && e.isOpen() && --e._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), e._close(), e.open().then((() => Ct(e, t, n, r)))) : kt(i)
            }
            return i._promise(t, ((e, t) => lt((() => (Te.trans = i, r(e, t, i)))))).then((e => i._completion.then((() => e))))
        }
        if (e._state.openComplete) return kt(new ce.DatabaseClosed(e._state.dbOpenError));
        if (!e._state.isBeingOpened) {
            if (!e._options.autoOpen) return kt(new ce.DatabaseClosed);
            e.open().catch(de)
        }
        return e._state.dbReadyPromise.then((() => Ct(e, t, n, r)))
    }
    const xt = String.fromCharCode(65535),
        Pt = "Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",
        Ot = [],
        St = "undefined" != typeof navigator && /(MSIE|Trident|Edge)/.test(navigator.userAgent),
        Kt = St,
        Et = St,
        At = e => !/(dexie\.js|dexie\.min\.js)/.test(e);

    function Dt(e, t) {
        return e ? t ? function() {
            return e.apply(this, arguments) && t.apply(this, arguments)
        } : e : t
    }
    const Mt = {
        type: 3,
        lower: -1 / 0,
        lowerOpen: !1,
        upper: [
            []
        ],
        upperOpen: !1
    };

    function It(e) {
        return "string" != typeof e || /\./.test(e) ? e => e : t => (void 0 === t[e] && e in t && delete(t = N(t))[e], t)
    }
    class Bt {
        _trans(e, t, n) {
            const r = this._tx || Te.trans,
                i = this.name;

            function o(e, n, r) {
                if (!r.schema[i]) throw new ce.NotFound("Table " + i + " not part of transaction");
                return t(r.idbtrans, r)
            }
            const s = Xe();
            try {
                return r && r.db === this.db ? r === Te.trans ? r._promise(e, o, n) : lt((() => r._promise(e, o, n)), {
                    trans: r,
                    transless: Te.transless || Te
                }) : Ct(this.db, e, [this.name], o)
            } finally {
                s && $e()
            }
        }
        get(e, t) {
            return e && e.constructor === Object ? this.where(e).first(t) : this._trans("readonly", (t => this.core.get({
                trans: t,
                key: e
            }).then((e => this.hook.reading.fire(e))))).then(t)
        }
        where(e) {
            if ("string" == typeof e) return new this.db.WhereClause(this, e);
            if (f(e)) return new this.db.WhereClause(this, `[${e.join("+")}]`);
            const t = h(e);
            if (1 === t.length) return this.where(t[0]).equals(e[t[0]]);
            const n = this.schema.indexes.concat(this.schema.primKey).filter((e => e.compound && t.every((t => e.keyPath.indexOf(t) >= 0)) && e.keyPath.every((e => t.indexOf(e) >= 0))))[0];
            if (n && this.db._maxKey !== xt) return this.where(n.name).equals(n.keyPath.map((t => e[t])));
            !n && Y && console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);
            const {
                idxByName: r
            } = this.schema, i = this.db._deps.indexedDB;

            function o(e, t) {
                try {
                    return 0 === i.cmp(e, t)
                } catch (e) {
                    return !1
                }
            }
            const [s, a] = t.reduce((([t, n], i) => {
                const s = r[i],
                    a = e[i];
                return [t || s, t || !s ? Dt(n, s && s.multi ? e => {
                    const t = A(e, i);
                    return f(t) && t.some((e => o(a, e)))
                } : e => o(a, A(e, i))) : n]
            }), [null, null]);
            return s ? this.where(s.name).equals(e[s.keyPath]).filter(a) : n ? this.filter(a) : this.where(t).equals("")
        }
        filter(e) {
            return this.toCollection().and(e)
        }
        count(e) {
            return this.toCollection().count(e)
        }
        offset(e) {
            return this.toCollection().offset(e)
        }
        limit(e) {
            return this.toCollection().limit(e)
        }
        each(e) {
            return this.toCollection().each(e)
        }
        toArray(e) {
            return this.toCollection().toArray(e)
        }
        toCollection() {
            return new this.db.Collection(new this.db.WhereClause(this))
        }
        orderBy(e) {
            return new this.db.Collection(new this.db.WhereClause(this, f(e) ? `[${e.join("+")}]` : e))
        }
        reverse() {
            return this.toCollection().reverse()
        }
        mapToClass(e) {
            this.schema.mappedClass = e;
            const t = t => {
                if (!t) return t;
                const n = Object.create(e.prototype);
                for (var r in t)
                    if (v(t, r)) try {
                        n[r] = t[r]
                    } catch (e) {}
                    return n
            };
            return this.schema.readHook && this.hook.reading.unsubscribe(this.schema.readHook), this.schema.readHook = t, this.hook("reading", t), e
        }
        defineClass() {
            return this.mapToClass((function(e) {
                p(this, e)
            }))
        }
        add(e, t) {
            const {
                auto: n,
                keyPath: r
            } = this.schema.primKey;
            let i = e;
            return r && n && (i = It(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "add",
                keys: null != t ? [t] : null,
                values: [i]
            }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : e.lastResult)).then((t => {
                if (r) try {
                    D(e, r, t)
                } catch (e) {}
                return t
            }))
        }
        update(e, t) {
            if ("object" != typeof e || f(e)) return this.where(":id").equals(e).modify(t); {
                const n = A(e, this.schema.primKey.keyPath);
                if (void 0 === n) return kt(new ce.InvalidArgument("Given object does not contain its primary key"));
                try {
                    "function" != typeof t ? h(t).forEach((n => {
                        D(e, n, t[n])
                    })) : t(e, {
                        value: e,
                        primKey: n
                    })
                } catch (e) {}
                return this.where(":id").equals(n).modify(t)
            }
        }
        put(e, t) {
            const {
                auto: n,
                keyPath: r
            } = this.schema.primKey;
            let i = e;
            return r && n && (i = It(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "put",
                values: [i],
                keys: null != t ? [t] : null
            }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : e.lastResult)).then((t => {
                if (r) try {
                    D(e, r, t)
                } catch (e) {}
                return t
            }))
        }
        delete(e) {
            return this._trans("readwrite", (t => this.core.mutate({
                trans: t,
                type: "delete",
                keys: [e]
            }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : void 0))
        }
        clear() {
            return this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "deleteRange",
                range: Mt
            }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : void 0))
        }
        bulkGet(e) {
            return this._trans("readonly", (t => this.core.getMany({
                keys: e,
                trans: t
            }).then((e => e.map((e => this.hook.reading.fire(e)))))))
        }
        bulkAdd(e, t, n) {
            const r = Array.isArray(t) ? t : void 0,
                i = (n = n || (r ? void 0 : t)) ? n.allKeys : void 0;
            return this._trans("readwrite", (t => {
                const {
                    auto: n,
                    keyPath: o
                } = this.schema.primKey;
                if (o && r) throw new ce.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");
                if (r && r.length !== e.length) throw new ce.InvalidArgument("Arguments objects and keys must have the same length");
                const s = e.length;
                let a = o && n ? e.map(It(o)) : e;
                return this.core.mutate({
                    trans: t,
                    type: "add",
                    keys: r,
                    values: a,
                    wantResults: i
                }).then((({
                    numFailures: e,
                    results: t,
                    lastResult: n,
                    failures: r
                }) => {
                    if (0 === e) return i ? t : n;
                    throw new oe(`${this.name}.bulkAdd(): ${e} of ${s} operations failed`, r)
                }))
            }))
        }
        bulkPut(e, t, n) {
            const r = Array.isArray(t) ? t : void 0,
                i = (n = n || (r ? void 0 : t)) ? n.allKeys : void 0;
            return this._trans("readwrite", (t => {
                const {
                    auto: n,
                    keyPath: o
                } = this.schema.primKey;
                if (o && r) throw new ce.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");
                if (r && r.length !== e.length) throw new ce.InvalidArgument("Arguments objects and keys must have the same length");
                const s = e.length;
                let a = o && n ? e.map(It(o)) : e;
                return this.core.mutate({
                    trans: t,
                    type: "put",
                    keys: r,
                    values: a,
                    wantResults: i
                }).then((({
                    numFailures: e,
                    results: t,
                    lastResult: n,
                    failures: r
                }) => {
                    if (0 === e) return i ? t : n;
                    throw new oe(`${this.name}.bulkPut(): ${e} of ${s} operations failed`, r)
                }))
            }))
        }
        bulkDelete(e) {
            const t = e.length;
            return this._trans("readwrite", (t => this.core.mutate({
                trans: t,
                type: "delete",
                keys: e
            }))).then((({
                numFailures: e,
                lastResult: n,
                failures: r
            }) => {
                if (0 === e) return n;
                throw new oe(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`, r)
            }))
        }
    }

    function Rt(e) {
        var t = {},
            n = function(n, r) {
                if (r) {
                    for (var i = arguments.length, o = new Array(i - 1); --i;) o[i - 1] = arguments[i];
                    return t[n].subscribe.apply(null, o), e
                }
                if ("string" == typeof n) return t[n]
            };
        n.addEventType = o;
        for (var r = 1, i = arguments.length; r < i; ++r) o(arguments[r]);
        return n;

        function o(e, r, i) {
            if ("object" == typeof e) return s(e);
            r || (r = ge), i || (i = de);
            var o = {
                subscribers: [],
                fire: i,
                subscribe: function(e) {
                    -1 === o.subscribers.indexOf(e) && (o.subscribers.push(e), o.fire = r(o.fire, e))
                },
                unsubscribe: function(e) {
                    o.subscribers = o.subscribers.filter((function(t) {
                        return t !== e
                    })), o.fire = o.subscribers.reduce(r, i)
                }
            };
            return t[e] = n[e] = o, o
        }

        function s(e) {
            h(e).forEach((function(t) {
                var n = e[t];
                if (f(n)) o(t, e[t][0], e[t][1]);
                else {
                    if ("asap" !== n) throw new ce.InvalidArgument("Invalid event config");
                    var r = o(t, he, (function() {
                        for (var e = arguments.length, t = new Array(e); e--;) t[e] = arguments[e];
                        r.subscribers.forEach((function(e) {
                            K((function() {
                                e.apply(null, t)
                            }))
                        }))
                    }))
                }
            }))
        }
    }

    function jt(e, t) {
        return w(t).from({
            prototype: e
        }), t
    }

    function Tt(e, t) {
        return !(e.filter || e.algorithm || e.or) && (t ? e.justLimit : !e.replayFilter)
    }

    function Nt(e, t) {
        e.filter = Dt(e.filter, t)
    }

    function Ft(e, t, n) {
        var r = e.replayFilter;
        e.replayFilter = r ? () => Dt(r(), t()) : t, e.justLimit = n && !r
    }

    function qt(e, t) {
        if (e.isPrimKey) return t.primaryKey;
        const n = t.getIndexByKeyPath(e.index);
        if (!n) throw new ce.Schema("KeyPath " + e.index + " on object store " + t.name + " is not indexed");
        return n
    }

    function Ut(e, t, n) {
        const r = qt(e, t.schema);
        return t.openCursor({
            trans: n,
            values: !e.keysOnly,
            reverse: "prev" === e.dir,
            unique: !!e.unique,
            query: {
                index: r,
                range: e.range
            }
        })
    }

    function Lt(e, t, n, r) {
        const i = e.replayFilter ? Dt(e.filter, e.replayFilter()) : e.filter;
        if (e.or) {
            const o = {},
                s = (e, n, r) => {
                    if (!i || i(n, r, (e => n.stop(e)), (e => n.fail(e)))) {
                        var s = n.primaryKey,
                            a = "" + s;
                        "[object ArrayBuffer]" === a && (a = "" + new Uint8Array(s)), v(o, a) || (o[a] = !0, t(e, n, r))
                    }
                };
            return Promise.all([e.or._iterate(s, n), zt(Ut(e, r, n), e.algorithm, s, !e.keysOnly && e.valueMapper)])
        }
        return zt(Ut(e, r, n), Dt(e.algorithm, i), t, !e.keysOnly && e.valueMapper)
    }

    function zt(e, t, n, r) {
        var i = nt(r ? (e, t, i) => n(r(e), t, i) : n);
        return e.then((e => {
            if (e) return e.start((() => {
                var n = () => e.continue();
                t && !t(e, (e => n = e), (t => {
                    e.stop(t), n = de
                }), (t => {
                    e.fail(t), n = de
                })) || i(e.value, e, (e => n = e)), n()
            }))
        }))
    }

    function Wt(e, t) {
        try {
            const n = Gt(e),
                r = Gt(t);
            if (n !== r) return "Array" === n ? 1 : "Array" === r ? -1 : "binary" === n ? 1 : "binary" === r ? -1 : "string" === n ? 1 : "string" === r ? -1 : "Date" === n ? 1 : "Date" !== r ? NaN : -1;
            switch (n) {
                case "number":
                case "Date":
                case "string":
                    return e > t ? 1 : e < t ? -1 : 0;
                case "binary":
                    return function(e, t) {
                        const n = e.length,
                            r = t.length,
                            i = n < r ? n : r;
                        for (let n = 0; n < i; ++n)
                            if (e[n] !== t[n]) return e[n] < t[n] ? -1 : 1;
                        return n === r ? 0 : n < r ? -1 : 1
                    }(Vt(e), Vt(t));
                case "Array":
                    return function(e, t) {
                        const n = e.length,
                            r = t.length,
                            i = n < r ? n : r;
                        for (let n = 0; n < i; ++n) {
                            const r = Wt(e[n], t[n]);
                            if (0 !== r) return r
                        }
                        return n === r ? 0 : n < r ? -1 : 1
                    }(e, t)
            }
        } catch (e) {}
        return NaN
    }

    function Gt(e) {
        const t = typeof e;
        if ("object" !== t) return t;
        if (ArrayBuffer.isView(e)) return "binary";
        const n = U(e);
        return "ArrayBuffer" === n ? "binary" : n
    }

    function Vt(e) {
        return e instanceof Uint8Array ? e : ArrayBuffer.isView(e) ? new Uint8Array(e.buffer, e.byteOffset, e.byteLength) : new Uint8Array(e)
    }
    class Yt {
        _read(e, t) {
            var n = this._ctx;
            return n.error ? n.table._trans(null, kt.bind(null, n.error)) : n.table._trans("readonly", e).then(t)
        }
        _write(e) {
            var t = this._ctx;
            return t.error ? t.table._trans(null, kt.bind(null, t.error)) : t.table._trans("readwrite", e, "locked")
        }
        _addAlgorithm(e) {
            var t = this._ctx;
            t.algorithm = Dt(t.algorithm, e)
        }
        _iterate(e, t) {
            return Lt(this._ctx, e, t, this._ctx.table.core)
        }
        clone(e) {
            var t = Object.create(this.constructor.prototype),
                n = Object.create(this._ctx);
            return e && p(n, e), t._ctx = n, t
        }
        raw() {
            return this._ctx.valueMapper = null, this
        }
        each(e) {
            var t = this._ctx;
            return this._read((n => Lt(t, e, n, t.table.core)))
        }
        count(e) {
            return this._read((e => {
                const t = this._ctx,
                    n = t.table.core;
                if (Tt(t, !0)) return n.count({
                    trans: e,
                    query: {
                        index: qt(t, n.schema),
                        range: t.range
                    }
                }).then((e => Math.min(e, t.limit)));
                var r = 0;
                return Lt(t, (() => (++r, !1)), e, n).then((() => r))
            })).then(e)
        }
        sortBy(e, t) {
            const n = e.split(".").reverse(),
                r = n[0],
                i = n.length - 1;

            function o(e, t) {
                return t ? o(e[n[t]], t - 1) : e[r]
            }
            var s = "next" === this._ctx.dir ? 1 : -1;

            function a(e, t) {
                var n = o(e, i),
                    r = o(t, i);
                return n < r ? -s : n > r ? s : 0
            }
            return this.toArray((function(e) {
                return e.sort(a)
            })).then(t)
        }
        toArray(e) {
            return this._read((e => {
                var t = this._ctx;
                if ("next" === t.dir && Tt(t, !0) && t.limit > 0) {
                    const {
                        valueMapper: n
                    } = t, r = qt(t, t.table.core.schema);
                    return t.table.core.query({
                        trans: e,
                        limit: t.limit,
                        values: !0,
                        query: {
                            index: r,
                            range: t.range
                        }
                    }).then((({
                        result: e
                    }) => n ? e.map(n) : e))
                } {
                    const n = [];
                    return Lt(t, (e => n.push(e)), e, t.table.core).then((() => n))
                }
            }), e)
        }
        offset(e) {
            var t = this._ctx;
            return e <= 0 || (t.offset += e, Tt(t) ? Ft(t, (() => {
                var t = e;
                return (e, n) => 0 === t || (1 === t ? (--t, !1) : (n((() => {
                    e.advance(t), t = 0
                })), !1))
            })) : Ft(t, (() => {
                var t = e;
                return () => --t < 0
            }))), this
        }
        limit(e) {
            return this._ctx.limit = Math.min(this._ctx.limit, e), Ft(this._ctx, (() => {
                var t = e;
                return function(e, n, r) {
                    return --t <= 0 && n(r), t >= 0
                }
            }), !0), this
        }
        until(e, t) {
            return Nt(this._ctx, (function(n, r, i) {
                return !e(n.value) || (r(i), t)
            })), this
        }
        first(e) {
            return this.limit(1).toArray((function(e) {
                return e[0]
            })).then(e)
        }
        last(e) {
            return this.reverse().first(e)
        }
        filter(e) {
            var t, n;
            return Nt(this._ctx, (function(t) {
                return e(t.value)
            })), t = this._ctx, n = e, t.isMatch = Dt(t.isMatch, n), this
        }
        and(e) {
            return this.filter(e)
        }
        or(e) {
            return new this.db.WhereClause(this._ctx.table, e, this)
        }
        reverse() {
            return this._ctx.dir = "prev" === this._ctx.dir ? "next" : "prev", this._ondirectionchange && this._ondirectionchange(this._ctx.dir), this
        }
        desc() {
            return this.reverse()
        }
        eachKey(e) {
            var t = this._ctx;
            return t.keysOnly = !t.isMatch, this.each((function(t, n) {
                e(n.key, n)
            }))
        }
        eachUniqueKey(e) {
            return this._ctx.unique = "unique", this.eachKey(e)
        }
        eachPrimaryKey(e) {
            var t = this._ctx;
            return t.keysOnly = !t.isMatch, this.each((function(t, n) {
                e(n.primaryKey, n)
            }))
        }
        keys(e) {
            var t = this._ctx;
            t.keysOnly = !t.isMatch;
            var n = [];
            return this.each((function(e, t) {
                n.push(t.key)
            })).then((function() {
                return n
            })).then(e)
        }
        primaryKeys(e) {
            var t = this._ctx;
            if ("next" === t.dir && Tt(t, !0) && t.limit > 0) return this._read((e => {
                var n = qt(t, t.table.core.schema);
                return t.table.core.query({
                    trans: e,
                    values: !1,
                    limit: t.limit,
                    query: {
                        index: n,
                        range: t.range
                    }
                })
            })).then((({
                result: e
            }) => e)).then(e);
            t.keysOnly = !t.isMatch;
            var n = [];
            return this.each((function(e, t) {
                n.push(t.primaryKey)
            })).then((function() {
                return n
            })).then(e)
        }
        uniqueKeys(e) {
            return this._ctx.unique = "unique", this.keys(e)
        }
        firstKey(e) {
            return this.limit(1).keys((function(e) {
                return e[0]
            })).then(e)
        }
        lastKey(e) {
            return this.reverse().firstKey(e)
        }
        distinct() {
            var e = this._ctx,
                t = e.index && e.table.schema.idxByName[e.index];
            if (!t || !t.multi) return this;
            var n = {};
            return Nt(this._ctx, (function(e) {
                var t = e.primaryKey.toString(),
                    r = v(n, t);
                return n[t] = !0, !r
            })), this
        }
        modify(e) {
            var t = this._ctx;
            return this._write((n => {
                var r;
                if ("function" == typeof e) r = e;
                else {
                    var i = h(e),
                        o = i.length;
                    r = function(t) {
                        for (var n = !1, r = 0; r < o; ++r) {
                            var s = i[r],
                                a = e[s];
                            A(t, s) !== a && (D(t, s, a), n = !0)
                        }
                        return n
                    }
                }
                const s = t.table.core,
                    {
                        outbound: a,
                        extractKey: c
                    } = s.schema.primaryKey,
                    l = this.db._options.modifyChunkSize || 200,
                    u = [];
                let d = 0;
                const f = [],
                    p = (e, t) => {
                        const {
                            failures: n,
                            numFailures: r
                        } = t;
                        d += e - r;
                        for (let e of h(n)) u.push(n[e])
                    };
                return this.clone().primaryKeys().then((i => {
                    const o = u => {
                        const d = Math.min(l, i.length - u);
                        return s.getMany({
                            trans: n,
                            keys: i.slice(u, u + d),
                            cache: "immutable"
                        }).then((h => {
                            const f = [],
                                m = [],
                                y = a ? [] : null,
                                v = [];
                            for (let e = 0; e < d; ++e) {
                                const t = h[e],
                                    n = {
                                        value: N(t),
                                        primKey: i[u + e]
                                    };
                                !1 !== r.call(n, n.value, n) && (null == n.value ? v.push(i[u + e]) : a || 0 === Wt(c(t), c(n.value)) ? (m.push(n.value), a && y.push(i[u + e])) : (v.push(i[u + e]), f.push(n.value)))
                            }
                            const g = Tt(t) && t.limit === 1 / 0 && ("function" != typeof e || e === Jt) && {
                                index: t.index,
                                range: t.range
                            };
                            return Promise.resolve(f.length > 0 && s.mutate({
                                trans: n,
                                type: "add",
                                values: f
                            }).then((e => {
                                for (let t in e.failures) v.splice(parseInt(t), 1);
                                p(f.length, e)
                            }))).then((() => (m.length > 0 || g && "object" == typeof e) && s.mutate({
                                trans: n,
                                type: "put",
                                keys: y,
                                values: m,
                                criteria: g,
                                changeSpec: "function" != typeof e && e
                            }).then((e => p(m.length, e))))).then((() => (v.length > 0 || g && e === Jt) && s.mutate({
                                trans: n,
                                type: "delete",
                                keys: v,
                                criteria: g
                            }).then((e => p(v.length, e))))).then((() => i.length > u + d && o(u + l)))
                        }))
                    };
                    return o(0).then((() => {
                        if (u.length > 0) throw new ie("Error modifying one or more objects", u, d, f);
                        return i.length
                    }))
                }))
            }))
        }
        delete() {
            var e = this._ctx,
                t = e.range;
            return Tt(e) && (e.isPrimKey && !Et || 3 === t.type) ? this._write((n => {
                const {
                    primaryKey: r
                } = e.table.core.schema, i = t;
                return e.table.core.count({
                    trans: n,
                    query: {
                        index: r,
                        range: i
                    }
                }).then((t => e.table.core.mutate({
                    trans: n,
                    type: "deleteRange",
                    range: i
                }).then((({
                    failures: e,
                    lastResult: n,
                    results: r,
                    numFailures: i
                }) => {
                    if (i) throw new ie("Could not delete some values", Object.keys(e).map((t => e[t])), t - i);
                    return t - i
                }))))
            })) : this.modify(Jt)
        }
    }
    const Jt = (e, t) => t.value = null;

    function Ht(e, t) {
        return e < t ? -1 : e === t ? 0 : 1
    }

    function Qt(e, t) {
        return e > t ? -1 : e === t ? 0 : 1
    }

    function Zt(e, t, n) {
        var r = e instanceof rn ? new e.Collection(e) : e;
        return r._ctx.error = n ? new n(t) : new TypeError(t), r
    }

    function Xt(e) {
        return new e.Collection(e, (() => nn(""))).limit(0)
    }

    function $t(e, t, n, r, i, o) {
        for (var s = Math.min(e.length, r.length), a = -1, c = 0; c < s; ++c) {
            var l = t[c];
            if (l !== r[c]) return i(e[c], n[c]) < 0 ? e.substr(0, c) + n[c] + n.substr(c + 1) : i(e[c], r[c]) < 0 ? e.substr(0, c) + r[c] + n.substr(c + 1) : a >= 0 ? e.substr(0, a) + t[a] + n.substr(a + 1) : null;
            i(e[c], l) < 0 && (a = c)
        }
        return s < r.length && "next" === o ? e + n.substr(e.length) : s < e.length && "prev" === o ? e.substr(0, n.length) : a < 0 ? null : e.substr(0, a) + r[a] + n.substr(a + 1)
    }

    function en(e, t, n, r) {
        var i, o, s, a, c, l, u, d = n.length;
        if (!n.every((e => "string" == typeof e))) return Zt(e, "String expected.");

        function h(e) {
            i = function(e) {
                return "next" === e ? e => e.toUpperCase() : e => e.toLowerCase()
            }(e), o = function(e) {
                return "next" === e ? e => e.toLowerCase() : e => e.toUpperCase()
            }(e), s = "next" === e ? Ht : Qt;
            var t = n.map((function(e) {
                return {
                    lower: o(e),
                    upper: i(e)
                }
            })).sort((function(e, t) {
                return s(e.lower, t.lower)
            }));
            a = t.map((function(e) {
                return e.upper
            })), c = t.map((function(e) {
                return e.lower
            })), l = e, u = "next" === e ? "" : r
        }
        h("next");
        var f = new e.Collection(e, (() => tn(a[0], c[d - 1] + r)));
        f._ondirectionchange = function(e) {
            h(e)
        };
        var p = 0;
        return f._addAlgorithm((function(e, n, r) {
            var i = e.key;
            if ("string" != typeof i) return !1;
            var h = o(i);
            if (t(h, c, p)) return !0;
            for (var f = null, m = p; m < d; ++m) {
                var y = $t(i, h, a[m], c[m], s, l);
                null === y && null === f ? p = m + 1 : (null === f || s(f, y) > 0) && (f = y)
            }
            return n(null !== f ? function() {
                e.continue(f + u)
            } : r), !1
        })), f
    }

    function tn(e, t, n, r) {
        return {
            type: 2,
            lower: e,
            upper: t,
            lowerOpen: n,
            upperOpen: r
        }
    }

    function nn(e) {
        return {
            type: 1,
            lower: e,
            upper: e
        }
    }
    class rn {
        get Collection() {
            return this._ctx.table.db.Collection
        }
        between(e, t, n, r) {
            n = !1 !== n, r = !0 === r;
            try {
                return this._cmp(e, t) > 0 || 0 === this._cmp(e, t) && (n || r) && (!n || !r) ? Xt(this) : new this.Collection(this, (() => tn(e, t, !n, !r)))
            } catch (e) {
                return Zt(this, Pt)
            }
        }
        equals(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => nn(e)))
        }
        above(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => tn(e, void 0, !0)))
        }
        aboveOrEqual(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => tn(e, void 0, !1)))
        }
        below(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => tn(void 0, e, !1, !0)))
        }
        belowOrEqual(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => tn(void 0, e)))
        }
        startsWith(e) {
            return "string" != typeof e ? Zt(this, "String expected.") : this.between(e, e + xt, !0, !0)
        }
        startsWithIgnoreCase(e) {
            return "" === e ? this.startsWith(e) : en(this, ((e, t) => 0 === e.indexOf(t[0])), [e], xt)
        }
        equalsIgnoreCase(e) {
            return en(this, ((e, t) => e === t[0]), [e], "")
        }
        anyOfIgnoreCase() {
            var e = G.apply(W, arguments);
            return 0 === e.length ? Xt(this) : en(this, ((e, t) => -1 !== t.indexOf(e)), e, "")
        }
        startsWithAnyOfIgnoreCase() {
            var e = G.apply(W, arguments);
            return 0 === e.length ? Xt(this) : en(this, ((e, t) => t.some((t => 0 === e.indexOf(t)))), e, xt)
        }
        anyOf() {
            const e = G.apply(W, arguments);
            let t = this._cmp;
            try {
                e.sort(t)
            } catch (e) {
                return Zt(this, Pt)
            }
            if (0 === e.length) return Xt(this);
            const n = new this.Collection(this, (() => tn(e[0], e[e.length - 1])));
            n._ondirectionchange = n => {
                t = "next" === n ? this._ascending : this._descending, e.sort(t)
            };
            let r = 0;
            return n._addAlgorithm(((n, i, o) => {
                const s = n.key;
                for (; t(s, e[r]) > 0;)
                    if (++r, r === e.length) return i(o), !1;
                return 0 === t(s, e[r]) || (i((() => {
                    n.continue(e[r])
                })), !1)
            })), n
        }
        notEqual(e) {
            return this.inAnyRange([
                [-1 / 0, e],
                [e, this.db._maxKey]
            ], {
                includeLowers: !1,
                includeUppers: !1
            })
        }
        noneOf() {
            const e = G.apply(W, arguments);
            if (0 === e.length) return new this.Collection(this);
            try {
                e.sort(this._ascending)
            } catch (e) {
                return Zt(this, Pt)
            }
            const t = e.reduce(((e, t) => e ? e.concat([
                [e[e.length - 1][1], t]
            ]) : [
                [-1 / 0, t]
            ]), null);
            return t.push([e[e.length - 1], this.db._maxKey]), this.inAnyRange(t, {
                includeLowers: !1,
                includeUppers: !1
            })
        }
        inAnyRange(e, t) {
            const n = this._cmp,
                r = this._ascending,
                i = this._descending,
                o = this._min,
                s = this._max;
            if (0 === e.length) return Xt(this);
            if (!e.every((e => void 0 !== e[0] && void 0 !== e[1] && r(e[0], e[1]) <= 0))) return Zt(this, "First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower", ce.InvalidArgument);
            const a = !t || !1 !== t.includeLowers,
                c = t && !0 === t.includeUppers;
            let l, u = r;

            function d(e, t) {
                return u(e[0], t[0])
            }
            try {
                l = e.reduce((function(e, t) {
                    let r = 0,
                        i = e.length;
                    for (; r < i; ++r) {
                        const i = e[r];
                        if (n(t[0], i[1]) < 0 && n(t[1], i[0]) > 0) {
                            i[0] = o(i[0], t[0]), i[1] = s(i[1], t[1]);
                            break
                        }
                    }
                    return r === i && e.push(t), e
                }), []), l.sort(d)
            } catch (e) {
                return Zt(this, Pt)
            }
            let h = 0;
            const f = c ? e => r(e, l[h][1]) > 0 : e => r(e, l[h][1]) >= 0,
                p = a ? e => i(e, l[h][0]) > 0 : e => i(e, l[h][0]) >= 0;
            let m = f;
            const y = new this.Collection(this, (() => tn(l[0][0], l[l.length - 1][1], !a, !c)));
            return y._ondirectionchange = e => {
                "next" === e ? (m = f, u = r) : (m = p, u = i), l.sort(d)
            }, y._addAlgorithm(((e, t, n) => {
                for (var i = e.key; m(i);)
                    if (++h, h === l.length) return t(n), !1;
                return !! function(e) {
                    return !f(e) && !p(e)
                }(i) || (0 === this._cmp(i, l[h][1]) || 0 === this._cmp(i, l[h][0]) || t((() => {
                    u === r ? e.continue(l[h][0]) : e.continue(l[h][1])
                })), !1)
            })), y
        }
        startsWithAnyOf() {
            const e = G.apply(W, arguments);
            return e.every((e => "string" == typeof e)) ? 0 === e.length ? Xt(this) : this.inAnyRange(e.map((e => [e, e + xt]))) : Zt(this, "startsWithAnyOf() only works with strings")
        }
    }

    function on(e) {
        return nt((function(t) {
            return sn(t), e(t.target.error), !1
        }))
    }

    function sn(e) {
        e.stopPropagation && e.stopPropagation(), e.preventDefault && e.preventDefault()
    }
    const an = Rt(null, "storagemutated");
    class cn {
        _lock() {
            return S(!Te.global), ++this._reculock, 1 !== this._reculock || Te.global || (Te.lockOwnerFor = this), this
        }
        _unlock() {
            if (S(!Te.global), 0 == --this._reculock)
                for (Te.global || (Te.lockOwnerFor = null); this._blockedFuncs.length > 0 && !this._locked();) {
                    var e = this._blockedFuncs.shift();
                    try {
                        vt(e[1], e[0])
                    } catch (e) {}
                }
            return this
        }
        _locked() {
            return this._reculock && Te.lockOwnerFor !== this
        }
        create(e) {
            if (!this.mode) return this;
            const t = this.db.idbdb,
                n = this.db._state.dbOpenError;
            if (S(!this.idbtrans), !e && !t) switch (n && n.name) {
                case "DatabaseClosedError":
                    throw new ce.DatabaseClosed(n);
                case "MissingAPIError":
                    throw new ce.MissingAPI(n.message, n);
                default:
                    throw new ce.OpenFailed(n)
            }
            if (!this.active) throw new ce.TransactionInactive;
            return S(null === this._completion._state), (e = this.idbtrans = e || (this.db.core ? this.db.core.transaction(this.storeNames, this.mode, {
                durability: this.chromeTransactionDurability
            }) : t.transaction(this.storeNames, this.mode, {
                durability: this.chromeTransactionDurability
            }))).onerror = nt((t => {
                sn(t), this._reject(e.error)
            })), e.onabort = nt((t => {
                sn(t), this.active && this._reject(new ce.Abort(e.error)), this.active = !1, this.on("abort").fire(t)
            })), e.oncomplete = nt((() => {
                this.active = !1, this._resolve(), "mutatedParts" in e && an.storagemutated.fire(e.mutatedParts)
            })), this
        }
        _promise(e, t, n) {
            if ("readwrite" === e && "readwrite" !== this.mode) return kt(new ce.ReadOnly("Transaction is readonly"));
            if (!this.active) return kt(new ce.TransactionInactive);
            if (this._locked()) return new Ue(((r, i) => {
                this._blockedFuncs.push([() => {
                    this._promise(e, t, n).then(r, i)
                }, Te])
            }));
            if (n) return lt((() => {
                var e = new Ue(((e, n) => {
                    this._lock();
                    const r = t(e, n, this);
                    r && r.then && r.then(e, n)
                }));
                return e.finally((() => this._unlock())), e._lib = !0, e
            }));
            var r = new Ue(((e, n) => {
                var r = t(e, n, this);
                r && r.then && r.then(e, n)
            }));
            return r._lib = !0, r
        }
        _root() {
            return this.parent ? this.parent._root() : this
        }
        waitFor(e) {
            var t = this._root();
            const n = Ue.resolve(e);
            if (t._waitingFor) t._waitingFor = t._waitingFor.then((() => n));
            else {
                t._waitingFor = n, t._waitingQueue = [];
                var r = t.idbtrans.objectStore(t.storeNames[0]);
                ! function e() {
                    for (++t._spinCount; t._waitingQueue.length;) t._waitingQueue.shift()();
                    t._waitingFor && (r.get(-1 / 0).onsuccess = e)
                }()
            }
            var i = t._waitingFor;
            return new Ue(((e, r) => {
                n.then((n => t._waitingQueue.push(nt(e.bind(null, n)))), (e => t._waitingQueue.push(nt(r.bind(null, e))))).finally((() => {
                    t._waitingFor === i && (t._waitingFor = null)
                }))
            }))
        }
        abort() {
            this.active && (this.active = !1, this.idbtrans && this.idbtrans.abort(), this._reject(new ce.Abort))
        }
        table(e) {
            const t = this._memoizedTables || (this._memoizedTables = {});
            if (v(t, e)) return t[e];
            const n = this.schema[e];
            if (!n) throw new ce.NotFound("Table " + e + " not part of transaction");
            const r = new this.db.Table(e, n, this);
            return r.core = this.db.core.table(e), t[e] = r, r
        }
    }

    function ln(e, t, n, r, i, o, s) {
        return {
            name: e,
            keyPath: t,
            unique: n,
            multi: r,
            auto: i,
            compound: o,
            src: (n && !s ? "&" : "") + (r ? "*" : "") + (i ? "++" : "") + un(t)
        }
    }

    function un(e) {
        return "string" == typeof e ? e : e ? "[" + [].join.call(e, "+") + "]" : ""
    }

    function dn(e, t, n) {
        return {
            name: e,
            primKey: t,
            indexes: n,
            mappedClass: null,
            idxByName: E(n, (e => [e.name, e]))
        }
    }
    let hn = e => {
        try {
            return e.only([
                []
            ]), hn = () => [
                []
            ], [
                []
            ]
        } catch (e) {
            return hn = () => xt, xt
        }
    };

    function fn(e) {
        return null == e ? () => {} : "string" == typeof e ? function(e) {
            return 1 === e.split(".").length ? t => t[e] : t => A(t, e)
        }(e) : t => A(t, e)
    }

    function pn(e) {
        return [].slice.call(e)
    }
    let mn = 0;

    function yn(e) {
        return null == e ? ":id" : "string" == typeof e ? e : `[${e.join("+")}]`
    }

    function vn(e, t, n) {
        function r(e) {
            if (3 === e.type) return null;
            if (4 === e.type) throw new Error("Cannot convert never type to IDBKeyRange");
            const {
                lower: n,
                upper: r,
                lowerOpen: i,
                upperOpen: o
            } = e;
            return void 0 === n ? void 0 === r ? null : t.upperBound(r, !!o) : void 0 === r ? t.lowerBound(n, !!i) : t.bound(n, r, !!i, !!o)
        }
        const {
            schema: i,
            hasGetAll: o
        } = function(e, t) {
            const n = pn(e.objectStoreNames);
            return {
                schema: {
                    name: e.name,
                    tables: n.map((e => t.objectStore(e))).map((e => {
                        const {
                            keyPath: t,
                            autoIncrement: n
                        } = e, r = f(t), i = null == t, o = {}, s = {
                            name: e.name,
                            primaryKey: {
                                name: null,
                                isPrimaryKey: !0,
                                outbound: i,
                                compound: r,
                                keyPath: t,
                                autoIncrement: n,
                                unique: !0,
                                extractKey: fn(t)
                            },
                            indexes: pn(e.indexNames).map((t => e.index(t))).map((e => {
                                const {
                                    name: t,
                                    unique: n,
                                    multiEntry: r,
                                    keyPath: i
                                } = e, s = {
                                    name: t,
                                    compound: f(i),
                                    keyPath: i,
                                    unique: n,
                                    multiEntry: r,
                                    extractKey: fn(i)
                                };
                                return o[yn(i)] = s, s
                            })),
                            getIndexByKeyPath: e => o[yn(e)]
                        };
                        return o[":id"] = s.primaryKey, null != t && (o[yn(t)] = s.primaryKey), s
                    }))
                },
                hasGetAll: n.length > 0 && "getAll" in t.objectStore(n[0]) && !("undefined" != typeof navigator && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604)
            }
        }(e, n), s = i.tables.map((e => function(e) {
            const t = e.name;
            return {
                name: t,
                schema: e,
                mutate: function({
                    trans: e,
                    type: n,
                    keys: i,
                    values: o,
                    range: s
                }) {
                    return new Promise(((a, c) => {
                        a = nt(a);
                        const l = e.objectStore(t),
                            u = null == l.keyPath,
                            d = "put" === n || "add" === n;
                        if (!d && "delete" !== n && "deleteRange" !== n) throw new Error("Invalid operation type: " + n);
                        const {
                            length: h
                        } = i || o || {
                            length: 1
                        };
                        if (i && o && i.length !== o.length) throw new Error("Given keys array must have same length as given values array.");
                        if (0 === h) return a({
                            numFailures: 0,
                            failures: {},
                            results: [],
                            lastResult: void 0
                        });
                        let f;
                        const p = [],
                            m = [];
                        let y = 0;
                        const v = e => {
                            ++y, sn(e)
                        };
                        if ("deleteRange" === n) {
                            if (4 === s.type) return a({
                                numFailures: y,
                                failures: m,
                                results: [],
                                lastResult: void 0
                            });
                            3 === s.type ? p.push(f = l.clear()) : p.push(f = l.delete(r(s)))
                        } else {
                            const [e, t] = d ? u ? [o, i] : [o, null] : [i, null];
                            if (d)
                                for (let r = 0; r < h; ++r) p.push(f = t && void 0 !== t[r] ? l[n](e[r], t[r]) : l[n](e[r])), f.onerror = v;
                            else
                                for (let t = 0; t < h; ++t) p.push(f = l[n](e[t])), f.onerror = v
                        }
                        const g = e => {
                            const t = e.target.result;
                            p.forEach(((e, t) => null != e.error && (m[t] = e.error))), a({
                                numFailures: y,
                                failures: m,
                                results: "delete" === n ? i : p.map((e => e.result)),
                                lastResult: t
                            })
                        };
                        f.onerror = e => {
                            v(e), g(e)
                        }, f.onsuccess = g
                    }))
                },
                getMany: ({
                    trans: e,
                    keys: n
                }) => new Promise(((r, i) => {
                    r = nt(r);
                    const o = e.objectStore(t),
                        s = n.length,
                        a = new Array(s);
                    let c, l = 0,
                        u = 0;
                    const d = e => {
                            const t = e.target;
                            a[t._pos] = t.result, ++u === l && r(a)
                        },
                        h = on(i);
                    for (let e = 0; e < s; ++e) null != n[e] && (c = o.get(n[e]), c._pos = e, c.onsuccess = d, c.onerror = h, ++l);
                    0 === l && r(a)
                })),
                get: ({
                    trans: e,
                    key: n
                }) => new Promise(((r, i) => {
                    r = nt(r);
                    const o = e.objectStore(t).get(n);
                    o.onsuccess = e => r(e.target.result), o.onerror = on(i)
                })),
                query: function(e) {
                    return n => new Promise(((i, o) => {
                        i = nt(i);
                        const {
                            trans: s,
                            values: a,
                            limit: c,
                            query: l
                        } = n, u = c === 1 / 0 ? void 0 : c, {
                            index: d,
                            range: h
                        } = l, f = s.objectStore(t), p = d.isPrimaryKey ? f : f.index(d.name), m = r(h);
                        if (0 === c) return i({
                            result: []
                        });
                        if (e) {
                            const e = a ? p.getAll(m, u) : p.getAllKeys(m, u);
                            e.onsuccess = e => i({
                                result: e.target.result
                            }), e.onerror = on(o)
                        } else {
                            let e = 0;
                            const t = a || !("openKeyCursor" in p) ? p.openCursor(m) : p.openKeyCursor(m),
                                n = [];
                            t.onsuccess = r => {
                                const o = t.result;
                                return o ? (n.push(a ? o.value : o.primaryKey), ++e === c ? i({
                                    result: n
                                }) : void o.continue()) : i({
                                    result: n
                                })
                            }, t.onerror = on(o)
                        }
                    }))
                }(o),
                openCursor: function({
                    trans: e,
                    values: n,
                    query: i,
                    reverse: o,
                    unique: s
                }) {
                    return new Promise(((a, c) => {
                        a = nt(a);
                        const {
                            index: l,
                            range: u
                        } = i, d = e.objectStore(t), h = l.isPrimaryKey ? d : d.index(l.name), f = o ? s ? "prevunique" : "prev" : s ? "nextunique" : "next", p = n || !("openKeyCursor" in h) ? h.openCursor(r(u), f) : h.openKeyCursor(r(u), f);
                        p.onerror = on(c), p.onsuccess = nt((t => {
                            const n = p.result;
                            if (!n) return void a(null);
                            n.___id = ++mn, n.done = !1;
                            const r = n.continue.bind(n);
                            let i = n.continuePrimaryKey;
                            i && (i = i.bind(n));
                            const o = n.advance.bind(n),
                                s = () => {
                                    throw new Error("Cursor not stopped")
                                };
                            n.trans = e, n.stop = n.continue = n.continuePrimaryKey = n.advance = () => {
                                throw new Error("Cursor not started")
                            }, n.fail = nt(c), n.next = function() {
                                let e = 1;
                                return this.start((() => e-- ? this.continue() : this.stop())).then((() => this))
                            }, n.start = e => {
                                const t = new Promise(((e, t) => {
                                        e = nt(e), p.onerror = on(t), n.fail = t, n.stop = t => {
                                            n.stop = n.continue = n.continuePrimaryKey = n.advance = s, e(t)
                                        }
                                    })),
                                    a = () => {
                                        if (p.result) try {
                                            e()
                                        } catch (e) {
                                            n.fail(e)
                                        } else n.done = !0, n.start = () => {
                                            throw new Error("Cursor behind last entry")
                                        }, n.stop()
                                    };
                                return p.onsuccess = nt((e => {
                                    p.onsuccess = a, a()
                                })), n.continue = r, n.continuePrimaryKey = i, n.advance = o, a(), t
                            }, a(n)
                        }), c)
                    }))
                },
                count({
                    query: e,
                    trans: n
                }) {
                    const {
                        index: i,
                        range: o
                    } = e;
                    return new Promise(((e, s) => {
                        const a = n.objectStore(t),
                            c = i.isPrimaryKey ? a : a.index(i.name),
                            l = r(o),
                            u = l ? c.count(l) : c.count();
                        u.onsuccess = nt((t => e(t.target.result))), u.onerror = on(s)
                    }))
                }
            }
        }(e))), a = {};
        return s.forEach((e => a[e.name] = e)), {
            stack: "dbcore",
            transaction: e.transaction.bind(e),
            table(e) {
                if (!a[e]) throw new Error(`Table '${e}' not found`);
                return a[e]
            },
            MIN_KEY: -1 / 0,
            MAX_KEY: hn(t),
            schema: i
        }
    }

    function gn({
        _novip: e
    }, t) {
        const n = t.db,
            r = function(e, t, {
                IDBKeyRange: n,
                indexedDB: r
            }, i) {
                const o = function(e, t) {
                    return t.reduce(((e, {
                        create: t
                    }) => ({...e, ...t(e)
                    })), e)
                }(vn(t, n, i), e.dbcore);
                return {
                    dbcore: o
                }
            }(e._middlewares, n, e._deps, t);
        e.core = r.dbcore, e.tables.forEach((t => {
            const n = t.name;
            e.core.schema.tables.some((e => e.name === n)) && (t.core = e.core.table(n), e[n] instanceof e.Table && (e[n].core = t.core))
        }))
    }

    function bn({
        _novip: e
    }, t, n, r) {
        n.forEach((n => {
            const i = r[n];
            t.forEach((t => {
                const r = C(t, n);
                (!r || "value" in r && void 0 === r.value) && (t === e.Transaction.prototype || t instanceof e.Transaction ? _(t, n, {
                    get() {
                        return this.table(n)
                    }, set(e) {
                        b(this, n, {
                            value: e,
                            writable: !0,
                            configurable: !0,
                            enumerable: !0
                        })
                    }
                }) : t[n] = new e.Table(n, i))
            }))
        }))
    }

    function _n({
        _novip: e
    }, t) {
        t.forEach((t => {
            for (let n in t) t[n] instanceof e.Table && delete t[n]
        }))
    }

    function wn(e, t) {
        return e._cfg.version - t._cfg.version
    }

    function kn(e, t, n, r) {
        const i = e._dbSchema,
            o = e._createTransaction("readwrite", e._storeNames, i);
        o.create(n), o._completion.catch(r);
        const s = o._reject.bind(o),
            a = Te.transless || Te;
        lt((() => {
            Te.trans = o, Te.transless = a, 0 === t ? (h(i).forEach((e => {
                xn(n, e, i[e].primKey, i[e].indexes)
            })), gn(e, n), Ue.follow((() => e.on.populate.fire(o))).catch(s)) : function({
                _novip: e
            }, t, n, r) {
                const i = [],
                    o = e._versions;
                let s = e._dbSchema = On(e, e.idbdb, r),
                    a = !1;
                return o.filter((e => e._cfg.version >= t)).forEach((o => {
                        i.push((() => {
                            const i = s,
                                c = o._cfg.dbschema;
                            Sn(e, i, r), Sn(e, c, r), s = e._dbSchema = c;
                            const l = Cn(i, c);
                            l.add.forEach((e => {
                                xn(r, e[0], e[1].primKey, e[1].indexes)
                            })), l.change.forEach((e => {
                                if (e.recreate) throw new ce.Upgrade("Not yet support for changing primary key"); {
                                    const t = r.objectStore(e.name);
                                    e.add.forEach((e => Pn(t, e))), e.change.forEach((e => {
                                        t.deleteIndex(e.name), Pn(t, e)
                                    })), e.del.forEach((e => t.deleteIndex(e)))
                                }
                            }));
                            const u = o._cfg.contentUpgrade;
                            if (u && o._cfg.version > t) {
                                gn(e, r), n._memoizedTables = {}, a = !0;
                                let t = M(c);
                                l.del.forEach((e => {
                                    t[e] = i[e]
                                })), _n(e, [e.Transaction.prototype]), bn(e, [e.Transaction.prototype], h(t), t), n.schema = t;
                                const o = V(u);
                                let s;
                                o && ut();
                                const d = Ue.follow((() => {
                                    if (s = u(n), s && o) {
                                        var e = dt.bind(null, null);
                                        s.then(e, e)
                                    }
                                }));
                                return s && "function" == typeof s.then ? Ue.resolve(s) : d.then((() => s))
                            }
                        })), i.push((t => {
                            a && Kt || function(e, t) {
                                [].slice.call(t.db.objectStoreNames).forEach((n => null == e[n] && t.db.deleteObjectStore(n)))
                            }(o._cfg.dbschema, t), _n(e, [e.Transaction.prototype]), bn(e, [e.Transaction.prototype], e._storeNames, e._dbSchema), n.schema = e._dbSchema
                        }))
                    })),
                    function e() {
                        return i.length ? Ue.resolve(i.shift()(n.idbtrans)).then(e) : Ue.resolve()
                    }().then((() => {
                        var e, t;
                        t = r, h(e = s).forEach((n => {
                            t.db.objectStoreNames.contains(n) || xn(t, n, e[n].primKey, e[n].indexes)
                        }))
                    }))
            }(e, t, o, n).catch(s)
        }))
    }

    function Cn(e, t) {
        const n = {
            del: [],
            add: [],
            change: []
        };
        let r;
        for (r in e) t[r] || n.del.push(r);
        for (r in t) {
            const i = e[r],
                o = t[r];
            if (i) {
                const e = {
                    name: r,
                    def: o,
                    recreate: !1,
                    del: [],
                    add: [],
                    change: []
                };
                if ("" + (i.primKey.keyPath || "") != "" + (o.primKey.keyPath || "") || i.primKey.auto !== o.primKey.auto && !St) e.recreate = !0, n.change.push(e);
                else {
                    const t = i.idxByName,
                        r = o.idxByName;
                    let s;
                    for (s in t) r[s] || e.del.push(s);
                    for (s in r) {
                        const n = t[s],
                            i = r[s];
                        n ? n.src !== i.src && e.change.push(i) : e.add.push(i)
                    }(e.del.length > 0 || e.add.length > 0 || e.change.length > 0) && n.change.push(e)
                }
            } else n.add.push([r, o])
        }
        return n
    }

    function xn(e, t, n, r) {
        const i = e.db.createObjectStore(t, n.keyPath ? {
            keyPath: n.keyPath,
            autoIncrement: n.auto
        } : {
            autoIncrement: n.auto
        });
        return r.forEach((e => Pn(i, e))), i
    }

    function Pn(e, t) {
        e.createIndex(t.name, t.keyPath, {
            unique: t.unique,
            multiEntry: t.multi
        })
    }

    function On(e, t, n) {
        const r = {};
        return P(t.objectStoreNames, 0).forEach((e => {
            const t = n.objectStore(e);
            let i = t.keyPath;
            const o = ln(un(i), i || "", !1, !1, !!t.autoIncrement, i && "string" != typeof i, !0),
                s = [];
            for (let e = 0; e < t.indexNames.length; ++e) {
                const n = t.index(t.indexNames[e]);
                i = n.keyPath;
                var a = ln(n.name, i, !!n.unique, !!n.multiEntry, !1, i && "string" != typeof i, !1);
                s.push(a)
            }
            r[e] = dn(e, o, s)
        })), r
    }

    function Sn({
        _novip: e
    }, t, n) {
        const r = n.db.objectStoreNames;
        for (let i = 0; i < r.length; ++i) {
            const o = r[i],
                s = n.objectStore(o);
            e._hasGetAll = "getAll" in s;
            for (let e = 0; e < s.indexNames.length; ++e) {
                const n = s.indexNames[e],
                    r = s.index(n).keyPath,
                    i = "string" == typeof r ? r : "[" + P(r).join("+") + "]";
                if (t[o]) {
                    const e = t[o].idxByName[i];
                    e && (e.name = n, delete t[o].idxByName[i], t[o].idxByName[n] = e)
                }
            }
        }
        "undefined" != typeof navigator && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && d.WorkerGlobalScope && d instanceof d.WorkerGlobalScope && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604 && (e._hasGetAll = !1)
    }
    class Kn {
        _parseStoresSpec(e, t) {
            h(e).forEach((n => {
                if (null !== e[n]) {
                    var r = e[n].split(",").map(((e, t) => {
                            const n = (e = e.trim()).replace(/([&*]|\+\+)/g, ""),
                                r = /^\[/.test(n) ? n.match(/^\[(.*)\]$/)[1].split("+") : n;
                            return ln(n, r || null, /\&/.test(e), /\*/.test(e), /\+\+/.test(e), f(r), 0 === t)
                        })),
                        i = r.shift();
                    if (i.multi) throw new ce.Schema("Primary key cannot be multi-valued");
                    r.forEach((e => {
                        if (e.auto) throw new ce.Schema("Only primary key can be marked as autoIncrement (++)");
                        if (!e.keyPath) throw new ce.Schema("Index must have a name and cannot be an empty string")
                    })), t[n] = dn(n, i, r)
                }
            }))
        }
        stores(e) {
            const t = this.db;
            this._cfg.storesSource = this._cfg.storesSource ? p(this._cfg.storesSource, e) : e;
            const n = t._versions,
                r = {};
            let i = {};
            return n.forEach((e => {
                p(r, e._cfg.storesSource), i = e._cfg.dbschema = {}, e._parseStoresSpec(r, i)
            })), t._dbSchema = i, _n(t, [t._allTables, t, t.Transaction.prototype]), bn(t, [t._allTables, t, t.Transaction.prototype, this._cfg.tables], h(i), i), t._storeNames = h(i), this
        }
        upgrade(e) {
            return this._cfg.contentUpgrade = be(this._cfg.contentUpgrade || de, e), this
        }
    }

    function En(e, t) {
        let n = e._dbNamesDB;
        return n || (n = e._dbNamesDB = new Qn("__dbnames", {
            addons: [],
            indexedDB: e,
            IDBKeyRange: t
        }), n.version(1).stores({
            dbnames: "name"
        })), n.table("dbnames")
    }

    function An(e) {
        return e && "function" == typeof e.databases
    }

    function Dn(e) {
        return lt((function() {
            return Te.letThrough = !0, e()
        }))
    }

    function Mn() {
        var e;
        return !navigator.userAgentData && /Safari\//.test(navigator.userAgent) && !/Chrom(e|ium)\//.test(navigator.userAgent) && indexedDB.databases ? new Promise((function(t) {
            var n = function() {
                return indexedDB.databases().finally(t)
            };
            e = setInterval(n, 100), n()
        })).finally((function() {
            return clearInterval(e)
        })) : Promise.resolve()
    }

    function In(e) {
        var t = t => e.next(t),
            n = i(t),
            r = i((t => e.throw(t)));

        function i(e) {
            return t => {
                var i = e(t),
                    o = i.value;
                return i.done ? o : o && "function" == typeof o.then ? o.then(n, r) : f(o) ? Promise.all(o).then(n, r) : n(o)
            }
        }
        return i(t)()
    }

    function Bn(e, t, n) {
        var r = arguments.length;
        if (r < 2) throw new ce.InvalidArgument("Too few arguments");
        for (var i = new Array(r - 1); --r;) i[r - 1] = arguments[r];
        n = i.pop();
        var o = B(i);
        return [e, o, n]
    }

    function Rn(e, t, n, r, i) {
        return Ue.resolve().then((() => {
            const o = Te.transless || Te,
                s = e._createTransaction(t, n, e._dbSchema, r),
                a = {
                    trans: s,
                    transless: o
                };
            if (r) s.idbtrans = r.idbtrans;
            else try {
                s.create(), e._state.PR1398_maxLoop = 3
            } catch (r) {
                return r.name === se.InvalidState && e.isOpen() && --e._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), e._close(), e.open().then((() => Rn(e, t, n, null, i)))) : kt(r)
            }
            const c = V(i);
            let l;
            c && ut();
            const u = Ue.follow((() => {
                if (l = i.call(s, s), l)
                    if (c) {
                        var e = dt.bind(null, null);
                        l.then(e, e)
                    } else "function" == typeof l.next && "function" == typeof l.throw && (l = In(l))
            }), a);
            return (l && "function" == typeof l.then ? Ue.resolve(l).then((e => s.active ? e : kt(new ce.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn")))) : u.then((() => l))).then((e => (r && s._resolve(), s._completion.then((() => e))))).catch((e => (s._reject(e), kt(e))))
        }))
    }

    function jn(e, t, n) {
        const r = f(e) ? e.slice() : [e];
        for (let e = 0; e < n; ++e) r.push(t);
        return r
    }
    const Tn = {
        stack: "dbcore",
        name: "VirtualIndexMiddleware",
        level: 1,
        create: function(e) {
            return {...e, table(t) {
                    const n = e.table(t),
                        {
                            schema: r
                        } = n,
                        i = {},
                        o = [];

                    function s(e, t, n) {
                        const r = yn(e),
                            a = i[r] = i[r] || [],
                            c = null == e ? 0 : "string" == typeof e ? 1 : e.length,
                            l = t > 0,
                            u = {...n, isVirtual: l, keyTail: t, keyLength: c, extractKey: fn(e), unique: !l && n.unique
                            };
                        return a.push(u), u.isPrimaryKey || o.push(u), c > 1 && s(2 === c ? e[0] : e.slice(0, c - 1), t + 1, n), a.sort(((e, t) => e.keyTail - t.keyTail)), u
                    }
                    const a = s(r.primaryKey.keyPath, 0, r.primaryKey);
                    i[":id"] = [a];
                    for (const e of r.indexes) s(e.keyPath, 0, e);

                    function c(t) {
                        const n = t.query.index;
                        return n.isVirtual ? {...t, query: {
                                index: n,
                                range: (r = t.query.range, i = n.keyTail, {
                                    type: 1 === r.type ? 2 : r.type,
                                    lower: jn(r.lower, r.lowerOpen ? e.MAX_KEY : e.MIN_KEY, i),
                                    lowerOpen: !0,
                                    upper: jn(r.upper, r.upperOpen ? e.MIN_KEY : e.MAX_KEY, i),
                                    upperOpen: !0
                                })
                            }
                        } : t;
                        var r, i
                    }
                    const l = {...n, schema: {...r, primaryKey: a, indexes: o, getIndexByKeyPath: function(e) {
                                const t = i[yn(e)];
                                return t && t[0]
                            }
                        }, count: e => n.count(c(e)), query: e => n.query(c(e)), openCursor(t) {
                            const {
                                keyTail: r,
                                isVirtual: i,
                                keyLength: o
                            } = t.query.index;
                            return i ? n.openCursor(c(t)).then((n => n && function(n) {
                                const i = Object.create(n, {
                                    continue: {
                                        value: function(i) {
                                            null != i ? n.continue(jn(i, t.reverse ? e.MAX_KEY : e.MIN_KEY, r)) : t.unique ? n.continue(n.key.slice(0, o).concat(t.reverse ? e.MIN_KEY : e.MAX_KEY, r)) : n.continue()
                                        }
                                    },
                                    continuePrimaryKey: {
                                        value(t, i) {
                                            n.continuePrimaryKey(jn(t, e.MAX_KEY, r), i)
                                        }
                                    },
                                    primaryKey: {get: () => n.primaryKey
                                    },
                                    key: {
                                        get() {
                                            const e = n.key;
                                            return 1 === o ? e[0] : e.slice(0, o)
                                        }
                                    },
                                    value: {get: () => n.value
                                    }
                                });
                                return i
                            }(n))) : n.openCursor(t)
                        }
                    };
                    return l
                }
            }
        }
    };

    function Nn(e, t, n, r) {
        return n = n || {}, r = r || "", h(e).forEach((i => {
            if (v(t, i)) {
                var o = e[i],
                    s = t[i];
                if ("object" == typeof o && "object" == typeof s && o && s) {
                    const e = U(o);
                    e !== U(s) ? n[r + i] = t[i] : "Object" === e ? Nn(o, s, n, r + i + ".") : o !== s && (n[r + i] = t[i])
                } else o !== s && (n[r + i] = t[i])
            } else n[r + i] = void 0
        })), h(t).forEach((i => {
            v(e, i) || (n[r + i] = t[i])
        })), n
    }
    const Fn = {
        stack: "dbcore",
        name: "HooksMiddleware",
        level: 2,
        create: e => ({...e, table(t) {
                const n = e.table(t),
                    {
                        primaryKey: r
                    } = n.schema,
                    i = {...n, mutate(e) {
                            const i = Te.trans,
                                {
                                    deleting: o,
                                    creating: s,
                                    updating: a
                                } = i.table(t).hook;
                            switch (e.type) {
                                case "add":
                                    if (s.fire === de) break;
                                    return i._promise("readwrite", (() => c(e)), !0);
                                case "put":
                                    if (s.fire === de && a.fire === de) break;
                                    return i._promise("readwrite", (() => c(e)), !0);
                                case "delete":
                                    if (o.fire === de) break;
                                    return i._promise("readwrite", (() => c(e)), !0);
                                case "deleteRange":
                                    if (o.fire === de) break;
                                    return i._promise("readwrite", (() => function(e) {
                                        return l(e.trans, e.range, 1e4)
                                    }(e)), !0)
                            }
                            return n.mutate(e);

                            function c(e) {
                                const t = Te.trans,
                                    i = e.keys || function(e, t) {
                                        return "delete" === t.type ? t.keys : t.keys || t.values.map(e.extractKey)
                                    }(r, e);
                                if (!i) throw new Error("Keys missing");
                                return "delete" !== (e = "add" === e.type || "put" === e.type ? {...e, keys: i
                                    } : {...e
                                    }).type && (e.values = [...e.values]), e.keys && (e.keys = [...e.keys]),
                                    function(e, t, n) {
                                        return "add" === t.type ? Promise.resolve([]) : e.getMany({
                                            trans: t.trans,
                                            keys: n,
                                            cache: "immutable"
                                        })
                                    }(n, e, i).then((c => {
                                        const l = i.map(((n, i) => {
                                            const l = c[i],
                                                u = {
                                                    onerror: null,
                                                    onsuccess: null
                                                };
                                            if ("delete" === e.type) o.fire.call(u, n, l, t);
                                            else if ("add" === e.type || void 0 === l) {
                                                const o = s.fire.call(u, n, e.values[i], t);
                                                null == n && null != o && (n = o, e.keys[i] = n, r.outbound || D(e.values[i], r.keyPath, n))
                                            } else {
                                                const r = Nn(l, e.values[i]),
                                                    o = a.fire.call(u, r, n, l, t);
                                                if (o) {
                                                    const t = e.values[i];
                                                    Object.keys(o).forEach((e => {
                                                        v(t, e) ? t[e] = o[e] : D(t, e, o[e])
                                                    }))
                                                }
                                            }
                                            return u
                                        }));
                                        return n.mutate(e).then((({
                                            failures: t,
                                            results: n,
                                            numFailures: r,
                                            lastResult: o
                                        }) => {
                                            for (let r = 0; r < i.length; ++r) {
                                                const o = n ? n[r] : i[r],
                                                    s = l[r];
                                                null == o ? s.onerror && s.onerror(t[r]) : s.onsuccess && s.onsuccess("put" === e.type && c[r] ? e.values[r] : o)
                                            }
                                            return {
                                                failures: t,
                                                results: n,
                                                numFailures: r,
                                                lastResult: o
                                            }
                                        })).catch((e => (l.forEach((t => t.onerror && t.onerror(e))), Promise.reject(e))))
                                    }))
                            }

                            function l(e, t, i) {
                                return n.query({
                                    trans: e,
                                    values: !1,
                                    query: {
                                        index: r,
                                        range: t
                                    },
                                    limit: i
                                }).then((({
                                    result: n
                                }) => c({
                                    type: "delete",
                                    keys: n,
                                    trans: e
                                }).then((r => r.numFailures > 0 ? Promise.reject(r.failures[0]) : n.length < i ? {
                                    failures: [],
                                    numFailures: 0,
                                    lastResult: void 0
                                } : l(e, {...t, lower: n[n.length - 1], lowerOpen: !0
                                }, i)))))
                            }
                        }
                    };
                return i
            }
        })
    };

    function qn(e, t, n) {
        try {
            if (!t) return null;
            if (t.keys.length < e.length) return null;
            const r = [];
            for (let i = 0, o = 0; i < t.keys.length && o < e.length; ++i) 0 === Wt(t.keys[i], e[o]) && (r.push(n ? N(t.values[i]) : t.values[i]), ++o);
            return r.length === e.length ? r : null
        } catch (e) {
            return null
        }
    }
    const Un = {
        stack: "dbcore",
        level: -1,
        create: e => ({
            table: t => {
                const n = e.table(t);
                return {...n, getMany: e => {
                        if (!e.cache) return n.getMany(e);
                        const t = qn(e.keys, e.trans._cache, "clone" === e.cache);
                        return t ? Ue.resolve(t) : n.getMany(e).then((t => (e.trans._cache = {
                            keys: e.keys,
                            values: "clone" === e.cache ? N(t) : t
                        }, t)))
                    }, mutate: e => ("add" !== e.type && (e.trans._cache = null), n.mutate(e))
                }
            }
        })
    };

    function Ln(e) {
        return !("from" in e)
    }
    const zn = function(e, t) {
        if (!this) {
            const t = new zn;
            return e && "d" in e && p(t, e), t
        }
        p(this, arguments.length ? {
            d: 1,
            from: e,
            to: arguments.length > 1 ? t : e
        } : {
            d: 0
        })
    };

    function Wn(e, t, n) {
        const r = Wt(t, n);
        if (isNaN(r)) return;
        if (r > 0) throw RangeError();
        if (Ln(e)) return p(e, {
            from: t,
            to: n,
            d: 1
        });
        const i = e.l,
            o = e.r;
        if (Wt(n, e.from) < 0) return i ? Wn(i, t, n) : e.l = {
            from: t,
            to: n,
            d: 1,
            l: null,
            r: null
        }, Yn(e);
        if (Wt(t, e.to) > 0) return o ? Wn(o, t, n) : e.r = {
            from: t,
            to: n,
            d: 1,
            l: null,
            r: null
        }, Yn(e);
        Wt(t, e.from) < 0 && (e.from = t, e.l = null, e.d = o ? o.d + 1 : 1), Wt(n, e.to) > 0 && (e.to = n, e.r = null, e.d = e.l ? e.l.d + 1 : 1);
        const s = !e.r;
        i && !e.l && Gn(e, i), o && s && Gn(e, o)
    }

    function Gn(e, t) {
        Ln(t) || function e(t, {
            from: n,
            to: r,
            l: i,
            r: o
        }) {
            Wn(t, n, r), i && e(t, i), o && e(t, o)
        }(e, t)
    }

    function Vn(e) {
        let t = Ln(e) ? null : {
            s: 0,
            n: e
        };
        return {
            next(e) {
                const n = arguments.length > 0;
                for (; t;) switch (t.s) {
                    case 0:
                        if (t.s = 1, n)
                            for (; t.n.l && Wt(e, t.n.from) < 0;) t = {
                                up: t,
                                n: t.n.l,
                                s: 1
                            };
                        else
                            for (; t.n.l;) t = {
                                up: t,
                                n: t.n.l,
                                s: 1
                            };
                    case 1:
                        if (t.s = 2, !n || Wt(e, t.n.to) <= 0) return {
                            value: t.n,
                            done: !1
                        };
                    case 2:
                        if (t.n.r) {
                            t.s = 3, t = {
                                up: t,
                                n: t.n.r,
                                s: 0
                            };
                            continue
                        }
                    case 3:
                        t = t.up
                }
                return {
                    done: !0
                }
            }
        }
    }

    function Yn(e) {
        var t, n;
        const r = ((null === (t = e.r) || void 0 === t ? void 0 : t.d) || 0) - ((null === (n = e.l) || void 0 === n ? void 0 : n.d) || 0),
            i = r > 1 ? "r" : r < -1 ? "l" : "";
        if (i) {
            const t = "r" === i ? "l" : "r",
                n = {...e
                },
                r = e[i];
            e.from = r.from, e.to = r.to, e[i] = r[i], n[i] = r[t], e[t] = n, n.d = Jn(n)
        }
        e.d = Jn(e)
    }

    function Jn({
        r: e,
        l: t
    }) {
        return (e ? t ? Math.max(e.d, t.d) : e.d : t ? t.d : 0) + 1
    }
    g(zn.prototype, {
        add(e) {
            return Gn(this, e), this
        }, addKey(e) {
            return Wn(this, e, e), this
        }, addKeys(e) {
            return e.forEach((e => Wn(this, e, e))), this
        }, [L]() {
            return Vn(this)
        }
    });
    const Hn = {
        stack: "dbcore",
        level: 0,
        create: e => {
            const t = e.schema.name,
                n = new zn(e.MIN_KEY, e.MAX_KEY);
            return {...e, table: r => {
                    const i = e.table(r),
                        {
                            schema: o
                        } = i,
                        {
                            primaryKey: s
                        } = o,
                        {
                            extractKey: a,
                            outbound: c
                        } = s,
                        l = {...i, mutate: e => {
                                const s = e.trans,
                                    a = s.mutatedParts || (s.mutatedParts = {}),
                                    c = e => {
                                        const n = `idb://${t}/${r}/${e}`;
                                        return a[n] || (a[n] = new zn)
                                    },
                                    l = c(""),
                                    u = c(":dels"),
                                    {
                                        type: d
                                    } = e;
                                let [h, p] = "deleteRange" === e.type ? [e.range] : "delete" === e.type ? [e.keys] : e.values.length < 50 ? [
                                    [], e.values
                                ] : [];
                                const m = e.trans._cache;
                                return i.mutate(e).then((e => {
                                    if (f(h)) {
                                        "delete" !== d && (h = e.results), l.addKeys(h);
                                        const t = qn(h, m);
                                        t || "add" === d || u.addKeys(h), (t || p) && function(e, t, n, r) {
                                            t.indexes.forEach((function(t) {
                                                const i = e(t.name || "");

                                                function o(e) {
                                                    return null != e ? t.extractKey(e) : null
                                                }
                                                const s = e => t.multiEntry && f(e) ? e.forEach((e => i.addKey(e))) : i.addKey(e);
                                                (n || r).forEach(((e, t) => {
                                                    const i = n && o(n[t]),
                                                        a = r && o(r[t]);
                                                    0 !== Wt(i, a) && (null != i && s(i), null != a && s(a))
                                                }))
                                            }))
                                        }(c, o, t, p)
                                    } else if (h) {
                                        const e = {
                                            from: h.lower,
                                            to: h.upper
                                        };
                                        u.add(e), l.add(e)
                                    } else l.add(n), u.add(n), o.indexes.forEach((e => c(e.name).add(n)));
                                    return e
                                }))
                            }
                        },
                        u = ({
                            query: {
                                index: t,
                                range: n
                            }
                        }) => {
                            var r, i;
                            return [t, new zn(null !== (r = n.lower) && void 0 !== r ? r : e.MIN_KEY, null !== (i = n.upper) && void 0 !== i ? i : e.MAX_KEY)]
                        },
                        d = {get: e => [s, new zn(e.key)],
                            getMany: e => [s, (new zn).addKeys(e.keys)],
                            count: u,
                            query: u,
                            openCursor: u
                        };
                    return h(d).forEach((e => {
                        l[e] = function(o) {
                            const {
                                subscr: s
                            } = Te;
                            if (s) {
                                const l = e => {
                                        const n = `idb://${t}/${r}/${e}`;
                                        return s[n] || (s[n] = new zn)
                                    },
                                    u = l(""),
                                    h = l(":dels"),
                                    [f, p] = d[e](o);
                                if (l(f.name || "").add(p), !f.isPrimaryKey) {
                                    if ("count" !== e) {
                                        const t = "query" === e && c && o.values && i.query({...o, values: !1
                                        });
                                        return i[e].apply(this, arguments).then((n => {
                                            if ("query" === e) {
                                                if (c && o.values) return t.then((({
                                                    result: e
                                                }) => (u.addKeys(e), n)));
                                                const e = o.values ? n.result.map(a) : n.result;
                                                o.values ? u.addKeys(e) : h.addKeys(e)
                                            } else if ("openCursor" === e) {
                                                const e = n,
                                                    t = o.values;
                                                return e && Object.create(e, {
                                                    key: {get: () => (h.addKey(e.primaryKey), e.key)
                                                    },
                                                    primaryKey: {
                                                        get() {
                                                            const t = e.primaryKey;
                                                            return h.addKey(t), t
                                                        }
                                                    },
                                                    value: {get: () => (t && u.addKey(e.primaryKey), e.value)
                                                    }
                                                })
                                            }
                                            return n
                                        }))
                                    }
                                    h.add(n)
                                }
                            }
                            return i[e].apply(this, arguments)
                        }
                    })), l
                }
            }
        }
    };
    class Qn {
        constructor(e, t) {
            this._middlewares = {}, this.verno = 0;
            const n = Qn.dependencies;
            this._options = t = {
                addons: Qn.addons,
                autoOpen: !0,
                indexedDB: n.indexedDB,
                IDBKeyRange: n.IDBKeyRange,
                ...t
            }, this._deps = {
                indexedDB: t.indexedDB,
                IDBKeyRange: t.IDBKeyRange
            };
            const {
                addons: r
            } = t;
            this._dbSchema = {}, this._versions = [], this._storeNames = [], this._allTables = {}, this.idbdb = null, this._novip = this;
            const i = {
                dbOpenError: null,
                isBeingOpened: !1,
                onReadyBeingFired: null,
                openComplete: !1,
                dbReadyResolve: de,
                dbReadyPromise: null,
                cancelOpen: de,
                openCanceller: null,
                autoSchema: !0,
                PR1398_maxLoop: 3
            };
            var o;
            i.dbReadyPromise = new Ue((e => {
                i.dbReadyResolve = e
            })), i.openCanceller = new Ue(((e, t) => {
                i.cancelOpen = t
            })), this._state = i, this.name = e, this.on = Rt(this, "populate", "blocked", "versionchange", "close", {
                ready: [be, de]
            }), this.on.ready.subscribe = O(this.on.ready.subscribe, (e => (t, n) => {
                Qn.vip((() => {
                    const r = this._state;
                    if (r.openComplete) r.dbOpenError || Ue.resolve().then(t), n && e(t);
                    else if (r.onReadyBeingFired) r.onReadyBeingFired.push(t), n && e(t);
                    else {
                        e(t);
                        const r = this;
                        n || e((function e() {
                            r.on.ready.unsubscribe(t), r.on.ready.unsubscribe(e)
                        }))
                    }
                }))
            })), this.Collection = (o = this, jt(Yt.prototype, (function(e, t) {
                this.db = o;
                let n = Mt,
                    r = null;
                if (t) try {
                    n = t()
                } catch (e) {
                    r = e
                }
                const i = e._ctx,
                    s = i.table,
                    a = s.hook.reading.fire;
                this._ctx = {
                    table: s,
                    index: i.index,
                    isPrimKey: !i.index || s.schema.primKey.keyPath && i.index === s.schema.primKey.name,
                    range: n,
                    keysOnly: !1,
                    dir: "next",
                    unique: "",
                    algorithm: null,
                    filter: null,
                    replayFilter: null,
                    justLimit: !0,
                    isMatch: null,
                    offset: 0,
                    limit: 1 / 0,
                    error: r,
                    or: i.or,
                    valueMapper: a !== he ? a : null
                }
            }))), this.Table = function(e) {
                return jt(Bt.prototype, (function(t, n, r) {
                    this.db = e, this._tx = r, this.name = t, this.schema = n, this.hook = e._allTables[t] ? e._allTables[t].hook : Rt(null, {
                        creating: [me, de],
                        reading: [fe, he],
                        updating: [ve, de],
                        deleting: [ye, de]
                    })
                }))
            }(this), this.Transaction = function(e) {
                return jt(cn.prototype, (function(t, n, r, i, o) {
                    this.db = e, this.mode = t, this.storeNames = n, this.schema = r, this.chromeTransactionDurability = i, this.idbtrans = null, this.on = Rt(this, "complete", "error", "abort"), this.parent = o || null, this.active = !0, this._reculock = 0, this._blockedFuncs = [], this._resolve = null, this._reject = null, this._waitingFor = null, this._waitingQueue = null, this._spinCount = 0, this._completion = new Ue(((e, t) => {
                        this._resolve = e, this._reject = t
                    })), this._completion.then((() => {
                        this.active = !1, this.on.complete.fire()
                    }), (e => {
                        var t = this.active;
                        return this.active = !1, this.on.error.fire(e), this.parent ? this.parent._reject(e) : t && this.idbtrans && this.idbtrans.abort(), kt(e)
                    }))
                }))
            }(this), this.Version = function(e) {
                return jt(Kn.prototype, (function(t) {
                    this.db = e, this._cfg = {
                        version: t,
                        storesSource: null,
                        dbschema: {},
                        tables: {},
                        contentUpgrade: null
                    }
                }))
            }(this), this.WhereClause = function(e) {
                return jt(rn.prototype, (function(t, n, r) {
                    this.db = e, this._ctx = {
                        table: t,
                        index: ":id" === n ? null : n,
                        or: r
                    };
                    const i = e._deps.indexedDB;
                    if (!i) throw new ce.MissingAPI;
                    this._cmp = this._ascending = i.cmp.bind(i), this._descending = (e, t) => i.cmp(t, e), this._max = (e, t) => i.cmp(e, t) > 0 ? e : t, this._min = (e, t) => i.cmp(e, t) < 0 ? e : t, this._IDBKeyRange = e._deps.IDBKeyRange
                }))
            }(this), this.on("versionchange", (e => {
                e.newVersion > 0 ? console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`) : console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`), this.close()
            })), this.on("blocked", (e => {
                !e.newVersion || e.newVersion < e.oldVersion ? console.warn(`Dexie.delete('${this.name}') was blocked`) : console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)
            })), this._maxKey = hn(t.IDBKeyRange), this._createTransaction = (e, t, n, r) => new this.Transaction(e, t, n, this._options.chromeTransactionDurability, r), this._fireOnBlocked = e => {
                this.on("blocked").fire(e), Ot.filter((e => e.name === this.name && e !== this && !e._state.vcFired)).map((t => t.on("versionchange").fire(e)))
            }, this.use(Tn), this.use(Fn), this.use(Hn), this.use(Un), this.vip = Object.create(this, {
                _vip: {
                    value: !0
                }
            }), r.forEach((e => e(this)))
        }
        version(e) {
            if (isNaN(e) || e < .1) throw new ce.Type("Given version is not a positive number");
            if (e = Math.round(10 * e) / 10, this.idbdb || this._state.isBeingOpened) throw new ce.Schema("Cannot add version when database is open");
            this.verno = Math.max(this.verno, e);
            const t = this._versions;
            var n = t.filter((t => t._cfg.version === e))[0];
            return n || (n = new this.Version(e), t.push(n), t.sort(wn), n.stores({}), this._state.autoSchema = !1, n)
        }
        _whenReady(e) {
            return this.idbdb && (this._state.openComplete || Te.letThrough || this._vip) ? e() : new Ue(((e, t) => {
                if (this._state.openComplete) return t(new ce.DatabaseClosed(this._state.dbOpenError));
                if (!this._state.isBeingOpened) {
                    if (!this._options.autoOpen) return void t(new ce.DatabaseClosed);
                    this.open().catch(de)
                }
                this._state.dbReadyPromise.then(e, t)
            })).then(e)
        }
        use({
            stack: e,
            create: t,
            level: n,
            name: r
        }) {
            r && this.unuse({
                stack: e,
                name: r
            });
            const i = this._middlewares[e] || (this._middlewares[e] = []);
            return i.push({
                stack: e,
                create: t,
                level: null == n ? 10 : n,
                name: r
            }), i.sort(((e, t) => e.level - t.level)), this
        }
        unuse({
            stack: e,
            name: t,
            create: n
        }) {
            return e && this._middlewares[e] && (this._middlewares[e] = this._middlewares[e].filter((e => n ? e.create !== n : !!t && e.name !== t))), this
        }
        open() {
            return function(e) {
                const t = e._state,
                    {
                        indexedDB: n
                    } = e._deps;
                if (t.isBeingOpened || e.idbdb) return t.dbReadyPromise.then((() => t.dbOpenError ? kt(t.dbOpenError) : e));
                Y && (t.openCanceller._stackHolder = Z()), t.isBeingOpened = !0, t.dbOpenError = null, t.openComplete = !1;
                const r = t.openCanceller;

                function i() {
                    if (t.openCanceller !== r) throw new ce.DatabaseClosed("db.open() was cancelled")
                }
                let o = t.dbReadyResolve,
                    s = null,
                    a = !1;
                return Ue.race([r, ("undefined" == typeof navigator ? Ue.resolve() : Mn()).then((() => new Ue(((r, o) => {
                    if (i(), !n) throw new ce.MissingAPI;
                    const c = e.name,
                        l = t.autoSchema ? n.open(c) : n.open(c, Math.round(10 * e.verno));
                    if (!l) throw new ce.MissingAPI;
                    l.onerror = on(o), l.onblocked = nt(e._fireOnBlocked), l.onupgradeneeded = nt((r => {
                        if (s = l.transaction, t.autoSchema && !e._options.allowEmptyDB) {
                            l.onerror = sn, s.abort(), l.result.close();
                            const e = n.deleteDatabase(c);
                            e.onsuccess = e.onerror = nt((() => {
                                o(new ce.NoSuchDatabase(`Database ${c} doesnt exist`))
                            }))
                        } else {
                            s.onerror = on(o);
                            var i = r.oldVersion > Math.pow(2, 62) ? 0 : r.oldVersion;
                            a = i < 1, e._novip.idbdb = l.result, kn(e, i / 10, s, o)
                        }
                    }), o), l.onsuccess = nt((() => {
                        s = null;
                        const n = e._novip.idbdb = l.result,
                            i = P(n.objectStoreNames);
                        if (i.length > 0) try {
                            const r = n.transaction(1 === (o = i).length ? o[0] : o, "readonly");
                            t.autoSchema ? function({
                                _novip: e
                            }, t, n) {
                                e.verno = t.version / 10;
                                const r = e._dbSchema = On(0, t, n);
                                e._storeNames = P(t.objectStoreNames, 0), bn(e, [e._allTables], h(r), r)
                            }(e, n, r) : (Sn(e, e._dbSchema, r), function(e, t) {
                                const n = Cn(On(0, e.idbdb, t), e._dbSchema);
                                return !(n.add.length || n.change.some((e => e.add.length || e.change.length)))
                            }(e, r) || console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")), gn(e, r)
                        } catch (e) {}
                        var o;
                        Ot.push(e), n.onversionchange = nt((n => {
                            t.vcFired = !0, e.on("versionchange").fire(n)
                        })), n.onclose = nt((t => {
                            e.on("close").fire(t)
                        })), a && function({
                            indexedDB: e,
                            IDBKeyRange: t
                        }, n) {
                            !An(e) && "__dbnames" !== n && En(e, t).put({
                                name: n
                            }).catch(de)
                        }(e._deps, c), r()
                    }), o)
                }))))]).then((() => (i(), t.onReadyBeingFired = [], Ue.resolve(Dn((() => e.on.ready.fire(e.vip)))).then((function n() {
                    if (t.onReadyBeingFired.length > 0) {
                        let r = t.onReadyBeingFired.reduce(be, de);
                        return t.onReadyBeingFired = [], Ue.resolve(Dn((() => r(e.vip)))).then(n)
                    }
                }))))).finally((() => {
                    t.onReadyBeingFired = null, t.isBeingOpened = !1
                })).then((() => e)).catch((n => {
                    t.dbOpenError = n;
                    try {
                        s && s.abort()
                    } catch (e) {}
                    return r === t.openCanceller && e._close(), kt(n)
                })).finally((() => {
                    t.openComplete = !0, o()
                }))
            }(this)
        }
        _close() {
            const e = this._state,
                t = Ot.indexOf(this);
            if (t >= 0 && Ot.splice(t, 1), this.idbdb) {
                try {
                    this.idbdb.close()
                } catch (e) {}
                this._novip.idbdb = null
            }
            e.dbReadyPromise = new Ue((t => {
                e.dbReadyResolve = t
            })), e.openCanceller = new Ue(((t, n) => {
                e.cancelOpen = n
            }))
        }
        close() {
            this._close();
            const e = this._state;
            this._options.autoOpen = !1, e.dbOpenError = new ce.DatabaseClosed, e.isBeingOpened && e.cancelOpen(e.dbOpenError)
        }
        delete() {
            const e = arguments.length > 0,
                t = this._state;
            return new Ue(((n, r) => {
                const i = () => {
                    this.close();
                    var e = this._deps.indexedDB.deleteDatabase(this.name);
                    e.onsuccess = nt((() => {
                        ! function({
                            indexedDB: e,
                            IDBKeyRange: t
                        }, n) {
                            !An(e) && "__dbnames" !== n && En(e, t).delete(n).catch(de)
                        }(this._deps, this.name), n()
                    })), e.onerror = on(r), e.onblocked = this._fireOnBlocked
                };
                if (e) throw new ce.InvalidArgument("Arguments not allowed in db.delete()");
                t.isBeingOpened ? t.dbReadyPromise.then(i) : i()
            }))
        }
        backendDB() {
            return this.idbdb
        }
        isOpen() {
            return null !== this.idbdb
        }
        hasBeenClosed() {
            const e = this._state.dbOpenError;
            return e && "DatabaseClosed" === e.name
        }
        hasFailed() {
            return null !== this._state.dbOpenError
        }
        dynamicallyOpened() {
            return this._state.autoSchema
        }
        get tables() {
            return h(this._allTables).map((e => this._allTables[e]))
        }
        transaction() {
            const e = Bn.apply(this, arguments);
            return this._transaction.apply(this, e)
        }
        _transaction(e, t, n) {
            let r = Te.trans;
            r && r.db === this && -1 === e.indexOf("!") || (r = null);
            const i = -1 !== e.indexOf("?");
            let o, s;
            e = e.replace("!", "").replace("?", "");
            try {
                if (s = t.map((e => {
                        var t = e instanceof this.Table ? e.name : e;
                        if ("string" != typeof t) throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");
                        return t
                    })), "r" == e || "readonly" === e) o = "readonly";
                else {
                    if ("rw" != e && "readwrite" != e) throw new ce.InvalidArgument("Invalid transaction mode: " + e);
                    o = "readwrite"
                }
                if (r) {
                    if ("readonly" === r.mode && "readwrite" === o) {
                        if (!i) throw new ce.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");
                        r = null
                    }
                    r && s.forEach((e => {
                        if (r && -1 === r.storeNames.indexOf(e)) {
                            if (!i) throw new ce.SubTransaction("Table " + e + " not included in parent transaction.");
                            r = null
                        }
                    })), i && r && !r.active && (r = null)
                }
            } catch (e) {
                return r ? r._promise(null, ((t, n) => {
                    n(e)
                })) : kt(e)
            }
            const a = Rn.bind(null, this, o, s, r, n);
            return r ? r._promise(o, a, "lock") : Te.trans ? vt(Te.transless, (() => this._whenReady(a))) : this._whenReady(a)
        }
        table(e) {
            if (!v(this._allTables, e)) throw new ce.InvalidTable(`Table ${e} does not exist`);
            return this._allTables[e]
        }
    }
    const Zn = "undefined" != typeof Symbol && "observable" in Symbol ? Symbol.observable : "@@observable";
    class Xn {
        constructor(e) {
            this._subscribe = e
        }
        subscribe(e, t, n) {
            return this._subscribe(e && "function" != typeof e ? e : {
                next: e,
                error: t,
                complete: n
            })
        }[Zn]() {
            return this
        }
    }

    function $n(e, t) {
        return h(t).forEach((n => {
            Gn(e[n] || (e[n] = new zn), t[n])
        })), e
    }
    let er;
    try {
        er = {
            indexedDB: d.indexedDB || d.mozIndexedDB || d.webkitIndexedDB || d.msIndexedDB,
            IDBKeyRange: d.IDBKeyRange || d.webkitIDBKeyRange
        }
    } catch (d) {
        er = {
            indexedDB: null,
            IDBKeyRange: null
        }
    }
    const tr = Qn;

    function nr(e) {
        let t = rr;
        try {
            rr = !0, an.storagemutated.fire(e)
        } finally {
            rr = t
        }
    }
    g(tr, {...ue, delete: e => new tr(e, {
            addons: []
        }).delete(), exists: e => new tr(e, {
            addons: []
        }).open().then((e => (e.close(), !0))).catch("NoSuchDatabaseError", (() => !1)), getDatabaseNames(e) {
            try {
                return function({
                    indexedDB: e,
                    IDBKeyRange: t
                }) {
                    return An(e) ? Promise.resolve(e.databases()).then((e => e.map((e => e.name)).filter((e => "__dbnames" !== e)))) : En(e, t).toCollection().primaryKeys()
                }(tr.dependencies).then(e)
            } catch (e) {
                return kt(new ce.MissingAPI)
            }
        }, defineClass: () => function(e) {
            p(this, e)
        }, ignoreTransaction: e => Te.trans ? vt(Te.transless, e) : e(), vip: Dn, async: function(e) {
            return function() {
                try {
                    var t = In(e.apply(this, arguments));
                    return t && "function" == typeof t.then ? t : Ue.resolve(t)
                } catch (e) {
                    return kt(e)
                }
            }
        }, spawn: function(e, t, n) {
            try {
                var r = In(e.apply(n, t || []));
                return r && "function" == typeof r.then ? r : Ue.resolve(r)
            } catch (e) {
                return kt(e)
            }
        }, currentTransaction: {get: () => Te.trans || null
        }, waitFor: function(e, t) {
            const n = Ue.resolve("function" == typeof e ? tr.ignoreTransaction(e) : e).timeout(t || 6e4);
            return Te.trans ? Te.trans.waitFor(n) : n
        }, Promise: Ue, debug: {get: () => Y,
            set: e => {
                J(e, "dexie" === e ? () => !0 : At)
            }
        }, derive: w, extend: p, props: g, override: O, Events: Rt, on: an, liveQuery: function(e) {
            return new Xn((t => {
                const n = V(e);
                let r = !1,
                    i = {},
                    o = {};
                const s = {get closed() {
                        return r
                    },
                    unsubscribe: () => {
                        r = !0, an.storagemutated.unsubscribe(u)
                    }
                };
                t.start && t.start(s);
                let a = !1,
                    c = !1;

                function l() {
                    return h(o).some((e => i[e] && function(e, t) {
                        const n = Vn(t);
                        let r = n.next();
                        if (r.done) return !1;
                        let i = r.value;
                        const o = Vn(e);
                        let s = o.next(i.from),
                            a = s.value;
                        for (; !r.done && !s.done;) {
                            if (Wt(a.from, i.to) <= 0 && Wt(a.to, i.from) >= 0) return !0;
                            Wt(i.from, a.from) < 0 ? i = (r = n.next(a.from)).value : a = (s = o.next(i.from)).value
                        }
                        return !1
                    }(i[e], o[e])))
                }
                const u = e => {
                        $n(i, e), l() && d()
                    },
                    d = () => {
                        if (a || r) return;
                        i = {};
                        const h = {},
                            f = function(t) {
                                n && ut();
                                const r = () => lt(e, {
                                        subscr: t,
                                        trans: null
                                    }),
                                    i = Te.trans ? vt(Te.transless, r) : r();
                                return n && i.then(dt, dt), i
                            }(h);
                        c || (an("storagemutated", u), c = !0), a = !0, Promise.resolve(f).then((e => {
                            a = !1, r || (l() ? d() : (i = {}, o = h, t.next && t.next(e)))
                        }), (e => {
                            a = !1, t.error && t.error(e), s.unsubscribe()
                        }))
                    };
                return d(), s
            }))
        }, extendObservabilitySet: $n, getByKeyPath: A, setByKeyPath: D, delByKeyPath: function(e, t) {
            "string" == typeof t ? D(e, t, void 0) : "length" in t && [].map.call(t, (function(t) {
                D(e, t, void 0)
            }))
        }, shallowClone: M, deepClone: N, getObjectDiff: Nn, cmp: Wt, asap: K, minKey: -1 / 0, addons: [], connections: Ot, errnames: se, dependencies: er, semVer: "3.2.1", version: "3.2.1".split(".").map((e => parseInt(e))).reduce(((e, t, n) => e + t / Math.pow(10, 2 * n)))
    }), tr.maxKey = hn(tr.dependencies.IDBKeyRange), "undefined" != typeof dispatchEvent && "undefined" != typeof addEventListener && (an("storagemutated", (e => {
        if (!rr) {
            let t;
            St ? (t = document.createEvent("CustomEvent"), t.initCustomEvent("x-storagemutated-1", !0, !0, e)) : t = new CustomEvent("x-storagemutated-1", {
                detail: e
            }), rr = !0, dispatchEvent(t), rr = !1
        }
    })), addEventListener("x-storagemutated-1", (({
        detail: e
    }) => {
        rr || nr(e)
    })));
    let rr = !1;
    if ("undefined" != typeof BroadcastChannel) {
        const e = new BroadcastChannel("x-storagemutated-1");
        an("storagemutated", (t => {
            rr || e.postMessage(t)
        })), e.onmessage = e => {
            e.data && nr(e.data)
        }
    } else if ("undefined" != typeof self && "undefined" != typeof navigator) {
        an("storagemutated", (e => {
            try {
                rr || ("undefined" != typeof localStorage && localStorage.setItem("x-storagemutated-1", JSON.stringify({
                    trig: Math.random(),
                    changedParts: e
                })), "object" == typeof self.clients && [...self.clients.matchAll({
                    includeUncontrolled: !0
                })].forEach((t => t.postMessage({
                    type: "x-storagemutated-1",
                    changedParts: e
                }))))
            } catch (e) {}
        })), addEventListener("storage", (e => {
            if ("x-storagemutated-1" === e.key) {
                const t = JSON.parse(e.newValue);
                t && nr(t.changedParts)
            }
        }));
        const e = self.document && navigator.serviceWorker;
        e && e.addEventListener("message", (function({
            data: e
        }) {
            e && "x-storagemutated-1" === e.type && nr(e.changedParts)
        }))
    }
    Ue.rejectionMapper = function(e, t) {
        if (!e || e instanceof ne || e instanceof TypeError || e instanceof SyntaxError || !e.name || !le[e.name]) return e;
        var n = new le[e.name](t || e.message, e);
        return "stack" in e && _(n, "stack", {get: function() {
                return this.inner.stack
            }
        }), n
    }, J(Y, At);
    var ir = new class extends Qn {
        constructor() {
            super("tcp_ccl");
            var e = this;
            e.version(1).stores({
                fclicks: "++id,url,rid,ttl,date",
                clicks: "++id,url,crtid,price,ttl,date"
            }), e.version(2).stores({
                impWCl: "++id,rid,cl"
            }), e.version(3).stores({
                fclicks: "++id,url,rid,cid,ttl,date",
                clicks: "++id,url,cid,crtid,capping,capping_period,price,ttl,date"
            }), e.version(4).stores({
                fclicks: "++id,url,rid,cid,capping_uid,capping_endat,ttl,date",
                clicks: "++id,url,cid,crtid,capping_uid,capping_endat,capping,capping_period,price,ttl,date"
            }), e.version(5).stores({
                fclicks: "++id,url,rid,cid,capping_uid,ttl,date",
                clicks: "++id,url,cid,crtid,capping_uid,price,ttl,date",
                plimit: "++id,uid,limit,count,event_trigger,end_at"
            }), e.version(6).stores({
                ownNotifications: "++id,url,title",
                clicks: "++id,url,cid,crtid,capping_uid,price,ttl,date",
                plimit: "++id,uid,limit,count,event_trigger,end_at"
            }), e.version(7).stores({
                auction: "request_options,last_notifications_request,notifications"
            }), e.version(8).stores({
                auction: "request_options,last_notifications_request,notifications",
                settings: "++id,settings"
            }), e.version(9).stores({
                stat: "++id,creative_id,impressions,clicks,create_time,update_time"
            }), e.version(10).stores({
                stat: "++id,creative_id,impressions,clicks,create_time,update_time,category,creative_country"
            }), e.version(11).stores({
                stat: "++id,creative_id,impressions,clicks,create_time,update_time,category,creative_country,tag"
            })
        }
    };

    function or(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }

    function sr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    or(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    or(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    class ar {
        saveParameters(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
            return ir.transaction("rw", ir.auction, function() {
                var n = sr((function*(n) {
                    yield ir.auction.clear(),
                        yield ir.auction.put({
                            request_options: JSON.stringify(e),
                            notifications: JSON.stringify(t)
                        })
                }));
                return function(e) {
                    return n.apply(this, arguments)
                }
            }())
        }
        getParameters() {
            return sr((function*() {
                var e =
                    yield ir.auction.toArray();
                if (e.length) {
                    var t = e[0];
                    return {
                        auctionRequestOptions: JSON.parse(t.request_options),
                        notifications: JSON.parse(t.notifications)
                    }
                }
                return null
            }))()
        }
        saveSettings(e) {
            return ir.transaction("rw", ir.settings, function() {
                var t = sr((function*(t) {
                    yield ir.settings.clear(),
                        yield ir.settings.put({
                            next_notification: e.nextNotification,
                            mode: e.mode,
                            demand_mode_probability: e.demandModeProbability,
                            creatives_update_time: e.creativesUpdateTime,
                            postponed_update_time: e.postponedUpdateTime,
                            stat_send_time: e.statSendTime,
                            is_adblock: Boolean(e.is_adblock),
                            is_meta_mask_active: e.isMetaMaskActive,
                            user_keywords: e.userKeywords,
                            entry_referrer_domain: e.entryReferrerDomain
                        })
                }));
                return function(e) {
                    return t.apply(this, arguments)
                }
            }())
        }
        getSettings() {
            return sr((function*() {
                var e =
                    yield ir.settings.toArray();
                if (e.length) {
                    var t = e[0];
                    return {
                        nextNotification: t.next_notification || 0,
                        mode: t.mode || null,
                        demandModeProbability: t.demand_mode_probability || 0,
                        creativesUpdateTime: t.creatives_update_time || null,
                        postponedUpdateTime: t.postponed_update_time || null,
                        statSendTime: t.stat_send_time || null,
                        is_adblock: t.is_adblock || !1,
                        isMetaMaskActive: t.is_meta_mask_active || !1,
                        userKeywords: t.user_keywords,
                        entryReferrerDomain: t.entry_referrer_domain
                    }
                }
                return null
            }))()
        }
    }

    function cr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }

    function lr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    cr(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    cr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    class ur {
        addImpression(e) {
            return ir.transaction("rw", ir.stat, lr((function*() {
                var t = Date.now(),
                    n =
                    yield ir.stat.get({
                        creative_id: e.creative_id,
                        tag: ""
                    });
                return n ? ir.stat.update(n.id, {
                    impressions: n.impressions + 1,
                    update_time: t
                }) : ir.stat.put({
                    creative_id: e.creative_id,
                    impressions: 1,
                    clicks: 0,
                    create_time: t,
                    update_time: t,
                    category: e.category,
                    creative_country: e.creative_country,
                    tag: ""
                })
            })))
        }
        addClick(e) {
            return ir.transaction("rw", ir.stat, lr((function*() {
                var t = Date.now(),
                    n =
                    yield ir.stat.get({
                        creative_id: e.creative_id,
                        tag: ""
                    });
                return n ? ir.stat.update(n.id, {
                    clicks: n.clicks + 1,
                    update_time: t
                }) : ir.stat.put({
                    creative_id: e.creative_id,
                    impressions: 0,
                    clicks: 1,
                    create_time: t,
                    update_time: t,
                    category: e.category,
                    creative_country: e.creative_country,
                    tag: ""
                })
            })))
        }
        getData(e) {
            return ir.transaction("rw", ir.stat, lr((function*() {
                return yield ir.stat.where({
                    tag: ""
                }).modify({
                    tag: e
                }), ir.stat.where({
                    tag: e
                }).toArray()
            })))
        }
        clearTag(e) {
            return ir.transaction("rw", ir.stat, (() => ir.stat.where({
                tag: e
            }).modify({
                tag: ""
            })))
        }
        clearData(e) {
            return ir.transaction("rw", ir.stat, (() => ir.stat.where({
                tag: e
            }).delete()))
        }
    }

    function dr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }

    function hr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    dr(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    dr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    class fr {
        setRules(e) {
            return ir.transaction("rw", ir.plimit, hr((function*() {
                var t =
                    yield ir.plimit.where("uid").anyOf(e.map((e => e.uid))).filter((t => e.some((e => e.uid === t.uid && e.end_at === t.end_at)))).toArray();
                return void 0 === t ? ir.plimit.bulkPut(e.map((e => (e.count = 0, e)))) : ir.plimit.bulkPut(e.filter((e => !t.some((t => e.uid === t.uid && e.end_at === t.end_at)))))
            })))
        }
        updateLimits(e) {
            return ir.transaction("rw", ir.plimit, hr((function*() {
                var t =
                    yield ir.plimit.where("uid").equals(e).and((e => e.count !== e.limit)).toArray();
                if (t.length > 0) return ir.plimit.bulkPut(t.map((e => (e.count = e.count + 1, e))))
            })))
        }
        isLimited(e) {
            return ir.transaction("rw", ir.plimit, hr((function*() {
                var t = Date.now(),
                    n =
                    yield ir.plimit.where("uid").equals(e).toArray();
                return ir.plimit.bulkDelete(n.filter((e => t > e.end_at)).map((e => e.id))), 0 === n.filter((e => t < e.end_at && e.limit === e.count)).length
            })))
        }
    }

    function pr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }

    function mr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    pr(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    pr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    class yr {
        addImpression(e) {
            return ir.transaction("rw", ir.impWCl, mr((function*() {
                if ((
                        yield ir.impWCl.count()) >= 1e3) {
                    var t =
                        yield ir.impWCl.limit(1).first();
                    ir.impWCl.delete(t.id)
                }
                return ir.impWCl.put({
                    rid: e,
                    cl: 0
                })
            })))
        }
        getImpression(e) {
            return ir.impWCl.get({
                rid: e
            })
        }
        getAllImpressions() {
            return ir.impWCl.toArray()
        }
        incrementImpressionClicks(e) {
            var t = this;
            return ir.transaction("rw", ir.impWCl, mr((function*() {
                var n =
                    yield ir.impWCl.get({
                        rid: e
                    });
                return n ? ir.impWCl.update(n.id, {
                    cl: n.cl + 1
                }) : t.addImpression(e)
            })))
        }
    }

    function vr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }
    var gr = new class {
        clearOld() {
            return ir.transaction("rw", [ir.fclicks, ir.clicks], (() => {
                var e = Date.now(),
                    t = e - 1728e5;
                return Promise.all([ir.fclicks.filter((e => void 0 === e.date)).delete(), ir.fclicks.where("ttl").belowOrEqual(e).delete(), ir.clicks.where("ttl").belowOrEqual(e).delete(), ir.fclicks.where("date").below(t).delete(), ir.clicks.where("date").below(t).delete()])
            }))
        }
        countAllClicks() {
            var e = this;
            return function(e) {
                return function() {
                    var t = this,
                        n = arguments;
                    return new Promise((function(r, i) {
                        var o = e.apply(t, n);

                        function s(e) {
                            vr(o, r, i, s, a, "next", e)
                        }

                        function a(e) {
                            vr(o, r, i, s, a, "throw", e)
                        }
                        s(void 0)
                    }))
                }
            }((function*() {
                return yield e.clearOld(), ir.clicks.count()
            }))()
        }
        getFiredClick() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
            return ir.fclicks.where({
                url: e
            }).first()
        }
        getFiredClicks() {
            return ir.fclicks.toArray()
        }
        addFiredClicks(e) {
            return ir.fclicks.bulkPut(e)
        }
        getFiredClickByCid(e) {
            return ir.fclicks.where("cid").equals(e).toArray()
        }
        getStoredClicks() {
            return ir.clicks.toArray()
        }
        getStoredMaxPriceClick() {
            return ir.clicks.orderBy("price").last()
        }
        addStoredClicks(e) {
            return ir.clicks.bulkPut(e)
        }
        removeStoredClick(e) {
            return ir.clicks.where("id").equals(e).delete()
        }
        removeStoredClicks(e) {
            return ir.clicks.bulkDelete(e)
        }
    };
    class br {
        constructor() {
            var e, t, n;
            gr.clearOld(), this.firedClicks = null, this.storedClicks = null, this.newFiredClicks = [], this.newStoredClicks = [], this.newRemovedStoredClicks = [], this.syncLocalDataWithIDB = (e = () => {
                this.addLocalFiredClicksToIDB(), this.addLocalStoredClicksToIDB(), this.removeLocalStoredClicksFromIDB()
            }, t = 2e3, function() {
                var r = this,
                    i = arguments;
                clearTimeout(n), n = setTimeout((() => e.apply(r, i)), t)
            })
        }
        loadClickStore() {
            return Promise.all([this.loadStoredClicks(), this.loadFiredClicks()])
        }
        loadFiredClicks() {
            return gr.getFiredClicks().then((e => {
                null === this.firedClicks && (this.firedClicks = e)
            }))
        }
        addLocalFiredClicksToIDB() {
            0 !== this.newFiredClicks.length && (gr.addFiredClicks(this.newFiredClicks), this.newFiredClicks = [])
        }
        isClickUrlFired(e) {
            return this.getFiredClicks().some((t => t.url === e))
        }
        getFiredClicks() {
            return this.syncLocalDataWithIDB(), this.firedClicks
        }
        getFiredClicksByCid(e) {
            return this.getFiredClicks().filter((t => t.cid === e))
        }
        getFiredClicksByUid(e) {
            return this.getFiredClicks().filter((t => t.capping_uid === e))
        }
        addFiredClick(e) {
            return this.getFiredClicks().push(e), this.newFiredClicks.push(e), e
        }
        loadStoredClicks() {
            return gr.getStoredClicks().then((e => {
                null === this.storedClicks && (this.storedClicks = e)
            }))
        }
        addLocalStoredClicksToIDB() {
            0 !== this.newStoredClicks.length && (gr.addStoredClicks(this.newStoredClicks.filter((e => !this.firedClicks.some((t => e.url === t.url))))), this.newStoredClicks = [])
        }
        removeLocalStoredClicksFromIDB() {
            0 !== this.newRemovedStoredClicks.length && (gr.removeStoredClicks(this.newRemovedStoredClicks), this.newRemovedStoredClicks = [])
        }
        getStoredMaxPriceClick() {
            var e = this.getStoredClicks().sort(((e, t) => t.price - e.price)).shift();
            return void 0 !== e && e.id && this.newRemovedStoredClicks.push(e.id), e
        }
        getStoredClicks() {
            return this.syncLocalDataWithIDB(), this.storedClicks
        }
        addStoredClick(e) {
            return this.getStoredClicks().push(e), this.newStoredClicks.push(e), e
        }
    }

    function _r(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }

    function wr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    _r(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    _r(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }

    function kr(e, t) {
        var n = Object.keys(e);
        if (Object.getOwnPropertySymbols) {
            var r = Object.getOwnPropertySymbols(e);
            t && (r = r.filter((function(t) {
                return Object.getOwnPropertyDescriptor(e, t).enumerable
            }))), n.push.apply(n, r)
        }
        return n
    }

    function Cr(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? kr(Object(n), !0).forEach((function(t) {
                xr(e, t, n[t])
            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : kr(Object(n)).forEach((function(t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }))
        }
        return e
    }

    function xr(e, t, n) {
        return t in e ? Object.defineProperty(e, t, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = n, e
    }

    function Pr(e, t) {
        ! function(e, t) {
            if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object")
        }(e, t), t.add(e)
    }
    var Or = new WeakSet;
    const Sr = class {
        constructor() {
            Pr(this, Or), this.timezone_offset = (new Date).getTimezoneOffset() / -60, this.version = e, this.ClickLocalDB = new br, this.LimitRuleModel = new fr, this.ImpressionModel = new yr
        }
        static getVersion() {
            return e
        }
        createNotificationRecord(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                n = Date.now() - 1e3 * e.currentTime;

            function r(e, t) {
                return void 0 === e || "number" != typeof e || 0 === e ? null : e + t
            }
            var i = e.capping_ext ? e.capping_ext.map((e => (e.end_at = r(e.end_at, n), e))) : null;
            return i && this.LimitRuleModel.setRules(i), {
                data: Cr(Cr({}, t), {}, {
                    notificationUrl: e.notificationUrl,
                    delay: e.delay,
                    capping_uid: e.capping_uid || null,
                    cid: e.cid,
                    url: e.url,
                    price: e.correctedPrice || 0,
                    ttl: r(e.expirationTimestamp, n),
                    botProtection: e.botProtection || !1,
                    isCpm: -1 === e.url.indexOf("is_cpm=0"),
                    ignoreClickLogic: e.ignoreClickLogic || !1,
                    crtid: e.crtid,
                    rid: Math.random().toString(36).substring(5) + Math.random().toString(36).substring(5)
                }),
                title: e.title,
                body: e.body,
                image: e.image,
                icon: e.icon,
                actions: e.options.actions,
                requireInteraction: e.options.requireInteraction
            }
        }
        closeExpiredNotifications() {
            return wr((function*() {
                (
                    yield self.registration.getNotifications()).forEach((e => {
                    e.data.ttl <= Date.now() && e.close()
                }))
            }))()
        }
        displayNotification(e) {
            return o(e.data.delay, self.registration.showNotification(e.title, e)).then((() => {
                e.data.notificationUrl && fetch(e.data.notificationUrl), this.ImpressionModel.addImpression(e.data.rid)
            })).catch((e => {
                console.log("TC SW Imp Error: ".concat(e.toString()))
            }))
        }
        openNotificationUrl(e, t) {
            var n = this;
            return wr((function*() {
                var r = Date.now();
                n.ClickLocalDB.addFiredClick({
                    rid: e.rid,
                    cid: e.cid,
                    url: e.url,
                    capping_uid: e.capping_uid,
                    ttl: e.ttl,
                    date: r
                }), n.ImpressionModel.incrementImpressionClicks(e.rid), e.capping_uid && n.LimitRuleModel.updateLimits(e.capping_uid);
                var i = function(e, t, n) {
                    if (!t.has(e)) throw new TypeError("attempted to get private field on non-instance");
                    return n
                }(n, Or, Kr).call(n, e, t, r);
                return self.clients.openWindow(i)
            }))()
        }
        isClickPossible(e) {
            var t = this;
            return wr((function*() {
                return t.ClickLocalDB.isClickUrlFired(e.url) ? (a("ClickUrlFired"), !1) : e.ttl && e.ttl <= Date.now() ? (a("Click ttl expired"), !1) : !e.capping_uid || t.LimitRuleModel.isLimited(e.capping_uid)
            }))()
        }
        reAuction(e, t) {
            var n = this;
            return wr((function*() {
                var r =
                    yield c(e + "&send_id=1");
                if (Array.isArray(r) && r.length > 0) {
                    var i = r.map((r => n.createNotificationRecord(r, {
                        pushPayload: t,
                        auctionUrl: e
                    }))).sort(((e, t) => t.data.price - e.data.price));
                    return i.forEach((e => n.displayNotification(e))), i
                }
                return []
            }))()
        }
        processClick(e, t) {
            var n = this;
            return wr((function*() {
                var {
                    rid: r,
                    auctionUrl: i,
                    botProtection: o,
                    pushPayload: s,
                    ignoreClickLogic: c
                } = e.data;
                a("ignoreClickLogic", c), n.ClickLocalDB.getStoredClicks() || (
                    yield n.ClickLocalDB.loadClickStore());
                var l =
                    yield n.isClickPossible(e.data);
                a("originalClickPossible: ", l, e.data);
                var u = n.ClickLocalDB.getStoredClicks().length;
                if ((0 === u || 1 === u && !l || c) && e.close(), l) return n.openNotificationUrl(e.data, t);
                var d = n.ClickLocalDB.getStoredMaxPriceClick();
                if (d) return (
                    yield n.isClickPossible(d)) ? (a("storedClick used: ", d), n.openNotificationUrl(Object.assign(d, {
                    rid: r,
                    count: u,
                    botProtection: o
                }), t)) : n.processClick(e, t);
                if (0 === ((
                        yield n.ImpressionModel.getImpression(r)) || {
                        cl: 0
                    }).cl) {
                    var h =
                        yield n.reAuction(i, s);
                    for (var f of(a("reAuction done: ", h), h))
                        if (
                            yield n.isClickPossible(f.data)) return a("get click url from reaction: ", f), n.openNotificationUrl(Object.assign(f.data, {
                            rid: r,
                            botProtection: o
                        }), t)
                }
                return Promise.resolve()
            }))()
        }
        push(e, t, n) {
            var r = this;
            return wr((function*() {
                var i, o, {
                        isMetaMaskActive: s,
                        userKeywords: a,
                        entryReferrerDomain: l
                    } = n,
                    u = t;
                try {
                    var d = e.data.json();
                    u = d.sid ? d : d.data
                } catch (e) {
                    u = t
                }
                if (u) try {
                    u.ver = r.version, u.ver_c = r.version;
                    var h =
                        yield r.ImpressionModel.getAllImpressions();
                    h.length >= 100 && (u.ctr = h.reduce(((e, t) => e += t.cl), 0) / h.length);
                    var f = 0 === r.timezone_offset ? 0 : r.timezone_offset,
                        p = (i = Cr(Cr({}, u), {}, {
                            timezone_offset: f,
                            mm: s,
                            user_keywords: a,
                            pr: l
                        }), o = new URL("/in/multy", "https://notification.tubecup.net"), Object.entries(i).forEach((e => {
                            var [t, n] = e;
                            "object" == typeof n ? o.searchParams.append(t, encodeURI(JSON.stringify(n))) : o.searchParams.append(t, n)
                        })), o.toString()),
                        m =
                        yield c(p);
                    return r.closeExpiredNotifications(), Promise.all(m.map((e => {
                        var t = r.createNotificationRecord(e, {
                            auctionUrl: p,
                            pushPayload: u
                        });
                        return r.displayNotification(t)
                    })))
                } catch (e) {
                    throw new Error("TC SW Error: ".concat(e))
                }
            }))()
        }
        notificationclick(e) {
            var t;
            if (!e.notification.data) return Promise.resolve();
            var n = null !== (t = e.notification.actions.find((t => t.action === e.action))) && void 0 !== t ? t : {
                action: "banner"
            };
            return o(0, this.processClick(e.notification, n))
        }
        notificationclose(e) {
            var t = this;
            return wr((function*() {
                if (!e.notification.data) return Promise.resolve();
                var {
                    url: n,
                    price: r,
                    ttl: i,
                    cid: o,
                    capping_uid: s,
                    ignoreClickLogic: a,
                    crtid: c,
                    isCpm: l
                } = e.notification.data, u = new URL(n);
                return u.searchParams.append("ml", 1), !a && (t.ClickLocalDB.getStoredClicks() || (
                    yield t.ClickLocalDB.loadClickStore()), t.ClickLocalDB.isClickUrlFired(n) || l || i && !(i > Date.now()) ? void 0 : (t.ClickLocalDB.addStoredClick({
                    url: u.toString(),
                    price: r,
                    ttl: i,
                    cid: o,
                    capping_uid: s,
                    crtid: c,
                    date: Date.now()
                }), Promise.resolve()))
            }))()
        }
    };

    function Kr(e, t, n) {
        var r = new URL(e.url);
        return void 0 !== e.count && r.searchParams.append("scheme_id", e.count), r.searchParams.append("event_timestamp", n), r.searchParams.append("action", t.action), t.title && r.searchParams.append("button_title", t.title), r
    }
    var Er = {
            beforeAuctionFetch: {
                et: 60
            },
            beforeIconLoad: {
                et: 61
            },
            iconLoaded: {
                et: 62
            },
            windowOpened: {
                et: 63
            },
            windowNotOpened: {
                et: 64
            },
            iconNotLoaded: {
                et: 65
            }
        },
        Ar = ["hdzog"];
    for (var Dr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", Mr = new Uint8Array(256), Ir = 0; Ir < Dr.length; Ir++) Mr[Dr.charCodeAt(Ir)] = Ir;

    function Br(e) {
        for (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Dr, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "", r = new Uint8Array(e), i = r.length, o = "", s = 0; s < i; s += 3) o += t[r[s] >> 2], o += t[(3 & r[s]) << 4 | r[s + 1] >> 4], o += t[(15 & r[s + 1]) << 2 | r[s + 2] >> 6], o += t[63 & r[s + 2]];
        return i % 3 == 2 ? o = o.slice(0, o.length - 1) + n : i % 3 == 1 && (o = o.slice(0, o.length - 2) + n + n), o
    }

    function Rr(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Mr,
            n = e.length,
            r = Math.floor(.75 * e.length),
            i = 0;
        "=" === e[n - 1] && (r--, "=" === e[n - 2] && r--);
        for (var o = new Uint8Array(r), s = 0; s < n; s += 4) {
            var a = t[e.charCodeAt(s)],
                c = t[e.charCodeAt(s + 1)],
                l = t[e.charCodeAt(s + 2)],
                u = t[e.charCodeAt(s + 3)];
            o[i++] = a << 2 | c >> 4, o[i++] = (15 & c) << 4 | l >> 2, o[i++] = (3 & l) << 6 | 63 & u
        }
        return o
    }
    Mr[45] = 62, Mr[95] = 63;
    const jr = JSON.parse('{"x":[{"id":1,"publicKey":"BPZP2eiVQ9M9ldQ7r2fhzutv-XFsMp-Td09w-YeUa4GfRM0v67zx1qaGM63ObPzaTsCP5dDka49rKFLAdMPE6OE","privateKey":"SRw6iGC8p0D_rch2VJJAD2DfI39Rq3aLy6kYBLcw54Y"},{"id":2,"publicKey":"BF6EtvSBQCWLNPiIKFl1BDdED6YuQP6-SzMrPMbNW7sVfANmHqfBFw740chC-It4jksmVqZisq0_PSF7gAgP5nQ","privateKey":"dMhda8ZV6PvVZKrtCO6m_zXhTTY_PO7Gca--ay32pX0"},{"id":3,"publicKey":"BEHF3tidJXPYC72Em3qikxTlUu8muOulHJZslAdiiYUnfzHf4WK4DcgPwmrPaAogLp5qPnC8heItmL_1YWFSAhY","privateKey":"K4-CPL84qFnYUzJyfOy7S2SJOO5-aWCtD7dZ-32FImQ"},{"id":4,"publicKey":"BBDqg-WUChOYKzOIX6NN5XJrar5S07W-CKaZZXXJGB60ZSgxwngaE2rUaAEtk6d7YubEG8O41nTU3WfgUylFQ58","privateKey":"HlH2-3te9k6uump5dD1yGtO1VF_xzGaewzwI2tUz_HM"},{"id":5,"publicKey":"BJYNCsbiJGzE8t9JwcXGYGuCqCMpnvmXWrbMoSzmbnjzxMHQj1q1ID-opWyEWc_S9uV4O8AywYCrlsXmm9tXiOo","privateKey":"6AL8w5ADSWOpTiyWeLYCmQbATZojYRVVpVCZSmPPfzI"},{"id":6,"publicKey":"BPXqJtk9Bdkncr9C2ufUukTZSSF9glUiIZAIiSzAcxW0dLYQQIybaflPfEAKB5SniyGy4ClBMyRK4vCZ1pKsPqI","privateKey":"Rtq7aePf5xT5cXdUQ8-aV2mKiKGnxJpgSvTkTwIlvCw"},{"id":7,"publicKey":"BMJh9g24g8sh8vW1tkCeH_KtNuZnibzf1I-7Bs6vrwFaLsQIMovo1V5xjG2OFLhyATSkD0w2KCHtBaQOcQSnuHk","privateKey":"wNDseDj6MMa1fZODaHqMZdWF7PvceFfGaFz1dMNNWBI"},{"id":8,"publicKey":"BE2A1EVOc4rObFyk2Nm-xFoDzyWzQcpnJGrWddYd4ZqNZDR-5YpjJ19iDI6JVwk9C_AkxaHqAw5URUyg7HIIPYk","privateKey":"X4cCxtvFpbZwaHg4D6BpItXRoCPD3rRVWlRhDhMulb0"},{"id":9,"publicKey":"BAqDDxkwMOnPahAtxNpsYdK8YCQFtaOdHE98XBO89YW0MZ0F7WZnTK7Q5Pz6wQ-N3ZHoPfZVZcgAs6VwPlLbQYY","privateKey":"B1S_I-klUdAPZsuDO59BIhrCEUEb-BceCUm9nrAvcX8"},{"id":10,"publicKey":"BBzCwiEPu1eobZvl_KHxzz3SUYJolGR4YZM-oplWC-oT5DfXXAcolbHY0i3qXwekwgD8ALMNwPtfpTuu77TpeFo","privateKey":"Wx-mwGLAmRGLuT4fsLqrA9dl-BTGTMYV4ghUpGGswDs"},{"id":11,"publicKey":"BEFv-JC2neGUXalb09va2aGjz4D5GHVHPcT6oHhoLhb3ZUgQywuVFy4HTh7VM_W74ZXGGa2p94IsZa2muhfTtDo","privateKey":"zQEKtUrcM0HvqgQzoA7kELu7_hGTVAUCOEaBl7TIjQM"},{"id":12,"publicKey":"BBzueAo9ImxPRg1hAT45FOxxkOhpw6nqsAOn78o4K94vuGrYxhn6Z5R9n_40IjhTfIM2DCxY1-k8A5c19omjKEQ","privateKey":"4BkiHfeJ_igDORlmx1MlJ3Heceez4CyoQfu6wjbv6GY"},{"id":13,"publicKey":"BCyBc56nn-zkbnQKJLh7G_KHGYRRN0zB7wSuwHhKo04zKj_ajZCbtGiufGddn_Hn9R1ShgdGPYuen3YkPuREDNk","privateKey":"2AJsDkii7KOhUIWfW9rN7riCtKdhquuEJAO8E_Wmlwg"},{"id":14,"publicKey":"BBdjVYgvM8VxAOPHBj1lPKxMtNgudcgw6UjkvPCvwicj3Go6iCgNdE9UsJXESnUbsBdxWPtaphjZ5Z0p_B0DOxU","privateKey":"HQEfHtvc_kwvAUyUqCFkGEbixMfzwsIB6aXnp0s4QG0"},{"id":15,"publicKey":"BFN9nGQSgD4PkkiGmgzf1jhImZrDdXkX-nUi1J_Vi6AtFymSfSMMXjF5GSsUjbL0NQO81YWuIpRsOSz7eR1Hs2Q","privateKey":"QOVWcay4m0NXSElJS-tBfyB2dvb_69n4lqeJr67WOGM"},{"id":16,"publicKey":"BBVEJplDPoX7Wl9-uHQFYPmUhDxBnBUdO_2ilTUN4gsUcqh7R7Z-zqJMHdbkx2UI2FIZ2yKFwNX9ov3FUGa-FT8","privateKey":"AwM1XS3A4TaJJL7DhQkPfZpQ_l3hAJCNCvofv6zDD-4"},{"id":17,"publicKey":"BMcljipZcnmxn2I-vVmWr3eENKXMxZ1C1X_ffIV02S2h5ltE0gL9iRuukT2gB-HYdh5VkIlJQus0DfeWEXQnBFA","privateKey":"eYmTgEF-oZven1YK8O3lGOU3s1Xq611Lh6MszwgzLyc"},{"id":18,"publicKey":"BDODN9DbpTXP3FB-NUE_pPxsS-OBMlpJUI-YAUsY-RguSzboQQeuMTzzopfDrmdGCScB4W_5DIMdmJ7g6bTLLYs","privateKey":"F-lsx0NoUCu_3OkNpoqOoeVZ1MGEj6hP46yuo4_aVYA"},{"id":19,"publicKey":"BPkizkKtqQTLNLR-SSYwi3nvAMSMFWJ5PzPV7iAS0c1VZVNPqAZt-iSCdKi0SNqL96afrnz959x5a3LI0nxCLe0","privateKey":"hzIxQXjSEiSOw3r234RkRg1vRCRJMRbOdpnp1-mOJPQ"},{"id":20,"publicKey":"BORkMYRMLhgUSKHs3w4AE5pNuLGU795obmB3nrUWmzEJHWddWEszHG8A1BYTk8SER80M2qEJa55kDtEAhbSHP-o","privateKey":"Mv3-4zDqM8iGv6FwFx0IPhY_pIFAZZj7jL64sZZMBCk"},{"id":21,"publicKey":"BBWGT0JNCgkuEbakF26pyL6CGEYJZiMsdKR-FGVBpshr9yDtYdlNDqnMrP7Tsgsg9oayG7qyA8hwAId2rvbHNxY","privateKey":"dImp_iFqstH8GrG641WwCTIfvH-gUYWyY0G-dGV2Ev8"},{"id":22,"publicKey":"BAiXrsjkiBnG49Nqb-CHOrtoLWZ0WyjV0FKLw3K0xZeGsUyREy-Rt_nmjLNd5zXXmXfEfcTqzBvrUBX18N3gkS4","privateKey":"zHomSXSv_nuZWHNBb7LzVfsl0z5lZvbO3YcP8UEI9mA"},{"id":23,"publicKey":"BKHxooeIkJAGM__VZMOPNf_eWW7xDPc9A1U8QU5pFNgfJQjIaUcJUiiSLOS3BYzDbxAUOI361KAIZQD22BKhB9Y","privateKey":"mB_5soSImOI-xElX-HrHojkUQ1ZSYSxy4Ga_-iRXrfg"},{"id":24,"publicKey":"BAIPvLA7WiYtvC-RdxhY7FvdnzEdA3o1MKqxnTfWjkfyK_gnlWtBVV5zOMiYQvhr1nbfzZi0GH8ye75n_ufgVvU","privateKey":"9IpMgu7qiUfR_vuedSo3YphgeV41yJNIi0FbqzzXZ7U"},{"id":25,"publicKey":"BFJnYsFNNuHSacuzylt1M6fyCYrZT3NNGxKGeQeG8f4mIsDcDHjK0MAoqeDD4vhBp_ZSj_IFJOZidFGfhbqolno","privateKey":"HSuyfoUfoGvR3Vb0OwtD3i1UC5V2bG4XTvZkQR2OQjI"},{"id":26,"publicKey":"BA6epAzFJ6vGppad_WPQ9e4hybpsOtx60Gg7AzKROy_Msbdi4vQN9TVCWiLVkagkXC4lUp7W03i7Uv7mFOhMF50","privateKey":"XrvW6TH0i9kDf1tSJcVBhAIBFKkzgizcX6CUKILRb6U"},{"id":27,"publicKey":"BFDJdEweGkbC7tyox7a5id6deOvOEg5jI4zD3_mM5Nthxcchr0IMr4-Sp6C40AH6oKUtJ-__O0nirPNUUO_rXdU","privateKey":"dBWCDB4w9NpEqF-mpn7K30-Po43ThpJO4vTVfM0ae3o"},{"id":28,"publicKey":"BFi-zcJoVhHOde2CmQYIi8ht30R1176eeUcAsWsxyTzQaARhGI7gmcv92oS_tZQx3OJhEOygU3gGBz_dGqBpMFE","privateKey":"VCjppYkHbDDtrQoNoimLyvLgRbtVKdHp5j-b7znzTyI"},{"id":29,"publicKey":"BAPJbkUpORgly-IyS7SWb2MOwgapL_RzE5zvRc_85Oa_9vVEmbg1JWmniOVPVgu9NjICSFmRozPvskGvicuNQWo","privateKey":"5m9xHyGByOgl5Bvj8CGWS8fMC5hzb8ZeNg5rWire3mU"},{"id":30,"publicKey":"BO5ulR7aC1L9nBV9zZSdMCOa75Dy87xu2n5dL53V0B-maYLcJ2ojCpNFB5MlXHvhVC1xbHIrEdUybb8I_BgQo90","privateKey":"8xd56TwJsx9VXya98BgET8Rm-sRVLyFyLzsmIBGeERg"}]}');

    function Tr(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
            n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : e.length - 1,
            r = e.slice(t, n + 1);
        return r[Math.floor(Math.random() * r.length)]
    }

    function Nr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }

    function Fr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    Nr(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    Nr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    var qr = [1019, 1025, 1012, 3482, 2225, 1050, 1024];

    function Ur(e) {
        return Lr.apply(this, arguments)
    }

    function Lr() {
        return (Lr = Fr((function*(t) {
            var {
                pushManager: n,
                currentSubscription: r,
                vapidKey: i,
                vapID: o,
                tcId: s,
                spotId: a,
                tube: c,
                sub: l,
                utmSource: u,
                utmMedium: d,
                utmCampaign: h,
                utmContent: f,
                isAdblock: p,
                fingerprint: m,
                referrer: y = "",
                href: v = "",
                sid: g
            } = t;
            yield r.unsubscribe();
            var b =
                yield n.subscribe({
                    applicationServerKey: Rr(i),
                    userVisibleOnly: !0
                }),
                _ = b.getKey("p256dh"),
                w = b.getKey("auth");
            return (
                yield fetch("https://subscribers.production.wpu.sh/register", {
                    method: "POST",
                    headers: {
                        "Content-type": "application/json"
                    },
                    body: JSON.stringify({
                        contentEncoding: (PushManager.supportedContentEncodings || ["aesgcm"])[0],
                        authToken: Br(w),
                        publicKey: Br(_),
                        endpoint: b.endpoint,
                        sdkVersion: e,
                        tcid: s,
                        spot_id: a,
                        token_id: o,
                        tube: "other" === c ? "tcpublisher" : c,
                        sub: l,
                        utm_source: u,
                        utm_medium: d,
                        utm_campaign: h,
                        utm_content: f,
                        is_adblock: p,
                        fp: m,
                        referrer: y,
                        href: v,
                        sid: g
                    })
                })).json()
        }))).apply(this, arguments)
    }

    function zr() {
        return (zr = Fr((function*(e, t, n) {
            var {
                tcId: r,
                spotId: i,
                tube: o,
                sub: s,
                utmSource: a,
                utmMedium: c,
                utmCampaign: l,
                utmContent: u,
                isAdblock: d,
                fingerprint: h,
                sid: f,
                referrer: p,
                href: m
            } = t, {
                minIndexKey: y,
                maxIndexKey: v
            } = n, g = jr.x.map((e => {
                    var {
                        publicKey: t
                    } = e;
                    return t
                })), b =
                yield e.getSubscription(), _ = Br(b.options.applicationServerKey);
            if (!g.includes(_) || "other" === o) {
                var w = jr.x,
                    k = Tr(w, y, v) || w[0];
                return yield Ur({
                    pushManager: e,
                    currentSubscription: b,
                    vapidKey: k.publicKey,
                    vapID: k.id,
                    tcId: r,
                    spotId: i,
                    tube: o,
                    sub: s,
                    utmSource: a,
                    utmMedium: c,
                    utmCampaign: l,
                    utmContent: u,
                    isAdblock: d,
                    fingerprint: h,
                    referrer: p,
                    href: m,
                    sid: f
                })
            }
            return {
                sid: f
            }
        }))).apply(this, arguments)
    }

    function Wr(e, t) {
        var n = Object.keys(e);
        if (Object.getOwnPropertySymbols) {
            var r = Object.getOwnPropertySymbols(e);
            t && (r = r.filter((function(t) {
                return Object.getOwnPropertyDescriptor(e, t).enumerable
            }))), n.push.apply(n, r)
        }
        return n
    }

    function Gr(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? Wr(Object(n), !0).forEach((function(t) {
                Vr(e, t, n[t])
            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Wr(Object(n)).forEach((function(t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }))
        }
        return e
    }

    function Vr(e, t, n) {
        return t in e ? Object.defineProperty(e, t, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = n, e
    }

    function Yr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }

    function Jr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    Yr(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    Yr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    var Hr = [{
            action: "more",
            title: "More"
        }, {
            action: "settings",
            title: "Settings"
        }],
        Qr = ["auction-request", "on-demand", "mixed"],
        Zr = {
            more: ["<9", "=�", "=�", "=�", "=�", "<�", "<�", "=�"],
            settings: ["='", "=�", "�"]
        },
        Xr = ["bookmark", "face", "starburst", "warranty"],
        $r = {
            nextNotification: 0,
            mode: null,
            demandModeProbability: .5,
            creativesUpdateTime: null,
            statSendTime: null,
            postponedUpdateTime: null,
            isMetaMaskActive: !1,
            userKeywords: "",
            entryReferrerDomain: null
        };
    class ei {
        constructor() {
            this.Tracking = new class {
                constructor() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "https://logger.wpu.sh/";
                    this.trackingURL = e, this.params = {}
                }
                track(e) {
                    var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                    return Ar.includes(this.params.site) && Er[e] ? fetch(this.trackingURL + "?" + this.getQueryString(e, t)).catch((() => Promise.resolve())) : Promise.resolve()
                }
                setParam(e, t) {
                    this.params[e] = t
                }
                getQueryString(e, t) {
                    return Object.keys(Er[e]).map((t => "".concat(encodeURIComponent(t), "=").concat(encodeURIComponent(Er[e][t])))).concat(Object.keys(t).map((e => "".concat(encodeURIComponent(e), "=").concat(encodeURIComponent(t[e]))))).join("&")
                }
            }, this.Auction = new ar, this.Stat = new ur, this.modes = {
                auctionRequest: new Sr
            }, this.version = e, this.auctionRequestOptions = null, this.notificationsMap = {}, this.settingsRestored = !1, Object.keys($r).forEach((e => {
                this[e] = $r[e]
            }))
        }
        get notifications() {
            return this._notifications || []
        }
        set notifications(e) {
            this._notifications = e, this.notificationsMap = {}, this._notifications.forEach((e => {
                this.notificationsMap[e.creative_id] = e
            }))
        }
        static getVersion() {
            return e
        }
        restoreEnvironment() {
            var e = this;
            return Jr((function*() {
                if (!e.settingsRestored) {
                    e.settingsRestored = !0;
                    var t =
                        yield e.Auction.getParameters();
                    t && (e.auctionRequestOptions = t.auctionRequestOptions, e.notifications = t.notifications);
                    var n =
                        yield e.Auction.getSettings();
                    Object.keys($r).forEach((t => {
                        e[t] = n && n[t] || $r[t]
                    }))
                }
            }))()
        }
        saveEnvironment() {
            var e = this;
            return Jr((function*() {
                return u([e.Auction.saveParameters(e.auctionRequestOptions, e.notifications), e.Auction.saveSettings(Object.keys($r).reduce(((t, n) => (t[n] = e[n], t)), {}))])
            }))()
        }
        showNotification() {
            var e = this;
            return Jr((function*() {
                if (
                    yield e.restoreEnvironment(), null === self.registration.active || !e.notifications || !e.notifications.length) return Promise.resolve();
                var t;
                e.nextNotification >= e.notifications.length && (e.nextNotification = e.notifications.length - 1);
                var n = e.notifications[e.nextNotification++];
                (e.nextNotification === e.notifications.length || e.nextNotification > 13) && (e.nextNotification = 0);
                var r = Hr.map((e => ({
                    action: e.action,
                    title: "".concat(Zr[e.action][Math.round(Math.random() * (Zr[e.action].length - 1))], " ").concat(e.title)
                })));
                return t = self.registration.showNotification(n.title, {
                    body: n.body,
                    requireInteraction: !0,
                    image: n.imgurl,
                    icon: n.icon || n.imgurl,
                    badge: "https://static.bookmsg.com/creatives/icons/icon-" + Xr[Math.round(Math.random() * (Xr.length - 1))] + ".webp",
                    actions: r,
                    tag: Math.random(),
                    data: Gr(Gr({}, n), {}, {
                        mode: "on-demand"
                    })
                }), u([e.Stat.addImpression(n).then((() => {
                    e.sendStat()
                })), e.saveEnvironment(), t])
            }))()
        }
        getMode() {
            Qr.includes(this.mode) || (this.mode = null);
            var e = this.mode;
            return "mixed" === e ? e = Math.random() < this.demandModeProbability ? "on-demand" : "auction-request" : this.mode || (e = "auction-request"), e
        }
        setDemandModeProbability(e) {
            this.demandModeProbability = parseFloat(e), isNaN(this.demandModeProbability) || !isFinite(this.demandModeProbability) || this.demandModeProbability < 0 ? this.demandModeProbability = 0 : this.demandModeProbability > 1 && (this.demandModeProbability = 1)
        }
        message(e) {
            var t, n, r, i, o, s;
            this.isMetaMaskActive = null === (t = e.data) || void 0 === t || null === (n = t.adManagerEnv) || void 0 === n ? void 0 : n.isMetaMaskActive, this.userKeywords = null === (r = e.data) || void 0 === r || null === (i = r.adManagerEnv) || void 0 === i ? void 0 : i.keywords, this.entryReferrerDomain = null === (o = e.data) || void 0 === o || null === (s = o.adManagerEnv) || void 0 === s ? void 0 : s.entryReferrerDomain, e.waitUntil(this.saveEnvironment())
        }
        push(e) {
            var t = this;
            return Jr((function*() {
                var r;
                yield t.restoreEnvironment();
                var i, o, a, c, l, d, h, f, p, m, y, v, g, b, _, w, k, C, x, P, O, S, K, E, A = null,
                    D = Date.now();
                try {
                    A = e.data.json()
                } catch (e) {}
                Math.random().toFixed(2) > .87 && (K = null === (r = A) || void 0 === r ? void 0 : r.spot_id, qr.includes(K)) && (
                    yield
                    function(e, t, n) {
                        return zr.apply(this, arguments)
                    }(self.registration.pushManager, {
                        tcId: null !== (i = null === (o = A) || void 0 === o ? void 0 : o.tcid) && void 0 !== i ? i : null,
                        spotId: null !== (a = null === (c = A) || void 0 === c ? void 0 : c.spot_id) && void 0 !== a ? a : null,
                        tube: null !== (l = null === (d = A) || void 0 === d ? void 0 : d.site) && void 0 !== l ? l : "tcpublisher",
                        sub: null !== (h = null === (f = A) || void 0 === f ? void 0 : f.ad_sub) && void 0 !== h ? h : 0,
                        utmSource: null !== (p = null === (m = A) || void 0 === m ? void 0 : m.utm_source) && void 0 !== p ? p : "",
                        utmMedium: null !== (y = null === (v = A) || void 0 === v ? void 0 : v.utm_medium) && void 0 !== y ? y : "",
                        utmCampaign: null !== (g = null === (b = A) || void 0 === b ? void 0 : b.utm_campaign) && void 0 !== g ? g : "",
                        utmContent: null !== (_ = null === (w = A) || void 0 === w ? void 0 : w.utm_content) && void 0 !== _ ? _ : "",
                        isAdblock: null !== (k = null === (C = A) || void 0 === C ? void 0 : C.is_adblock) && void 0 !== k ? k : 0,
                        fingerprint: null !== (x = null === (P = A) || void 0 === P ? void 0 : P.fingerprint) && void 0 !== x ? x : "",
                        sid: null !== (O = null === (S = A) || void 0 === S ? void 0 : S.sid) && void 0 !== O ? O : null
                    }, {
                        minIndexKey: 10,
                        maxIndexKey: 20
                    }));
                if (!A) return E = t.getMode(), t.auctionRequestOptions ? "on-demand" === E ? t.showNotification() : t.modes.auctionRequest.push(e, t.auctionRequestOptions, {
                    isMetaMaskActive: t.isMetaMaskActive,
                    userKeywords: t.userKeywords,
                    entryReferrerDomain: t.entryReferrerDomain
                }) : Promise.resolve();
                t.auctionRequestOptions = A.sid ? A : A.data, void 0 !== t.auctionRequestOptions.mixModeProbability && (t.setDemandModeProbability(t.auctionRequestOptions.mixModeProbability), delete t.auctionRequestOptions.mixModeProbability), void 0 !== t.auctionRequestOptions.mode && (t.mode = t.auctionRequestOptions.mode, delete t.auctionRequestOptions.mode), E = t.getMode(), t.postponedUpdateTime || "on-demand" !== E || (t.postponedUpdateTime = Math.round(D + Math.random() * n));
                var M = D < t.postponedUpdateTime && (!t.notifications || !t.notifications.length);
                return "on-demand" !== E || M ? u([t.saveEnvironment(), t.modes.auctionRequest.push(e, t.auctionRequestOptions, {
                    isMetaMaskActive: t.isMetaMaskActive,
                    userKeywords: t.userKeywords,
                    entryReferrerDomain: t.entryReferrerDomain
                })]) : D < t.postponedUpdateTime || t.creativesUpdateTime && D - t.creativesUpdateTime < n ? t.showNotification() : fetch("".concat("https://bookmsg.com/in/creativesv2", "?").concat(s(t.getAuctionOptions()))).then(function() {
                    var e = Jr((function*(e) {
                        if (200 !== e.status) throw new Error("Request JSON data failed.");
                        var n =
                            yield e.json();
                        if (t.creativesUpdateTime = Date.now(), Array.isArray(n)) t.notifications = n;
                        else if (n && Array.isArray(n.notifications)) {
                            if (!n.notifications.length) throw new Error("No data found.");
                            t.notifications = n.notifications
                        }
                        return t.notifications.sort((() => Math.random() - .5)), t.saveEnvironment().then((() => t.showNotification()))
                    }));
                    return function(t) {
                        return e.apply(this, arguments)
                    }
                }()).catch((() => t.saveEnvironment().finally((() => t.showNotification()))))
            }))()
        }
        getAuctionOptions() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
            return Gr(Gr({}, this.auctionRequestOptions), {}, {
                ver: this.version,
                ver_c: this.version,
                timezone_offset: (new Date).getTimezoneOffset() / -60,
                dt: Date.now(),
                cat: e && e.category || ""
            })
        }
        notificationclick(e) {
            var t = this;
            return Jr((function*() {
                if ("on-demand" === (e.notification.data && e.notification.data.mode)) {
                    yield t.restoreEnvironment();
                    var n = t.Stat.addClick(e.notification.data).then(t.sendStat.bind(t));
                    if (!t.auctionRequestOptions) return e.notification.close(), n;
                    e.notification.close();
                    var r = "".concat("https://bookmsg.com").concat("/in/message", "?").concat(s(t.getAuctionOptions(e.notification.data)));
                    t.Tracking.setParam("site", t.auctionRequestOptions && t.auctionRequestOptions.site);
                    var i = [];
                    if (i.push(t.Tracking.track("beforeAuctionFetch")), 200 !== (
                            yield fetch(r)).status) return n;
                    var o = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
                        a = "https://www.google.com";
                    i.push(t.Tracking.track("beforeIconLoad"));
                    var c = Date.now();
                    return fetch(o, {
                        mode: "no-cors",
                        redirect: "follow",
                        headers: {
                            Accept: "image/*,*/*;q=0.8"
                        }
                    }).then((() => {
                        Date.now();
                        return i.push(t.Tracking.track("iconLoaded")), self.clients.openWindow(a).then((() => u(i.concat([t.Tracking.track("windowOpened")])))).catch((e => u(i.concat([t.Tracking.track("windowNotOpened")]))))
                    })).catch((e => u(i.concat([t.Tracking.track("iconNotLoaded", {
                        t: Date.now() - c
                    })]))))
                }
                e.waitUntil(t.modes.auctionRequest.notificationclick(e))
            }))()
        }
        notificationclose(e) {
            var t = this;
            return Jr((function*() {
                if (
                    yield t.restoreEnvironment(), e.notification.data && "on-demand" !== e.notification.data.mode) return t.modes.auctionRequest.notificationclose(e)
            }))()
        }
        install() {
            return self.skipWaiting()
        }
        activate() {
            return self.clients.claim()
        }
        sendStat() {
            var e = this;
            return Jr((function*() {
                var t = Date.now();
                e.statSendTime || (e.statSendTime = t, e.saveEnvironment());
                var n = Math.random().toString(),
                    r =
                    yield e.Stat.getData(n),
                    i = r.some((e => e.clicks > 0)),
                    o = 0;
                if (i || (o = r.reduce(((e, t) => e + t.impressions), 0)), !i && o < "5" && (!o || t - e.statSendTime < "600000")) return e.Stat.clearTag(n);
                var s = r.map((t => {
                    var n = e.notificationsMap[t.creative_id] || t;
                    return {
                        creative_id: t.creative_id,
                        impressions: t.impressions,
                        clicks: t.clicks,
                        site: e.auctionRequestOptions.site,
                        spot_id: e.auctionRequestOptions.spot_id,
                        tcid: e.auctionRequestOptions.tcid,
                        category: n.category || "",
                        creative_country: n.creative_country || "",
                        subscriber_id: e.auctionRequestOptions.sid || "",
                        sw_ver_core: e.version || ""
                    }
                }));
                return fetch("https://notification.tubecup.net/in/aim", {
                    method: "POST",
                    mode: "cors",
                    cache: "no-cache",
                    headers: {
                        "content-type": "application/json"
                    },
                    body: JSON.stringify(s)
                }).then((r => 201 === r.status ? (e.statSendTime = t, u([e.saveEnvironment(), e.Stat.clearData(n)])) : e.Stat.clearTag(n))).catch((() => e.Stat.clearTag(n)))
            }))()
        }
    }
    self.getWorker = () => ei
})();
                                    

Executed Writes (3)

#1 JavaScript::Write (size: 153, repeated: 1) - SHA256: c16d3c977c6b4392491973fea04870bc511eb1eb1c3db9b9d364d11ea2d16d09

                                        < script type = "text/javascript"
src = "https://news-debipa.com/code/https.js?uid=166797&site=8051284&banadu=0&sub1=undefined&sub2=undefined"
async > < /script>
                                    

#2 JavaScript::Write (size: 110, repeated: 1) - SHA256: 6963b52f0c04d87182784bc672afbf2b44953454e92cd4779e35aaa6cd97c70b

                                        < iframe src = "https://videotxxx.com/videos/6801436/lesbian-granny2/?promo=38830"
width = "1"
height = "1" > < /iframe>
                                    

#3 JavaScript::Write (size: 506, repeated: 1) - SHA256: ec91317245977a6d54138f452f9d5fa7e083358d4b6d48557d2589ea6dfc9e7c

                                        < iframe src = "https://syndication.realsrv.com/ads-iframe-display.php?idzone=3069158&amp;type=728x90&amp;p=https%3A//9d634cf29b.851ae974fe.com/&amp;dt=1662991663825&amp;sub=38830&amp;tags=Straight,Asian,BBW,Japanese,Granny&amp;cookieconsent=true&amp;screen_resolution=1280x1024&amp;el=&quot; "
sandbox = "allow-forms allow-pointer-lock allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts"
scrolling = "no"
marginwidth = "0"
marginheight = "0"
width = "728"
height = "90"
frameborder = "0" > < /iframe>
                                    


HTTP Transactions (236)


Request Response
                                        
                                            GET / HTTP/1.1 
Host: 26porn.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

                                         
                                         104.21.28.181
HTTP/1.1 301 Moved Permanently
                                        
Date: Mon, 12 Sep 2022 14:07:51 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Mon, 12 Sep 2022 15:07:51 GMT
Location: https://26porn.com/
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=b4c45XCv8DGNjvNsRyukJ2Our5an6IyHhbTlyOFqIUEm%2FCU0PH0TtvDbsniXX%2FMlfpL%2FbBSYSx0HJWMdHqxBI2vO3a1ouD%2BnqBLyOBFwEo5n4Cbp05U6HXAJEJPS"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 749936391f7d1c0a-OSL
alt-svc: h2=":443"; ma=60

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "D16DE6CC9EB0E1297F53DC1137BB764BF5C21A7727BE32AD05AFEBD1FE9501ED"
Last-Modified: Sat, 10 Sep 2022 18:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2884
Expires: Mon, 12 Sep 2022 14:55:55 GMT
Date: Mon, 12 Sep 2022 14:07:51 GMT
Connection: keep-alive

                                        
                                            GET /v1/ HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         143.204.55.115
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 939
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Retry-After, Alert, Content-Length, Content-Type, Backoff
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Date: Mon, 12 Sep 2022 13:08:13 GMT
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Cache: Hit from cloudfront
Via: 1.1 a7d2a4ec2f50830f128dc406960aef9a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-C1
X-Amz-Cf-Id: vpoc6Jq4_4v9l-zoXLj2fbZifciBULjCZUUSB0bJ1BJ6E8FLhCdx5A==
Age: 3578


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (939), with no line terminators
Size:   939
Md5:    b593eb39329cfe060d55be5e4a5405e2
Sha1:   78e46c1028e9f94f8569303ad2d90d7df13a059a
Sha256: 08a810103557efe55ca4425ff0cf82593f1f54633df899127eaec9bee05d4d04
                                        
                                            GET /chains/remote-settings.content-signature.mozilla.org-2022-10-09-23-18-04.chain HTTP/1.1 
Host: content-signature-2.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         143.204.55.49
HTTP/2 200 OK
content-type: binary/octet-stream
                                        
content-length: 5348
last-modified: Sat, 20 Aug 2022 23:18:05 GMT
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
date: Mon, 12 Sep 2022 07:17:13 GMT
etag: "742edb4038f38bc533514982f3d2e861"
x-cache: Hit from cloudfront
via: 1.1 a6d89f7e2d55548b941f1ff5d5b3c8d4.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-C1
x-amz-cf-id: nhYPPoPkLFoT3E7WbRJKzFeT-t2OuPxsuw8hrj4RHh6SBzG6rFKhlw==
age: 24639
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    742edb4038f38bc533514982f3d2e861
Sha1:   cc3a20c8dc2a8c632ef9387a2744253f1e3fdef1
Sha256: b6bfa49d3d135035701231db2fffc0c0643444394009a94c6a1b4d829d6b8345
                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx
date: Mon, 12 Sep 2022 14:07:51 GMT
content-length: 12
strict-transport-security: max-age=31536000
via: 1.1 google
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   12
Md5:    23e88fb7b99543fb33315b29b1fad9d6
Sha1:   a48926c4ec03c7c8a4e8dffcd31e5a6cdda417ce
Sha256: 7d8f1de8b7de7bc21dfb546a1d0c51bf31f16eee5fad49dbceae1e76da38e5c3
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "A353DF75949184FBFE52F7D0AE53A58053A0464225EC1BC6561850783EB2C90A"
Last-Modified: Mon, 12 Sep 2022 05:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=20741
Expires: Mon, 12 Sep 2022 19:53:32 GMT
Date: Mon, 12 Sep 2022 14:07:51 GMT
Connection: keep-alive

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:51 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:51 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /code/https.js?uid=166797&site=8051284&banadu=0&sub1=undefined&sub2=undefined HTTP/1.1 
Host: news-debipa.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         149.7.16.221
HTTP/2 200 OK
content-type: application/javascript
                                        
server: nginx
date: Mon, 12 Sep 2022 14:07:51 GMT
content-length: 8793
last-modified: Mon, 12 Sep 2022 06:53:34 GMT
etag: "631ed76e-2259"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: max-age=315360000
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (8793), with no line terminators
Size:   8793
Md5:    e5e3f9ed9d699a0ca3bc6ffe957199da
Sha1:   c9cf5f5fa75e9fdff105e5ccf47433d7dc0e8b2c
Sha256: c7bd6721b4b3681744292f04e8667c4efc5f07d33c460f94705f10f7c7e41e50

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:52 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:52 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN


--- Additional Info ---
Magic:  gzip compressed data, from Unix\012- data
Size:   539
Md5:    fb7723dc50c17f76a61e8c783c725ef7
Sha1:   d7e62baf781bd65efaa582cf0e3157b6b8607305
Sha256: 0c03f23274a41886e5032a77755587df2ef65903ca68d27f56b7a9e769e9a568
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:52 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2 HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://26porn.com
Connection: keep-alive
Referer: https://fonts.googleapis.com/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.163
HTTP/2 200 OK
content-type: font/woff2
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 15744
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Wed, 07 Sep 2022 19:34:08 GMT
expires: Thu, 07 Sep 2023 19:34:08 GMT
cache-control: public, max-age=31536000
age: 412424
last-modified: Wed, 11 May 2022 19:24:48 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format (Version 2), TrueType, length 15744, version 1.0\012- data
Size:   15744
Md5:    15d9f621c3bd1599f0169dcf0bd5e63e
Sha1:   7ca9c5967f3bb8bffeab24b639b49c1e7d03fa52
Sha256: f6734f8177112c0839b961f96d813fcb189d81b60e96c33278c1983b6f419615
                                        
                                            GET /s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://26porn.com
Connection: keep-alive
Referer: https://fonts.googleapis.com/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         142.250.74.163
HTTP/2 200 OK
content-type: font/woff2
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 15860
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Wed, 07 Sep 2022 19:34:08 GMT
expires: Thu, 07 Sep 2023 19:34:08 GMT
cache-control: public, max-age=31536000
age: 412424
last-modified: Wed, 11 May 2022 19:24:42 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format (Version 2), TrueType, length 15860, version 1.0\012- data
Size:   15860
Md5:    e9f5aaf547f165386cd313b995dddd8e
Sha1:   acdef5603c2387b0e5bffd744b679a24a8bc1968
Sha256: f5aebdfea35d1e7656ef4acc5db1f243209755ae3300943ef8fc6280f363c860
                                        
                                            GET /s/cabin/v26/u-4X0qWljRw-PfU81xCKCpdpbgZJl6XFpfEd7eA9BIxxkbqDH7alxw.woff2 HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://26porn.com
Connection: keep-alive
Referer: https://fonts.googleapis.com/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.163
HTTP/2 200 OK
content-type: font/woff2
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 15168
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Tue, 06 Sep 2022 21:14:17 GMT
expires: Wed, 06 Sep 2023 21:14:17 GMT
cache-control: public, max-age=31536000
age: 492815
last-modified: Fri, 24 Jun 2022 18:41:36 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format (Version 2), TrueType, length 15168, version 1.0\012- data
Size:   15168
Md5:    1598ebfa232c5514a99a8af0405cc9a6
Sha1:   d81db409924496627326925cffa27d465c24de3d
Sha256: 45a8badf06824c87461905a8b1871fc3ca3eb5934cee490deadad743ebf99661
                                        
                                            GET /css?family=Cabin:700|Roboto:300,400,500,700,900&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.10
HTTP/2 200 OK
content-type: text/css; charset=utf-8
                                        
access-control-allow-origin: *
timing-allow-origin: *
link: <https://fonts.gstatic.com>; rel=preconnect; crossorigin
strict-transport-security: max-age=31536000
expires: Mon, 12 Sep 2022 14:07:52 GMT
date: Mon, 12 Sep 2022 14:07:52 GMT
cache-control: private, max-age=86400
cross-origin-opener-policy: same-origin-allow-popups
cross-origin-resource-policy: cross-origin
content-encoding: gzip
server: ESF
x-xss-protection: 0
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   45510
Md5:    49d3847585c8a07e198076b22fd9cc95
Sha1:   a262f87a6e1604ccb5f70cc07e98ead9127b2b44
Sha256: dcf12560e66b63d06cd2e738c53741bed30f11e14d0fa1b12c91e0830c2cf9f1
                                        
                                            GET /v1/buckets/main/collections/ms-language-packs/records/cfr-v1-en-US HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         143.204.55.115
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 329
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Expires, Content-Length, Cache-Control, Pragma, Content-Type, Alert, Backoff, Last-Modified, Retry-After
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Last-Modified: Fri, 25 Mar 2022 17:45:46 GMT
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
Cache-Control: max-age=3600
Date: Mon, 12 Sep 2022 13:56:07 GMT
Expires: Mon, 12 Sep 2022 14:48:51 GMT
ETag: "1648230346554"
X-Cache: Hit from cloudfront
Via: 1.1 41dc61beb3fe8e8c2c299a2522d8330c.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-C1
X-Amz-Cf-Id: 5qeqJ6Hse0Bfuz3YPbw4MxR4gYWTfmgZrJWzzoDgIQLfZmAujVObWw==
Age: 705


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (329), with no line terminators
Size:   329
Md5:    0333b0655111aa68de771adfcc4db243
Sha1:   63f295a144ac87a7c8e23417626724eeca68a7eb
Sha256: 60636eb1dc67c9ed000fe0b49f03777ad6f549cb1d2b9ff010cf198465ae6300
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "E495C725DB95109EF5C64D4A6A838076985005E85C39B14567E6EE4419F17F86"
Last-Modified: Sun, 11 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4012
Expires: Mon, 12 Sep 2022 15:14:44 GMT
Date: Mon, 12 Sep 2022 14:07:52 GMT
Connection: keep-alive

                                        
                                            GET / HTTP/1.1 
Host: 26porn.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1

                                         
                                         172.67.147.16
HTTP/2 302 Found
content-type: text/html; charset=UTF-8
                                        
date: Mon, 12 Sep 2022 14:07:51 GMT
location: /no/
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=jExqd5qtNtteO4ZLx5Tsw0jrUy3ZMkr3UEB%2Fh3HJOpzjTU4m%2ByFQC2GFoB83X%2FvK45s86y%2F9hWKJry2Ml0Glu1aI0XqLdgg29WyIwFgA%2B5dbkZ1UnnvUW%2B2EAoCp"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 7499363a8bc10afe-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 352x198, components 3\012- data
Size:   13645
Md5:    c11c5f541d81002d964bec8579db0bce
Sha1:   a34efe332dad6c25516c9f61b3084557151329ba
Sha256: 11e9b6ebe38c8442bd8ecb1972ed82a09990aff5806ac6b76740c7daf7ef0bcb
                                        
                                            GET /icon?family=Material+Icons HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.10
HTTP/2 200 OK
content-type: text/css; charset=utf-8
                                        
access-control-allow-origin: *
timing-allow-origin: *
link: <https://fonts.gstatic.com>; rel=preconnect; crossorigin
strict-transport-security: max-age=31536000
expires: Mon, 12 Sep 2022 14:07:52 GMT
date: Mon, 12 Sep 2022 14:07:52 GMT
cache-control: private, max-age=86400
cross-origin-opener-policy: same-origin-allow-popups
cross-origin-resource-policy: cross-origin
content-encoding: gzip
server: ESF
x-xss-protection: 0
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   12622
Md5:    e06ede76dcdd83b4f77e9d9799116a5b
Sha1:   29a6f28d9f6c66d56b1f28fa527b5eb2029f257a
Sha256: 24188212c168e2d34ba166e2a19d6bfaf9e150acdb2c250ed571f10bb09c8eed
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:52 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /videos/6801436/lesbian-granny2/?promo=38830 HTTP/1.1 
Host: videotxxx.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         62.122.168.133
HTTP/1.1 302 Moved Temporarily
Content-Type: text/html
                                        
Server: nginx/1.21.2
Date: Mon, 12 Sep 2022 14:07:52 GMT
Content-Length: 145
Connection: keep-alive
Location: https://txxx.com/videos/6801436/lesbian-granny2/?promo=38830


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document, ASCII text, with CRLF line terminators
Size:   145
Md5:    8f44bacdcf4f730bc8a23bffdb52bf2c
Sha1:   d0ce633b7a9edb873911e993ed2621e40082a6fc
Sha256: 8887002d60cef2c1d9d2d25e50d06f9f2badcaa11b5b50577a1cba5dd4f3d0e8
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 1830
Cache-Control: 'max-age=158059'
Date: Mon, 12 Sep 2022 14:07:52 GMT
Last-Modified: Mon, 12 Sep 2022 13:37:22 GMT
Server: ECS (ska/F715)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "E2B0574C220C473E043B043A89EA4B6FB482B77B3B4E5279DB357B026324A471"
Last-Modified: Sun, 11 Sep 2022 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6702
Expires: Mon, 12 Sep 2022 15:59:34 GMT
Date: Mon, 12 Sep 2022 14:07:52 GMT
Connection: keep-alive

                                        
                                            POST /gseccovsslca2018 HTTP/1.1 
Host: ocsp.globalsign.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 79
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         104.18.21.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:52 GMT
Content-Length: 939
Connection: keep-alive
Expires: Fri, 16 Sep 2022 12:24:14 GMT
ETag: "b7d368222add516101939786be5a76b6cfc30530"
Last-Modified: Mon, 12 Sep 2022 12:24:15 GMT
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Age: 111
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 749936421c80b515-OSL

                                        
                                            GET /sw.js HTTP/1.1 
Host: news-debipa.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
TE: trailers

                                         
                                         149.7.16.221
HTTP/2 200 OK
content-type: application/javascript
                                        
server: nginx
date: Mon, 12 Sep 2022 14:07:52 GMT
content-length: 3964
last-modified: Tue, 30 Aug 2022 09:40:36 GMT
etag: "630ddb14-f7c"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: max-age=315360000
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (3964), with no line terminators
Size:   3964
Md5:    7c60cc903a18857a61023bde734a757b
Sha1:   d53632ffe44847e798eeb6fcaacc3b3584e4a23d
Sha256: dff87b88fb2ffccdadc8d3c04ffe475d848247456fa7c5b95328ccc14e7a48ea

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: wss://push.services.mozilla.com/
Sec-WebSocket-Protocol: push-notification
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: TIrrZtC9Y3VlrfgRFur+ow==
Connection: keep-alive, Upgrade
Sec-Fetch-Dest: websocket
Sec-Fetch-Mode: websocket
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

                                         
                                         52.42.74.230
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: X2sd0niObJiAbUgFCua+VIvo7WY=

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:52 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:52 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /metrika/tag.js HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         93.158.134.119
HTTP/2 200 OK
content-type: application/javascript
                                        
content-length: 72380
date: Mon, 12 Sep 2022 14:07:52 GMT
access-control-allow-origin: *
etag: "63186565-11abc"
expires: Mon, 12 Sep 2022 15:07:52 GMT
last-modified: Wed, 07 Sep 2022 12:33:25 GMT
cache-control: max-age=3600
content-encoding: br
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 (with BOM) text, with very long lines (674)
Size:   72380
Md5:    f948ad97d8bcc64c1eee91e4e703f3f5
Sha1:   b5c35b5c139ddec32fe96bf89863fcf0845262bf
Sha256: 0d2dc3bdec9010c5375ac3fab62d3f33c2a3f961c6c974f2c0da8d584ed441e1
                                        
                                            GET /gtm.js?id=GTM-MVMB4DG HTTP/1.1 
Host: www.googletagmanager.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.72
HTTP/2 200 OK
content-type: application/javascript; charset=UTF-8
                                        
access-control-allow-origin: *
access-control-allow-credentials: true
access-control-allow-headers: Cache-Control
content-encoding: br
vary: Accept-Encoding
date: Mon, 12 Sep 2022 14:07:52 GMT
expires: Mon, 12 Sep 2022 14:07:52 GMT
cache-control: private, max-age=900
last-modified: Mon, 12 Sep 2022 12:00:00 GMT
strict-transport-security: max-age=31536000; includeSubDomains
cross-origin-resource-policy: cross-origin
server: Google Tag Manager
content-length: 37756
x-xss-protection: 0
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   38438
Md5:    d1c471ea1d0727d044457ca98aaea22d
Sha1:   4a1bcfb3122ac3e8292bee4d8bd03bbde3480bd5
Sha256: b2986e4c7760daf0ab4faf2e0476ed1d30d8c96bb43b9dcdfdce0a97bc54e2d1
                                        
                                            GET /gtm.js?id=GTM-MDKJT8 HTTP/1.1 
Host: www.googletagmanager.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.72
HTTP/2 200 OK
content-type: application/javascript; charset=UTF-8
                                        
access-control-allow-origin: *
access-control-allow-credentials: true
access-control-allow-headers: Cache-Control
content-encoding: br
vary: Accept-Encoding
date: Mon, 12 Sep 2022 14:07:52 GMT
expires: Mon, 12 Sep 2022 14:07:52 GMT
cache-control: private, max-age=900
last-modified: Mon, 12 Sep 2022 12:00:00 GMT
strict-transport-security: max-age=31536000; includeSubDomains
cross-origin-resource-policy: cross-origin
server: Google Tag Manager
content-length: 38931
x-xss-protection: 0
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1820)
Size:   38931
Md5:    064e5f16bf6eac6c2539b1fa46abdfb7
Sha1:   6a1026e06a02386378591fb078074459d22645eb
Sha256: 7b29e822705cea32810030f65ef22f523487a883b750bb765b92f9dfb6f94a2d
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "0DF3E584D191454E815427E4CEEFA22592DFF1880B3FF50EA476A5FF37DB9813"
Last-Modified: Sat, 10 Sep 2022 03:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=18131
Expires: Mon, 12 Sep 2022 19:10:03 GMT
Date: Mon, 12 Sep 2022 14:07:52 GMT
Connection: keep-alive

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Mon, 12 Sep 2022 14:07:52 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /npc/sdk/wp-banners.js HTTP/1.1 
Host: js.wpadmngr.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.24
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Mon, 12 Sep 2022 14:07:52 GMT
content-length: 0
server: nginx/1.18.0
last-modified: Fri, 20 Aug 2021 15:14:31 GMT
etag: "611fc6d7-0"
expires: Mon, 12 Sep 2022 14:12:52 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2

                                        
                                            GET /ads.js HTTP/1.1 
Host: a.realsrv.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         205.185.216.10
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Mon, 12 Sep 2022 14:07:53 GMT
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 974
Accept-Ranges: bytes
Cache-Control: max-age=10800
Server: nginx
etag: W/"f4fddb85b686269b678e3caf766"
X-HW: 1662991673.dop003.sk1.t,1662991673.cds247.sk1.shn,1662991673.cds247.sk1.c
Access-Control-Allow-Origin: *, *


--- Additional Info ---
Magic:  ASCII text, with very long lines (2475), with no line terminators
Size:   974
Md5:    f2e9f79e4bd643ca1264fca98531c71e
Sha1:   7acaa14a18676a38bdc3043d0e016e8cfacb275a
Sha256: db8cf84b422102aa8bc89c36a569921dc69ed556703a96ca44434d2fe98af57b
                                        
                                            GET /s/sourcesanspro/v21/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2 HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://txxx.com
Connection: keep-alive
Referer: https://fonts.googleapis.com/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         142.250.74.163
HTTP/2 200 OK
content-type: font/woff2
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 13036
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Wed, 07 Sep 2022 19:26:57 GMT
expires: Thu, 07 Sep 2023 19:26:57 GMT
cache-control: public, max-age=31536000
age: 412856
last-modified: Wed, 27 Apr 2022 16:04:42 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format (Version 2), TrueType, length 13036, version 1.0\012- data
Size:   13036
Md5:    0ad032b3d07aaf33b160ac4799dda40f
Sha1:   06b931e0d0bf37f5037d9e66d6feedfddd21c0ba
Sha256: c124c88ca4fcb4336e97617647ef0d32441329371120c8eabaea0fea226560b0
                                        
                                            GET /videos/6801436/lesbian-granny2/?promo=38830 HTTP/1.1 
Host: txxx.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://26porn.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         104.21.234.41
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Mon, 12 Sep 2022 14:07:52 GMT
vary: Accept-Encoding
x-powered-by: PHP/7.2.34
access-control-allow-origin: *
set-cookie: source=38830; expires=Tue, 12-Sep-2023 19:56:38 GMT; Max-Age=31556926; path=/; domain=txxx.com tccloak=1; expires=Mon, 12-Sep-2022 15:07:52 GMT; Max-Age=3600; path=/; domain=txxx.com kt_lang=en; expires=Thu, 07-Sep-2023 14:07:52 GMT; Max-Age=31104000; path=/; domain=.txxx.com
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=lD2scV6K8vghehqVe%2BLd6GMPqHanK3YG2b0ZRdJN%2F2Ep%2BR0GdkCnaoTPjDDcnAmFLVv%2FDS6YJQl29OGTxSoDHwBHvprnR08aGqylnJGK0%2Bi0Hk%2Fmh3ISukPzKg%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 749936411b95744f-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document text\012- exported SGML document, Unicode text, UTF-8 text, with very long lines (20662)
Size:   31903
Md5:    9c6001399c652e71728707d544c82e07
Sha1:   e6d650018212fe284c8f7ef8c06ccd75af12010c
Sha256: 205b3dac7bb8908a53061918546a0b36633fe86ef5ea45d8d2fe92063eca969f
                                        
                                            GET /watch/90042565?wmode=7&page-url=https%3A%2F%2F26porn.com%2Fno%2F&charset=utf-8&browser-info=pv%3A1%3Agdpr%3A14%3Avf%3A62hjjpdks93ktul5nsnaw%3Afp%3A1048%3Afu%3A0%3Aen%3Autf-8%3Ala%3Aen-US%3Av%3A893%3Acn%3A1%3Adp%3A0%3Als%3A836491831225%3Ahid%3A1018856406%3Az%3A0%3Ai%3A20220912140741%3Aet%3A1662991661%3Ac%3A1%3Arn%3A168095562%3Arqn%3A1%3Au%3A1662991661964561578%3Aw%3A1268x939%3As%3A1280x1024x24%3Ask%3A1%3Ans%3A1662991659167%3Aco%3A0%3Awv%3A2%3Ads%3A0%2C0%2C61%2C0%2C437%2C0%2C%2C554%2C78%2C%2C%2C%2C1078%3Afip%3Aa81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-4335742423629acc806791d3e9f585f3-5b56a9f28e63b1a76c5f94a136cc484e-61b9878bbce18de73aafc8582a198c0c-e9c964637c807fcca817e718cc2d1338-a81f3b9bcdd80a361c14af38dc09b309-c6d7b47b2dcff33f80cab17f3a360d0b-2facd2c41a0047c68391f933b930bc3a%3Arqnl%3A1%3Ast%3A1662991661%3At%3A26porn.com%20-%20my%20best%20free%20porn%20videos.%20Daily%20updated.&t=gdpr(14)clc(0-0-0)aw(1)rqnt(1)fip(1)rqnl(1)ti(2) HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://26porn.com
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         93.158.134.119
HTTP/2 302 Found
                                        
location: /watch/90042565/1?wmode=7&page-url=https%3A%2F%2F26porn.com%2Fno%2F&charset=utf-8&browser-info=pv%3A1%3Agdpr%3A14%3Avf%3A62hjjpdks93ktul5nsnaw%3Afp%3A1048%3Afu%3A0%3Aen%3Autf-8%3Ala%3Aen-US%3Av%3A893%3Acn%3A1%3Adp%3A0%3Als%3A836491831225%3Ahid%3A1018856406%3Az%3A0%3Ai%3A20220912140741%3Aet%3A1662991661%3Ac%3A1%3Arn%3A168095562%3Arqn%3A1%3Au%3A1662991661964561578%3Aw%3A1268x939%3As%3A1280x1024x24%3Ask%3A1%3Ans%3A1662991659167%3Aco%3A0%3Awv%3A2%3Ads%3A0%2C0%2C61%2C0%2C437%2C0%2C%2C554%2C78%2C%2C%2C%2C1078%3Afip%3Aa81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-4335742423629acc806791d3e9f585f3-5b56a9f28e63b1a76c5f94a136cc484e-61b9878bbce18de73aafc8582a198c0c-e9c964637c807fcca817e718cc2d1338-a81f3b9bcdd80a361c14af38dc09b309-c6d7b47b2dcff33f80cab17f3a360d0b-2facd2c41a0047c68391f933b930bc3a%3Arqnl%3A1%3Ast%3A1662991661%3At%3A26porn.com%20-%20my%20best%20free%20porn%20videos.%20Daily%20updated.&t=gdpr%2814%29clc%280-0-0%29aw%281%29rqnt%281%29fip%281%29rqnl%281%29ti%282%29
date: Mon, 12 Sep 2022 14:07:53 GMT
access-control-allow-origin: https://26porn.com
set-cookie: yandexuid=9271057991662991673; Expires=Tue, 12-Sep-2023 14:07:53 GMT; Domain=.yandex.ru; Path=/; SameSite=None; Secure yuidss=9271057991662991673; Expires=Tue, 12-Sep-2023 14:07:53 GMT; Domain=.yandex.ru; Path=/; SameSite=None; Secure yabs-sid=211402071662991673; Path=/; SameSite=None; Secure i=h3MYwbUlH7gTRUQCgY9wNNiDu2bzUW3DGd3EBIRSkWkjOPGCUToeZY8sORDvp/zWPvSej0+igJxR51LjVyOeU/ePH+8=; Expires=Thu, 09-Sep-2032 14:07:48 GMT; Domain=.yandex.ru; Path=/; Secure; HttpOnly; SameSite=None ymex=1694527673.yrts.1662991673#1694527673.yrtsi.1662991673; Expires=Tue, 12-Sep-2023 14:07:53 GMT; Domain=.yandex.ru; Path=/; SameSite=None; Secure
access-control-allow-credentials: true
pragma: no-cache
x-xss-protection: 1; mode=block
expires: Mon, 12-Sep-2022 14:07:53 GMT
last-modified: Mon, 12-Sep-2022 14:07:53 GMT
cache-control: private, no-cache, no-store, must-revalidate, max-age=0
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (407), with no line terminators
Size:   407
Md5:    a8905ae62aa1d15db89a0feb93d84abb
Sha1:   b3bb3148876f31c413e8cba822836b72621797fb
Sha256: 39bad2f3d837f054bd7b5b850410a685c7fe0f795aca1ca1d2c9feca31f96d40
                                        
                                            GET /ads-iframe-display.php?idzone=693921&output=noscript&type=300x250 HTTP/1.1 
Host: syndication.realsrv.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         95.211.229.246
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
                                        
Server: nginx
Date: Mon, 12 Sep 2022 14:07:53 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%22631f3d39a2b426.224456882211828970%22%3B%7D; expires=Wed, 11 Sep 2024 14:07:53 GMT; path=; domain=.realsrv.com; Secure; SameSite=none impressions=mxmssbsanxgxaraaxosbageicxbmsboenxgxaaolslxoxgeialeblerenxgxarmeomobrgeimxmbasacnxgxaraaoasaageicxbmsbcenxgxaaobbmllageialeblecenxgxaralsbsaxgeimxmbasmbnxgxaraaolroageioslmrxbrnxgxaaolmooxmgeicxbmsbocnxgxaaolmecsogeimsclxcabnxgxaramcssbcgeicxbmsbxcnxgxaaolmooxmgeialbserxenxgxaaolmecsogeioslmrxlrnxgxaaolmecsogeimscamxrbnxgxaramxrbclgeimsclxreenxgxaramcssbcgeimxmssbrenxgxaramcsmccgeicraxcrebnxgxarmcrsxcxgeislsarosxnxgxaaolmooxmgeicmexsleonxgxarabcxolegeioslmrxbmnxgxaaoammamegeirsxcecsenxgxarabbcraxgeialbserebnxgxaaoomcaccgeioslmroemnxgxaaolorraogeicmexsblcnxgxarmrcmolageiaaoboxbonxgxaralmcosrgeiamxmbxbonxgxaralsbsolgeimscamxccnxgxaralsbsaxgeiaaoabboonxgxarmeomobrgeislsaroornxgxaaobbmllageimooxbxeanxgxarmescrbbgeirsxcecsbnxgxarmelblebgeicmexslxcnxgxarmcbccrbgeicraxcrocnxgxarmsoerxxgeicraxcclanxgxarmxmcmmcgeicmexslecnxgxarmsembabgeicraxcreanxgxarmaarabageirsxcecccnxgxarmoocmexgeicraxcrxanxgxarmarlrxmgeialbserxonxgxaaoobreargeimcelelronxgxarbsrmlaageirsxcecxanxgxarbccmbcsgeirbabxabbnxgxaaoleroccgeicmeecrxcnxgxarmbexrmogeicmeecclonxgxarmorasemgeialbsereanxgxaaxsosbblgeicmexslxonxgxarmcxcaregeicaxsscmbnxgxaaoblroaegeicmeexcaenxgxarmcxsxcageimcelelrcnxgxarmcxsxcageimcelelcenxgxarmcxsxcageimcoexclonxgxarmcxsxcageialbserecnxgxaaocxaaalgeicmeeccbcnxgxarmcarxemgeicmexsblenxgxarmarlrxmgeimcoexaabnxgxaaeosmmecgeimcoexasbnxgxaaeosmmecgeicmeecrecnxgxarmrxsamageicraxcroonxgxarmrasloageicmexrxxonxgxarmaarabageimcoexaxonxgxarbblarblgeicaormbbenxgxarlexsrrageimcebllronxgxarmarlrxmgeirbabxalenxgxarmabbsmmgeicraxcroenxgxarmbexrmogeirsxcecsonxgxarmbrrcsegeimcoexxlonxgxarbsasblxgeimcoexasanxgxaaoecxelogeiroeaablbnxgxarlrlxmeegeimcoexarenxgxarlcbxlxageimcoexabbnxgxarbxeocasgeimcoexrlonxgxarbblarblgeimooxbelbnxgxarbexxealgeirsxcecebnxgxarbsasblxgeimcoexrlcnxgxarlcbxlxageimcoexaaanxgxarlcbxlxageirsxcecxenxgxarbxxxolxgeiraaoxbbcnxgxarbellsrxgeimcelelcanxgxaaxarbxxegeioslmrxlsnxgxaaoblaceageicaormbmanxgxaaxxlcxbmgeicaormlxcnxgxarbobbbbmgeicaormbbanxgxaaeoxexsxgeicaormlxanxgxaaoaaxmbcgeimcelelranxgxarbsrmlaageimcersrocnxgxarbsasblxgeimcoexaxcnxgxarbcslxbcgeisaeeasslnxgxaaoomsarogeimcersxbenxgxaaxacacesgeimcersxacnxgxarbroammrgeicaormloenxgxaaeoxexsxgeimcersoeenxgxarbroammrgeimcelelaanxgxarbrboxregeimcelelbenxgxarbrboxregeimcoexaxbnxgxaaoecxelogeimcoexamenxgxarbblarblgeimcoexabanxgxarbblarblgeimcoexacanxgxarbblarblgeimcoexaoonxgxarblslrsxgeimcclsxbcnxgxaaeosmmecgeimcclsoeonxgxaaoblaceageicaormleanxgxaaxxemrecgeimcclsebcnxgxarlexorssgeimcclsxmenxgxaaeoaolesgeimcclossbnxgxaaelalbbbgeimcclsxlenxgxaaoblroaegeimcclsxsonxgxaaexxllbrgeimcclsxxcnxgxaaosrmroegeimcclsxlanxgxaaemmeambgeimcclsxscnxgxaaolmecsogeicaormbmbnxgxaaemaolsbgeimcclselcnxgxarleomllegeimccloscenxgxaaorormsbgeimcclsxaanxgxarlesreebgeimcclselanxgxaaebsleobgeimcclsebbnxgxarlcbxlxageicaormbmcnxgxarloeaexageicaormlxonxgxarlmbxoosgeiclsmrrrenxgxarloalasrgeiclsmarcanxgxarloalasrgeiclsmrbronxgxarloalasrgeimcclsxronxgxaaxarbxxegeimcclsxmanxgxaaexxsoasgeimcclossanxgxaaexxllbrgeimcclsxaonxgxaaosrmxxbgeimcoexasonxgxarlcbxlxageimcclsxabnxgxarlreooaageimcclosscnxgxaaoxbsallgeimcclsxlbnxgxaaomexxrcgeimcclsxbbnxgxarlalasssgeicaormbbonxgxaaeoxexsxgeimcclsxcanxgxaaxxcmeaegeimcclsxmbnxgxaaeebrxsegeimcclsxxonxgxaaxobsolageimcclsxsbnxgxaaomexxrcgeimcclsxcbnxgxaaexxllbrgeimcclsxmonxgxaaexoembogeimcclsxconxgxaaomcaobegeimcclselenxgxaaesmsscageimcclsxmcnxgxaaeosmmecgeimcoexacbnxgxaaoecxelogeimcclsxbanxgxaaeoaolesgeimcclsebanxgxaaesobbblgeimcclsxxanxgxaaesalmmsgeimcclsxacnxgxaaxlcabocgeimcoexcccnxgxaaecebcslgeimcclsxocnxgxaaesmsscageimcclsxbenxgxaaesalmlageimcclsxsenxgxaaeassbmlgeimcclsxrenxgxaaesmsscageimcclosccnxgxaaobxmbecgeimcclsxobnxgxaaorocbaogeimcelelsanxgxaaecebcslgeimcelelmanxgxaaecebcslgeimcclsxlonxgxaaoxbsallgeimcclsxlcnxgxaaolmecsogeimcclosconxgxaaoaassosgeimrerbboanxgxaaemsosmogeicaormlxenxgxaaoamecaegeicaormbbcnxgxaaoamecaegeimrscomecnxgxaaxeeaxaegeimcclsxsanxgxaaosrmxxbgeimcrxsbobnxgxaaosxbcmogeimcoexsacnxgxaaxxcmeaegeimrscomeenxgxaaxsbxmrcgeimrcrbrxenxgxaaxrxelsbgeimcersxlbnxgxaaxacacesgeimcelelrenxgxaaxarbxxegeimrerbbsbnxgxaaoxasxrcgeimrerbbccnxgxaaoeemarogeimrerbmlenxgxaaxlocooageimccloscanxgxaaomcaobegeimrerbmlanxgxaaoeemarogeiclsmrbocnxgxaaooxbxsrgeiclsmrrccnxgxaaooxbxsrgeiclsmrmocnxgxaaooxbxsrgeiccmblmmonxgxaaolorraogeiccmblmmbnxgxaaolmecsogeiccmblmmanxgxaaobbcxrlgeimcoexaebnxgxaaosrmxxbgeimcclsxoanxgxaaosrmroegeircsxcxscnxgxaaoslesrogeiccmblmmcnxgxaaolscxasgeimreaobscnxgxaaoroaslegeimreaobeanxgxaaoroaslegeimreaoboonxgxaaoroaslegeimrerbbxenxgxaaoaxomcxgeimxxerrebnxgxaaoleraslgxcceimrcaeesbnbgxaaolemrblgxcceimraaslbenxgxaaolebcssgxcceimrsreamonogxaaolelbrbgxcceimrxaaxxbnxgxaaolxrrrmgxcceimclobexbnogxaaoloerxrgxcceimrrasxmcnxgxaaoloerxrgxcceimrracoranxgxaaoloerxagxcceimrrascmbnxgxaaoloealsgxcceimxlbmoconogxaaoloealsgxcceimxeoxsbenrgxaaoloealsgxcceimclobeoenxgxaaoloseomgxcceialcaercenxgxaaoloseomgxcceimrrascmenxgxaaoloseomgxcceimxlbmoscnogxaaoloscclgxcceialbbebsanxgxaaoloscclgxcceialxosmbanxgxaaoloscclgxcceimrrasxbenogxaaoloscregxcceimrrascaanxgxaaolocscbgxcceimxlbalscnogxaaolocscbgxcceimemlxmcbnxgxaaolocroxgxcceimrcscosbnxgxaaolocroxgxcceimrrasxmanxgxaaoloallrgxcceimrrascmonxgxaaolseerlgxcceimrrasxmbnogxaaolseerlgxcceimrxccosancgxaaolseeasgxcceimrxccosbncgxaaolseeasgxcceimrxccosencgxaaolseeasgxcceimxeoclbanogxaaolseeasgxcceimrrasxmonxgxaaolseeasgxcceimrxccosoncgxaaolseeacgxcceimccoarrenxgxaaolseeacgxcceixaoosscrnxgxaaolseeacgxcceimememseonogxaaolseeacgxcceimrracorcnxgxaaolseeacgxcceimeembesonxgxaaolsearsgxcceimrmaobxanogxaaolsearsgxcceimememsecnxgxaaolsearsgxcceicmarxbbonsgxaaolsearsgxcceirreacmsbnxgxaaolsellrgxcceimrcscrsanxgxaaolsellrgxcceimclxlloanogxaaolsxemsgxcceimrmaoboenogxaaolsxemsgxcceimrmaobxbnogxaaolsxemsgxcceimrsreaabnsgxaaolsxcssgxcceimxlbmxlcnogxaaolscxasgxcceimorolaronxgxaaolscxasgxcceimxlbmosenogxaaolsmmsxgxcceimemlxbocnxgxaaolsbrcagxcceimrrascmanxgxaaolsbrcagxcceimxeoxsacnrgxaaolsbrcagxcceimxxerrxenxgxaaolsbrcagxcceialaroxrcnxgxaaolsleobgxcceimrrascmcnxgxaaolslxoxgxcceimxlbmxlenogxaaolslxoxgxcceimrcaoaoanrgxaaolslxoxgxcceicloaxxaanxgxaaolslsexgxcceimrracorbnxgxaaolslseogxcceimxomsmconogxaaolslseogxcceicloaxxacnxgxaaolslsragxcceimrracoaenxgxaaolslsrmgxcceicloaecoanxgxaaolslsrmgxcceimeelaclanxegxaaolslmmbgxcceimxlbmxbbnogxaaolcescsgxcceicloaecocnxgxaaolcescsgxcceircleeobonxgxaaolcolamgxcceicloaecoenxgxaaolcolabgxcceiaaxcabaonxgxaaolcscsmgxcceimrsreamcnsgxaaolcaoaxgxcceimxreaomcnxgxaaolcaaamgxcceimrsreabonsgxaaolcalorgxcceimrrascaenxgxaaolcmxbsgxcceimrsreamensgxaaolcbllxgxcceimeelaclonrgxaaolclesrgxcceicloaxxabnxgxaaolcloxsgxcceimrmxcesenxgxaaolcloxcgxcceimrrasxbonxgxaaolclcmxgxcceimclsaoxbncgxaaolclcmxgxcceimrmaxasanxgxaaolrxlrxgxcceimrmaxascnxgxaaolroorrgxcceimcoaxmxcncgxaaolrosxmgxcceicloaxxmonxgxaaolrormrgxcceimxlbmosanogxaaolrormrgxcceimrsreambnsgxaaolroascgxcceimrmaxasonxgxaaolroascgxcceimeelarecnogxaaolrombrgxcceimeelareanogxaaolrombrgxcceimrmaxasenxgxaaolrcrlagxcceialbbebsbnxgxaaolrrcamgxcceimcssmlronsgxaaolrrcamgxcceimrrascacnxgxaaolrarsbgxcceimrrasxlenxgxaaolrboxxgxcceimrcscrsonxgxaaolrbobbgxcceiabxoaelonxgxaaolrbasmgxcceiaaserlbenxgxaaolrbasmgxcceimeelaclcnsgxaaolrbasmgxcceimeembescnogxaaolaealsgxcceimcssmlrenrgxaaolaxxargxcceimxlbmoobnogxaaolaxxamgxcceimeembeconxgxaaolaxxamgxcceimellbosonxgxaaolaxmbcgxcceimraaxsxonxgxaaolaxlolgxcceimraaxsxenxgxaaolaxlolgxcceimraaxsocnxgxaaolaxlolgxcceimxlbalcenogxaaolaxlolgxcceimxlbalsbnogxaaolaxlolgxcceicloaxxmenxgxaaolaorbogxcceimxeemblenogxaaolaorbsgxcceiraclralcnxgxaaolasesxgxcceimraeecxanxgxaaolasesxgxcceimrxccoscnogxaaolasbxbgxcceimeelareenxgxaaolasbxbgxcceimxcbrxronxgxaaolacoaegxcceimxcbrxmbnxgxaaolacoaegxcceimsacexoonrgxaaolarccmgxcceiaaxcamlenxgxaaolarcbcgxcceimxxrecsanxgxaaolarcbcgxcceimellboxbnxgxaaolaaeamgxcceimrrascabnxgxaaolmecsogxcceimcssmlrcnsgxaaolmecsogxcceimrsreabenxgxaaolmxbcxgxcceicxexraernxgxaaolmooxbgxcceicsaxemeonxgxaaolmomesgxcceixaoossalnxgxaaolmsrmcgxcceimeembecenxgxaaolmsrmcgxcceialrexeoonxgxaaolmbcrlgxcceimxlbmosonogxaaolmbcaegxcceialbbebrenxgxaaolmbcaegxcceimraeecxbnxgxaaolboaomgxcceimraeelabnxgxaaolbommbgxcceirrmlllronxgxaaolbommbgxcceimrcaoxbanxgxaaolbsabxgxcceialrexexbnogxaaolbcsmogxcceimcoaxmxonogxaaolbcsmogxcceimraeelaanxgxaaolbcsmogxcceimxomsmsbnxgxaaolblaxagxcceimxomosbcnxgxaaolblaxmgxcceimxomoxronxgxaaolblaxmgxcceimxlbmxlonxgxaaolblaxbgxcceimxcbrxaonxgxaaollxsexgxcceimxcbrxscnxgxaaollxsexgxcceicxxolxlmnxgxaaollxseogxcceicxxoloesnxgxaaollxseogxcceiaaserlmbnxgxaaollxamsgxcce; expires=Tue, 13 Sep 2022 14:07:53 GMT; path=/; domain=.realsrv.com; Secure; SameSite=none
X-Robots-Tag: noindex, follow
Content-Encoding: gzip


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document, ASCII text, with very long lines (1208)
Size:   1288
Md5:    ca723f89cc799c9c469f51112b01583c
Sha1:   b1ac64db7a7a343463a2b9e19f51da4ed1a5e0af
Sha256: 87f6c0319f46edfbaaf0974e0c80829e478db7c97c61dcb884e0ed3cc2e09486
                                        
                                            GET /ads-iframe-display.php?idzone=693925&output=noscript&type=300x250 HTTP/1.1 
Host: syndication.realsrv.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         95.211.229.246
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
                                        
Server: nginx
Date: Mon, 12 Sep 2022 14:07:53 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A32%3A%22631f3d39a1f021.36992338729755164%22%3B%7D; expires=Wed, 11 Sep 2024 14:07:53 GMT; path=; domain=.realsrv.com; Secure; SameSite=none impressions=mxmssbsanxgxaraaxosbageicxbmsboenxgxaaolslxoxgeialeblerenxgxarmeomobrgeimxmbasacnxgxaraaoasaageicxbmsbcenxgxaaobbmllageialeblecenxgxaralsbsaxgeimxmbasmbnxgxaraaolroageioslmrxbrnxgxaaolmooxmgeicxbmsbocnxgxaaolmecsogeimsclxcabnxgxaramcssbcgeicxbmsbxcnxgxaaolmooxmgeialbserxenxgxaaolmecsogeioslmrxlrnxgxaaolmecsogeimscamxrbnxgxaramxrbclgeimsclxreenxgxaramcssbcgeimxmssbrenxgxaramcsmccgeicraxcrebnxgxarmcrsxcxgeislsarosxnxgxaaolmooxmgeicmexsleonxgxarabcxolegeioslmrxbmnxgxaaoammamegeirsxcecsenxgxarabbcraxgeialbserebnxgxaaoomcaccgeioslmroemnxgxaaolorraogeicmexsblcnxgxarmrcmolageiaaoboxbonxgxaralmcosrgeiamxmbxbonxgxaralsbsolgeimscamxccnxgxaralsbsaxgeiaaoabboonxgxarmeomobrgeislsaroornxgxaaobbmllageimooxbxeanxgxarmescrbbgeirsxcecsbnxgxarmelblebgeicmexslxcnxgxarmcbccrbgeicraxcrocnxgxarmsoerxxgeicraxcclanxgxarmxmcmmcgeicmexslecnxgxarmsembabgeicraxcreanxgxarmaarabageirsxcecccnxgxarmoocmexgeicraxcrxanxgxarmarlrxmgeialbserxonxgxaaoobreargeimcelelronxgxarbsrmlaageirsxcecxanxgxarbccmbcsgeirbabxabbnxgxaaoleroccgeicmeecrxcnxgxarmbexrmogeicmeecclonxgxarmorasemgeialbsereanxgxaaxsosbblgeicmexslxonxgxarmcxcaregeicaxsscmbnxgxaaoblroaegeicmeexcaenxgxarmcxsxcageimcelelrcnxgxarmcxsxcageimcelelcenxgxarmcxsxcageimcoexclonxgxarmcxsxcageialbserecnxgxaaocxaaalgeicmeeccbcnxgxarmcarxemgeicmexsblenxgxarmarlrxmgeimcoexaabnxgxaaeosmmecgeimcoexasbnxgxaaeosmmecgeicmeecrecnxgxarmrxsamageicraxcroonxgxarmrasloageicmexrxxonxgxarmaarabageimcoexaxonxgxarbblarblgeicaormbbenxgxarlexsrrageimcebllronxgxarmarlrxmgeirbabxalenxgxarmabbsmmgeicraxcroenxgxarmbexrmogeirsxcecsonxgxarmbrrcsegeimcoexxlonxgxarbsasblxgeimcoexasanxgxaaoecxelogeiroeaablbnxgxarlrlxmeegeimcoexarenxgxarlcbxlxageimcoexabbnxgxarbxeocasgeimcoexrlonxgxarbblarblgeimooxbelbnxgxarbexxealgeirsxcecebnxgxarbsasblxgeimcoexrlcnxgxarlcbxlxageimcoexaaanxgxarlcbxlxageirsxcecxenxgxarbxxxolxgeiraaoxbbcnxgxarbellsrxgeimcelelcanxgxaaxarbxxegeioslmrxlsnxgxaaoblaceageicaormbmanxgxaaxxlcxbmgeicaormlxcnxgxarbobbbbmgeicaormbbanxgxaaeoxexsxgeicaormlxanxgxaaoaaxmbcgeimcelelranxgxarbsrmlaageimcersrocnxgxarbsasblxgeimcoexaxcnxgxarbcslxbcgeisaeeasslnxgxaaoomsarogeimcersxbenxgxaaxacacesgeimcersxacnxgxarbroammrgeicaormloenxgxaaeoxexsxgeimcersoeenxgxarbroammrgeimcelelaanxgxarbrboxregeimcelelbenxgxarbrboxregeimcoexaxbnxgxaaoecxelogeimcoexamenxgxarbblarblgeimcoexabanxgxarbblarblgeimcoexacanxgxarbblarblgeimcoexaoonxgxarblslrsxgeimcclsxbcnxgxaaeosmmecgeimcclsoeonxgxaaoblaceageicaormleanxgxaaxxemrecgeimcclsebcnxgxarlexorssgeimcclsxmenxgxaaeoaolesgeimcclossbnxgxaaelalbbbgeimcclsxlenxgxaaoblroaegeimcclsxsonxgxaaexxllbrgeimcclsxxcnxgxaaosrmroegeimcclsxlanxgxaaemmeambgeimcclsxscnxgxaaolmecsogeicaormbmbnxgxaaemaolsbgeimcclselcnxgxarleomllegeimccloscenxgxaaorormsbgeimcclsxaanxgxarlesreebgeimcclselanxgxaaebsleobgeimcclsebbnxgxarlcbxlxageicaormbmcnxgxarloeaexageicaormlxonxgxarlmbxoosgeiclsmrrrenxgxarloalasrgeiclsmarcanxgxarloalasrgeiclsmrbronxgxarloalasrgeimcclsxronxgxaaxarbxxegeimcclsxmanxgxaaexxsoasgeimcclossanxgxaaexxllbrgeimcclsxaonxgxaaosrmxxbgeimcoexasonxgxarlcbxlxageimcclsxabnxgxarlreooaageimcclosscnxgxaaoxbsallgeimcclsxlbnxgxaaomexxrcgeimcclsxbbnxgxarlalasssgeicaormbbonxgxaaeoxexsxgeimcclsxcanxgxaaxxcmeaegeimcclsxmbnxgxaaeebrxsegeimcclsxxonxgxaaxobsolageimcclsxsbnxgxaaomexxrcgeimcclsxcbnxgxaaexxllbrgeimcclsxmonxgxaaexoembogeimcclsxconxgxaaomcaobegeimcclselenxgxaaesmsscageimcclsxmcnxgxaaeosmmecgeimcoexacbnxgxaaoecxelogeimcclsxbanxgxaaeoaolesgeimcclsebanxgxaaesobbblgeimcclsxxanxgxaaesalmmsgeimcclsxacnxgxaaxlcabocgeimcoexcccnxgxaaecebcslgeimcclsxocnxgxaaesmsscageimcclsxbenxgxaaesalmlageimcclsxsenxgxaaeassbmlgeimcclsxrenxgxaaesmsscageimcclosccnxgxaaobxmbecgeimcclsxobnxgxaaorocbaogeimcelelsanxgxaaecebcslgeimcelelmanxgxaaecebcslgeimcclsxlonxgxaaoxbsallgeimcclsxlcnxgxaaolmecsogeimcclosconxgxaaoaassosgeimrerbboanxgxaaemsosmogeicaormlxenxgxaaoamecaegeicaormbbcnxgxaaoamecaegeimrscomecnxgxaaxeeaxaegeimcclsxsanxgxaaosrmxxbgeimcrxsbobnxgxaaosxbcmogeimcoexsacnxgxaaxxcmeaegeimrscomeenxgxaaxsbxmrcgeimrcrbrxenxgxaaxrxelsbgeimcersxlbnxgxaaxacacesgeimcelelrenxgxaaxarbxxegeimrerbbsbnxgxaaoxasxrcgeimrerbbccnxgxaaoeemarogeimrerbmlenxgxaaxlocooageimccloscanxgxaaomcaobegeimrerbmlanxgxaaoeemarogeiclsmrbocnxgxaaooxbxsrgeiclsmrrccnxgxaaooxbxsrgeiclsmrmocnxgxaaooxbxsrgeiccmblmmonxgxaaolorraogeiccmblmmbnxgxaaolmecsogeiccmblmmanxgxaaobbcxrlgeimcoexaebnxgxaaosrmxxbgeimcclsxoanxgxaaosrmroegeircsxcxscnxgxaaoslesrogeiccmblmmcnxgxaaolscxasgeimreaobscnxgxaaoroaslegeimreaobeanxgxaaoroaslegeimreaoboonxgxaaoroaslegeimrerbbxenxgxaaoaxomcxgeimxxerrebnxgxaaoleraslgxcceimrcaeesbnbgxaaolemrblgxcceimraaslbenxgxaaolebcssgxcceimrsreamonogxaaolelbrbgxcceimrxaaxxbnxgxaaolxrrrmgxcceimclobexbnogxaaoloerxrgxcceimrrasxmcnxgxaaoloerxrgxcceimrracoranxgxaaoloerxagxcceimrrascmbnxgxaaoloealsgxcceimxlbmoconogxaaoloealsgxcceimxeoxsbenrgxaaoloealsgxcceimclobeoenxgxaaoloseomgxcceialcaercenxgxaaoloseomgxcceimrrascmenxgxaaoloseomgxcceimxlbmoscnogxaaoloscclgxcceialbbebsanxgxaaoloscclgxcceialxosmbanxgxaaoloscclgxcceimrrasxbenogxaaoloscregxcceimrrascaanxgxaaolocscbgxcceimxlbalscnogxaaolocscbgxcceimemlxmcbnxgxaaolocroxgxcceimrcscosbnxgxaaolocroxgxcceimrrasxmanxgxaaoloallrgxcceimrrascmonxgxaaolseerlgxcceimrrasxmbnogxaaolseerlgxcceimrxccosancgxaaolseeasgxcceimrxccosbncgxaaolseeasgxcceimrxccosencgxaaolseeasgxcceimxeoclbanogxaaolseeasgxcceimrrasxmonxgxaaolseeasgxcceimrxccosoncgxaaolseeacgxcceimccoarrenxgxaaolseeacgxcceixaoosscrnxgxaaolseeacgxcceimememseonogxaaolseeacgxcceimrracorcnxgxaaolseeacgxcceimeembesonxgxaaolsearsgxcceimrmaobxanogxaaolsearsgxcceimememsecnxgxaaolsearsgxcceicmarxbbonsgxaaolsearsgxcceirreacmsbnxgxaaolsellrgxcceimrcscrsanxgxaaolsellrgxcceimclxlloanogxaaolsxemsgxcceimrmaoboenogxaaolsxemsgxcceimrmaobxbnogxaaolsxemsgxcceimrsreaabnsgxaaolsxcssgxcceimxlbmxlcnogxaaolscxasgxcceimorolaronxgxaaolscxasgxcceimxlbmosenogxaaolsmmsxgxcceimemlxbocnxgxaaolsbrcagxcceimrrascmanxgxaaolsbrcagxcceimxeoxsacnrgxaaolsbrcagxcceimxxerrxenxgxaaolsbrcagxcceialaroxrcnxgxaaolsleobgxcceimrrascmcnxgxaaolslxoxgxcceimxlbmxlenogxaaolslxoxgxcceimrcaoaoanrgxaaolslxoxgxcceicloaxxaanxgxaaolslsexgxcceimrracorbnxgxaaolslseogxcceimxomsmconogxaaolslseogxcceicloaxxacnxgxaaolslsragxcceimrracoaenxgxaaolslsrmgxcceicloaecoanxgxaaolslsrmgxcceimeelaclanxegxaaolslmmbgxcceimxlbmxbbnogxaaolcescsgxcceicloaecocnxgxaaolcescsgxcceircleeobonxgxaaolcolamgxcceicloaecoenxgxaaolcolabgxcceiaaxcabaonxgxaaolcscsmgxcceimrsreamcnsgxaaolcaoaxgxcceimxreaomcnxgxaaolcaaamgxcceimrsreabonsgxaaolcalorgxcceimrrascaenxgxaaolcmxbsgxcceimrsreamensgxaaolcbllxgxcceimeelaclonrgxaaolclesrgxcceicloaxxabnxgxaaolcloxsgxcceimrmxcesenxgxaaolcloxcgxcceimrrasxbonxgxaaolclcmxgxcceimclsaoxbncgxaaolclcmxgxcceimrmaxasanxgxaaolrxlrxgxcceimrmaxascnxgxaaolroorrgxcceimcoaxmxcncgxaaolrosxmgxcceicloaxxmonxgxaaolrormrgxcceimxlbmosanogxaaolrormrgxcceimrsreambnsgxaaolroascgxcceimrmaxasonxgxaaolroascgxcceimeelarecnogxaaolrombrgxcceimeelareanogxaaolrombrgxcceimrmaxasenxgxaaolrcrlagxcceialbbebsbnxgxaaolrrcamgxcceimcssmlronsgxaaolrrcamgxcceimrrascacnxgxaaolrarsbgxcceimrrasxlenxgxaaolrboxxgxcceimrcscrsonxgxaaolrbobbgxcceiabxoaelonxgxaaolrbasmgxcceiaaserlbenxgxaaolrbasmgxcceimeelaclcnsgxaaolrbasmgxcceimeembescnogxaaolaealsgxcceimcssmlrenrgxaaolaxxargxcceimxlbmoobnogxaaolaxxamgxcceimeembeconxgxaaolaxxamgxcceimellbosonxgxaaolaxmbcgxcceimraaxsxonxgxaaolaxlolgxcceimraaxsxenxgxaaolaxlolgxcceimraaxsocnxgxaaolaxlolgxcceimxlbalcenogxaaolaxlolgxcceimxlbalsbnogxaaolaxlolgxcceicloaxxmenxgxaaolaorbogxcceimxeemblenogxaaolaorbsgxcceiraclralcnxgxaaolasesxgxcceimraeecxanxgxaaolasesxgxcceimrxccoscnogxaaolasbxbgxcceimeelareenxgxaaolasbxbgxcceimxcbrxronxgxaaolacoaegxcceimxcbrxmbnxgxaaolacoaegxcceimsacexoonrgxaaolarccmgxcceiaaxcamlenxgxaaolarcbcgxcceimxxrecsanxgxaaolarcbcgxcceimellboxbnxgxaaolaaeamgxcceimrrascabnxgxaaolmecsogxcceimcssmlrcnsgxaaolmecsogxcceimrsreabenxgxaaolmxbcxgxcceicxexraernxgxaaolmooxbgxcceicsaxemeonxgxaaolmomesgxcceixaoossalnxgxaaolmsrmcgxcceimeembecenxgxaaolmsrmcgxcceialrexeoonxgxaaolmbcrlgxcceimxlbmosonogxaaolmbcaegxcceialbbebrenxgxaaolmbcaegxcceimraeecxbnxgxaaolboaomgxcceimraeelabnxgxaaolbommbgxcceirrmlllronxgxaaolbommbgxcceimrcaoxbanxgxaaolbsabxgxcceialrexexbnogxaaolbcsmogxcceimcoaxmxonogxaaolbcsmogxcceimraeelaanxgxaaolbcsmogxcceimxomsmsbnxgxaaolblaxagxcceimxomosbcnxgxaaolblaxmgxcceimxomoxronxgxaaolblaxmgxcceimxlbmxlonxgxaaolblaxbgxcceimxcbrxaonxgxaaollxsexgxcceimxcbrxscnxgxaaollxsexgxcceicxxolxlmnxgxaaollxseogxcceicxxoloesnxgxaaollxseogxcceiaaserlmanxgxaaollxamsgxcce; expires=Tue, 13 Sep 2022 14:07:53 GMT; path=/; domain=.realsrv.com; Secure; SameSite=none
X-Robots-Tag: noindex, follow
Content-Encoding: gzip


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document, ASCII text, with very long lines (1208)
Size:   1285
Md5:    36772e002e67c50ae2837ed2d0747de3
Sha1:   b688e62fb20e87a2df0cdace5b21bff21fc84b52
Sha256: 1573f974b213b0e929209e27decbc18e4cbc433360b113335556bc12f6678bd7
                                        
                                            GET /ads-iframe-display.php?idzone=693913&output=noscript&type=300x250 HTTP/1.1 
Host: syndication.realsrv.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         95.211.229.246
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
                                        
Server: nginx
Date: Mon, 12 Sep 2022 14:07:53 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A31%3A%22631f3d39a162d9.3391773848678130%22%3B%7D; expires=Wed, 11 Sep 2024 14:07:53 GMT; path=; domain=.realsrv.com; Secure; SameSite=none impressions=mxmssbsanxgxaraaxosbageicxbmsboenxgxaaolslxoxgeialeblerenxgxarmeomobrgeimxmbasacnxgxaraaoasaageicxbmsbcenxgxaaobbmllageialeblecenxgxaralsbsaxgeimxmbasmbnxgxaraaolroageioslmrxbrnxgxaaolmooxmgeicxbmsbocnxgxaaolmecsogeimsclxcabnxgxaramcssbcgeicxbmsbxcnxgxaaolmooxmgeialbserxenxgxaaolmecsogeioslmrxlrnxgxaaolmecsogeimscamxrbnxgxaramxrbclgeimsclxreenxgxaramcssbcgeimxmssbrenxgxaramcsmccgeicraxcrebnxgxarmcrsxcxgeislsarosxnxgxaaolmooxmgeicmexsleonxgxarabcxolegeioslmrxbmnxgxaaoammamegeirsxcecsenxgxarabbcraxgeialbserebnxgxaaoomcaccgeioslmroemnxgxaaolorraogeicmexsblcnxgxarmrcmolageiaaoboxbonxgxaralmcosrgeiamxmbxbonxgxaralsbsolgeimscamxccnxgxaralsbsaxgeiaaoabboonxgxarmeomobrgeislsaroornxgxaaobbmllageimooxbxeanxgxarmescrbbgeirsxcecsbnxgxarmelblebgeicmexslxcnxgxarmcbccrbgeicraxcrocnxgxarmsoerxxgeicraxcclanxgxarmxmcmmcgeicmexslecnxgxarmsembabgeicraxcreanxgxarmaarabageirsxcecccnxgxarmoocmexgeicraxcrxanxgxarmarlrxmgeialbserxonxgxaaoobreargeimcelelronxgxarbsrmlaageirsxcecxanxgxarbccmbcsgeirbabxabbnxgxaaoleroccgeicmeecrxcnxgxarmbexrmogeicmeecclonxgxarmorasemgeialbsereanxgxaaxsosbblgeicmexslxonxgxarmcxcaregeicaxsscmbnxgxaaoblroaegeicmeexcaenxgxarmcxsxcageimcelelrcnxgxarmcxsxcageimcelelcenxgxarmcxsxcageimcoexclonxgxarmcxsxcageialbserecnxgxaaocxaaalgeicmeeccbcnxgxarmcarxemgeicmexsblenxgxarmarlrxmgeimcoexaabnxgxaaeosmmecgeimcoexasbnxgxaaeosmmecgeicmeecrecnxgxarmrxsamageicraxcroonxgxarmrasloageicmexrxxonxgxarmaarabageimcoexaxonxgxarbblarblgeicaormbbenxgxarlexsrrageimcebllronxgxarmarlrxmgeirbabxalenxgxarmabbsmmgeicraxcroenxgxarmbexrmogeirsxcecsonxgxarmbrrcsegeimcoexxlonxgxarbsasblxgeimcoexasanxgxaaoecxelogeiroeaablbnxgxarlrlxmeegeimcoexarenxgxarlcbxlxageimcoexabbnxgxarbxeocasgeimcoexrlonxgxarbblarblgeimooxbelbnxgxarbexxealgeirsxcecebnxgxarbsasblxgeimcoexrlcnxgxarlcbxlxageimcoexaaanxgxarlcbxlxageirsxcecxenxgxarbxxxolxgeiraaoxbbcnxgxarbellsrxgeimcelelcanxgxaaxarbxxegeioslmrxlsnxgxaaoblaceageicaormbmanxgxaaxxlcxbmgeicaormlxcnxgxarbobbbbmgeicaormbbanxgxaaeoxexsxgeicaormlxanxgxaaoaaxmbcgeimcelelranxgxarbsrmlaageimcersrocnxgxarbsasblxgeimcoexaxcnxgxarbcslxbcgeisaeeasslnxgxaaoomsarogeimcersxbenxgxaaxacacesgeimcersxacnxgxarbroammrgeicaormloenxgxaaeoxexsxgeimcersoeenxgxarbroammrgeimcelelaanxgxarbrboxregeimcelelbenxgxarbrboxregeimcoexaxbnxgxaaoecxelogeimcoexamenxgxarbblarblgeimcoexabanxgxarbblarblgeimcoexacanxgxarbblarblgeimcoexaoonxgxarblslrsxgeimcclsxbcnxgxaaeosmmecgeimcclsoeonxgxaaoblaceageicaormleanxgxaaxxemrecgeimcclsebcnxgxarlexorssgeimcclsxmenxgxaaeoaolesgeimcclossbnxgxaaelalbbbgeimcclsxlenxgxaaoblroaegeimcclsxsonxgxaaexxllbrgeimcclsxxcnxgxaaosrmroegeimcclsxlanxgxaaemmeambgeimcclsxscnxgxaaolmecsogeicaormbmbnxgxaaemaolsbgeimcclselcnxgxarleomllegeimccloscenxgxaaorormsbgeimcclsxaanxgxarlesreebgeimcclselanxgxaaebsleobgeimcclsebbnxgxarlcbxlxageicaormbmcnxgxarloeaexageicaormlxonxgxarlmbxoosgeiclsmrrrenxgxarloalasrgeiclsmarcanxgxarloalasrgeiclsmrbronxgxarloalasrgeimcclsxronxgxaaxarbxxegeimcclsxmanxgxaaexxsoasgeimcclossanxgxaaexxllbrgeimcclsxaonxgxaaosrmxxbgeimcoexasonxgxarlcbxlxageimcclsxabnxgxarlreooaageimcclosscnxgxaaoxbsallgeimcclsxlbnxgxaaomexxrcgeimcclsxbbnxgxarlalasssgeicaormbbonxgxaaeoxexsxgeimcclsxcanxgxaaxxcmeaegeimcclsxmbnxgxaaeebrxsegeimcclsxxonxgxaaxobsolageimcclsxsbnxgxaaomexxrcgeimcclsxcbnxgxaaexxllbrgeimcclsxmonxgxaaexoembogeimcclsxconxgxaaomcaobegeimcclselenxgxaaesmsscageimcclsxmcnxgxaaeosmmecgeimcoexacbnxgxaaoecxelogeimcclsxbanxgxaaeoaolesgeimcclsebanxgxaaesobbblgeimcclsxxanxgxaaesalmmsgeimcclsxacnxgxaaxlcabocgeimcoexcccnxgxaaecebcslgeimcclsxocnxgxaaesmsscageimcclsxbenxgxaaesalmlageimcclsxsenxgxaaeassbmlgeimcclsxrenxgxaaesmsscageimcclosccnxgxaaobxmbecgeimcclsxobnxgxaaorocbaogeimcelelsanxgxaaecebcslgeimcelelmanxgxaaecebcslgeimcclsxlonxgxaaoxbsallgeimcclsxlcnxgxaaolmecsogeimcclosconxgxaaoaassosgeimrerbboanxgxaaemsosmogeicaormlxenxgxaaoamecaegeicaormbbcnxgxaaoamecaegeimrscomecnxgxaaxeeaxaegeimcclsxsanxgxaaosrmxxbgeimcrxsbobnxgxaaosxbcmogeimcoexsacnxgxaaxxcmeaegeimrscomeenxgxaaxsbxmrcgeimrcrbrxenxgxaaxrxelsbgeimcersxlbnxgxaaxacacesgeimcelelrenxgxaaxarbxxegeimrerbbsbnxgxaaoxasxrcgeimrerbbccnxgxaaoeemarogeimrerbmlenxgxaaxlocooageimccloscanxgxaaomcaobegeimrerbmlanxgxaaoeemarogeiclsmrbocnxgxaaooxbxsrgeiclsmrrccnxgxaaooxbxsrgeiclsmrmocnxgxaaooxbxsrgeiccmblmmonxgxaaolorraogeiccmblmmbnxgxaaolmecsogeiccmblmmanxgxaaobbcxrlgeimcoexaebnxgxaaosrmxxbgeimcclsxoanxgxaaosrmroegeircsxcxscnxgxaaoslesrogeiccmblmmcnxgxaaolscxasgeimreaobscnxgxaaoroaslegeimreaobeanxgxaaoroaslegeimreaoboonxgxaaoroaslegeimrerbbxenxgxaaoaxomcxgeimxxerrebnxgxaaoleraslgxcceimrcaeesbnbgxaaolemrblgxcceimraaslbenxgxaaolebcssgxcceimrsreamonogxaaolelbrbgxcceimrxaaxxbnxgxaaolxrrrmgxcceimclobexbnogxaaoloerxrgxcceimrrasxmcnxgxaaoloerxrgxcceimrracoranxgxaaoloerxagxcceimrrascmbnxgxaaoloealsgxcceimxlbmoconogxaaoloealsgxcceimxeoxsbenrgxaaoloealsgxcceimclobeoenxgxaaoloseomgxcceialcaercenxgxaaoloseomgxcceimrrascmenxgxaaoloseomgxcceimxlbmoscnogxaaoloscclgxcceialbbebsanxgxaaoloscclgxcceialxosmbanxgxaaoloscclgxcceimrrasxbenogxaaoloscregxcceimrrascaanxgxaaolocscbgxcceimxlbalscnogxaaolocscbgxcceimemlxmcbnxgxaaolocroxgxcceimrcscosbnxgxaaolocroxgxcceimrrasxmanxgxaaoloallrgxcceimrrascmonxgxaaolseerlgxcceimrrasxmbnogxaaolseerlgxcceimrxccosancgxaaolseeasgxcceimrxccosbncgxaaolseeasgxcceimrxccosencgxaaolseeasgxcceimxeoclbanogxaaolseeasgxcceimrrasxmonxgxaaolseeasgxcceimrxccosoncgxaaolseeacgxcceimccoarrenxgxaaolseeacgxcceixaoosscrnxgxaaolseeacgxcceimememseonogxaaolseeacgxcceimrracorcnxgxaaolseeacgxcceimeembesonxgxaaolsearsgxcceimrmaobxanogxaaolsearsgxcceimememsecnxgxaaolsearsgxcceicmarxbbonsgxaaolsearsgxcceirreacmsbnxgxaaolsellrgxcceimrcscrsanxgxaaolsellrgxcceimclxlloanogxaaolsxemsgxcceimrmaoboenogxaaolsxemsgxcceimrmaobxbnogxaaolsxemsgxcceimrsreaabnsgxaaolsxcssgxcceimxlbmxlcnogxaaolscxasgxcceimorolaronxgxaaolscxasgxcceimxlbmosenogxaaolsmmsxgxcceimemlxbocnxgxaaolsbrcagxcceimrrascmanxgxaaolsbrcagxcceimxeoxsacnrgxaaolsbrcagxcceimxxerrxenxgxaaolsbrcagxcceialaroxrcnxgxaaolsleobgxcceimrrascmcnxgxaaolslxoxgxcceimxlbmxlenogxaaolslxoxgxcceimrcaoaoanrgxaaolslxoxgxcceicloaxxaanxgxaaolslsexgxcceimrracorbnxgxaaolslseogxcceimxomsmconogxaaolslseogxcceicloaxxacnxgxaaolslsragxcceimrracoaenxgxaaolslsrmgxcceicloaecoanxgxaaolslsrmgxcceimeelaclanxegxaaolslmmbgxcceimxlbmxbbnogxaaolcescsgxcceicloaecocnxgxaaolcescsgxcceircleeobonxgxaaolcolamgxcceicloaecoenxgxaaolcolabgxcceiaaxcabaonxgxaaolcscsmgxcceimrsreamcnsgxaaolcaoaxgxcceimxreaomcnxgxaaolcaaamgxcceimrsreabonsgxaaolcalorgxcceimrrascaenxgxaaolcmxbsgxcceimrsreamensgxaaolcbllxgxcceimeelaclonrgxaaolclesrgxcceicloaxxabnxgxaaolcloxsgxcceimrmxcesenxgxaaolcloxcgxcceimrrasxbonxgxaaolclcmxgxcceimclsaoxbncgxaaolclcmxgxcceimrmaxasanxgxaaolrxlrxgxcceimrmaxascnxgxaaolroorrgxcceimcoaxmxcncgxaaolrosxmgxcceicloaxxmonxgxaaolrormrgxcceimxlbmosanogxaaolrormrgxcceimrsreambnsgxaaolroascgxcceimrmaxasonxgxaaolroascgxcceimeelarecnogxaaolrombrgxcceimeelareanogxaaolrombrgxcceimrmaxasenxgxaaolrcrlagxcceialbbebsbnxgxaaolrrcamgxcceimcssmlronsgxaaolrrcamgxcceimrrascacnxgxaaolrarsbgxcceimrrasxlenxgxaaolrboxxgxcceimrcscrsonxgxaaolrbobbgxcceiabxoaelonxgxaaolrbasmgxcceiaaserlbenxgxaaolrbasmgxcceimeelaclcnsgxaaolrbasmgxcceimeembescnogxaaolaealsgxcceimcssmlrenrgxaaolaxxargxcceimxlbmoobnogxaaolaxxamgxcceimeembeconxgxaaolaxxamgxcceimellbosonxgxaaolaxmbcgxcceimraaxsxonxgxaaolaxlolgxcceimraaxsxenxgxaaolaxlolgxcceimraaxsocnxgxaaolaxlolgxcceimxlbalcenogxaaolaxlolgxcceimxlbalsbnogxaaolaxlolgxcceicloaxxmenxgxaaolaorbogxcceimxeemblenogxaaolaorbsgxcceiraclralcnxgxaaolasesxgxcceimraeecxanxgxaaolasesxgxcceimrxccoscnogxaaolasbxbgxcceimeelareenxgxaaolasbxbgxcceimxcbrxronxgxaaolacoaegxcceimxcbrxmbnxgxaaolacoaegxcceimsacexoonrgxaaolarccmgxcceiaaxcamlenxgxaaolarcbcgxcceimxxrecsanxgxaaolarcbcgxcceimellboxbnxgxaaolaaeamgxcceimrrascabnxgxaaolmecsogxcceimcssmlrcnsgxaaolmecsogxcceimrsreabenxgxaaolmxbcxgxcceicxexraernxgxaaolmooxbgxcceicsaxemeonxgxaaolmomesgxcceixaoossalnxgxaaolmsrmcgxcceimeembecenxgxaaolmsrmcgxcceialrexeoonxgxaaolmbcrlgxcceimxlbmosonogxaaolmbcaegxcceialbbebrenxgxaaolmbcaegxcceimraeecxbnxgxaaolboaomgxcceimraeelabnxgxaaolbommbgxcceirrmlllronxgxaaolbommbgxcceimrcaoxbanxgxaaolbsabxgxcceialrexexbnogxaaolbcsmogxcceimcoaxmxonsgxaaolbcsmogxcceimraeelaanxgxaaolbcsmogxcceimxomsmsbnxgxaaolblaxagxcceimxomosbcnxgxaaolblaxmgxcceimxomoxronxgxaaolblaxmgxcceimxlbmxlonxgxaaolblaxbgxcceimxcbrxaonxgxaaollxsexgxcceimxcbrxscnxgxaaollxsexgxcceicxxolxlmnxgxaaollxseogxcceicxxoloesnxgxaaollxseogxcce; expires=Tue, 13 Sep 2022 14:07:53 GMT; path=/; domain=.realsrv.com; Secure; SameSite=none
X-Robots-Tag: noindex, follow
Content-Encoding: gzip


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document, ASCII text, with very long lines (1208)
Size:   1284
Md5:    2432cdfea11cc9c5bfc5860d9bda210d
Sha1:   029ea4bcfac5a21465ff9005d2db29d929a60a18
Sha256: 9130406d2a1f3e63bbfe206e359ef88cdc7892560f08a5057afbc6758f9e5ec9
                                        
                                            GET /metrika/watch.js HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         93.158.134.119
HTTP/2 200 OK
content-type: application/javascript
                                        
content-length: 57251
date: Mon, 12 Sep 2022 14:07:53 GMT
access-control-allow-origin: *
etag: "63186565-dfa3"
expires: Mon, 12 Sep 2022 15:07:53 GMT
last-modified: Wed, 07 Sep 2022 12:33:25 GMT
cache-control: max-age=3600
content-encoding: br
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 (with BOM) text, with very long lines (557)
Size:   57251
Md5:    1d55754e516a64479901a61dc8a0d136
Sha1:   7c47529b53f613bb2ffac7a32530e8fd594c194b
Sha256: b4e7cd831347d3faeebe62c6e8595fc01804895f0bb5e30a5ceae7b400318649
                                        
                                            GET /metrika/advert.gif HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         93.158.134.119
HTTP/2 200 OK
content-type: image/gif
                                        
content-length: 43
date: Mon, 12 Sep 2022 14:07:53 GMT
access-control-allow-origin: *
etag: "63186565-2b"
expires: Mon, 12 Sep 2022 15:07:53 GMT
accept-ranges: bytes
last-modified: Wed, 07 Sep 2022 12:33:25 GMT
cache-control: max-age=3600
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   43
Md5:    df3e567d6f16d040326c7a0ea29a4f41
Sha1:   ea7df583983133b62712b5e73bffbcd45cc53736
Sha256: 548f2d6f4d0d820c6c5ffbeffcbd7f0e73193e2932eefe542accc84762deec87
                                        
                                            GET /watch/49315045/1?wmode=7&page-url=https%3A%2F%2Ftxxx.com%2Fvideos%2F6801436%2Flesbian-granny2%2F%3Fpromo%3D38830&page-ref=https%3A%2F%2F26porn.com%2F&charset=utf-8&browser-info=pv%3A1%3Agdpr%3A14%3Avf%3A62hjjpdks93ktul5nsnaw%3Afu%3A0%3Aen%3Autf-8%3Ala%3Aen-US%3Av%3A893%3Acn%3A1%3Adp%3A0%3Als%3A1431644613438%3Ahid%3A586249699%3Az%3A0%3Ai%3A20220912140741%3Aet%3A1662991662%3Arn%3A639574616%3Arqn%3A1%3Au%3A1662991662302159802%3Aw%3A1x1%3As%3A1280x1024x24%3Ask%3A1%3Aifr%3A1%3Ans%3A1662991660223%3Aco%3A0%3Awv%3A2%3Ads%3A0%2C0%2C0%2C%2C229%2C0%2C%2C1012%2C0%2C%2C%2C%2C1418%3Afip%3Aa81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-4335742423629acc806791d3e9f585f3-5b56a9f28e63b1a76c5f94a136cc484e-61b9878bbce18de73aafc8582a198c0c-e9c964637c807fcca817e718cc2d1338-a81f3b9bcdd80a361c14af38dc09b309-5cbccea2ed3dd5c7a75380ef1cbfadf6-2facd2c41a0047c68391f933b930bc3a%3Arqnl%3A1%3Ast%3A1662991662%3At%3A-%20Porn%20video%20%7C%20TXXX.com&t=gdpr%2814%29clc%280-0-0%29aw%281%29rqnt%281%29fip%281%29rqnl%281%29ti%282%29 HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://txxx.com
Referer: https://txxx.com/
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         93.158.134.119
HTTP/2 200 OK
content-type: application/json; charset=utf-8
                                        
content-length: 419
date: Mon, 12 Sep 2022 14:07:53 GMT
x-content-type-options: nosniff
access-control-allow-origin: https://txxx.com
access-control-allow-credentials: true
pragma: no-cache
x-xss-protection: 1; mode=block
expires: Mon, 12-Sep-2022 14:07:53 GMT
last-modified: Mon, 12-Sep-2022 14:07:53 GMT
cache-control: private, no-cache, no-store, must-revalidate, max-age=0
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (419), with no line terminators
Size:   419
Md5:    db5534d01f9915cbe8a00db1863992ed
Sha1:   ce3fabc5c95b97d45c96786acb0823e8d8226fbf
Sha256: 960bac24966906369a3ff20b049092d45d421329e2ec432999ff1443ca053f72
                                        
                                            GET /ads-iframe-display.php?idzone=3069158&output=img&type=728x90 HTTP/1.1 
Host: syndication.realsrv.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A31%3A%22631f3d39a162d9.3391773848678130%22%3B%7D
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         95.211.229.246
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
                                        
Server: nginx
Date: Mon, 12 Sep 2022 14:07:54 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A31%3A%22631f3d39a162d9.3391773848678130%22%3B%7D; expires=Wed, 11 Sep 2024 14:07:53 GMT; path=; domain=.realsrv.com; Secure; SameSite=none
X-Robots-Tag: noindex, follow
Content-Encoding: gzip

                                        
                                            GET /watch/23578849/1?wmode=7&page-url=https%3A%2F%2Ftxxx.com%2Fvideos%2F6801436%2Flesbian-granny2%2F%3Fpromo%3D38830&page-ref=https%3A%2F%2F26porn.com%2F&charset=utf-8&browser-info=pv%3A1%3Agdpr%3A14%3Avf%3A62hj1rf2ym17zxi6fwm9k%3Afu%3A0%3Aen%3Autf-8%3Ala%3Aen-US%3Av%3A893%3Acn%3A2%3Adp%3A0%3Als%3A1175310813393%3Ahid%3A586249699%3Az%3A0%3Ai%3A20220912140741%3Aet%3A1662991662%3Arn%3A92052080%3Arqn%3A1%3Au%3A1662991662302159802%3Aw%3A1x1%3As%3A1280x1024x24%3Ask%3A1%3Aifr%3A1%3Ans%3A1662991660223%3Aco%3A0%3Ads%3A0%2C0%2C0%2C%2C229%2C0%2C%2C1012%2C0%2C%2C%2C%2C1418%3Aadb%3A2%3Afip%3Aa81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-4335742423629acc806791d3e9f585f3-5b56a9f28e63b1a76c5f94a136cc484e-61b9878bbce18de73aafc8582a198c0c-e9c964637c807fcca817e718cc2d1338-a81f3b9bcdd80a361c14af38dc09b309-5cbccea2ed3dd5c7a75380ef1cbfadf6-2facd2c41a0047c68391f933b930bc3a%3Arqnl%3A1%3Ast%3A1662991662%3At%3A-%20Porn%20video%20%7C%20TXXX.com&t=gdpr%2814%29clc%280-0-0%29aw%281%29rqnt%281%29fip%281%29rqnl%281%29ti%282%29 HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://txxx.com
Referer: https://txxx.com/
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         93.158.134.119
HTTP/2 200 OK
content-type: application/json; charset=utf-8
                                        
content-length: 400
date: Mon, 12 Sep 2022 14:07:54 GMT
x-content-type-options: nosniff
access-control-allow-origin: https://txxx.com
access-control-allow-credentials: true
pragma: no-cache
x-xss-protection: 1; mode=block
expires: Mon, 12-Sep-2022 14:07:54 GMT
last-modified: Mon, 12-Sep-2022 14:07:54 GMT
cache-control: private, no-cache, no-store, must-revalidate, max-age=0
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (400), with no line terminators
Size:   400
Md5:    09f54786bfae37f7838f9e7785734be1
Sha1:   a35199f0aaf4ee5c646fb3ed11044d1232d8d4f7
Sha256: d7af0a1e023f0fa7b941922928a798c7c3deb83565db04d838da07802424ee69
                                        
                                            GET /ads.js HTTP/1.1 
Host: ads.exoclick.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         205.185.216.10
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 974
Accept-Ranges: bytes
Cache-Control: max-age=10800
Server: nginx
etag: W/"8f3c7314efe500b41baba9f571b"
X-HW: 1662991674.dop213.sk1.t,1662991674.cds231.sk1.shn,1662991674.cds231.sk1.c
Access-Control-Allow-Origin: *, *


--- Additional Info ---
Magic:  ASCII text, with very long lines (2476), with no line terminators
Size:   974
Md5:    92af51b4341a31ff621022c2a648c05e
Sha1:   3761459319128e7349981f338926abcd89ba58e0
Sha256: 6dd1f44f60b3c9584b3d9a54af5348c3fc36c7e13585f593f205ed42a0fa7e9f
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "F27BC8051A23FBE811318B8D49F5D27E3E992962A0E72F5D30A4790FE4F42748"
Last-Modified: Sat, 10 Sep 2022 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4399
Expires: Mon, 12 Sep 2022 15:21:13 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "F27BC8051A23FBE811318B8D49F5D27E3E992962A0E72F5D30A4790FE4F42748"
Last-Modified: Sat, 10 Sep 2022 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4399
Expires: Mon, 12 Sep 2022 15:21:13 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "F27BC8051A23FBE811318B8D49F5D27E3E992962A0E72F5D30A4790FE4F42748"
Last-Modified: Sat, 10 Sep 2022 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4399
Expires: Mon, 12 Sep 2022 15:21:13 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "F27BC8051A23FBE811318B8D49F5D27E3E992962A0E72F5D30A4790FE4F42748"
Last-Modified: Sat, 10 Sep 2022 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4399
Expires: Mon, 12 Sep 2022 15:21:13 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "F27BC8051A23FBE811318B8D49F5D27E3E992962A0E72F5D30A4790FE4F42748"
Last-Modified: Sat, 10 Sep 2022 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4399
Expires: Mon, 12 Sep 2022 15:21:13 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F3a6b50df-cdcd-4b44-9ed3-90a502ea29ad.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 9815
x-amzn-requestid: 89243e57-94eb-4c6b-903f-aa01df030ecc
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YUIxnEAjoAMF_Ig=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631e54d6-199403e2695b214711f5117f;Sampled=0
x-amzn-remapped-date: Sun, 11 Sep 2022 21:36:23 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: PWOeca9JRnIgEymeLVyqTBucBJ0j6OS9Rmqwd4CcAKixqo0zvb452w==
via: 1.1 01c28b52813cd0e82f810c492808b142.cloudfront.net (CloudFront), 1.1 570075675953459325e00b7bcd171df2.cloudfront.net (CloudFront), 1.1 google
date: Sun, 11 Sep 2022 21:48:14 GMT
age: 58780
etag: "48eddcf9838e980e67cc8f9cbb05b475df2f0331"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   9815
Md5:    239262b6ab17cb19414c35cd4f761092
Sha1:   48eddcf9838e980e67cc8f9cbb05b475df2f0331
Sha256: cd27cbce632d769288d9c33c5c8e887ba02df5677f10f7a6d03139b590ba24b4
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F81f9b0a3-fe8f-4665-9e54-9dfaf5d4876b.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 9466
x-amzn-requestid: ba3f7eac-61c9-4b5f-ae8a-b372906a25ba
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YOTeoHMKoAMFr5Q=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631bff90-1e70e2c444242a2d46387986;Sampled=0
x-amzn-remapped-date: Sat, 10 Sep 2022 03:08:00 GMT
x-amz-cf-pop: SEA73-P2
x-cache: Hit from cloudfront
x-amz-cf-id: -SwaUjMInlOaGpH6yK1W1a57QCQMgY-l43RdUfKVtZA1zJzMrLzC6g==
via: 1.1 0aebf3fe433ff96e68d785fad4ea4c0e.cloudfront.net (CloudFront), 1.1 f7283f3fe2c258cf54f8b7d3dd272e0e.cloudfront.net (CloudFront), 1.1 google
date: Mon, 12 Sep 2022 04:04:42 GMT
age: 36192
etag: "05ec2076b32398d60ee77fab8c14345bc7dfe647"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   9466
Md5:    6174529fff57758e958da5432344962f
Sha1:   05ec2076b32398d60ee77fab8c14345bc7dfe647
Sha256: 65284a76355864efa944dff5033575013c6d74a019a7b731e0236603f2f656a7
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F3a938fd0-09b1-4550-89f4-e81e9c6a8737.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 4162
x-amzn-requestid: 9dc27e34-69e1-439d-8974-1297584ef4d0
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YSIhuHlWIAMFhOQ=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631d87a4-410e9ede524aa657609a057a;Sampled=0
x-amzn-remapped-date: Sun, 11 Sep 2022 07:00:52 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: UxATqmWDCTwVqA3ORIXXObWZZj158TSRUoaAr48b08sxdAxBicw5zA==
via: 1.1 6ba2a21321beeef65404429d0a4b6380.cloudfront.net (CloudFront), 1.1 707e733794d52100fde0ab21bf0b1462.cloudfront.net (CloudFront), 1.1 google
date: Mon, 12 Sep 2022 07:27:45 GMT
age: 24009
etag: "47aaf5a3af2c25820d01d613c82b7f1279a298fc"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   4162
Md5:    b674daf3dc6e85ed054ab34d69979b86
Sha1:   47aaf5a3af2c25820d01d613c82b7f1279a298fc
Sha256: 7b9993ef69d4b77c1533ada040c85563b9cf7b1f5d007177c005f6cd7fdba1d3
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F75931920-737e-40b5-8dd6-d2070639ea2d.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 8799
x-amzn-requestid: 1bcdf387-9ad2-449a-861e-3352b1744d23
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YUI-0G6vIAMFgbA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631e552b-42aa46af6315148106c4fdee;Sampled=0
x-amzn-remapped-date: Sun, 11 Sep 2022 21:37:47 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: g2mxKK8L5T4YkeD8JqNUuV_KfsIq8ypRMvxhsyzSZSEIP4gDl4zLVQ==
via: 1.1 d83ae0e1ba84e92e58bc1efc23a0c652.cloudfront.net (CloudFront), 1.1 aef00f14752da9aa504d392fd46eff94.cloudfront.net (CloudFront), 1.1 google
date: Sun, 11 Sep 2022 21:41:51 GMT
age: 59163
etag: "172b23f2ef39b6c3fdebb5441b10a95712206d0a"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   8799
Md5:    c14088c4ca0d576e087feed41b7f1565
Sha1:   172b23f2ef39b6c3fdebb5441b10a95712206d0a
Sha256: 2699efa811ceac5420f5bd26c35a6f48b51854e29cbce7cbb62efb613db7d6b9
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F36ab1cf7-da3f-4bea-abd5-3f9da5a18c29.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 9126
x-amzn-requestid: 86fd10d3-f2bb-4191-93b0-3a416000fd68
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YUJHeGMqoAMFnwA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631e5562-1f8b12e10d7212353f050f3f;Sampled=0
x-amzn-remapped-date: Sun, 11 Sep 2022 21:38:42 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: WcMMN48JT7YRvUBGR6oAes5EwusRcdgrWT60xJffsOfsbkJ4_XyALg==
via: 1.1 0aebf3fe433ff96e68d785fad4ea4c0e.cloudfront.net (CloudFront), 1.1 476c2ba6d9f6cd69dbcedbd65688cbc0.cloudfront.net (CloudFront), 1.1 google
date: Sun, 11 Sep 2022 21:41:51 GMT
age: 59163
etag: "cf5ec3650282d05c082eb0534f1b70a59f9f4bbe"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   9126
Md5:    beca122055c554548ca6ef68a66a4e2e
Sha1:   cf5ec3650282d05c082eb0534f1b70a59f9f4bbe
Sha256: a9cf7ef5dfb6a58c66bc29b2a280c2253e56a28ce317d8271273ddae2008d9d5
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fae1f7987-7b92-4cec-85ab-243250e02a06.webp HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6999
x-amzn-requestid: 61e3e817-fb62-47c7-b938-2dfc6a134622
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YO1mlG3XIAMFo5w=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631c3629-37c2c8982c4ccf891875c59a;Sampled=0
x-amzn-remapped-date: Sat, 10 Sep 2022 07:00:57 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: S2TR552YpZeEbhTSAn4vdXexYpvR4Lrr-LaJmfNd7LnO0L4QM8w-Dg==
via: 1.1 0005a84c2971ff4f5bbb79e7ebc622a8.cloudfront.net (CloudFront), 1.1 68fadeb91f97256bb67b03bfca74d830.cloudfront.net (CloudFront), 1.1 google
date: Mon, 12 Sep 2022 07:13:41 GMT
age: 24853
etag: "1904722d70348235d5472c54f888d2b4b991e2aa"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   6999
Md5:    b7ccc33ae0c85a906f2c17db281ec790
Sha1:   1904722d70348235d5472c54f888d2b4b991e2aa
Sha256: f48edc03624f582b05b596694b76bd784f85eb9f2ca5dd025bbea9cc2ff1f096
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "3329F28970D7E192C8E23AD88C33D74B4A8CBFFEF265BEE29B6FB28A4ADC1E03"
Last-Modified: Sat, 10 Sep 2022 00:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4237
Expires: Mon, 12 Sep 2022 15:18:31 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "2B805E49823D530D79C62828F522541D7EED05552E393DE419F47F373A2FF9D2"
Last-Modified: Sun, 11 Sep 2022 02:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5862
Expires: Mon, 12 Sep 2022 15:45:36 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "82F96266E49C1A1BDADDE92071FB45C09CDBD7D0E3F357B32C385CFF2C5E432C"
Last-Modified: Sat, 10 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11248
Expires: Mon, 12 Sep 2022 17:15:22 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  data
Size:   37692
Md5:    15a2d85de3334addceadab19e58b3b43
Sha1:   d48adaec0b8afd5f669f57e150403a1df526e5a6
Sha256: e3812f47b394e9e501b82a18ed14785af4f1a6c97e5db2626e2f6fa549e7954b
                                        
                                            GET /contents/videos_sources/6801000/6801436/screenshots/3.jpg HTTP/1.1 
Host: tn.txxx.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 17943
server: nginx/1.18.0
last-modified: Mon, 17 Sep 2018 16:50:38 GMT
etag: "5b9fdb5e-4617"
cache-control: max-age=7776000
expires: Sun, 11 Dec 2022 14:07:54 GMT
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, baseline, precision 8, 398x224, components 3\012- data
Size:   17943
Md5:    5ff133661ba738af83f573d24468612b
Sha1:   ab7cc1d8eae43a7a42ab36780da2c841fac0bd17
Sha256: 7eb8ec8d4199d936903d7a51c03fbcc223eee27cf93aa3f391d34392b7d82417
                                        
                                            GET /tags?tag_id=44349&timezone_olson=UTC&version_name=a HTTP/1.1 
Host: notification.tubecup.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://26porn.com
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         116.202.204.12
HTTP/2 204 No Content
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2

                                        
                                            OPTIONS /fp?tag_id=44349 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://26porn.com/
Origin: https://26porn.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         157.90.84.242
HTTP/1.1 204 No Content
                                        
Server: nginx/1.20.1
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE
Access-Control-Allow-Origin: https://26porn.com
Vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "9D8D3783617B028EC8C422C55935C2C1B61E1C0DAD09B2E8E09FA5A1BA94C9ED"
Last-Modified: Mon, 12 Sep 2022 02:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2382
Expires: Mon, 12 Sep 2022 14:47:36 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "54F622B37470E06CAFAF643E0ED1A3F8C90D92497630BF0F79AA1D80680DF85B"
Last-Modified: Sun, 11 Sep 2022 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=9745
Expires: Mon, 12 Sep 2022 16:50:19 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST /fp?tag_id=44349 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 22268
Origin: https://26porn.com
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         157.90.84.242
HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
                                        
Server: nginx/1.20.1
Date: Mon, 12 Sep 2022 14:07:54 GMT
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://26porn.com
Set-Cookie: id=14753301264669763801; Expires=Tue, 12 Sep 2023 14:07:54 GMT; Secure; SameSite=None
Vary: Origin

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "01E259B165CE2879BFB8E40EF42C9C6A405D3476964AF7D15020AF1EA9896D3C"
Last-Modified: Sun, 11 Sep 2022 04:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2120
Expires: Mon, 12 Sep 2022 14:43:14 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "5E78EA1C6CB67FD88C9029B786FDCFD1816A0D85348B4800627B986CBCAF44CE"
Last-Modified: Mon, 12 Sep 2022 01:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=20855
Expires: Mon, 12 Sep 2022 19:55:29 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            GET /in/track?data=eyJ3bCI6MSwic3ViaWQiOjAsInVzZXJfaWQiOiIxMzQ2NDM3MjU4MzQ5MDg0MzAwMCIsInRpbWV6b25lIjowLCJ2ZXIiOiIzLjguMSIsInRhZ19pZCI6NDQzNDksInNjcmVlbl9yZXNvbHV0aW9uIjoiMTI4MHgxMDI0IiwiYWRibG9jayI6MCwidGltZXpvbmVfb2xzb24iOiJVVEMiLCJ1dG1fc291cmNlIjoiIiwidXRtX21lZGl1bSI6IiIsInV0bV9jYW1wYWlnbiI6IiIsInV0bV9jb250ZW50IjoiIiwibW0iOjAsImluaXRfc3RhcnRfbGF0ZW5jeSI6MS42MSwiaXNfdjIiOjEsImlzX3YyX2VtcHR5IjowLCJ1c2VyX2tleXdvcmRzIjoiMjZwb3JuLmNvbSUyQ215JTJDYmVzdCUyQ2ZyZWUlMkNwb3JuJTJDdmlkZW9zJTJDRGFpbHklMkN1cGRhdGVkLiUyMCJ9 HTTP/1.1 
Host: 34231a287f.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://26porn.com
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
                                        
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
server: nginx/1.18.0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "469A45A4E506527AF81EE08E6576BC9CD10CF3C545B0C1F9E64ACCE09A18DD3F"
Last-Modified: Sat, 10 Sep 2022 04:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6205
Expires: Mon, 12 Sep 2022 15:51:19 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "CE57B6723A6FBA4A86444DA349989631EBC96E215659CF0F7FDCEA972085B913"
Last-Modified: Sun, 11 Sep 2022 00:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=17710
Expires: Mon, 12 Sep 2022 19:03:04 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "2652BE0BF582F235F840BEEC1E03C631CDE7027DD19D266AC99CB42B0FA76531"
Last-Modified: Sat, 10 Sep 2022 13:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=20734
Expires: Mon, 12 Sep 2022 19:53:28 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            GET /dli/whatshot.svg HTTP/1.1 
Host: 12112336.pix-cdn.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: object
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/svg+xml
                                        
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 1064
server: nginx/1.12.2
last-modified: Tue, 16 Jun 2020 16:25:10 GMT
etag: "5ee8f266-428"
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
expires: 0
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   33373
Md5:    704e414dbb89cf2eca425872a746dfba
Sha1:   d4dec65fc1859582fc1dd8943c80c7820c1b39ef
Sha256: 106b26f27d172e046be81c67ed8a839a9f33724b8b0fbe95ed16737c38962cd7
                                        
                                            OPTIONS /vast HTTP/1.1 
Host: vast.yomeno.xyz
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://txxx.com/
Origin: https://txxx.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         109.206.163.116
HTTP/2 204 No Content
content-type: text/plain; charset=utf-8
                                        
server: nginx/1.20.1
date: Mon, 12 Sep 2022 14:07:53 GMT
access-control-allow-credentials: true
access-control-allow-origin: https://txxx.com
access-control-allow-methods: GET, POST, OPTIONS
access-control-allow-headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range
content-length: 0
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   81465
Md5:    3a61425839060a375ffc5bad529b87f0
Sha1:   03761b934d29a6b4d73f14d4a434cec65b1df2be
Sha256: 0b3e230126fdf5ad0bacc06f9dedc32e9fe783126b454bfd23c73a20f5217f23
                                        
                                            OPTIONS /fp?tag_id=755 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://txxx.com/
Origin: https://txxx.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         157.90.84.242
HTTP/1.1 204 No Content
                                        
Server: nginx/1.20.1
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE
Access-Control-Allow-Origin: https://txxx.com
Vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers

                                        
                                            GET /npc/sdk/wp-banners.js HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
server: nginx/1.18.0
last-modified: Fri, 20 Aug 2021 15:14:31 GMT
etag: "611fc6d7-0"
expires: Mon, 12 Sep 2022 14:12:54 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2

                                        
                                            GET /in/track?data=eyJ3bCI6MSwic3ViaWQiOjM4ODMwLCJ1c2VyX2lkIjoiMTExMTM5MzgxMDk1MzI2MzMwMDAiLCJ0aW1lem9uZSI6MCwidmVyIjoiMy43LjAiLCJ0YWdfaWQiOjc1NSwic2NyZWVuX3Jlc29sdXRpb24iOiIxMjgweDEwMjQiLCJhZGJsb2NrIjowLCJ0aW1lem9uZV9vbHNvbiI6IlVUQyIsInV0bV9zb3VyY2UiOiIiLCJ1dG1fbWVkaXVtIjoiIiwidXRtX2NhbXBhaWduIjoiIiwidXRtX2NvbnRlbnQiOiIiLCJtbSI6MCwiaW5pdF9zdGFydF9sYXRlbmN5IjowLjQ5LCJpc192MiI6MCwiaXNfdjJfZW1wdHkiOjAsInVzZXJfa2V5d29yZHMiOiJMZXNiaWFuJTJDR3Jhbm55JTJDUG9ybiUyQ3ZpZGVvJTJDVFhYWC5jb20lMkN0eHh4LmNvbSUyQ3Bvcm4lMkN0dWJlJTJDeHh4JTJDdHViZSUyQ2ZyZWUlMkNwb3JuJTJDdmlkZW9zJTJDZnJlZSUyQ3Bvcm4lMkN4eHglMkNtb3ZpZXMlMkN4eHglMkN0dWJlJTJDdmlkZW8lMkNmcmVlJTJDeHh4JTJDdmlkaW8lMkNjbGlwcyUyQ3h4eHR1YmUlMkNXYXRjaCUyQ2ZyZWUlMkMlMjJMZXNiaWFuJTJDR3Jhbm55JTIyJTJDcG9ybiUyQ3ZpZGVvJTJDY2F0ZWdvcnklMkNvbiUyQ1R4eHguY29tJTJDSG9tZW1hZGUlMkNmdWNrJTJDdmlkZW9zJTJDRnJlZSUyQ2FtYXRldXIlMkNwb3JuJTJDb24lMkNUeHh4LmNvbSUyMCJ9 HTTP/1.1 
Host: 34231a287f.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://txxx.com
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
                                        
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
server: nginx/1.18.0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "A7A4376171A39977454374854C41027BC88D9DE78F49CA72FBAEEBF504031376"
Last-Modified: Sun, 11 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3294
Expires: Mon, 12 Sep 2022 15:02:48 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "A7A4376171A39977454374854C41027BC88D9DE78F49CA72FBAEEBF504031376"
Last-Modified: Sun, 11 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3294
Expires: Mon, 12 Sep 2022 15:02:48 GMT
Date: Mon, 12 Sep 2022 14:07:54 GMT
Connection: keep-alive

                                        
                                            GET /in/dip?site=native-push&wl=1&event_id=226478a8-10b0-4b5e-832e-d86b44e08637&subid=913512980&sid=622097417&spot_id=26241&created_at=2022-09-12&timezone=0&ver=7.2.0&is_native=1 HTTP/1.1 
Host: nereserv.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://26porn.com
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         168.119.25.22
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2

                                        
                                            POST /fp?tag_id=755 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 22268
Origin: https://txxx.com
Connection: keep-alive
Referer: https://txxx.com/
Cookie: id=14753301264669763801
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         157.90.84.242
HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
                                        
Server: nginx/1.20.1
Date: Mon, 12 Sep 2022 14:07:54 GMT
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://txxx.com
Vary: Origin

                                        
                                            OPTIONS /in/multy HTTP/1.1 
Host: 8cb55b9840.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://26porn.com/
Origin: https://26porn.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         168.119.25.22
HTTP/2 204 No Content
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            OPTIONS /prepare HTTP/1.1 
Host: vast.yomeno.xyz
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://txxx.com/
Origin: https://txxx.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         109.206.163.116
HTTP/2 204 No Content
content-type: text/plain; charset=utf-8
                                        
server: nginx/1.20.1
date: Mon, 12 Sep 2022 14:07:54 GMT
access-control-allow-credentials: true
access-control-allow-origin: https://txxx.com
access-control-allow-methods: GET, POST, OPTIONS
access-control-allow-headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range
content-length: 0
X-Firefox-Spdy: h2

                                        
                                            POST /prepare HTTP/1.1 
Host: vast.yomeno.xyz
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 887
Origin: https://txxx.com
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         109.206.163.116
HTTP/2 204 No Content
                                        
server: nginx/1.20.1
date: Mon, 12 Sep 2022 14:07:54 GMT
access-control-allow-credentials: true
access-control-allow-origin: https://txxx.com
access-control-expose-headers: Content-Length,Content-Range
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   38977
Md5:    6e92e582eb4e4ed11cc7ba757305791c
Sha1:   bed1bf3969596b53e380d48a882eabeb553a276e
Sha256: 2b6445069c98727dd07b18354f05f028712d64d96a1a7757e84f0cfed8566c0d
                                        
                                            GET /health/ HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /in/multy?spot_size=5&spot_id=18641&subid=38830&label=0&session_id=4d7b03ba-36d7-466c-a86f-0c5b4bfa064b&ad_type=native&cpa=afc8e324-5130-4b3f-8884-b2f9539f57f4&ver=3.0.8&ad_tags=Straight%252CAsian%252CBBW%252CJapanese%252CGranny HTTP/1.1 
Host: wpunativesh.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://txxx.com
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         94.130.81.200
HTTP/2 200 OK
content-type: application/json; charset=utf-8
                                        
server: nginx/1.16.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 21079
access-control-allow-origin: *
cache-control: no-cache, no-store, must-revalidate, no-transform
pragma: no-cache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , Unicode text, UTF-8 text, with very long lines (21074)
Size:   21079
Md5:    78092375645552436b9890e442483627
Sha1:   d71e72b2d39e92cab22bbcee59929703078dfb5e
Sha256: a4f92f01a0ff80c3a8bf9bfc696cc8515d359756a1c1ecf0d713968b86e3d984
                                        
                                            GET /health/ HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   241
Md5:    47e3a77f4f7e0c1ac60ad6f8fb4e7c06
Sha1:   d580ef6c33cf9095c578692aa9b3004d55726324
Sha256: 9a18f9cbf2df5207174351d01b1eb4e5e3a43c8ad52faa4339136f468bb37e9e

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /health/ HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /npc/sdk/push.m.js?v=1 HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Mon, 12 Sep 2022 14:07:54 GMT
server: nginx/1.18.0
last-modified: Wed, 07 Sep 2022 14:09:54 GMT
etag: W/"6318a632-f150"
content-encoding: gzip
expires: Mon, 12 Sep 2022 14:12:54 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (61593), with no line terminators
Size:   25621
Md5:    6f7c1cca3ba1b5d8d52dfa02d109c195
Sha1:   db0892af6bc15fe31aa3ddd39fe5e59e7d53bf79
Sha256: e22efa221a020be46e8a59a4517b6f7c93bcb1a05a6e548cfe369d93458e7f69
                                        
                                            GET /health/ HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /health/ HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /health/ HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /banner-admanager/build.m.js HTTP/1.1 
Host: js.cabnnr.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Mon, 12 Sep 2022 14:07:54 GMT
server: nginx/1.18.0
last-modified: Wed, 07 Sep 2022 09:12:46 GMT
etag: W/"6318608e-b35d"
content-encoding: gzip
expires: Mon, 12 Sep 2022 14:12:54 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (45917), with no line terminators
Size:   15556
Md5:    32382a86a2743ff80948771c80b143fb
Sha1:   338d8d4b279382dd1a0749cbc3e280c879dbe6a3
Sha256: 1cc395ff09c2d80ddbab400f363da3d0ac450dd56b60a46a15101e5bd26c4464
                                        
                                            GET /health/ HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /health/ HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /health/ HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST /vast HTTP/1.1 
Host: vast.yomeno.xyz
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-type: application/json; charset=utf-8
Content-Length: 564
Origin: https://txxx.com
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         109.206.163.116
HTTP/2 200 OK
content-type: application/json; charset=utf-8
                                        
server: nginx/1.20.1
date: Mon, 12 Sep 2022 14:07:54 GMT
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
vary: Accept-Encoding, *
access-control-allow-credentials: true
access-control-allow-origin: https://txxx.com
access-control-expose-headers: Content-Length,Content-Range
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (2129), with no line terminators
Size:   1483
Md5:    ade5f5a01dc8664f86b2dc20c09d6589
Sha1:   efea5062239ee16e5c5504f76eeb172c3e61570f
Sha256: 10f5fa3466e12e6386b9946300baaea374a3424ddb9eff4854e13e2bdb826f71
                                        
                                            OPTIONS /in/multy HTTP/1.1 
Host: 8cb55b9840.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://txxx.com/
Origin: https://txxx.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         168.119.25.22
HTTP/2 204 No Content
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:54 GMT
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /library/475567/cc7211683ae26562c2df637755f311868f37c8ea.jpg HTTP/1.1 
Host: s3t3d2y8.afcdn.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         185.76.9.18
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Mon, 12 Sep 2022 14:07:55 GMT
content-length: 25056
last-modified: Thu, 30 Mar 2017 09:55:25 GMT
etag: "58dcd60d-61e0"
expires: Fri, 30 Jun 2023 14:29:46 GMT
cache-control: max-age=31536000
access-control-allow-origin: *
x-cache-op: HIT
x-accel-expires: @1688195223
server: CDN77-Turbo
x-77-nzt: AblMCQ0W9S3/JKBgAA
x-77-nzt-ray: G1dKYzWwEm0
x-cache: HIT
x-age: 6332452
x-77-pop: stockholmSE
x-77-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90", baseline, precision 8, 300x300, components 3\012- data
Size:   25056
Md5:    dbe31828ea0277ab9845bf67aa749927
Sha1:   cc7211683ae26562c2df637755f311868f37c8ea
Sha256: 6499cca4ce115e6dcb44a71342a5c705f938fbffbe5c410b55e60051a417b917
                                        
                                            GET /library/723662/2679404e2be78f66bf29fd8c88f516056ba650a4.jpg HTTP/1.1 
Host: s3t3d2y8.afcdn.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         185.76.9.18
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Mon, 12 Sep 2022 14:07:55 GMT
content-length: 21236
last-modified: Wed, 21 Jul 2021 08:37:01 GMT
etag: "60f7dcad-52f4"
expires: Fri, 30 Jun 2023 11:12:03 GMT
cache-control: max-age=31536000
access-control-allow-origin: *
x-cache-op: HIT
x-accel-expires: @1688299207
server: CDN77-Turbo
x-77-nzt: AblMCQ0rCb//9AlfAA
x-77-nzt-ray: tjsdsH2iF8s
x-cache: HIT
x-age: 6228468
x-77-pop: stockholmSE
x-77-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90", baseline, precision 8, 300x300, components 3\012- data
Size:   21236
Md5:    d2fc7f664f6552800908cb920c7199bc
Sha1:   2679404e2be78f66bf29fd8c88f516056ba650a4
Sha256: 4096417ce2283ed45de34ba373cf9a60e5b92607b287b891a6b236915174bcbd
                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxNDk2LCJzcGFjZWlkIjozMTA4NCwidHlwZSI6InBvcCIsImlkem9uZSI6NjkzOTEzLCJhZF90YWdzIjoiU3RyYWlnaHQlMkNBc2lhbiUyQ0JCVyUyQ0phcGFuZXNlJTJDR3Jhbm55IiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMzg4MzAiLCJ1dG0xIjoiIiwidXRtMiI6IiIsInV0bTQiOiIiLCJzcG90X2lkIjozMTA4NCwibXVsdGlwbGUiOmZhbHNlLCJpc19pZnJhbWUiOnRydWUsInJlZmRvbWFpbiI6IjI2cG9ybi5jb20iLCJwbCI6MSwic3RyYXRhZ2VtIjpudWxsLCJneXIiOjAsImFjY2VsIjowLCJzc3AiOjM3NTh9LCJiYW5uZXIiOnsidyI6MzAwLCJoIjoyNTB9fV0sInNpdGUiOnsiaWQiOiIzMTA4NCIsImNhdCI6WyJJQUIyNSJdLCJwYWdlIjoiaHR0cHM6Ly8yNnBvcm4uY29tLyJ9LCJkZXZpY2UiOnsidyI6MTI4MCwiaCI6MTAyNH0sInVzZXIiOnsiaWQiOiJiMDE0MzUxOGU4NDFiMjQ3MGFmODRkODZlMWIwOWQzYiJ9LCJleHQiOnsiZHQiOjE2NjI5OTE2NjMwMTJ9fQ== HTTP/1.1 
Host: 9d634cf29b.851ae974fe.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Mon, 12 Sep 2022 14:07:55 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://btds.zog.link/in/912/?sid=31084&source=38830&idzone=693913&w=300&h=250&mo=&ve=&site_id=31084&utm1=&utm2=&utm3=&utm4=&ad_tags=Straight%2CAsian%2CBBW%2CJapanese%2CGranny&spot_id=31084&p=https%3A%2F%2F26porn.com%2F&katds_labels=&btype=0&ss=1&score=1
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "44A1E273596D1283AD5E20223A62075CCEE30FD01E8181E09D9284FB5293E974"
Last-Modified: Mon, 12 Sep 2022 03:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3944
Expires: Mon, 12 Sep 2022 15:13:39 GMT
Date: Mon, 12 Sep 2022 14:07:55 GMT
Connection: keep-alive

                                        
                                            GET /cimp.php?data=TVRZMk1qazVNVFkzTkh3ek1XSmpOMlUyTmpSaFlqTmhNRGc1WldRME5qSXhOamRoWTJNNU1qWXdZUS0tfC9saWJyYXJ5LzcyMzY2Mi8yNjc5NDA0ZTJiZTc4ZjY2YmYyOWZkOGM4OGY1MTYwNTZiYTY1MGE0LmpwZ3xodHRwc3w5MS45MC40Mi4xNTR8Tk9SfDQxfHR4eHguY29tfDcyMzY2Mnw1OTk5MTh8ODY5MjcxfDM5MzY4NTl8NTA4fDUzMTQxODZ8NzU1NjM0NzB8MTV8M3wwfDB8MjUzNDR8MHwxLjQ0NTYxNzUyOTg4MDV8NzB8VVNEfEVVUnwxLjAwNHwxLjAwNHwzNHx8MXxOT1J8fDIwfDR8MXx8MjM0OTg4MDU4M3wwMmYwNThiZDUyNWIyYTg1YjViM2E5YTNmNTMwMmFhZnwxfDB8dHh4eC5jb218MHwwfDB8MC4wMXwxfDB8ZXhjaGFuZ2VfbmF0aXZlX2FkfDB8MHwzMTQzMjQyfC0xfDB8MzE0MzI0NHx8fDF8MTQ0MHx8MHwwfDB8MHwwfDB8MXwwfHw4fDF8TW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0OyBydjo5Ni4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94Lzk2LjB8T0t8YWVkMzYxMjNiY2ZhNTJmOWM4ZTcwZTM5ZThhNmUyZjU- HTTP/1.1 
Host: s.optnx.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         95.211.229.246
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
Server: nginx
Date: Mon, 12 Sep 2022 14:07:55 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%22631f3d3b105912.676539051215641695%22%3B%7D; expires=Wed, 11 Sep 2024 14:07:55 GMT; path=; domain=.optnx.com; Secure; SameSite=none
Location: https://s3t3d2y8.afcdn.net/library/723662/2679404e2be78f66bf29fd8c88f516056ba650a4.jpg
X-Robots-Tag: noindex, follow

                                        
                                            GET /cimp.php?data=TVRZMk1qazVNVFkzTkh3ek1XSmpOMlUyTmpSaFlqTmhNRGc1WldRME5qSXhOamRoWTJNNU1qWXdZUS0tfC9saWJyYXJ5LzQ3NTU2Ny9jYzcyMTE2ODNhZTI2NTYyYzJkZjYzNzc1NWYzMTE4NjhmMzdjOGVhLmpwZ3xodHRwc3w5MS45MC40Mi4xNTR8Tk9SfDQxfHR4eHguY29tfDQ3NTU2N3w1OTk5MTh8ODY5MjcxfDM5MzY4NTl8NTA4fDUxOTE2MTZ8NzQzMzc5NTR8MTV8M3wwfDB8MjUzNDR8MHwxfDcwfFVTRHxVU0R8MXwxfDM0fHwxfE5PUnx8MjB8NHwxfHwyMzQ5ODgwNTgzfDAyZjA1OGJkNTI1YjJhODViNWIzYTlhM2Y1MzAyYWFmfDF8MHx0eHh4LmNvbXwwfDB8MHwwLjAxfDF8MHxleGNoYW5nZV9uYXRpdmVfYWR8MHwwfDMxNDMyNDJ8LTF8MHwzMTQzMjQ0fHx8M3wxNDQwfHwwfDB8MHwwfDB8MHwxfDB8fDh8MXxNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQ7IHJ2Ojk2LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvOTYuMHxPS3w1NGUxMmQ0NGQzNDI0YWY4YzMxYjUyZTI4MmI5ZWQ1Mw-- HTTP/1.1 
Host: s.optnx.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         95.211.229.246
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
Server: nginx
Date: Mon, 12 Sep 2022 14:07:55 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%22631f3d3b147735.086028541852587899%22%3B%7D; expires=Wed, 11 Sep 2024 14:07:55 GMT; path=; domain=.optnx.com; Secure; SameSite=none
Location: https://s3t3d2y8.afcdn.net/library/475567/cc7211683ae26562c2df637755f311868f37c8ea.jpg
X-Robots-Tag: noindex, follow


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6