Overview

URLwww.newarabsex.com/%D8%B3%D9%83%D8%B3-%D9%85%D9%8A%D8%B1%D9%8A%D8%A7%D9%85-%D9%81%D8%A7%D8%B1%D8%B3/
IP 104.21.50.252 ()
ASN#13335 CLOUDFLARENET
UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer
Report completed2022-12-02 13:34:42 UTC
StatusLoading report..
IDS alerts0
Blocklist alert16
urlquery alerts No alerts detected
Tags None

Domain Summary (34)

Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
push.services.mozilla.com (1) 2140 2014-10-24 08:27:06 UTC 2020-05-03 10:09:39 UTC 54.70.68.230
e1.o.lencr.org (4) 6159 No data No data 23.36.77.32
ocsp.digicert.com (5) 86 2012-05-21 07:02:23 UTC 2020-05-02 20:58:10 UTC 93.184.220.29
img-getpocket.cdn.mozilla.net (7) 1631 2018-06-21 23:36:00 UTC 2020-02-19 04:43:25 UTC 34.120.237.76
notification.tubecup.net (1) 8210 2019-08-30 09:36:01 UTC 2022-12-01 22:41:20 UTC 88.198.200.22
sw.wpush.org (2) 78308 No data No data 45.133.44.25
js.wpadmngr.com (1) 25762 No data No data 45.133.44.25
www.newarabsex.com (2) 0 2015-06-17 23:30:22 UTC 2022-10-19 17:35:14 UTC 104.21.50.252 Domain (newarabsex.com) ranked at: 291861
friendshipmale.com (1) 0 2022-10-21 12:15:25 UTC 2022-12-01 18:08:06 UTC 172.64.140.24 Unknown ranking
r3.o.lencr.org (14) 344 No data No data 23.36.77.32
www.googletagmanager.com (1) 75 2013-05-22 02:07:37 UTC 2022-12-01 18:48:44 UTC 142.250.74.40
www.google-analytics.com (1) 40 2012-10-03 01:04:21 UTC 2022-12-01 21:18:15 UTC 216.239.34.178
8bbc81b016.d1bcb5ca9f.com (3) 0 No data No data 45.133.44.25 Unknown ranking
cdn.creative-bars1.com (6) 0 2022-11-15 16:46:22 UTC 2022-12-01 18:08:08 UTC 172.64.109.13 Unknown ranking
ta3nfsordd.com (4) 120850 2022-01-27 16:11:37 UTC 2022-11-30 08:16:25 UTC 62.122.171.6
cdn.barscreative1.com (1) 25648 2021-09-16 11:14:42 UTC 2022-07-13 08:11:12 UTC 45.133.44.4
tallysaturatesnare.com (5) 0 2022-11-16 06:01:46 UTC 2022-12-01 19:04:11 UTC 192.243.59.12 Unknown ranking
firefox.settings.services.mozilla.com (2) 867 2020-06-04 20:08:41 UTC 2022-12-01 17:14:08 UTC 34.102.187.140
contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2022-12-01 17:12:49 UTC 34.117.237.239
ocsp.pki.goog (2) 175 2018-07-01 06:43:07 UTC 2020-05-02 20:58:16 UTC 216.58.211.3
www.clarity.ms (1) 1404 2018-08-22 07:41:57 UTC 2020-02-17 10:26:03 UTC 13.107.213.53
c.bing.com (1) 247 2012-05-22 10:26:32 UTC 2020-05-07 03:37:17 UTC 13.107.21.200
fp.metricswpsh.com (2) 0 2022-04-22 11:20:32 UTC 2022-12-01 13:10:33 UTC 157.90.84.242 Unknown ranking
ocsp.sca1b.amazontrust.com (1) 1015 2017-03-03 15:20:51 UTC 2019-03-27 04:05:54 UTC 143.204.42.165
b.clarity.ms (3) 3462 No data No data 20.75.32.255
duckswillsmoochyou.com (4) 0 No data No data 62.122.171.6 Unknown ranking
pl15905623.profitablegatetocontent.com (1) 0 2022-09-18 02:44:58 UTC 2022-09-18 02:44:58 UTC 192.243.59.13 Unknown ranking
bc5b242f88.86521e18d4.com (1) 0 No data No data 45.133.44.25 Unknown ranking
js.cabnnr.com (1) 37463 No data No data 45.133.44.24
www.newarabsex.com (2) 0 2015-06-17 23:30:22 UTC 2022-10-19 17:35:14 UTC 172.67.215.119 Domain (newarabsex.com) ranked at: 291861
content-signature-2.cdn.mozilla.net (1) 1152 No data No data 34.160.144.191
c.clarity.ms (1) 803 No data No data 20.234.93.27
js.wpshsdk.com (2) 12130 No data No data 45.133.44.25
static.cloudflareinsights.com (1) 1294 2019-09-24 14:34:56 UTC 2022-12-01 19:17:12 UTC 104.16.56.101

Network Intrusion Detection Systemsinfo

Suricata /w Emerging Threats Pro
 No alerts detected

Blocklists

OpenPhish
 No alerts detected

PhishTank
 No alerts detected

Fortinet's Web Filter
Scan Date Severity Indicator Comment
2022-12-02 2 tallysaturatesnare.com/ren.gif?sid=H4sIAAAAAAAC%2F1RSz4scRRitTlYQvWjw4iEyBx (...) Malware
2022-12-02 2 cdn.barscreative1.com/sb/notifications/games/nutaku/multi/2/index.html Phishing

mnemonic secure dns
 No alerts detected

Quad9 DNS
Scan Date Severity Indicator Comment
2022-12-02 2 d1bcb5ca9f.com Sinkholed
2022-12-02 2 ta3nfsordd.com Sinkholed
2022-12-02 2 ta3nfsordd.com Sinkholed
2022-12-02 2 profitablegatetocontent.com Sinkholed
2022-12-02 2 d1bcb5ca9f.com Sinkholed
2022-12-02 2 86521e18d4.com Sinkholed
2022-12-02 2 ta3nfsordd.com Sinkholed
2022-12-02 2 tallysaturatesnare.com Sinkholed
2022-12-02 2 tallysaturatesnare.com Sinkholed
2022-12-02 2 tallysaturatesnare.com Sinkholed
2022-12-02 2 tallysaturatesnare.com Sinkholed
2022-12-02 2 tallysaturatesnare.com Sinkholed
2022-12-02 2 ta3nfsordd.com Sinkholed
2022-12-02 2 d1bcb5ca9f.com Sinkholed


Files

No files detected

Recent reports on same IP/ASN/Domain/Screenshot

Last 2 reports on IP: 104.21.50.252
Date UQ / IDS / BL URL IP
2022-12-31 18:07:40 +0000 2 - 0 - 2 wesfisherphoto.com/ 104.21.50.252
2022-12-02 13:34:42 +0000 0 - 0 - 16 www.newarabsex.com/%D8%B3%D9%83%D8%B3-%D9%85% (...) 104.21.50.252


Last 5 reports on ASN: CLOUDFLARENET
Date UQ / IDS / BL URL IP
2023-02-05 01:15:29 +0000 0 - 1 - 0 cdn.discordapp.com/attachments/10656112025306 (...) 162.159.129.233
2023-02-05 01:15:09 +0000 0 - 2 - 0 opakm.xyz/ 188.114.97.1
2023-02-05 01:12:59 +0000 0 - 1 - 0 cokene.savings.workingadvantage.com/home?off_ (...) 104.18.1.62
2023-02-05 01:10:59 +0000 0 - 2 - 0 www.filescan.io/reports/feb87f71e1a8522ec1c77 (...) 104.26.14.230
2023-02-05 01:10:43 +0000 0 - 0 - 2 plumplaser.com/trck/?_subid=9vejs65vuet&sourc (...) 188.114.96.1


Last 1 reports on domain: newarabsex.com
Date UQ / IDS / BL URL IP
2022-12-02 13:34:42 +0000 0 - 0 - 16 www.newarabsex.com/%D8%B3%D9%83%D8%B3-%D9%85% (...) 104.21.50.252


No other reports with similar screenshot

JavaScript

Executed Scripts (55)

