Overview

URL 26porn.com/en/
IP172.67.147.16
ASNCLOUDFLARENET
Location United States
Report completed2022-09-13 21:35:50 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-13 2 news-debipa.com Sinkholed
2022-09-13 2 news-debipa.com Sinkholed
2022-09-13 2 mcpuwpsh.com Sinkholed
2022-09-13 2 mcpuwpsh.com Sinkholed


Files

No files detected



Passive DNS (47)

Passive DNS Source Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
mnemonic passive DNS notification.tubecup.net (1) 8210 2019-08-30 09:36:01 UTC 2022-09-13 16:36:18 UTC 78.47.199.204
mnemonic passive DNS 3e54e39487.bdced8843e.com (1) 0 2022-09-10 03:31:49 UTC 2022-09-13 17:07:25 UTC 45.133.44.24 Unknown ranking
mnemonic passive DNS nereserv.com (1) 40015 2020-12-21 11:07:56 UTC 2022-09-13 17:07:25 UTC 168.119.25.22
mnemonic passive DNS bfe8a1874d.bdced8843e.com (4) 0 2022-09-13 00:56:46 UTC 2022-09-13 17:07:25 UTC 168.119.25.22 Unknown ranking
mnemonic passive DNS btds.zog.link (2) 38469 2019-10-07 21:35:03 UTC 2022-09-13 14:13:50 UTC 109.206.181.2
mnemonic passive DNS go.xlrdr.com (2) 0 2021-07-02 10:40:48 UTC 2022-09-13 17:45:04 UTC 172.64.145.216 Unknown ranking
mnemonic passive DNS content-signature-2.cdn.mozilla.net (1) 1152 2020-11-03 12:26:46 UTC 2022-09-13 05:25:58 UTC 143.204.55.110
mnemonic passive DNS ocsp.pki.goog (5) 175 2017-06-14 07:23:31 UTC 2022-09-13 04:56:27 UTC 142.250.74.3
mnemonic passive DNS cbjpeg.stream.highwebmedia.com (5) 23619 2017-04-27 08:00:06 UTC 2022-09-13 14:13:52 UTC 131.153.88.92
mnemonic passive DNS ts.cvastico.com (1) 0 2022-08-10 13:52:47 UTC 2022-09-12 16:30:42 UTC 109.206.175.252 Unknown ranking
mnemonic passive DNS s.viifixi.com (1) 0 2022-08-23 15:28:27 UTC 2022-09-13 06:55:53 UTC 185.196.197.130 Unknown ranking
mnemonic passive DNS static.bookmsg.com (1) 47495 2020-11-24 14:56:32 UTC 2022-09-13 17:07:26 UTC 88.198.209.15
mnemonic passive DNS in16.zog.link (2) 76485 2018-07-31 21:03:54 UTC 2022-09-13 14:13:50 UTC 109.206.175.85
mnemonic passive DNS realtime.pa.highwebmedia.com (13) 24791 2021-01-21 22:18:59 UTC 2022-09-13 18:29:13 UTC 54.230.111.129
mnemonic passive DNS realtime.pa.highwebmedia.com (13) 24791 2021-01-21 22:18:59 UTC 2022-09-13 18:29:13 UTC 54.230.111.60
mnemonic passive DNS push.services.mozilla.com (1) 2140 2015-09-03 10:29:36 UTC 2022-09-13 05:09:29 UTC 54.186.209.73
mnemonic passive DNS js.wpshsdk.com (4) 12130 2021-06-04 13:50:00 UTC 2022-09-13 17:07:25 UTC 45.133.44.24
mnemonic passive DNS mc.yandex.ru (2) 2672 2017-01-29 05:34:36 UTC 2022-09-13 18:59:08 UTC 77.88.21.119
mnemonic passive DNS fp.metricswpsh.com (2) 0 2022-04-22 11:20:32 UTC 2022-09-13 17:07:25 UTC 157.90.84.244 Unknown ranking
mnemonic passive DNS 6b089f9297.bdced8843e.com (6) 0 2022-09-13 00:19:21 UTC 2022-09-13 17:07:25 UTC 159.69.163.6 Unknown ranking
mnemonic passive DNS sw.wpush.org (2) 78308 2020-02-15 07:54:44 UTC 2022-09-13 06:55:51 UTC 45.133.44.24
mnemonic passive DNS go.xlviiirdr.com (3) 0 2021-07-02 10:51:14 UTC 2022-09-13 19:27:36 UTC 104.18.42.40 Unknown ranking
mnemonic passive DNS cdn.strpst.com (1) 17356 2021-05-31 22:00:56 UTC 2022-09-13 14:46:43 UTC 104.16.61.52
mnemonic passive DNS fonts.gstatic.com (3) 0 2014-08-29 13:43:22 UTC 2022-09-13 04:56:51 UTC 142.250.74.163 Domain (gstatic.com) ranked at: 540
mnemonic passive DNS ocsp.digicert.com (1) 86 2012-05-21 07:02:23 UTC 2022-09-13 16:17:30 UTC 93.184.220.29
mnemonic passive DNS twinrdack.com (2) 366359 2021-12-16 19:33:05 UTC 2022-09-13 17:07:39 UTC 172.66.40.122
mnemonic passive DNS mcpuwpsh.com (2) 0 2022-08-12 16:58:44 UTC 2022-09-13 21:20:10 UTC 94.130.197.134 Unknown ranking
mnemonic passive DNS f9fe903432.f8c72280d8.com (2) 0 2022-09-10 03:14:49 UTC 2022-09-13 16:56:57 UTC 45.133.44.25 Unknown ranking
mnemonic passive DNS fonts.googleapis.com (2) 8877 2014-07-21 13:19:55 UTC 2022-09-13 17:17:55 UTC 142.250.74.10
mnemonic passive DNS ocsp.globalsign.com (1) 2075 2012-05-25 06:20:55 UTC 2022-09-13 05:06:18 UTC 104.18.21.226
mnemonic passive DNS rtbrennab.com (2) 0 2022-04-20 15:49:10 UTC 2022-09-13 17:07:25 UTC 159.69.163.6 Unknown ranking
mnemonic passive DNS static-assets.highwebmedia.com (11) 16059 2021-01-19 21:46:26 UTC 2022-09-13 14:13:51 UTC 104.16.93.42
mnemonic passive DNS contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2022-09-13 04:58:37 UTC 34.117.237.239
mnemonic passive DNS js.cabnnr.com (1) 37463 2021-08-30 12:50:21 UTC 2022-09-13 12:27:40 UTC 45.133.44.25
mnemonic passive DNS 26porn.com (2) 0 2016-11-07 17:24:35 UTC 2022-09-13 19:17:40 UTC 104.21.28.181 Unknown ranking
mnemonic passive DNS 12112336.pix-cdn.org (1) 18294 2018-08-23 11:18:44 UTC 2022-09-13 17:07:24 UTC 45.133.44.24
mnemonic passive DNS img-getpocket.cdn.mozilla.net (6) 1631 2017-09-01 03:40:57 UTC 2022-09-13 12:32:54 UTC 34.120.237.76
mnemonic passive DNS i.cdnkimg.com (2) 8049 2020-08-20 06:43:50 UTC 2022-09-13 14:14:35 UTC 45.133.44.37
mnemonic passive DNS bam.nr-data.net (3) 630 2015-02-10 00:06:27 UTC 2022-09-13 04:58:35 UTC 162.247.241.14
mnemonic passive DNS chaturbate.com (1) 6807 2012-05-22 23:11:36 UTC 2022-09-13 18:29:10 UTC 104.18.101.40
mnemonic passive DNS news-debipa.com (2) 0 2022-06-21 17:11:38 UTC 2022-09-12 19:30:21 UTC 149.7.16.207 Unknown ranking
mnemonic passive DNS js.wpadmngr.com (1) 25762 2021-06-02 14:43:46 UTC 2022-09-13 17:07:24 UTC 45.133.44.25
mnemonic passive DNS in.tubecorporate.com (1) 215471 2016-03-16 16:37:43 UTC 2022-09-11 16:55:08 UTC 109.206.175.252
mnemonic passive DNS creative.xlrdr.com (1) 0 2021-07-02 10:51:24 UTC 2022-09-13 18:25:45 UTC 104.18.42.40 Unknown ranking
mnemonic passive DNS chatw-34.stream.highwebmedia.com (2) 269929 2021-02-12 08:11:26 UTC 2022-09-13 15:06:53 UTC 104.19.241.83
mnemonic passive DNS firefox.settings.services.mozilla.com (2) 867 2020-06-04 20:08:41 UTC 2022-09-13 18:38:51 UTC 143.204.55.115
mnemonic passive DNS r3.o.lencr.org (24) 344 2020-12-02 08:52:13 UTC 2022-09-13 04:56:58 UTC 95.101.11.115


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-12-09 04:57:08 +0000
0 - 0 - 5 2022prize.com/surveywithsweep/english/index.html 172.67.184.48
2022-12-09 04:56:41 +0000
0 - 0 - 3 2022prize.com/surveywithsweep/english/index-j (...) 172.67.184.48
2022-12-09 04:56:35 +0000
0 - 0 - 1 ilaesg.com/ 172.67.149.29
2022-12-09 04:56:32 +0000
0 - 0 - 1 3mst7m.cyou/ 172.67.206.152
2022-12-09 04:55:43 +0000
0 - 0 - 9 new3.gdtot.cfd/file/2859910309 104.21.7.69

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 (48)


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 (1)

#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>
                                    


HTTP Transactions (137)


Request Response
                                        
                                            GET /en/ 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: Tue, 13 Sep 2022 21:35:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Tue, 13 Sep 2022 22:35:39 GMT
Location: https://26porn.com/en/
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=U3JPIPpm0P7Nao8Q4VBQaksCr2FqZPW35f7gG8Z2QAxQD4vkAiFWFoXUO3e7cTY%2FgtpsbCiSBBOVAu7UOUwD9iWaKoG%2FjWFxPDYYADnmsMdGZ17ZalZlcv55v5nK"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 74a4038dccf60afa-OSL
alt-svc: h2=":443"; ma=60

                                        
                                            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: Content-Length, Content-Type, Alert, Backoff, Retry-After
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Date: Tue, 13 Sep 2022 21:08:54 GMT
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Cache: Hit from cloudfront
Via: 1.1 4f01f770085624552bc30a98954f963a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-C1
X-Amz-Cf-Id: x1TKsyQW7kyCVwnVBT0MFlXO-u0iB6sQCeUC3Gd_926AozSxne9G2g==
Age: 1605


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (939), with no line terminators
Size:   939
Md5:    91dd975a7b17b2922dd23c0e49314e40
Sha1:   57a2ece1e3cee7c4ebf927f2ba92f52cac395fe2
Sha256: 09966873bbf317f8910c59544cfde2a6d46e8acd2905797cc7c85c6b4d18ea8a
                                        
                                            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: "B5F178D23E633283F226CCA7A9AE79B01E6CAB2299FF7065C980D3A9953212FD"
Last-Modified: Tue, 13 Sep 2022 06:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2948
Expires: Tue, 13 Sep 2022 22:24:47 GMT
Date: Tue, 13 Sep 2022 21:35:39 GMT
Connection: keep-alive

                                        
                                            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.110
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: Tue, 13 Sep 2022 07:17:13 GMT
etag: "742edb4038f38bc533514982f3d2e861"
x-cache: Hit from cloudfront
via: 1.1 f46f7100ad6fc83a021f62212f945830.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-C1
x-amz-cf-id: 4smUujRQklekgqUOUZg08oKk_l1l6b2fsWPPhO93PTp2j1NbYsOJgA==
age: 61225
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: Tue, 13 Sep 2022 21:35:39 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 /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: Tue, 13 Sep 2022 21:35:39 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: Tue, 13 Sep 2022 21:35:39 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            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=13463
Expires: Wed, 14 Sep 2022 01:20:02 GMT
Date: Tue, 13 Sep 2022 21:35:39 GMT
Connection: keep-alive

                                        
                                            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.207
HTTP/2 200 OK
content-type: application/javascript
                                        
server: nginx
date: Tue, 13 Sep 2022 21:35:39 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
                                        
                                            GET /en/ 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

                                         
                                         104.21.28.181
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Tue, 13 Sep 2022 21:35:39 GMT
set-cookie: vn=1; expires=Sun, 18-Sep-2022 21:35:39 GMT; Max-Age=432000; path=/
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=CIQQI0LVilTBze8uTYx%2FChaDVIOQgaRMkV3Rv6dxeTT78wTCHjLc%2BkPPNjWZbbudmNgrVzG57erTI36Hvkb3ZQigV18Gz%2BeHXaabA1wRU%2B5BeSVYhgNKCIIbQNIg"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 74a4038f9c50b51d-OSL
content-encoding: gzip
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   47872
Md5:    29fbcf0d7fa1ae3f2ba3bca07b36b884
Sha1:   88edc758ccd5c4100df0f5c93d0db74d40cdee04
Sha256: 697c778ead18fb1913de885cbad834bc880b217fd2cc355ebc61173037e85a10
                                        
                                            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: Tue, 13 Sep 2022 21:35:39 GMT
date: Tue, 13 Sep 2022 21:35:39 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:   1468
Md5:    0dbbd92c7436d6b2a7b1d64fa214ce96
Sha1:   7ad3e28e6a61ee51f0b30838c990a2e14c07ca06
Sha256: 559e7a64e979bf61bbf9ffdb68640dec03c58607e0155a9d503c85cda1e8e359
                                        
                                            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: Tue, 13 Sep 2022 21:35:39 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
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: Tue, 13 Sep 2022 21:35:40 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: 525692
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

                                         
                                         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: 525692
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, 13 Sep 2022 21:14:19 GMT
expires: Wed, 13 Sep 2023 21:14:19 GMT
cache-control: public, max-age=31536000
age: 1281
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
                                        
                                            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: Tue, 13 Sep 2022 21:35:40 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            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: "5828632D1AB330AF156043A066A33F8FD120262BF7F7D9175A2F3065BA02A5BC"
Last-Modified: Tue, 13 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=10185
Expires: Wed, 14 Sep 2022 00:25:25 GMT
Date: Tue, 13 Sep 2022 21:35:40 GMT
Connection: keep-alive

                                        
                                            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: Tue, 13 Sep 2022 21:03:22 GMT
Expires: Tue, 13 Sep 2022 21:52:29 GMT
ETag: "1648230346554"
X-Cache: Hit from cloudfront
Via: 1.1 a7d2a4ec2f50830f128dc406960aef9a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-C1
X-Amz-Cf-Id: u6sJNqslSzOUDFTl2p0U-w6G3zN98sOygjmtPVb0dLuFyck_qoa_vw==
Age: 1938


--- 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: 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: 5301
Cache-Control: 'max-age=158059'
Date: Tue, 13 Sep 2022 21:35:40 GMT
Last-Modified: Tue, 13 Sep 2022 20:07:19 GMT
Server: ECS (ska/F707)
X-Cache: HIT
Content-Length: 471

                                        
                                            GET /in/tcc/?promo=38830&mc=1858225680&dc=1947809007&tc=577709842 HTTP/1.1 
Host: in.tubecorporate.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
Referer: https://26porn.com/
Origin: https://26porn.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         109.206.175.252
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
server: nginx/1.20.1
date: Tue, 13 Sep 2022 21:35:39 GMT
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
vary: Accept-Encoding, *
set-cookie: 832.0=1; expires=Wed, 14 Sep 2022 21:35:39 GMT; path=/; secure; SameSite=None
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   17046
Md5:    a608330f9337071f3ec18018a02f5c43
Sha1:   b4added99aaa3ae3351121fb5685dac2315136f3
Sha256: 83cfb371b206daf73ed35c08c79c91fddd25cc2820d9422a36a07525be9def6d
                                        
                                            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: Tue, 13 Sep 2022 21:35:40 GMT
Content-Length: 940
Connection: keep-alive
Expires: Sat, 17 Sep 2022 18:28:27 GMT
ETag: "06c8ebd2279e812bf933558c58f1a9b7a09fa6c0"
Last-Modified: Tue, 13 Sep 2022 18:28:28 GMT
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Age: 1586
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 74a40396992bb509-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.207
HTTP/2 200 OK
content-type: application/javascript
                                        
