initializer.js

From disqus.com, 2 Months ago, written in JavaScript, viewed 3 times. This paste is a reply to Re: entry.js from disqus.com - go back
URL https://pastebin.freepbx.org/view/20767797/diff Embed
Viewing differences between Re: entry.js and initializer.js
! function(s) {
    function t(t) {
        for (var e, n, r = t[0], i = t[1], o = 0, a = []; o < r.length; o++) u[n = r[o]] && a.push(u[n][0]), u[n] = 0;
        for (e in i) Object.prototype.hasOwnProperty.call(i, e) && (s[e] = i[e]);
        for (l && l(t); a.length;) a.shift()()
    }
    
var n = {},
        u = {
            4: 0
        };

    function c(t) {
        if (n[t]) return n[t].exports;
        var e = n[t] = {
            i: t,
            l: !1,
            exports: {}
        };
        return s[t].call(e.exports, e, e.exports, c), e.l = !0, e.exports
    }
    c.e = function(i) {
        var t, o, a, e = [],
            n = u[i];

        function r(t) {
            o.onerror = o.onload = null, clearTimeout(a);
            var e, n, r = u[i];
            0 !== r && (r && ((t = Error("Loading chunk " + i + " failed.\n(" + (e = t && ("load" === t.type ? "missing" : t.type)) + ": " + (n = t && t.target && t.target.src) + ")")).type = e, t.request = n, r[1](t)), u[i] = void 0)
        }
        return 0 !== n && (n ? e.push(n[2]) : (t = new Promise(function(t, e) {
            n = u[i] = [t, e]
        }), e.push(n[2] = t), t = document.getElementsByTagName("head")[0], (o = document.createElement("script")).charset = "utf-8", o.timeout = 12e4, o.crossOrigin = "anonymous", c.nc && o.setAttribute("nonce", c.nc), o.src = c.p + "" + ({}[i] || i) + "." + {
            0: "e49024872f0f4ea0569f",
            1: "be5d9c5b24e9007d158b",
            2: "f2d29a62ad2f93c2347b",
            3: "66399efeae7da6fa9c68"
        }[i] + ".js", a = setTimeout(function() {
            r({
                type: "timeout",
                target: o
            })
        }, 12e4), o.onerror = o.onload = r, t.appendChild(o))), Promise.all(e)
    }, c.m = s, c.c = n, c.d = function(t, e, n) {
        c.o(t, e) || Object.defineProperty(t, e, {
            configurable: !1,
            enumerable: !0,
            get: n
        })
    }, c.r = function(t) {
        Object.defineProperty(t, "__esModule", {
            value: !0
        })
    }, c.n = function(t) {
        var e = t && t.__esModule ? function() {
            return t.default
        } : function() {
            return t
        };
        return c.d(e, "a", e), e
    }, c.o = function(t, e) {
        return Object.prototype.hasOwnProperty.call(t, e)
    }, c.p = "//c.disquscdn.com/next/publisher-admin/js/", c.oe = function(t) {
        throw console.error(t), t
    };
    var e = window.webpackJsonp = window.webpackJsonp || [],
        r = e.push.bind(e);
    e.push = t, e = e.slice();
    for (var i = 0; i < e.length; i++) t(e[i]);
    var l = r;
    c(c.s = 24)
}([function(t, e) {
    var n = function() {
        return this
    }();
    try {
        n = n || Function("return this")() || (0, eval)("this")
    } catch (t) {
        "object" == typeof window && (n = window)
    }
    t.exports = n
}, function(t, e, n) {
    function i(t) {
        return void 0 === t
    }

    function a(t) {
        return "[object Object]" === Object.prototype.toString.call(t)
    }

    function u(t) {
        return "[object String]" === Object.prototype.toString.call(t)
    }

    function s(t) {
        return "[object Array]" === Object.prototype.toString.call(t)
    }

    function r() {
        if (!("fetch" 
requirejs,require,define;!function(global,setTimeout){function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var n;for(n=0;n<e.length&&(!e[n]||!t(e[n],n,e));n+=1);}}function eachReverse(e,t){if(e){var n;for(n=e.length-1;n>-1&&(!e[n]||!t(e[n],n,e));n-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var n;for(n in y)) return !1;
        try {
            return new Headers, new Request(""), new Response, !0
        } catch (t) {
            return !1
        }
    }

    function o(t, e) {
        var n, r;
        if (i(t.length))
            for (n in t) l(t, n) && e.call(null, n, t[n]);
        else if (r = t.length)
            for (n = 0; n < r; n++) e.call(null, n, t[n])
    }

    function c(t, e) {
        if ("number" != typeof e) throw Error("2nd argument to `truncate` function should be a number");
        return "string" != typeof t || 0 === e || t.length <= e ? t : t.substr(0, e) + "?"
    }

    function l(t, e) {
        return Object.prototype.hasOwnProperty.call(t, e)
    }

    function f(t) {
        for (var e, n = [], r = 0, i = t.length; r < i; r++) u(e = t[r]) ? n.push(e.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1")) : e && e.source && n.push(e.source);
        return RegExp(n.join("|"), "i")
    }

    function p(t) {
        var e, n, r, i, o = [];
        if (!t || !t.tagName) return "";
        if (o.push(t.tagName.toLowerCase()), t.id && o.push("#" + t.id), (e = t.className) && u(e))
            for (n = e.split(/\s+/), s = 0; s < n.length; s++) o.push("." + n[s]);
        for (var a = ["type", "name", "title", "alt"], s = 0; s < a.length; s++)(i = t.getAttribute(r = a[s])) && o.push("[" + r + '="' + i + '"]');
        return o.join("")
    }

    function h(t, e) {
        if (!!t ^ !!e) return !1;
        var n, r, i = t.frames,
            o = e.frames;
        if (void 0 === i || void 0 === o) return !1;
        if (i.length !== o.length) return !1;
        for (var a = 0; a < i.length; a++)
            if ((n = i[a]).filename !== (r = o[a]).filename || n.lineno !== r.lineno || n.colno !== r.colno || n.function !== r.function) return !1;
        return !0
    }

    function d(t) {
        return t = JSON.stringify(t), ~-encodeURI(t).split(/%..|./).length
    }

    function m(t) {
        if ("string" == typeof t) {
            return c(t, 40)
        }
        if ("number" == typeof t || "boolean" == typeof t || void 0 === t) return t;
        var e = Object.prototype.toString.call(t);
        return "[object Object]" === e ? "[Object]" : "[object Array]" === e ? "[Array]" : "[object Function]" === e ? t.name ? "[Function: " + t.name + "]" : "[Function]" : t
    }
    var g, v, y, _, b;
    g = n(0), v = n(4), y = "undefined" != typeof window ? window : void 0 !== g ? g : "undefined" != typeof self ? self : {}, _ = 3, b = 51200, t.exports = {
        isObject: function(t) {
            return "object" == typeof t && null !== t
        },
        isError: function(t) {
            switch (Object.prototype.toString.call(t)) {
                case "[object Error]":
                case "[object Exception]":
                case "[object DOMException]":
                    return !0;
                default:
                    return t 
e)if(hasProp(e,n)&&t(e[n],n))break}function mixin(e,t,n,r){return t&&eachProp(t,function(t,i){!n&&hasProp(e,i)||(!r||"object"!=typeof t||!t||isArray(t)||isFunction(t)||t instanceof Error
            }
        },
        isErrorEvent: function(t) {
            return "[object ErrorEvent]" === Object.prototype.toString.call(t)
        },
        isDOMError: function(t) {
            return "[object DOMError]" === Object.prototype.toString.call(t)
        },
        isDOMException: function(t) {
            return "[object DOMException]" === Object.prototype.toString.call(t)
        },
        isUndefined: i,
        isFunction: function(t) {
            return "function" == typeof t
        },
        isPlainObject: a,
        isString: u,
        isArray: s,
        isEmptyObject: function(t) {
            if (!a(t)) return !1;
            for (var e in t)
                if (t.hasOwnProperty(e)) return !1;
            return !0
        },
        supportsErrorEvent: function() {
            try {
                return new ErrorEvent(""), !0
            } catch (t) {
                return !1
            }
        },
        supportsDOMError: function() {
            try {
                return new DOMError(""), !0
            } catch (t) {
                return !1
            }
        },
        supportsDOMException: function() {
            try {
                return new DOMException(""), !0
            } catch (t) {
                return !1
            }
        },
        supportsFetch: r,
        supportsReferrerPolicy: function() {
            if (!r()) return !1;
            try {
                return new Request("pickleRick", {
                    referrerPolicy: "origin"
                }), !0
            } catch (t) {
                return !1
            }
        },
        supportsPromiseRejectionEvent: function() {
            return "function" == typeof PromiseRejectionEvent
        },
        wrappedCallback: function(n) {
            return function(t, e) {
                return t = n(t) || t, e && e(t) || t
            }
        },
        each: o,
        objectMerge: function(n, t) {
            return t && o(t, function(t, e) {
                n[t] = e
            }), n
        },
        truncate: c,
        objectFrozen: function(t) {
            return !!Object.isFrozen && Object.isFrozen(t)
        },
        hasKey: l,
        joinRegExp: f,
        urlencode: function(t) {
            var n = [];
            return o(t, function(t, e) {
                n.push(encodeURIComponent(t) + "=" + encodeURIComponent(e))
            }), n.join("&")
        },
        uuid4: function() {
            var t = y.crypto || y.msCrypto;
            if (i(t) || !t.getRandomValues) return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, function(t) {
                var e = 16 * Math.random() | 0;
                return ("x" === t ? e : 3 & e | 8).toString(16)
            });
            var e = new Uint16Array(8);
            return 
RegExp?e[i]=t:(e[i]||(e[i]={}),mixin(e[i],t,n,r)))}),e}function bind(e,t){return function(){return t.getRandomValues(e), e[3] = 4095 & e[3] | 16384, e[4] = 16383 & e[4] | 32768, (t = function(t) {
                for (var e = t.toString(16); e.length < 4;) e = "0" + e;
                return e
            })(e[0]) + t(e[1]) + t(e[2]) + t(e[3]) + t(e[4]) + t(e[5]) + t(e[6]) + t(e[7])
        },
        htmlTreeAsString: function(t) {
            for (var e, n = [], r = 0, i = 0; t && r++ < 5 && !("html" === (e = p(t)) || 1 < r && 80 <= i + 3 * n.length + e.length);) n.push(e), i += e.length, t = t.parentNode;
            return n.reverse().join(" > ")
        },
        htmlElementAsString: p,
        isSameException: function(t, e) {
            return !(!!t ^ !!e) && ((t = t.values[0]).type === (e = e.values[0]).type && t.value === e.value && (n = e.stacktrace, (!i(t.stacktrace) || !i(n)) && h(t.stacktrace, e.stacktrace)));
            var n
        },
        isSameStacktrace: h,
        parseUrl: function(t) {
            return "string" != typeof t ? {} : {
                protocol: (t = t.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/))[2],
                host: t[4],
                path: t[5],
                relative: t[5] + (t[6] || "") + (t[8] || "")
            }
        },
        fill: function(t, e, n, r) {
            null != t && (t[e] = n(n = t[e]), t[e].__raven__ = !0, t[e].__orig__ = n, r && r.push([t, e, n]))
        },
        safeJoin: function(t, e) {
            if (!s(t)) return "";
            for (var n = [], r = 0; r < t.length; r++) try {
                n.push(t[r] + "")
            } catch (t) {
                n.push("[value cannot be serialized]")
            }
            return n.join(e)
        },
        serializeException: function t(e, n, r) {
            if (!a(e)) return e;
            r = "number" != typeof(n = "number" != typeof n ? _ : n) ? b : r;
            var i = function n(r, i) {
                return 0 === i ? m(r) : a(r) ? Object.keys(r).reduce(function(t, e) {
                    return t[e] = n(r[e], i - 1), t
                }, {}) : Array.isArray(r) ? r.map(function(t) {
                    return n(t, i - 1)
                }) : m(r)
            }(e, n);
            return d(v(i)) > r ? t(e, n - 1) : i
        },
        serializeKeysForMessage: function(t, e) {
            if ("number" == typeof t || "string" == typeof t) return "" + t;
            if (!Array.isArray(t)) return "";
            if (0 === (t = t.filter(function(t) {
                    return "string" == typeof t
                })).length) return "[object has no keys]";
            if ((e = "number" != typeof e ? 40 : e) <= t[0].length) return t[0];
            for (var n = t.length; 0 < n; n--) {
                var r = t.slice(0, n).join(", ");
                if (!(e < r.length)) return n === t.length ? r : r + "?"
            }
            return ""
        },
        sanitize: function(e, t) {
            if (!s(t) || s(t) && 0 === t.length) return e;
            var n, i = f(t),
                o = "********";
            try {
                n = JSON.parse(v(e))
            } catch (t) {
                return e
            }
            return function n(r) {
                return s(r) ? r.map(n) : a(r) ? Object.keys(r).reduce(function(t, e) {
                    return i.test(e) ? t[e] = o : t[e] = n(r[e]), t
                }, {}) : r
            }(n)
        }
    }
}, function(t, e, n) {
    var n = [e, n(10), n(14), n(13), n(3)],
        n = function(n, e, r, i, o) {
            "use strict";
            var a = !1,
                t = n.ImpressionManager = function() {
                    this.isPrivate = !0, this.impId = r.generate()
                };
            t.prototype.COOKIE_NAME = "__jid", t.prototype.TTL = 18e5, t.prototype.init = function(t) {
                this.isPrivate = t && t.isPrivate, this.isPrivate || (this.prevImp = e.read(this.COOKIE_NAME)), this.persist()
            }, t.prototype.setImpressionId = function(t) {
                this.impId = t, this.persist()
            }, t.prototype.persist = function() {
                this.isPrivate ? e.erase(this.COOKIE_NAME) : e.create(this.COOKIE_NAME, this.impId, {
                    expiresIn: this.TTL
                })
            };
            var s = n.UniqueManager = function() {
                this.isPrivate = !0
            };
            s.prototype.COOKIE_NAME = "disqus_unique", s.prototype.TTL = 31536e6, s.prototype.init = function(t) {
                this.isPrivate = t && t.isPrivate, this.isPrivate ? e.erase(this.COOKIE_NAME, {
                    domain: window.location.host.split(":")[0]
                }) : (this.value = e.read(this.COOKIE_NAME) || r.generate(), e.create(this.COOKIE_NAME, this.value, {
                    domain: window.location.host.split(":")[0],
                    expiresIn: this.TTL
                }))
            }, s.prototype.isPersistent = function() {
                return !this.isPrivate && e.read(this.COOKIE_NAME) === this.value
            }, n.init = function(t, e) {
                a && !e || (n.impression.init(t), n.unique.init(t), a = !0)
            }, n.reset = function() {
                a = !1, n.impression = new t, n.unique = new s
            }, n.reset(), n.clientId = function() {
                var t, e = n.unique;
                return e.isPersistent() && (t = e.value), t || "" + o.get()
            }, n.getPercentBucketForString = function(t, e) {
                t = Math.abs(i.calculate(t));
                if (e) {
                    e = Math.pow(10, e);
                    return t % (100 * e) / e
                }
                return t % 100
            }, n.clientPercent = function() {
                return n.getPercentBucketForString(n.clientId())
            }
        }.apply(e, n);
    void 0 === n || (t.exports = n)
}, function(t, e, n) {
    e = function() {
        "use strict";
        return {
            get: function(t) {
                var e = (t = t || {}).Math || window.Math,
                    n = t.Date || window.Date;
                try {
                    var r = (new n).getTimezoneOffset(),
                        i = 1,
                        o = window.screen;
                    o && o.availWidth ? i = o.availWidth * o.availHeight + o.colorDepth : o && o.width && (i = o.width * o.height);
                    o = window.
apply(e,arguments)}}function scripts(){return document.documentElement;
                    return e.abs(17 * r + 25 * i - o.clientWidth * o.clientHeight)
                } catch (t) {
                    return 1
                }
            }
        }
    }.apply(e, []);
    void 0 === e || (t.exports = e)
}, function(t, e) {
    function s(t, e) {
        for (var n = 0; n < 
getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,n,r){var i=Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e);return i.requireType=e,i.requireModules=r,n&&(i.originalError=n),i}function newContext(e){function t(e){var t,n;for(t=0;t<e.length;t++)if("."===(n=e[t]))e.splice(t,1),t-=1;else if(".."===n){if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;t>0&&(e.splice(t-1,2),t-=2)}}function n(e,n,r){var i,o,a,s,c,u,d,f,l,p,h,m=n&&n.split("/"),g=E.map,v=g&&g["*"];if(e&&(e=e.split("/"),u=e.length-1,E.nodeIdCompat&&jsSuffixRegExp.test(e[u])&&(e[u]=e[u].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&m&&(h=m.slice(0,m.length-1),e=h.concat(e)),t(e),e=e.join("/")),r&&g&&(m||v)){o=e.split("/");e:for(a=o.length;a>0;a-=1){if(c=o.slice(0,a).join("/"),m)for(s=m.length;s>0;s-=1)if((i=getOwn(g,m.slice(0,s).join("/")))&&(i=getOwn(i,c))){d=i,f=a;break e}!l&&v&&getOwn(v,c)&&(l=getOwn(v,c),p=a)}!d&&l&&(d=l,f=p),d&&(o.splice(0,f,d),e=o.join("/"))}return getOwn(E.pkgs,e)||e}function r(e){isBrowser&&each(scripts(),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===x.contextName)return t.length; ++n)
            if (t[n] === e) return n;
        return -1
    }

    function i(r, i) {
        var o = [],
            a = [];
        return null == i && (i = function(t, e) {
                return o[0] === e ? "[Circular ~]" : "[Circular ~." + a.slice(0, s(o, e)).join(".") + "]"
            }),
            function(t, e) {
                var n;
                return 0 < o.length ? (~(n = s(o, this)) ? o.splice(n + 1) : o.push(this), ~n ? a.splice(n, 1 / 0, t) : a.push(t), ~s(o, e) && (e = i.call(this, t, e))) : o.push(e), null == r ? e instanceof Error ? function(t) {
                    var e, n = {
                        stack: t.stack,
                        message: t.message,
                        name: t.name
                    };
                    for (e in t) Object.prototype.hasOwnProperty.call(t, e) && (n[e] = t[e]);
                    return n
                }(e) : e : r.call(this, t, e)
            }
    }(t.exports = function(t, e, n, r) {
        return JSON.stringify(t, i(e, r), n)
    }).getSerialize = i
}, function(t, e, n) {
    var r = function() {
        "use strict";
        var n = window.document,
            r = n.head || n.getElementsByTagName("head")[0];
        return function(t) {
            var e = n.createElement("style");
            return e.type = "text/css", e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(n.createTextNode(t)), r.appendChild(e), e
        }
    }();
    void 0 === r || (t.exports = r)
}, function(t, e, n) {
    var n = [n(8), n(9)],
        n = function(e, n) {
            "use strict";
            return r = !1, i = null, o = function() {
                    o._done || r && i && (o._done = !0, i())
                }, (a = new XMLHttpRequest).addEventListener("load", t), a.addEventListener("error", t), a.open("GET", "https://disqus.com/next/config.json"), a.send(),
                function(t) {
                    i = t, o()
                };

            function t() {
                var t;
                try {
                    t = JSON.parse(a.responseText)
                } catch (t) {}
                t && e.extend(n, t), r = !0, o()
            }
            var r, i, o, a
        }.apply(e, n);
    void 0 === n || (t.exports = n)
}, function(t, e, n) {
    var r, i, o, a;
    r = n(0), n = n(19), i = "undefined" != typeof window ? window : void 0 !== r ? r : "undefined" != typeof self ? self : {}, o = i.Raven, (a = new n).noConflict = function() {
        return i.Raven = o, a
    }, a.afterLoad(), t.exports = a, t.exports.Client = n
}, function(D, L, t) {
    var B;
    (function() {
        function e() {}
        var t = this,
            n = t._,
            r = Array.prototype,
            a = Object.prototype,
            i = r.push,
            u = r.slice,
            l = a.toString,
            o = a.hasOwnProperty,
            s = Array.isArray,
            c = Object.keys,
            f = Function.prototype.bind,
            p = Object.create,
            h = function(t) {
                return t instanceof h ? t : this instanceof h ? void(this._wrapped = t) : new h(t)
            };
        void 0 !== D && D.exports && (L = D.exports = h), (L._ = h).VERSION = "1.8.3";
        var d = function(i, o, t) {
                if (void 0 === o) return i;
                switch (null == t ? 3 : t) {
                    case 1:
                        return function(t) {
                            return i.call(o, t)
                        };
                    case 2:
                        return function(t, e) {
                            return i.call(o, t, e)
                        };
                    case 3:
                        return function(t, e, n) {
                            return i.call(o, t, e, n)
                        };
                    case 4:
                        return function(t, e, n, r) {
                            return i.call(o, t, e, n, r)
                        }
                }
                return function() {
                    return i.apply(o, arguments)
                }
            },
            m = function(t, e, n) {
                return null == t ? h.identity : h.isFunction(t) ? d(t, e, n) : h.isObject(t) ? h.matcher(t) : h.property(t)
            };
        h.iteratee = function(t, e) {
            return m(t, e, 1 / 0)
        };

        function g(t) {
            return h.isObject(t) ? p ? p(t) : (e.prototype = t, t = new e, e.prototype = null, t) : {}
        }
        var v = function(u, c) {
                return function(t) {
                    var e = arguments.length;
                    if (e < 2 || null == t) return t;
                    for (var n = 1; n < e; n++)
                        for (var r = arguments[n], i = u(r), o = i.length, a = 0; a < o; a++) {
                            var s = i[a];
                            c && void 0 !== t[s] || (t[s] = r[s])
                        }
                    return t
                }
            },
            y = function(e) {
                return function(t) {
                    return null == t ? void 0 : t[e]
                }
            },
            _ = y("length"),
            b = function(t) {
                t = _(t);
                return "number" == typeof t && 0 <= t && t <= 9007199254740991
            };

        function x(s) {
            return function(t, e, n, r) {
                e = d(e, r, 4);
                var i = !b(t) && h.keys(t),
                    o = (i || t).length,
                    a = 0 < s ? 0 : o - 1;
                return arguments.length < 3 && (n = t[i ? i[a] : a], a += s),
                    function(t, e, n, r, i, o) {
                        for (; 0 <= i && i < o; i += s) {
                            var a = r ? r[i] : i;
                            n = e(n, t[a], a, t)
                        }
                        return n
                    }(t, e, n, i, a, o)
            }
        }
        h.each = h.forEach = function(t, e, n) {
            if (e = d(e, n), b(t))
                for (i = 0, o = t.length; i < o; i++) e(t[i], i, t);
            else
                for (var r = h.keys(t), i = 0, o = r.length; i < o; i++) e(t[r[i]], r[i], t);
            return t
        }, h.map = h.collect = function(t, e, n) {
            e = m(e, n);
            for (var r = !b(t) && h.keys(t), i = (r || t).length, o = Array(i), a = 0; a < i; a++) {
                var s = r ? r[a] : a;
                o[a] = e(t[s], s, t)
            }
            return o
        }, h.reduce = h.foldl = h.inject = x(1), h.reduceRight = h.foldr = x(-1), h.find = h.detect = function(t, e, n) {
            n = b(t) ? h.findIndex(t, e, n) : h.findKey(t, e, n);
            if (void 0 !== n && -1 !== n) return t[n]
        }, h.filter = h.select = function(t, r, e) {
            var i = [];
            return r = m(r, e), h.each(t, function(t, e, n) {
                r(t, e, n) && i.push(t)
            }), i
        }, h.reject = function(t, e, n) {
            return h.filter(t, h.negate(m(e)), n)
        }, h.every = h.all = function(t, e, n) {
            e = m(e, n);
            for (var r = !b(t) && h.keys(t), i = (r || t).length, o = 0; o < i; o++) {
                var a = r ? r[o] : o;
                if (!e(t[a], a, t)) return !1
            }
            return !0
        }, h.some = h.any = function(t, e, n) {
            e = m(e, n);
            for (var r = !b(t) && h.keys(t), i = (r || t).length, o = 0; o < i; o++) {
                var a = r ? r[o] : o;
                if (e(t[a], a, t)) return !0
            }
            return !1
        }, h.contains = h.includes = h.include = function(t, e, n, r) {
            return b(t) || (t = h.values(t)), "number" == typeof n && !r || (n = 0), !!~h.indexOf(t, e, n)
        }, h.invoke = function(t, n) {
            var r = u.call(arguments, 2),
                i = h.isFunction(n);
            return h.map(t, function(t) {
                var e = i ? n : t[n];
                return null == e ? e : e.apply(t, r)
            })
        }, h.pluck = function(t, e) {
            return h.map(t, h.property(e))
        }, h.where = function(t, e) {
            return h.filter(t, h.matcher(e))
        }, h.findWhere = function(t, e) {
            return h.find(t, h.matcher(e))
        }, h.max = function(t, r, e) {
            var n, i, o = -1 / 0,
                a = -1 / 0;
            if (null == r && null != t)
                for (var s = 0, u = (t = b(t) ? t : h.values(t)).length; s < u; s++) o < (n = t[s]) && (o = n);
            else r = m(r, e), h.each(t, function(t, e, n) {
                i = r(t, e, n), (a < i || i === -1 / 0 && o === -1 / 0) && (o = t, a = i)
            });
            return o
        }, h.min = function(t, r, e) {
            var n, i, o = 1 / 0,
                a = 1 / 0;
            if (null == r && null != t)
                for (var s = 0, u = (t = b(t) ? t : h.values(t)).length; s < u; s++)(n = t[s]) < o && (o = n);
            else r = m(r, e), h.each(t, function(t, e, n) {
                ((i = r(t, e, n)) < a || i === 1 / 0 && o === 1 / 0) && (o = t, a = i)
            });
            return o
        }, h.shuffle = function(t) {
            for (var e, n = b(t) ? t : h.values(t), r = n.length, i = Array(r), o = 0; o < r; o++)(e = h.random(0, o)) !== o && (i[o] = i[e]), i[e] = n[o];
            return i
        }, h.sample = function(t, e, n) {
            return null == e || n ? (b(t) || (t = h.values(t)), t[h.random(t.length - 1)]) : h.shuffle(t).slice(0, Math.max(0, e))
        }, h.sortBy = function(t, r, e) {
            return r = m(r, e), h.pluck(h.map(t, function(t, e, n) {
                return {
                    value: t,
                    index: e,
                    criteria: r(t, e, n)
                }
            }).sort(function(t, e) {
                var n = t.criteria,
                    r = e.criteria;
                if (n !== r) {
                    if (r < n || void 0 === n) return 1;
                    if (n < r || void 0 === r) return -1
                }
                return t.index - e.index
            }), "value")
        };

        function E(o) {
            return function(n, r, t) {
                var i = {};
                return r = m(r, t), h.each(n, function(t, e) {
                    e = r(t, e, n);
                    o(i, t, e)
                }), i
            }
        }
        h.groupBy = E(function(t, e, n) {
            h.has(t, n) ? t[n].push(e) : t[n] = [e]
        }), h.indexBy = E(function(t, e, n) {
            t[n] = e
        }), h.countBy = E(function(t, e, n) {
            h.has(t, n) ? t[n]++ : t[n] = 1
        }), h.toArray = function(t) {
            return t ? h.isArray(t) ? u.call(t) : b(t) ? h.map(t, h.identity) : h.values(t) : []
        }, h.size = function(t) {
            return null == t ? 0 : (b(t) ? t : h.keys(t)).length
        }, h.partition = function(t, r, e) {
            r = m(r, e);
            var i = [],
                o = [];
            return h.each(t, function(t, e, n) {
                (r(t, e, n) ? i : o).push(t)
            }), [i, o]
        }, h.first = h.head = h.take = function(t, e, n) {
            if (null != t) return null == e || n ? t[0] : h.initial(t, t.length - e)
        }, h.initial = function(t, e, n) {
            return u.call(t, 0, Math.max(0, t.length - (null == e || n ? 1 : e)))
        }, h.last = function(t, e, n) {
            if (null != t) return null == e || n ? t[t.length - 1] : h.rest(t, Math.max(0, t.length - e))
        }, h.rest = h.tail = h.drop = function(t, e, n) {
            return u.call(t, null == e || n ? 1 : e)
        }, h.compact = function(t) {
            return h.filter(t, h.identity)
        };
        var w = function(t, e, n, r) {
            for (var i = [], o = 0, a = r || 0, s = _(t); a < s; a++) {
                var u = t[a];
                if (b(u) && (h.isArray(u) || h.isArguments(u))) {
                    e || (u = w(u, e, n));
                    var c = 0,
                        l = u.length;
                    for (i.length += l; c < l;) i[o++] = u[c++]
                } else n || (i[o++] = u)
            }
            return i
        };

        function O(o) {
            return function(t, e, n) {
                e = m(e, n);
                for (var r = _(t), i = 0 < o ? 0 : r - 1; 0 <= i && i < r; i += o)
                    if (e(t[i], i, t)) return i;
                return -1
            }
        }

        function k(o, a, s) {
            return function(t, e, n) {
                var r = 0,
                    i = _(t);
                if ("number" == typeof n) 0 < o ? r = 0 <= n ? n : Math.max(n + i, r) : i = 0 <= n ? Math.min(n + 1, i) : n + i + 1;
                else if (s && n && i) return t[n = s(t, e)] === e ? n : -1;
                if (e != e) return 0 <= (n = a(u.call(t, r, i), h.isNaN)) ? n + r : -1;
                for (n = 0 < o ? r : i - 1; 0 <= n && n < i; n += o)
                    if (t[n] === e) return n;
                return -1
            }
        }
        h.flatten = function(t, e) {
            return w(t, e, !1)
        }, h.without = function(t) {
            return h.difference(t, u.call(arguments, 1))
        }, h.uniq = h.unique = function(t, e, n, r) {
            h.isBoolean(e) || (r = n, n = e, e = !1), null != n && (n = m(n, r));
            for (var i = [], o = [], a = 0, s = _(t); a < s; a++) {
                var u = t[a],
                    c = n ? n(u, a, t) : u;
                e ? (a && o === c || i.push(u), o = c) : n ? h.contains(o, c) || (o.push(c), i.push(u)) : h.contains(i, u) || i.push(u)
            }
            return i
        }, h.union = function() {
            return h.uniq(w(arguments, !0, !0))
        }, h.intersection = function(t) {
            for (var e = [], n = arguments.length, r = 0, i = _(t); r < i; r++) {
                var o = t[r];
                if (!h.contains(e, o)) {
                    for (var a = 1; a < n && h.contains(arguments[a], o); a++);
                    a === n && e.push(o)
                }
            }
            return e
        }, h.difference = function(t) {
            var e = w(arguments, !0, !0, 1);
            return h.filter(t, function(t) {
                return !h.contains(e, t)
            })
        }, h.zip = function() {
            return h.unzip(arguments)
        }, h.unzip = function(t) {
            for (var e = t && h.max(t, _).length || 0, n = Array(e), r = 0; r < e; r++) n[r] = h.pluck(t, r);
            return n
        }, h.object = function(t, e) {
            for (var n = {}, r = 0, i = _(t); r < i; r++) e ? n[t[r]] = e[r] : n[t[r][0]] = t[r][1];
            return n
        }, h.findIndex = O(1), h.findLastIndex = O(-1), h.sortedIndex = function(t, e, n, r) {
            for (var i = (n = m(n, r, 1))(e), o = 0, a = _(t); o < a;) {
                var s = Math.floor((o + a) / 2);
                n(t[s]) < i ? o = 1 + s : a = s
            }
            return o
        }, h.indexOf = k(1, h.findIndex, h.sortedIndex), h.lastIndexOf = k(-1, h.findLastIndex), h.range = function(t, e, n) {
            null == e && (e = t || 0, t = 0);
            for (var r = Math.max(Math.ceil((e - t) / (n = n || 1)), 0), i = Array(r), o = 0; o < r; o++, t += n) i[o] = t;
            return i
        };

        function S(t, e, n, r, i) {
            return r instanceof e ? (n = g(t.prototype), i = t.apply(n, i), h.isObject(i) ? i : n) : t.apply(n, i)
        }
        h.bind = function(t, e) {
            if (f && t.bind === f) return f.apply(t, u.call(arguments, 1));
            if (!h.isFunction(t)) throw new TypeError("Bind must be called on a function");
            var n = u.call(arguments, 2),
                r = function() {
                    return S(t, r, e, this, n.concat(u.call(arguments)))
                };
            return r
        }, h.partial = function(i) {
            var o = u.call(arguments, 1),
                a = function() {
                    for (var t = 0, e = o.length, n = Array(e), r = 0; r < e; r++) n[r] = o[r] === h ? arguments[t++] : o[r];
                    for (; t < arguments.length;) n.push(arguments[t++]);
                    return S(i, a, this, this, n)
                };
            return a
        }, h.bindAll = function(t) {
            var e, n, r = arguments.length;
            if (r <= 1) throw Error("bindAll must be passed function names");
            for (e = 1; e < r; e++) t[n = arguments[e]] = h.bind(t[n], t);
            return t
        }, h.memoize = function(r, i) {
            var o = function(t) {
                var e = o.cache,
                    n = "" + (i ? i.apply(this, arguments) : t);
                return h.has(e, n) || (e[n] = r.apply(this, arguments)), e[n]
            };
            return o.cache = {}, o
        }, h.delay = function(t, e) {
            var n = u.call(arguments, 2);
            return setTimeout(function() {
                return t.apply(null, n)
            }, e)
        }, h.defer = h.partial(h.delay, h, 1), h.throttle = function(n, r, i) {
            var o, a, s, u = null,
                c = 0;
            i = i || {};

            function l() {
                c = !1 === i.leading ? 0 : h.now(), u = null, s = n.apply(o, a), u || (o = a = null)
            }
            return function() {
                var t = h.now();
                c || !1 !== i.leading || (c = t);
                var e = r - (t - c);
                return o = this, a = arguments, e <= 0 || r < e ? (u && (clearTimeout(u), u = null), c = t, s = n.apply(o, a), u || (o = a = null)) : u || !1 === i.trailing || (u = setTimeout(l, e)), s
            }
        }, h.debounce = function(e, n, r) {
            var i, o, a, s, u, c = function() {
                var t = h.now() - s;
                t < n && 0 <= t ? i = setTimeout(c, n - t) : (i = null, r || (u = e.apply(a, o), i || (a = o = null)))
            };
            return function() {
                a = this, o = arguments, s = h.now();
                var t = r && !i;
                return i = i || setTimeout(c, n), t && (u = e.apply(a, o), a = o = null), u
            }
        }, h.wrap = function(t, e) {
            return h.partial(e, t)
        }, h.negate = function(t) {
            return function() {
                return !t.apply(this, arguments)
            }
        }, h.compose = function() {
            var n = arguments,
                r = n.length - 1;
            return function() {
                for (var t = r, e = n[r].apply(this, arguments); t--;) e = n[t].call(this, e);
                return e
            }
        }, h.after = function(t, e) {
            return function() {
                if (--t < 1) return e.apply(this, arguments)
            }
        }, h.before = function(t, e) {
            var n;
            return function() {
                return 0 < --t && (n = e.apply(this, arguments)), t <= 1 && (e = null), n
            }
        }, h.once = h.partial(h.before, 2);
        var j = !{
                toString: null
            }.propertyIsEnumerable("toString"),
            T = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"];

        function C(t, e) {
            var n = T.length,
                r = t.constructor,
                i = h.isFunction(r) && r.prototype || a,
                o = "constructor";
            for (h.has(t, o) && !h.contains(e, o) && e.push(o); n--;)(o = T[n]) in t && t[o] !== i[o] && !h.contains(e, o) && e.push(o)
        }
        h.keys = function(t) {
            if (!h.isObject(t)) return [];
            if (c) return c(t);
            var e, n = [];
            for (e in t) h.has(t, e) && n.push(e);
            return j && C(t, n), n
        }, h.allKeys = function(t) {
            if (!h.isObject(t)) return [];
            var e, n = [];
            for (e in t) n.push(e);
            return j && C(t, n), n
        }, h.values = function(t) {
            for (var e = h.keys(t), n = e.length, r = Array(n), i = 0; i < n; i++) r[i] = t[e[i]];
            return r
        }, h.mapObject = function(t, e, n) {
            e = m(e, n);
            for (var r, i = h.keys(t), o = i.length, a = {}, s = 0; s < o; s++) a[r = i[s]] = e(t[r], r, t);
            return a
        }, h.pairs = function(t) {
            for (var e = h.keys(t), n = e.length, r = Array(n), i = 0; i < n; i++) r[i] = [e[i], t[e[i]]];
            return r
        }, h.invert = function(t) {
            for (var e = {}, n = h.keys(t), r = 0, i = n.length; r < i; r++) e[t[n[r]]] = n[r];
            return e
        }, h.functions = h.methods = function(t) {
            var e, n = [];
            for (e in t) h.isFunction(t[e]) && n.push(e);
            return n.sort()
        }, h.extend = v(h.allKeys), h.extendOwn = h.assign = v(h.keys), h.findKey = function(t, e, n) {
            e = m(e, n);
            for (var r, i = h.keys(t), o = 0, a = i.length; o < a; o++)
                if (e(t[r = i[o]], r, t)) return r
        }, h.pick = function(t, e, n) {
            var r, i, o = {},
                a = t;
            if (null == a) return o;
            h.isFunction(e) ? (i = h.allKeys(a), r = d(e, n)) : (i = w(arguments, !1, !1, 1), r = function(t, e, n) {
                return e in n
            }, a = Object(a));
            for (var s = 0, u = i.length; s < u; s++) {
                var c = i[s],
                    l = a[c];
                r(l, c, a) && (o[c] = l)
            }
            return o
        }, h.omit = function(t, e, n) {
            var r;
            return e = h.isFunction(e) ? h.negate(e) : (r = h.map(w(arguments, !1, !1, 1), String), function(t, e) {
                return !h.contains(r, e)
            }), h.pick(t, e, n)
        }, h.defaults = v(h.allKeys, !0), h.create = function(t, e) {
            t = g(t);
            return e && h.extendOwn(t, e), t
        }, h.clone = function(t) {
            return h.isObject(t) ? h.isArray(t) ? t.slice() : h.extend({}, t) : t
        }, h.tap = function(t, e) {
            return e(t), t
        }, h.isMatch = function(t, e) {
            var n = h.keys(e),
                r = n.length;
            if (null == t) return !r;
            for (var i = Object(t), o = 0; o < r; o++) {
                var a = n[o];
                if (e[a] !== i[a] || !(a in i)) return !1
            }
            return !0
        };
        var R = function(t, e, n, r) {
            if (t === e) return 0 !== t || 1 / t == 1 / e;
            if (null == t || null == e) return t === e;
            t instanceof h && (t = t._wrapped), e instanceof h && (e = e._wrapped);
            var i = l.call(t);
            if (i !== l.call(e)) return !1;
            switch (i) {
                case "[object RegExp]":
                case "[object String]":
                    return "" + t == "" + e;
                case "[object Number]":
                    return +t != +t ? +e != +e : 0 == +t ? 1 / +t == 1 / e : +t == +e;
                case "[object Date]":
                case "[object Boolean]":
                    return +t == +e
            }
            var o = "[object Array]" === i;
            if (!o) {
                if ("object" != typeof t || "object" != typeof e) return !1;
                var a = t.constructor,
                    i = e.constructor;
                if (a !== i && !(h.isFunction(a) && a instanceof a && h.isFunction(i) && i instanceof i) && "constructor" in t && "constructor" in e) return !1
            }
            r = r || [];
            for (var s = (n = n || []).length; s--;)
                if (n[s] === t) return r[s] === e;
            if (n.push(t), r.push(e), o) {
                if ((s = t.length) !== e.length) return !1;
                for (; s--;)
                    if (!R(t[s], e[s], n, r)) return !1
            } else {
                var u, c = h.keys(t),
                    s = c.length;
                if (h.keys(e).length !== s) return !1;
                for (; s--;)
                    if (!h.has(e, u = c[s]) || !R(t[u], e[u], n, r)) return !1
            }
            return n.pop(), r.pop(), !0
        };
        h.isEqual = function(t, e) {
            return R(t, e)
        }, h.isEmpty = function(t) {
            return null == t || (b(t) && (h.isArray(t) || h.isString(t) || h.isArguments(t)) ? 0 === t.length : 0 === h.keys(t).length)
        }, h.isElement = function(t) {
            return !(!t || 1 !== t.nodeType)
        }, h.isArray = s || function(t) {
            return "[object Array]" === l.call(t)
        }, h.isObject = function(t) {
            var e = typeof t;
            return "function" == e || "object" == e && !!t
        }, h.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error"], function(e) {
            h["is" + e] = function(t) {
                return l.call(t) === "[object " + e + "]"
            }
        }), h.isArguments(arguments) || (h.isArguments = function(t) {
            return h.has(t, "callee")
        }), "function" != typeof /./ && "object" != typeof Int8Array && (h.isFunction = function(t) {
            return "function" == typeof t || !1
        }), h.isFinite = function(t) {
            return isFinite(t) && !isNaN(parseFloat(t))
        }, h.isNaN = function(t) {
            return h.isNumber(t) && t !== +t
        }, h.isBoolean = function(t) {
            return !0 === t || !1 === t || "[object Boolean]" === l.call(t)
        }, h.isNull = function(t) {
            return null === t
        }, h.isUndefined = function(t) {
            return void 0 === t
        }, h.has = function(t, e) {
            return null != t && o.call(t, e)
        }, h.noConflict = function() {
            return t._ = n, this
        }, h.identity = function(t) {
            return t
        }, h.constant = function(t) {
            return function() {
                return t
            }
        }, h.noop = function() {}, h.property = y, h.propertyOf = function(e) {
            return null == e ? function() {} : function(t) {
                return e[t]
            }
        }, h.matcher = h.matches = function(e) {
            return e = h.extendOwn({}, e),
                function(t) {
                    return h.isMatch(t, e)
                }
        }, h.times = function(t, e, n) {
            var r = Array(Math.max(0, t));
            e = d(e, n, 1);
            for (var i = 0; i < t; i++) r[i] = e(i);
            return r
        }, h.random = function(t, e) {
            return null == e && (e = t, t = 0), t + Math.floor(Math.random() * (e - t + 1))
        }, h.now = Date.now || function() {
            return (new Date).getTime()
        };
        v = {
            "&": "&amp;",
            "<": "&lt;",
            ">": "&gt;",
            '"': "&quot;",
            "'": "&#x27;",
            "`": "&#x60;"
        }, s = h.invert(v), y = function(e) {
            function n(t) {
                return e[t]
            }
            var t = "(?:" + h.keys(e).join("|") + ")",
                r = RegExp(t),
                i = RegExp(t, "g");
            return function(t) {
                return r.test(t = null == t ? "" : "" + t) ? t.replace(i, n) : t
            }
        };
        h.escape = y(v), h.unescape = y(s), h.result = function(t, e, n) {
            e = null == t ? void 0 : t[e];
            return void 0 === e && (e = n), h.isFunction(e) ? e.call(t) : e
        };
        var I = 0;
        h.uniqueId = function(t) {
            var e = ++I + "";
            return t ? t + e : e
        }, h.templateSettings = {
            evaluate: /<%([\s\S]+?)%>/g,
            interpolate: /<%=([\s\S]+?)%>/g,
            escape: /<%-([\s\S]+?)%>/g
        };

        function M(t) {
            return "\\" + N[t]
        }
        var P = /(.)^/,
            N = {
                "'": "'",
                "\\": "\\",
                "\r": "r",
                "\n": "n",
                "\u2028": "u2028",
                "\u2029": "u2029"
            },
            A = /\\|'|\r|\n|\u2028|\u2029/g;
        h.template = function(o, t, e) {
            !t && e && (t = e), t = h.defaults({}, t, h.templateSettings);
            var e = RegExp([(t.escape || P).source, (t.interpolate || P).source, (t.evaluate || P).source].join("|") + "|$", "g"),
                a = 0,
                s = "__p+='";
            o.replace(e, function(t, e, n, r, i) {
                return s += o.slice(a, i).replace(A, M), a = i + t.length, e ? s += "'+\n((__t=(" + e + "))==null?'':_.escape(__t))+\n'" : n ? s += "'+\n((__t=(" + n + "))==null?'':__t)+\n'" : r && (s += "';\n" + r + "\n__p+='"), t
            }), s += "';\n", t.variable || (s = "with(obj||{}){\n" + s + "}\n"), s = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + s + "return __p;\n";
            try {
                var n = Function(t.variable || "obj", "_", s)
            } catch (t) {
                throw t.source = s, t
            }
            e = function(t) {
                return n.call(this, t, h)
            };
            return e.source = "function(" + (t.variable || "obj") + "){\n" + s + "}", e
        }, h.chain = function(t) {
            t = h(t);
            return t._chain = !0, t
        };

        function F(t, e) {
            return t._chain ? h(e).chain() : e
        }
        h.mixin = function(n) {
            h.each(h.functions(n), function(t) {
                var e = h[t] = n[t];
                h.prototype[t] = function() {
                    var t = [this._wrapped];
                    return i.apply(t, arguments), F(this, e.apply(h, t))
                }
            })
        }, h.mixin(h), h.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function(e) {
            var n = r[e];
            h.prototype[e] = function() {
                var t = this._wrapped;
                return n.apply(t, arguments), "shift" !== e && "splice" !== e || 0 !== t.length || delete t[0], F(this, t)
            }
        }), h.each(["concat", "join", "slice"], function(t) {
            var e = r[t];
            h.prototype[t] = function() {
                return F(this, e.apply(this._wrapped, arguments))
            }
        }), h.prototype.value = function() {
            return this._wrapped
        }, h.prototype.valueOf = h.prototype.toJSON = h.prototype.value, h.prototype.toString = function() {
            return "" + this._wrapped
        }, void 0 === (B = function() {
            return h
        }.apply(L, [])) || (D.exports = B)
    }).call(this)
}, function(t, e, n) {
    "use strict";
    t.exports = {
        lounge: {},
        discovery: {},
        experiments: {}
    }
}, function(t, e, n) {
    e = function() {
        "use strict";
        var o = {
            _doc: window.document,
            create: function(t, e, n) {
                t = t + "=" + e + "; path=" + ((n = n || {}).path || "/"), e = n.domain, n = n.expiresIn;
                e && (t += "; domain=." + e), "[object Number]" === Object.prototype.toString.call(n) && (t += "; expires=" + new Date((new Date).getTime() + n).toGMTString()), "https:" === o._doc.location.protocol && (t += "; secure"), o._doc.cookie = t += "; SameSite=None"
            },
            read: function(t) {
                for (var e, n = t + "=", r = o._doc.cookie.split(";"), i = 0; i < r.length; i++)
                    if (!(e = r[i].replace(/^\s+/, "")).indexOf(n)) return e.substring(n.length);
                return null
            },
            erase: function(t, e) {
                var n, r = {};
                for (n in e) e.hasOwnProperty(n) && (r[n] = e[n]);
                return r.expiresIn = -1, o.create(t, "", r)
            },
            supported: function() {
                return o.create("cookie_support", "1"), "1" === o.read("cookie_support") && (o.erase("cookie_support"), !0)
            }
        };
        return o
    }.apply(e, []);
    void 0 === e || (t.exports = e)
}, function(t, e) {
    var n, r, t = t.exports = {};

    function i() {
        throw Error("setTimeout has not been defined")
    }

    function o() {
        throw Error("clearTimeout has not been defined")
    }

    function a(e) {
        if (n === setTimeout) return setTimeout(e, 0);
        if ((n === i || !n) && setTimeout) return (n = setTimeout)(e, 0);
        try {
            return n(e, 0)
        } catch (t) {
            try {
                return n.call(null, e, 0)
            } catch (t) {
                return n.call(this, e, 0)
            }
        }
    }! function() {
        try {
            n = "function" == typeof setTimeout ? setTimeout : i
        } catch (t) {
            n = i
        }
        try {
            r = "function" == typeof clearTimeout ? clearTimeout : o
        } catch (t) {
            r = o
        }
    }();
    var s, u = [],
        c = !1,
        l = -1;

    function f() {
        c && s && (c = !1, s.length ? u = s.concat(u) : l = -1, u.length && p())
    }

    function p() {
        if (!c) {
            var t = a(f);
            c = !0;
            for (var e = u.length; e;) {
                for (s = u, u = []; ++l < e;) s && s[l].run();
                l = -1, e = u.length
            }
            s = null, c = !1,
                function(e) {
                    if (r === clearTimeout) return clearTimeout(e);
                    if ((r === o || !r) && clearTimeout) return (r = clearTimeout)(e);
                    try {
                        r(e)
                    } catch (t) {
                        try {
                            return r.call(null, e)
                        } catch (t) {
                            return r.call(this, e)
                        }
                    }
                }(t)
        }
    }

    function h(t, e) {
        this.fun = t, this.array = e
    }

    function d() {}
    t.nextTick = function(t) {
        var e = Array(arguments.length - 1);
        if (1 < arguments.length)
            for (var n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
        u.push(new h(t, e)), 1 !== u.length || c || a(p)
    }, h.prototype.run = function() {
        this.fun.apply(null, this.array)
    }, t.title = "browser", t.browser = !0, t.env = {}, t.argv = [], t.version = "", t.versions = {}, t.on = d, t.addListener = d, t.once = d, t.off = d, t.removeListener = d, t.removeAllListeners = d, t.emit = d, t.prependListener = d, t.prependOnceListener = d, t.listeners = function(t) {
        return []
    }, t.binding = function(t) {
        throw Error("process.binding is not supported")
    }, t.cwd = function() {
        return "/"
    }, t.chdir = function(t) {
        throw Error("process.chdir is not supported")
    }, t.umask = function() {
        return 0
    }
}, function(t, e) {
    ! function(p, l, h) {
        function s(t, e) {
            return typeof t === e
        }

        function d(t) {
            return "function" != typeof l.createElement ? l.createElement(t) : b ? l.createElementNS.call(l, "http://www.w3.org/2000/svg", t) : l.createElement.apply(l, arguments)
        }

        function m(t, e, n, r) {
            var i, o, a, s = "modernizr",
                u = d("div"),
                c = ((a = l.body) || ((a = d(b ? "svg" : "body")).fake = !0), a);
            if (parseInt(n, 10))
                for (; n--;)(i = d("div")).id = r ? r[n] : s + (n + 1), u.appendChild(i);
            return (a = d("style")).type = "text/css", a.id = "s" + s, (c.fake ? c : u).appendChild(a), c.appendChild(u), a.styleSheet ? a.styleSheet.cssText = t : a.appendChild(l.createTextNode(t)), u.id = s, c.fake && (c.style.background = "", o = _.style.overflow, _.style.overflow = c.style.overflow = "hidden", _.appendChild(c)), t = e(u, t), c.fake ? (c.
parentNode.removeChild(c), _.style.overflow = o) : u.parentNode.removeChild(u), !!t
        }

        function u(t, e, n) {
            var r, i;
            
removeChild(t),!0})}function i(e){var t=getOwn(E.paths,e);if(t&&isArray(t)&&t.length>1)return t.shift(),x.require.undef(e),x.makeRequire(null,{skipMap:!0})([e]),!0}function o(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function a(e,t,r,i){var a,s,c,u,d=null,f=t?t.name:null,l=e,p=!0,h="";return e||(p=!1,e="_@r"+(P+=1)),u=o(e),d=u[0],e=u[1],d&&(d=n(d,f,i),s=getOwn(O,d)),e&&(d?h=r?e:s&&s.normalize?s.normalize(e,function(e){return n(e,f,i)}):-1===e.indexOf("!")?n(e,f,i):e:(h=n(e,f,i),u=o(h),d=u[0],h=u[1],r=!0,a=x.nameToUrl(h))),c=!d||s||r?"":"_unnormalized"+(N+=1),{prefix:d,name:h,parentMap:t,unnormalized:!!c,url:a,originalName:l,isDefine:p,id:(d?d+"!"+h:h)+c}}function s(e){var t=e.id,n=getOwn(k,t);return n||(n=k[t]=new x.Module(e)),n}function c(e,t,n){var r=e.id,i=getOwn(k,r);!hasProp(O,r)||i&&!i.defineEmitComplete?(i=s(e),i.error&&"error"===t?n(i.error):i.on(t,n)):"defined"===t&&n(O[r])}function u(e,t){var n=e.requireModules,r=!1;t?t(e):(each(n,function(t){var n=getOwn(k,t);n&&(n.error=e,n.events.error&&(r=!0,n.emit("error",e)))}),r||req.onError(e))}function d(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(x.defQueueMap[t]=!0),M.push(e)}),globalDefQueue=[])}function f(e){delete k[e],delete j[e]}function l(e,t,n){var r=e.map.id;e.error?e.emit("error",e.error):(t[r]=!0,each(e.depMaps,function(r,i){var o=r.id,a=getOwn(k,o);!a||e.depMatched[i]||n[o]||(getOwn(t,o)?(e.defineDep(i,O[o]),e.check()):l(a,t,n))}),n[r]=!0)}function p(){var e,t,n=1e3*E.waitSeconds,o=n&&x.startTime+n<(new Date).getTime(),a=[],s=[],c=!1,d=!0;if(!b){if(b=!0,eachProp(j,function(e){var n=e.map,u=n.id;if(e.enabled&&(n.isDefine||s.push(e),!e.error))if(!e.inited&&o)i(u)?(t=!0,c=!0):(a.push(u),r(u));else if(!e.inited&&e.fetched&&n.isDefine&&(c=!0,!n.prefix))return d=!1}),o&&a.length)return e=makeError("timeout","Load timeout for (i in t)
                if (t[i] in e) return !1 === n ? t[i] : (r = e[t[i]], s(r, "function") ? function(t, e) {
                    return function() {
                        return t.apply(e, arguments)
                    }
                }(r, n || e) : r);
            return !1
        }

        function g(t) {
            return t.replace(/([A-Z])/g, function(t, e) {
                return "-" + 
modules: "+a,null,a),e.contextName=x.contextName,u(e);d&&each(s,function(e){l(e,{},{})}),o&&!t||!c||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,p()},50)),b=!1}}function h(e){hasProp(O,e[0])||s(a(e[0],null,!0)).init(e[1],e[2])}function m(e,t,n,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(n,t,!1)}function g(e){var t=e.currentTarget||e.srcElement;return m(t,x.onScriptLoad,"load","onreadystatechange"),m(t,x.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function v(){var e;for(d();M.length;){if(e=M.shift(),null===e[0])return u(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));h(e)}x.defQueueMap={}}var b,y,x,q,w,E={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},k={},j={},S={},M=[],O={},_={},T={},P=1,N=1;return q={require:function(e){return e.toLowerCase()
            }).replace(/^ms-/, "-ms-")
        }

        function c(t, e, n, r) {
            function i() {
                a && (delete j.style, delete j.modElem)
            }
            if (r = void 0 !== r && r, void 0 !== n) {
                var o = function(t, e) {
                    var n = t.length;
                    if ("CSS" in p && "supports" in p.CSS) {
                        for (; n--;)
                            if (p.CSS.supports(g(t[n]), e)) return !0;
                        return !1
                    }
                    if ("CSSSupportsRule" in p) {
                        for (var r = []; n--;) r.push("(" + g(t[n]) + ":" + e + ")");
                        return m("@supports (" + (r = r.join(" or ")) + ") { #modernizr { position: absolute; } }", function(t) {
                            return "absolute" == getComputedStyle(t, null).position
                        })
                    }
                    return h
                }(t, n);
                if (void 0 !== o) return o
            }
            for (var a, s, u, c, l, f = ["modernizr", "tspan"]; !j.style;) a = !0, j.modElem = d(f.shift()), j.style = j.modElem.style;
            for (u = t.length, s = 0; s < u; s++)
                if (l = j.style[c = t[s]], ~("" + c).indexOf("-") && (c = c.replace(/([a-z])-([a-z])/g, function(t, e, n) {
                        return e + n.toUpperCase()
                    }).replace(/^-/, "")), j.style[c] !== h) {
                    if (r || void 0 === n) return i(), "pfx" != e || c;
                    try {
                        j.style[c] = n
                    } catch (t) {}
                    if (j.style[c] != l) return i(), "pfx" != e || c
                }
            return i(), !1
        }

        function r(t, e, n, r, i) {
            var o = t[0].toUpperCase() + t.slice(1),
                a = (t + " " + E.join(o + " ") + o).split(" ");
            return s(e, "string") || void 0 === e ? c(a, e, r, i) : u(a = (t + " " + x.join(o + " ") + o).split(" "), e, n)
        }

        function t(t, e, n) {
            return r(t, h, h, e, n)
        }
        var f = [],
            v = [],
            e = {
                _version: "3.1.0",
                _config: {
                    classPrefix: "",
                    enableClasses: !0,
                    enableJSClass: !0,
                    usePrefixes: !0
                },
                _q: [],
                on: function(t, e) {
                    var n = this;
                    setTimeout(function() {
                        e(n[t])
                    }, 0)
                },
                addTest: function(t, e, n) {
                    v.push({
                        name: t,
                        fn: e,
                        options: n
                    })
                },
                addAsyncTest: function(t) {
                    v.push({
                        name: null,
                        fn: t
                    })
                }
            },
            y = function() {};
        y.prototype = e, y = new y;
        var _ = l.documentElement,
            b = "svg" == _.nodeName.toLowerCase(),
            n = 
require?e.require:e.require=x.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)return e._config.usePrefixes ? " -webkit- -moz- -o- -ms- ".split(" ") : [];
        
exports?O[e.map.id]=e.exports:e.exports=O[e.map.id]={}},module:function(e){return e._prefixes = n;
        var i = 
module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(E.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},y=function(e){this.events=getOwn(S,e.id)||{},this.map=e,this.shim=getOwn(E.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},y.prototype={init:function(e,t,n,r){r=r||{},this.inited||(this.factory=t,n?this.on("error",n):this.events.error&&(n=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=n,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,x.startTime=(new Date).getTime();var e=this.map;if(!this.shim)return e.testStyles = m;
        y.addTest("touchevents", function() {
            var e, t;
            return "ontouchstart" in p || p.DocumentTouch && l instanceof DocumentTouch ? e = !0 : (t = "@media (" + n.join("touch-enabled),(") + "heartz){#modernizr{top:9px;position:absolute}}", i(t, function(t) {
                e = 9 === t.offsetTop
            })), e
        });
        var o = "Moz O ms Webkit",
            x = 
prefix?this.callPlugin():this.load();x.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e._config.usePrefixes ? o.toLowerCase().split(" ") : [];
        
prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;_[e]||(_[e]=!0,x.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,n=this.map.id,r=this.depExports,i=this.exports,o=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(o)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{i=x.execCb(n,o,r,i)}catch(t){e=t}else i=x.execCb(n,o,r,i);if(this.map.isDefine&&void 0===i&&(t=this.module,t?i=t.exports:this.usingExports&&(i=this.exports)),e)return e._domPrefixes = x;
        var E = e._config.usePrefixes ? o.split(" ") : [];
        e._cssomPrefixes = E;
        var a = {
            elem: d("modernizr")
        };
        y._q.push(function() {
            delete a.elem
        });
        var w, O, k, S, j = {
            style: a.elem.style
        };
        y._q.unshift(function() {
                delete j.style
            }), e.testAllProps = r, y.addTest("flexbox", (e.testAllProps = t)("flexBasis", "1px", !0)),
            function() {
                var t, e, n, r, i, o, a;
                for (a in v) {
                    if (t = [], (e = v[a]).name && (t.
requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",u(this.error=e)}else i=o;if(this.exports=i,this.map.isDefine&&!this.ignore&&(O[n]=i,req.onResourceLoad)){var a=[];each(this.depMaps,function(e){a.push(e.name.toLowerCase()), e.options && e.options.aliases && e.options.aliases.length))
                        
normalizedMap||e)}),req.onResourceLoad(x,this.map,a)}f(n),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(x.defQueueMap,n)||this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,r=a(e.prefix);this.depMaps.push(r),c(r,"defined",bind(this,function(r){var i,o,d,l=getOwn(T,this.map.id),p=this.map.name,h=this.map.parentMap?this.map.parentMap.name:null,m=x.makeRequire(e.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(r.normalize&&(p=r.normalize(p,function(e){return n(e,h,!0)})||""),o=a(e.prefix+"!"+p,this.map.parentMap,!0),c(o,"defined",bind(this,function(e){this.map.normalizedMap=o,this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),void((d=getOwn(k,o.id))&&(this.depMaps.push(o),this.events.error&&d.on("error",bind(this,function(e){this.emit("error",e)})),d.enable()))):l?(this.map.url=x.nameToUrl(l),void this.load()):(i=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})}),i.error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(k,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&f(e.map.id)}),u(e)}),i.fromText=bind(this,function(n,r){var o=e.name,c=a(o),d=useInteractive;r&&(n=r),d&&(useInteractive=!1),s(c),hasProp(E.config,t)&&(E.config[o]=E.config[t]);try{req.exec(n)}catch(e){return u(makeError("fromtexteval","fromText eval for (n = 0; n < e.options.aliases.length; n++) t.push(e.options.aliases[n].toLowerCase());
                    for (r = s(e.fn, "function") ? e.fn() : e.fn, i = 0; i < t.length; i++) 1 === (o = t[i].split(".")).length ? y[o[0]] = r : (!y[o[0]] || y[o[0]] instanceof Boolean || (y[o[0]] = new Boolean(y[o[0]])), y[o[0]][o[1]] = r), f.push((r ? "" : "no-") + o.join("-"))
                }
            }(), w = f, k = _.className, S = y._config.classPrefix || "", b && (k = k.baseVal), y._config.enableJSClass && (O = RegExp("(^|\\s)" + S + "no-js(\\s|$)"), k = k.replace(O, "$1" + S + "js$2")), y._config.enableClasses && (k += " " + S + w.join(" " + S), b ? _.className.baseVal = k : _.className = k), delete e.addTest, delete e.addAsyncTest;
        for (var T = 0; T < y._q.length; T++) y._q[T]();
        p.Modernizr = y
    }(window, document)
}, function(t, e, n) {
    e = function() {
        "use strict";
        return {
            calculate: function(t) {
                var e, n, r = 0;
                if (0 === t.length) return r;
                for (e = 0, n = t.length; e < n; e++) r = (r << 5) - r + t.charCodeAt(e), r |= 0;
                return r
            }
        }
    }.apply(e, []);
    void 0 === e || (t.exports = e)
}, function(t, e, n) {
    var n = [n(3)],
        n = function(r) {
            "use strict";
            return {
                generate: function(t) {
                    var e = (t = t || {}).Math || window.Math,
                        n = +("" + (new Date).getTime()).substring(3),
                        n = e.abs(n + ((n = (n = window.performance) && n.timing) ? 11 * (n.domainLookupEnd - n.domainLookupStart) + 13 * (n.connectEnd - n.connectStart) + 17 * (n.responseStart - n.navigationStart) : 1e5) - r.get()).toString(32);
                    return n += function(e) {
                        var t = (e = e || {}).Uint32Array || window.Uint32Array,
                            n = e.crypto || window.crypto,
                            e = e.Math || window.Math;
                        try {
                            var r = new t(1);
                            return n.getRandomValues(r), r[0]
                        } catch (t) {
                            return e.floor(1e9 * e.random())
                        }
                    }(t).toString(32)
                }
            }
        }.apply(e, n);
    void 0 === n || (t.exports = n)
}, function(t, e, n) {
    var u = n(1);
    t.exports = {
        wrapMethod: function(t, r, i) {
            var o, a = t[r],
                s = t;
            r in t && (o = "warn" === r ? "warning" : r, t[r] = function() {
                var t = [].slice.call(arguments),
                    e = u.safeJoin(t, " "),
                    n = {
                        level: o,
                        logger: "console",
                        extra: {
                            arguments: t
                        }
                    };
                "assert" === r ? !1 === t[0] && (e = "Assertion 
"+t+" failed: " + (u.safeJoin(t.slice(1), " ") || "console.assert"), "+e,e,[t]))}d&&(useInteractive=!0),this.depMaps.push(c),x.completeLoad(o),m([o],i)}),void r.load(e.name,m,i,E))})),x.enable(r,this),this.pluginMaps[r.id]=r},enable:function(){j[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var n,r,i;if("string"==typeof e){if(e=a(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,i=getOwn(q,e.id))return void(this.depExports[t]=i(this));this.depCount+=1,c(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?c(e,"error",bind(this,this.errback)):this.events.error&&c(e,"error",bind(this,function(e){this.emit("error",e)}))}n=e.id,r=k[n],hasProp(q,n)||!r||r.enabled||x.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(k,e.id);t&&!t.enabled&&x.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var n=this.events[e];n||(n=this.events[e]=[]),n.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},x={config:E,contextName:e,registry:k,defined:O,urlFetched:_,defQueue:M,defQueueMap:{},Module:y,makeModuleMap:a,nextTick:req.nextTick,onError:u,configure:function(e){if(e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/"),"string"==typeof e.urlArgs){var t=e.urlArgs;e.urlArgs=function(e,n){return(-1===n.indexOf("?")?"?":"&")+t}}var n=E.shim,r={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){r[t]?(E[t]||(E[t]={}),mixin(E[t],e,!0,!0)):E[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(T[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=x.makeShimExports(e)),n[t]=e}),E.shim=n),e.packages&&each(e.packages,function(e){var t,n;e="string"==typeof e?{name:e}:e,n=e.name,t=e.location,t&&(E.paths[n]=e.location),E.pkgs[n]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(k,function(e,t){e.inited||e.map.unnormalized||(e.map=a(t,null,!0))}),(e.deps||e.callback)&&x.require(e.deps||[],e.callback)},makeShimExports:function(e){function t(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}return t},makeRequire:function(t,i){function o(n,r,c){var d,f,l;return i.enableBuildCallback&&r&&isFunction(r)&&(r.__requireJsBuild=!0),"string"==typeof n?isFunction(r)?u(makeError("requireargs","Invalid require call"),c):t&&hasProp(q,n)?q[n](k[t.id]):req.get?req.get(x,n,t,o):(f=a(n,t,!1,!0),d=f.id,hasProp(O,d)?O[d]:u(makeError("notloaded",'Module name "'+d+'" has not been loaded yet for context: '+e+(t?"":". Use require([])")))):(v(),x.nextTick(function(){v(),l=s(a(null,t)),l.skipMap=i.skipMap,l.init(n,r,c,{enabled:!0}),p()}),o)}return i=i||{},mixin(o,{isBrowser:isBrowser,toUrl:function(e){var r,i=e.lastIndexOf("."),o=e.split("/")[0],a="."===o||".."===o;return-1!==i&&(!a||i>1)&&(r=e.substring(i,e.length),e=e.substring(0,i)),x.nameToUrl(n(e,t&&t.id,!0),r,!0)},defined:function(e){return hasProp(O,a(e,t,!1,!0).id)},specified:function(e){return e=a(e,t,!1,!0).id,hasProp(O,e)||hasProp(k,e)}}),t||(o.undef=function(e){d();var n=a(e,t,!0),i=getOwn(k,e);i.undefed=!0,r(e),delete O[e],delete _[n.url],delete S[e],eachReverse(M,function(t,n){t[0]===e&&M.splice(n,1)}),delete x.defQueueMap[e],i&&(i.events.defined&&(S[e]=i.events),f(e))}),o},enable:function(e){getOwn(k,e.id)&&s(e).enable()},completeLoad:function(e){var t,n,r,o=getOwn(E.shim,e)||{},a=o.exports;for(d();M.length;){if(n=M.shift(),null===n[0]){if(n[0]=e,t)break;t=!0}else n[0]===e&&(t=!0);h(n)}if(x.defQueueMap={},r=getOwn(k,e),!t&&!hasProp(O,e)&&r&&!r.inited){if(!(!E.enforceDefine||a&&getGlobal(a)))return i(e)?void 0:u(makeError("nodefine","No define call for "+e,null,[e]));h([e,o.deps||[],o.exportsFn])}p()},nameToUrl:function(e,t,n){var r,i,o,a,s,c,u,d=getOwn(E.pkgs,e);if(d&&(e=d),u=getOwn(T,e))return x.nameToUrl(u,t,n);if(req.jsExtRegExp.test(e))s=e+(t||"");else{for(r=E.paths,i=e.split("/"),o=i.length;o>0;o-=1)if(a=i.slice(0,o).join("/"),c=getOwn(r,a)){isArray(c)&&(c=c[0]),i.splice(0,o,c);break}s=i.join("/"),s+=t||(/^data\:|^blob\:|\?/.test(s)||n?"":".js"),s=("/"===s.charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":E.baseUrl)+s}return E.urlArgs&&!/^blob\:/.test(s)?s+E.urlArgs(e,s):s},load:function(e,t){req.load(x,e,t)},execCb:function(e,t,n,r){return t.apply(r,n)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=g(e);x.completeLoad(t.id)}},onScriptError:function(e){var t=g(e);if(!i(t.id)){var n=[];return eachProp(k,function(e,r){0!==r.indexOf("_@r")&&each(e.depMaps,function(e){if(e.id===t.id)return n.extra.arguments = push(r),!0})}),u(makeError("scripterror",'Script error for "'+t.id+(n.length?'", needed by: '+n.join(", "):'"'),e,[t.id]))}}},x.require=x.makeRequire(),x}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.3",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&""+opera=="[object Opera]",contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if(void 0===define){if(void 0!==requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}void 0===require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,n,r){var i,o,a=defContextName;return isArray(e)||"string"==typeof e||(o=e,isArray(t)?(e=t,t=n,n=r):e=[]),o&&o.context&&(a=o.context),i=getOwn(contexts,a),i||(i=contexts[a]=req.s.newContext(a)),o&&i.configure(o),i.require(e,t,n)},req.config=function(e){return req(e)},req.nextTick=void 0!==setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.slice(1), i && i(e, n)) : i && i(e, n), require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],(baseElement=document.getElementsByTagName("base")[0])&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,n){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,n){var r,i=e&&e.config||{};if(isBrowser)return r=req.createNode(i,t,n),r.setAttribute("data-requirecontext",e.contextName),r.setAttribute("data-requiremodule",t),!r.attachEvent||r.attachEvent.toString&&(""+r.attachEvent).indexOf("[native code")<0||isOpera?(r.addEventListener("load",e.onScriptLoad,!1),r.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,r.attachEvent("onreadystatechange",e.onScriptLoad)),r.src=n,i.onNodeCreated&&i.onNodeCreated(r,i,t,n),currentlyAddingScript=r,baseElement?head.insertBefore(r,baseElement):head.appendChild(r),currentlyAddingScript=null,r;if(isWebWorker)try{setTimeout(function(){},0),importScripts(n),e.completeLoad(t)}catch(r){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+n,r,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||-1!==mainScript.indexOf("!")||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,n){var r,i;"string"!=typeof e&&(n=t,t=e,e=null),isArray(t)||(n=t,t=null),!t&&isFunction(n)&&(t=[],n.length&&((""+n).replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(e,n){t.push(n)}),t=(1===n.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript())&&(e||(e=r.getAttribute("data-requiremodule")),i=contexts[r.getAttribute("data-requirecontext")]),i?(i.defQueue.push([e,t,n]),i.defQueueMap[e]=!0):globalDefQueue.push([e,t,n])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this,"undefined"==typeof setTimeout?void 0:setTimeout),function(e,t,n){t[e]=t[e]||n(),"undefined"!=typeof module&&module.exports?module.exports=t[e]:"function"==typeof define&&define.amd&&define("../node_modules/native-promise-only/lib/npo.src",[],function(){return t[e]})}("Promise","undefined"!=typeof global?global:this,function(){"use strict";function e(e,t){l.add(e,t),f||(f=h(l.drain))}function t(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}function n(){for(var e=0;e<this.chain.length;e++)r(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function r(e,n,r){var i,o;try{!1===n?r.reject(e.msg):(i=!0===n?e.msg:n.call(void 0,e.msg),i===r.promise?r.reject(TypeError("Promise-chain cycle")):(o=t(i))?o.call(i,r.resolve,r.reject):r.resolve(i))}catch(e){r.reject(e)}}function i(r){var a,c=this;if(!c.triggered){c.triggered=!0,c.def&&(c=c.def);try{(a=t(r))?e(function(){var e=new s(c);try{a.call(r,function(){i.apply(e,arguments)},function(){o.apply(e,arguments)})}catch(t){o.call(e,t)}}):(c.msg=r,c.state=1,c.chain.length>0&&e(n,c))}catch(e){o.call(new s(c),e)}}}function o(t){var r=this;r.triggered||(r.triggered=!0,r.def&&(r=r.def),r.msg=t,r.state=2,r.chain.length>0&&e(n,r))}function a(e,t,n,r){for(var i=0;i<t.length;i++)!function(i){e.resolve(t[i]).then(function(e){n(i,e)},r)}(i)}function s(e){this.def=e,this.triggered=!1}function c(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function u(t){if("function"!=typeof t)throw TypeError("Not && Function.function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var r=new c(this);this.then=function(t,i){var o={success:"function"!=typeof t||t,failure:"function"==typeof i&&i};return o.promise=new this.constructor(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");o.resolve=e,o.reject=t}),r.chain.push(o),0!==r.state&&e(n,r),o.promise},this.catch=function(e){return this.then(void 0,e)};try{t.call(void 0,function(e){i.call(r,e)},function(e){o.call(r,e)})}catch(e){o.call(r,e)}}var d,f,l,p=Object.prototype.apply.call(a, s, t)
            })
        }
    }
}, function(t, e) {
    function n(t) {
        this.name = "RavenConfigError", this.message = t
    }
    t.exports = (n.prototype = Error()).constructor = n
}, function(t, e) {
    function f(t, e) {
        var n = (65535 & t) + (65535 & e);
        return (t >> 16) + (e >> 16) + (n >> 16) << 16 | 65535 & n
    }

    function s(t, e, n, r, i, o) {
        return f((o = f(f(e, t), f(r, o))) << (i = i) | o >>> 32 - i, n)
    }

    function p(t, e, n, r, i, o, a) {
        return s(e & n | ~e & r, t, e, i, o, a)
    }

    function h(t, e, n, r, i, o, a) {
        return s(e & r | n & ~r, t, e, i, o, a)
    }

    function d(t, e, n, r, i, o, a) {
        return s(e ^ n ^ r, t, e, i, o, a)
    }

    function m(t, e, n, r, i, o, a) {
        return s(n ^ (e | ~r), t, e, i, o, a)
    }

    function a(t, e) {
        var n, r, i, o;
        t[e >> 5] |= 128 << e % 32, t[14 + (e + 64 >>> 9 << 4)] = e;
        for (var 
toString,h="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),d=function(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==r})}}catch(e){d=function(e,t,n){return e[t]=n,e}}l=function(){function e(e,t){this.fn=e,this.self=t,this.next=void 0}var t,n,r;return{add:function(i,o){r=new e(i,o),n?n.next=r:t=r,n=r,r=void 0},drain:function(){var e=t;for(t=n=f=void 0;e;)e.fn.call(e.self),e=e.next}}}();var m=d({},"constructor",u,!1);return u.prototype=m,d(m,"__NPO__",0,!1),d(u,"resolve",function(e){var t=this;return e&&"object"==typeof e&&1===e.__NPO__?e:new t(function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not = 1732584193, s = -271733879, u = -1732584194, c = 271733878, l = 0; l < t.length; l += 16) function");t(e)})}),d(u,"reject",function(e){return new this(function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not = p(n = a, r = s, i = u, o = c, t[l], 7, -680876936), c = p(c, a, s, u, t[l + 1], 12, -389564586), u = p(u, c, a, s, t[l + 2], 17, 606105819), s = p(s, u, c, a, t[l + 3], 22, -1044525330), function");n(e)})}),d(u,"all",function(e){var t=this;return"[object Array]"!=p.call(e)?t.reject(TypeError("Not an array")):0===e.length?t.resolve([]):new t(function(n,r){if("function"!=typeof n||"function"!=typeof r)throw TypeError("Not = p(a, s, u, c, t[l + 4], 7, -176418897), c = p(c, a, s, u, t[l + 5], 12, 1200080426), u = p(u, c, a, s, t[l + 6], 17, -1473231341), s = p(s, u, c, a, t[l + 7], 22, -45705983), function");var i=e.length,o=Array(i),s=0;a(t,e,function(e,t){o[e]=t,++s===i&&n(o)},r)})}),d(u,"race",function(e){var t=this;return"[object Array]"!=p.call(e)?t.reject(TypeError("Not an array")):new t(function(n,r){if("function"!=typeof n||"function"!=typeof r)throw TypeError("Not = p(a, s, u, c, t[l + 8], 7, 1770035416), c = p(c, a, s, u, t[l + 9], 12, -1958414417), u = p(u, c, a, s, t[l + 10], 17, -42063), s = p(s, u, c, a, t[l + 11], 22, -1990404162), a = p(a, s, u, c, t[l + 12], 7, 1804603682), c = p(c, a, s, u, t[l + 13], 12, -40341101), u = p(u, c, a, s, t[l + 14], 17, -1502002290), a = h(a, s = p(s, u, c, a, t[l + 15], 22, 1236535329), u, c, t[l + 1], 5, -165796510), c = h(c, a, s, u, t[l + 6], 9, -1069501632), u = h(u, c, a, s, t[l + 11], 14, 643717713), s = h(s, u, c, a, t[l], 20, -373897302), a = h(a, s, u, c, t[l + 5], 5, -701558691), c = h(c, a, s, u, t[l + 10], 9, 38016083), u = h(u, c, a, s, t[l + 15], 14, -660478335), s = h(s, u, c, a, t[l + 4], 20, -405537848), a = h(a, s, u, c, t[l + 9], 5, 568446438), c = h(c, a, s, u, t[l + 14], 9, -1019803690), u = h(u, c, a, s, t[l + 3], 14, -187363961), s = h(s, u, c, a, t[l + 8], 20, 1163531501), a = h(a, s, u, c, t[l + 13], 5, -1444681467), c = h(c, a, s, u, t[l + 2], 9, -51403784), u = h(u, c, a, s, t[l + 7], 14, 1735328473), a = d(a, s = h(s, u, c, a, t[l + 12], 20, -1926607734), u, c, t[l + 5], 4, -378558), c = d(c, a, s, u, t[l + 8], 11, -2022574463), u = d(u, c, a, s, t[l + 11], 16, 1839030562), s = d(s, u, c, a, t[l + 14], 23, -35309556), a = d(a, s, u, c, t[l + 1], 4, -1530992060), c = d(c, a, s, u, t[l + 4], 11, 1272893353), u = d(u, c, a, s, t[l + 7], 16, -155497632), s = d(s, u, c, a, t[l + 10], 23, -1094730640), a = d(a, s, u, c, t[l + 13], 4, 681279174), c = d(c, a, s, u, t[l], 11, -358537222), u = d(u, c, a, s, t[l + 3], 16, -722521979), s = d(s, u, c, a, t[l + 6], 23, 76029189), a = d(a, s, u, c, t[l + 9], 4, -640364487), c = d(c, a, s, u, t[l + 12], 11, -421815835), u = d(u, c, a, s, t[l + 15], 16, 530742520), a = m(a, s = d(s, u, c, a, t[l + 2], 23, -995338651), u, c, t[l], 6, -198630844), c = m(c, a, s, u, t[l + 7], 10, 1126891415), u = m(u, c, a, s, t[l + 14], 15, -1416354905), s = m(s, u, c, a, t[l + 5], 21, -57434055), a = m(a, s, u, c, t[l + 12], 6, 1700485571), c = m(c, a, s, u, t[l + 3], 10, -1894986606), u = m(u, c, a, s, t[l + 10], 15, -1051523), s = m(s, u, c, a, t[l + 1], 21, -2054922799), a = m(a, s, u, c, t[l + 8], 6, 1873313359), c = m(c, a, s, u, t[l + 15], 10, -30611744), u = m(u, c, a, s, t[l + 6], 15, -1560198380), s = m(s, u, c, a, t[l + 13], 21, 1309151649), a = m(a, s, u, c, t[l + 4], 6, -145523070), c = m(c, a, s, u, t[l + 11], 10, -1120210379), u = m(u, c, a, s, t[l + 2], 15, 718787259), s = m(s, u, c, a, t[l + 9], 21, -343485551), a = f(a, n), s = f(s, r), u = f(u, i), c = f(c, o);
        return [a, s, u, c]
    }

    function u(t) {
        for (var e = "", n = 32 * t.length, r = 0; r < n; r += 8) e += String.fromCharCode(t[r >> 5] >>> r % 32 & 255);
        return e
    }

    function c(t) {
        var e = [];
        for (e[(t.length >> 2) - 1] = void 0, r = 0; r < e.length; r += 1) e[r] = 0;
        for (var n = 8 * t.length, r = 0; r < n; r += 8) e[r >> 5] |= (255 & t.charCodeAt(r / 8)) << r % 32;
        return e
    }

    function r(t) {
        for (var e, n = "0123456789abcdef", r = "", i = 0; i < t.length; i += 1) r += n[0 | (e = t.charCodeAt(i)) >>> 4 & 15] + n[0 | 15 & e];
        return r
    }

    function n(t) {
        return unescape(encodeURIComponent(t))
    }

    function i(t) {
        return u(a(c(t = n(t)), 8 * t.length))
    }

    function o(t, e) {
        return function(t, e) {
            var n, r = c(t),
                i = [],
                o = [];
            for (i[15] = o[15] = void 0, 16 < r.length && (r = a(r, 8 * t.length)), n = 0; n < 16; n += 1) i[n] = 909522486 ^ r[n], o[n] = 1549556828 ^ r[n];
            return e = a(i.concat(c(e)), 512 + 8 * e.length), u(a(o.concat(e), 640))
        }(n(t), n(e))
    }
    t.exports = function(t, e, n) {
        return e ? n ? o(e, t) : r(o(e, t)) : n ? i(t) : r(i(t))
    }
}, function(t, e, n) {
    function h() {
        return "undefined" == typeof document || null == document.location ? "" : document.
function");a(t,e,function(e,t){n(t)},r)})}),u}),require.config({waitSeconds:0,paths:{jquery:"../../../node_modules/jquery/dist/jquery",modernizr:"lib/modernizr-custom",backbone:"../../../node_modules/backbone/backbone","backbone-marionette":"../../../node_modules/backbone.marionette/lib/core/amd/backbone.marionette","backbone.wreqr":"../../../node_modules/backbone.wreqr/lib/backbone.wreqr","backbone.babysitter":"../../../node_modules/backbone.babysitter/lib/backbone.babysitter",underscore:"../../../node_modules/underscore/underscore",react:"../../../node_modules/react/dist/react","prop-types":"../../../node_modules/prop-types/prop-types","react-dom":"../../../node_modules/react-dom/dist/react-dom","react-redux":"../../../node_modules/react-redux/dist/react-redux",redux:"../../../node_modules/redux/dist/redux",handlebars:"../../../node_modules/handlebars/dist/handlebars.runtime","jquery.slick":"../../../node_modules/slick-carousel/slick/slick",loglevel:"../../../node_modules/loglevel/dist/loglevel",moment:"../../../node_modules/moment/moment",raven:"../../../node_modules/raven-js/dist/raven.min",dompurify:"../../../node_modules/dompurify/dist/purify","jquery.trunk8":"vendor/jquery/jquery.trunk8","jquery.fitvids":"vendor/jquery/jquery.fitvids",bootstrap:"../../../node_modules/bootstrap/js",core:"../../../next-core/core","core/config":"core/config","core/templates":"templates/next-core","core/views/react":"core/views/react","disqus.sdk":"https://c.disquscdn.com/next/current/embed/sdk","remote/config":"https://disqus.com/next/config",translations:"empty:",home:"."},packages:[{name:"stance",location:"../../../next-core/core/stance"}],shim:{modernizr:{exports:"Modernizr"},underscore:{exports:"_"},handlebars:{exports:"Handlebars"},"jquery.trunk8":{deps:["jquery"]},"jquery.fitvids":{deps:["jquery"]},"remote/config":{exports:"DISQUS.config"},"bootstrap/dropdown":{deps:["jquery"]},"bootstrap/tooltip":{deps:["jquery"]},"bootstrap/modal":{deps:["jquery"]},"bootstrap/collapse":{deps:["jquery"]}}}),function(){"use strict";window.IS_DEV=!1;var e=window.document,t=e.location.href
    }

    function c(t, e) {
        var n = null;
        if (!e || b.collectWindowErrors) {
            for (var r in u)
                if (u.hasOwnProperty(r)) try {
                    u[r].apply(null, [t].concat(E.call(arguments, 2)))
                } catch (t) {
                    n = t
                }
                if (n) throw n
        }
    }

    function r(t, e, n, r, i) {
        var o, a, s = _.isErrorEvent(i) ? i.error : i,
            u = _.isErrorEvent(t) ? t.message : t;
        return y ? (b.computeStackTrace.augmentStackTraceWithInitialElement(y, e, n, u), l()) : s && _.isError(s) ? c(b.computeStackTrace(s), !0) : (o = {
            url: e,
            line: n,
            column: r
        }, s = void 0, "[object String]" === {}.toString.call(u) && (a = u.match(w)) && (s = a[1], u = a[2]), o.func = "?", c({
            name: s,
            message: u,
            url: h(),
            stack: [o]
        }, !0)), !!m && m.apply(this, arguments)
    }

    function l() {
        var t = y,
            e = g;
        c.apply(v = y = g = null, [t, !1].concat(e))
    }

    function i(t, e) {
        var n = E.call(arguments, 1);
        if (y) {
            if (v === t) return;
            l()
        }
        var r = b.computeStackTrace(t);
        if (v = t, g = n, setTimeout(function() {
                v === t && l()
            }, (y = r).incomplete ? 2e3 : 0), !1 !== e) throw t
    }

    function o(t) {
        if (void 0 !== t.stack && t.stack) {
            for (var e, n, r = /^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i, i = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx(?:-web)|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i, o = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i, a = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, s = /\((\S*)(?::(\d+))(?::(\d+))\)/, u = t.stack.split("\n"), c = [], l = 0, f = u.length; l < f; ++l) {
                if (n = r.exec(u[l])) {
                    var p = n[2] && 0 == n[2].indexOf("native");
                    n[2] && 0 == n[2].indexOf("eval") && (e = s.exec(n[2])) && (n[2] = e[1], n[3] = e[2], n[4] = e[3]), p = {
                        url: p ? null : n[2],
                        func: n[1] || "?",
                        args: p ? [n[2]] : [],
                        line: n[3] ? +n[3] : null,
                        column: n[4] ? +n[4] : null
                    }
                } else if (n = i.exec(u[l])) p = {
                    url: n[2],
                    func: n[1] || "?",
                    args: [],
                    line: +n[3],
                    column: n[4] ? +n[4] : null
                };
                else {
                    if (!(n = o.exec(u[l]))) continue;
                    n[3] && !!~n[3].indexOf(" > eval") && (e = a.exec(n[3])) ? (n[3] = e[1], n[4] = e[2], n[5] = null) : 0 !== l || n[5] || void 0 === t.columnNumber || (c[0].column = t.columnNumber + 1), p = {
                        url: n[3],
                        func: n[1] || "?",
                        args: n[2] ? n[2].split(",") : [],
                        line: n[4] ? +n[4] : null,
                        column: n[5] ? +n[5] : null
                    }
                }!p.func && p.line && (p.func = "?"), p.url && "blob:" == p.url.substr(0, 5) && ((n = new XMLHttpRequest).open("GET", p.url, !1), n.send(null), 200 !== n.status || (n = (n.responseText || "").slice(-300).match(/\/\/# sourceMappingURL=(.*)$/)) && ("~" == (n = n[1])[0] && (n = ("undefined" == typeof document || null == document.location ? "" : document.location.origin || document.location.protocol + "//" + document.location.hostname + (document.location.port ? ":" + document.location.port : "")) + n.slice(1)), p.url = n.slice(0, -4))), c.push(p)
            }
            return c.length ? {
                name: t.name,
                message: t.message,
                url: h(),
                stack: c
            } : null
        }
    }

    function f(t, e, n, r) {
        n = {
            url: e,
            line: n
        };
        if (n.url && n.line) {
            if (t.incomplete = !1, n.func || (n.func = "?"), 0 < t.stack.length && t.stack[0].url === n.url) {
                if (t.stack[0].line === n.line) return !1;
                if (!t.stack[0].line && t.stack[0].func === n.func) return t.stack[0].line = n.line, !1
            }
            return t.stack.unshift(n), t.partial = !0
        }
        return !(t.incomplete = !0)
    }

    function p(t, e) {
        for (var n, r, i = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i, o = [], a = {}, s = !1, u = p.caller; u && !s; u = u.caller)
            if (u !== d && u !== b.report) {
                if (r = {
                        url: null,
                        func: "?",
                        line: null,
                        column: null
                    }, u.name ? r.func = u.name : (n = i.exec("" + u)) && (r.func = n[1]), void 0 === r.func) try {
                    r.func = n.input.substring(0, n.input.indexOf("{"))
                } catch (t) {}
                a["" + u] ? s = !0 : a["" + u] = !0, o.push(r)
            }
        e && o.splice(0, e);
        e = {
            name: t.name,
            message: t.message,
            url: h(),
            stack: o
        };
        return f(e, t.sourceURL || t.fileName, t.line || t.lineNumber), e
    }

    function d(t, e) {
        var n = null;
        e = null == e ? 0 : +e;
        try {
            if (n = o(t)) return n
        } catch (t) {
            if (b.debug) throw t
        }
        try {
            if (n = p(t, e + 1)) return n
        } catch (t) {
            if (b.debug) throw t
        }
        return {
            name: t.name,
            message: t.message,
            url: h()
        }
    }
    var a, m, s, u, g, v, y, _, b, x, E, w;
    a = n(0), _ = n(1), b = {
        collectWindowErrors: !0,
        debug: !1
    }, x = "undefined" != typeof window ? window : void 0 !== a ? a : "undefined" != typeof self ? self : {}, E = [].slice, w = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/, b.report = (u = [], y = v = g = null, i.subscribe = function(t) {
        ! function() {
            if (s) return;
            m = x.onerror, x.onerror = r, s = !0
        }(), u.push(t)
    }, i.unsubscribe = function(t) {
        for (var e = u.length - 1; 0 <= e; --e) u[e] === t && u.splice(e, 1)
    }, i.uninstall = function() {
        ! function() {
            if (!s) return;
            x.onerror = m, s = !1, m = void 0
        }(), u = []
    }, i), b.computeStackTrace = (d.augmentStackTraceWithInitialElement = f, d.computeStackTraceFromStackProp = o, d), t.exports = b
}, function(t, e, n) {
    function i() {
        return +new Date
    }

    function r(e, n) {
        return _(n) ? function(t) {
            return n(t, e)
        } : n
    }

    function o() {
        for (var t in this._hasJSON = !("object" != typeof JSON || !JSON.stringify), this._hasDocument = !y($), this._hasNavigator = !y(J), this._lastCapturedException = null, this._lastData = null, this._lastEventId = null, this._globalServer = null, this._globalKey = null, this._globalProject = null, this._globalContext = {}, this._globalOptions = {
                release: K.SENTRY_RELEASE && K.SENTRY_RELEASE.id,
                logger: "javascript",
                ignoreErrors: [],
                ignoreUrls: [],
                whitelistUrls: [],
                includePaths: [],
                headers: null,
                collectWindowErrors: !0,
                captureUnhandledRejections: !0,
                maxMessageLength: 0,
                maxUrlLength: 250,
                stackTraceLimit: 50,
                autoBreadcrumbs: !0,
                instrument: !0,
                sampleRate: 1,
                sanitizeKeys: []
            }, this._fetchDefaults = {
                method: "POST",
                referrerPolicy: D() ? "origin" : ""
            }, this._ignoreOnError = 0, this._isRavenInstalled = !1, this._originalErrorStackTraceLimit = Error.stackTraceLimit, this._originalConsole = K.console || {}, this._originalConsoleMethods = {}, this._plugins = [], this._startTime = i(), this._wrappedBuiltIns = [], this._breadcrumbs = [], this._lastCapturedEvent = null, this._location = K.location, this._lastHref = this._location && this._location.href, this._resetBackoff(), this._originalConsole) this._originalConsoleMethods[t] = this._originalConsole[t]
    }
    var a, s, u, c, l, f, p, h, d, m, g, v, y, _, b, x, E, w, O, k, S, j, T, C, R, I, M, P, N, A, F, D, L, B, U, q, H, z, K, $, J;
    a = n(0), s = n(18), u = n(4), c = n(17), l = n(16), f = n(1), p = f.isErrorEvent, h = f.isDOMError, d = f.isDOMException, m = f.isError, g = f.isObject, v = f.isPlainObject, y = f.isUndefined, _ = f.isFunction, b = f.isString, x = f.isArray, E = f.isEmptyObject, w = f.each, O = f.objectMerge, k = f.truncate, S = f.objectFrozen, j = f.hasKey, T = f.joinRegExp, C = f.urlencode, R = f.uuid4, I = f.htmlTreeAsString, M = f.isSameException, P = f.isSameStacktrace, N = f.parseUrl, A = f.fill, F = f.supportsFetch, D = f.supportsReferrerPolicy, L = f.serializeKeysForMessage, B = f.serializeException, U = f.sanitize, q = n(15).wrapMethod, H = "source protocol user pass host port path".split(" "), K = "undefined" != typeof window ? window : void 0 !== a ? a : "undefined" != typeof self ? self : {}, $ = K.document, J = K.navigator, (o.prototype = {
        VERSION: "3.27.0",
        debug: !(z = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/),
        TraceKit: s,
        config: function(t, e) {
            var n = this;
            if (n._globalServer) return this._logDebug("error", "Error: Raven has already been configured"), n;
            if (!t) return n;
            var r = n._globalOptions;
            e && w(e, function(t, e) {
                "tags" === t || "extra" === t || "user" === t ? n._globalContext[t] = e : r[t] = e
            }), n.setDSN(t), r.ignoreErrors.push(/^Script error\.?$/), r.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/), r.ignoreErrors = T(r.ignoreErrors), r.ignoreUrls = !!r.ignoreUrls.length && T(r.ignoreUrls), r.whitelistUrls = !!r.whitelistUrls.length && T(r.whitelistUrls), r.includePaths = T(r.includePaths), r.maxBreadcrumbs = Math.max(0, Math.min(r.maxBreadcrumbs || 100, 100));
            e = {
                xhr: !0,
                console: !0,
                dom: !0,
                location: !0,
                sentry: !0
            }, t = r.autoBreadcrumbs;
            "[object Object]" === {}.toString.call(t) ? t = O(e, t) : !1 !== t && (t = e), r.autoBreadcrumbs = t;
            e = {
                tryCatch: !0
            }, t = r.instrument;
            return "[object Object]" === {}.toString.call(t) ? t = O(e, t) : !1 !== t && (t = e), r.instrument = t, s.collectWindowErrors = !!r.collectWindowErrors, n
        },
        install: function() {
            var t = this;
            return t.isSetup() && !t._isRavenInstalled && (s.report.subscribe(function() {
                t._handleOnErrorStackInfo.apply(t, arguments)
            }), t._globalOptions.captureUnhandledRejections && t._attachPromiseRejectionHandler(), t._patchFunctionToString(), t._globalOptions.instrument && t._globalOptions.instrument.tryCatch && t._instrumentTryCatch(), t._globalOptions.autoBreadcrumbs && t._instrumentBreadcrumbs(), t._drainPlugins(), t._isRavenInstalled = !0), Error.stackTraceLimit = t._globalOptions.stackTraceLimit, this
        },
        setDSN: function(t) {
            var e = this,
                n = e._parseDSN(t),
                r = n.path.lastIndexOf("/"),
                i = n.path.substr(1, r);
            e._dsn = t, e._globalKey = n.user, e._globalSecret = n.pass && n.pass.substr(1), e._globalProject = n.path.substr(1 + r), e._globalServer = e._getGlobalServer(n), e._globalEndpoint = e._globalServer + "/" + i + "api/" + e._globalProject + "/store/", this._resetBackoff()
        },
        context: function(t, e, n) {
            return _(t) && (n = e || [], e = t, t = {}), this.wrap(t, e).apply(this, n)
        },
        wrap: function(r, i, o) {
            var t, a = this;
            if (y(i) && !_(r)) return r;
            if (_(r) && (i = r, r = void 0), !_(i)) return i;
            try {
                if (i.__raven__) return i;
                if (i.__raven_wrapper__) return i.__raven_wrapper__
            } catch (t) {
                return i
            }

            function e() {
                var t = [],
                    e = arguments.length,
                    n = !r || r && !1 !== r.deep;
                for (o && _(o) && o.apply(this, arguments); e--;) t[e] = n ? a.wrap(r, arguments[e]) : arguments[e];
                try {
                    return i.apply(this, t)
                } catch (t) {
                    throw a._ignoreNextOnError(), a.captureException(t, r), t
                }
            }
            for (t in i) j(i, t) && (e[t] = i[t]);
            return e.prototype = i.prototype, (i.__raven_wrapper__ = e).__raven__ = !0, e.__orig__ = i, e
        },
        uninstall: function() {
            return s.report.uninstall(), this._detachPromiseRejectionHandler(), this._unpatchFunctionToString(), this._restoreBuiltIns(), this._restoreConsole(), Error.stackTraceLimit = this._originalErrorStackTraceLimit, this._isRavenInstalled = !1, this
        },
        _promiseRejectionHandler: function(t) {
            this._logDebug("debug", "Raven caught unhandled promise rejection:", t), this.captureException(t.reason, {
                mechanism: {
                    type: "onunhandledrejection",
                    handled: !1
                }
            })
        },
        _attachPromiseRejectionHandler: function() {
            return this._promiseRejectionHandler = this._promiseRejectionHandler.bind(this), K.addEventListener && K.addEventListener("unhandledrejection", this._promiseRejectionHandler), this
        },
        _detachPromiseRejectionHandler: function() {
            return K.removeEventListener && K.removeEventListener("unhandledrejection", this._promiseRejectionHandler), this
        },
        captureException: function(e, t) {
            if (t = O({
                    trimHeadFrames: 0
                }, t || {}), p(e) && e.error) e = e.error;
            else {
                if (h(e) || d(e)) {
                    var n = e.name || (h(e) ? "DOMError" : "DOMException");
                    return this.captureMessage(e.message ? n + ": " + e.message : n, O(t, {
                        stacktrace: !0,
                        trimHeadFrames: t.trimHeadFrames + 1
                    }))
                }
                if (!m(e)) {
                    if (!v(e)) return this.captureMessage(e, O(t, {
                        stacktrace: !0,
                        trimHeadFrames: t.trimHeadFrames + 1
                    }));
                    t = this._getCaptureExceptionOptionsFromPlainObject(t, e), e = Error(t.message)
                }
            }
            this._lastCapturedException = e;
            try {
                var r = s.computeStackTrace(e);
                this._handleStackInfo(r, t)
            } catch (t) {
                if (e !== t) throw t
            }
            return this
        },
        _getCaptureExceptionOptionsFromPlainObject: function(t, e) {
            var n = Object.keys(e).sort(),
                t = O(t, {
                    message: "Non-Error exception captured with keys: " + L(n),
                    fingerprint: [c(n)],
                    extra: t.extra || {}
                });
            return t.extra.__serialized__ = B(e), t
        },
        captureMessage: function(t, e) {
            if (!this._globalOptions.ignoreErrors.test || !this._globalOptions.ignoreErrors.test(t)) {
                var n = O({
                    message: t += ""
                }, e = e || {});
                try {
                    throw Error(t)
                } catch (t) {
                    i = t
                }
                i.name = null;
                var r = s.computeStackTrace(i),
                    i = x(r.stack) && r.stack[1];
                i && "Raven.captureException" === i.func && (i = r.stack[2]);
                i = i && i.url || "";
                if (!this._globalOptions.ignoreUrls.test || !this._globalOptions.ignoreUrls.test(i))
                    if (!this._globalOptions.whitelistUrls.test || this._globalOptions.whitelistUrls.test(i)) return (this._globalOptions.stacktrace || e.stacktrace || "" === n.message) && (n.fingerprint = null == n.fingerprint ? t : n.fingerprint, (e = O({
                        trimHeadFrames: 0
                    }, e)).trimHeadFrames += 1, e = this._prepareFrames(r, e), n.stacktrace = {
                        frames: e.reverse()
                    }), n.fingerprint && (n.fingerprint = x(n.fingerprint) ? n.fingerprint : [n.fingerprint]), this._send(n), this
            }
        },
        captureBreadcrumb: function(t) {
            var e = O({
                timestamp: i() / 1e3
            }, t);
            if (_(this._globalOptions.breadcrumbCallback)) {
                t = this._globalOptions.breadcrumbCallback(e);
                if (g(t) && !E(t)) e = t;
                else if (!1 === t) return this
            }
            return this._breadcrumbs.push(e), this._globalOptions.maxBreadcrumbs < this._breadcrumbs.length && this._breadcrumbs.shift(), this
        },
        addPlugin: function(t) {
            var e = [].slice.call(arguments, 1);
            return this._plugins.push([t, e]), this._isRavenInstalled && this._drainPlugins(), this
        },
        setUserContext: function(t) {
            return this._globalContext.user = t, this
        },
        setExtraContext: function(t) {
            return this._mergeContext("extra", t), this
        },
        setTagsContext: function(t) {
            return this._mergeContext("tags", t), this
        },
        clearContext: function() {
            return this._globalContext = {}, this
        },
        getContext: function() {
            return JSON.parse(u(this._globalContext))
        },
        setEnvironment: function(t) {
            return this._globalOptions.environment = t, this
        },
        setRelease: function(t) {
            return this._globalOptions.release = t, this
        },
        setDataCallback: function(t) {
            return this._globalOptions.dataCallback = r(this._globalOptions.dataCallback, t), this
        },
        setBreadcrumbCallback: function(t) {
            return this._globalOptions.breadcrumbCallback = r(this._globalOptions.breadcrumbCallback, t), this
        },
        setShouldSendCallback: function(t) {
            return this._globalOptions.shouldSendCallback = r(this._globalOptions.shouldSendCallback, t), this
        },
        setTransport: function(t) {
            return this._globalOptions.transport = t, this
        },
        lastException: function() {
            return this._lastCapturedException
        },
        lastEventId: function() {
            return this._lastEventId
        },
        isSetup: function() {
            return !!this._hasJSON && (!!this._globalServer || (this.ravenNotConfiguredError || (this.ravenNotConfiguredError = !0, this._logDebug("error", "Error: Raven has not been configured.")), !1))
        },
        afterLoad: function() {
            var t = K.RavenConfig;
            t && this.config(t.dsn, t.config).install()
        },
        showReportDialog: function(t) {
            if ($) {
                if (!(t = O({
                        eventId: this.lastEventId(),
                        dsn: this._dsn,
                        user: this._globalContext.user || {}
                    }, t)).eventId) throw new l("Missing eventId");
                if (!t.dsn) throw new l("Missing DSN");
                var e, n, r = encodeURIComponent,
                    i = [];
                for (e in t) {
                    "user" === e ? ((n = t.user).name && i.push("name=" + r(n.name)), n.email && i.push("email=" + r(n.email))) : i.push(r(e) + "=" + r(t[e]))
                }
                var o = this._getGlobalServer(this._parseDSN(t.dsn)),
                    a = $.createElement("script");
                a.async = !0, a.src = o + "/api/embed/error-page/?" + i.join("&"), ($.head || $.body).appendChild(a)
            }
        },
        _ignoreNextOnError: function() {
            var t = this;
            this._ignoreOnError += 1, setTimeout(function() {
                --t._ignoreOnError
            })
        },
        _triggerEvent: function(t, e) {
            var n, r;
            if (this._hasDocument) {
                for (r in e = e || {}, t = "raven" + t.substr(0, 1).toUpperCase() + t.substr(1), $.createEvent ? (n = $.createEvent("HTMLEvents")).initEvent(t, !0, !0) : (n = $.createEventObject()).eventType = t, e) j(e, r) && (n[r] = e[r]);
                if ($.createEvent) $.dispatchEvent(n);
                else try {
                    $.fireEvent("on" + n.eventType.toLowerCase(), n)
                } catch (t) {}
            }
        },
        _breadcrumbEventHandler: function(n) {
            var r = this;
            return function(t) {
                if (r._keypressTimeout = null, r._lastCapturedEvent !== t) {
                    var e;
                    r._lastCapturedEvent = t;
                    try {
                        e = I(t.target)
                    } catch (t) {
                        e = "<unknown>"
                    }
                    r.captureBreadcrumb({
                        category: "ui." + n,
                        message: e
                    })
                }
            }
        },
        _keypressEventHandler: function() {
            var r = this;
            return function(t) {
                var e;
                try {
                    e = t.target
                } catch (t) {
                    return
                }
                var n = e && e.tagName;
                n && ("INPUT" === n || "TEXTAREA" === n || e.isContentEditable) && ((n = r._keypressTimeout) || r._breadcrumbEventHandler("input")(t), clearTimeout(n), r._keypressTimeout = setTimeout(function() {
                    r._keypressTimeout = null
                }, 1e3))
            }
        },
        _captureUrlChange: function(t, e) {
            var n = N(this._location.href),
                r = N(e),
                i = N(t);
            this._lastHref = e, n.protocol === r.protocol && n.host === r.host && (e = r.relative), n.protocol === i.protocol && n.host === i.host && (t = i.relative), this.captureBreadcrumb({
                category: "navigation",
                data: {
                    to: e,
                    from: t
                }
            })
        },
        _patchFunctionToString: function() {
            var t = this;
            t._originalFunctionToString = Function.prototype.toString, Function.prototype.toString = function() {
                return t._originalFunctionToString.apply("function" == typeof this && this.__raven__ ? this.__orig__ : this, arguments)
            }
        },
        _unpatchFunctionToString: function() {
            this._originalFunctionToString && (Function.prototype.toString = this._originalFunctionToString)
        },
        _instrumentTryCatch: function() {
            var c = this,
                e = c._wrappedBuiltIns;

            function t(o) {
                return function(t, e) {
                    for (var n = Array(arguments.length), r = 0; r < n.length; ++r) n[r] = arguments[r];
                    var i = n[0];
                    return _(i) && (n[0] = c.wrap({
                        mechanism: {
                            type: "instrument",
                            data: {
                                function: o.name || "<anonymous>"
                            }
                        }
                    }, i)), o.apply ? o.apply(this, n) : o(n[0], n[1])
                }
            }
            var l = this._globalOptions.autoBreadcrumbs;
            A(K, "setTimeout", t, e), A(K, "setInterval", t, e), K.requestAnimationFrame && A(K, "requestAnimationFrame", function(e) {
                return function(t) {
                    return e(c.wrap({
                        mechanism: {
                            type: "instrument",
                            data: {
                                function: "requestAnimationFrame",
                                handler: e && e.name || "<anonymous>"
                            }
                        }
                    }, t))
                }
            }, e);
            for (var n = ["EventTarget", "Window", "Node", "ApplicationCache", "AudioTrackList", "ChannelMergerNode", "CryptoOperation", "EventSource", "FileReader", "HTMLUnknownElement", "IDBDatabase", "IDBRequest", "IDBTransaction", "KeyOperation", "MediaController", "MessagePort", "ModalWindow", "Notification", "SVGElementInstance", "Screen", "TextTrack", "TextTrackCue", "TextTrackList", "WebSocket", "WebSocketWorker", "Worker", "XMLHttpRequest", "XMLHttpRequestEventTarget", "XMLHttpRequestUpload"], r = 0; r < n.length; r++) ! function(u) {
                var t = K[u] && K[u].prototype;
                t && t.hasOwnProperty && t.hasOwnProperty("addEventListener") && (A(t, "addEventListener", function(s) {
                    return function(t, e, n, r) {
                        try {
                            e && e.handleEvent && (e.handleEvent = c.wrap({
                                mechanism: {
                                    type: "instrument",
                                    data: {
                                        target: u,
                                        function: "handleEvent",
                                        handler: e && e.name || "<anonymous>"
                                    }
                                }
                            }, e.handleEvent))
                        } catch (t) {}
                        var i, o, a;
                        return l && l.dom && ("EventTarget" === u || "Node" === u) && (o = c._breadcrumbEventHandler("click"), a = c._keypressEventHandler(), i = function(t) {
                            if (t) {
                                var e;
                                try {
                                    e = t.type
                                } catch (t) {
                                    return
                                }
                                return "click" === e ? o(t) : "keypress" === e ? a(t) : void 0
                            }
                        }), s.call(this, t, c.wrap({
                            mechanism: {
                                type: "instrument",
                                data: {
                                    target: u,
                                    function: "addEventListener",
                                    handler: e && e.name || "<anonymous>"
                                }
                            }
                        }, e, i), n, r)
                    }
                }, e), A(t, "removeEventListener", function(i) {
                    return function(t, e, n, r) {
                        try {
                            e = e && (e.__raven_wrapper__ || e)
                        } catch (t) {}
                        return i.call(this, t, e, n, r)
                    }
                }, e))
            }(n[r])
        },
        _instrumentBreadcrumbs: function() {
            var s = this,
                t = this._globalOptions.autoBreadcrumbs,
                e = s._wrappedBuiltIns;
            t.xhr && "XMLHttpRequest" in K && (A(i = K.XMLHttpRequest && K.XMLHttpRequest.prototype, "open", function(n) {
                return function(t, e) {
                    return b(e) && !~e.indexOf(s._globalKey) && (this.__raven_xhr = {
                        method: t,
                        url: e,
                        status_code: null
                    }), n.apply(this, arguments)
                }
            }, e), A(i, "send", function(i) {
                return function() {
                    var t = this;

                    function e() {
                        if (t.__raven_xhr && 4 === t.readyState) {
                            try {
                                t.__raven_xhr.status_code = t.status
                            } catch (t) {}
                            s.captureBreadcrumb({
                                type: "http",
                                category: "xhr",
                                data: t.__raven_xhr
                            })
                        }
                    }
                    for (var n = ["onload", "onerror", "onprogress"], r = 0; r < n.length; r++) ! function(e, t) {
                        e in t && _(t[e]) && A(t, e, function(t) {
                            return s.wrap({
                                mechanism: {
                                    type: "instrument",
                                    data: {
                                        function: e,
                                        handler: t && t.name || "<anonymous>"
                                    }
                                }
                            }, t)
                        })
                    }(n[r], t);
                    return "onreadystatechange" in t && _(t.onreadystatechange) ? A(t, "onreadystatechange", function(t) {
                        return s.wrap({
                            mechanism: {
                                type: "instrument",
                                data: {
                                    function: "onreadystatechange",
                                    handler: t && t.name || "<anonymous>"
                                }
                            }
                        }, t, e)
                    }) : t.onreadystatechange = e, i.apply(this, arguments)
                }
            }, e)), t.xhr && F() && A(K, "fetch", function(a) {
                return function() {
                    for (var t = Array(arguments.length), e = 0; e < t.length; ++e) t[e] = arguments[e];
                    var n, r = t[0],
                        i = "GET";
                    if ("string" == typeof r ? n = r : "Request" in K && r instanceof K.Request ? (n = r.url, r.method && (i = r.method)) : n = "" + r, ~n.indexOf(s._globalKey)) return a.apply(this, t);
                    t[1] && t[1].method && (i = t[1].method);
                    var o = {
                        method: i,
                        url: n,
                        status_code: null
                    };
                    return a.apply(this, t).then(function(t) {
                        return o.status_code = t.status, s.captureBreadcrumb({
                            type: "http",
                            category: "fetch",
                            data: o
                        }), t
                    }).catch(function(t) {
                        throw s.captureBreadcrumb({
                            type: "http",
                            category: "fetch",
                            data: o,
                            level: "error"
                        }), t
                    })
                }
            }, e), t.dom && this._hasDocument && ($.addEventListener ? ($.addEventListener("click", s._breadcrumbEventHandler("click"), !1), $.addEventListener("keypress", s._keypressEventHandler(), !1)) : $.attachEvent && ($.attachEvent("onclick", s._breadcrumbEventHandler("click")), $.attachEvent("onkeypress", s._keypressEventHandler())));
            var n, r, i = K.chrome;
            t.location && (!(i && i.app && i.app.runtime) && K.history && K.history.pushState && K.history.replaceState) && (n = K.onpopstate, K.onpopstate = function() {
                if (s._captureUrlChange(s._lastHref, s._location.href), n) return n.apply(this, arguments)
            }, A(K.history, "pushState", i = function(e) {
                return function() {
                    var t = 2 < arguments.length ? arguments[2] : void 0;
                    return t && s._captureUrlChange(s._lastHref, t + ""), e.apply(this, arguments)
                }
            }, e), A(K.history, "replaceState", i, e)), t.console && "console" in K && console.log && (r = function(t, e) {
                s.captureBreadcrumb({
                    message: t,
                    level: e.level,
                    category: "console"
                })
            }, w(["debug", "info", "warn", "error", "log"], function(t, e) {
                q(console, e, r)
            }))
        },
        _restoreBuiltIns: function() {
            for (var t; this._wrappedBuiltIns.length;) {
                (t = this._wrappedBuiltIns.shift())[0][t[1]] = t[2]
            }
        },
        _restoreConsole: function() {
            for (var t in this._originalConsoleMethods) this._originalConsole[t] = this._originalConsoleMethods[t]
        },
        _drainPlugins: function() {
            var n = this;
            w(this._plugins, function(t, e) {
                e[0].apply(n, [n].concat(e[1]))
            })
        },
        _parseDSN: function(e) {
            var t = z.exec(e),
                n = {},
                r = 7;
            try {
                for (; r--;) n[H[r]] = t[r] || ""
            } catch (t) {
                throw new l("Invalid DSN: " + e)
            }
            if (n.pass && !this._globalOptions.allowSecretKey) throw new l("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");
            return n
        },
        _getGlobalServer: function(t) {
            var e = "//" + t.host + (t.port ? ":" + t.port : "");
            return t.protocol && (e = t.protocol + ":" + e), e
        },
        _handleOnErrorStackInfo: function(t, e) {
            (e = e || {}).mechanism = e.mechanism || {
                type: "onerror",
                handled: !1
            }, this._ignoreOnError || this._handleStackInfo(t, e)
        },
        _handleStackInfo: function(t, e) {
            var n = this._prepareFrames(t, e);
            this._triggerEvent("handle", {
                stackInfo: t,
                options: e
            }), this._processException(t.name, t.message, t.url, t.lineno, n, e)
        },
        _prepareFrames: function(n, t) {
            var r = this,
                i = [];
            if (n.stack && n.stack.length && (w(n.stack, function(t, e) {
                    e = r._normalizeFrame(e, n.url);
                    e && i.push(e)
                }), t && t.trimHeadFrames))
                for (var e = 0; e < t.trimHeadFrames && e < i.length; e++) i[e].in_app = !1;
            return i = i.slice(0, this._globalOptions.stackTraceLimit)
        },
        _normalizeFrame: function(t, e) {
            var n = {
                filename: t.url,
                lineno: t.line,
                colno: t.column,
                function: t.func || "?"
            };
            return t.url || (n.filename = e), n.in_app = !(this._globalOptions.includePaths.test && !this._globalOptions.includePaths.test(n.filename) || /(Raven|TraceKit)\./.test(n.function) || /raven\.(min\.)?js$/.test(n.filename)), n
        },
        _processException: function(t, e, n, r, i, o) {
            var a, s = (t ? t + ": " : "") + (e || "");
            this._globalOptions.ignoreErrors.test && (this._globalOptions.ignoreErrors.test(e) || this._globalOptions.ignoreErrors.test(s)) || (i && i.length ? (n = i[0].filename || n, i.reverse(), a = {
                frames: i
            }) : n && (a = {
                frames: [{
                    filename: n,
                    lineno: r,
                    in_app: !0
                }]
            }), this._globalOptions.ignoreUrls.test && this._globalOptions.ignoreUrls.test(n) || this._globalOptions.whitelistUrls.test && !this._globalOptions.whitelistUrls.test(n) || (null == (o = (n = O({
                exception: {
                    values: [{
                        type: t,
                        value: e,
                        stacktrace: a
                    }]
                },
                transaction: n
            }, o)).exception.values[0]).type && "" === o.value && (o.value = "Unrecoverable error caught"), !n.exception.mechanism && n.mechanism && (n.exception.mechanism = n.mechanism, delete n.mechanism), n.exception.mechanism = O({
                type: "generic",
                handled: !0
            }, n.exception.mechanism || {}), this._send(n)))
        },
        _trimPacket: function(t) {
            var e, n = this._globalOptions.maxMessageLength;
            t.message && (t.message = k(t.message, n)), t.exception && ((e = t.exception.values[0]).value = k(e.value, n));
            n = t.request;
            return n && (n.url && (n.url = k(n.url, this._globalOptions.maxUrlLength)), n.Referer && (n.Referer = k(n.Referer, this._globalOptions.maxUrlLength))), t.breadcrumbs && t.breadcrumbs.values && this._trimBreadcrumbs(t.breadcrumbs), t
        },
        _trimBreadcrumbs: function(t) {
            for (var e, n, r, i = ["to", "from", "url"], o = 0; o < t.values.length; ++o)
                if ((n = t.values[o]).hasOwnProperty("data") && g(n.data) && !S(n.data)) {
                    r = O({}, n.data);
                    for (var a = 0; a < i.length; ++a) r.hasOwnProperty(e = i[a]) && r[e] && (r[e] = k(r[e], this._globalOptions.maxUrlLength));
                    t.values[o].data = r
                }
        },
        _getHttpData: function() {
            if (this._hasNavigator || this._hasDocument) {
                var t = {};
                return this._hasNavigator && J.userAgent && (t.headers = {
                    "User-Agent": J.userAgent
                }), K.location && K.location.href && (t.url = K.location.href), this._hasDocument && $.referrer && (t.headers || (t.headers = {}), t.headers.Referer = $.referrer), t
            }
        },
        _resetBackoff: function() {
            this._backoffDuration = 0, this._backoffStart = null
        },
        _shouldBackoff: function() {
            return this._backoffDuration && i() - this._backoffStart < this._backoffDuration
        },
        _isRepeatData: function(t) {
            var e = this._lastData;
            return !(!e || t.message !== e.message || t.transaction !== e.transaction) && (t.stacktrace || e.stacktrace ? P(t.stacktrace, e.stacktrace) : !t.exception && !e.exception || M(t.exception, e.exception))
        },
        _setBackoffState: function(t) {
            if (!this._shouldBackoff()) {
                var e, n = t.status;
                if (400 === n || 401 === n || 429 === n) {
                    try {
                        e = F() ? t.headers.get("Retry-After") : t.getResponseHeader("Retry-After"), e = 1e3 * parseInt(e, 10)
                    } catch (t) {}
                    this._backoffDuration = e || 2 * this._backoffDuration || 1e3, this._backoffStart = i()
                }
            }
        },
        _send: function(e) {
            var t = this._globalOptions,
                n = {
                    project: this._globalProject,
                    logger: t.logger,
                    platform: "javascript"
                },
                r = this._getHttpData();
            r && (n.request = r), e.trimHeadFrames && delete e.trimHeadFrames, (e = O(n, e)).tags = O(O({}, this._globalContext.tags), e.tags), e.extra = O(O({}, this._globalContext.extra), e.extra), e.extra["session:duration"] = i() - this._startTime, this._breadcrumbs && 0 < this._breadcrumbs.length && (e.breadcrumbs = {
                values: [].slice.call(this._breadcrumbs, 0)
            }), this._globalContext.user && (e.user = this._globalContext.user), t.environment && (e.environment = t.environment), t.release && (e.release = t.release), t.serverName && (e.server_name = t.serverName), e = this._sanitizeData(e), Object.keys(e).forEach(function(t) {
                null != e[t] && "" !== e[t] && !E(e[t]) || delete e[t]
            }), _(t.dataCallback) && (e = t.dataCallback(e) || e), e && !E(e) && (_(t.shouldSendCallback) && !t.shouldSendCallback(e) || (this._shouldBackoff() ? this._logDebug("warn", "Raven dropped error due to backoff: ", e) : ("number" != typeof t.sampleRate || Math.random() < t.sampleRate) && this._sendProcessedPayload(e)))
        },
        _sanitizeData: function(t) {
            return U(t, this._globalOptions.sanitizeKeys)
        },
        _getUuid: function() {
            return R()
        },
        _sendProcessedPayload: function(e, n) {
            var t, r, i, o = this,
                a = this._globalOptions;
            this.isSetup() && (e = this._trimPacket(e), this._globalOptions.allowDuplicates || !this._isRepeatData(e) ? (this._lastEventId = e.event_id || (e.event_id = this._getUuid()), this._lastData = e, this._logDebug("debug", "Raven about to send:", e), t = {
                sentry_version: "7",
                sentry_client: "raven-js/" + this.VERSION,
                sentry_key: this._globalKey
            }, this._globalSecret && (t.sentry_secret = this._globalSecret), r = e.exception && e.exception.values[0], this._globalOptions.autoBreadcrumbs && this._globalOptions.autoBreadcrumbs.sentry && this.captureBreadcrumb({
                category: "sentry",
                message: r ? (r.type ? r.type + ": " : "") + r.value : e.message,
                event_id: e.event_id,
                level: e.level || "error"
            }), (a.transport || this._makeRequest).call(this, {
                url: i = this._globalEndpoint,
                auth: t,
                data: e,
                options: a,
                onSuccess: function() {
                    o._resetBackoff(), o._triggerEvent("success", {
                        data: e,
                        src: i
                    }), n && n()
                },
                onError: function(t) {
                    o._logDebug("error", "Raven transport failed to send: ", t), t.request && o._setBackoffState(t.request), o._triggerEvent("failure", {
                        data: e,
                        src: i
                    }), t = t || Error("Raven send failed (no additional details provided)"), n && n(t)
                }
            })) : this._logDebug("warn", "Raven dropped repeat event: ", e))
        },
        _makeRequest: function(n) {
            var t = n.url + "?" + C(n.auth),
                e = null,
                r = {};
            if (n.options.headers && (e = this._evaluateHash(n.options.headers)), n.options.fetchParameters && (r = this._evaluateHash(n.options.fetchParameters)), F()) {
                r.body = u(n.data);
                var i = O({}, this._fetchDefaults),
                    r = O(i, r);
                return e && (r.headers = e), K.fetch(t, r).then(function(t) {
                    var e;
                    t.ok ? n.onSuccess && n.onSuccess() : ((e = Error("Sentry error code: " + t.status)).request = t, n.onError && n.onError(e))
                }).catch(function() {
                    n.onError && n.onError(Error("Sentry error code: network unavailable"))
                })
            }
            var o = K.XMLHttpRequest && new K.XMLHttpRequest;
            o && ("withCredentials" in o || "undefined" != typeof XDomainRequest) && ("withCredentials" in o ? o.onreadystatechange = function() {
                var t;
                4 !== o.readyState || (200 === o.status ? n.onSuccess && n.onSuccess() : n.onError && ((t = Error("Sentry error code: " + o.status)).request = o, n.onError(t)))
            } : (o = new XDomainRequest, t = t.replace(/^https?:/, ""), n.onSuccess && (o.onload = n.onSuccess), n.onError && (o.onerror = function() {
                var t = Error("Sentry error code: XDomainRequest");
                t.request = o, n.onError(t)
            })), o.open("POST", t), e && w(e, function(t, e) {
                o.setRequestHeader(t, e)
            }), o.send(u(n.data)))
        },
        _evaluateHash: function(t) {
            var e, n, r = {};
            for (e in t) {
                t.hasOwnProperty(e) && (r[e] = "function" == typeof(n = t[e]) ? n() : n)
            }
            return r
        },
        _logDebug: function(t) {
            this._originalConsoleMethods[t] && (this.debug || this._globalOptions.debug) && Function.prototype.apply.call(this._originalConsoleMethods[t], this._originalConsole, [].slice.call(arguments, 1))
        },
        _mergeContext: function(t, e) {
            y(e) ? delete this._globalContext[t] : this._globalContext[t] = O(this._globalContext[t] || {}, e)
        }
    }).setUser = o.prototype.setUserContext, o.prototype.setReleaseContext = o.prototype.setRelease, t.exports = o
}, function(t, e, n) {
    "use strict";
    n.r(e);
    var r = n(7),
        i = n.n(r),
        o = n(6),
        a = n.n(o),
        e = n(5),
        r = n.n(e),
        o = n(2),
        e = n.n(o),
        o = n(12),
        o = 
search.substr(1).split("&").reduce(function(e,t){var n=t.split("=").map(decodeURIComponent);return n[0]&&(e[n[0]]=n[1]),e},{}),n=t.l;n&&"en"!==n&&(e.documentElement.lang=n);var r={ar:1,ar_SA:1,he:1,he_IL:1,nqo:1,fa:1,fa_IR:1,ur:1,ur_PK:1},i=function(t){var n=e.createElement("link");n.rel="stylesheet",n.href="//c.disquscdn.com/next/7a78382/home/css/"+t+".css",e.head.appendChild(n)},o="main";r[n]&&(e.documentElement.dir="rtl",o+="_rtl"),i(o),i("hovercards");var a=e.body,s=e.getElementById("unsupportedBrowser");if(!e.addEventListener)return void(a.innerHTML="<p>"+s.innerHTML+"</p>");(function(){try{return window.document.documentMode;
    o && o < 10 || i.a.config("//74c37adea3b3432b97c2dd38074768bc@sentry.
self!==window.top}catch(e){return!0}})()&&a.setAttribute("class",a.className+" home-drawer"),define("initializer",["require","exports"],function(t,n){n.ready=!1,n.setReady=function(){t(["common/bus"],function(e){e.sendHostMessage("ready"),n.ready=!0})},n.init=function(){function n(){t(["core/analytics/identity","home/main","loglevel","raven"],function(t,n,r,i){r.setDefaultLevel(window.IS_DEV?"DEBUG":"SILENT"),t.init({isPrivate:!!window.home_config&&window.home_config.is_private});var o=e.documentMode&&e.documentMode<10;window.IS_DEV||o||i.config("//1a2772a06861430ebd15caa640a82975@sentry.services.disqus.com/29", {
        whitelistUrls: ["//c.
com/28",{whitelistUrls:[s,"//c.disquscdn.com/next/7a78382/publisher-admin", "//c.com/next/current/home"],ignoreErrors:[/\bTiApp\b/],release:"7a78382"}).install(),n.init({CDN_ROOT:s})})}function r(e,n){require.undef(e),define(e,n),t([e])}function i(e){"undefined"!=typeof console&&"function"==typeof console.log&&console.log(""+e);for(var t,n,i=e.requireModules||[],o=0;o<i.length;++o)t=i[o],(n=c[t])&&r(t,n)}var o=e.documentElement.lang,a={baseUrl:"//c.disquscdn.com/next/current/publisher-admin", "//c.com/next/7a78382/home/js",paths:{translations:"../lang/"+o}};window.IS_DEV||(a.bundles={"home/main":["moment"]}),o&&"en"!==o||define("translations",{});var s="//c.disquscdn.com/next/publisher-admin"],
        release: "7a78382"
    }).install(), e.a.init({
        isPrivate: window._v5Config.is_private
    }), r()("body {display: none};"), a()(function() {
        Promise.all([n.e(0), n.e(1)]).then(n.bind(null, 25))
    })
}, function(t, e, n) {
    (function(t, d) {
        ! function(n, r) {
            "use strict";
            var i, o, a, s, u, c, e, l, t;

            function f(t) {
                delete o[t]
            }

            function p(t) {
                if (a) setTimeout(p, 0, t);
                else {
                    var e = o[t];
                    if (e) {
                        a = !0;
                        try {
                            ! function(t) {
                                var e = t.callback;
                                switch ((t = t.args).length) {
                                    case 0:
                                        e();
                                        break;
                                    case 1:
                                        e(t[0]);
                                        break;
                                    case 2:
                                        e(t[0], t[1]);
                                        break;
                                    case 3:
                                        e(t[0], t[1], t[2]);
                                        break;
                                    default:
                                        e.apply(r, t)
                                }
                            }(e)
                        } finally {
                            f(t), a = !1
                        }
                    }
                }
            }

            function h(t) {
                t.source !== n || "string" != typeof t.data || t.data.indexOf(l) || p(+t.data.slice(l.length))
            }
            n.setImmediate || (i = 1, a = !(o = {}), s = n.document, t = (t = Object.getPrototypeOf && Object.getPrototypeOf(n)) && t.setTimeout ? t : n, u = "[object process]" === {}.toString.call(n.process) ? function(t) {
                d.nextTick(function() {
                    p(t)
                })
            } : function() {
                if (n.postMessage && !n.importScripts) {
                    var t = !0,
                        e = n.onmessage;
                    return n.onmessage = function() {
                        t = !1
                    }, n.postMessage("", "*"), n.onmessage = e, t
                }
            }() ? (l = "setImmediate$" + Math.random() + "$", n.addEventListener ? n.addEventListener("message", h, !1) : n.attachEvent("onmessage", h), function(t) {
                n.postMessage(l + t, "*")
            }) : n.MessageChannel ? ((e = new MessageChannel).port1.onmessage = function(t) {
                p(t.data)
            }, function(t) {
                e.port2.postMessage(t)
            }) : s && "onreadystatechange" in s.createElement("script") ? (c = s.documentElement, function(t) {
                var e = s.createElement("script");
                e.onreadystatechange = function() {
                    p(t), e.onreadystatechange = null, c.removeChild(e), e = null
                }, c.appendChild(e)
            }) : function(t) {
                setTimeout(p, 0, t)
            }, t.setImmediate = function(t) {
                "function" != typeof t && (t = Function("" + t));
                for (var e = Array(arguments.length - 1), n = 0; n < e.length; n++) e[n] = arguments[n + 1];
                return o[i] = {
                    callback: t,
                    args: e
                }, u(i), i++
            }, t.clearImmediate = f)
        }("undefined" == typeof self ? void 0 === t ? this : t : self)
    }).call(this, n(0), n(11))
}, function(t, i, o) {
    (function(t) {
        var e = void 0 !== t && t || "undefined" != typeof self && self || window,
            n = Function.prototype.apply;

        function r(t, e) {
            this._id = t, this._clearFn = e
        }
        i.setTimeout = function() {
            return new r(n.call(setTimeout, e, arguments), clearTimeout)
        }, i.setInterval = function() {
            return new r(n.call(setInterval, e, arguments), clearInterval)
        }, i.clearTimeout = i.clearInterval = function(t) {
            t && t.close()
        }, r.prototype.unref = r.prototype.ref = function() {}, r.prototype.close = function() {
            this._clearFn.call(e, this._id)
        }, i.enroll = function(t, e) {
            clearTimeout(t._idleTimeoutId), t._idleTimeout = e
        }, i.unenroll = function(t) {
            clearTimeout(t._idleTimeoutId), t._idleTimeout = -1
        }, i._unrefActive = i.active = function(t) {
            clearTimeout(t._idleTimeoutId);
            var e = t._idleTimeout;
            0 <= e && (t._idleTimeoutId = setTimeout(function() {
                t._onTimeout && t._onTimeout()
            }, e))
        }, o(21), i.setImmediate = "undefined" != typeof self && self.setImmediate || void 0 !== t && t.setImmediate || this && this.setImmediate, i.clearImmediate = "undefined" != typeof self && self.clearImmediate || void 0 !== t && t.clearImmediate || this && this.clearImmediate
    }).call(this, o(0))
}, function(r, t, e) {
    (function(t, _) {
        var e, n;
        n = function() {
            "use strict";
            var e, n, r, i, o, a, t = Object.prototype.toString,
                s = void 0 !== _ ? function(t) {
                    return _(t)
                } : setTimeout;
            try {
                Object.defineProperty({}, "x", {}), e = function(t, e, n, r) {
                    return Object.defineProperty(t, e, {
                        value: n,
                        writable: !0,
                        configurable: !1 !== r
                    })
                }
            } catch (t) {
                e = function(t, e, n) {
                    return t[e] = n, t
                }
            }

            function u(t, e) {
                this.fn = t, this.self = e, this.next = void 0
            }

            function c(t, e) {
                r.add(t, e), n = n || s(r.drain)
            }

            function l(t) {
                var e, n = typeof t;
                return null == t || "object" != n && "function" != n || (e = t.then), "function" == typeof e && e
            }

            function f() {
                for (var t = 0; t < this.chain.length; t++) ! function(t, e, n) {
                    var r, i;
                    try {
                        !1 === e ? n.reject(t.msg) : (r = !0 === e ? t.msg : e.call(void 0, t.msg)) === n.promise ? n.reject(TypeError("Promise-chain cycle")) : (i = l(r)) ? i.call(r, n.resolve, n.reject) : n.resolve(r)
                    } catch (t) {
                        n.reject(t)
                    }
                }(this, 1 === this.state ? this.chain[t].success : this.chain[t].failure, this.chain[t]);
                this.chain.length = 0
            }

            function p(t) {
                var n, r = this;
                if (!r.triggered) {
                    r.triggered = !0, r.def && (r = r.def);
                    try {
                        (n = l(t)) ? c(function() {
                            var e = new m(r);
                            try {
                                n.call(t, function() {
                                    p.apply(e, arguments)
                                }, function() {
                                    h.apply(e, arguments)
                                })
                            } catch (t) {
                                h.call(e, t)
                            }
                        }): (r.msg = t, r.state = 1, 0 < r.chain.length && c(f, r))
                    } catch (t) {
                        h.call(new m(r), t)
                    }
                }
            }

            function h(t) {
                var e = this;
                e.triggered || (e.triggered = !0, e.def && (e = e.def), e.msg = t, e.state = 2, 0 < e.chain.length && c(f, e))
            }

            function d(t, n, r, i) {
                for (var e = 0; e < n.length; e++) ! function(e) {
                    t.resolve(n[e]).then(function(t) {
                        r(e, t)
                    }, i)
                }(e)
            }

            function m(t) {
                this.def = t, this.triggered = !1
            }

            function g(t) {
                this.promise = t, this.state = 0, this.triggered = !1, this.chain = [], this.msg = void 0
            }

            function v(t) {
                if ("function" != typeof t) throw TypeError("Not a function");
                if (0 !== this.__NPO__) throw TypeError("Not a promise");
                this.__NPO__ = 1;
                var r = new g(this);
                this.then = function(t, e) {
                    var n = {
                        success: "function" != typeof t || t,
                        failure: "function" == typeof e && e
                    };
                    return n.promise = new this.constructor(function(t, e) {
                        if ("function" != typeof t || "function" != typeof e) throw TypeError("Not a function");
                        n.resolve = t, n.reject = e
                    }), r.chain.push(n), 0 !== r.state && c(f, r), n.promise
                }, this.catch = function(t) {
                    return this.then(void 0, t)
                };
                try {
                    t.call(void 0, function(t) {
                        p.call(r, t)
                    }, function(t) {
                        h.call(r, t)
                    })
                } catch (t) {
                    h.call(r, t)
                }
            }
            var y = e({}, "constructor", v, !(r = {
                add: function(t, e) {
                    a = new u(t, e), o ? o.next = a : i = a, o = a, a = void 0
                },
                drain: function() {
                    var t = i;
                    for (i = o = n = void 0; t;) t.fn.call(t.self), t = t.next
                }
            }));
            return e(v.prototype = y, "__NPO__", 0, !1), e(v, "resolve", function(n) {
                return n && "object" == typeof n && 1 === n.__NPO__ ? n : new this(function(t, e) {
                    if ("function" != typeof t || "function" != typeof e) throw TypeError("Not a function");
                    t(n)
                })
            }), e(v, "reject", function(n) {
                return new this(function(t, e) {
                    if ("function" != typeof t || "function" != typeof e) throw TypeError("Not a function");
                    e(n)
                })
            }), e(v, "all", function(e) {
                var a = this;
                return "[object Array]" != t.call(e) ? a.reject(TypeError("Not an array")) : 0 === e.length ? a.resolve([]) : new a(function(n, t) {
                    if ("function" != typeof n || "function" != typeof t) throw TypeError("Not a function");
                    var r = e.length,
                        i = Array(r),
                        o = 0;
                    d(a, e, function(t, e) {
                        i[t] = e, ++o === r && n(i)
                    }, t)
                })
            }), e(v, "race", function(e) {
                var r = this;
                return "[object Array]" != t.call(e) ? r.reject(TypeError("Not an array")) : new r(function(n, t) {
                    if ("function" != typeof n || "function" != typeof t) throw TypeError("Not a function");
                    d(r, e, function(t, e) {
                        n(e)
                    }, t)
                })
            }), v
        }, (e = void 0 !== t ? t : this)[t = "Promise"] = e[t] || n(), void 0 !== r && r.exports ? r.exports = e[t] : void 0 === (t = e[t]) || (r.exports = t)
    }).call(this, e(0), e(22).setImmediate)
}, function(t, e, n) {
    n(23), t.exports = n(20)
}]);
com/next/7a78382/home",c={translations:{},"remote/config":{lounge:{},discovery:{},experiments:{}}};require.config(a),t(["home/main","translations"],n,i)}}),require(["initializer"],function(e){e.init()})}();
// https://c.disquscdn.com/next/current/home/js/apps/initializer.js
//# sourceMappingURL=https://c.disquscdn.com/next/current/home/js/apps/initializer.js.map

Replies to initializer.js rss

Title Name Language When
Re: initializer.js disqus.com javascript 2 Months ago.

Reply to "initializer.js"

Here you can reply to the paste above