Executed Evals (1)
#1 JavaScript::Eval (size: 99870) - SHA256: 5b938619f370200299071d32df7893a1555c50571f6d370c1022340ef767416b
(() => {
    "use strict";
    var e = "2.35.0",
        t = Number("0");

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

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

                function a(e) {
                    n(s, i, o, a, l, "next", e)
                }

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

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

    function s(e) {
        return a.apply(this, arguments)
    }

    function a() {
        return (a = r((function*(e) {
            try {
                var t =
                    yield fetch(e);
                return yield t.json()
            } catch (e) {
                return null
            }
        }))).apply(this, arguments)
    }
    const l = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : "undefined" != typeof window ? window : global,
        c = Object.keys,
        u = Array.isArray;

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

    function p(e, t) {
        return f.call(e, t)
    }

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

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

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

    function _(e, t) {
        let n;
        return b(e, t) || (n = h(e)) && _(n, t)
    }
    const w = [].slice;

    function k(e, t, n) {
        return w.call(e, t, n)
    }

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

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

    function S(e) {
        l.setImmediate ? setImmediate(e) : setTimeout(e, 0)
    }

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

    function P(e, t) {
        if (p(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 = P(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 : P(a, t.substr(s + 1))
        }
    }

    function E(e, t, n) {
        if (e && void 0 !== t && (!("isFrozen" in Object) || !Object.isFrozen(e)))
            if ("string" != typeof t && "length" in t) {
                C("string" != typeof n && "length" in n);
                for (var r = 0, i = t.length; r < i; ++r) E(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 ? u(e) && !isNaN(parseInt(s)) ? e.splice(s, 1) : delete e[s] : e[s] = n;
                    else {
                        var l = e[s];
                        l || (l = e[s] = {}), E(l, a, n)
                    }
                } else void 0 === n ? u(e) && !isNaN(parseInt(t)) ? e.splice(t, 1) : delete e[t] : e[t] = n
            }
    }

    function O(e) {
        var t = {};
        for (var n in e) p(e, n) && (t[n] = e[n]);
        return t
    }
    const A = [].concat;

    function B(e) {
        return A.apply([], e)
    }
    const D = "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 => l[e])),
        I = D.map((e => l[e]));
    K(D, (e => [e, !0]));
    let M = null;

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

    function T(e) {
        if (!e || "object" != typeof e) return e;
        let t = M && M.get(e);
        if (t) return t;
        if (u(e)) {
            t = [], M && M.set(e, t);
            for (var n = 0, r = e.length; n < r; ++n) t.push(T(e[n]))
        } else if (I.indexOf(e.constructor) >= 0) t = e;
        else {
            const n = h(e);
            for (var i in t = n === Object.prototype ? {} : Object.create(n), M && M.set(e, t), e) p(e, i) && (t[i] = T(e[i]))
        }
        return t
    }
    const {
        toString: R
    } = {};

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

    function L(e) {
        var t, n, r, i;
        if (1 === arguments.length) {
            if (u(e)) return e.slice();
            if (this === q && "string" == typeof e) return [e];
            if (i = U(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 z = "undefined" != typeof Symbol ? e => "AsyncFunction" === e[Symbol.toStringTag] : () => !1;
    var W = "undefined" != typeof location && /^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);

    function V(e, t) {
        W = e, G = t
    }
    var G = () => !0;
    const Y = !new Error("").stack;

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

    function Q(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(G).map((e => "\n" + e)).join("")) : ""
    }
    var J = ["Unknown", "Constraint", "Data", "TransactionInactive", "ReadOnly", "Version", "NotFound", "InvalidState", "InvalidAccess", "Abort", "Timeout", "QuotaExceeded", "Syntax", "DataClone"],
        Z = ["Modify", "Bulk", "OpenFailed", "VersionChange", "Schema", "Upgrade", "InvalidTable", "MissingAPI", "NoSuchDatabase", "InvalidArgument", "SubTransaction", "Unsupported", "Internal", "DatabaseClosed", "PrematureCommit", "ForeignAwait"].concat(J),
        X = {
            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 $(e, t) {
        this._e = H(), this.name = e, this.message = t
    }

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

    function te(e, t, n, r) {
        this._e = H(), this.failures = t, this.failedKeys = r, this.successCount = n, this.message = ee(e, t)
    }

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

        function r(e, r) {
            this._e = H(), 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 = X[t] || n, this.inner = null)
        }
        return g(r).from(ie), e[t] = r, e
    }), {});
    oe.Syntax = SyntaxError, oe.Type = TypeError, oe.Range = RangeError;
    var se = J.reduce(((e, t) => (e[t + "Error"] = oe[t], e)), {}),
        ae = Z.reduce(((e, t) => (-1 === ["Syntax", "Type", "Range"].indexOf(t) && (e[t + "Error"] = oe[t]), e)), {});

    function le() {}

    function ce(e) {
        return e
    }

    function ue(e, t) {
        return null == e || e === ce ? t : function(n) {
            return t(e(n))
        }
    }

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

    function he(e, t) {
        return e === le ? 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 ? de(r, this.onsuccess) : r), i && (this.onerror = this.onerror ? de(i, this.onerror) : i), void 0 !== o ? o : n
        }
    }

    function fe(e, t) {
        return e === le ? 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 ? de(n, this.onsuccess) : n), r && (this.onerror = this.onerror ? de(r, this.onerror) : r)
        }
    }

    function pe(e, t) {
        return e === le ? t : function(n) {
            var r = e.apply(this, arguments);
            d(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 ? de(i, this.onsuccess) : i), o && (this.onerror = this.onerror ? de(o, this.onerror) : o), void 0 === r ? void 0 === s ? void 0 : s : d(r, s)
        }
    }

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

    function me(e, t) {
        return e === le ? 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)
        }
    }
    ae.ModifyError = te, ae.DexieError = $, ae.BulkError = ne;
    var ve = {};
    const [ge, be, _e] = "undefined" == typeof Promise ? [] : (() => {
        let e = Promise.resolve();
        if ("undefined" == typeof crypto || !crypto.subtle) return [e, h(e), e];
        const t = crypto.subtle.digest("SHA-512", new Uint8Array([0]));
        return [t, h(t), e]
    })(), we = be && be.then, ke = ge && ge.constructor, xe = !!_e;
    var Ce = !1,
        Se = _e ? () => {
            _e.then(He)
        } : l.setImmediate ? setImmediate.bind(null, He) : l.MutationObserver ? () => {
            var e = document.createElement("div");
            new MutationObserver((() => {
                He(), e = null
            })).observe(e, {
                attributes: !0
            }), e.setAttribute("i", "1")
        } : () => {
            setTimeout(He, 0)
        },
        Ke = function(e, t) {
            je.push([e, t]), Ee && (Se(), Ee = !1)
        },
        Pe = !0,
        Ee = !0,
        Oe = [],
        Ae = [],
        Be = null,
        De = ce,
        Ie = {
            id: "global",
            global: !0,
            ref: 0,
            unhandleds: [],
            onunhandled: gt,
            pgp: !1,
            env: {},
            finalize: function() {
                this.unhandleds.forEach((e => {
                    try {
                        gt(e[0], e[1])
                    } catch (e) {}
                }))
            }
        },
        Me = Ie,
        je = [],
        Te = 0,
        Re = [];

    function Fe(e) {
        if ("object" != typeof this) throw new TypeError("Promises must be constructed via new");
        this._listeners = [], this.onuncatched = le, this._lib = !1;
        var t = this._PSD = Me;
        if (W && (this._stackHolder = H(), this._prev = null, this._numPrev = 0), "function" != typeof e) {
            if (e !== ve) throw new TypeError("Not a function");
            return this._state = arguments[1], this._value = arguments[2], void(!1 === this._state && Le(this, this._value))
        }
        this._state = null, this._value = null, ++t.ref, qe(this, e)
    }
    const Ne = {get: function() {
            var e = Me,
                t = it;

            function n(n, r) {
                var i = !e.global && (e !== Me || t !== it);
                const o = i && !lt();
                var s = new Fe(((t, s) => {
                    We(this, new Ue(mt(n, e, i, o), mt(r, e, i, o), t, s, e))
                }));
                return W && Ye(s, this), s
            }
            return n.prototype = ve, n
        },
        set: function(e) {
            v(this, "then", e && e.prototype === ve ? Ne : {get: function() {
                    return e
                },
                set: Ne.set
            })
        }
    };

    function Ue(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 qe(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 && Qe();
                    t && "function" == typeof t.then ? qe(e, ((e, n) => {
                        t instanceof Fe ? t._then(e, n) : t.then(e, n)
                    })) : (e._state = !0, e._value = t, ze(e)), n && Je()
                }
            }), Le.bind(null, e))
        } catch (t) {
            Le(e, t)
        }
    }

    function Le(e, t) {
        if (Ae.push(t), null === e._state) {
            var n = e._lib && Qe();
            t = De(t), e._state = !1, e._value = t, W && null !== t && "object" == typeof t && !t._promise && function(e, t, n) {
                    try {
                        e.apply(null, void 0)
                    } catch (e) {}
                }((() => {
                    var n = _(t, "stack");
                    t._promise = e, v(t, "stack", {get: () => Ce ? n && (n.get ? n.get.apply(t) : n.value) : e.stack
                    })
                })),
                function(e) {
                    Oe.some((t => t._value === e._value)) || Oe.push(e)
                }(e), ze(e), n && Je()
        }
    }

    function ze(e) {
        var t = e._listeners;
        e._listeners = [];
        for (var n = 0, r = t.length; n < r; ++n) We(e, t[n]);
        var i = e._PSD;
        --i.ref || i.finalize(), 0 === Te && (++Te, Ke((() => {
            0 == --Te && Ze()
        }), []))
    }

    function We(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, ++Te, Ke(Ve, [n, e, t])
        } else e._listeners.push(t)
    }

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

    function Ge(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 = Q(s, 0)) : (i = s, o = ""), t.push(i + (o ? ": " + o : "") + r)
        }
        return W && ((r = Q(e._stackHolder, 2)) && -1 === t.indexOf(r) && t.push(r), e._prev && Ge(e._prev, t, n)), t
    }

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

    function He() {
        Qe() && Je()
    }

    function Qe() {
        var e = Pe;
        return Pe = !1, Ee = !1, e
    }

    function Je() {
        var e, t, n;
        do {
            for (; je.length > 0;)
                for (e = je, je = [], n = e.length, t = 0; t < n; ++t) {
                    var r = e[t];
                    r[0].apply(null, r[1])
                }
        } while (je.length > 0);
        Pe = !0, Ee = !0
    }

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

    function Xe(e) {
        return new Fe(ve, !1, e)
    }

    function $e(e, t) {
        var n = Me;
        return function() {
            var r = Qe(),
                i = Me;
            try {
                return ht(n, !0), e.apply(this, arguments)
            } catch (e) {
                t && t(e)
            } finally {
                ht(i, !1), r && Je()
            }
        }
    }
    y(Fe.prototype, {
        then: Ne,
        _then: function(e, t) {
            We(this, new Ue(null, null, e, t, Me))
        },
        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) : Xe(e))) : this.then(null, (e => e && e.name === t ? n(e) : Xe(e)))
        },
        finally: function(e) {
            return this.then((t => (e(), t)), (t => (e(), Xe(t))))
        },
        stack: {get: function() {
                if (this._stack) return this._stack;
                try {
                    Ce = !0;
                    var e = Ge(this, [], 20).join("\nFrom previous: ");
                    return null !== this._state && (this._stack = e), e
                } finally {
                    Ce = !1
                }
            }
        },
        timeout: function(e, t) {
            return e < 1 / 0 ? new Fe(((n, r) => {
                var i = setTimeout((() => r(new oe.Timeout(t))), e);
                this.then(n, r).finally(clearTimeout.bind(null, i))
            })) : this
        }
    }), "undefined" != typeof Symbol && Symbol.toStringTag && v(Fe.prototype, Symbol.toStringTag, "Dexie.Promise"), Ie.env = ft(), y(Fe, {
        all: function() {
            var e = L.apply(null, arguments).map(ct);
            return new Fe((function(t, n) {
                0 === e.length && t([]);
                var r = e.length;
                e.forEach(((i, o) => Fe.resolve(i).then((n => {
                    e[o] = n, --r || t(e)
                }), n)))
            }))
        },
        resolve: e => {
            if (e instanceof Fe) return e;
            if (e && "function" == typeof e.then) return new Fe(((t, n) => {
                e.then(t, n)
            }));
            var t = new Fe(ve, !0, e);
            return Ye(t, Be), t
        },
        reject: Xe,
        race: function() {
            var e = L.apply(null, arguments).map(ct);
            return new Fe(((t, n) => {
                e.map((e => Fe.resolve(e).then(t, n)))
            }))
        },
        PSD: {get: () => Me,
            set: e => Me = e
        },
        totalEchoes: {get: () => it
        },
        newPSD: st,
        usePSD: pt,
        scheduler: {get: () => Ke,
            set: e => {
                Ke = e
            }
        },
        rejectionMapper: {get: () => De,
            set: e => {
                De = e
            }
        },
        follow: (e, t) => new Fe(((n, r) => st(((t, n) => {
            var r = Me;
            r.unhandleds = [], r.onunhandled = n, r.finalize = de((function() {
                ! function(e) {
                    Re.push((function t() {
                        e(), Re.splice(Re.indexOf(t), 1)
                    })), ++Te, Ke((() => {
                        0 == --Te && Ze()
                    }), [])
                }((() => {
                    0 === this.unhandleds.length ? t() : n(this.unhandleds[0])
                }))
            }), r.finalize), e()
        }), t, n, r)))
    }), ke && (ke.allSettled && v(Fe, "allSettled", (function() {
        const e = L.apply(null, arguments).map(ct);
        return new Fe((t => {
            0 === e.length && t([]);
            let n = e.length;
            const r = new Array(n);
            e.forEach(((e, i) => Fe.resolve(e).then((e => r[i] = {
                status: "fulfilled",
                value: e
            }), (e => r[i] = {
                status: "rejected",
                reason: e
            })).then((() => --n || t(r)))))
        }))
    })), ke.any && "undefined" != typeof AggregateError && v(Fe, "any", (function() {
        const e = L.apply(null, arguments).map(ct);
        return new Fe(((t, n) => {
            0 === e.length && n(new AggregateError([]));
            let r = e.length;
            const i = new Array(r);
            e.forEach(((e, o) => Fe.resolve(e).then((e => t(e)), (e => {
                i[o] = e, --r || n(new AggregateError(i))
            }))))
        }))
    })));
    const et = {
        awaits: 0,
        echoes: 0,
        id: 0
    };
    var tt = 0,
        nt = [],
        rt = 0,
        it = 0,
        ot = 0;

    function st(e, t, n, r) {
        var i = Me,
            o = Object.create(i);
        o.parent = i, o.ref = 0, o.global = !1, o.id = ++ot;
        var s = Ie.env;
        o.env = xe ? {
            Promise: Fe,
            PromiseProp: {
                value: Fe,
                configurable: !0,
                writable: !0
            },
            all: Fe.all,
            race: Fe.race,
            allSettled: Fe.allSettled,
            any: Fe.any,
            resolve: Fe.resolve,
            reject: Fe.reject,
            nthen: vt(s.nthen, o),
            gthen: vt(s.gthen, o)
        } : {}, t && d(o, t), ++i.ref, o.finalize = function() {
            --this.parent.ref || this.parent.finalize()
        };
        var a = pt(o, e, n, r);
        return 0 === o.ref && o.finalize(), a
    }

    function at() {
        return et.id || (et.id = ++tt), ++et.awaits, et.echoes += 100, et.id
    }

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

    function ct(e) {
        return et.echoes && e && e.constructor === ke ? (at(), e.then((e => (lt(), e)), (e => (lt(), bt(e))))) : e
    }

    function ut(e) {
        ++it, et.echoes && 0 != --et.echoes || (et.echoes = et.id = 0), nt.push(Me), ht(e, !0)
    }

    function dt() {
        var e = nt[nt.length - 1];
        nt.pop(), ht(e, !1)
    }

    function ht(e, t) {
        var n = Me;
        if ((t ? !et.echoes || rt++ && e === Me : !rt || --rt && e === Me) || yt(t ? ut.bind(null, e) : dt), e !== Me && (Me = e, n === Ie && (Ie.env = ft()), xe)) {
            var r = Ie.env.Promise,
                i = e.env;
            be.then = i.nthen, r.prototype.then = i.gthen, (n.global || e.global) && (Object.defineProperty(l, "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 ft() {
        var e = l.Promise;
        return xe ? {
            Promise: e,
            PromiseProp: Object.getOwnPropertyDescriptor(l, "Promise"),
            all: e.all,
            race: e.race,
            allSettled: e.allSettled,
            any: e.any,
            resolve: e.resolve,
            reject: e.reject,
            nthen: be.then,
            gthen: e.prototype.then
        } : {}
    }

    function pt(e, t, n, r, i) {
        var o = Me;
        try {
            return ht(e, !0), t(n, r, i)
        } finally {
            ht(o, !1)
        }
    }

    function yt(e) {
        we.call(ge, e)
    }

    function mt(e, t, n, r) {
        return "function" != typeof e ? e : function() {
            var i = Me;
            n && at(), ht(t, !0);
            try {
                return e.apply(this, arguments)
            } finally {
                ht(i, !1), r && yt(lt)
            }
        }
    }

    function vt(e, t) {
        return function(n, r) {
            return e.call(this, mt(n, t), mt(r, t))
        }
    }

    function gt(e, t) {
        var n;
        try {
            n = t.onuncatched(e)
        } catch (e) {}
        if (!1 !== n) try {
            var r, i = {
                promise: t,
                reason: e
            };
            if (l.document && document.createEvent ? ((r = document.createEvent("Event")).initEvent("unhandledrejection", !0, !0), d(r, i)) : l.CustomEvent && d(r = new CustomEvent("unhandledrejection", {
                    detail: i
                }), i), r && l.dispatchEvent && (dispatchEvent(r), !l.PromiseRejectionEvent && l.onunhandledrejection)) try {
                l.onunhandledrejection(r)
            } catch (e) {}
            W && r && !r.defaultPrevented && console.warn(`Unhandled rejection: ${e.stack||e}`)
        } catch (e) {}
    } - 1 === ("" + we).indexOf("[native code]") && (at = lt = le);
    var bt = Fe.reject;

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

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

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

            function o(e, n, r) {
                if (!r.schema[i]) throw new oe.NotFound("Table " + i + " not part of transaction");
                return t(r.idbtrans, r)
            }
            const s = Qe();
            try {
                return r && r.db === this.db ? r === Me.trans ? r._promise(e, o, n) : st((() => r._promise(e, o, n)), {
                    trans: r,
                    transless: Me.transless || Me
                }) : _t(this.db, e, [this.name], o)
            } finally {
                s && Je()
            }
        }
        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 (u(e)) return new this.db.WhereClause(this, `[${e.join("+")}]`);
            const t = c(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 !== wt) return this.where(n.name).equals(n.keyPath.map((t => e[t])));
            !n && W && 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 ? Et(n, s && s.multi ? e => {
                    const t = P(e, i);
                    return u(t) && t.some((e => o(a, e)))
                } : e => o(a, P(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, u(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 (p(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) {
                d(this, e)
            }))
        }
        add(e, t) {
            const {
                auto: n,
                keyPath: r
            } = this.schema.primKey;
            let i = e;
            return r && n && (i = At(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "add",
                keys: null != t ? [t] : null,
                values: [i]
            }))).then((e => e.numFailures ? Fe.reject(e.failures[0]) : e.lastResult)).then((t => {
                if (r) try {
                    E(e, r, t)
                } catch (e) {}
                return t
            }))
        }
        update(e, t) {
            if ("object" != typeof e || u(e)) return this.where(":id").equals(e).modify(t); {
                const n = P(e, this.schema.primKey.keyPath);
                if (void 0 === n) return bt(new oe.InvalidArgument("Given object does not contain its primary key"));
                try {
                    "function" != typeof t ? c(t).forEach((n => {
                        E(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 = At(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "put",
                values: [i],
                keys: null != t ? [t] : null
            }))).then((e => e.numFailures ? Fe.reject(e.failures[0]) : e.lastResult)).then((t => {
                if (r) try {
                    E(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 ? Fe.reject(e.failures[0]) : void 0))
        }
        clear() {
            return this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "deleteRange",
                range: Ot
            }))).then((e => e.numFailures ? Fe.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 oe.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");
                if (r && r.length !== e.length) throw new oe.InvalidArgument("Arguments objects and keys must have the same length");
                const s = e.length;
                let a = o && n ? e.map(At(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 ne(`${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 oe.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");
                if (r && r.length !== e.length) throw new oe.InvalidArgument("Arguments objects and keys must have the same length");
                const s = e.length;
                let a = o && n ? e.map(At(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 ne(`${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 ne(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`, r)
            }))
        }
    }

    function Dt(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 = ye), i || (i = le);
            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) {
            c(e).forEach((function(t) {
                var n = e[t];
                if (u(n)) o(t, e[t][0], e[t][1]);
                else {
                    if ("asap" !== n) throw new oe.InvalidArgument("Invalid event config");
                    var r = o(t, ce, (function() {
                        for (var e = arguments.length, t = new Array(e); e--;) t[e] = arguments[e];
                        r.subscribers.forEach((function(e) {
                            S((function() {
                                e.apply(null, t)
                            }))
                        }))
                    }))
                }
            }))
        }
    }

    function It(e, t) {
        return g(t).from({
            prototype: e
        }), t
    }

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

    function jt(e, t) {
        e.filter = Et(e.filter, t)
    }

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

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

    function Ft(e, t, n) {
        const r = Rt(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 Nt(e, t, n, r) {
        const i = e.replayFilter ? Et(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)), p(o, a) || (o[a] = !0, t(e, n, r))
                    }
                };
            return Promise.all([e.or._iterate(s, n), Ut(Ft(e, r, n), e.algorithm, s, !e.keysOnly && e.valueMapper)])
        }
        return Ut(Ft(e, r, n), Et(e.algorithm, i), t, !e.keysOnly && e.valueMapper)
    }

    function Ut(e, t, n, r) {
        var i = $e(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 = le
                }), (t => {
                    e.fail(t), n = le
                })) || i(e.value, e, (e => n = e)), n()
            }))
        }))
    }

    function qt(e, t) {
        try {
            const n = Lt(e),
                r = Lt(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
                    }(zt(e), zt(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 = qt(e[n], t[n]);
                            if (0 !== r) return r
                        }
                        return n === r ? 0 : n < r ? -1 : 1
                    }(e, t)
            }
        } catch (e) {}
        return NaN
    }

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

    function zt(e) {
        return e instanceof Uint8Array ? e : ArrayBuffer.isView(e) ? new Uint8Array(e.buffer, e.byteOffset, e.byteLength) : new Uint8Array(e)
    }
    class Wt {
        _read(e, t) {
            var n = this._ctx;
            return n.error ? n.table._trans(null, bt.bind(null, n.error)) : n.table._trans("readonly", e).then(t)
        }
        _write(e) {
            var t = this._ctx;
            return t.error ? t.table._trans(null, bt.bind(null, t.error)) : t.table._trans("readwrite", e, "locked")
        }
        _addAlgorithm(e) {
            var t = this._ctx;
            t.algorithm = Et(t.algorithm, e)
        }
        _iterate(e, t) {
            return Nt(this._ctx, e, t, this._ctx.table.core)
        }
        clone(e) {
            var t = Object.create(this.constructor.prototype),
                n = Object.create(this._ctx);
            return e && d(n, e), t._ctx = n, t
        }
        raw() {
            return this._ctx.valueMapper = null, this
        }
        each(e) {
            var t = this._ctx;
            return this._read((n => Nt(t, e, n, t.table.core)))
        }
        count(e) {
            return this._read((e => {
                const t = this._ctx,
                    n = t.table.core;
                if (Mt(t, !0)) return n.count({
                    trans: e,
                    query: {
                        index: Rt(t, n.schema),
                        range: t.range
                    }
                }).then((e => Math.min(e, t.limit)));
                var r = 0;
                return Nt(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 && Mt(t, !0) && t.limit > 0) {
                    const {
                        valueMapper: n
                    } = t, r = Rt(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 Nt(t, (e => n.push(e)), e, t.table.core).then((() => n))
                }
            }), e)
        }
        offset(e) {
            var t = this._ctx;
            return e <= 0 || (t.offset += e, Mt(t) ? Tt(t, (() => {
                var t = e;
                return (e, n) => 0 === t || (1 === t ? (--t, !1) : (n((() => {
                    e.advance(t), t = 0
                })), !1))
            })) : Tt(t, (() => {
                var t = e;
                return () => --t < 0
            }))), this
        }
        limit(e) {
            return this._ctx.limit = Math.min(this._ctx.limit, e), Tt(this._ctx, (() => {
                var t = e;
                return function(e, n, r) {
                    return --t <= 0 && n(r), t >= 0
                }
            }), !0), this
        }
        until(e, t) {
            return jt(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 jt(this._ctx, (function(t) {
                return e(t.value)
            })), t = this._ctx, n = e, t.isMatch = Et(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 && Mt(t, !0) && t.limit > 0) return this._read((e => {
                var n = Rt(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 jt(this._ctx, (function(e) {
                var t = e.primaryKey.toString(),
                    r = p(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 = c(e),
                        o = i.length;
                    r = function(t) {
                        for (var n = !1, r = 0; r < o; ++r) {
                            var s = i[r],
                                a = e[s];
                            P(t, s) !== a && (E(t, s, a), n = !0)
                        }
                        return n
                    }
                }
                const s = t.table.core,
                    {
                        outbound: a,
                        extractKey: l
                    } = s.schema.primaryKey,
                    u = this.db._options.modifyChunkSize || 200,
                    d = [];
                let h = 0;
                const f = [],
                    p = (e, t) => {
                        const {
                            failures: n,
                            numFailures: r
                        } = t;
                        h += e - r;
                        for (let e of c(n)) d.push(n[e])
                    };
                return this.clone().primaryKeys().then((i => {
                    const o = c => {
                        const d = Math.min(u, i.length - c);
                        return s.getMany({
                            trans: n,
                            keys: i.slice(c, c + d),
                            cache: "immutable"
                        }).then((h => {
                            const f = [],
                                y = [],
                                m = a ? [] : null,
                                v = [];
                            for (let e = 0; e < d; ++e) {
                                const t = h[e],
                                    n = {
                                        value: j(t),
                                        primKey: i[c + e]
                                    };
                                !1 !== r.call(n, n.value, n) && (null == n.value ? v.push(i[c + e]) : a || 0 === qt(l(t), l(n.value)) ? (y.push(n.value), a && m.push(i[c + e])) : (v.push(i[c + e]), f.push(n.value)))
                            }
                            const g = Mt(t) && t.limit === 1 / 0 && ("function" != typeof e || e === Vt) && {
                                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((() => (y.length > 0 || g && "object" == typeof e) && s.mutate({
                                trans: n,
                                type: "put",
                                keys: m,
                                values: y,
                                criteria: g,
                                changeSpec: "function" != typeof e && e
                            }).then((e => p(y.length, e))))).then((() => (v.length > 0 || g && e === Vt) && s.mutate({
                                trans: n,
                                type: "delete",
                                keys: v,
                                criteria: g
                            }).then((e => p(v.length, e))))).then((() => i.length > c + d && o(c + u)))
                        }))
                    };
                    return o(0).then((() => {
                        if (d.length > 0) throw new te("Error modifying one or more objects", d, h, f);
                        return i.length
                    }))
                }))
            }))
        }
        delete() {
            var e = this._ctx,
                t = e.range;
            return Mt(e) && (e.isPrimKey && !Kt || 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 te("Could not delete some values", Object.keys(e).map((t => e[t])), t - i);
                    return t - i
                }))))
            })) : this.modify(Vt)
        }
    }
    const Vt = (e, t) => t.value = null;

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

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

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

    function Qt(e) {
        return new e.Collection(e, (() => $t(""))).limit(0)
    }

    function Jt(e, t, n, r, i, o) {
        for (var s = Math.min(e.length, r.length), a = -1, l = 0; l < s; ++l) {
            var c = t[l];
            if (c !== r[l]) return i(e[l], n[l]) < 0 ? e.substr(0, l) + n[l] + n.substr(l + 1) : i(e[l], r[l]) < 0 ? e.substr(0, l) + r[l] + n.substr(l + 1) : a >= 0 ? e.substr(0, a) + t[a] + n.substr(a + 1) : null;
            i(e[l], c) < 0 && (a = l)
        }
        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 Zt(e, t, n, r) {
        var i, o, s, a, l, c, u, d = n.length;
        if (!n.every((e => "string" == typeof e))) return Ht(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 ? Gt : Yt;
            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
            })), l = t.map((function(e) {
                return e.lower
            })), c = e, u = "next" === e ? "" : r
        }
        h("next");
        var f = new e.Collection(e, (() => Xt(a[0], l[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, l, p)) return !0;
            for (var f = null, y = p; y < d; ++y) {
                var m = Jt(i, h, a[y], l[y], s, c);
                null === m && null === f ? p = y + 1 : (null === f || s(f, m) > 0) && (f = m)
            }
            return n(null !== f ? function() {
                e.continue(f + u)
            } : r), !1
        })), f
    }

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

    function $t(e) {
        return {
            type: 1,
            lower: e,
            upper: e
        }
    }
    class en {
        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) ? Qt(this) : new this.Collection(this, (() => Xt(e, t, !n, !r)))
            } catch (e) {
                return Ht(this, kt)
            }
        }
        equals(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => $t(e)))
        }
        above(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => Xt(e, void 0, !0)))
        }
        aboveOrEqual(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => Xt(e, void 0, !1)))
        }
        below(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => Xt(void 0, e, !1, !0)))
        }
        belowOrEqual(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => Xt(void 0, e)))
        }
        startsWith(e) {
            return "string" != typeof e ? Ht(this, "String expected.") : this.between(e, e + wt, !0, !0)
        }
        startsWithIgnoreCase(e) {
            return "" === e ? this.startsWith(e) : Zt(this, ((e, t) => 0 === e.indexOf(t[0])), [e], wt)
        }
        equalsIgnoreCase(e) {
            return Zt(this, ((e, t) => e === t[0]), [e], "")
        }
        anyOfIgnoreCase() {
            var e = L.apply(q, arguments);
            return 0 === e.length ? Qt(this) : Zt(this, ((e, t) => -1 !== t.indexOf(e)), e, "")
        }
        startsWithAnyOfIgnoreCase() {
            var e = L.apply(q, arguments);
            return 0 === e.length ? Qt(this) : Zt(this, ((e, t) => t.some((t => 0 === e.indexOf(t)))), e, wt)
        }
        anyOf() {
            const e = L.apply(q, arguments);
            let t = this._cmp;
            try {
                e.sort(t)
            } catch (e) {
                return Ht(this, kt)
            }
            if (0 === e.length) return Qt(this);
            const n = new this.Collection(this, (() => Xt(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 = L.apply(q, arguments);
            if (0 === e.length) return new this.Collection(this);
            try {
                e.sort(this._ascending)
            } catch (e) {
                return Ht(this, kt)
            }
            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 Qt(this);
            if (!e.every((e => void 0 !== e[0] && void 0 !== e[1] && r(e[0], e[1]) <= 0))) return Ht(this, "First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower", oe.InvalidArgument);
            const a = !t || !1 !== t.includeLowers,
                l = t && !0 === t.includeUppers;
            let c, u = r;

            function d(e, t) {
                return u(e[0], t[0])
            }
            try {
                c = 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
                }), []), c.sort(d)
            } catch (e) {
                return Ht(this, kt)
            }
            let h = 0;
            const f = l ? e => r(e, c[h][1]) > 0 : e => r(e, c[h][1]) >= 0,
                p = a ? e => i(e, c[h][0]) > 0 : e => i(e, c[h][0]) >= 0;
            let y = f;
            const m = new this.Collection(this, (() => Xt(c[0][0], c[c.length - 1][1], !a, !l)));
            return m._ondirectionchange = e => {
                "next" === e ? (y = f, u = r) : (y = p, u = i), c.sort(d)
            }, m._addAlgorithm(((e, t, n) => {
                for (var i = e.key; y(i);)
                    if (++h, h === c.length) return t(n), !1;
                return !! function(e) {
                    return !f(e) && !p(e)
                }(i) || (0 === this._cmp(i, c[h][1]) || 0 === this._cmp(i, c[h][0]) || t((() => {
                    u === r ? e.continue(c[h][0]) : e.continue(c[h][1])
                })), !1)
            })), m
        }
        startsWithAnyOf() {
            const e = L.apply(q, arguments);
            return e.every((e => "string" == typeof e)) ? 0 === e.length ? Qt(this) : this.inAnyRange(e.map((e => [e, e + wt]))) : Ht(this, "startsWithAnyOf() only works with strings")
        }
    }

    function tn(e) {
        return $e((function(t) {
            return nn(t), e(t.target.error), !1
        }))
    }

    function nn(e) {
        e.stopPropagation && e.stopPropagation(), e.preventDefault && e.preventDefault()
    }
    const rn = Dt(null, "storagemutated");
    class on {
        _lock() {
            return C(!Me.global), ++this._reculock, 1 !== this._reculock || Me.global || (Me.lockOwnerFor = this), this
        }
        _unlock() {
            if (C(!Me.global), 0 == --this._reculock)
                for (Me.global || (Me.lockOwnerFor = null); this._blockedFuncs.length > 0 && !this._locked();) {
                    var e = this._blockedFuncs.shift();
                    try {
                        pt(e[1], e[0])
                    } catch (e) {}
                }
            return this
        }
        _locked() {
            return this._reculock && Me.lockOwnerFor !== this
        }
        create(e) {
            if (!this.mode) return this;
            const t = this.db.idbdb,
                n = this.db._state.dbOpenError;
            if (C(!this.idbtrans), !e && !t) switch (n && n.name) {
                case "DatabaseClosedError":
                    throw new oe.DatabaseClosed(n);
                case "MissingAPIError":
                    throw new oe.MissingAPI(n.message, n);
                default:
                    throw new oe.OpenFailed(n)
            }
            if (!this.active) throw new oe.TransactionInactive;
            return C(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 = $e((t => {
                nn(t), this._reject(e.error)
            })), e.onabort = $e((t => {
                nn(t), this.active && this._reject(new oe.Abort(e.error)), this.active = !1, this.on("abort").fire(t)
            })), e.oncomplete = $e((() => {
                this.active = !1, this._resolve(), "mutatedParts" in e && rn.storagemutated.fire(e.mutatedParts)
            })), this
        }
        _promise(e, t, n) {
            if ("readwrite" === e && "readwrite" !== this.mode) return bt(new oe.ReadOnly("Transaction is readonly"));
            if (!this.active) return bt(new oe.TransactionInactive);
            if (this._locked()) return new Fe(((r, i) => {
                this._blockedFuncs.push([() => {
                    this._promise(e, t, n).then(r, i)
                }, Me])
            }));
            if (n) return st((() => {
                var e = new Fe(((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 Fe(((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 = Fe.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 Fe(((e, r) => {
                n.then((n => t._waitingQueue.push($e(e.bind(null, n)))), (e => t._waitingQueue.push($e(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 oe.Abort))
        }
        table(e) {
            const t = this._memoizedTables || (this._memoizedTables = {});
            if (p(t, e)) return t[e];
            const n = this.schema[e];
            if (!n) throw new oe.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 sn(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 ? "++" : "") + an(t)
        }
    }

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

    function ln(e, t, n) {
        return {
            name: e,
            primKey: t,
            indexes: n,
            mappedClass: null,
            idxByName: K(n, (e => [e.name, e]))
        }
    }
    let cn = e => {
        try {
            return e.only([
                []
            ]), cn = () => [
                []
            ], [
                []
            ]
        } catch (e) {
            return cn = () => wt, wt
        }
    };

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

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

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

    function pn(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 = dn(e.objectStoreNames);
            return {
                schema: {
                    name: e.name,
                    tables: n.map((e => t.objectStore(e))).map((e => {
                        const {
                            keyPath: t,
                            autoIncrement: n
                        } = e, r = u(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: un(t)
                            },
                            indexes: dn(e.indexNames).map((t => e.index(t))).map((e => {
                                const {
                                    name: t,
                                    unique: n,
                                    multiEntry: r,
                                    keyPath: i
                                } = e, s = {
                                    name: t,
                                    compound: u(i),
                                    keyPath: i,
                                    unique: n,
                                    multiEntry: r,
                                    extractKey: un(i)
                                };
                                return o[fn(i)] = s, s
                            })),
                            getIndexByKeyPath: e => o[fn(e)]
                        };
                        return o[":id"] = s.primaryKey, null != t && (o[fn(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, l) => {
                        a = $e(a);
                        const c = e.objectStore(t),
                            u = null == c.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 = [],
                            y = [];
                        let m = 0;
                        const v = e => {
                            ++m, nn(e)
                        };
                        if ("deleteRange" === n) {
                            if (4 === s.type) return a({
                                numFailures: m,
                                failures: y,
                                results: [],
                                lastResult: void 0
                            });
                            3 === s.type ? p.push(f = c.clear()) : p.push(f = c.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] ? c[n](e[r], t[r]) : c[n](e[r])), f.onerror = v;
                            else
                                for (let t = 0; t < h; ++t) p.push(f = c[n](e[t])), f.onerror = v
                        }
                        const g = e => {
                            const t = e.target.result;
                            p.forEach(((e, t) => null != e.error && (y[t] = e.error))), a({
                                numFailures: m,
                                failures: y,
                                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 = $e(r);
                    const o = e.objectStore(t),
                        s = n.length,
                        a = new Array(s);
                    let l, c = 0,
                        u = 0;
                    const d = e => {
                            const t = e.target;
                            a[t._pos] = t.result, ++u === c && r(a)
                        },
                        h = tn(i);
                    for (let e = 0; e < s; ++e) null != n[e] && (l = o.get(n[e]), l._pos = e, l.onsuccess = d, l.onerror = h, ++c);
                    0 === c && r(a)
                })),
                get: ({
                    trans: e,
                    key: n
                }) => new Promise(((r, i) => {
                    r = $e(r);
                    const o = e.objectStore(t).get(n);
                    o.onsuccess = e => r(e.target.result), o.onerror = tn(i)
                })),
                query: function(e) {
                    return n => new Promise(((i, o) => {
                        i = $e(i);
                        const {
                            trans: s,
                            values: a,
                            limit: l,
                            query: c
                        } = n, u = l === 1 / 0 ? void 0 : l, {
                            index: d,
                            range: h
                        } = c, f = s.objectStore(t), p = d.isPrimaryKey ? f : f.index(d.name), y = r(h);
                        if (0 === l) return i({
                            result: []
                        });
                        if (e) {
                            const e = a ? p.getAll(y, u) : p.getAllKeys(y, u);
                            e.onsuccess = e => i({
                                result: e.target.result
                            }), e.onerror = tn(o)
                        } else {
                            let e = 0;
                            const t = a || !("openKeyCursor" in p) ? p.openCursor(y) : p.openKeyCursor(y),
                                n = [];
                            t.onsuccess = r => {
                                const o = t.result;
                                return o ? (n.push(a ? o.value : o.primaryKey), ++e === l ? i({
                                    result: n
                                }) : void o.continue()) : i({
                                    result: n
                                })
                            }, t.onerror = tn(o)
                        }
                    }))
                }(o),
                openCursor: function({
                    trans: e,
                    values: n,
                    query: i,
                    reverse: o,
                    unique: s
                }) {
                    return new Promise(((a, l) => {
                        a = $e(a);
                        const {
                            index: c,
                            range: u
                        } = i, d = e.objectStore(t), h = c.isPrimaryKey ? d : d.index(c.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 = tn(l), p.onsuccess = $e((t => {
                            const n = p.result;
                            if (!n) return void a(null);
                            n.___id = ++hn, 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 = $e(l), 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 = $e(e), p.onerror = tn(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 = $e((e => {
                                    p.onsuccess = a, a()
                                })), n.continue = r, n.continuePrimaryKey = i, n.advance = o, a(), t
                            }, a(n)
                        }), l)
                    }))
                },
                count({
                    query: e,
                    trans: n
                }) {
                    const {
                        index: i,
                        range: o
                    } = e;
                    return new Promise(((e, s) => {
                        const a = n.objectStore(t),
                            l = i.isPrimaryKey ? a : a.index(i.name),
                            c = r(o),
                            u = c ? l.count(c) : l.count();
                        u.onsuccess = $e((t => e(t.target.result))), u.onerror = tn(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: cn(t),
            schema: i
        }
    }

    function yn({
        _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)
                }(pn(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 mn({
        _novip: e
    }, t, n, r) {
        n.forEach((n => {
            const i = r[n];
            t.forEach((t => {
                const r = _(t, n);
                (!r || "value" in r && void 0 === r.value) && (t === e.Transaction.prototype || t instanceof e.Transaction ? v(t, n, {
                    get() {
                        return this.table(n)
                    }, set(e) {
                        m(this, n, {
                            value: e,
                            writable: !0,
                            configurable: !0,
                            enumerable: !0
                        })
                    }
                }) : t[n] = new e.Table(n, i))
            }))
        }))
    }

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

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

    function bn(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 = Me.transless || Me;
        st((() => {
            Me.trans = o, Me.transless = a, 0 === t ? (c(i).forEach((e => {
                wn(n, e, i[e].primKey, i[e].indexes)
            })), yn(e, n), Fe.follow((() => e.on.populate.fire(o))).catch(s)) : function({
                _novip: e
            }, t, n, r) {
                const i = [],
                    o = e._versions;
                let s = e._dbSchema = xn(e, e.idbdb, r),
                    a = !1;
                return o.filter((e => e._cfg.version >= t)).forEach((o => {
                        i.push((() => {
                            const i = s,
                                l = o._cfg.dbschema;
                            Cn(e, i, r), Cn(e, l, r), s = e._dbSchema = l;
                            const u = _n(i, l);
                            u.add.forEach((e => {
                                wn(r, e[0], e[1].primKey, e[1].indexes)
                            })), u.change.forEach((e => {
                                if (e.recreate) throw new oe.Upgrade("Not yet support for changing primary key"); {
                                    const t = r.objectStore(e.name);
                                    e.add.forEach((e => kn(t, e))), e.change.forEach((e => {
                                        t.deleteIndex(e.name), kn(t, e)
                                    })), e.del.forEach((e => t.deleteIndex(e)))
                                }
                            }));
                            const d = o._cfg.contentUpgrade;
                            if (d && o._cfg.version > t) {
                                yn(e, r), n._memoizedTables = {}, a = !0;
                                let t = O(l);
                                u.del.forEach((e => {
                                    t[e] = i[e]
                                })), vn(e, [e.Transaction.prototype]), mn(e, [e.Transaction.prototype], c(t), t), n.schema = t;
                                const o = z(d);
                                let s;
                                o && at();
                                const h = Fe.follow((() => {
                                    if (s = d(n), s && o) {
                                        var e = lt.bind(null, null);
                                        s.then(e, e)
                                    }
                                }));
                                return s && "function" == typeof s.then ? Fe.resolve(s) : h.then((() => s))
                            }
                        })), i.push((t => {
                            a && St || function(e, t) {
                                [].slice.call(t.db.objectStoreNames).forEach((n => null == e[n] && t.db.deleteObjectStore(n)))
                            }(o._cfg.dbschema, t), vn(e, [e.Transaction.prototype]), mn(e, [e.Transaction.prototype], e._storeNames, e._dbSchema), n.schema = e._dbSchema
                        }))
                    })),
                    function e() {
                        return i.length ? Fe.resolve(i.shift()(n.idbtrans)).then(e) : Fe.resolve()
                    }().then((() => {
                        var e, t;
                        t = r, c(e = s).forEach((n => {
                            t.db.objectStoreNames.contains(n) || wn(t, n, e[n].primKey, e[n].indexes)
                        }))
                    }))
            }(e, t, o, n).catch(s)
        }))
    }

    function _n(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 && !Ct) 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 wn(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 => kn(i, e))), i
    }

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

    function xn(e, t, n) {
        const r = {};
        return k(t.objectStoreNames, 0).forEach((e => {
            const t = n.objectStore(e);
            let i = t.keyPath;
            const o = sn(an(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 = sn(n.name, i, !!n.unique, !!n.multiEntry, !1, i && "string" != typeof i, !1);
                s.push(a)
            }
            r[e] = ln(e, o, s)
        })), r
    }

    function Cn({
        _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 : "[" + k(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) && l.WorkerGlobalScope && l instanceof l.WorkerGlobalScope && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604 && (e._hasGetAll = !1)
    }
    class Sn {
        _parseStoresSpec(e, t) {
            c(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 sn(n, r || null, /\&/.test(e), /\*/.test(e), /\+\+/.test(e), u(r), 0 === t)
                        })),
                        i = r.shift();
                    if (i.multi) throw new oe.Schema("Primary key cannot be multi-valued");
                    r.forEach((e => {
                        if (e.auto) throw new oe.Schema("Only primary key can be marked as autoIncrement (++)");
                        if (!e.keyPath) throw new oe.Schema("Index must have a name and cannot be an empty string")
                    })), t[n] = ln(n, i, r)
                }
            }))
        }
        stores(e) {
            const t = this.db;
            this._cfg.storesSource = this._cfg.storesSource ? d(this._cfg.storesSource, e) : e;
            const n = t._versions,
                r = {};
            let i = {};
            return n.forEach((e => {
                d(r, e._cfg.storesSource), i = e._cfg.dbschema = {}, e._parseStoresSpec(r, i)
            })), t._dbSchema = i, vn(t, [t._allTables, t, t.Transaction.prototype]), mn(t, [t._allTables, t, t.Transaction.prototype, this._cfg.tables], c(i), i), t._storeNames = c(i), this
        }
        upgrade(e) {
            return this._cfg.contentUpgrade = me(this._cfg.contentUpgrade || le, e), this
        }
    }

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

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

    function En(e) {
        return st((function() {
            return Me.letThrough = !0, e()
        }))
    }

    function On() {
        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 An(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) : u(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 oe.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 Dn(e, t, n, r, i) {
        return Fe.resolve().then((() => {
            const o = Me.transless || Me,
                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 === re.InvalidState && e.isOpen() && --e._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), e._close(), e.open().then((() => Dn(e, t, n, null, i)))) : bt(r)
            }
            const l = z(i);
            let c;
            l && at();
            const u = Fe.follow((() => {
                if (c = i.call(s, s), c)
                    if (l) {
                        var e = lt.bind(null, null);
                        c.then(e, e)
                    } else "function" == typeof c.next && "function" == typeof c.throw && (c = An(c))
            }), a);
            return (c && "function" == typeof c.then ? Fe.resolve(c).then((e => s.active ? e : bt(new oe.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn")))) : u.then((() => c))).then((e => (r && s._resolve(), s._completion.then((() => e))))).catch((e => (s._reject(e), bt(e))))
        }))
    }

    function In(e, t, n) {
        const r = u(e) ? e.slice() : [e];
        for (let e = 0; e < n; ++e) r.push(t);
        return r
    }
    const Mn = {
        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 = fn(e),
                            a = i[r] = i[r] || [],
                            l = null == e ? 0 : "string" == typeof e ? 1 : e.length,
                            c = t > 0,
                            u = {...n, isVirtual: c, keyTail: t, keyLength: l, extractKey: un(e), unique: !c && n.unique
                            };
                        return a.push(u), u.isPrimaryKey || o.push(u), l > 1 && s(2 === l ? e[0] : e.slice(0, l - 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 l(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: In(r.lower, r.lowerOpen ? e.MAX_KEY : e.MIN_KEY, i),
                                    lowerOpen: !0,
                                    upper: In(r.upper, r.upperOpen ? e.MIN_KEY : e.MAX_KEY, i),
                                    upperOpen: !0
                                })
                            }
                        } : t;
                        var r, i
                    }
                    const c = {...n, schema: {...r, primaryKey: a, indexes: o, getIndexByKeyPath: function(e) {
                                const t = i[fn(e)];
                                return t && t[0]
                            }
                        }, count: e => n.count(l(e)), query: e => n.query(l(e)), openCursor(t) {
                            const {
                                keyTail: r,
                                isVirtual: i,
                                keyLength: o
                            } = t.query.index;
                            return i ? n.openCursor(l(t)).then((n => n && function(n) {
                                const i = Object.create(n, {
                                    continue: {
                                        value: function(i) {
                                            null != i ? n.continue(In(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(In(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 c
                }
            }
        }
    };

    function jn(e, t, n, r) {
        return n = n || {}, r = r || "", c(e).forEach((i => {
            if (p(t, i)) {
                var o = e[i],
                    s = t[i];
                if ("object" == typeof o && "object" == typeof s && o && s) {
                    const e = F(o);
                    e !== F(s) ? n[r + i] = t[i] : "Object" === e ? jn(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
        })), c(t).forEach((i => {
            p(e, i) || (n[r + i] = t[i])
        })), n
    }
    const Tn = {
        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 = Me.trans,
                                {
                                    deleting: o,
                                    creating: s,
                                    updating: a
                                } = i.table(t).hook;
                            switch (e.type) {
                                case "add":
                                    if (s.fire === le) break;
                                    return i._promise("readwrite", (() => l(e)), !0);
                                case "put":
                                    if (s.fire === le && a.fire === le) break;
                                    return i._promise("readwrite", (() => l(e)), !0);
                                case "delete":
                                    if (o.fire === le) break;
                                    return i._promise("readwrite", (() => l(e)), !0);
                                case "deleteRange":
                                    if (o.fire === le) break;
                                    return i._promise("readwrite", (() => function(e) {
                                        return c(e.trans, e.range, 1e4)
                                    }(e)), !0)
                            }
                            return n.mutate(e);

                            function l(e) {
                                const t = Me.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((l => {
                                        const c = i.map(((n, i) => {
                                            const c = l[i],
                                                u = {
                                                    onerror: null,
                                                    onsuccess: null
                                                };
                                            if ("delete" === e.type) o.fire.call(u, n, c, t);
                                            else if ("add" === e.type || void 0 === c) {
                                                const o = s.fire.call(u, n, e.values[i], t);
                                                null == n && null != o && (n = o, e.keys[i] = n, r.outbound || E(e.values[i], r.keyPath, n))
                                            } else {
                                                const r = jn(c, e.values[i]),
                                                    o = a.fire.call(u, r, n, c, t);
                                                if (o) {
                                                    const t = e.values[i];
                                                    Object.keys(o).forEach((e => {
                                                        p(t, e) ? t[e] = o[e] : E(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 = c[r];
                                                null == o ? s.onerror && s.onerror(t[r]) : s.onsuccess && s.onsuccess("put" === e.type && l[r] ? e.values[r] : o)
                                            }
                                            return {
                                                failures: t,
                                                results: n,
                                                numFailures: r,
                                                lastResult: o
                                            }
                                        })).catch((e => (c.forEach((t => t.onerror && t.onerror(e))), Promise.reject(e))))
                                    }))
                            }

                            function c(e, t, i) {
                                return n.query({
                                    trans: e,
                                    values: !1,
                                    query: {
                                        index: r,
                                        range: t
                                    },
                                    limit: i
                                }).then((({
                                    result: n
                                }) => l({
                                    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
                                } : c(e, {...t, lower: n[n.length - 1], lowerOpen: !0
                                }, i)))))
                            }
                        }
                    };
                return i
            }
        })
    };

    function Rn(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 === qt(t.keys[i], e[o]) && (r.push(n ? j(t.values[i]) : t.values[i]), ++o);
            return r.length === e.length ? r : null
        } catch (e) {
            return null
        }
    }
    const Fn = {
        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 = Rn(e.keys, e.trans._cache, "clone" === e.cache);
                        return t ? Fe.resolve(t) : n.getMany(e).then((t => (e.trans._cache = {
                            keys: e.keys,
                            values: "clone" === e.cache ? j(t) : t
                        }, t)))
                    }, mutate: e => ("add" !== e.type && (e.trans._cache = null), n.mutate(e))
                }
            }
        })
    };

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

    function qn(e, t, n) {
        const r = qt(t, n);
        if (isNaN(r)) return;
        if (r > 0) throw RangeError();
        if (Nn(e)) return d(e, {
            from: t,
            to: n,
            d: 1
        });
        const i = e.l,
            o = e.r;
        if (qt(n, e.from) < 0) return i ? qn(i, t, n) : e.l = {
            from: t,
            to: n,
            d: 1,
            l: null,
            r: null
        }, Wn(e);
        if (qt(t, e.to) > 0) return o ? qn(o, t, n) : e.r = {
            from: t,
            to: n,
            d: 1,
            l: null,
            r: null
        }, Wn(e);
        qt(t, e.from) < 0 && (e.from = t, e.l = null, e.d = o ? o.d + 1 : 1), qt(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 && Ln(e, i), o && s && Ln(e, o)
    }

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

    function zn(e) {
        let t = Nn(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 && qt(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 || qt(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 Wn(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 = Vn(n)
        }
        e.d = Vn(e)
    }

    function Vn({
        r: e,
        l: t
    }) {
        return (e ? t ? Math.max(e.d, t.d) : e.d : t ? t.d : 0) + 1
    }
    y(Un.prototype, {
        add(e) {
            return Ln(this, e), this
        }, addKey(e) {
            return qn(this, e, e), this
        }, addKeys(e) {
            return e.forEach((e => qn(this, e, e))), this
        }, [N]() {
            return zn(this)
        }
    });
    const Gn = {
        stack: "dbcore",
        level: 0,
        create: e => {
            const t = e.schema.name,
                n = new Un(e.MIN_KEY, e.MAX_KEY);
            return {...e, table: r => {
                    const i = e.table(r),
                        {
                            schema: o
                        } = i,
                        {
                            primaryKey: s
                        } = o,
                        {
                            extractKey: a,
                            outbound: l
                        } = s,
                        d = {...i, mutate: e => {
                                const s = e.trans,
                                    a = s.mutatedParts || (s.mutatedParts = {}),
                                    l = e => {
                                        const n = `idb://${t}/${r}/${e}`;
                                        return a[n] || (a[n] = new Un)
                                    },
                                    c = l(""),
                                    d = l(":dels"),
                                    {
                                        type: h
                                    } = e;
                                let [f, p] = "deleteRange" === e.type ? [e.range] : "delete" === e.type ? [e.keys] : e.values.length < 50 ? [
                                    [], e.values
                                ] : [];
                                const y = e.trans._cache;
                                return i.mutate(e).then((e => {
                                    if (u(f)) {
                                        "delete" !== h && (f = e.results), c.addKeys(f);
                                        const t = Rn(f, y);
                                        t || "add" === h || d.addKeys(f), (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 && u(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 !== qt(i, a) && (null != i && s(i), null != a && s(a))
                                                }))
                                            }))
                                        }(l, o, t, p)
                                    } else if (f) {
                                        const e = {
                                            from: f.lower,
                                            to: f.upper
                                        };
                                        d.add(e), c.add(e)
                                    } else c.add(n), d.add(n), o.indexes.forEach((e => l(e.name).add(n)));
                                    return e
                                }))
                            }
                        },
                        h = ({
                            query: {
                                index: t,
                                range: n
                            }
                        }) => {
                            var r, i;
                            return [t, new Un(null !== (r = n.lower) && void 0 !== r ? r : e.MIN_KEY, null !== (i = n.upper) && void 0 !== i ? i : e.MAX_KEY)]
                        },
                        f = {get: e => [s, new Un(e.key)],
                            getMany: e => [s, (new Un).addKeys(e.keys)],
                            count: h,
                            query: h,
                            openCursor: h
                        };
                    return c(f).forEach((e => {
                        d[e] = function(o) {
                            const {
                                subscr: s
                            } = Me;
                            if (s) {
                                const c = e => {
                                        const n = `idb://${t}/${r}/${e}`;
                                        return s[n] || (s[n] = new Un)
                                    },
                                    u = c(""),
                                    d = c(":dels"),
                                    [h, p] = f[e](o);
                                if (c(h.name || "").add(p), !h.isPrimaryKey) {
                                    if ("count" !== e) {
                                        const t = "query" === e && l && o.values && i.query({...o, values: !1
                                        });
                                        return i[e].apply(this, arguments).then((n => {
                                            if ("query" === e) {
                                                if (l && 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) : d.addKeys(e)
                                            } else if ("openCursor" === e) {
                                                const e = n,
                                                    t = o.values;
                                                return e && Object.create(e, {
                                                    key: {get: () => (d.addKey(e.primaryKey), e.key)
                                                    },
                                                    primaryKey: {
                                                        get() {
                                                            const t = e.primaryKey;
                                                            return d.addKey(t), t
                                                        }
                                                    },
                                                    value: {get: () => (t && u.addKey(e.primaryKey), e.value)
                                                    }
                                                })
                                            }
                                            return n
                                        }))
                                    }
                                    d.add(n)
                                }
                            }
                            return i[e].apply(this, arguments)
                        }
                    })), d
                }
            }
        }
    };
    class Yn {
        constructor(e, t) {
            this._middlewares = {}, this.verno = 0;
            const n = Yn.dependencies;
            this._options = t = {
                addons: Yn.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: le,
                dbReadyPromise: null,
                cancelOpen: le,
                openCanceller: null,
                autoSchema: !0,
                PR1398_maxLoop: 3
            };
            var o;
            i.dbReadyPromise = new Fe((e => {
                i.dbReadyResolve = e
            })), i.openCanceller = new Fe(((e, t) => {
                i.cancelOpen = t
            })), this._state = i, this.name = e, this.on = Dt(this, "populate", "blocked", "versionchange", "close", {
                ready: [me, le]
            }), this.on.ready.subscribe = x(this.on.ready.subscribe, (e => (t, n) => {
                Yn.vip((() => {
                    const r = this._state;
                    if (r.openComplete) r.dbOpenError || Fe.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, It(Wt.prototype, (function(e, t) {
                this.db = o;
                let n = Ot,
                    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 !== ce ? a : null
                }
            }))), this.Table = function(e) {
                return It(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 : Dt(null, {
                        creating: [he, le],
                        reading: [ue, ce],
                        updating: [pe, le],
                        deleting: [fe, le]
                    })
                }))
            }(this), this.Transaction = function(e) {
                return It(on.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 = Dt(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 Fe(((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(), bt(e)
                    }))
                }))
            }(this), this.Version = function(e) {
                return It(Sn.prototype, (function(t) {
                    this.db = e, this._cfg = {
                        version: t,
                        storesSource: null,
                        dbschema: {},
                        tables: {},
                        contentUpgrade: null
                    }
                }))
            }(this), this.WhereClause = function(e) {
                return It(en.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 oe.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 = cn(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), xt.filter((e => e.name === this.name && e !== this && !e._state.vcFired)).map((t => t.on("versionchange").fire(e)))
            }, this.use(Mn), this.use(Tn), this.use(Gn), this.use(Fn), this.vip = Object.create(this, {
                _vip: {
                    value: !0
                }
            }), r.forEach((e => e(this)))
        }
        version(e) {
            if (isNaN(e) || e < .1) throw new oe.Type("Given version is not a positive number");
            if (e = Math.round(10 * e) / 10, this.idbdb || this._state.isBeingOpened) throw new oe.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(gn), n.stores({}), this._state.autoSchema = !1, n)
        }
        _whenReady(e) {
            return this.idbdb && (this._state.openComplete || Me.letThrough || this._vip) ? e() : new Fe(((e, t) => {
                if (this._state.openComplete) return t(new oe.DatabaseClosed(this._state.dbOpenError));
                if (!this._state.isBeingOpened) {
                    if (!this._options.autoOpen) return void t(new oe.DatabaseClosed);
                    this.open().catch(le)
                }
                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 ? bt(t.dbOpenError) : e));
                W && (t.openCanceller._stackHolder = H()), t.isBeingOpened = !0, t.dbOpenError = null, t.openComplete = !1;
                const r = t.openCanceller;

                function i() {
                    if (t.openCanceller !== r) throw new oe.DatabaseClosed("db.open() was cancelled")
                }
                let o = t.dbReadyResolve,
                    s = null,
                    a = !1;
                return Fe.race([r, ("undefined" == typeof navigator ? Fe.resolve() : On()).then((() => new Fe(((r, o) => {
                    if (i(), !n) throw new oe.MissingAPI;
                    const l = e.name,
                        u = t.autoSchema ? n.open(l) : n.open(l, Math.round(10 * e.verno));
                    if (!u) throw new oe.MissingAPI;
                    u.onerror = tn(o), u.onblocked = $e(e._fireOnBlocked), u.onupgradeneeded = $e((r => {
                        if (s = u.transaction, t.autoSchema && !e._options.allowEmptyDB) {
                            u.onerror = nn, s.abort(), u.result.close();
                            const e = n.deleteDatabase(l);
                            e.onsuccess = e.onerror = $e((() => {
                                o(new oe.NoSuchDatabase(`Database ${l} doesnt exist`))
                            }))
                        } else {
                            s.onerror = tn(o);
                            var i = r.oldVersion > Math.pow(2, 62) ? 0 : r.oldVersion;
                            a = i < 1, e._novip.idbdb = u.result, bn(e, i / 10, s, o)
                        }
                    }), o), u.onsuccess = $e((() => {
                        s = null;
                        const n = e._novip.idbdb = u.result,
                            i = k(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 = xn(0, t, n);
                                e._storeNames = k(t.objectStoreNames, 0), mn(e, [e._allTables], c(r), r)
                            }(e, n, r) : (Cn(e, e._dbSchema, r), function(e, t) {
                                const n = _n(xn(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.")), yn(e, r)
                        } catch (e) {}
                        var o;
                        xt.push(e), n.onversionchange = $e((n => {
                            t.vcFired = !0, e.on("versionchange").fire(n)
                        })), n.onclose = $e((t => {
                            e.on("close").fire(t)
                        })), a && function({
                            indexedDB: e,
                            IDBKeyRange: t
                        }, n) {
                            !Pn(e) && "__dbnames" !== n && Kn(e, t).put({
                                name: n
                            }).catch(le)
                        }(e._deps, l), r()
                    }), o)
                }))))]).then((() => (i(), t.onReadyBeingFired = [], Fe.resolve(En((() => e.on.ready.fire(e.vip)))).then((function n() {
                    if (t.onReadyBeingFired.length > 0) {
                        let r = t.onReadyBeingFired.reduce(me, le);
                        return t.onReadyBeingFired = [], Fe.resolve(En((() => 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(), bt(n)
                })).finally((() => {
                    t.openComplete = !0, o()
                }))
            }(this)
        }
        _close() {
            const e = this._state,
                t = xt.indexOf(this);
            if (t >= 0 && xt.splice(t, 1), this.idbdb) {
                try {
                    this.idbdb.close()
                } catch (e) {}
                this._novip.idbdb = null
            }
            e.dbReadyPromise = new Fe((t => {
                e.dbReadyResolve = t
            })), e.openCanceller = new Fe(((t, n) => {
                e.cancelOpen = n
            }))
        }
        close() {
            this._close();
            const e = this._state;
            this._options.autoOpen = !1, e.dbOpenError = new oe.DatabaseClosed, e.isBeingOpened && e.cancelOpen(e.dbOpenError)
        }
        delete() {
            const e = arguments.length > 0,
                t = this._state;
            return new Fe(((n, r) => {
                const i = () => {
                    this.close();
                    var e = this._deps.indexedDB.deleteDatabase(this.name);
                    e.onsuccess = $e((() => {
                        ! function({
                            indexedDB: e,
                            IDBKeyRange: t
                        }, n) {
                            !Pn(e) && "__dbnames" !== n && Kn(e, t).delete(n).catch(le)
                        }(this._deps, this.name), n()
                    })), e.onerror = tn(r), e.onblocked = this._fireOnBlocked
                };
                if (e) throw new oe.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 c(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 = Me.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 oe.InvalidArgument("Invalid transaction mode: " + e);
                    o = "readwrite"
                }
                if (r) {
                    if ("readonly" === r.mode && "readwrite" === o) {
                        if (!i) throw new oe.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 oe.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)
                })) : bt(e)
            }
            const a = Dn.bind(null, this, o, s, r, n);
            return r ? r._promise(o, a, "lock") : Me.trans ? pt(Me.transless, (() => this._whenReady(a))) : this._whenReady(a)
        }
        table(e) {
            if (!p(this._allTables, e)) throw new oe.InvalidTable(`Table ${e} does not exist`);
            return this._allTables[e]
        }
    }
    const Hn = "undefined" != typeof Symbol && "observable" in Symbol ? Symbol.observable : "@@observable";
    class Qn {
        constructor(e) {
            this._subscribe = e
        }
        subscribe(e, t, n) {
            return this._subscribe(e && "function" != typeof e ? e : {
                next: e,
                error: t,
                complete: n
            })
        }[Hn]() {
            return this
        }
    }

    function Jn(e, t) {
        return c(t).forEach((n => {
            Ln(e[n] || (e[n] = new Un), t[n])
        })), e
    }
    let Zn;
    try {
        Zn = {
            indexedDB: l.indexedDB || l.mozIndexedDB || l.webkitIndexedDB || l.msIndexedDB,
            IDBKeyRange: l.IDBKeyRange || l.webkitIDBKeyRange
        }
    } catch (l) {
        Zn = {
            indexedDB: null,
            IDBKeyRange: null
        }
    }
    const Xn = Yn;

    function $n(e) {
        let t = er;
        try {
            er = !0, rn.storagemutated.fire(e)
        } finally {
            er = t
        }
    }
    y(Xn, {...ae, delete: e => new Xn(e, {
            addons: []
        }).delete(), exists: e => new Xn(e, {
            addons: []
        }).open().then((e => (e.close(), !0))).catch("NoSuchDatabaseError", (() => !1)), getDatabaseNames(e) {
            try {
                return function({
                    indexedDB: e,
                    IDBKeyRange: t
                }) {
                    return Pn(e) ? Promise.resolve(e.databases()).then((e => e.map((e => e.name)).filter((e => "__dbnames" !== e)))) : Kn(e, t).toCollection().primaryKeys()
                }(Xn.dependencies).then(e)
            } catch (e) {
                return bt(new oe.MissingAPI)
            }
        }, defineClass: () => function(e) {
            d(this, e)
        }, ignoreTransaction: e => Me.trans ? pt(Me.transless, e) : e(), vip: En, async: function(e) {
            return function() {
                try {
                    var t = An(e.apply(this, arguments));
                    return t && "function" == typeof t.then ? t : Fe.resolve(t)
                } catch (e) {
                    return bt(e)
                }
            }
        }, spawn: function(e, t, n) {
            try {
                var r = An(e.apply(n, t || []));
                return r && "function" == typeof r.then ? r : Fe.resolve(r)
            } catch (e) {
                return bt(e)
            }
        }, currentTransaction: {get: () => Me.trans || null
        }, waitFor: function(e, t) {
            const n = Fe.resolve("function" == typeof e ? Xn.ignoreTransaction(e) : e).timeout(t || 6e4);
            return Me.trans ? Me.trans.waitFor(n) : n
        }, Promise: Fe, debug: {get: () => W,
            set: e => {
                V(e, "dexie" === e ? () => !0 : Pt)
            }
        }, derive: g, extend: d, props: y, override: x, Events: Dt, on: rn, liveQuery: function(e) {
            return new Qn((t => {
                const n = z(e);
                let r = !1,
                    i = {},
                    o = {};
                const s = {get closed() {
                        return r
                    },
                    unsubscribe: () => {
                        r = !0, rn.storagemutated.unsubscribe(d)
                    }
                };
                t.start && t.start(s);
                let a = !1,
                    l = !1;

                function u() {
                    return c(o).some((e => i[e] && function(e, t) {
                        const n = zn(t);
                        let r = n.next();
                        if (r.done) return !1;
                        let i = r.value;
                        const o = zn(e);
                        let s = o.next(i.from),
                            a = s.value;
                        for (; !r.done && !s.done;) {
                            if (qt(a.from, i.to) <= 0 && qt(a.to, i.from) >= 0) return !0;
                            qt(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 d = e => {
                        Jn(i, e), u() && h()
                    },
                    h = () => {
                        if (a || r) return;
                        i = {};
                        const c = {},
                            f = function(t) {
                                n && at();
                                const r = () => st(e, {
                                        subscr: t,
                                        trans: null
                                    }),
                                    i = Me.trans ? pt(Me.transless, r) : r();
                                return n && i.then(lt, lt), i
                            }(c);
                        l || (rn("storagemutated", d), l = !0), a = !0, Promise.resolve(f).then((e => {
                            a = !1, r || (u() ? h() : (i = {}, o = c, t.next && t.next(e)))
                        }), (e => {
                            a = !1, t.error && t.error(e), s.unsubscribe()
                        }))
                    };
                return h(), s
            }))
        }, extendObservabilitySet: Jn, getByKeyPath: P, setByKeyPath: E, delByKeyPath: function(e, t) {
            "string" == typeof t ? E(e, t, void 0) : "length" in t && [].map.call(t, (function(t) {
                E(e, t, void 0)
            }))
        }, shallowClone: O, deepClone: j, getObjectDiff: jn, cmp: qt, asap: S, minKey: -1 / 0, addons: [], connections: xt, errnames: re, dependencies: Zn, semVer: "3.2.1", version: "3.2.1".split(".").map((e => parseInt(e))).reduce(((e, t, n) => e + t / Math.pow(10, 2 * n)))
    }), Xn.maxKey = cn(Xn.dependencies.IDBKeyRange), "undefined" != typeof dispatchEvent && "undefined" != typeof addEventListener && (rn("storagemutated", (e => {
        if (!er) {
            let t;
            Ct ? (t = document.createEvent("CustomEvent"), t.initCustomEvent("x-storagemutated-1", !0, !0, e)) : t = new CustomEvent("x-storagemutated-1", {
                detail: e
            }), er = !0, dispatchEvent(t), er = !1
        }
    })), addEventListener("x-storagemutated-1", (({
        detail: e
    }) => {
        er || $n(e)
    })));
    let er = !1;
    if ("undefined" != typeof BroadcastChannel) {
        const e = new BroadcastChannel("x-storagemutated-1");
        rn("storagemutated", (t => {
            er || e.postMessage(t)
        })), e.onmessage = e => {
            e.data && $n(e.data)
        }
    } else if ("undefined" != typeof self && "undefined" != typeof navigator) {
        rn("storagemutated", (e => {
            try {
                er || ("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 && $n(t.changedParts)
            }
        }));
        const e = self.document && navigator.serviceWorker;
        e && e.addEventListener("message", (function({
            data: e
        }) {
            e && "x-storagemutated-1" === e.type && $n(e.changedParts)
        }))
    }
    Fe.rejectionMapper = function(e, t) {
        if (!e || e instanceof $ || e instanceof TypeError || e instanceof SyntaxError || !e.name || !se[e.name]) return e;
        var n = new se[e.name](t || e.message, e);
        return "stack" in e && v(n, "stack", {get: function() {
                return this.inner.stack
            }
        }), n
    }, V(W, Pt);
    var tr = new class extends Yn {
        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"
            }), e.version(12).stores({
                auction: null
            }), e.version(13).stores({
                clicks: "++id,url,cid,crtid,price,ttl,date",
                fclicks: "++id,url,rid,cid,ttl,date",
                stat: null,
                impWCl: null,
                plimit: null,
                ownNotifications: null
            })
        }
    };

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

    function rr(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)
            }))
        }
    }
    class ir {
        saveSettings(e) {
            return tr.transaction("rw", tr.settings, function() {
                var t = rr((function*(t) {
                    yield tr.settings.clear(),
                        yield tr.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,
                            tag_ab: e.tagAbVersion,
                            visitor_id: e.visitorId,
                            is_safari: e.isSafari
                        })
                }));
                return function(e) {
                    return t.apply(this, arguments)
                }
            }())
        }
        getSettings() {
            return rr((function*() {
                var e =
                    yield tr.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,
                        tagAbVersion: t.tag_ab,
                        visitorId: t.visitor_id,
                        isSafari: t.is_safari
                    }
                }
                return null
            }))()
        }
    }
    for (var or = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", sr = new Uint8Array(256), ar = 0; ar < or.length; ar++) sr[or.charCodeAt(ar)] = ar;

    function lr(e) {
        for (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : or, 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 cr(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : sr,
            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)],
                l = t[e.charCodeAt(s + 1)],
                c = t[e.charCodeAt(s + 2)],
                u = t[e.charCodeAt(s + 3)];
            o[i++] = a << 2 | l >> 4, o[i++] = (15 & l) << 4 | c >> 2, o[i++] = (3 & c) << 6 | 63 & u
        }
        return o
    }
    sr[45] = 62, sr[95] = 63;
    const ur = 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 dr(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 hr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                l = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(l) : Promise.resolve(l).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) {
                    hr(o, r, i, s, a, "next", e)
                }

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

    function yr(e) {
        return mr.apply(this, arguments)
    }

    function mr() {
        return (mr = fr((function*(t) {
            var {
                pushManager: n,
                currentSubscription: r,
                vapidKey: i,
                vapID: o,
                tcId: s,
                spotId: a,
                tube: l,
                sub: c,
                utmSource: u,
                utmMedium: d,
                utmCampaign: h,
                utmContent: f,
                isAdblock: p,
                fingerprint: y,
                referrer: m = "",
                href: v = "",
                sid: g
            } = t;
            yield r.unsubscribe();
            var b =
                yield n.subscribe({
                    applicationServerKey: cr(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: lr(w),
                        publicKey: lr(_),
                        endpoint: b.endpoint,
                        sdkVersion: e,
                        tcid: s,
                        spot_id: a,
                        token_id: o,
                        tube: "other" === l ? "tcpublisher" : l,
                        sub: c,
                        utm_source: u,
                        utm_medium: d,
                        utm_campaign: h,
                        utm_content: f,
                        is_adblock: p,
                        fp: y,
                        referrer: m,
                        href: v,
                        sid: g
                    })
                })).json()
        }))).apply(this, arguments)
    }

    function vr() {
        return (vr = fr((function*(e, t, n) {
            var {
                tcId: r,
                spotId: i,
                tube: o,
                sub: s,
                utmSource: a,
                utmMedium: l,
                utmCampaign: c,
                utmContent: u,
                isAdblock: d,
                fingerprint: h,
                sid: f,
                referrer: p,
                href: y
            } = t, {
                minIndexKey: m,
                maxIndexKey: v
            } = n, g = ur.x.map((e => {
                    var {
                        publicKey: t
                    } = e;
                    return t
                })), b =
                yield e.getSubscription(), _ = lr(b.options.applicationServerKey);
            if (!g.includes(_) || "other" === o) {
                var w = ur.x,
                    k = dr(w, m, v) || w[0];
                return yield yr({
                    pushManager: e,
                    currentSubscription: b,
                    vapidKey: k.publicKey,
                    vapID: k.id,
                    tcId: r,
                    spotId: i,
                    tube: o,
                    sub: s,
                    utmSource: a,
                    utmMedium: l,
                    utmCampaign: c,
                    utmContent: u,
                    isAdblock: d,
                    fingerprint: h,
                    referrer: p,
                    href: y,
                    sid: f
                })
            }
            return {
                sid: f
            }
        }))).apply(this, arguments)
    }
    var gr = new class {
        clearOld() {
            return tr.transaction("rw", [tr.fclicks, tr.clicks], (() => {
                var e = Date.now(),
                    t = e - 1728e5;
                return Promise.all([tr.fclicks.filter((e => void 0 === e.date)).delete(), tr.fclicks.where("ttl").belowOrEqual(e).delete(), tr.clicks.where("ttl").belowOrEqual(e).delete(), tr.fclicks.where("date").below(t).delete(), tr.clicks.where("date").below(t).delete()])
            }))
        }
        getFiredClicks() {
            return tr.fclicks.toArray()
        }
        addFiredClicks(e) {
            return tr.fclicks.bulkPut(e)
        }
        getStoredClicks() {
            return tr.clicks.toArray()
        }
        addStoredClicks(e) {
            return tr.clicks.bulkPut(e)
        }
        removeStoredClicks(e) {
            return tr.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
        }
        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) {
        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 wr(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? _r(Object(n), !0).forEach((function(t) {
                kr(e, t, n[t])
            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : _r(Object(n)).forEach((function(t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }))
        }
        return e
    }

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

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

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

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

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

    function Sr(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)
    }

    function Kr(e, t, n) {
        if (!t.has(e)) throw new TypeError("attempted to get private field on non-instance");
        return n
    }
    var Pr = [10, 20, 30],
        Er = {
            nextNotification: 0,
            mode: null,
            demandModeProbability: .5,
            creativesUpdateTime: null,
            statSendTime: null,
            postponedUpdateTime: null,
            isMetaMaskActive: !1,
            userKeywords: "",
            entryReferrerDomain: null,
            tagAbVersion: "",
            visitorId: 0,
            isSafari: !1
        },
        Or = new WeakSet,
        Ar = new WeakSet;
    class Br {
        constructor() {
            Sr(this, Ar), Sr(this, Or), this.Auction = new ir, this.version = e, this.settingsRestored = !1, Object.keys(Er).forEach((e => {
                this[e] = Er[e]
            })), this.timezone_offset = (new Date).getTimezoneOffset() / -60, this.version = e, this.ClickLocalDB = new br, this.isWindows = navigator && navigator.userAgent.includes("Windows")
        }
        static getVersion() {
            return e
        }
        restoreEnvironment() {
            var e = this;
            return Cr((function*() {
                if (!e.settingsRestored) {
                    e.settingsRestored = !0;
                    var t =
                        yield e.Auction.getSettings();
                    Object.keys(Er).forEach((n => {
                        e[n] = t && t[n] || Er[n]
                    }))
                }
            }))()
        }
        saveEnvironment() {
            var e = this;
            return Cr((function*() {
                return t = [e.Auction.saveSettings(Object.keys(Er).reduce(((t, n) => (t[n] = e[n], t)), {}))], Promise.allSettled && Promise.allSettled(t) || Promise.all(t.map((e => e.then((e => ({
                    status: "fulfilled",
                    value: e
                }))).catch((e => ({
                    status: "rejected",
                    reason: e
                }))))));
                var t
            }))()
        }
        message(e) {
            var t, n, r, i, o, s, a, l, c, u, d, h, f, p;
            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, this.tagAbVersion = null === (a = e.data) || void 0 === a || null === (l = a.adManagerEnv) || void 0 === l ? void 0 : l.tagAbVersion, this.visitorId = null === (c = e.data) || void 0 === c || null === (u = c.adManagerEnv) || void 0 === u ? void 0 : u.visitorId, this.isSafari = "Safari" === (null === (d = e.data) || void 0 === d || null === (h = d.adManagerEnv) || void 0 === h || null === (f = h.ua) || void 0 === f || null === (p = f.browser) || void 0 === p ? void 0 : p.name), e.waitUntil(this.saveEnvironment())
        }
        createNotificationRecord(e) {
            var t, n, r, i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                o = arguments.length > 2 ? arguments[2] : void 0,
                s = Date.now() - 1e3 * e.currentTime,
                a = Date.now();
            var l, c, u = Math.random().toString(36).substring(5) + Math.random().toString(36).substring(5);
            return {
                data: wr(wr({}, i), {}, {
                    notificationUrl: e.notificationUrl,
                    delay: e.delay,
                    cid: e.cid,
                    url: e.url,
                    price: e.ecpm || e.correctedPrice || 0,
                    ttl: (l = e.expirationTimestamp, c = s, void 0 === l || "number" != typeof l || 0 === l ? null : l + c),
                    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),
                    trackCloseUrl: e.track_close_url,
                    showTime: a,
                    actions: null == e || null === (t = e.options) || void 0 === t ? void 0 : t.actions
                }),
                title: e.title,
                body: e.body,
                image: e.image,
                icon: Kr(this, Or, Dr).call(this, e, a),
                actions: null == e || null === (n = e.options) || void 0 === n ? void 0 : n.actions,
                requireInteraction: null == e || null === (r = e.options) || void 0 === r ? void 0 : r.requireInteraction,
                tag: e.tag || u,
                renotify: o || !1
            }
        }
        openNotificationUrl(e, t) {
            var n = this;
            return Cr((function*() {
                var r = Date.now();
                n.ClickLocalDB.addFiredClick({
                    rid: e.rid,
                    cid: e.cid,
                    url: e.url,
                    ttl: e.ttl,
                    date: r
                });
                var i = Kr(n, Ar, Ir).call(n, e, t, r);
                return self.clients.openWindow(i)
            }))()
        }
        closeExpiredNotifications() {
            return Cr((function*() {
                (
                    yield self.registration.getNotifications()).forEach((e => {
                    var t;
                    (null === (t = e.data) || void 0 === t ? void 0 : t.ttl) <= Date.now() && e.close()
                }))
            }))()
        }
        isClickPossible(e) {
            var t = this;
            return Cr((function*() {
                return t.ClickLocalDB.isClickUrlFired(e.url) ? (o("ClickUrlFired"), !1) : !(e.ttl && e.ttl <= Date.now()) || (o("Click ttl expired"), !1)
            }))()
        }
        processClick(e, t) {
            var n = this;
            return Cr((function*() {
                var {
                    rid: r,
                    botProtection: i,
                    ignoreClickLogic: s
                } = e.data;
                o("ignoreClickLogic", s), n.ClickLocalDB.getStoredClicks() || (
                    yield n.ClickLocalDB.loadClickStore());
                var a =
                    yield n.isClickPossible(e.data);
                o("originalClickPossible: ", a, e.data);
                var l = n.ClickLocalDB.getStoredClicks().length;
                if ((0 === l || 1 === l && !a || s) && e.close(), a) return n.openNotificationUrl(e.data, t);
                var c = n.ClickLocalDB.getStoredMaxPriceClick();
                return c ? (
                    yield n.isClickPossible(c)) ? (o("storedClick used: ", c), n.openNotificationUrl(Object.assign(c, {
                    rid: r,
                    count: l,
                    botProtection: i
                }), t)) : n.processClick(e, t) : void 0
            }))()
        }
        filterExpiredNotification(e) {
            return Cr((function*() {
                return e ? e.filter((e => {
                    if (!(e.data.ttl <= Date.now())) return !0;
                    e.close()
                })) : []
            }))()
        }
        displayNotification(e) {
            return i(e.data.delay, self.registration.showNotification(e.title, e)).then((() => {
                e.data.notificationUrl && fetch(e.data.notificationUrl), this.isSafari && e.icon && fetch(e.icon)
            })).catch((e => {
                console.log("TC SW Imp Error: ".concat(e.toString()))
            }))
        }
        push(e) {
            var t = this;
            return Cr((function*() {
                try {
                    t.isSafari && console.log(e),
                        yield t.restoreEnvironment();
                    var n = e.data.json();
                    if (!n) return Promise.resolve();
                    if (!t.isSafari && Math.random().toFixed(2) > .87 && (C = null == n ? void 0 : n.spot_id, pr.includes(C))) {
                        var r, i, o, a, l, c, u, d, h, f, p, {
                                tokenId: y
                            } =
                            yield
                        function(e, t, n) {
                            return vr.apply(this, arguments)
                        }(self.registration.pushManager, {
                            tcId: null !== (r = null == n ? void 0 : n.tcid) && void 0 !== r ? r : null,
                            spotId: null !== (i = null == n ? void 0 : n.spot_id) && void 0 !== i ? i : null,
                            tube: null !== (o = null == n ? void 0 : n.site) && void 0 !== o ? o : "tcpublisher",
                            sub: null !== (a = null == n ? void 0 : n.ad_sub) && void 0 !== a ? a : 0,
                            utmSource: null !== (l = null == n ? void 0 : n.utm_source) && void 0 !== l ? l : "",
                            utmMedium: null !== (c = null == n ? void 0 : n.utm_medium) && void 0 !== c ? c : "",
                            utmCampaign: null !== (u = null == n ? void 0 : n.utm_campaign) && void 0 !== u ? u : "",
                            utmContent: null !== (d = null == n ? void 0 : n.utm_content) && void 0 !== d ? d : "",
                            isAdblock: null !== (h = null == n ? void 0 : n.is_adblock) && void 0 !== h ? h : 0,
                            fingerprint: null !== (f = null == n ? void 0 : n.fingerprint) && void 0 !== f ? f : "",
                            sid: null !== (p = null == n ? void 0 : n.sid) && void 0 !== p ? p : null
                        }, {
                            minIndexKey: 0,
                            maxIndexKey: 29
                        });
                        y && (n.token_id = y)
                    }
                    yield t.saveEnvironment();
                    var m = 0 === t.timezone_offset ? 0 : t.timezone_offset;
                    n.ver = t.version, n.ver_c = t.version;
                    var v, g = (k = wr(wr({}, n), {}, {
                            timezone_offset: m,
                            token_id: n.token_id,
                            mm: t.isMetaMaskActive,
                            user_keywords: t.userKeywords,
                            pr: t.entryReferrerDomain,
                            tag_ab: t.tagAbVersion,
                            user_fp: t.visitorId
                        }), x = new URL("/in/multy", "https://notification.tubecup.net"), Object.entries(k).forEach((e => {
                            var [t, n] = e;
                            "object" == typeof n ? x.searchParams.append(t, encodeURI(JSON.stringify(n))) : x.searchParams.append(t, n)
                        })), x.toString()),
                        b = !1;
                    if (t.isSafari || t.isWindows || Pr.includes(n.token_id)) {
                        if (!(v =
                                yield s(g))) {
                            if (t.isSafari) return self.registration.showNotification("", {
                                body: "This site has been updated in the background",
                                tag: "nstub"
                            });
                            throw new Error("No auction data")
                        }
                        t.isSafari || t.closeExpiredNotifications()
                    } else {
                        b = !0;
                        var _ =
                            yield self.registration.getNotifications();
                        if ([_, v] =
                            yield Promise.all([t.filterExpiredNotification(_), s(g)]), _ = _.sort(((e, t) => e.data.price - t.data.price)), v = v.sort(((e, t) => e.ecpm - t.ecpm)), v.forEach((e => {
                                e.ecpm = Number(e.ecpm.toFixed(6))
                            })), _.length >= 2) {
                            var w = _[_.length - 1].data.price;
                            v.forEach((e => {
                                if (!(e.ecpm > w)) {
                                    var t = _.findIndex((t => {
                                        if (e.ecpm > t.data.price) return e.tag = t.tag, !0
                                    }));
                                    if (-1 !== t && _.splice(t, 1), -1 === t) {
                                        var n, r = null === (n = _[0]) || void 0 === n ? void 0 : n.tag;
                                        e.tag = r || "ipntub".concat(Math.random()), _.splice(0, 1)
                                    }
                                }
                            }))
                        }
                    }
                    return Promise.all(v.map((e => {
                        var r = t.createNotificationRecord(e, {
                            auctionUrl: g,
                            pushPayload: n,
                            tokenId: n.token_id,
                            isSafari: t.isSafari
                        }, b);
                        return t.displayNotification(r)
                    })))
                } catch (e) {
                    throw new Error("TC SW Error: ".concat(e))
                }
                var k, x, C
            }))()
        }
        notificationclick(e) {
            var t, n;
            if (e.notification.data) {
                var r = null !== (n = (null !== (t = e.notification.actions) && void 0 !== t ? t : e.notification.data.actions).find((t => t.action === e.action))) && void 0 !== n ? n : {
                    action: "banner"
                };
                if (e.notification.data.actions) {
                    var o = e.notification.data.actions.find((t => t.action === e.action));
                    if ("close" === (null == o ? void 0 : o.status)) return this.notificationclose(e)
                }
                return i(0, this.processClick(e.notification, r))
            }
        }
        notificationclose(e) {
            var t = this;
            return Cr((function*() {
                var n, r;
                if (e.notification.data && (null === (n = e.notification) || void 0 === n || null === (r = n.data) || void 0 === r || !r.isSafari)) {
                    var {
                        url: i,
                        price: o,
                        ttl: s,
                        cid: a,
                        ignoreClickLogic: l,
                        crtid: c,
                        isCpm: u,
                        trackCloseUrl: d,
                        tokenId: h,
                        showTime: f
                    } = e.notification.data;
                    if (d) {
                        var p = new URL(d),
                            y = !1;
                        "notificationclick" === e.type && (y = !0, e.notification.close()), p.searchParams.append("close_button", y.toString()),
                            function(e, t) {
                                try {
                                    fetch(e, t)
                                } catch (e) {
                                    console.log(e)
                                }
                            }(p.toString())
                    }
                    var m = new URL(i);
                    if (m.searchParams.append("ml", 1), l) return !1;
                    t.ClickLocalDB.getStoredClicks() || (
                        yield t.ClickLocalDB.loadClickStore()), t.ClickLocalDB.isClickUrlFired(i) || u || s && !(s > Date.now()) || t.ClickLocalDB.addStoredClick({
                        url: m.toString(),
                        price: o,
                        ttl: s,
                        cid: a,
                        crtid: c,
                        tokenId: h,
                        showTime: f,
                        date: Date.now()
                    })
                }
            }))()
        }
        install() {
            return self.skipWaiting()
        }
        activate() {
            return self.clients.claim()
        }
    }

    function Dr(e, t) {
        var n = new URL(e.icon),
            r = e.options.actions.map((e => e.title)).join(",");
        return n.searchParams.append("button_title", encodeURI(r)), n.searchParams.append("show_time", t), n.href
    }

    function Ir(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", encodeURIComponent(t.title)), r.searchParams.append("token_id", e.tokenId), r.searchParams.append("show_time", e.showTime), r
    }
    self.getWorker = () => Br
})();

Executed Writes (0)


HTTP Transactions (84)


Request Response
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "6035871C0DE6FF2D120921461207CFA32BC286E1FE78849CE74815FFBB9FF950"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=8253
Expires: Fri, 02 Dec 2022 15:52:04 GMT
Date: Fri, 02 Dec 2022 13:34:31 GMT
Connection: keep-alive

                                        
                                            GET /%D8%B3%D9%83%D8%B3-%D9%85%D9%8A%D8%B1%D9%8A%D8%A7%D9%85-%D9%81%D8%A7%D8%B1%D8%B3/ HTTP/1.1 
Host: www.newarabsex.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         172.67.215.119
HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=iso-8859-1
                                        
Date: Fri, 02 Dec 2022 13:34:31 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Location: https://www.newarabsex.com/%d8%b3%d9%83%d8%b3-%d9%85%d9%8a%d8%b1%d9%8a%d8%a7%d9%85-%d9%81%d8%a7%d8%b1%d8%b3/
Cache-Control: max-age=31536000
CF-Cache-Status: MISS
Server-Timing: cf-q-config;dur=6.9999996412662e-06
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=CgoVGxp6uRdkpSOTO%2F8pQgiwRErfXJ6KBZawRSTqNl68bkbqFPFkd1C4Ix9UXsgs0pYPMFCHOPqfNyqsH7Mc6m5w0pDldz8SqEygwzSKeOwcHF%2FzC4MJ1ZZxjbUUMHZggT86NPg%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 773470c2c916b521-OSL
alt-svc: h2=":443"; ma=60


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text, with very long lines (386)
Size:   703
Md5:    beeae0d3583bf6c394c033ac6812d43f
Sha1:   809a9335974f7b7dc6651f045b371ef42e4807a4
Sha256: 463ce326ee61159252f8a89328b99353ce4591c3cb28b426d8d707d7d249c946
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 1357
Cache-Control: 'max-age=158059'
Date: Fri, 02 Dec 2022 13:34:31 GMT
Last-Modified: Fri, 02 Dec 2022 13:11:54 GMT
Server: ECS (ska/F710)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "39F6BB64420BCFC8F0B010168FD35B67732984CD0698409F04D5AE40410422AA"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6326
Expires: Fri, 02 Dec 2022 15:19:57 GMT
Date: Fri, 02 Dec 2022 13:34:31 GMT
Connection: keep-alive

                                        
                                            GET /v1/ HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.102.187.140
HTTP/2 200 OK
content-type: application/json
                                        
access-control-allow-origin: *
access-control-expose-headers: Content-Length, Alert, Retry-After, Backoff, Content-Type
content-security-policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
content-length: 939
via: 1.1 google
date: Fri, 02 Dec 2022 13:19:56 GMT
cache-control: public,max-age=3600
age: 875
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (939), with no line terminators
Size:   939
Md5:    14cd9a0afb6ba9a763651d5112760d1e
Sha1:   75d7b104ab9ab11fbb73c3f348b43b0119b5adfa
Sha256: 4e32a117106be587ffcd63239c16a8117eb7840830d4c9decf6527761967532e
                                        
                                            GET /chains/remote-settings.content-signature.mozilla.org-2022-12-30-09-21-26.chain HTTP/1.1 
Host: content-signature-2.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.160.144.191
HTTP/2 200 OK
content-type: binary/octet-stream
                                        
x-amz-id-2: ANULuujFhCsUMKfDokaJCN1q4UXZUNuc6aoiQePJDXRyRPaObOSIZNxnNBWTKUm45cPMFZ+rKvU=
x-amz-request-id: NPBJSKHZ5D11RGWX
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
content-length: 5348
via: 1.1 google
date: Fri, 02 Dec 2022 12:46:07 GMT
age: 2904
last-modified: Thu, 10 Nov 2022 09:21:27 GMT
etag: "9ebddc2b260d081ebbefee47c037cb28"
cache-control: public,max-age=3600
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    9ebddc2b260d081ebbefee47c037cb28
Sha1:   492bad62a7ca6a74738921ef5ae6f0be5edebf39
Sha256: 74bbb7cba16f7d084a08a0907d47d7496e5c148f904707ec6950f8f6a61027e5
                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx
date: Fri, 02 Dec 2022 13:34:31 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
                                        
                                            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 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.102.187.140
HTTP/2 200 OK
content-type: application/json
                                        
access-control-allow-origin: *
access-control-expose-headers: Last-Modified, Retry-After, Cache-Control, Content-Type, Pragma, Backoff, ETag, Expires, Content-Length, Alert
content-security-policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
content-length: 329
via: 1.1 google
date: Fri, 02 Dec 2022 13:08:57 GMT
cache-control: public,max-age=3600
age: 1534
last-modified: Fri, 25 Mar 2022 17:45:46 GMT
etag: "1648230346554"
alt-svc: clear
X-Firefox-Spdy: h2


--- 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 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 1349
Cache-Control: max-age=158092
Date: Fri, 02 Dec 2022 13:34:31 GMT
Etag: "6389c02e-1d7"
Expires: Sun, 04 Dec 2022 09:29:23 GMT
Last-Modified: Fri, 02 Dec 2022 09:06:54 GMT
Server: ECS (ska/F710)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 1145
Cache-Control: max-age=149234
Date: Fri, 02 Dec 2022 13:34:31 GMT
Etag: "63899e60-117"
Expires: Sun, 04 Dec 2022 07:01:45 GMT
Last-Modified: Fri, 02 Dec 2022 06:42:40 GMT
Server: ECS (ska/F710)
X-Cache: HIT
Content-Length: 279

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         216.58.211.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Fri, 02 Dec 2022 13:34:31 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /gtag/js?id=UA-60175046-1 HTTP/1.1 
Host: www.googletagmanager.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

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


--- Additional Info ---
Magic:  ASCII text, with very long lines (1921)
Size:   43657
Md5:    3902c4fdfc6089644d3e2ff973fa4ea5
Sha1:   1915d9d54eff6110d72a07787a46143e698493f1
Sha256: ee833ca93d6740afb11fbe9d4823f3a49b2d53b0b301bac2b316aa0a97e777d4
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         216.58.211.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Fri, 02 Dec 2022 13:34:31 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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: ElJ3NwQ2YlOLXfjA+xxpGQ==
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

search
                                         54.70.68.230
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: CgtGAIkBdQFSPjTVe6SamSaM9jQ=

                                        
                                            GET /analytics.js HTTP/1.1 
Host: www.google-analytics.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         216.239.34.178
HTTP/2 200 OK
content-type: text/javascript
                                        
strict-transport-security: max-age=10886400; includeSubDomains; preload
x-content-type-options: nosniff
vary: Accept-Encoding
content-encoding: gzip
cross-origin-resource-policy: cross-origin
server: Golfe2
content-length: 20039
date: Fri, 02 Dec 2022 12:46:55 GMT
expires: Fri, 02 Dec 2022 14:46:55 GMT
cache-control: public, max-age=7200
age: 2857
last-modified: Tue, 27 Sep 2022 22:01:05 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:  ASCII text, with very long lines (1325)
Size:   20039
Md5:    47e6f374ca946fddd5b59871b325736c
Sha1:   baa9282efc8785e84d247c3bff518eaa45f101c4
Sha256: 16580b5c87c58e5702e411f1888fdef511094e4cd6d62bb47d16291ffb25985e
                                        
                                            GET /tag/42eg5mfnlz HTTP/1.1 
Host: www.clarity.ms
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         13.107.213.53
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: no-cache, no-store
expires: -1
set-cookie: CLID=51d289085cb747c7bb7cf6438eb9c249.20221202.20231202; expires=Sat, 02 Dec 2023 13:34:32 GMT; path=/; secure; samesite=none; httponly
request-context: appId=cid-v1:67bc0b23-8423-4b52-b1ca-6a87709ceaa2
x-cache: CONFIG_NOCACHE
x-azure-ref: 06P6JYwAAAABjxvRvg8IoSoUmOEjPbh7bQU1TMDRFREdFMTkxNgA2Y2ZiZWVlMC01MDI3LTQ4NGItODk2Ny00YTI5YWY3N2YxZTE=
date: Fri, 02 Dec 2022 13:34:31 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   20174
Md5:    6fe084d043df5cb3d7f1283de4dda41f
Sha1:   b168911e9156c822e46339423f4135d3b8d7c42e
Sha256: 06f095dae502cffa56ff4cf1253a26ca299ce391f034d6ff89e98c2e39611c82
                                        
                                            GET /c.gif?CtsSyncId=36B32A83502D4E0193A0AEDFE08DD89E&RedC=c.clarity.ms&MXFR=1561BE94D7856FFC0AECACFAD3856131 HTTP/1.1 
Host: c.bing.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.newarabsex.com/
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         13.107.21.200
HTTP/2 302 Found
                                        
cache-control: private, no-cache, proxy-revalidate, no-store
pragma: no-cache
location: https://c.clarity.ms/c.gif?CtsSyncId=36B32A83502D4E0193A0AEDFE08DD89E&MUID=3EDDCC530659621B31F7DE3D07AC63DD
p3p: CP="BUS CUR CONo FIN IVDo ONL OUR PHY SAMo TELo"
set-cookie: SRM_B=3EDDCC530659621B31F7DE3D07AC63DD; domain=c.bing.com; expires=Wed, 27-Dec-2023 13:34:33 GMT; path=/; SameSite=None; Secure;
x-powered-by: ASP.NET
x-cache: CONFIG_NOCACHE
accept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version
x-msedge-ref: Ref A: 3353AC90F8734620A589E237B385CDDD Ref B: OSL30EDGE0113 Ref C: 2022-12-02T13:34:33Z
date: Fri, 02 Dec 2022 13:34:32 GMT
content-length: 0
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "D469C5ADB69F261084B016F8E24EDF8B69B62D9F930CA2D85CF35375E2303ECC"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=15150
Expires: Fri, 02 Dec 2022 17:47:03 GMT
Date: Fri, 02 Dec 2022 13:34:33 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "D469C5ADB69F261084B016F8E24EDF8B69B62D9F930CA2D85CF35375E2303ECC"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=15150
Expires: Fri, 02 Dec 2022 17:47:03 GMT
Date: Fri, 02 Dec 2022 13:34:33 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "D469C5ADB69F261084B016F8E24EDF8B69B62D9F930CA2D85CF35375E2303ECC"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=15150
Expires: Fri, 02 Dec 2022 17:47:03 GMT
Date: Fri, 02 Dec 2022 13:34:33 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "D469C5ADB69F261084B016F8E24EDF8B69B62D9F930CA2D85CF35375E2303ECC"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=15150
Expires: Fri, 02 Dec 2022 17:47:03 GMT
Date: Fri, 02 Dec 2022 13:34:33 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%2Fb582f62c-d1ce-4054-b87e-36be40dadfa4.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 8863
x-amzn-requestid: 798d014b-0f9c-4787-a676-8f5e8fae3d11
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: cdG14HBNIAMFdWg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-638851bf-7549feac6d476a8512676412;Sampled=0
x-amzn-remapped-date: Thu, 01 Dec 2022 07:03:27 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: r_0F64VpyutAOJ9IcTWrs3Sv--fhKiwKsV1FW0fOMSRt1QLLPxvJzg==
via: 1.1 2afae0d44e2540f472c0635ab62c232a.cloudfront.net (CloudFront), 1.1 5565a51537c689d1d16f6b4d41f40082.cloudfront.net (CloudFront), 1.1 google
date: Fri, 02 Dec 2022 10:51:17 GMT
age: 9796
etag: "fc71ae3cae92ed6011904bb2367f23bf4e69fab4"
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:   8863
Md5:    156e9ea97b774cbd8361072e4041b6c8
Sha1:   fc71ae3cae92ed6011904bb2367f23bf4e69fab4
Sha256: 58d953c19ebbbdfc3965bbe3f52308d4702deaf4d0c029f4674bcb862da138af
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F449f29d0-f60b-4dec-8b5b-0a1971bab406.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 10270
x-amzn-requestid: ac2d2825-2ec4-435e-9921-3ea6524df1dc
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: cfG1nEvYoAMFliA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63891e8a-4419423112b5723e3dba46ea;Sampled=0
x-amzn-remapped-date: Thu, 01 Dec 2022 21:37:14 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: 2ihxuuXiECC4oX11t_vswhnLF0UpqDuboPLkrhpWwp-vfCR5pxGGxw==
via: 1.1 56c69262ecfa7873b40572ba8a323242.cloudfront.net (CloudFront), 1.1 112d82578d402a38d8d02e8b857617e0.cloudfront.net (CloudFront), 1.1 google
date: Thu, 01 Dec 2022 21:53:50 GMT
age: 56443
etag: "2cb4edc6b161c6d2d5b47aa498ae54e677966466"
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:   10270
Md5:    4c7113338bc3310b13d23ca415c177e2
Sha1:   2cb4edc6b161c6d2d5b47aa498ae54e677966466
Sha256: 3a83adce869dd7eb064c583bf7ff93c57fabd7ea2da872f7d1f7d868b8a492e9
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F881a33ae-e81b-4603-85d9-a2242b17be66.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 4803
x-amzn-requestid: ad2d9243-5e32-4faf-8ff3-b9abd3af1e89
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: cb1_hEJJIAMF4Vg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6387d063-596f5833509112ee6cbedf54;Sampled=0
x-amzn-remapped-date: Wed, 30 Nov 2022 21:51:31 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: PIC-TIeTFK_Y2AiqowYT4_8tMuzIKO23lAwx18fYepTf4PIWkmLqkQ==
via: 1.1 2dc111aa3ead15d061e41a423155a53a.cloudfront.net (CloudFront), 1.1 82ea95080f526df99896343fb7269b06.cloudfront.net (CloudFront), 1.1 google
date: Fri, 02 Dec 2022 05:20:15 GMT
age: 29658
etag: "cedf2f21be7cd366bd46055b62b5513db3011dfc"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  gzip compressed data, from Unix\012- data
Size:   7728
Md5:    e95b84cf3609d4e57b619e77ce491a57
Sha1:   aaed354d40afe554f570d5571954bb2f5314f051
Sha256: e53cd6102b4f00f8c27ec02968aabd3667a197ee80bff9f484a578a432adeb61
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F683f066f-699d-4765-8f4f-33c72e1672e2.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6174
x-amzn-requestid: f78f1e9d-8c0c-495d-a862-61838f8297e8
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: cZ0iyH2WoAMFQdg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63870144-45442a8544259930564f685b;Sampled=0
x-amzn-remapped-date: Wed, 30 Nov 2022 07:07:48 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: QIOz71_Kr08pIIwOm2GUkWr421fO7-UyUI7LYld0JBaGnYQ0j3IDFg==
via: 1.1 eece508272520f70691e4eebdc5a6dea.cloudfront.net (CloudFront), 1.1 d6a002c70d55f415107618b0750d493c.cloudfront.net (CloudFront), 1.1 google
date: Fri, 02 Dec 2022 06:00:48 GMT
age: 27225
etag: "6e6c8bd2bce144cc4da1cd7be375b046b60dca79"
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:   6174
Md5:    b986f9fcbeca91ed5c8d58fbfaf47d19
Sha1:   6e6c8bd2bce144cc4da1cd7be375b046b60dca79
Sha256: 07a8938d2841f8c13bd646f4e79e41e46acd6463aa019cd70871b3741f12bb4f
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F6edb00ee-3888-4974-ae1a-52ef18e62d0d.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 11402
x-amzn-requestid: 20c2c359-1e43-40c0-885d-1c90e76ea12b
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: cfGzJHu-IAMFbYA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63891e7a-1d89722e767daa014b174a39;Sampled=0
x-amzn-remapped-date: Thu, 01 Dec 2022 21:36:58 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: OJBnbjJB_kvPuJcePGnno3zI0CTWAzV-Osb2L1hPZZhlNYhFHWmLsA==
via: 1.1 f13aef0c4b52f6f681401f232d03eb68.cloudfront.net (CloudFront), 1.1 7e87179efaa9e3c316bd3d3a74cfded8.cloudfront.net (CloudFront), 1.1 google
date: Thu, 01 Dec 2022 21:51:33 GMT
age: 56580
etag: "aa944d10fe4a44b790b01ef62edc0f85a6d558e3"
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:   11402
Md5:    1c80b8025242ddfcc816ec612456b99e
Sha1:   aa944d10fe4a44b790b01ef62edc0f85a6d558e3
Sha256: a9f060bc15738a3fe257e0c81a29e4611a89c273bcbb2765ce856d4e854a5f1f
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F40b76495-d9ea-430e-9b62-92b639b122e0.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6564
x-amzn-requestid: e2875cf3-3915-43a5-a724-4de2ca03de56
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: cfGepHOiIAMFTFQ=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63891df7-5f7e2a3f609d54a609a12670;Sampled=0
x-amzn-remapped-date: Thu, 01 Dec 2022 21:34:47 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: mwGAEu-gPXY5Opwd972VbBA6l33dNk7bPFSyZmciaplQKj2ZuTkQSg==
via: 1.1 030fe0607711293dda988e571617a9f2.cloudfront.net (CloudFront), 1.1 d8792dbd3191bbe722eba5b536b979c8.cloudfront.net (CloudFront), 1.1 google
date: Thu, 01 Dec 2022 21:34:47 GMT
age: 57586
etag: "9bc47ee49fc070d0997e49a719bd9758685ad583"
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:   6564
Md5:    58a28fc1cbcacdb07b3ca175281982b5
Sha1:   9bc47ee49fc070d0997e49a719bd9758685ad583
Sha256: d3bfcf749c4652cb29f7c82a5d7ba940bd607f9060e49c1c40a112eb3e625bd9
                                        
                                            GET /c.gif?CtsSyncId=36B32A83502D4E0193A0AEDFE08DD89E&MUID=3EDDCC530659621B31F7DE3D07AC63DD HTTP/1.1 
Host: c.clarity.ms
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.newarabsex.com/
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         20.234.93.27
HTTP/2 200 OK
content-type: image/gif
                                        
cache-control: private, no-cache, proxy-revalidate, no-store
pragma: no-cache
last-modified: Thu, 13 Oct 2022 20:07:05 GMT
accept-ranges: bytes
etag: "40db785d3fdfd81:0"
server: Microsoft-IIS/10.0
x-powered-by: ASP.NET
p3p: CP="BUS CUR CONo FIN IVDo ONL OUR PHY SAMo TELo"
set-cookie: ANONCHK=0; domain=c.clarity.ms; expires=Fri, 02-Dec-2022 13:44:33 GMT; path=/; SameSite=None; Secure;
date: Fri, 02 Dec 2022 13:34:32 GMT
content-length: 42
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   42
Md5:    32023bb33cfb2a1990a4ef2d85b6ac16
Sha1:   23dcc6d4b5bfe00357fd0248bb5955b8e36bb8f1
Sha256: 99c2917ee5b2a01459a923bdd1c676f15ee73b62b87f696e6735312d26f51e12
                                        
                                            POST /collect HTTP/1.1 
Host: b.clarity.ms
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: text/plain;charset=UTF-8
Content-Length: 989
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         20.75.32.255
HTTP/2 204 No Content
                                        
vary: Origin
server: Microsoft-IIS/10.0
request-context: appId=cid-v1:2f7711a9-b21e-4abe-a9d6-5b0ce5d18b64
access-control-allow-origin: https://www.newarabsex.com
access-control-allow-credentials: true
date: Fri, 02 Dec 2022 13:34:33 GMT
X-Firefox-Spdy: h2

                                        
                                            POST /collect HTTP/1.1 
Host: b.clarity.ms
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: text/plain;charset=UTF-8
Content-Length: 106785
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         20.75.32.255
HTTP/2 204 No Content
                                        
vary: Origin
server: Microsoft-IIS/10.0
request-context: appId=cid-v1:2f7711a9-b21e-4abe-a9d6-5b0ce5d18b64
access-control-allow-origin: https://www.newarabsex.com
access-control-allow-credentials: true
date: Fri, 02 Dec 2022 13:34:33 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  gzip compressed data, from Unix\012- data
Size:   2586
Md5:    563dbdfd15df87c65db52058dfc0a0fe
Sha1:   1e8caa2c41b884d3ea5d5dca57c91e59bef17789
Sha256: 7a4f81c8bfa9034f134fb90a697fe08b4a27120fa01fe2ea4398af70d618ba6e
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "50BF85F67979745794737DFE25D48F4FA0750A57EEFEF76F38F564796460DAB5"
Last-Modified: Thu, 01 Dec 2022 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=12633
Expires: Fri, 02 Dec 2022 17:05:10 GMT
Date: Fri, 02 Dec 2022 13:34:37 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 5327
Cache-Control: 'max-age=158059'
Date: Fri, 02 Dec 2022 13:34:37 GMT
Last-Modified: Fri, 02 Dec 2022 12:05:50 GMT
Server: ECS (ska/F710)
X-Cache: HIT
Content-Length: 278

                                        
                                            GET /lv/esnk/1890076/code.js HTTP/1.1 
Host: duckswillsmoochyou.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         62.122.171.6
HTTP/2 200 OK
content-type: application/javascript
                                        
server: nginx
date: Fri, 02 Dec 2022 13:34:37 GMT
last-modified: Tue, 15 Nov 2022 12:20:41 GMT
vary: Accept-Encoding
etag: W/"63738419-1aaa0"
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   85348
Md5:    52cd24189f3f9430adc46d5b7444d838
Sha1:   ca7418590e91686663a239621e689bf76750c49e
Sha256: 8c4960b07297078885c5084903e8417ebaff8c432daa9d25f71ec8b000cb2c56
                                        
                                            GET /0f2df5ef63f66cdf78011e82a367d925.js HTTP/1.1 
Host: 8bbc81b016.d1bcb5ca9f.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:37 GMT
server: nginx/1.18.0
last-modified: Wed, 30 Nov 2022 13:10:49 GMT
etag: W/"63875659-17718"
content-encoding: gzip
expires: Fri, 02 Dec 2022 13:39:37 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   36697
Md5:    be6b502864285f4875018895dbc81f68
Sha1:   f19c1ec876aed27141b525e770c651a0131d8419
Sha256: 4d48dd58cd68ff71cc88c2e3bf7f1544b0c8e436598961e8d7d3a193ff25e60a

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 5327
Cache-Control: 'max-age=158059'
Date: Fri, 02 Dec 2022 13:34:37 GMT
Last-Modified: Fri, 02 Dec 2022 12:05:50 GMT
Server: ECS (ska/F710)
X-Cache: HIT
Content-Length: 278

                                        
                                            GET /chicken.gif?z=1891932&pb=985fa4a63ba7271b1fc7f4a44d24e81f1669995277&psp=SGP3DPoD-xg7_SPf1VnjGOcu_kzcFwEKfwzUQ2ESY5JM_wg0VWnubQN03oRIvj1hWX1pT3gDWQXwZzAsia_qkkstFTSttXYkKcXeEfmLV7NfixDagjK2Iq-Hg2vfct95F2Gu0Cv4EUM-9l9BFlAf0gEsK_4vnaBmKIaDZ-Km4TVMXcwj0g3DW6s7rXYFWuFoNTxoa8Um0K_dGL-XdLjUHrjgGD8u61aRE-_QFdyjgxwpag-V8GiIqpHukiyam_PjF6UrqJkZQO1D0LFiA4kL4aGHJv1rz4QgsnGW_mGVPJPg2NtK6IcnE1kGWWAN5q5NKW9IrkGRlUIC6709wtuevhMwuqdB6e5OfOzn4ZHccyVk6_tZYRgwllJW4lPfgDPmtj1YhCIDPcB4VRpgz92hjufwJrjYLykRtUjv3CnZ2IviYgd1Ya56sAUCl2kp7EgTuZR9lprdmjN57GPNgK89hmbgZqGOZS8Ipow2t6Nc31cT2INb5R--8yeIfqlH2tSwCZd4kHfs7akT5SsGxyK3xjwFDdhS4BzXWdzpoy3zo332PPCH0dUjPsNueQVqg1iCeyU9ztORRDk3pr57nldaPdi0BwCfi_3rhB30GfV9dk0VWjLWeGIEcBgY9LQHJuzTFAoaHy2BfBO2FV2IiOisgHHtZVwll4RQFW7cBj3BJrDCG1rTlFDl27Dk7VYII97TamNGnvEiuZnpt8UlzrW_-QWEw-NDfKP7yTOy-9Hlbq8joNr5VWDi&abvar=0&os=0 HTTP/1.1 
Host: duckswillsmoochyou.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: UID=2212020834fd76295dbe584187944870b885
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         62.122.171.6
HTTP/2 200 OK
content-type: image/gif
                                        
server: nginx
date: Fri, 02 Dec 2022 13:34:37 GMT
content-length: 43
x-route-id: stats.impression
set-cookie: OACICAP=ACIIEwAAAAAAAAAB; Path=/; Expires=Sun, 01 Jan 2023 13:34:37 GMT; Secure; SameSite=None OACIBLOCK=ACIIEwAAAABjiYZQ; Path=/; Expires=Sun, 01 Jan 2023 13:34:37 GMT; Secure; SameSite=None ppucnt=0; Path=/; Expires=Sat, 03 Dec 2022 13:34:37 GMT; Secure; SameSite=None
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   43
Md5:    28e463819a210071de3b45ebe7633613
Sha1:   6dccd571828ec0912629119cf7eabfea9f33ddbc
Sha256: 44251f61629e2bfeead421241a917f43ad047af351659f01cd8fd937f0417f84
                                        
                                            GET /chicken.gif?z=1890076&pb=985fa4a63ba7271b1fc7f4a44d24e81f1669995277&psp=RJYvbXP2KDomGzFwcz2KT5az7SEN5mFwEKItOnzhY2q-XtRVfyYWmWakFl9FbcywV6f2MXWrt0fSFvq7w_9Q1xiaiIGyenV_rjifXnhbxBdHkO6VbSnSavgjMes-pcMcYmHE9AsAipJevYJtpoa8Dm-KG7m85BU3NEV7geutSPd9NbzjvEEVR8eDF4psv9ejxhbz9mc4KO9l5NPl0wMAA75ZiKiT_oksmYKZdf2p9M_RJEH3WOeZZBw5ExWVC6hHEpkUywfNs_lT-Xgj-V1Y_ODnzJeU0-NL8zRSi74TTMIG-Ge5mHH_pIy6BzbHog-YeAAeQYAPa1qXFnY1j4aMLlfszgdyXPlYjmkmYieabLTLWxB7YPlQ8pZL47VUjnR7BSKl37bH86Dvs9bnwIHdaDJgYk63mOzjj6jN65sctxItX-PUihPbjB-jsKshD6iXKQgv0-07OC4Lsqu_B74uHL8uOucF4nF1cKAEdqjMYIhN2GkMvUIsS35ooh8km2wB3zzuNmcx57fVNtymkuQQMjw7eDegVE7DXqGcjbAuCSe0SCEYhXh0FcOL9UkJ09Xnydx3J_CBW47qK3VQI6mQ8w13l7HYyXrCGT1UYwscro2TaJoaa4OjJ3axRLLhu5M47Q8zlaa-PaP30hfg0wESoR6dNbCTofhJyKEc9Dx9R_jmhPtdzXI96EOZjm5Mpq3CMWLL2_4zRe7hM9YNdJdBAtwueSObVHyUgfVv1l_euTN86rNuXWF3&abvar=0&os=0 HTTP/1.1 
Host: duckswillsmoochyou.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: UID=2212020834fd76295dbe584187944870b885
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         62.122.171.6
HTTP/2 200 OK
content-type: image/gif
                                        
server: nginx
date: Fri, 02 Dec 2022 13:34:37 GMT
content-length: 43
x-route-id: stats.impression
set-cookie: OACICAP=ACIIEwAAAAAAAAAB; Path=/; Expires=Sun, 01 Jan 2023 13:34:37 GMT; Secure; SameSite=None OACIBLOCK=ACIIEwAAAABjiYZQ; Path=/; Expires=Sun, 01 Jan 2023 13:34:37 GMT; Secure; SameSite=None ppucnt=0; Path=/; Expires=Sat, 03 Dec 2022 13:34:37 GMT; Secure; SameSite=None
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   43
Md5:    28e463819a210071de3b45ebe7633613
Sha1:   6dccd571828ec0912629119cf7eabfea9f33ddbc
Sha256: 44251f61629e2bfeead421241a917f43ad047af351659f01cd8fd937f0417f84
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "3C43BD29EEC037FDF1186E45A4F28D9A21A3D46772EDADC355999DA2B89D508C"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2913
Expires: Fri, 02 Dec 2022 14:23:10 GMT
Date: Fri, 02 Dec 2022 13:34:37 GMT
Connection: keep-alive

                                        
                                            GET /npc/sdk/wp-banners.js HTTP/1.1 
Host: js.wpadmngr.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

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

                                        
                                            POST /solid.gif?z=1888413&abvar=0 HTTP/1.1 
Host: ta3nfsordd.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
Content-Length: 0
TE: trailers

search
                                         62.122.171.6
HTTP/2 200 OK
content-type: image/gif
                                        
server: nginx
date: Fri, 02 Dec 2022 13:34:37 GMT
content-length: 43
x-route-id: stats.tag.loaded
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   43
Md5:    28e463819a210071de3b45ebe7633613
Sha1:   6dccd571828ec0912629119cf7eabfea9f33ddbc
Sha256: 44251f61629e2bfeead421241a917f43ad047af351659f01cd8fd937f0417f84

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "5D14421D11531386A1637EAE7A17D411F038DE640ED57E901257C21A5A7EEA99"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3771
Expires: Fri, 02 Dec 2022 14:37:28 GMT
Date: Fri, 02 Dec 2022 13:34:37 GMT
Connection: keep-alive

                                        
                                            POST /solid.gif?z=1888413&abvar=0 HTTP/1.1 
Host: ta3nfsordd.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
Content-Length: 0
TE: trailers

search
                                         62.122.171.6
HTTP/2 200 OK
content-type: image/gif
                                        
server: nginx
date: Fri, 02 Dec 2022 13:34:37 GMT
content-length: 43
x-route-id: stats.tag.loaded
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   43
Md5:    28e463819a210071de3b45ebe7633613
Sha1:   6dccd571828ec0912629119cf7eabfea9f33ddbc
Sha256: 44251f61629e2bfeead421241a917f43ad047af351659f01cd8fd937f0417f84

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            OPTIONS /fp?tag_id=2414 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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://www.newarabsex.com/
Origin: https://www.newarabsex.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         157.90.84.242
HTTP/1.1 204 No Content
                                        
Server: nginx/1.20.1
Date: Fri, 02 Dec 2022 13:34:37 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://www.newarabsex.com
Vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers

                                        
                                            GET /tags?tag_id=2414&timezone_olson=UTC&version_name=b HTTP/1.1 
Host: notification.tubecup.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         88.198.200.22
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx/1.18.0
date: Fri, 02 Dec 2022 13:34:37 GMT
content-length: 2005
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 (2005), with no line terminators
Size:   2005
Md5:    6cfec180c6c20b78148dcafee676f982
Sha1:   bfa512edf736baa8d592644628228df2b3a5a540
Sha256: 7229f23ecc41acdfd8a23de4cde6e65370f080cec625596e123a35efd0824b01
                                        
                                            GET /91/7e/be/917ebec7789aea44fb9088eca9d68453.js HTTP/1.1 
Host: pl15905623.profitablegatetocontent.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         192.243.59.13
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Server: nginx/1.17.6
Date: Fri, 02 Dec 2022 13:34:37 GMT
Transfer-Encoding: chunked
Connection: keep-alive
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Access-Control-Allow-Origin: *
Accept-CH: Device-Stock-UA,Sec-CH-UA,Sec-CH-UA-Full-Version,Sec-CH-UA-Full-Version-List,Sec-CH-UA-Mobile,Sec-CH-UA-Model,Sec-CH-UA-Platform,Sec-CH-UA-Platform-Version,User-Agent,X-Device-User-Agent,X-OperaMini-Phone-UA,X-UCBrowser-Device-UA
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
X-Request-ID: 16165ca7146067467ed696c6be8aa6fc
Strict-Transport-Security: max-age=0; includeSubdomains
Content-Encoding: gzip


--- Additional Info ---
Magic:  ASCII text, with very long lines (37169), with no line terminators
Size:   13433
Md5:    d453b1717f6463cb26279ab59fbb1c37
Sha1:   a96d4937ae142e6e2e270590be72ec2667e3d2d6
Sha256: 267adbde453cded59c8f4650086d3b4c5c7d3b5b5d8b6663bdd355876d9e6ccd

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "99DBAE7F20E6601D18237EDB9EB7501BEFC29EB62050624DC56802A182948ABE"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=12295
Expires: Fri, 02 Dec 2022 16:59:32 GMT
Date: Fri, 02 Dec 2022 13:34:37 GMT
Connection: keep-alive

                                        
                                            GET /ca5300ef81b6c4fe783112a0f5eb5faa.js HTTP/1.1 
Host: 8bbc81b016.d1bcb5ca9f.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:37 GMT
server: nginx/1.18.0
last-modified: Mon, 17 Oct 2022 14:33:56 GMT
etag: W/"634d67d4-b2f5"
content-encoding: gzip
expires: Fri, 02 Dec 2022 13:39:37 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   15308
Md5:    74944ac29066269ee81a9d25083386f4
Sha1:   e05dd614e61dfb2d002103e00122b79b9c82ed30
Sha256: 1c9d3692b23843c7c35c3a7cf31739e18b58547e90ebb7a06541640bb8a870a9

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST /fp?tag_id=2414 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 22287
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         157.90.84.242
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
                                        
Server: nginx/1.20.1
Date: Fri, 02 Dec 2022 13:34:37 GMT
Content-Length: 28
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://www.newarabsex.com
Set-Cookie: id=12069179490549916940; Expires=Sat, 02 Dec 2023 13:34:37 GMT; Secure; SameSite=None
Vary: Origin


--- Additional Info ---
Magic:  JSON data\012- , ASCII text
Size:   28
Md5:    e3af49472d683a217237a6ebaf79bcb7
Sha1:   378db4d7e6171a2676ee15c80b4475d7f5ec9742
Sha256: 7714898d715fb8b1ce7a1de73e0e7c9f6394acc8a08cf1a3b342a7829d4de84a
                                        
                                            POST / HTTP/1.1 
Host: e1.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 345
ETag: "61575C6D3A055A65D09622357DA8CDF97D57B96ED8D1D4A7360BD8432931D638"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3818
Expires: Fri, 02 Dec 2022 14:38:16 GMT
Date: Fri, 02 Dec 2022 13:34:38 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "9219B3F3BADE5B969822BDED87E808423B152210CEA6CB3DA9BCB84DABA1CE46"
Last-Modified: Thu, 01 Dec 2022 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=13361
Expires: Fri, 02 Dec 2022 17:17:19 GMT
Date: Fri, 02 Dec 2022 13:34:38 GMT
Connection: keep-alive

                                        
                                            GET /in/track?data=eyJ3bCI6MSwic3ViaWQiOjAsInVzZXJfaWQiOiI3Njc1MjY4NDgxODgxNzExMDAwIiwidGltZXpvbmUiOjAsInZlciI6IjMuMTcuMyIsInRhZ19pZCI6MjQxNCwic2NyZWVuX3Jlc29sdXRpb24iOiIxMjgweDEwMjQiLCJhZGJsb2NrIjowLCJ0aW1lem9uZV9vbHNvbiI6IlVUQyIsInV0bV9zb3VyY2UiOiIiLCJ1dG1fbWVkaXVtIjoiIiwidXRtX2NhbXBhaWduIjoiIiwidXRtX2NvbnRlbnQiOiIiLCJtbSI6MCwiaW5pdF9zdGFydF9sYXRlbmN5IjowLjUsImlzX3YyIjoxLCJpc192Ml9lbXB0eSI6bnVsbCwidXNlcl9rZXl3b3JkcyI6IiVEOCVCMyVEOSU4MyVEOCVCMyUyQyVEOSU4NSVEOSU4QSVEOCVCMSVEOSU4QSVEOCVBNyVEOSU4NSUyQyVEOSU4MSVEOCVBNyVEOCVCMSVEOCVCMyUyQyVEOSU4MSVEOSU4QSVEOSU4NCVEOSU4NSUyQyVEOSU4OCUyQyVEOCVCNSVEOSU4OCVEOCVCMSUyQyVEOSU4MyVEOCVCMyUyQyVEOCVCNyVEOSU4QSVEOCVCMiUyQyVEOCVBOCVEOCVCMiVEOCVBNyVEOCVCMiUyQyVEOCVBNyVEOSU4NCVEOSU4NSVEOCVCQSVEOSU4NiVEOSU4QSVEOCVBOSUyQyVEOCVBNyVEOSU4NCVEOCVCMyVEOCVBNyVEOCVBRSVEOSU4NiVEOCVBOSUyQyVEOCVCMyVEOSU4MyVEOCVCMyUyQyVEOSU4NSVEOSU4QSVEOCVCMSVEOSU4QSVEOCVBNyVEOSU4NSUyQyVEOSU4MSVEOCVBNyVEOCVCMSVEOCVCMyUyQyVEOSU4MSVEOSU4QSVEOSU4NCVEOSU4NSUyQyVEOSU4NSVEOCVBQiVEOSU4QSVEOCVCMSUyQyVEOCVBQyVEOCVBRiVEOCVBNyVEOSU4QiUyQyVEOSU4OCUyQyVEOCVCNSVEOSU4OCVEOCVCMSUyQyVEOCVCMyVEOSU4MyVEOCVCMyUyQyVEOCVBOCVEOCVCMiVEOCVBNyVEOCVCMiUyQyVEOSU4MyVEOCVCMyUyQyVEOCVCNyVEOSU4QSVEOCVCMiUyQyVEOSU4NiVEOSU4QSVEOSU4MyUyQyVEOCVBNyVEOSU4NCVEOSU4NiVEOCVBQyVEOSU4NSVEOCVBOSUyQyVEOCVBNyVEOSU4NCVEOCVBQyVEOSU4NSVEOSU4QSVEOSU4NCVEOCVBOSUyQyVEOSU4OCVEOSU4NyVEOSU4QSUyQyVEOSU4MSVEOCVBNyVEOCVBQSVEOSU4NiVEOCVBOSUyQyVEOCVBNyVEOSU4NCVEOSU4MSVEOSU4NiUyQyVEOCVBNyVEOSU4NCVEOSU4NCVEOCVBOCVEOSU4NiVEOCVBNyVEOSU4NiVEOSU4QSUyQyVEOSU4MSVEOSU4QSUyQyVEOCVBMiVEOCVBRSVEOCVCMSUyQzE1JTJDJUQ4JUI5JUQ4JUE3JUQ5JTg1JTJDJUQ4JUFBJUQ5JTg1JUQ4JUFBJUQ4JUE3JUQ4JUIyJTJDJUQ4JUE4JUQ4JUIzJUQ4JUFBJUQ4JUE3JUQ5JThBJUQ5JTg0JTJDJUQ4JUIxJUQ4JUE3JUQ5JTgyJUQ5JThBJTJDJUQ5JTg1JUQ4JUFCJUQ5JThBJUQ4JUIxJTJDJUQ5JTg4JUQ5JTgyJUQ4JUFGJUQ4JUIxJUQ4JUE5JTJDJUQ5JTgzJUQ4JUE4JUQ5JThBJUQ4JUIxJUQ4JUE5JTJDJUQ4JUI5JUQ5JTg0JUQ5JTg5JTIwIn0= HTTP/1.1 
Host: bc5b242f88.86521e18d4.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
                                        
date: Fri, 02 Dec 2022 13:34:38 GMT
content-length: 0
server: nginx/1.18.0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


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

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

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:37 GMT
server: nginx/1.18.0
last-modified: Wed, 30 Nov 2022 14:18:35 GMT
etag: W/"6387663b-d063"
content-encoding: gzip
expires: Fri, 02 Dec 2022 13:39:37 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (53345), with no line terminators
Size:   17604
Md5:    fa88d73a02f4ee61367f5a69069c3ee9
Sha1:   ac5f6d05c77f12670c56e72c8a80704e180c7ff8
Sha256: 303359910dcaf5162adf1859889549d4a4c7ea6b4a8753fb49c92cecbdc54c42
                                        
                                            POST / HTTP/1.1 
Host: ocsp.sca1b.amazontrust.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         143.204.42.165
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Content-Length: 471
Connection: keep-alive
Accept-Ranges: bytes
Cache-Control: max-age=87269
Date: Fri, 02 Dec 2022 13:34:38 GMT
Etag: "6388ac95-1d7"
Expires: Sat, 03 Dec 2022 13:49:07 GMT
Last-Modified: Thu, 01 Dec 2022 13:31:01 GMT
Server: ECS (bsa/EB21)
X-Cache: Miss from cloudfront
Via: 1.1 80d21802b1b80c40e55ccf83433b8eac.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-C1
X-Amz-Cf-Id: 8I2XVviIM2zrwoIBYRhu0GZjPQqf_aFYpYp6_EjpZW4-elHLFCq6QQ==
Age: 1086

                                        
                                            GET /get/1888413?zoneid=1888413&jp=_cl3mdg1zlozl3w1ua2sanl&nojs=0&ix=0&abvar=0&t=0&x=1280&y=939&wcks=1&wgl=0&cnvs=1&os=0&md=0&bb=0&lang=en-US&pf=Linux%20x86_64&cd=24&isRef=1&sp=0&cid=8835168616520425 HTTP/1.1 
Host: ta3nfsordd.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         62.122.171.6
HTTP/2 200 OK
content-type: text/javascript
                                        
server: nginx
date: Fri, 02 Dec 2022 13:34:37 GMT
vary: Accept-Encoding
x-route-id: config
set-cookie: UID=2212020834700b220a7eaa4bd28dd92e1b1f; Path=/; Expires=Sat, 02 Dec 2023 13:34:37 GMT; HttpOnly; Secure; SameSite=None
content-encoding: gzip
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   97
Md5:    468bc6d326a32196ea369ddf8fe4a754
Sha1:   ce07531b46727349a39f3f60a9f2902292569637
Sha256: fd02b7770fcee96ce61b840292d074462a93d098f32eac6013b394383dd6e89a

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: e1.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 345
ETag: "61575C6D3A055A65D09622357DA8CDF97D57B96ED8D1D4A7360BD8432931D638"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3818
Expires: Fri, 02 Dec 2022 14:38:16 GMT
Date: Fri, 02 Dec 2022 13:34:38 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "44300218D31BB05684BA4992D9EC504B69A8530079F02F4C40D00EECA8A8556F"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5494
Expires: Fri, 02 Dec 2022 15:06:12 GMT
Date: Fri, 02 Dec 2022 13:34:38 GMT
Connection: keep-alive

                                        
                                            GET /ps/sw.js HTTP/1.1 
Host: sw.wpush.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:38 GMT
server: nginx/1.18.0
last-modified: Fri, 25 Nov 2022 14:22:37 GMT
etag: W/"6380cfad-158c"
content-encoding: gzip
expires: Fri, 02 Dec 2022 13:39:38 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   1820
Md5:    ee84aae4ede59e0bae6da51884c5bd2c
Sha1:   a3722313bbfee8aab5a3411eadd53ac68860a637
Sha256: 095ae5123ad792e812a6e6124ea17870a65c49a7fdc5effca1bf0d546e940321
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "E6EB3A90890B38211A9CFAD8C78FD23978E2F855829C4E0CDE29FECCF1D8950A"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=12349
Expires: Fri, 02 Dec 2022 17:00:27 GMT
Date: Fri, 02 Dec 2022 13:34:38 GMT
Connection: keep-alive

                                        
                                            GET /sbar.json?key=917ebec7789aea44fb9088eca9d68453&uuid=3d418ed7-4eab-4c55-b316-19aa4148e7dc%3A3%3A1 HTTP/1.1 
Host: tallysaturatesnare.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         192.243.59.12
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
                                        
Server: nginx/1.17.6
Date: Fri, 02 Dec 2022 13:34:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Accept-CH: Device-Stock-UA,Sec-CH-UA,Sec-CH-UA-Full-Version,Sec-CH-UA-Full-Version-List,Sec-CH-UA-Mobile,Sec-CH-UA-Model,Sec-CH-UA-Platform,Sec-CH-UA-Platform-Version,User-Agent,X-Device-User-Agent,X-OperaMini-Phone-UA,X-UCBrowser-Device-UA
Custom-Referer: https://www.newarabsex.com
Access-Control-Allow-Origin: https://www.newarabsex.com
Access-Control-Allow-Credentials: true
Set-Cookie: u_pl=15805124; expires=Sat, 03 Dec 2022 13:34:38 GMT; secure; SameSite=None uid_id2=3d418ed7-4eab-4c55-b316-19aa4148e7dc:3:1; expires=Fri, 09 Dec 2022 13:34:38 GMT; secure; SameSite=None pdhtkv=true; expires=Sat, 03 Dec 2022 13:34:39 GMT; secure; SameSite=None uncs=1; expires=Sat, 03 Dec 2022 13:34:39 GMT; secure; SameSite=None pdhtkv29=true; expires=Sat, 03 Dec 2022 13:34:39 GMT; secure; SameSite=None uncs29=1; expires=Sat, 03 Dec 2022 13:34:39 GMT; secure; SameSite=None slec917ebec7789aea44fb9088eca9d68453=[3789938]; expires=Fri, 02 Dec 2022 13:34:44 GMT; secure; SameSite=None
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
X-Request-ID: d4700eb9650b4fc2edd4b58b176af641
Strict-Transport-Security: max-age=0; includeSubdomains
Content-Encoding: gzip


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (6031), with no line terminators
Size:   4198
Md5:    bb34cc4de75024e9b5bc1431178a4092
Sha1:   ded6296f87337c432845039d9c75a01a8b75c968
Sha256: 9285159d607215fd766fe66a851dd8f7744c64b843e5fb9001ee5b6dea559bb6

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /ren.gif?sid=H4sIAAAAAAAC%2F1RSz4scRRitTlYQvWjw4iEyBxEVd7Z7pntn2hyWxBgJrklIIrmmfvVuudVdTVX39OyeQgIxuW1uHnvfbLKoIZg%2FQBJmc9EBIaMgi7i3HDyZIOQoMrMDi9%2Bhvq%2FqvcN776ubW%2BU%2B8VHSvQtfmA2lNV2Imn7j%2FSsqE6ZyjXOXG4Hf9E80rqhsMTzR6E8O2%2Fs48KOm%2F0HjM8nXzELLD3w%2F8IPGGWVlYvoLUxQqvx8Hzdhvhq1mEIXo2%2F%2FfXenBUQ%2Bit0%2BOQYnxK6s%2FPYTiQ2TpD6elWytM%2FtGnaalpYSx6YufLbC0zVYb0cEyshyTbmbFh3JiQb47AZDszBzC97YkDMDUm3u8BWLYzkwnWu3uglGnIDEy8jqo3hNRDKDoENzegxFMCcIFz55Gl984ZW9H1A5RO0DGZe%2FkPVDUmc3%2B%2BhSx9cEqrfuOS0WWhTObQT2qo%2FhBqZYi83EWx4UFVu%2BDFdSjxC1l4uYws3T7vtIESe%2B%2B2RRh0pejMh5Ky%2BZBH0TxrB4vzQUxpGIRd2RF8GpFSQ6hkCC03Qd1RlM5DqTyUiYcy95CKvQaN4sT3OwlL2u1uyDlvtzmPuosiEu2wm%2Fgo%2BcTDJop8E1xvgttryO01rKk7T6NjsOVjuNUaTnhwBUFP1KgkQeUIKkpQKYKqIKh69V2hXcvV94R2JQtmvTXr7XpgipUtetcUKzIjW%2Fk%2BeXOa3YsPn2BN7jXioCOZ5J1ON6aShmHCYr%2FblZzGYrEbRm04VUO5I6DOw8ZkkZf3kU%2F68etgdBdO74KrN0DL46DVoNPyQVcHYdfHRvYgkxW1lDnZb3KTQpgaeTGHYt3b0vvk7amS%2BDcLyUdLL7Z%2BfnzjmAG3NXJb4yv1hGBF3xpcNBXZvmgqRx6ezwuVqg062fClghZy7rvP5XplrDh72m1%2Be5JPgMl4%2F7J0xTLNhMpWHPn%2BlBJC2jPGckl%2BPOuuSHahdKunSpuV%2BfKFT86cTXMrnVMmG4Kqp1cfgasxeS29Of277%2FxxE8oOYcsaaTkis4Iyu%2BD5Nbh8tPT8%2FqvBe3%2BtwxkCqw85LPdQlfXAttjho1ZjEn79DFqOlh4%2Fu3rydmcZlNVw8jAGJkePnh%2Fwt9wtrFgPtLiBLK3RszV6ugbVm3Dl0UGR29HSr%2B1pgWlvwLT1tpm2%2Bs5BvE7tNWSU%2BIn0W5IlMUs61BdxEsaMxoHssIgGKNyY3%2F737%2F8AAAD%2F%2FwEAAP%2F%2FKFsnFpcEAAA%3D HTTP/1.1 
Host: tallysaturatesnare.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Cookie: u_pl=15805124; uid_id2=3d418ed7-4eab-4c55-b316-19aa4148e7dc:3:1; pdhtkv=true; uncs=1; pdhtkv29=true; uncs29=1; slec917ebec7789aea44fb9088eca9d68453=[3789938]
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         192.243.59.12
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx/1.17.6
Date: Fri, 02 Dec 2022 13:34:39 GMT
Content-Length: 7
Connection: keep-alive
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Accept-CH: Device-Stock-UA,Sec-CH-UA,Sec-CH-UA-Full-Version,Sec-CH-UA-Full-Version-List,Sec-CH-UA-Mobile,Sec-CH-UA-Model,Sec-CH-UA-Platform,Sec-CH-UA-Platform-Version,User-Agent,X-Device-User-Agent,X-OperaMini-Phone-UA,X-UCBrowser-Device-UA
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
X-Request-ID: af8f17920e250e919606db2717d5c764
Strict-Transport-Security: max-age=0; includeSubdomains


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   7
Md5:    132d6af1b46048b45cf86cdee7991d31
Sha1:   eb7007d03d59b65bc6da7e098c4d38fc6dfb6285
Sha256: ab852e838deccd742a03ca81d4a8d75cf1a00b327db3eaf46bd7da6b6db9384c

Alerts:
  Blocklists:
    - fortinet: Malware
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "ADDFF025294DC6A89FF5F686910EB51BA8791C40F50B1C6B63DDC4C8DB5808CF"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=12998
Expires: Fri, 02 Dec 2022 17:11:17 GMT
Date: Fri, 02 Dec 2022 13:34:39 GMT
Connection: keep-alive

                                        
                                            GET /npc/sdk/common/core.js HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.newarabsex.com/
Origin: https://www.newarabsex.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:38 GMT
server: nginx/1.18.0
last-modified: Fri, 25 Nov 2022 14:22:37 GMT
etag: W/"6380cfad-1861e"
content-encoding: gzip
expires: Fri, 02 Dec 2022 13:39:38 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   35479
Md5:    2390c7f802b0c34afcf25b07c9b36c75
Sha1:   d094159b6d0b79921d27399c89faf02391bc5066
Sha256: 9aa4d939568a0bf4ba5454ec669999c368f9f1916a6bffd3c0458c8592949450
                                        
                                            POST / HTTP/1.1 
Host: e1.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 345
ETag: "8188A5B1208FEA4F2BDB97E404AEFEB04A89AD62BC16BA2512E3A660B68B67AF"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5351
Expires: Fri, 02 Dec 2022 15:03:50 GMT
Date: Fri, 02 Dec 2022 13:34:39 GMT
Connection: keep-alive

                                        
                                            GET /pixel/sbls?bv=22.33.5038&tmpl=482&u=https%3A%2F%2Fcdn.barscreative1.com%2Fsb%2Fnotifications%2Fgames%2Fnutaku%2Fmulti%2F2%2Findex.html&l=1300&fd=327 HTTP/1.1 
Host: tallysaturatesnare.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Cookie: u_pl=15805124; uid_id2=3d418ed7-4eab-4c55-b316-19aa4148e7dc:3:1; pdhtkv=true; uncs=1; pdhtkv29=true; uncs29=1; slec917ebec7789aea44fb9088eca9d68453=[3789938]
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         192.243.59.12
HTTP/1.1 200 OK
                                        
Server: nginx/1.17.6
Date: Fri, 02 Dec 2022 13:34:39 GMT
Content-Length: 0
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Upgrade-Insecure-Requests
Access-Control-Expose-Headers: Content-Length,Content-Range


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

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST /collect HTTP/1.1 
Host: b.clarity.ms
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: text/plain;charset=UTF-8
Content-Length: 15489
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         20.75.32.255
HTTP/2 204 No Content
                                        
vary: Origin
server: Microsoft-IIS/10.0
request-context: appId=cid-v1:2f7711a9-b21e-4abe-a9d6-5b0ce5d18b64
access-control-allow-origin: https://www.newarabsex.com
access-control-allow-credentials: true
date: Fri, 02 Dec 2022 13:34:39 GMT
X-Firefox-Spdy: h2

                                        
                                            GET /ps/sw.js HTTP/1.1 
Host: sw.wpush.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:39 GMT
server: nginx/1.18.0
last-modified: Fri, 25 Nov 2022 14:22:37 GMT
etag: W/"6380cfad-158c"
content-encoding: gzip
expires: Fri, 02 Dec 2022 13:39:39 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 (8695)
Size:   2896
Md5:    1671ed5a74ab91bb574274825da4d442
Sha1:   a1572a8eb9d873860688f275bde743eba1f17de9
Sha256: a2bd956f5ac4ec56f3719bcf1093b79f3ca917937a38911ad10651e960c81738
                                        
                                            POST / HTTP/1.1 
Host: e1.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 345
ETag: "8188A5B1208FEA4F2BDB97E404AEFEB04A89AD62BC16BA2512E3A660B68B67AF"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5351
Expires: Fri, 02 Dec 2022 15:03:50 GMT
Date: Fri, 02 Dec 2022 13:34:39 GMT
Connection: keep-alive

                                        
                                            GET /sb/notifications/games/nutaku/multi/2/img/girls.png HTTP/1.1 
Host: cdn.creative-bars1.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         172.64.109.13
HTTP/2 200 OK
content-type: image/png
                                        
date: Fri, 02 Dec 2022 13:34:39 GMT
content-length: 322399
last-modified: Wed, 07 Sep 2022 14:37:32 GMT
etag: "6318acac-4eb5f"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: public, max-age=315360000
access-control-allow-origin: *
access-control-expose-headers: Date
cf-cache-status: HIT
age: 1467810
accept-ranges: bytes
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=lH3Ic6t6R28QX61YfS4pkz9ufnKpPZNudcF0UU7nOob16uytHdW0oibtsIEsGFqbPAFZERsHiQOSrkMTA15wO9B8NHvqhYKph4dXEFieOWyLAZF60Fp4Z%2BpN6zPL39xMUknG3g4s9dF9"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 773470f98a6f405e-LHR
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 729 x 331, 8-bit/color RGBA, non-interlaced\012- data
Size:   322399
Md5:    47b7ae41a98644de6d46d58a0e51a793
Sha1:   b0f736609af3c0b3214ee52cc9f0798dcc972df6
Sha256: b2ad5bf8fc066203168fbceb53b7df6012e8897be344b240e94105af1b4ba0f2
                                        
                                            GET /pixel/sbls?bv=22.33.5038&tmpl=482&u=https%3A%2F%2Fcdn.creative-bars1.com%2Fsb%2Fnotifications%2Fgames%2Fnutaku%2Fmulti%2F2%2Fcss%2Fanimate.css&l=79249&fd=359 HTTP/1.1 
Host: tallysaturatesnare.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Cookie: u_pl=15805124; uid_id2=3d418ed7-4eab-4c55-b316-19aa4148e7dc:3:1; pdhtkv=true; uncs=1; pdhtkv29=true; uncs29=1; slec917ebec7789aea44fb9088eca9d68453=[3789938]
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         192.243.59.12
HTTP/1.1 200 OK
                                        
Server: nginx/1.17.6
Date: Fri, 02 Dec 2022 13:34:39 GMT
Content-Length: 0
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Upgrade-Insecure-Requests
Access-Control-Expose-Headers: Content-Length,Content-Range


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

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fc5183c67-4568-43c8-a2e7-7b41f5ca064b.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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
TE: trailers

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 4834
x-amzn-requestid: 63a0b8b5-5cb3-4a1f-aa46-47c84abe726f
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: cZQrjEeAIAMF3sw=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6386c7e3-0032799009f893ba79f314db;Sampled=0
x-amzn-remapped-date: Wed, 30 Nov 2022 03:02:59 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: 02EF3QEVKmEB2ikbGk9gzQq7_VMi00ufHUNRFTL8MpwJKaXQwdT8HA==
via: 1.1 56c69262ecfa7873b40572ba8a323242.cloudfront.net (CloudFront), 1.1 4f3feb5c4393987d42d1971d404d7cea.cloudfront.net (CloudFront), 1.1 google
date: Fri, 02 Dec 2022 03:42:27 GMT
age: 35532
etag: "0de97f3a4964038222bd751e043e413113e6db9d"
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:   4834
Md5:    cd8ad22c2eb1eb91c76970fa449f1bc4
Sha1:   0de97f3a4964038222bd751e043e413113e6db9d
Sha256: 668f805815aede3bc04f8564bd6aefd56029362bb0aa8a794673eb78ab2d4643
                                        
                                            GET /pixel/sbls?bv=22.33.5038&tmpl=482&u=https%3A%2F%2Fcdn.creative-bars1.com%2Fsb%2Fnotifications%2Fgames%2Fnutaku%2Fmulti%2F2%2Fcss%2Fstyles.css&l=11401&fd=361 HTTP/1.1 
Host: tallysaturatesnare.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Cookie: u_pl=15805124; uid_id2=3d418ed7-4eab-4c55-b316-19aa4148e7dc:3:1; pdhtkv=true; uncs=1; pdhtkv29=true; uncs29=1; slec917ebec7789aea44fb9088eca9d68453=[3789938]
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         192.243.59.12
HTTP/1.1 200 OK
                                        
Server: nginx/1.17.6
Date: Fri, 02 Dec 2022 13:34:39 GMT
Content-Length: 0
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Upgrade-Insecure-Requests
Access-Control-Expose-Headers: Content-Length,Content-Range


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

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /%d8%b3%d9%83%d8%b3-%d9%85%d9%8a%d8%b1%d9%8a%d8%a7%d9%85-%d9%81%d8%a7%d8%b1%d8%b3/ HTTP/1.1 
Host: www.newarabsex.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         104.21.50.252
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Fri, 02 Dec 2022 13:34:31 GMT
x-cache-handler: cache-enabler-engine
vary: Accept-Encoding,User-Agent
cache-control: max-age=31536000
cf-cache-status: MISS
last-modified: Fri, 02 Dec 2022 13:34:31 GMT
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=hFps0xAx2RGZ0f8UakghYKYH1HsiXVuG7LKeGrz9agpCLzRKMjm%2FCEIs3fl%2F2UXI5dasGaLkyW%2FpdiDmXdvTIFZfcWT%2B5n9fNuweCKsZblfDx2EEzNtPF1VHwrlAIhGeCeY88Kc%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 773470c45f49fac8-OSL
content-encoding: gzip
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /sfp.js HTTP/1.1 
Host: friendshipmale.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         172.64.140.24
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:38 GMT
p3p: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
access-control-allow-origin: *
expires: Thu, 01 Jan 1970 00:00:01 GMT
cache-control: max-age=14400
x-request-id: 02ea399d3f0ef23eb5fb2585165a6156
strict-transport-security: max-age=0; includeSubdomains
cf-cache-status: EXPIRED
last-modified: Fri, 02 Dec 2022 13:34:37 GMT
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=OcaxPVtQYuSR%2Bj8NKqdLTR1NdR15LxbC%2BAteKMdRwS%2BqThCbPN3DNhCKY6xrfpV9%2F5U9TCiq6xa7ijODI1Nxc3n7IOZKWlGZCLnKakyrvJr%2BJmlddjgV1mLUoFgtzRinM9A6jxo%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 773470ef98d97741-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /beacon.min.js/vaafb692b2aea4879b33c060e79fe94621666317369993 HTTP/1.1 
Host: static.cloudflareinsights.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         104.16.56.101
HTTP/2 200 OK
content-type: text/javascript;charset=UTF-8
                                        
date: Fri, 02 Dec 2022 13:34:31 GMT
access-control-allow-origin: *
cache-control: public, max-age=86400
etag: W/2022.10.1
last-modified: Fri, 21 Oct 2022 01:56:09 GMT
cross-origin-resource-policy: cross-origin
vary: Accept-Encoding
server: cloudflare
cf-ray: 773470c889a5b506-OSL
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /sb/notifications/games/nutaku/multi/2/img/close.svg HTTP/1.1 
Host: cdn.creative-bars1.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         172.64.109.13
HTTP/2 200 OK
content-type: image/svg+xml
                                        
date: Fri, 02 Dec 2022 13:34:39 GMT
last-modified: Thu, 18 Aug 2022 08:55:17 GMT
etag: W/"62fdfe75-415"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: public, max-age=315360000
access-control-allow-origin: *
access-control-expose-headers: Date
cf-cache-status: HIT
age: 1467810
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=5svk6uDKeOvfZgAPfh1PBh7DixmA%2BpzmLf8YTFHX50MA7Dq9FD1jx%2B5TVD146NL2MVvaFubmxBO1n8X3S0hAqkptvAosH8KEgO8%2BfINjG1FmtYtrFEoe8LQmWpfAfFkZSzww3zoUukY5"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 773470f98a6b405e-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /sb/notifications/games/nutaku/multi/2/index.html HTTP/1.1 
Host: cdn.barscreative1.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.4
HTTP/2 200 OK
content-type: text/html; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:39 GMT
server: nginx/1.17.6
last-modified: Thu, 15 Sep 2022 10:38:26 GMT
etag: W/"632300a2-514"
cache-control: max-age=3600
access-control-allow-origin: *
access-control-expose-headers: Date
content-encoding: gzip
expires: Fri, 02 Dec 2022 14:34:39 GMT
x-proxy-cache: HIT
X-Firefox-Spdy: h2


--- Additional Info ---

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /sb/notifications/games/nutaku/multi/2/js/jquery.min.js HTTP/1.1 
Host: cdn.creative-bars1.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         172.64.109.13
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Fri, 02 Dec 2022 13:34:39 GMT
last-modified: Thu, 18 Aug 2022 08:55:27 GMT
etag: W/"62fdfe7f-15d94"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: public, max-age=315360000
access-control-allow-origin: *
access-control-expose-headers: Date
cf-cache-status: HIT
age: 1467810
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=9onyiTPgp%2Fm00bpZYhFlqWdRnHnowrxwtwGukqM1JptYJG5%2F8llE5qoUszCOyHAnW0Tbk6A4%2Bss5Uw8GnLV%2F%2B6721AO%2F%2FOxvzMfH3IiFNdtV9I7U%2BGRuZg%2Fx73RxPsyF7kKCGI2Jqwvu"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 773470f97a67405e-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /sb/notifications/games/nutaku/multi/2/css/animate.css HTTP/1.1 
Host: cdn.creative-bars1.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         172.64.109.13
HTTP/2 200 OK
content-type: text/css
                                        
date: Fri, 02 Dec 2022 13:34:39 GMT
last-modified: Thu, 15 Sep 2022 10:38:28 GMT
etag: W/"632300a4-13591"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: public, max-age=315360000
access-control-allow-origin: *
access-control-expose-headers: Date
cf-cache-status: MISS
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=UOM%2F5clGqFeup6hcoO15E4gRP9ecInhCyaNBJn3Lk%2F%2BkSUWD%2BqDR%2BtVPeVL6klSbeEKb1jWNfhTf%2FQOoB3zwv4zaabB%2BofnLSPPkoQW3N5Q1xgnZG8OKY7paZXojlLIKNjdY402uh%2B7m"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 773470f91c2c72a6-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /sb/notifications/games/nutaku/multi/2/css/styles.css HTTP/1.1 
Host: cdn.creative-bars1.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         172.64.109.13
HTTP/2 200 OK
content-type: text/css
                                        
date: Fri, 02 Dec 2022 13:34:39 GMT
last-modified: Wed, 21 Sep 2022 08:03:32 GMT
etag: W/"632ac554-2c89"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: public, max-age=315360000
access-control-allow-origin: *
access-control-expose-headers: Date
cf-cache-status: MISS
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=hpfQXN7miif31W0MKNzVc4sgGE1eVVZ0q1XvGZZ%2BxApAEZbJ5p85ajbeAw%2FrD6g59%2F3eDh91Ov2WIxHEXD7CNSTo05uqEhw4Yih3HvTbn2NCvHL%2F6Pz0eTGHZ%2FtctEw8v2XFrWqRMxpA"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 773470f90c1b72a6-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /lv/esnk/1891932/code.js HTTP/1.1 
Host: duckswillsmoochyou.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         62.122.171.6
HTTP/2 200 OK
content-type: application/javascript
                                        
server: nginx
date: Fri, 02 Dec 2022 13:34:37 GMT
last-modified: Tue, 15 Nov 2022 12:20:41 GMT
vary: Accept-Encoding
etag: W/"63738419-1aaa0"
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /get/1888413?zoneid=1888413&jp=_clchqg9fb8ng7q3n0w8v4p&nojs=0&ix=0&abvar=0&t=0&x=1280&y=939&wcks=1&wgl=0&cnvs=1&os=0&md=0&bb=0&lang=en-US&pf=Linux%20x86_64&cd=24&isRef=1&sp=0&cid=6583368802832532 HTTP/1.1 
Host: ta3nfsordd.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         62.122.171.6
HTTP/2 200 OK
content-type: text/javascript
                                        
server: nginx
date: Fri, 02 Dec 2022 13:34:37 GMT
vary: Accept-Encoding
x-route-id: config
set-cookie: UID=2212020834a08a49b77d4a47389df918a1ef; Path=/; Expires=Sat, 02 Dec 2023 13:34:37 GMT; HttpOnly; Secure; SameSite=None
content-encoding: gzip
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /bfe0a2dd4afe58f656f20f79c17d73c6.js HTTP/1.1 
Host: 8bbc81b016.d1bcb5ca9f.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:37 GMT
server: nginx/1.18.0
last-modified: Thu, 13 Oct 2022 09:19:10 GMT
etag: W/"6347d80e-16007"
content-encoding: gzip
expires: Fri, 02 Dec 2022 13:39:37 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---

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

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Fri, 02 Dec 2022 13:34:37 GMT
server: nginx/1.18.0
last-modified: Fri, 25 Nov 2022 14:22:37 GMT
etag: W/"6380cfad-f33b"
content-encoding: gzip
expires: Fri, 02 Dec 2022 13:39:37 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /sb/notifications/games/nutaku/multi/2/js/main.js HTTP/1.1 
Host: cdn.creative-bars1.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.newarabsex.com
Connection: keep-alive
Referer: https://www.newarabsex.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         172.64.109.13
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Fri, 02 Dec 2022 13:34:39 GMT
last-modified: Wed, 21 Sep 2022 07:29:33 GMT
etag: W/"632abd5d-20ea"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: public, max-age=315360000
access-control-allow-origin: *
access-control-expose-headers: Date
cf-cache-status: MISS
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=A9D5%2BBVJqDdOnsHAu7OM3dt5OWkVFu2StmVHmhNVkg3rL3fm3cKoUWn3fDKlKUMVyq9Uxy5VxcOYzDGIexbdHmqZTYajeurl298j2%2Bu51kQFxScUJDoVChyhiME7hskel0sRWwPV0MMs"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 773470fa3e5c72a6-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---