server: nginx
date: Tue, 13 Sep 2022 21:35:40 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
                                        
                                            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: "662FB0F503B5A7B8355F43C932070679D02B6BE900B192512C2F66A17906B40F"
Last-Modified: Mon, 12 Sep 2022 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=7905
Expires: Tue, 13 Sep 2022 23:47:25 GMT
Date: Tue, 13 Sep 2022 21:35:40 GMT
Connection: keep-alive

                                        
                                            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: paD4EUoDXaAYENv81asyjw==
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

                                         
                                         54.186.209.73
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: yqb4SEVxA9J9NtPoxLeIrv5OKT8=

                                        
                                            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.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Tue, 13 Sep 2022 21:35:40 GMT
content-length: 0
server: nginx/1.18.0
last-modified: Fri, 20 Aug 2021 15:14:31 GMT
etag: "611fc6d7-0"
expires: Tue, 13 Sep 2022 21:40:40 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2

                                        
                                            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

                                         
                                         77.88.21.119
HTTP/2 200 OK
content-type: application/javascript
                                        
content-length: 71985
date: Tue, 13 Sep 2022 21:35:40 GMT
access-control-allow-origin: *
etag: "63076de4-11931"
expires: Tue, 13 Sep 2022 22:35:40 GMT
last-modified: Thu, 25 Aug 2022 15:41:08 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 (681)
Size:   71985
Md5:    034d4604beaddff5783b9878fadfaee6
Sha1:   64d5e1e0dbbbd62d6a64349dd964763b7ab4cbea
Sha256: f8a957ee3468693f465da61d899438a2b674369b80c9d5c9ffff1111a7091290
                                        
                                            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: "D299415E682D49EC61187C072201FA999B3D99645636F1D8E279BB9C63F3E7C2"
Last-Modified: Tue, 13 Sep 2022 14:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2577
Expires: Tue, 13 Sep 2022 22:18:38 GMT
Date: Tue, 13 Sep 2022 21:35:41 GMT
Connection: keep-alive

                                        
                                            GET /tags?tag_id=44349&timezone_olson=UTC&version_name=d 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

                                         
                                         78.47.199.204
HTTP/2 204 No Content
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:41 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.244
HTTP/1.1 204 No Content
                                        
Server: nginx/1.20.1
Date: Tue, 13 Sep 2022 21:35:41 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: "004B9648A1F1E3F89ED57037E468FE751E750F512BE947F754DC27739868F19C"
Last-Modified: Tue, 13 Sep 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=9415
Expires: Wed, 14 Sep 2022 00:12:36 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: "39405643CF33989EB2F7F107B0C72857A02EE14DBD6339C8AA099EAAA1DBF8CB"
Last-Modified: Tue, 13 Sep 2022 01:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4894
Expires: Tue, 13 Sep 2022 22:57:15 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: 22269
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.244
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
                                        
Server: nginx/1.20.1
Date: Tue, 13 Sep 2022 21:35:41 GMT
Content-Length: 28
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://26porn.com
Set-Cookie: id=5602874914997960177; Expires=Wed, 13 Sep 2023 21:35:41 GMT; Secure; SameSite=None
Vary: Origin


--- Additional Info ---
Magic:  JSON data\012- , ASCII text
Size:   28
Md5:    d8ded99ae3089c609f0f3dfd190a3299
Sha1:   aa378c43d5b8dc4887db4f93f86a319f75731b6f
Sha256: f5526ab1e5df71c978b3db3ada96990b256be308611834bea29d342b88338000
                                        
                                            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: "55CF6EA6B1CC2C56F4628DECB4E4034961FBDA2BC74B061CD2E48D539E4CC0CA"
Last-Modified: Mon, 12 Sep 2022 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=15071
Expires: Wed, 14 Sep 2022 01:46:52 GMT
Date: Tue, 13 Sep 2022 21:35:41 GMT
Connection: keep-alive

                                        
                                            GET /in/track?data=eyJ3bCI6MSwic3ViaWQiOjAsInVzZXJfaWQiOiIxNDcxNjI5NjE0NTIyODM5MDAiLCJ0aW1lem9uZSI6MCwidmVyIjoiMy44LjEiLCJ0YWdfaWQiOjQ0MzQ5LCJzY3JlZW5fcmVzb2x1dGlvbiI6IjEyODB4MTAyNCIsImFkYmxvY2siOjAsInRpbWV6b25lX29sc29uIjoiVVRDIiwidXRtX3NvdXJjZSI6IiIsInV0bV9tZWRpdW0iOiIiLCJ1dG1fY2FtcGFpZ24iOiIiLCJ1dG1fY29udGVudCI6IiIsIm1tIjowLCJpbml0X3N0YXJ0X2xhdGVuY3kiOjAuNjksImlzX3YyIjoxLCJpc192Ml9lbXB0eSI6MCwidXNlcl9rZXl3b3JkcyI6IjI2cG9ybi5jb20lMkNteSUyQ2Jlc3QlMkNmcmVlJTJDcG9ybiUyQ3ZpZGVvcyUyQ0RhaWx5JTJDdXBkYXRlZC4lMjAifQ== HTTP/1.1 
Host: 3e54e39487.bdced8843e.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.24
HTTP/2 200 OK
                                        
date: Tue, 13 Sep 2022 21:35:41 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

                                        
                                            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: Tue, 13 Sep 2022 21:35:41 GMT
server: nginx/1.18.0
last-modified: Tue, 13 Sep 2022 14:00:41 GMT
etag: W/"63208d09-b395"
content-encoding: gzip
expires: Tue, 13 Sep 2022 21:40:41 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 (45973), with no line terminators
Size:   15578
Md5:    ef4890dc794c87210164d5d7a92742a8
Sha1:   40c4ce7251999e86e5fdc760a46b254d26c3b3be
Sha256: bc9980b064e63d24a82964a5a1d2e37871a3ec90f49a5b26c040a5f646c440fc
                                        
                                            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: "D6F37223EF9E386B8076466EB926A07C599E3E01222BFCE85E9BB9A21BC8E5D1"
Last-Modified: Mon, 12 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6413
Expires: Tue, 13 Sep 2022 23:22:34 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: "D6F37223EF9E386B8076466EB926A07C599E3E01222BFCE85E9BB9A21BC8E5D1"
Last-Modified: Mon, 12 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6413
Expires: Tue, 13 Sep 2022 23:22:34 GMT
Date: Tue, 13 Sep 2022 21:35:41 GMT
Connection: keep-alive

                                        
                                            GET /health/ HTTP/1.1 
Host: 6b089f9297.bdced8843e.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

                                         
                                         159.69.163.6
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:41 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

                                        
                                            GET /health/ HTTP/1.1 
Host: 6b089f9297.bdced8843e.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

                                         
                                         159.69.163.6
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:41 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

                                        
                                            GET /health/ HTTP/1.1 
Host: 6b089f9297.bdced8843e.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

                                         
                                         159.69.163.6
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:41 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:  gzip compressed data, from Unix\012- data
Size:   65
Md5:    8bf402eae0a7cc177e3a3eb863022bcd
Sha1:   9931f2a5186ebe8d6cc668eeca46b15bd0d1c9b0
Sha256: 925538f08275362ccec58e393e6d245b339bd960811d38924e142b8987956742
                                        
                                            GET /in/dip?site=native-push&wl=1&event_id=758ae12d-4362-4c9b-8130-b9d9f8c0018f&subid=913512980&sid=3126954595&spot_id=26241&created_at=2022-09-13&timezone=0&ver=7.3.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: Tue, 13 Sep 2022 21:35:41 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

                                        
                                            OPTIONS /in/multy HTTP/1.1 
Host: bfe8a1874d.bdced8843e.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: Tue, 13 Sep 2022 21:35:41 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

                                        
                                            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: "2BFBAC749DD99DBEBCC152BF871AFE29BFDDBB819131943856E8CF5B2AF3950A"
Last-Modified: Mon, 12 Sep 2022 18:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6968
Expires: Tue, 13 Sep 2022 23:31:49 GMT
Date: Tue, 13 Sep 2022 21:35:41 GMT
Connection: keep-alive

                                        
                                            GET /npc/sdk/common/config.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
Referer: https://26porn.com/
Origin: https://26porn.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         45.133.44.24
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Tue, 13 Sep 2022 21:35:41 GMT
server: nginx/1.18.0
last-modified: Wed, 07 Sep 2022 14:08:19 GMT
etag: W/"6318a5d3-1a"
content-encoding: gzip
expires: Tue, 13 Sep 2022 21:40:41 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2

                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImQiLCJpZCI6MTQ5Niwic3BhY2VpZCI6MTQ5NiwidHlwZSI6InBvcCIsImlkem9uZSI6bnVsbCwiYWRfdGFncyI6IjI2cG9ybi5jb20lMkNteSUyQ2Jlc3QlMkNmcmVlJTJDcG9ybiUyQ3ZpZGVvcyUyQ0RhaWx5JTJDdXBkYXRlZC4lMjAiLCJsYWJlbHMiOiIiLCJhbGxvd2VkX2xhYmVscyI6IiIsInRpdGxlIjoiIiwic3ViaWQiOiIxMDYyNzgyNDM3IiwidXRtMSI6IiIsInV0bTIiOiIiLCJ1dG00IjoiIiwic3BvdF9pZCI6NjQ4OTEsIm11bHRpcGxlIjpmYWxzZSwiaXNfaWZyYW1lIjpmYWxzZSwicmVmZG9tYWluIjoiIiwicGwiOjI2OSwic3RyYXRhZ2VtIjpudWxsLCJneXIiOjAsImFjY2VsIjowLCJzc3AiOjM3NTgsImJ0eXBlIjo0fSwiYmFubmVyIjp7InciOjMwMCwiaCI6MjUwfX1dLCJzaXRlIjp7ImlkIjoiNjQ4OTEiLCJjYXQiOlsiSUFCMjUiXSwicGFnZSI6Imh0dHBzOi8vMjZwb3JuLmNvbS9lbi8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiOWU0OTQ3ZjM1NzUxNDY1NDExZmQxYTRmNWMzNThjNzgifSwiZXh0Ijp7ImR0IjoxNjYzMTA0OTI4MTkxfX0= HTTP/1.1 
Host: 6b089f9297.bdced8843e.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
TE: trailers

                                         
                                         159.69.163.6
HTTP/2 200 OK
content-type: text/html
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:41 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: *
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   2681
Md5:    4cc565c7fb8b29724e8bb3100869507f
Sha1:   5d8c46be04e0b1ed89e4ce4339897ea5aca99968
Sha256: 8c9fd248f49c33e0488532c43a5eb83b4da2e870d11a0055596a6fb14ff71c84
                                        
                                            GET /ps/sw.js HTTP/1.1 
Host: sw.wpush.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://26porn.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache

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


--- Additional Info ---
Magic:  data
Size:   2208
Md5:    eef48a3759b2b7ecf74f186e81f48b5c
Sha1:   ff60b63c9ca3e53366c3abddbc0b00c7d829f61c
Sha256: 25b35df4b049842fbd2a5c2fa167f394e958884e18103c59c4acb9160d125376
                                        
                                            GET /banner/in/show/?mid=1463146076&pid=0&site=64891&sc=NO&usage_type=DCH&subid=1062782437&sid=0&cid=12774&price=0&is_cpm=1&cpm=0.0048&ecpm=0.0048&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=26porn.com&hostname=auc-banner-hz-10&site_id=0&spot_id=64891&utm_source=&utm_medium=&utm_campaign=&utm_content=&expirationTimestamp=0&created_at=0000-00-00&is_native=6&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=iframeAd&iabcat=IAB25&min_cpm=0.00132159&placement_type_id=269&skin_test=&verify_hash=&score=100&ml=&ttl=&space_id=1496&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25&url=%2F%2Fin16.zog.link%2Fin%2Ftishow%2F%3Fkatds_ep%3Da7Sxr_HsA0EVl3bRmEAtAcF_1KiPN0Kdb5XQCFI1ROnaW65T5Pz-qr_hDAlYF0JN4DAlHTQcR-MwNVtvzyWns2cCaDbZ3X2PsB1vCxyPjlaGffsejMgUyTRxBP56ONEE3JmXK-pGCCB7HedBk2o_HyqTTLzIDw4nxch71QVWtfGoEK8mG99dtREVKxR29B_Y6WrvSlrqpFgcUEYFbwQbPyg9iuAWAMLtg594V6vAITC2jYwLmVii-X3wHwcZhZjSnjjS9fxu6BjF578w4XTLpRE5z9BWj7mcZ2Z3L4NTQGnuYYRhEE0Fu1bmEN9ET-CPoyDAzs3QXaEV-ucCNZT4MCGagXY2hdR9jcerYYcjWmANhUBYGpVSjMfGQX_cKRc8hiQUvk5NNAFPIXw0poseBLXyw0FFzheuykzaDU6EvHs7ONc1kZuWUX1mU4_uXZJLA0nk-ALIDe6ppnDLtA3o6eVRztPB5AhAlEezvx-bf-2zQelI43LGiB4XKBaFtsfzGDL3u99MfMjvwAiwtqdrBczs0AvLN8yKaUb64B83OC6tNE0NZxuCm5KOJOyb6MVE-Rs6tp66Gc_bErvlOMD5ZMTIMTBohILgatETQkEKBKXFSxvdJuj1tt4S49KRZzxt9RAv5HSDbF8UKW8N-tyBz0fCJUyui58IMS1e495AiizNHMoVb0Qv9k6s0lhzTiMf1uI36BufMkKWD8uIp1sJRKYevD79gT3IgbuuXILFRwWAZoTZSxi2D3XERi-AK91cMKyD_bPCVsXkRKMojVN-7uJ-SVYwE-PPyQfLqDkBEVGfQq_xygJVtfA7Uf2JLx-rf2vK8T3iC1cpRjI8EEacp3l-SShQQVTcuahMb-B3i8gXdIr1tgea4GK_VW9A485f4Ytg1YXJKgguFjk7oUmz3lqSC_JN29Cu1o2wOcxA6lSeC-dHa9lf_hlXOuQ7ByKfN7rPbFv-GflRCYuVz7HKeutMZjY2ROtbJ5eD_bqzkdbgbPPJlLfAJ2TTBr5dKNbOaTwp82WtdtUiL6Q1aVFTqgy9L3PiE70onneMk9YJrUMVggEM33DwAn5NL2ySdlu47_9j06qz-1deI6B8SVjSTnhYtMcFV36hH08AFt86RZmAsjJrgHqp7wYntlfV63x4dOravMgpG4K8UN99KdBN-dHHDpuLOZWYZ2biHXJFpolo3tYLm5hJ4CJ5mmgcOnV6-y5Vbr_09DBOOMYscFWxoZOcwrU-gQPBNUZ2TXDe-kqTgMFQPHZ4OMLcXn3vO0axkfRgUPtXZw2wEoS6zFNwJmbquLIH9Y2xM2325sPAIHUUDSdHT4OfrIVakT-aghUJX7KU_j2FTnH13Q6wYFJ7VyKQjMfRW7Skm7kIacQ3kJWUEMBRJvqUHrUUzagcUTeoPxH_DDDodBpaWowZ2qIgT2e1gdng-2ADeZuesSTtSecLImHWK72rZTW9VXS8sItDUHOS3KyAHC-bW1mJGJ7LQn8vhORgRddBhp2X3Bfabj3Wu4ZCeg-2avxDX5QdmksROXyk4ZD5yaOUEWhQ4vegdc4JZ1BxoqpIviFoVPXOFu0_gZ-MVbwt7Y2Ll3_9Jyo-roahBWnEvpQePjl1bs84NWtG9IcCT5Ak4fvi4d5K1FQ8kBXrroqkH5bsAs00IY6pxv01_CQZ1AO9zXrEXujv89epQyl3dYpExCOA6z0e9TWzk-3tkv2A6ni9Z0prW7I0UZHQrSmRcYwrtz5tzPz-POPvTqCF8Lm4e0HdpYDaHyvuy-YZfdXIK_iubsktAS2pKz6C_qVCK9gmr9Dm30ZQozKOKUOcVBsBg9P1qGteXyWq3gCbvpAooLLraSK-kh5n2NEfHyK7n4BdG6ZD40COe4Nc4tBh-h2DF5A8_XOfU6rBBgj6CjScBxQFYRTaJkKqB3KDnWGV2jVpFzuuE2UCNj3C-2_fHUIKagWhuon_mjQm0DKmyrNJN8SwxQNk3JSpFi6YvJb7uqwzi0fQZmRCIN_SLFPvujFu5osFhLZC8djhiHleaysLlyXSsQdBiUrWKmLe9Q_UeYY-%26sp%3D0.0048&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=26porn.com%2Cmy%2Cbest%2Cfree%2Cporn%2Cvideos%2CDaily%2Cupdated.%20&stratagem= HTTP/1.1 
