/** @license React v0.20.1
 * scheduler.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
'use strict';
var f, g, h, k;
if ("object" === typeof performance && "function" === typeof performance.now) {
    var l = performance;
    exports.unstable_now = function () { return l.now(); };
}
else {
    var p = Date, q = p.now();
    exports.unstable_now = function () { return p.now() - q; };
}
if ("undefined" === typeof window || "function" !== typeof MessageChannel) {
    var t = null, u = null, w = function () { if (null !== t)
        try {
            var a = exports.unstable_now();
            t(!0, a);
            t = null;
        }
        catch (b) {
            throw setTimeout(w, 0), b;
        } };
    f = function (a) { null !== t ? setTimeout(f, 0, a) : (t = a, setTimeout(w, 0)); };
    g = function (a, b) { u = setTimeout(a, b); };
    h = function () { clearTimeout(u); };
    exports.unstable_shouldYield = function () { return !1; };
    k = exports.unstable_forceFrameRate = function () { };
}
else {
    var x = window.setTimeout, y = window.clearTimeout;
    if ("undefined" !== typeof console) {
        var z = window.cancelAnimationFrame;
        "function" !== typeof window.requestAnimationFrame && console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");
        "function" !== typeof z && console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");
    }
    var A = !1, B = null, C = -1, D = 5, E = 0;
    exports.unstable_shouldYield = function () {
        return exports.unstable_now() >=
            E;
    };
    k = function () { };
    exports.unstable_forceFrameRate = function (a) { 0 > a || 125 < a ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : D = 0 < a ? Math.floor(1E3 / a) : 5; };
    var F = new MessageChannel, G = F.port2;
    F.port1.onmessage = function () { if (null !== B) {
        var a = exports.unstable_now();
        E = a + D;
        try {
            B(!0, a) ? G.postMessage(null) : (A = !1, B = null);
        }
        catch (b) {
            throw G.postMessage(null), b;
        }
    }
    else
        A = !1; };
    f = function (a) { B = a; A || (A = !0, G.postMessage(null)); };
    g = function (a, b) {
        C =
            x(function () { a(exports.unstable_now()); }, b);
    };
    h = function () { y(C); C = -1; };
}
function H(a, b) { var c = a.length; a.push(b); a: for (;;) {
    var d = c - 1 >>> 1, e = a[d];
    if (void 0 !== e && 0 < I(e, b))
        a[d] = b, a[c] = e, c = d;
    else
        break a;
} }
function J(a) { a = a[0]; return void 0 === a ? null : a; }
function K(a) { var b = a[0]; if (void 0 !== b) {
    var c = a.pop();
    if (c !== b) {
        a[0] = c;
        a: for (var d = 0, e = a.length; d < e;) {
            var m = 2 * (d + 1) - 1, n = a[m], v = m + 1, r = a[v];
            if (void 0 !== n && 0 > I(n, c))
                void 0 !== r && 0 > I(r, n) ? (a[d] = r, a[v] = c, d = v) : (a[d] = n, a[m] = c, d = m);
            else if (void 0 !== r && 0 > I(r, c))
                a[d] = r, a[v] = c, d = v;
            else
                break a;
        }
    }
    return b;
} return null; }
function I(a, b) { var c = a.sortIndex - b.sortIndex; return 0 !== c ? c : a.id - b.id; }
var L = [], M = [], N = 1, O = null, P = 3, Q = !1, R = !1, S = !1;
function T(a) { for (var b = J(M); null !== b;) {
    if (null === b.callback)
        K(M);
    else if (b.startTime <= a)
        K(M), b.sortIndex = b.expirationTime, H(L, b);
    else
        break;
    b = J(M);
} }
function U(a) { S = !1; T(a); if (!R)
    if (null !== J(L))
        R = !0, f(V);
    else {
        var b = J(M);
        null !== b && g(U, b.startTime - a);
    } }
function V(a, b) { R = !1; S && (S = !1, h()); Q = !0; var c = P; try {
    T(b);
    for (O = J(L); null !== O && (!(O.expirationTime > b) || a && !exports.unstable_shouldYield());) {
        var d = O.callback;
        if ("function" === typeof d) {
            O.callback = null;
            P = O.priorityLevel;
            var e = d(O.expirationTime <= b);
            b = exports.unstable_now();
            "function" === typeof e ? O.callback = e : O === J(L) && K(L);
            T(b);
        }
        else
            K(L);
        O = J(L);
    }
    if (null !== O)
        var m = !0;
    else {
        var n = J(M);
        null !== n && g(U, n.startTime - b);
        m = !1;
    }
    return m;
}
finally {
    O = null, P = c, Q = !1;
} }
var W = k;
exports.unstable_IdlePriority = 5;
exports.unstable_ImmediatePriority = 1;
exports.unstable_LowPriority = 4;
exports.unstable_NormalPriority = 3;
exports.unstable_Profiling = null;
exports.unstable_UserBlockingPriority = 2;
exports.unstable_cancelCallback = function (a) { a.callback = null; };
exports.unstable_continueExecution = function () { R || Q || (R = !0, f(V)); };
exports.unstable_getCurrentPriorityLevel = function () { return P; };
exports.unstable_getFirstCallbackNode = function () { return J(L); };
exports.unstable_next = function (a) { switch (P) {
    case 1:
    case 2:
    case 3:
        var b = 3;
        break;
    default: b = P;
} var c = P; P = b; try {
    return a();
}
finally {
    P = c;
} };
exports.unstable_pauseExecution = function () { };
exports.unstable_requestPaint = W;
exports.unstable_runWithPriority = function (a, b) { switch (a) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5: break;
    default: a = 3;
} var c = P; P = a; try {
    return b();
}
finally {
    P = c;
} };
exports.unstable_scheduleCallback = function (a, b, c) { var d = exports.unstable_now(); "object" === typeof c && null !== c ? (c = c.delay, c = "number" === typeof c && 0 < c ? d + c : d) : c = d; switch (a) {
    case 1:
        var e = -1;
        break;
    case 2:
        e = 250;
        break;
    case 5:
        e = 1073741823;
        break;
    case 4:
        e = 1E4;
        break;
    default: e = 5E3;
} e = c + e; a = { id: N++, callback: b, priorityLevel: a, startTime: c, expirationTime: e, sortIndex: -1 }; c > d ? (a.sortIndex = c, H(M, a), null === J(L) && a === J(M) && (S ? h() : S = !0, g(U, c - d))) : (a.sortIndex = e, H(L, a), R || Q || (R = !0, f(V))); return a; };
exports.unstable_wrapCallback = function (a) { var b = P; return function () { var c = P; P = b; try {
    return a.apply(this, arguments);
}
finally {
    P = c;
} }; };
//# sourceMappingURL=scheduler.production.min.js.map