Host: rtbrennab.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://6b089f9297.bdced8843e.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:41 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: //in16.zog.link/in/tishow/?katds_ep=a7Sxr_HsA0EVl3bRmEAtAcF_1KiPN0Kdb5XQCFI1ROnaW65T5Pz-qr_hDAlYF0JN4DAlHTQcR-MwNVtvzyWns2cCaDbZ3X2PsB1vCxyPjlaGffsejMgUyTRxBP56ONEE3JmXK-pGCCB7HedBk2o_HyqTTLzIDw4nxch71QVWtfGoEK8mG99dtREVKxR29B_Y6WrvSlrqpFgcUEYFbwQbPyg9iuAWAMLtg594V6vAITC2jYwLmVii-X3wHwcZhZjSnjjS9fxu6BjF578w4XTLpRE5z9BWj7mcZ2Z3L4NTQGnuYYRhEE0Fu1bmEN9ET-CPoyDAzs3QXaEV-ucCNZT4MCGagXY2hdR9jcerYYcjWmANhUBYGpVSjMfGQX_cKRc8hiQUvk5NNAFPIXw0poseBLXyw0FFzheuykzaDU6EvHs7ONc1kZuWUX1mU4_uXZJLA0nk-ALIDe6ppnDLtA3o6eVRztPB5AhAlEezvx-bf-2zQelI43LGiB4XKBaFtsfzGDL3u99MfMjvwAiwtqdrBczs0AvLN8yKaUb64B83OC6tNE0NZxuCm5KOJOyb6MVE-Rs6tp66Gc_bErvlOMD5ZMTIMTBohILgatETQkEKBKXFSxvdJuj1tt4S49KRZzxt9RAv5HSDbF8UKW8N-tyBz0fCJUyui58IMS1e495AiizNHMoVb0Qv9k6s0lhzTiMf1uI36BufMkKWD8uIp1sJRKYevD79gT3IgbuuXILFRwWAZoTZSxi2D3XERi-AK91cMKyD_bPCVsXkRKMojVN-7uJ-SVYwE-PPyQfLqDkBEVGfQq_xygJVtfA7Uf2JLx-rf2vK8T3iC1cpRjI8EEacp3l-SShQQVTcuahMb-B3i8gXdIr1tgea4GK_VW9A485f4Ytg1YXJKgguFjk7oUmz3lqSC_JN29Cu1o2wOcxA6lSeC-dHa9lf_hlXOuQ7ByKfN7rPbFv-GflRCYuVz7HKeutMZjY2ROtbJ5eD_bqzkdbgbPPJlLfAJ2TTBr5dKNbOaTwp82WtdtUiL6Q1aVFTqgy9L3PiE70onneMk9YJrUMVggEM33DwAn5NL2ySdlu47_9j06qz-1deI6B8SVjSTnhYtMcFV36hH08AFt86RZmAsjJrgHqp7wYntlfV63x4dOravMgpG4K8UN99KdBN-dHHDpuLOZWYZ2biHXJFpolo3tYLm5hJ4CJ5mmgcOnV6-y5Vbr_09DBOOMYscFWxoZOcwrU-gQPBNUZ2TXDe-kqTgMFQPHZ4OMLcXn3vO0axkfRgUPtXZw2wEoS6zFNwJmbquLIH9Y2xM2325sPAIHUUDSdHT4OfrIVakT-aghUJX7KU_j2FTnH13Q6wYFJ7VyKQjMfRW7Skm7kIacQ3kJWUEMBRJvqUHrUUzagcUTeoPxH_DDDodBpaWowZ2qIgT2e1gdng-2ADeZuesSTtSecLImHWK72rZTW9VXS8sItDUHOS3KyAHC-bW1mJGJ7LQn8vhORgRddBhp2X3Bfabj3Wu4ZCeg-2avxDX5QdmksROXyk4ZD5yaOUEWhQ4vegdc4JZ1BxoqpIviFoVPXOFu0_gZ-MVbwt7Y2Ll3_9Jyo-roahBWnEvpQePjl1bs84NWtG9IcCT5Ak4fvi4d5K1FQ8kBXrroqkH5bsAs00IY6pxv01_CQZ1AO9zXrEXujv89epQyl3dYpExCOA6z0e9TWzk-3tkv2A6ni9Z0prW7I0UZHQrSmRcYwrtz5tzPz-POPvTqCF8Lm4e0HdpYDaHyvuy-YZfdXIK_iubsktAS2pKz6C_qVCK9gmr9Dm30ZQozKOKUOcVBsBg9P1qGteXyWq3gCbvpAooLLraSK-kh5n2NEfHyK7n4BdG6ZD40COe4Nc4tBh-h2DF5A8_XOfU6rBBgj6CjScBxQFYRTaJkKqB3KDnWGV2jVpFzuuE2UCNj3C-2_fHUIKagWhuon_mjQm0DKmyrNJN8SwxQNk3JSpFi6YvJb7uqwzi0fQZmRCIN_SLFPvujFu5osFhLZC8djhiHleaysLlyXSsQdBiUrWKmLe9Q_UeYY-&sp=0.0048
X-Firefox-Spdy: h2

                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImQiLCJpZCI6MTQ5Niwic3BhY2VpZCI6MTQ5NiwidHlwZSI6InBvcCIsImlkem9uZSI6bnVsbCwiYWRfdGFncyI6IjI2cG9ybi5jb20lMkNteSUyQ2Jlc3QlMkNmcmVlJTJDcG9ybiUyQ3ZpZGVvcyUyQ0RhaWx5JTJDdXBkYXRlZC4lMjAiLCJsYWJlbHMiOiIiLCJhbGxvd2VkX2xhYmVscyI6IiIsInRpdGxlIjoiIiwic3ViaWQiOiIxMTAzNDU3NDAyIiwidXRtMSI6IiIsInV0bTIiOiIiLCJ1dG00IjoiIiwic3BvdF9pZCI6NjQ4OTMsIm11bHRpcGxlIjpmYWxzZSwiaXNfaWZyYW1lIjpmYWxzZSwicmVmZG9tYWluIjoiIiwicGwiOjI2OSwic3RyYXRhZ2VtIjpudWxsLCJneXIiOjAsImFjY2VsIjowLCJzc3AiOjM3NTgsImJ0eXBlIjowfSwiYmFubmVyIjp7InciOjMwMCwiaCI6MjUwfX1dLCJzaXRlIjp7ImlkIjoiNjQ4OTMiLCJjYXQiOlsiSUFCMjUiXSwicGFnZSI6Imh0dHBzOi8vMjZwb3JuLmNvbS9lbi8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiOWU0OTQ3ZjM1NzUxNDY1NDExZmQxYTRmNWMzNThjNzgifSwiZXh0Ijp7ImR0IjoxNjYzMTA0OTI4MjMzfX0= HTTP/1.1 
Host: 6b089f9297.bdced8843e.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
TE: trailers

                                         
                                         159.69.163.6
HTTP/2 200 OK
content-type: text/html
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:41 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: *
content-encoding: gzip
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- exported SGML document, ASCII text, with very long lines (1427)
Size:   1011
Md5:    a78a665a8b9fdc9e28e548bedec1451e
Sha1:   61bf0766bfab1c9dcc51ab21164d0a1ee0c2d24b
Sha256: 136f9fa847e7616f5e420c4dc14d47fc29907dcfa004dadfe14e4b2bf4bc8bd4
                                        
                                            GET /banner/in/show/?mid=89916686&pid=0&site=64892&sc=NO&usage_type=DCH&subid=822922551&sid=0&cid=0&price=0&is_cpm=0&cpm=0&ecpm=0&crid=&crtid=&tcid=0&out_id=&ver=&ver_c=&refdom=26porn.com&hostname=auc-banner-hz-6&site_id=0&spot_id=64892&utm_source=&utm_medium=&utm_campaign=&utm_content=&expirationTimestamp=0&created_at=0000-00-00&is_native=0&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=default&iabcat=IAB25&min_cpm=0.00088106&placement_type_id=&skin_test=&verify_hash=&score=100&ml=&ttl=&space_id=1496&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25&url=https%3A%2F%2Fbtds.zog.link%2Fin%2F912%2F%3Fsid%3D64892%26source%3D822922551%26idzone%3D0%26w%3D300%26h%3D250%26mo%3D%26ve%3D%26site_id%3D64892%26utm1%3D%26utm2%3D%26utm3%3D%26utm4%3D%26ad_tags%3D26porn.com%252Cmy%252Cbest%252Cfree%252Cporn%252Cvideos%252CDaily%252Cupdated.%2520%26spot_id%3D64892%26p%3Dhttps%253A%252F%252F26porn.com%252Fen%252F%26katds_labels%3D%26btype%3D0%26score%3D100&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=26porn.com%2Cmy%2Cbest%2Cfree%2Cporn%2Cvideos%2CDaily%2Cupdated.%20&stratagem= HTTP/1.1 
Host: rtbrennab.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://6b089f9297.bdced8843e.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:41 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=64892&source=822922551&idzone=0&w=300&h=250&mo=&ve=&site_id=64892&utm1=&utm2=&utm3=&utm4=&ad_tags=26porn.com%2Cmy%2Cbest%2Cfree%2Cporn%2Cvideos%2CDaily%2Cupdated.%20&spot_id=64892&p=https%3A%2F%2F26porn.com%2Fen%2F&katds_labels=&btype=0&score=100
X-Firefox-Spdy: h2

                                        
                                            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: "20F139BD15EA8D04357693A4DC8C83EC8E3534514EF3F85D6C4EB9289E3FA647"
Last-Modified: Mon, 12 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6976
Expires: Tue, 13 Sep 2022 23:31:57 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: "5F6E4BC7D5375B31EE556662C96F8EEF0543E5B27358003386373C05CEEF786A"
Last-Modified: Tue, 13 Sep 2022 04:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3480
Expires: Tue, 13 Sep 2022 22:33:41 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: "5F6E4BC7D5375B31EE556662C96F8EEF0543E5B27358003386373C05CEEF786A"
Last-Modified: Tue, 13 Sep 2022 04:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3480
Expires: Tue, 13 Sep 2022 22:33:41 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: "EC9DDD9D47E4CD14BD7471042CE3060C1D119038DAC5D1F02A4040C617228B0D"
Last-Modified: Mon, 12 Sep 2022 20:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2987
Expires: Tue, 13 Sep 2022 22:25:28 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: "EC9DDD9D47E4CD14BD7471042CE3060C1D119038DAC5D1F02A4040C617228B0D"
Last-Modified: Mon, 12 Sep 2022 20:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2987
Expires: Tue, 13 Sep 2022 22:25:28 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: "EC9DDD9D47E4CD14BD7471042CE3060C1D119038DAC5D1F02A4040C617228B0D"
Last-Modified: Mon, 12 Sep 2022 20:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2987
Expires: Tue, 13 Sep 2022 22:25:28 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: "EC9DDD9D47E4CD14BD7471042CE3060C1D119038DAC5D1F02A4040C617228B0D"
Last-Modified: Mon, 12 Sep 2022 20:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2987
Expires: Tue, 13 Sep 2022 22:25:28 GMT
Date: Tue, 13 Sep 2022 21:35:41 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: "EC9DDD9D47E4CD14BD7471042CE3060C1D119038DAC5D1F02A4040C617228B0D"
Last-Modified: Mon, 12 Sep 2022 20:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2987
Expires: Tue, 13 Sep 2022 22:25:28 GMT
Date: Tue, 13 Sep 2022 21:35:41 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%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: Tue, 13 Sep 2022 04:49:30 GMT
age: 60371
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%2F5bb76515-eb77-4f38-aae2-75a885833991.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: 10407
x-amzn-requestid: 85df5ad9-f229-4d33-90b9-5dd28c77578a
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: YH396F2SIAMFnGA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63196d25-3ee08f1e27cd37e96dba0f40;Sampled=0
x-amzn-remapped-date: Thu, 08 Sep 2022 04:18:45 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: Oep2UJdadBnTBuCy7CexUcezT0cCvm_9hroZnV-UrC9lQQxwUc4rkw==
via: 1.1 07c02ae6c53d85283eb15380264d9998.cloudfront.net (CloudFront), 1.1 559326ad73233233a9e52cb9e8601ede.cloudfront.net (CloudFront), 1.1 google
date: Tue, 13 Sep 2022 06:18:57 GMT
age: 55004
etag: "ad627b434e1c3b693d8636675bcea0f8794e0dc2"
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:   10407
Md5:    557695ec8ffeebb0272c099542a14ace
Sha1:   ad627b434e1c3b693d8636675bcea0f8794e0dc2
Sha256: 4d79c7830caa73b921d6abaa97771ab1f4dc8fd709597f01ba04c268c03b6157
                                        
                                            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: 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: Mon, 12 Sep 2022 21:41:55 GMT
age: 86026
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%2F2830e2cb-8887-441e-8c0c-906b8fbb2366.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: 9945
x-amzn-requestid: a347749f-a63a-4533-a274-7151b9f235ff
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: YXcX8HAKoAMF5EQ=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631fa765-56cff18515b2a5b3397231df;Sampled=0
x-amzn-remapped-date: Mon, 12 Sep 2022 21:40:53 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: lZ3FmD1gM8YBgZNt97kuYSol1kj0GQqRjyLT_7715VtH9GR1WpMDxA==
via: 1.1 d1151317ba32afe0e6370fd69fed222e.cloudfront.net (CloudFront), 1.1 989017835f43d594873bde5a7ee7fe5e.cloudfront.net (CloudFront), 1.1 google
date: Mon, 12 Sep 2022 21:42:20 GMT
age: 86001
etag: "744fee4a0baa22ba3aa352d60620a916972b47dd"
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:   9945
Md5:    c9ab2ec10c79b91d15edb1d1e3dc763c
Sha1:   744fee4a0baa22ba3aa352d60620a916972b47dd
Sha256: f7bb66f5bb572d73f936fc74823f51ede1f2c4e309a939b39d9529ff8f757fbe
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fc9a2dff5-4864-4430-8c54-6b68d2bbd35a.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: 10849
x-amzn-requestid: 722d8d75-0911-4b59-af65-2b408bc09d80
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: YXbx6E9-oAMFT8w=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631fa672-74ea9343619d4a1865e34818;Sampled=0
x-amzn-remapped-date: Mon, 12 Sep 2022 21:36:50 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: 4rpwcrZLDlgcwBtH7wpoHMOb8hhFbKbZSQpjWqUqbt_Sl4ud3dm9Vg==
via: 1.1 1b0911478686968732f973d6e5e31d10.cloudfront.net (CloudFront), 1.1 707e733794d52100fde0ab21bf0b1462.cloudfront.net (CloudFront), 1.1 google
date: Mon, 12 Sep 2022 21:42:18 GMT
age: 86003
etag: "2ab2ee20e720b78be6deb55f967ac0d8b7dad048"
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:   10849
Md5:    838f709437b2dfbede4ee15307afe217
Sha1:   2ab2ee20e720b78be6deb55f967ac0d8b7dad048
Sha256: a3b47ce595b475f2aab6f7378888d15ba3e98453d6c8a3d88946efc5d65eedba
                                        
                                            GET /in/912/?sid=64893&source=1103457402&idzone=0&w=300&h=250&mo=&ve=&site_id=64893&utm1=&utm2=&utm3=&utm4=&ad_tags=26porn.com%2Cmy%2Cbest%2Cfree%2Cporn%2Cvideos%2CDaily%2Cupdated.%20&spot_id=64893&p=https%3A%2F%2F26porn.com%2Fen%2F&katds_labels=&btype=0&score=100 HTTP/1.1 
Host: btds.zog.link
                                        
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://6b089f9297.bdced8843e.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         109.206.181.2
HTTP/2 302 Found
content-type: text/html; charset=UTF-8
                                        
server: nginx/1.20.1
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 0
location: https://twinrdack.com/link.engine?z=56531&guid=ca671639-b7fa-4892-a712-9dad1adff15a&tid=1103457402&kw=26porn.com,my,best,free,porn,videos,Daily,updated.
pragma: no-cache
vary: *
cache-control: no-cache, no-store, must-revalidate
set-cookie: 912.0=1; expires=Fri, 16 Sep 2022 23:35:41 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            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: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: gUhO_jZ9W_10cAK-2lOVSmQ9r1DIZvNDaqpJs5oc6lt85qAkWbBcXg==
via: 1.1 01c28b52813cd0e82f810c492808b142.cloudfront.net (CloudFront), 1.1 73cb83fe6699afc2791b5c690c1ff8c6.cloudfront.net (CloudFront), 1.1 google
date: Mon, 12 Sep 2022 21:48:14 GMT
age: 85647
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 /in/tishow/?katds_ep=a7Sxr_HsA0EVl3bRmEAtAcF_1KiPN0Kdb5XQCFI1ROnaW65T5Pz-qr_hDAlYF0JN4DAlHTQcR-MwNVtvzyWns2cCaDbZ3X2PsB1vCxyPjlaGffsejMgUyTRxBP56ONEE3JmXK-pGCCB7HedBk2o_HyqTTLzIDw4nxch71QVWtfGoEK8mG99dtREVKxR29B_Y6WrvSlrqpFgcUEYFbwQbPyg9iuAWAMLtg594V6vAITC2jYwLmVii-X3wHwcZhZjSnjjS9fxu6BjF578w4XTLpRE5z9BWj7mcZ2Z3L4NTQGnuYYRhEE0Fu1bmEN9ET-CPoyDAzs3QXaEV-ucCNZT4MCGagXY2hdR9jcerYYcjWmANhUBYGpVSjMfGQX_cKRc8hiQUvk5NNAFPIXw0poseBLXyw0FFzheuykzaDU6EvHs7ONc1kZuWUX1mU4_uXZJLA0nk-ALIDe6ppnDLtA3o6eVRztPB5AhAlEezvx-bf-2zQelI43LGiB4XKBaFtsfzGDL3u99MfMjvwAiwtqdrBczs0AvLN8yKaUb64B83OC6tNE0NZxuCm5KOJOyb6MVE-Rs6tp66Gc_bErvlOMD5ZMTIMTBohILgatETQkEKBKXFSxvdJuj1tt4S49KRZzxt9RAv5HSDbF8UKW8N-tyBz0fCJUyui58IMS1e495AiizNHMoVb0Qv9k6s0lhzTiMf1uI36BufMkKWD8uIp1sJRKYevD79gT3IgbuuXILFRwWAZoTZSxi2D3XERi-AK91cMKyD_bPCVsXkRKMojVN-7uJ-SVYwE-PPyQfLqDkBEVGfQq_xygJVtfA7Uf2JLx-rf2vK8T3iC1cpRjI8EEacp3l-SShQQVTcuahMb-B3i8gXdIr1tgea4GK_VW9A485f4Ytg1YXJKgguFjk7oUmz3lqSC_JN29Cu1o2wOcxA6lSeC-dHa9lf_hlXOuQ7ByKfN7rPbFv-GflRCYuVz7HKeutMZjY2ROtbJ5eD_bqzkdbgbPPJlLfAJ2TTBr5dKNbOaTwp82WtdtUiL6Q1aVFTqgy9L3PiE70onneMk9YJrUMVggEM33DwAn5NL2ySdlu47_9j06qz-1deI6B8SVjSTnhYtMcFV36hH08AFt86RZmAsjJrgHqp7wYntlfV63x4dOravMgpG4K8UN99KdBN-dHHDpuLOZWYZ2biHXJFpolo3tYLm5hJ4CJ5mmgcOnV6-y5Vbr_09DBOOMYscFWxoZOcwrU-gQPBNUZ2TXDe-kqTgMFQPHZ4OMLcXn3vO0axkfRgUPtXZw2wEoS6zFNwJmbquLIH9Y2xM2325sPAIHUUDSdHT4OfrIVakT-aghUJX7KU_j2FTnH13Q6wYFJ7VyKQjMfRW7Skm7kIacQ3kJWUEMBRJvqUHrUUzagcUTeoPxH_DDDodBpaWowZ2qIgT2e1gdng-2ADeZuesSTtSecLImHWK72rZTW9VXS8sItDUHOS3KyAHC-bW1mJGJ7LQn8vhORgRddBhp2X3Bfabj3Wu4ZCeg-2avxDX5QdmksROXyk4ZD5yaOUEWhQ4vegdc4JZ1BxoqpIviFoVPXOFu0_gZ-MVbwt7Y2Ll3_9Jyo-roahBWnEvpQePjl1bs84NWtG9IcCT5Ak4fvi4d5K1FQ8kBXrroqkH5bsAs00IY6pxv01_CQZ1AO9zXrEXujv89epQyl3dYpExCOA6z0e9TWzk-3tkv2A6ni9Z0prW7I0UZHQrSmRcYwrtz5tzPz-POPvTqCF8Lm4e0HdpYDaHyvuy-YZfdXIK_iubsktAS2pKz6C_qVCK9gmr9Dm30ZQozKOKUOcVBsBg9P1qGteXyWq3gCbvpAooLLraSK-kh5n2NEfHyK7n4BdG6ZD40COe4Nc4tBh-h2DF5A8_XOfU6rBBgj6CjScBxQFYRTaJkKqB3KDnWGV2jVpFzuuE2UCNj3C-2_fHUIKagWhuon_mjQm0DKmyrNJN8SwxQNk3JSpFi6YvJb7uqwzi0fQZmRCIN_SLFPvujFu5osFhLZC8djhiHleaysLlyXSsQdBiUrWKmLe9Q_UeYY-&sp=0.0048 HTTP/1.1 
Host: in16.zog.link
                                        
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://6b089f9297.bdced8843e.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         109.206.175.85
HTTP/2 302 Found
                                        
server: nginx/1.20.1
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 0
location: https://12112336.pix-cdn.org/m/p/0/11/11508/yPndOg0m.html?__OS_FAMILY__={{ __OS_FAMILY__ }}&__OS_TYPE__={{ __OS_TYPE__ }}&__GEOIP_COUNTRY_SHORT__={{ __GEOIP_COUNTRY_SHORT__ }}&__IP2L_MOBILE__={{ __IP2L_MOBILE__ }}&__BROWSER_FAMILY__={{ __BROWSER_FAMILY__ }}&OS_FAMILY=[OS_FAMILY]&OS_TYPE=[OS_TYPE]&COUNTRY_ISO_CODE=[COUNTRY_ISO_CODE]&MOBILE_BRAND=[MOBILE_BRAND]&BROWSER_FAMILY=[BROWSER_FAMILY]&DOMAIN=26porn.com&PRICE=0.0050&PRICING_MODEL=[PRICING_MODEL]&CAMPAIGN_ID=6435&CLICK_ID=f401dd7c-82e9-4467-b2a1-ab6249fe3a7c&id_zone=[idzone]&site={{ site }}&out_name=37319%7C4317%7Ccpm%7C0.0048%7C%24%200.0050&campaign_id=37319&price=0.0050&bidding_price=0.0048&pricebox_price=0.0200&pricing_model=cpm&click_id=f401dd7c-82e9-4467-b2a1-ab6249fe3a7c&priority=[PRIORITY]&ad_sub=173501021&utm1=tcb&utm2=878669509-100&utm3=249-6435-14933&utm4=0-10346131-0
pragma: no-cache
vary: *
cache-control: no-cache, no-store, must-revalidate
set-cookie: 2325.0=1; expires=Wed, 14 Sep 2022 21:35:41 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            GET /in/912/?sid=64892&source=822922551&idzone=0&w=300&h=250&mo=&ve=&site_id=64892&utm1=&utm2=&utm3=&utm4=&ad_tags=26porn.com%2Cmy%2Cbest%2Cfree%2Cporn%2Cvideos%2CDaily%2Cupdated.%20&spot_id=64892&p=https%3A%2F%2F26porn.com%2Fen%2F&katds_labels=&btype=0&score=100 HTTP/1.1 
Host: btds.zog.link
                                        
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://6b089f9297.bdced8843e.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         109.206.181.2
HTTP/2 302 Found
content-type: text/html; charset=UTF-8
                                        
server: nginx/1.20.1
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 0
location: https://twinrdack.com/link.engine?z=56531&guid=ca671639-b7fa-4892-a712-9dad1adff15a&tid=822922551&kw=26porn.com,my,best,free,porn,videos,Daily,updated.
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
vary: *
set-cookie: 912.0=1; expires=Fri, 16 Sep 2022 23:35:41 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            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=11271
Expires: Wed, 14 Sep 2022 00:43:33 GMT
Date: Tue, 13 Sep 2022 21:35:42 GMT
Connection: keep-alive

                                        
                                            GET /smartpop/d17c820671bc856e224c76930cb44c39e2f5b86a9865a50b0560[%E2%80%A6]9e4fa1023dd45be975c4ab2c3f63fc721842490735020a0d0703eb57f7300d HTTP/1.1 
Host: go.xlviiirdr.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://6b089f9297.bdced8843e.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         104.18.42.40
HTTP/2 302 Found
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 0
location: /?campaignId=d17c820671bc856e224c76930cb44c39e2f5b86a9865a50b0560%5B%E2%80%A6%5D9e4fa1023dd45be975c4ab2c3f63fc721842490735020a0d0703eb57f7300d&campaignType=smartpop
access-control-allow-credentials: true
access-control-allow-headers: Content-Type, Content-Length, Accept-Encoding, x-requested-with
cf-cache-status: DYNAMIC
set-cookie: _var=; Path=/; HttpOnly; SameSite=Strict __cflb=0H28uukSkGJRy5UBr2St4i2aEH3UZ9Yf8LXKtxpx2rY; SameSite=None; Secure; path=/; expires=Wed, 14-Sep-22 20:35:42 GMT; HttpOnly
server: cloudflare
cf-ray: 74a403a13d9dfac4-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2

                                        
                                            GET /?campaignId=d17c820671bc856e224c76930cb44c39e2f5b86a9865a50b0560%5B%E2%80%A6%5D9e4fa1023dd45be975c4ab2c3f63fc721842490735020a0d0703eb57f7300d&campaignType=smartpop HTTP/1.1 
Host: go.xlviiirdr.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://6b089f9297.bdced8843e.com/
Connection: keep-alive
Cookie: __cflb=0H28uukSkGJRy5UBr2St4i2aEH3UZ9Yf8LXKtxpx2rY
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         104.18.42.40
HTTP/2 302 Found
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 0
location: https://creative.xlrdr.com/widgets/v4/Universal?hideTitle=1&liveBadgeColor=f51048&tag=girls%2Fteens&thumbType=avatar&userId=a29e4fa1023dd45be975c4ab2c3f63fc721842490735020a0d0703eb57f7300d&p1=broken&trackOff=1
access-control-allow-origin: *
cf-cache-status: DYNAMIC
server: cloudflare
cf-ray: 74a403a18dd5fac4-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2

                                        
                                            GET /smartpop/d17c820671bc856e224c76930cb44c39e2f5b86a9865a50b0560[%E2%80%A6]9e4fa1023dd45be975c4ab2c3f63fc721842490735020a0d0703eb57f7300d HTTP/1.1 
Host: go.xlviiirdr.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://6b089f9297.bdced8843e.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         104.18.42.40
HTTP/2 302 Found
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 0
location: /?campaignId=d17c820671bc856e224c76930cb44c39e2f5b86a9865a50b0560%5B%E2%80%A6%5D9e4fa1023dd45be975c4ab2c3f63fc721842490735020a0d0703eb57f7300d&campaignType=smartpop
access-control-allow-credentials: true
access-control-allow-headers: Content-Type, Content-Length, Accept-Encoding, x-requested-with
cf-cache-status: DYNAMIC
set-cookie: _var=; Path=/; HttpOnly; SameSite=Strict __cflb=02DiuDfsBaY2bRYJiCeRWUB3HBu9a5K9VRLeW5tTnhkgL; SameSite=None; Secure; path=/; expires=Wed, 14-Sep-22 20:35:42 GMT; HttpOnly
server: cloudflare
cf-ray: 74a403a17dcffac4-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2

                                        
                                            GET /in/show/?__OS_FAMILY__=%7B%7B%20__OS_FAMILY__%20%7D%7D&__OS_TYPE__=%7B%7B%20__OS_TYPE__%20%7D%7D&__GEOIP_COUNTRY_SHORT__=%7B%7B%20__GEOIP_COUNTRY_SHORT__%20%7D%7D&__IP2L_MOBILE__=%7B%7B%20__IP2L_MOBILE__%20%7D%7D&__BROWSER_FAMILY__=%7B%7B%20__BROWSER_FAMILY__%20%7D%7D&OS_FAMILY=%5BOS_FAMILY%5D&OS_TYPE=%5BOS_TYPE%5D&COUNTRY_ISO_CODE=%5BCOUNTRY_ISO_CODE%5D&MOBILE_BRAND=%5BMOBILE_BRAND%5D&BROWSER_FAMILY=%5BBROWSER_FAMILY%5D&DOMAIN=26porn.com&PRICE=0.0050&PRICING_MODEL=%5BPRICING_MODEL%5D&CAMPAIGN_ID=6435&CLICK_ID=f401dd7c-82e9-4467-b2a1-ab6249fe3a7c&id_zone=%5Bidzone%5D&site=%7B%7B%20site%20%7D%7D&out_name=37319%7C4317%7Ccpm%7C0.0048%7C%24%200.0050&campaign_id=37319&price=0.0050&bidding_price=0.0048&pricebox_price=0.0200&pricing_model=cpm&click_id=f401dd7c-82e9-4467-b2a1-ab6249fe3a7c&priority=%5BPRIORITY%5D&ad_sub=173501021&utm1=tcb&utm2=878669509-100&utm3=249-6435-14933&utm4=0-10346131-0&banner_id=4190&banner_creative_id=8920 HTTP/1.1 
Host: in16.zog.link
                                        
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://12112336.pix-cdn.org
Connection: keep-alive
Referer: https://12112336.pix-cdn.org/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         109.206.175.85
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx/1.20.1
date: Tue, 13 Sep 2022 21:35:43 GMT
content-length: 2
cache-control: no-cache, no-store, must-revalidate
access-control-allow-credentials: true
access-control-allow-origin: https://12112336.pix-cdn.org
set-cookie: 770.0=1; expires=Wed, 14 Sep 2022 21:35:42 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   2
Md5:    99914b932bd37a50b983c5e7c90ae93b
Sha1:   bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f
Sha256: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
                                        
                                            GET /widgets/v4/Universal?hideTitle=1&liveBadgeColor=f51048&tag=girls%2Fteens&thumbType=avatar&userId=a29e4fa1023dd45be975c4ab2c3f63fc721842490735020a0d0703eb57f7300d&p1=broken&trackOff=1 HTTP/1.1 
Host: creative.xlrdr.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://6b089f9297.bdced8843e.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         104.18.42.40
HTTP/2 200 OK
content-type: text/html
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
last-modified: Wed, 24 Aug 2022 09:22:37 GMT
expires: Tue, 13 Sep 2022 21:35:45 GMT
cache-control: max-age=10
pragma: public
report-to: { "endpoints":[{ "url": "https://go.stripchat.com/report" }], "group": "default", "max_age": 1048576 }
cf-cache-status: HIT
age: 6
vary: Accept-Encoding
server: cloudflare
cf-ray: 74a403a1d997b4eb-OSL
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- exported SGML document, ASCII text
Size:   4533
Md5:    11d67d70934c49b1b4329681d17d94b3
Sha1:   4af09c446e2d01d446cbf3b6955c89b66207e987
Sha256: 8bd8a242492039e399fc250b54ec5253c90b508a59ff4221263b58cebce1aeab
                                        
                                            GET /config?url=https%3A%2F%2Fcreative.xlrdr.com%2Fwidgets%2Fv4%2FUniversal%3FhideTitle%3D1%26liveBadgeColor%3Df51048%26tag%3Dgirls%252Fteens%26thumbType%3Davatar%26userId%3Da29e4fa1023dd45be975c4ab2c3f63fc721842490735020a0d0703eb57f7300d%26p1%3Dbroken%26trackOff%3D1 HTTP/1.1 
Host: go.xlrdr.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
Referer: https://creative.xlrdr.com/
Origin: https://creative.xlrdr.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-site
If-Modified-Since: Tue, 13 Sep 2022 21:28:37 GMT
TE: trailers

                                         
                                         172.64.145.216
HTTP/2 304 Not Modified
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
access-control-allow-origin: *
last-modified: Tue, 13 Sep 2022 21:28:37 GMT
cf-cache-status: HIT
age: 121
vary: Accept-Encoding
server: cloudflare
cf-ray: 74a403a2ec96b51b-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2

                                        
                                            GET /m/p/0/11/11508/yPndOg0m.html?__OS_FAMILY__={{%20__OS_FAMILY__%20}}&__OS_TYPE__={{%20__OS_TYPE__%20}}&__GEOIP_COUNTRY_SHORT__={{%20__GEOIP_COUNTRY_SHORT__%20}}&__IP2L_MOBILE__={{%20__IP2L_MOBILE__%20}}&__BROWSER_FAMILY__={{%20__BROWSER_FAMILY__%20}}&OS_FAMILY=[OS_FAMILY]&OS_TYPE=[OS_TYPE]&COUNTRY_ISO_CODE=[COUNTRY_ISO_CODE]&MOBILE_BRAND=[MOBILE_BRAND]&BROWSER_FAMILY=[BROWSER_FAMILY]&DOMAIN=26porn.com&PRICE=0.0050&PRICING_MODEL=[PRICING_MODEL]&CAMPAIGN_ID=6435&CLICK_ID=f401dd7c-82e9-4467-b2a1-ab6249fe3a7c&id_zone=[idzone]&site={{%20site%20}}&out_name=37319%7C4317%7Ccpm%7C0.0048%7C%24%200.0050&campaign_id=37319&price=0.0050&bidding_price=0.0048&pricebox_price=0.0200&pricing_model=cpm&click_id=f401dd7c-82e9-4467-b2a1-ab6249fe3a7c&priority=[PRIORITY]&ad_sub=173501021&utm1=tcb&utm2=878669509-100&utm3=249-6435-14933&utm4=0-10346131-0 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: 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://6b089f9297.bdced8843e.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.24
HTTP/2 200 OK
content-type: text/html; charset=utf-8
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
server: nginx/1.12.2
last-modified: Wed, 02 Sep 2020 10:48:37 GMT
etag: W/"5f4f7885-7e9"
content-encoding: gzip
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
expires: 0
x-proxy-cache: MISS
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   2017
Md5:    744eb4be8530357bdfd6e4ce7e23e5e2
Sha1:   2817d7f71918c5008f7aca01f4f1979286ccdd44
Sha256: 56deac844bc6fdda1f3454c35b6ec19c8fd0b18ba2ec7971327dabbbe6bb49b9
                                        
                                            GET /cdn/avatars/6/f/7/6f7c42ee9d7388e057c2ec09a30cf4e0-full HTTP/1.1 
Host: cdn.strpst.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://creative.xlrdr.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         104.16.61.52
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 6069
access-control-allow-origin: *
cache-control: public, max-age=2678400
cf-bgj: imgq:100,h2pri
cf-polished: origSize=6284, status=webp_bigger
etag: "615409d7-188c"
expires: Fri, 14 Oct 2022 21:35:42 GMT
last-modified: Wed, 29 Sep 2021 06:38:15 GMT
cf-cache-status: HIT
age: 98270
accept-ranges: bytes
vary: Accept-Encoding
server: cloudflare
cf-ray: 74a403a369340b3d-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 72x72, segment length 16, progressive, precision 8, 200x200, components 3\012- data
Size:   6069
Md5:    1214bb66c8006d711a0f758536690905
Sha1:   8e7f1a9e022f45450ec66988cc25b7ce4e93bda8
Sha256: b0508e2983c4b44c73c04c1845492bf0fad10422bb31ecfcc683ae8a26bb11df
                                        
                                            POST /in/multy HTTP/1.1 
Host: bfe8a1874d.bdced8843e.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: 701
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

                                         
                                         168.119.25.22
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 9098
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:  JSON data\012- , Unicode text, UTF-8 text, with very long lines (9095), with no line terminators
Size:   9098
Md5:    a0ff16b863d1eb6e4d8541ac9bc68797
Sha1:   e7616906c62ccaf17706481f72c271961b0ee9b2
Sha256: 0bc5679d3cea3f772e30ea8d19b7d067c78365fa59cea131a9578b728419b0c3
                                        
                                            GET /in/show/?mid=96844946&pid=0&site=native-push-adult&sc=NO&usage_type=DCH&subid=913512980&sid=3126954595&cid=1997&price=0.00075&is_cpm=0&cpm=0&ecpm=0.06648765494524544&crid=&crtid=41e2b054b7d7fdd561f6651d06d511e5&tcid=0&out_id=1&ver=7.3.0&ver_c=&refdom=26porn.com&hostname=auc-inpage-hz-4-b&site_id=3126241&spot_id=26241&utm_source=&utm_medium=&utm_campaign=&utm_content=&expirationTimestamp=1663191342&created_at=2022-09-13&is_native=2&auction_queue=0&burl=iSY40zwX10UFcJz7dU6DV1WGZTVazjoPbICfYWFdK_K1cskosBQErVtwJQn6fnlljipekr7-KLQoayWOMUcv3UFLdb6LDRvEvXiZ8fMQTlyA90yFEO66&pop_winurl=&ip=91.90.42.154&testab=0&px_id=3126241&adblock=0&auction_host=all&mm=0&yc=0&render_type=hq&campaign_type=lq-pop&uniq=&exp=&resp_type=&iabcat=IAB25-3&min_cpm=0.06577643783538963&placement_type_id=&skin_test=0&verify_hash=ef1d01776d50a58ab8c777dda5a67e3c&score=85.38601880683295&durl=https%3A%2F%2Fts.cvastico.com%2Fin%2F1546%2F%3Fad_sub%3D913512980%26spot_id%3D26241%26is_adult%3D1%26p%3Dhttps%253A%252F%252F26porn.com%252F%26idzone%3D0%26sid%3D1886&ml=&tag_ab=d&original_bid=0.00075&v2_track=0&url=mtF9HNh_b-1MMM9FFlKeKvECN1Ylcy60f7EvnpIPcTjpvy9IBdYuVAGx4gfl8MQbtpY30gsWgXk0tqjZBUmByfkiuXZ0U40_rVerN8GCSFUeRvx2X7uqEXbWlzbL7eEqgrRXNDciSSayz3DthzXSRRYAlKGp2E4yf4mfq82GagTv4Zwq2w&image_url=https%3A%2F%2Fstatic.bookmsg.com%2Fcreatives%2FIN%2FIN_da5b583487923e03a815871465a0b6f24c2cb005_icon.webp&skin_id=2&vertical_id=0&real_bid=0.0006225&pr=&user_keywords=&auc_type=1&aid=178&ext_cid=0&device_theme=light&mlc=1&format=default-slide-b_r-body&mlf=1&cpa=3c6060ae-fa6b-4483-a767-831f77c0dd13 HTTP/1.1 
Host: bfe8a1874d.bdced8843e.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://26porn.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         168.119.25.22
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:42 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://static.bookmsg.com/creatives/IN/IN_da5b583487923e03a815871465a0b6f24c2cb005_icon.webp
X-Firefox-Spdy: h2

                                        
                                            GET /link.engine?z=56531&guid=ca671639-b7fa-4892-a712-9dad1adff15a&tid=822922551&kw=26porn.com,my,best,free,porn,videos,Daily,updated. HTTP/1.1 
Host: twinrdack.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://6b089f9297.bdced8843e.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         172.66.40.122
HTTP/2 302 Found
content-type: text/html
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
location: https://go.xlviiirdr.com/smartpop/d17c820671bc856e224c76930cb44c39e2f5b86a9865a50b0560[%E2%80%A6]9e4fa1023dd45be975c4ab2c3f63fc721842490735020a0d0703eb57f7300d
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=SiCqkJX73yyiAGw24SXjXnSUQNRFohVYHe%2BnrVVGdSHoDHpSqHLHFUS30pQf0RBEp39KeIvayWr5PTEDnUvVCvbhOIC29anfLFb%2BSv9UIjOnEjtxx%2BrFuAk0g%2FUSE%2F4%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 74a4039fe9e9b4f3-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2

                                        
                                            GET /in/show/?mid=96844946&pid=0&site=native-push-adult&sc=NO&usage_type=DCH&subid=913512980&sid=3126954595&cid=2315&price=0.01675000024959445&is_cpm=0&cpm=0&ecpm=0.04059559430327329&crid=&crtid=1c81c2cc33a9d6c8cd6172aeefa0077e&tcid=0&out_id=0&ver=7.3.0&ver_c=&refdom=26porn.com&hostname=auc-inpage-hz-4-b&site_id=3126241&spot_id=26241&utm_source=&utm_medium=&utm_campaign=&utm_content=&expirationTimestamp=1663191342&created_at=2022-09-13&is_native=1&auction_queue=0&burl=MBmGvlUodWozrSMNIHZqUf6xgm9Wm1kftCx0yIPlKD046RwIvlQpIA&pop_winurl=&ip=91.90.42.154&testab=0&px_id=7326241&adblock=0&auction_host=all&mm=0&yc=0&render_type=hq&campaign_type=hq&uniq=&exp=&resp_type=&iabcat=IAB25-3&min_cpm=0.00201697751482161&placement_type_id=&skin_test=0&verify_hash=50c1f94149f099eb3502438750b17c49&score=85.38601880683295&durl=https%3A%2F%2Fts.cvastico.com%2Fin%2F1546%2F%3Fad_sub%3D913512980%26spot_id%3D26241%26is_adult%3D1%26p%3Dhttps%253A%252F%252F26porn.com%252F%26idzone%3D0%26sid%3D1886&ml=&tag_ab=d&original_bid=0.01675000024959445&v2_track=0&url=gO-k72TAYYjlq6zIk6uBbvbeSjyN5eFOTn0dhD8SCCIs2BpE_dXZiMSwcSCYivpIFP0mS5vpZLuD5TC-D-ZdGoJMrPXdUEu2mUvtn4fZOYd93Sy-5NZUsgoquYy3-pw79Rg8PZpj4wFk3Gh4mBHd2KfhyhsWbY_u87Oonc8cXnlylSJD-o1a0znu-gIlBwmF3npeQ8ym_KGzsa0q3YsyP_TtepwiHOtLgqmlfCH29jyKBl1JJFYjbjeEThjS7ZL-hnAEedDcCsHtpMjYXaheV_hLCfA3JqYKlLi34qpA6nDrZ4cY-Nm6OMQW6v7xtgyOgxs8UttGyFLwV2kSRtBr5bpBW8Axt9EKWe1l-OGpWBxVXqpxnLRKMGFzC1f3fzn8s-SGP39KfmVIsf1nX9RnAsZ_WYVcXbJ5ch_oC834Cm-Aeb5i-FHeZQpt0q19Nb88f317iZZzDTalp-nP8bPomxF_jEbStJda6ngg57OXvth06DtLqbFgNeh_QlBqXwTZOvDTgtkXX1SsPhJVO94XTk24kV80sR5cZWB5r1Uu-UhjqmwgHYEXHIn7auglm1xBdBkiQiCivwLy97-hCchjacbWIXi3f7tFsj2AqWQoR6nPgOg6xJrj3hokEFfrVGOSQOnucaTdGbZiVyHuECa353qY-fKxjVUVzo-1-r_8TpMbK0079CfQgpcJLRBEfD4HkPWICtvCKpSptxgCTfkrEIC2o4eGL_jRUlHv36BLlKWTH55eDBUOhOQRDft8Ggx-NtISrzSXBhLZ5H8DCG0cvpA5a6Rhog0KreSrQelzyGP8KYDxnspRcg8cX9cJqUtHFYMmktnE2hqsCuwxExlfjxL5U3kQXOyLeHZGZC1PYh0NNW0PQA-WmiuNN1jYOfG0EbOurddIjAVMLnfdaNLBNOIpYV9gf9ysBtMFPjE9wJcn6CMRCosLLGB6ymGKoTHRVgcvnrSQ--5wwfBW51i2OmWj8Ol9A_3DZ0Fdkskyi_jnYWO7Xjez740AhAe7qrpQG2W3ZVuHMrWvzVuQyoMSE2xfF_p87T-nFnMcymJqf3s5RKF_1VUPzvcMulAtvs58cN-0INf1fwl9GLo6d6sJ&image_url=https%3A%2F%2Fi.cdnkimg.com%2Fauto%2F492x328%2Fq85%2Fimage%2Fvk%2F3643%2F643%2Frect_626aadf074621t1651158512r522.png.webp&skin_id=2&vertical_id=0&real_bid=0.012395000184699892&pr=&user_keywords=&auc_type=1&aid=412&ext_cid=0&device_theme=light&format=default-slide-b_r-body&cpa=647a183a-a35a-474c-8ee8-60d1963dea05 HTTP/1.1 
Host: bfe8a1874d.bdced8843e.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
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         168.119.25.22
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:42 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://s.viifixi.com/n/738/pniesytebn4fsbtppn5fgzsimnsqy7c3bjthu7sunbgwoa6ahrgtqxtwpaagmtlem4evw3qhmf7hqv3ejngo54s2jgnm7immtkxypk5nhf4wqcsgd6uwicaqgsjm7442scc5xfvlkeiptpn32bxufvu3uo5vkagml2zeqob2xwjjoy2imzsveocjzgv47vtufg4x6lkshbewsmswx52oculz3rjtfwliwpwup63avx5hb2rzs5rpev5es26vfnkviwhzquphk5czyqtltvkz75efkxnfounwmbd47blksbefnasxjtzwamfakxqoly6bgg3e56n47lifporzjcntgvi2das5s6rfn4zj5sscwnynwy2r2jlfc3i2fwbfjrvvsppyhk5ny63gr4cum5bgcudy6tf2ducwemcpovi4xfpmk3iilvismfy56n7s3elsymdrq2jskzhuwynai6ofaue3nmzi4tkjqfjpzx45xfhjsmctyvegsyyznrqf26qmahdeysgbkoivh6r3jdmtcv57jc6n5x7skc5e22zrkdpu7sss4bifhgcnyto5lvsnzfkhtzcwsdiip5m55dzgh2d43wwmvruszwu3bndarj6f4yijpnpqwy33pzmglwcrkm======?f=https%3A%2F%2Fi.cdnkimg.com%2Fauto%2F192%2Fq85%2Fimage%2Fvk%2F3643%2F643%2F626aadf074621t1651158512r522.png.webp
X-Firefox-Spdy: h2

                                        
                                            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: "E36343CD3EF52CEF864BF7B3947052AB35A11073B960A8DF49CEB5BED2ADB487"
Last-Modified: Tue, 13 Sep 2022 00:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3251
Expires: Tue, 13 Sep 2022 22:29:53 GMT
Date: Tue, 13 Sep 2022 21:35:42 GMT
Connection: keep-alive

                                        
                                            GET /auto/492x328/q85/image/vk/3643/643/rect_626aadf074621t1651158512r522.png.webp HTTP/1.1 
Host: i.cdnkimg.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
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.37
HTTP/2 200 OK
content-type: image/webp
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 10348
server: nginx/1.19.0
cache-control: max-age=1209600
x-cache-status: MISS
expires: Tue, 27 Sep 2022 21:35:42 GMT
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image, VP8 encoding, 360x240, Scaling: [none]x[none], YUV color, decoders should clamp\012- data
Size:   10348
Md5:    68329d624a42af6145117bed5c9a2f03
Sha1:   4439b8d8b7e2dc706b5e9a417852bf16e6eb17dd
Sha256: ede7a9f931abc7e53d07dbf4a82e992cfc38ebb280158f7fa4d12d00cab03bc6
                                        
                                            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: "D5138F948C1480582F50FBAEFD1717C3D046488FB5CCCC71302C4ABF1C02EC9C"
Last-Modified: Sun, 11 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6827
Expires: Tue, 13 Sep 2022 23:29:29 GMT
Date: Tue, 13 Sep 2022 21:35:42 GMT
Connection: keep-alive

                                        
                                            GET /n/738/pniesytebn4fsbtppn5fgzsimnsqy7c3bjthu7sunbgwoa6ahrgtqxtwpaagmtlem4evw3qhmf7hqv3ejngo54s2jgnm7immtkxypk5nhf4wqcsgd6uwicaqgsjm7442scc5xfvlkeiptpn32bxufvu3uo5vkagml2zeqob2xwjjoy2imzsveocjzgv47vtufg4x6lkshbewsmswx52oculz3rjtfwliwpwup63avx5hb2rzs5rpev5es26vfnkviwhzquphk5czyqtltvkz75efkxnfounwmbd47blksbefnasxjtzwamfakxqoly6bgg3e56n47lifporzjcntgvi2das5s6rfn4zj5sscwnynwy2r2jlfc3i2fwbfjrvvsppyhk5ny63gr4cum5bgcudy6tf2ducwemcpovi4xfpmk3iilvismfy56n7s3elsymdrq2jskzhuwynai6ofaue3nmzi4tkjqfjpzx45xfhjsmctyvegsyyznrqf26qmahdeysgbkoivh6r3jdmtcv57jc6n5x7skc5e22zrkdpu7sss4bifhgcnyto5lvsnzfkhtzcwsdiip5m55dzgh2d43wwmvruszwu3bndarj6f4yijpnpqwy33pzmglwcrkm======?f=https%3A%2F%2Fi.cdnkimg.com%2Fauto%2F192%2Fq85%2Fimage%2Fvk%2F3643%2F643%2F626aadf074621t1651158512r522.png.webp HTTP/1.1 
Host: s.viifixi.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
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         185.196.197.130
HTTP/2 302 Found
                                        
server: nginx/1.19.0
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 0
location: https://i.cdnkimg.com/auto/192/q85/image/vk/3643/643/626aadf074621t1651158512r522.png.webp
X-Firefox-Spdy: h2

                                        
                                            GET /auto/192/q85/image/vk/3643/643/626aadf074621t1651158512r522.png.webp HTTP/1.1 
Host: i.cdnkimg.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
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         45.133.44.37
HTTP/2 200 OK
content-type: image/webp
                                        
date: Tue, 13 Sep 2022 21:35:42 GMT
content-length: 7712
server: nginx/1.19.0
cache-control: max-age=1209600
x-cache-status: MISS
expires: Tue, 27 Sep 2022 21:35:42 GMT
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image\012- data
Size:   7712
Md5:    311dea4d14f115d233335c6e836384b4
Sha1:   8b92a31d5f07440ea67469f1b2827fe1bde271e4
Sha256: 8136f9d883af8abb2895a1c5946063fc41ed4b3a7f7226ffe2f49e49a3d0c961
                                        
                                            GET /creatives/IN/IN_da5b583487923e03a815871465a0b6f24c2cb005_icon.webp HTTP/1.1 
Host: static.bookmsg.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://26porn.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         88.198.209.15
HTTP/2 200 OK
content-type: image/webp
                                        
server: nginx/1.18.0
date: Tue, 13 Sep 2022 21:35:43 GMT
content-length: 790
last-modified: Tue, 24 Nov 2020 14:20:43 GMT
etag: "5fbd16bb-316"
cache-control: public, max-age=315360000
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image, VP8 encoding, 100x100, Scaling: [none]x[none], YUV color, decoders should clamp\012- data
Size:   790
Md5:    65156a660e465299370ebd90d84aa461
Sha1:   12ff60b17f579a77e42a8be7b6b1892fc71be33d
Sha256: e3b2784385cd128d5a6dfdec7f4be2147d6b57fa66c1a36c61c085aaf27f9e18
                                        
                                            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: "E1BC5DCCC3700F01341B9F33D726DE350067F2F3564CDD47EEFCB5E8F861A5B8"
Last-Modified: Mon, 12 Sep 2022 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6226
Expires: Tue, 13 Sep 2022 23:19:29 GMT
Date: Tue, 13 Sep 2022 21:35:43 GMT
Connection: keep-alive

                                        
                                            GET /CACHE/css/output.7dd1bac2aa0d.css HTTP/1.1 
Host: static-assets.highwebmedia.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
Referer: https://chaturbate.com/
Connection: keep-alive
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         104.16.93.42
HTTP/2 200 OK
content-type: text/css
                                        
date: Tue, 13 Sep 2022 21:35:43 GMT
cache-control: public, max-age=2592000
cf-bgj: minify
cf-polished: origSize=244858
etag: W/"d5c9ca53103eb8b579b1196dc76a53eb"
last-modified: Mon, 12 Sep 2022 17:41:32 GMT
x-amz-id-2: D9DfQpOcJszqXXUpIsU8z3Xt81UOjcyg1/FzI5Wa9/9KdHNhNF/bqZ1eie7nx6soUuU0kuSKUdU=
x-amz-meta-s3cmd-attrs: md5:d5c9ca53103eb8b579b1196dc76a53eb
x-amz-request-id: KKKT80XTZX1GGKNR
cf-cache-status: HIT
age: 100269
expires: Thu, 13 Oct 2022 21:35:43 GMT
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=16UBLx5giENX%2BJ%2B3AYpbbMZu4uJPXPWoqj5KL7pMInoCC%2F8ZK%2BfjQCOik7tIwf3JDAGmQ6YJfsu5wJhJhOHnaZuTwrpAxBO%2Fi47BDhbAcs6HM9Ca9cnlry3EIO5ELAgzSc9n2cI3agS87aWn7YSRkw%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
set-cookie: _cfuvid=0_nu9lWYPcaTQjpRm1DyRIO6U0Hmn20hfyunBsTdqb0-1663104943267-0-604800000; path=/; domain=.highwebmedia.com; HttpOnly; Secure; SameSite=None
server: cloudflare
cf-ray: 74a403a75f96b524-OSL
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- exported SGML document, ASCII text, with very long lines (31162)
Size:   90727
Md5:    04c93b6a9df2f2c6da7d59fd0a60bd29
Sha1:   f5ff63de104a0e9f239f3ee58ffd5b2ab0c5423a
Sha256: a6b16547947586d390657f3e9e1c7a89daa0b1fed2e2e7a3a91af826b6dbf4fc
                                        
                                            POST /get/ HTTP/1.1 
Host: mcpuwpsh.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
Referer: https://26porn.com/
Content-Type: text/plain;charset=UTF-8
Origin: https://26porn.com
Content-Length: 450
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         94.130.197.134
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx/1.16.0
date: Tue, 13 Sep 2022 21:35:43 GMT
content-length: 1261
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:  JSON data\012- , ASCII text, with very long lines (1261), with no line terminators
Size:   1261
Md5:    f3a998e1490ed82f34abf520a2f02272
Sha1:   54727ca19173ae8bec894566d40be5ab0359beb0
Sha256: 1bb2eb062ceefed4a46d41d4814d58c32e3acaedef308d931e1a95ff8c063e87

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /CACHE/js/output.09a0bf741d47.js HTTP/1.1 
Host: static-assets.highwebmedia.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
Referer: https://chaturbate.com/
Connection: keep-alive
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         104.16.93.42
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Tue, 13 Sep 2022 21:35:43 GMT
cache-control: public, max-age=2592000
cf-bgj: minify
etag: W/"bb81bca2482741d6c4dcf148cb33a79d"
last-modified: Wed, 17 Aug 2022 00:26:59 GMT
x-amz-id-2: 3dz298/kgeP1Pq/aBz8wop8Gas15qR9oG1wjU5FgYthy7g6Z9MZpPydhaAydlHaKkHGU8KIJbDw=
x-amz-meta-s3cmd-attrs: md5:bb81bca2482741d6c4dcf148cb33a79d
x-amz-request-id: RGGA1ZRYYYSSRXHH
cf-cache-status: HIT
age: 2408731
expires: Thu, 13 Oct 2022 21:35:43 GMT
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=RA2SJXN1gMvSZUdGvAXXYom09UUAQZ0Qh8U%2FHMcmZmP%2FLnFuEJLRBSdmVKwHG0b4KJmPZFj2tvywENfS5ItAJnlIqEkEeXfCL0KhZTWg3aLDb%2F66VOBwU8opGgivnNA2Z64zMX9Br8qX6jnjzpkFPA%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
set-cookie: _cfuvid=0_nu9lWYPcaTQjpRm1DyRIO6U0Hmn20hfyunBsTdqb0-1663104943267-0-604800000; path=/; domain=.highwebmedia.com; HttpOnly; Secure; SameSite=None
server: cloudflare
cf-ray: 74a403a75f9bb524-OSL
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (65529), with no line terminators
Size:   40952
Md5:    b6ca1e367def64045dd905d3dc9273be
Sha1:   372d627c95c04a008855ea5152b8fd2a49fb005d
Sha256: 903bbbe4a0aebc9fd0cf8de21e7e6358a53af2f598cfdec15520b12c434c57d8
                                        
                                            GET /popunder/in/click/?mid=215826871&pid=0&site=64834&sc=NO&usage_type=DCH&subid=1858225680&sid=0&cid=12900&price=0&is_cpm=0&cpm=0.712&ecpm=0.753&crid=&crtid=&tcid=0&out_id=&ver=&ver_c=&refdom=26porn.com&hostname=auc-popunder-hz-0&site_id=0&spot_id=64834&utm_source=&utm_medium=&utm_campaign=&utm_content=spt_2&expirationTimestamp=0&created_at=0000-00-00&is_native=0&auction_queue=0&burl=&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=&iabcat=IAB25&min_cpm=0.4&placement_type_id=&skin_test=&verify_hash=&score=99&durl=&ml=&tag_ab=&original_bid=0&pop_type=0&space_id=1095&verify_hash=&real_bid=&skin_id=&vertical_id=&stratagem=&accel=0&gyr=0&iabcat=IAB25&url=https%3A%2F%2Fts.cvastico.com%2Fin%2F849%2F%3Fsource%3D1858225680%26site_id%3D64834%26utm1%3D%26utm2%3D%26utm3%3D%26utm4%3Dspt_2%26idzone%3D0%26spot_id%3D64834%26mo%3D%26ve%3D%26ad_tags%3D26porn.com%252Cmy%252Cbest%252Cfree%252Cporn%252Cvideos%252CDaily%252Cupdated.%2520%26p%3Dhttps%253A%252F%252F26porn.com%252Fen%252F%26sid%3D1095%26katds_labels%3D%26is_iframe%3D0%26btype%3D0%26score%3D99&pr=&bid_crid=&bid_cid=&ad_tags=26porn.com%2Cmy%2Cbest%2Cfree%2Cporn%2Cvideos%2CDaily%2Cupdated.%20&is_interstitial=0 HTTP/1.1 
Host: mcpuwpsh.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
Referer: https://26porn.com/
Origin: https://26porn.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         94.130.197.134
HTTP/2 302 Found
                                        
server: nginx/1.16.0
date: Tue, 13 Sep 2022 21:35:43 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://ts.cvastico.com/in/849/?source=1858225680&site_id=64834&utm1=&utm2=&utm3=&utm4=spt_2&idzone=0&spot_id=64834&mo=&ve=&ad_tags=26porn.com%2Cmy%2Cbest%2Cfree%2Cporn%2Cvideos%2CDaily%2Cupdated.%20&p=https%3A%2F%2F26porn.com%2Fen%2F&sid=1095&katds_labels=&is_iframe=0&btype=0&score=99
X-Firefox-Spdy: h2


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

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /CACHE/js/output.1486cd5aa4f0.js HTTP/1.1 
Host: static-assets.highwebmedia.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
Referer: https://chaturbate.com/
Connection: keep-alive
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         104.16.93.42
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Tue, 13 Sep 2022 21:35:43 GMT
cache-control: public, max-age=2592000
cf-bgj: minify
cf-polished: origSize=117895
etag: W/"eb2259ff6dbd950ae158f73065752aa1"
last-modified: Thu, 21 Oct 2021 18:11:54 GMT
x-amz-id-2: k6NhlyRh+XXZM7+pSOMylQwAMSlxLRy7teDHalfRWz7mnIIf6Ig6amIFaKAolUjBHmL3PkEkULk=
x-amz-meta-s3cmd-attrs: md5:eb2259ff6dbd950ae158f73065752aa1
x-amz-request-id: FHZ86T60E9WK32PB
cf-cache-status: HIT
age: 777734
expires: Thu, 13 Oct 2022 21:35:43 GMT
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Eg8ZWkLBQtUrqRaATRMZ4yZzGDGFdL%2FifGyAs3l1OswSmfMJddKnVbG%2F5hyHrawJ2XZk5bF%2BRvgIeiXYPpzUq5xbxAyodYosq%2FH%2BfNDqd7SaUtb8eQKFNO0vnRL6RigwNswoLdSjKE7uPGzyiAaTvQ%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
set-cookie: _cfuvid=bVWSrr8P4.1ayU7U3yPuXt_Uz1GYoFEtiWBCNQLLdsw-1663104943270-0-604800000; path=/; domain=.highwebmedia.com; HttpOnly; Secure; SameSite=None
server: cloudflare
cf-ray: 74a403a75fa5b524-OSL
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- exported SGML document, Unicode text, UTF-8 text, with very long lines (32769)
Size:   107080
Md5:    5b047d2710aab959eceb7c8f3ab436b8
Sha1:   61b0f87efc723d11ce9cc6ac11a313a38b3dd386
Sha256: 519bf2b1a1aad8aeff185ec51cc44ae04b5a086a7f3756ca4cde5c9022819951
                                        
                                            GET /stream?room=wildtequilla&f=0.4923797050364507 HTTP/1.1 
Host: cbjpeg.stream.highwebmedia.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
Referer: https://chaturbate.com/
Connection: keep-alive
Cookie: _cfuvid=0_nu9lWYPcaTQjpRm1DyRIO6U0Hmn20hfyunBsTdqb0-1663104943267-0-604800000
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         131.153.88.92
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
date: Tue, 13 Sep 2022 21:35:43 GMT
content-length: 34150
access-control-allow-origin: *
access-control-allow-methods: GET, POST, OPTIONS
access-control-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
strict-transport-security: max-age=31536000; includeSubDomains
content-security-policy: default-src 'none'; img-src data:; style-src 'unsafe-inline'
cache-tag: cbjpeg
x-frame-options: DENY
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02, aspect ratio, density 1280x1281, segment length 16, comment: "Lavc58.91.100", baseline, precision 8, 854x480, components 3\012- data
Size:   34150
Md5:    b3ae1c4a2a7ca85c6bcf327d3660308a
Sha1:   84c2465118215227dd344c055d0b85a47a5cee06
Sha256: 8964de2635b4c8e2d04f91438da8e5506c3b7733db449d6ea94e0b0546489280
                                        
                                            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: "41BC4B780CB665E6795E5DB7BC1EE1A0BFF926CF7CC3498D72146E9EC14AE44B"
Last-Modified: Sun, 11 Sep 2022 20:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3520
Expires: Tue, 13 Sep 2022 22:34:24 GMT
Date: Tue, 13 Sep 2022 21:35:44 GMT
Connection: keep-alive

                                        
                                            GET /in/849/?source=1858225680&site_id=64834&utm1=&utm2=&utm3=&utm4=spt_2&idzone=0&spot_id=64834&mo=&ve=&ad_tags=26porn.com%2Cmy%2Cbest%2Cfree%2Cporn%2Cvideos%2CDaily%2Cupdated.%20&p=https%3A%2F%2F26porn.com%2Fen%2F&sid=1095&katds_labels=&is_iframe=0&btype=0&score=99 HTTP/1.1 
Host: ts.cvastico.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: null
Referer: https://26porn.com/
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         109.206.175.252
HTTP/2 302 Found
content-type: text/html; charset=UTF-8
                                        
server: nginx/1.20.1
date: Tue, 13 Sep 2022 21:35:43 GMT
content-length: 0
location: https://p.1ts17.top/pu.php?partnersCode=cbfcb6e4&flt=0
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
vary: *
set-cookie: 849.0=1; expires=Wed, 14 Sep 2022 21:35:43 GMT; path=/; secure; SameSite=None 1622.0=1; expires=Wed, 14 Sep 2022 21:35:43 GMT; path=/; secure; SameSite=None 1623.0=1; expires=Wed, 14 Sep 2022 21:35:43 GMT; path=/; secure; SameSite=None 1628.0=1; expires=Wed, 14 Sep 2022 21:35:43 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            GET /ps/sw.js HTTP/1.1 
Host: sw.wpush.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
Service-Worker: script
Connection: keep-alive
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: Tue, 13 Sep 2022 21:35:42 GMT
server: nginx/1.18.0
last-modified: Wed, 07 Sep 2022 14:09:54 GMT
etag: W/"6318a632-158c"
content-encoding: gzip
expires: Tue, 13 Sep 2022 21:40:42 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   66875
Md5:    5d210d55e72a0e697f7f8c0bbcd9b08b
Sha1:   ca86489bec81709493e04a8f861a5168053842ee
Sha256: 3480c88e279df98bfc62cd20b141915ca74c717f15935148d648e574fc4f22c6
                                        
                                            GET /1/6f524845d1?a=24279235&v=1216.487a282&to=MwYEbUdYXxJQWhULDApMIExbWkUIXldOAQsFF0hPXFxGEgtrDg0OMgoDThteVBU%3D&rst=2328&ck=1&ref=https://chaturbate.com/embed/wildtequilla/&ap=137&be=957&fe=2036&dc=1383&af=err,xhr,stn,ins,spa&perf=%7B%22timing%22:%7B%22of%22:1663104928890,%22n%22:0,%22r%22:0,%22re%22:625,%22f%22:625,%22dn%22:625,%22dne%22:625,%22c%22:625,%22s%22:625,%22ce%22:625,%22rq%22:628,%22rp%22:941,%22rpe%22:941,%22dl%22:947,%22di%22:1379,%22ds%22:1382,%22de%22:1388,%22dc%22:2035,%22l%22:2035,%22le%22:2038%7D,%22navigation%22:%7B%22rc%22:2%7D%7D&at=H0ETGw9CExRCXBM9CgBBXAkZG0QSVEsPAw4BQVwbamZQD15XPj1BSEEVUFJXRBFuXQAWBkZZVhUXenc%2BY1gYQFlGVFJYAQkCAAVcBAcGBlcAABh4Yy8TFUMhJTshCU0XAwhRHRsiJDwmDBJ8TU1DABMDQwQCCBADFVNYXRJUG01AEQECCmZcSRNbEwBQTFpUTVILGwgEVRMVQwMNCw05X1lYVhITA0NAT0YBA0pBZlYUVEoSPQoUQVwbDAgfWAEXVVBNVVZSGxkbUwRCTT4FFgEQFWZSXF5DCxsvLUFIQQ9JalpeFF9NExtBXkEodhcVEwhBZgINFgoXFEBqWl4PV1AFBw0HBkQDFwAIQx0bCBI8CgYSTlpLWkMLGwMOChxNBVZYGx1DWEk%2BDREDAghQT1hFCF5XQ1hBJg8PQRVqXg1ETQgNDRdBShtcSW4IQklDWEEmDw9BFWpeDURNCA0NF0FKG1xJbgBCV0NYVlRQVg0ZG1gRblgSDDwLEQEbDxtzDVhBQTEMCBYSUFpXQkFwakNOQQ0TOVpaV18EUk0IDQ07Fx9JUBsLQ3JYAw4GSyc1dRcVEwhBZhQRBhY8EkBFXBNbE0sEEQoABghNXFhdQx0bEwcSEQYVTWpJUBVZG1tATAEOBFxRFkYIXV0VBxIRCgpVVBYTTRNODT0LCxASGw8bUglQTRQQAQUXAxdWVlxDHRsSCxcBPA9dFwMATRNKCBYGOwcJVFRQX0MLGwIKAhAWFFtUTVRPUlYMQE9GEQNIQFxCFW5RDhEXRllEWl1YRRRDWwAWBkoACVQXFRMDQ1YWEQYWPA9dFwMTUAcKU1EBBVNLWAcJA0wFXQUDTgZaXloYDAJVVQ9WAVBTBQULFxUTE1RfBBAGFkFcG11NRRFCA05NUlZSVwsGCgdPQVAZTwAADUhWR14eQx0bEwcSEQYVTWpUVBVZVgVAWUYkI20XFRMRSE0JDQ07FQNLRlBeDxMDQ1FNU0FKG0BYbgVUTwgBBjsFB1RcVUhDCxsuFgsBEUQVF0xQPlVcFwsAATwSQEVcE1sTXQQRCBAMFhsZG0QAblYSPQUFDg9VTBsLQ31QDxcbRk9ETFRmXhJuTwQQEA0MCBsPGxNNE0wAPQEWDBFKUEtuB1BUCA4aRllEf1xLVAdeQUNOQRECOVtHVkYSVEs%2BFAYWEA9WWxsLQwgPT1JBSEETWGpKRRNYVwZAWUYuCUNcVV0AHgxPUkNMO1cIDhl9CF9MGUIbXFU5DwECERNHA1hUTVRKRn5QWloOHgtRU1NUUlYIFX9YE1RfDhpMXVVICRcVEwZYTT4BDAkOD00XAxNWAl9SVQIABl5bB1sTTRNJABACCRBEAxdCbUNbVggMPAsVA0tZWEg9EwNBPkFVP0QVFWUTFV5MEz5BXkM6G1FtXFFtG01CP0YAB1RFWFgGX2VDWEM4QRJYekpzPRMVQT5BAAoVWFdVVD5CVhQMBzhBXBlpGwA9ExVBPkEJDARQWVxjBFVQEwcAED9EAxVlEwBETQ4%2BQUhDOhtQVFMEVWYXCwcBDDlWW1VIPRMDQT5BVT9EFRVlExVQSwYHFzhBXBlpG24DXVgPCT9GHkQVF1xdCFZQAw4GOxAWVVxNbhVUShURQV5BRntZTEMtVlAPICREJxVaQ0tzUBF9EgEVFiFUGXFKUhdDe1JCJxcAEEt3DREzX2oRGzAMQ0QVF1xdCFZQAw4GOxAWVVxNbhVUShURPAoQRAMXGXMNREsTBwcoDAFQW3ZHBENVABtDNgYIWFhcYhFIagkNFBdDAlBGWl4XVEsYPRMFBAMZFxUTAFJNCBQGOxAWVVxNbhVUShURQV5BRntZTEMtVlAPICREJxVaQ0tzUxEbTUACBxcPT1BmQhFdUBU9FwEQEkpqV0JDCxtBIA8RERRcUXVeBlhXLhQGFg8HQBVdWBJSVhcHER08FlhSXBFDHRsCAw47FwdeFwMTEURbDQsARk9EWlpVXhNuVA4GBkZZRFVcXlkVXFYFB0FIQRRWWlRuEkVYFRcQRllEVVxPVENMRA%3D%3D&jsonp=NREUM.setToken HTTP/1.1 
Host: bam.nr-data.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
Referer: https://chaturbate.com/
Connection: keep-alive
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         162.247.241.14
HTTP/1.1 200 OK
Content-Type: text/javascript
                                        
Date: Tue, 13 Sep 2022 21:35:44 GMT
Transfer-Encoding: chunked
Connection: keep-alive
CF-Ray: 74a403afacdd1c0e-OSL
Access-Control-Allow-Origin: *
Set-Cookie: JSESSIONID=68943ffb2c7d9c90; Path=/; Domain=.nr-data.net; Secure; SameSite=None
CF-Cache-Status: DYNAMIC
access-control-allow-credentials: true
access-control-allow-methods: GET, POST, PUT, HEAD, OPTIONS
Cross-Origin-Resource-Policy: cross-origin
Vary: Accept-Encoding
Server: cloudflare
Content-Encoding: gzip


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   72
Md5:    107d93e382e2c9b00fbf9fb0edc65d86
Sha1:   77e750e3ebf9706f4f6dd253785602d70be17c6c
Sha256: a1ee50b689ea433a0acdccbf4ee4629e9ea3f9c4bcdd21effb334359a2f9e937
                                        
                                            OPTIONS /keys/KSKw2g.L36ISg/requestToken?rnd=13847580334507392 HTTP/1.1 
Host: realtime.pa.highwebmedia.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: ably-agent,content-type,x-ably-version
Referer: https://chaturbate.com/
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         54.230.111.129
HTTP/2 204 No Content
                                        
access-control-allow-credentials: true
access-control-allow-headers: Origin,X-Requested-With,Content-Type,Content-Length,Accept,Authorization,X-Ably-Version,X-Ably-Lib,X-Ably-ClientId,Ably-Agent
access-control-allow-methods: GET,PUT,POST,DELETE,OPTIONS
access-control-allow-origin: https://chaturbate.com
access-control-max-age: 3600
date: Tue, 13 Sep 2022 21:35:44 GMT
x-cache: Miss from cloudfront
via: 1.1 5916f6b8d469d1bee1e905ff13761ebc.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-P1
x-amz-cf-id: Q8CEvlTQDpjGcMQJ2XIIJZnyfCR4UHTP2z03FnkEe70ngicsSvB4eA==
X-Firefox-Spdy: h2

                                        
                                            GET /stream?room=wildtequilla&f=0.4116057957799394 HTTP/1.1 
Host: cbjpeg.stream.highwebmedia.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
Referer: https://chaturbate.com/
Connection: keep-alive
Cookie: _cfuvid=0_nu9lWYPcaTQjpRm1DyRIO6U0Hmn20hfyunBsTdqb0-1663104943267-0-604800000
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         131.153.88.92
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
date: Tue, 13 Sep 2022 21:35:44 GMT
content-length: 35057
access-control-allow-origin: *
access-control-allow-methods: GET, POST, OPTIONS
access-control-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
strict-transport-security: max-age=31536000; includeSubDomains
content-security-policy: default-src 'none'; img-src data:; style-src 'unsafe-inline'
cache-tag: cbjpeg
x-frame-options: DENY
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02, aspect ratio, density 1280x1281, segment length 16, comment: "Lavc58.91.100", baseline, precision 8, 854x480, components 3\012- data
Size:   35057
Md5:    e7c7c04d9ca2daa4947f85ae781991c7
Sha1:   f4564a01ce5ee933669b9fd984c408a4d72628fa
Sha256: eb90fc0cb4fc5ce8b3712fcf2cfd2c0f908a9ebc0638d59cf327be26116ef6d2
                                        
                                            POST /ins/1/6f524845d1?a=24279235&v=1216.487a282&to=MwYEbUdYXxJQWhULDApMIExbWkUIXldOAQsFF0hPXFxGEgtrDg0OMgoDThteVBU%3D&rst=2510&ck=1&ref=https://chaturbate.com/embed/wildtequilla/&at=H0ETGw9CExRCXBM9CgBBXAkZG0QSVEsPAw4BQVwbamZQD15XPj1BSEEVUFJXRBFuXQAWBkZZVhUXenc%2BY1gYQFlGVFJYAQkCAAVcBAcGBlcAABh4Yy8TFUMhJTshCU0XAwhRHRsiJDwmDBJ8TU1DABMDQwQCCBADFVNYXRJUG01AEQECCmZcSRNbEwBQTFpUTVILGwgEVRMVQwMNCw05X1lYVhITA0NAT0YBA0pBZlYUVEoSPQoUQVwbDAgfWAEXVVBNVVZSGxkbUwRCTT4FFgEQFWZSXF5DCxsvLUFIQQ9JalpeFF9NExtBXkEodhcVEwhBZgINFgoXFEBqWl4PV1AFBw0HBkQDFwAIQx0bCBI8CgYSTlpLWkMLGwMOChxNBVZYGx1DWEk%2BDREDAghQT1hFCF5XQ1hBJg8PQRVqXg1ETQgNDRdBShtcSW4IQklDWEEmDw9BFWpeDURNCA0NF0FKG1xJbgBCV0NYVlRQVg0ZG1gRblgSDDwLEQEbDxtzDVhBQTEMCBYSUFpXQkFwakNOQQ0TOVpaV18EUk0IDQ07Fx9JUBsLQ3JYAw4GSyc1dRcVEwhBZhQRBhY8EkBFXBNbE0sEEQoABghNXFhdQx0bEwcSEQYVTWpJUBVZG1tATAEOBFxRFkYIXV0VBxIRCgpVVBYTTRNODT0LCxASGw8bUglQTRQQAQUXAxdWVlxDHRsSCxcBPA9dFwMATRNKCBYGOwcJVFRQX0MLGwIKAhAWFFtUTVRPUlYMQE9GEQNIQFxCFW5RDhEXRllEWl1YRRRDWwAWBkoACVQXFRMDQ1YWEQYWPA9dFwMTUAcKU1EBBVNLWAcJA0wFXQUDTgZaXloYDAJVVQ9WAVBTBQULFxUTE1RfBBAGFkFcG11NRRFCA05NUlZSVwsGCgdPQVAZTwAADUhWR14eQx0bEwcSEQYVTWpUVBVZVgVAWUYkI20XFRMRSE0JDQ07FQNLRlBeDxMDQ1FNU0FKG0BYbgVUTwgBBjsFB1RcVUhDCxsuFgsBEUQVF0xQPlVcFwsAATwSQEVcE1sTXQQRCBAMFhsZG0QAblYSPQUFDg9VTBsLQ31QDxcbRk9ETFRmXhJuTwQQEA0MCBsPGxNNE0wAPQEWDBFKUEtuB1BUCA4aRllEf1xLVAdeQUNOQRECOVtHVkYSVEs%2BFAYWEA9WWxsLQwgPT1JBSEETWGpKRRNYVwZAWUYuCUNcVV0AHgxPUkNMO1cIDhl9CF9MGUIbXFU5DwECERNHA1hUTVRKRn5QWloOHgtRU1NUUlYIFX9YE1RfDhpMXVVICRcVEwZYTT4BDAkOD00XAxNWAl9SVQIABl5bB1sTTRNJABACCRBEAxdCbUNbVggMPAsVA0tZWEg9EwNBPkFVP0QVFWUTFV5MEz5BXkM6G1FtXFFtG01CP0YAB1RFWFgGX2VDWEM4QRJYekpzPRMVQT5BAAoVWFdVVD5CVhQMBzhBXBlpGwA9ExVBPkEJDARQWVxjBFVQEwcAED9EAxVlEwBETQ4%2BQUhDOhtQVFMEVWYXCwcBDDlWW1VIPRMDQT5BVT9EFRVlExVQSwYHFzhBXBlpG24DXVgPCT9GHkQVF1xdCFZQAw4GOxAWVVxNbhVUShURQV5BRntZTEMtVlAPICREJxVaQ0tzUBF9EgEVFiFUGXFKUhdDe1JCJxcAEEt3DREzX2oRGzAMQ0QVF1xdCFZQAw4GOxAWVVxNbhVUShURPAoQRAMXGXMNREsTBwcoDAFQW3ZHBENVABtDNgYIWFhcYhFIagkNFBdDAlBGWl4XVEsYPRMFBAMZFxUTAFJNCBQGOxAWVVxNbhVUShURQV5BRntZTEMtVlAPICREJxVaQ0tzUxEbTUACBxcPT1BmQhFdUBU9FwEQEkpqV0JDCxtBIA8RERRcUXVeBlhXLhQGFg8HQBVdWBJSVhcHER08FlhSXBFDHRsCAw47FwdeFwMTEURbDQsARk9EWlpVXhNuVA4GBkZZRFVcXlkVXFYFB0FIQRRWWlRuEkVYFRcQRllEVVxPVENMRA%3D%3D HTTP/1.1 
Host: bam.nr-data.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
Referer: https://chaturbate.com/
content-type: text/plain
Content-Length: 1913
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         162.247.241.14
HTTP/1.1 204 No Content
                                        
Date: Tue, 13 Sep 2022 21:35:44 GMT
Connection: keep-alive
CF-Ray: 74a403b0bddb1c0e-OSL
Access-Control-Allow-Origin: https://chaturbate.com
CF-Cache-Status: DYNAMIC
access-control-allow-credentials: true
access-control-allow-methods: GET, POST, PUT, HEAD, OPTIONS
Vary: Accept-Encoding
Server: cloudflare

                                        
                                            GET /ws/132/rdsadjgr/websocket HTTP/1.1 
Host: chatw-34.stream.highwebmedia.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: https://chaturbate.com
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: iBHyDJMZetCotzSBPoCOKg==
Connection: keep-alive, Upgrade
Cookie: _cfuvid=0_nu9lWYPcaTQjpRm1DyRIO6U0Hmn20hfyunBsTdqb0-1663104943267-0-604800000
Sec-Fetch-Dest: websocket
Sec-Fetch-Mode: websocket
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

                                         
                                         104.19.241.83
HTTP/1.1 101 Switching Protocols
                                        
Date: Tue, 13 Sep 2022 21:35:44 GMT
Connection: upgrade
Upgrade: websocket
Sec-WebSocket-Accept: iXBUsbZdmJ/sftXGFLTnIIkSOaE=
CF-Cache-Status: DYNAMIC
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=v%2FKbiGs%2BWdbziOx4iLcCXycF6H03y8v9WdTtJyi3CVX1yFY50HmTcg13hScGvpTW0IvhPHz7YlQ49gUQM58ln75m370fQ7mKYEnW0WTXj1uhtChm4qsldbtfbdEKDAenfQZ29LoEC7hbIq78OpLkhXlD"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
CF-RAY: 74a403aefa09b50b-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400

                                        
                                            POST /keys/KSKw2g.L36ISg/requestToken?rnd=13847580334507392 HTTP/1.1 
Host: realtime.pa.highwebmedia.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
Referer: https://chaturbate.com/
content-type: application/json
X-Ably-Version: 1.2
Ably-Agent: ably-js/1.2.13 browser
Content-Length: 1039
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         54.230.111.129
HTTP/2 201 Created
content-type: application/json
                                        
content-length: 1036
access-control-allow-credentials: true
access-control-allow-origin: https://chaturbate.com
access-control-expose-headers: Link,Transfer-Encoding,Content-Length,X-Ably-ErrorCode,X-Ably-ErrorMessage,X-Ably-ServerId,Server
date: Tue, 13 Sep 2022 21:35:44 GMT
vary: Origin
x-ably-serverid: frontend.4f10.1.eu-central-1-A.i-0292ae00df073f5fa.e91aeBuowBFoqb
x-robots-tag: noindex
x-cache: Miss from cloudfront
via: 1.1 5916f6b8d469d1bee1e905ff13761ebc.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-P1
x-amz-cf-id: qfUWFYH0rvGkTUwrMZMTPF4vtuY6PLobheGsmV8fP4R9RB3o0B6Syg==
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (804)
Size:   1036
Md5:    ef5ea0ad467cb8c1237d16dd1fd5455b
Sha1:   5509e348fc012ec5fd271198a4298f853779be4a
Sha256: 9aae0f5052a177a63c48414ff06ee2f00ff04ead22ddd41c7d598cad70457e13
                                        
                                            GET /comet/connect?access_token=KSKw2g.AL36ISgKVjtxThXsyc3F8cHXT2Ujchpc6xR6ipq4GTn4XIuguk&stream=false&heartbeats=true&v=1.2&agent=ably-js%2F1.2.13%20browser&remainPresentFor=0&rnd=9730880072988656 HTTP/1.1 
Host: realtime.pa.highwebmedia.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
Referer: https://chaturbate.com/
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         54.230.111.129
HTTP/2 200 OK
content-type: application/json
                                        
content-length: 572
access-control-allow-credentials: true
access-control-allow-origin: https://chaturbate.com
access-control-expose-headers: Link,Transfer-Encoding,Content-Length,X-Ably-ErrorCode,X-Ably-ErrorMessage,X-Ably-ServerId,Server
date: Tue, 13 Sep 2022 21:35:45 GMT
vary: Origin
x-ably-serverid: frontend.0b42.3.eu-central-1-A.i-08bbff48f954875e5.e91ZWlGoQBFmev
x-robots-tag: noindex
x-cache: Miss from cloudfront
via: 1.1 5916f6b8d469d1bee1e905ff13761ebc.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-P1
x-amz-cf-id: Y-uHCrmlojUf5med50b--1XohyluuV5k8E559bWxS0le96rpYkANCw==
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text
Size:   572
Md5:    b1e62ef4f1c0880e9bf7270157494a76
Sha1:   79d2398179aec729ced70de2c4a4a3ed0b49954f
Sha256: f730673a51f2ed2b0dff4f54430eef11b4acb936ee54640db937355d0f5108dd
                                        
                                            OPTIONS /comet/e91ZWlGoQBFmev!othaSN-yvP4OuqCx-4ff9fe91ZWlGoQBFmev/send?access_token=KSKw2g.AL36ISgKVjtxThXsyc3F8cHXT2Ujchpc6xR6ipq4GTn4XIuguk&rnd=8252641882385181 HTTP/1.1 
Host: realtime.pa.highwebmedia.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://chaturbate.com/
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         54.230.111.129
HTTP/2 204 No Content
                                        
access-control-allow-credentials: true
access-control-allow-headers: Origin,X-Requested-With,Content-Type,Content-Length,Accept,Authorization,X-Ably-Version,X-Ably-Lib,X-Ably-ClientId,Ably-Agent
access-control-allow-methods: GET,PUT,POST,DELETE,OPTIONS
access-control-allow-origin: https://chaturbate.com
access-control-max-age: 3600
date: Tue, 13 Sep 2022 21:35:45 GMT
x-cache: Miss from cloudfront
via: 1.1 5916f6b8d469d1bee1e905ff13761ebc.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-P1
x-amz-cf-id: wM4ta4x5pK9jPEMxPCuoEaxyhiZpyzO5MJeyODH8ksfQiUwNK-XWjw==
X-Firefox-Spdy: h2

                                        
                                            POST /comet/e91ZWlGoQBFmev!othaSN-yvP4OuqCx-4ff9fe91ZWlGoQBFmev/send?access_token=KSKw2g.AL36ISgKVjtxThXsyc3F8cHXT2Ujchpc6xR6ipq4GTn4XIuguk&rnd=8252641882385181 HTTP/1.1 
Host: realtime.pa.highwebmedia.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
Referer: https://chaturbate.com/
content-type: application/json
Content-Length: 77
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         54.230.111.129
HTTP/2 201 Created
content-type: application/json
                                        
content-length: 2
access-control-allow-credentials: true
access-control-allow-origin: https://chaturbate.com
access-control-expose-headers: Link,Transfer-Encoding,Content-Length,X-Ably-ErrorCode,X-Ably-ErrorMessage,X-Ably-ServerId,Server
date: Tue, 13 Sep 2022 21:35:45 GMT
vary: Origin
x-ably-serverid: frontend.0b42.3.eu-central-1-A.i-08bbff48f954875e5.e91ZWlGoQBFmev
x-robots-tag: noindex
x-cache: Miss from cloudfront
via: 1.1 5916f6b8d469d1bee1e905ff13761ebc.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-P1
x-amz-cf-id: BSQHrkU5cy2GAGEWrch_6kb1Sw6XB-7vcZhvrZQIyWL8Nn46rQGwgQ==
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   2
Md5:    d751713988987e9331980363e24189ce
Sha1:   97d170e1550eee4afc0af065b78cda302a97674c
Sha256: 4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945
                                        
                                            GET /comet/e91ZWlGoQBFmev!othaSN-yvP4OuqCx-4ff9fe91ZWlGoQBFmev/recv?access_token=KSKw2g.AL36ISgKVjtxThXsyc3F8cHXT2Ujchpc6xR6ipq4GTn4XIuguk&rnd=521697214772705 HTTP/1.1 
Host: realtime.pa.highwebmedia.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
Referer: https://chaturbate.com/
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         54.230.111.129
HTTP/2 200 OK
content-type: application/json
                                        
content-length: 147
access-control-allow-credentials: true
access-control-allow-origin: https://chaturbate.com
access-control-expose-headers: Link,Transfer-Encoding,Content-Length,X-Ably-ErrorCode,X-Ably-ErrorMessage,X-Ably-ServerId,Server
date: Tue, 13 Sep 2022 21:35:45 GMT
vary: Origin
x-ably-serverid: frontend.0b42.3.eu-central-1-A.i-08bbff48f954875e5.e91ZWlGoQBFmev
x-robots-tag: noindex
x-cache: Miss from cloudfront
via: 1.1 5916f6b8d469d1bee1e905ff13761ebc.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-P1
x-amz-cf-id: DUj-wd4hTVKWhSzhHG506LR_KZaOmp4qtx6iy5TqA09BO8jO56W7gw==
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text
Size:   147
Md5:    9d8a25ccfd0b4da22a7206a4a5e7d0a3
Sha1:   87a9a02c4068f8b62b2e91163d9bd17572d24511
Sha256: ea171b5a95556dcd0dc88456d9706dc1c1a17d5d641ae99a3a24e27b55cf2bd4
                                        
                                            POST /events/1/6f524845d1?a=24279235&v=1216.487a282&to=MwYEbUdYXxJQWhULDApMIExbWkUIXldOAQsFF0hPXFxGEgtrDg0OMgoDThteVBU%3D&rst=2778&ck=1&ref=https://chaturbate.com/embed/wildtequilla/ HTTP/1.1 
Host: bam.nr-data.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
Referer: https://chaturbate.com/
content-type: text/plain
Content-Length: 3394
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         162.247.241.14
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Tue, 13 Sep 2022 21:35:45 GMT
Content-Length: 24
Connection: keep-alive
CF-Ray: 74a403b25f1d1c0e-OSL
Access-Control-Allow-Origin: https://chaturbate.com
CF-Cache-Status: DYNAMIC
access-control-allow-credentials: true
access-control-allow-methods: GET, POST, PUT, HEAD, OPTIONS
Vary: Accept-Encoding
Server: cloudflare


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   24
Md5:    bc32ed98d624acb4008f986349a20d26
Sha1:   2d3df8c11d2168ce2c27e0937421d11d85016361
Sha256: 0c9cf152a0ad00d4f102c93c613c104914be5517ac8f8e0831727f8bfbe8b300
                                        
                                            GET /?access_token=KSKw2g.AL36ISgKVjtxThXsyc3F8cHXT2Ujchpc6xR6ipq4GTn4XIuguk&upgrade=e91ZWlGoQBFmev!othaSN-yvP4OuqCx-4ff9fe91ZWlGoQBFmev&format=json&heartbeats=true&v=1.2&agent=ably-js%2F1.2.13%20browser&remainPresentFor=0 HTTP/1.1 
Host: realtime.pa.highwebmedia.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: https://chaturbate.com
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: iW9BaijEfydRvDBZLguABQ==
Connection: keep-alive, Upgrade
Cookie: _cfuvid=0_nu9lWYPcaTQjpRm1DyRIO6U0Hmn20hfyunBsTdqb0-1663104943267-0-604800000
Sec-Fetch-Dest: websocket
Sec-Fetch-Mode: websocket
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

                                         
                                         54.230.111.60
HTTP/1.1 101 Switching Protocols
                                        
Date: Tue, 13 Sep 2022 21:35:45 GMT
Connection: upgrade
Sec-Websocket-Accept: krlZjloGFT6Lt5fDoVRCin0NzFM=
Upgrade: websocket
X-Cache: Miss from cloudfront
Via: 1.1 9037b7743a833da13439f0d4e2619b52.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-P1
X-Amz-Cf-Id: HrhHJB3Cx5ldKNY55gNEIB1GWlY0KIEeF5Pdyl4kiB1lpiJsRNeG8A==

                                        
                                            OPTIONS /comet/e91ZWlGoQBFmev!othaSN-yvP4OuqCx-4ff9fe91ZWlGoQBFmev/send?access_token=KSKw2g.AL36ISgKVjtxThXsyc3F8cHXT2Ujchpc6xR6ipq4GTn4XIuguk&rnd=5050866111298989 HTTP/1.1 
Host: realtime.pa.highwebmedia.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://chaturbate.com/
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         54.230.111.129
HTTP/2 204 No Content
                                        
access-control-allow-credentials: true
access-control-allow-headers: Origin,X-Requested-With,Content-Type,Content-Length,Accept,Authorization,X-Ably-Version,X-Ably-Lib,X-Ably-ClientId,Ably-Agent
access-control-allow-methods: GET,PUT,POST,DELETE,OPTIONS
access-control-allow-origin: https://chaturbate.com
access-control-max-age: 3600
date: Tue, 13 Sep 2022 21:35:45 GMT
x-cache: Miss from cloudfront
via: 1.1 5916f6b8d469d1bee1e905ff13761ebc.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-P1
x-amz-cf-id: NjfP9bIwpnZe1ouu8CJZgrZkzIdCrKcwW99fo4KHoYik36zNeoTwjA==
X-Firefox-Spdy: h2

                                        
                                            GET /comet/e91ZWlGoQBFmev!othaSN-yvP4OuqCx-4ff9fe91ZWlGoQBFmev/recv?access_token=KSKw2g.AL36ISgKVjtxThXsyc3F8cHXT2Ujchpc6xR6ipq4GTn4XIuguk&rnd=5332586470585835 HTTP/1.1 
Host: realtime.pa.highwebmedia.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
Referer: https://chaturbate.com/
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         54.230.111.129
HTTP/2 200 OK
content-type: application/json
                                        
content-length: 1457
access-control-allow-credentials: true
access-control-allow-origin: https://chaturbate.com
access-control-expose-headers: Link,Transfer-Encoding,Content-Length,X-Ably-ErrorCode,X-Ably-ErrorMessage,X-Ably-ServerId,Server
date: Tue, 13 Sep 2022 21:35:45 GMT
vary: Origin
x-ably-serverid: frontend.0b42.3.eu-central-1-A.i-08bbff48f954875e5.e91ZWlGoQBFmev
x-robots-tag: noindex
x-cache: Miss from cloudfront
via: 1.1 5916f6b8d469d1bee1e905ff13761ebc.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-P1
x-amz-cf-id: h-BA9b2fts-7H9ba3iZHbEvigkiK_IV2au-f-XTc60xelBpF9DzB9w==
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text
Size:   1457
Md5:    6769f21a0f006f19ba39fc2dc9064bb2
Sha1:   e2300f83d7ef34a03350f7f5c0be3aa742a2a80e
Sha256: 2e95f1446e05571025babec8784bc1b332e130083c3a52d86bd924ae62033e1a
                                        
                                            POST /comet/e91ZWlGoQBFmev!othaSN-yvP4OuqCx-4ff9fe91ZWlGoQBFmev/send?access_token=KSKw2g.AL36ISgKVjtxThXsyc3F8cHXT2Ujchpc6xR6ipq4GTn4XIuguk&rnd=5050866111298989 HTTP/1.1 
Host: realtime.pa.highwebmedia.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
Referer: https://chaturbate.com/
content-type: application/json
Content-Length: 1304
Origin: https://chaturbate.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         54.230.111.129
HTTP/2 201 Created
content-type: application/json
                                        
content-length: 2
access-control-allow-credentials: true
access-control-allow-origin: https://chaturbate.com
access-control-expose-headers: Link,Transfer-Encoding,Content-Length,X-Ably-ErrorCode,X-Ably-ErrorMessage,X-Ably-ServerId,Server
date: Tue, 13 Sep 2022 21:35:45 GMT
vary: Origin
x-ably-serverid: frontend.0b42.3.eu-central-1-A.i-08bbff48f954875e5.e91ZWlGoQBFmev
x-robots-tag: noindex
x-cache: Miss from cloudfront