var __wpo = {
    "assets": {
        "main": ["./321d087894e863b182db.worker.js", "./static/fonts/RobotoMono-Bold.819f3b2.woff", "./static/fonts/RobotoMono-Regular.0b6a547.woff", "./static/fonts/lato-black-italic.798eafd.woff", "./static/fonts/lato-black.f80bda6.woff", "./static/fonts/lato-normal-italic.f28f2d6.woff", "./static/fonts/lato-normal.27bd77b.woff", "./static/js/vendor.7133da8db5c6f1fbdf6b.js", "./static/js/app.e1132c72ef8297b1dba8.js", "./static/js/manifest.3023cb5596fa63696f79.js", "./static/css/app.67badba09cb4a563129a0c064045d49c.css", "./static/landing/abc.png", "./static/landing/discussion.png", "./static/landing/gfm.png", "./static/landing/favicon.ico", "./static/landing/katex.gif", "./static/landing/navigation-bar.png", "./static/landing/logo.svg", "./static/landing/mermaid.gif", "./static/landing/providers.png", "./static/landing/smart-layout.png", "./static/landing/syntax-highlighting.gif", "./static/landing/scroll-sync.gif", "./static/landing/workspace.png", "./static/sitemap.xml", "./static/landing/twemoji.png", "./manifest.bac9ef5de71b3a60b8760bdf6ac62ec7.json", "./icon_512x512.bc1452c3b77b59eb0d8c449de1c77310.png", "./icon_384x384.3f55b77300c8b37b4aa380c8460ee0a2.png", "./icon_256x256.f406288343ae34c5c7bd1543700c2ac0.png", "./icon_192x192.eec0feaecc5bef1a499b3de11bde6b27.png", "./icon_128x128.43ad56ce3535a3ffe333a76a05c13267.png", "./icon_96x96.1d93fc90dc62ceec6c921786ddab3f69.png", "/", "/app", "/oauth2/callback"],
        "additional": [],
        "optional": []
    },
    "externals": ["/", "/app", "/oauth2/callback"],
    "hashesMap": {
        "8493eef4d37b424af5f2207a48413dfb508e242c": "./321d087894e863b182db.worker.js",
        "35ef657adc06cd0701eca980feb69596290bed2a": "./static/fonts/RobotoMono-Bold.819f3b2.woff",
        "ea7cd3212cbf682fd1452323d607a88a9b0e155a": "./static/fonts/RobotoMono-Regular.0b6a547.woff",
        "be2aefe84e2f3580c123461d02a30e63d58c1406": "./static/fonts/lato-black-italic.798eafd.woff",
        "b7a7c103ea4750947483255d9e2561ab421cce55": "./static/fonts/lato-black.f80bda6.woff",
        "4d9ca4395224374f368de41c6b79f048645fe484": "./static/fonts/lato-normal-italic.f28f2d6.woff",
        "331448c1f46d14dd6f1dc84b13cae72f8078384b": "./static/fonts/lato-normal.27bd77b.woff",
        "25fe6b0bb73bfc671b83529fb71cf8dfb0ea96fc": "./static/js/vendor.7133da8db5c6f1fbdf6b.js",
        "4661ae8ed994eb6116af6ea7a673f1ab8acc4764": "./static/js/app.e1132c72ef8297b1dba8.js",
        "25001c62f8c5cf7031bf66301b4d84248887017e": "./static/js/manifest.3023cb5596fa63696f79.js",
        "0ce14f675cb978d53f66e6e953beeaf2f1ac1b65": "./static/css/app.67badba09cb4a563129a0c064045d49c.css",
        "b33ef70801184bca84305b5d1e2ce665fce9f61c": "./static/landing/abc.png",
        "d503c5fca0e208de82790c597047b307267f8749": "./static/landing/discussion.png",
        "a1b44b5fe2bb3b1cc169ddda14fb4216d9a97645": "./static/landing/gfm.png",
        "b3655c61343c618a3b89cfdedb05658e3a6452e8": "./static/landing/favicon.ico",
        "5dc6978bcc760f81f1f67b3ae3cfcc5b893fe6cd": "./static/landing/katex.gif",
        "371b3bd54840cd2eb2fe9a6c935200ee98a3fc61": "./static/landing/navigation-bar.png",
        "ef2c8fd299bae098b332691d9356e908de37ea85": "./static/landing/logo.svg",
        "39c857f9fd51ca66d7517eca44425bf1509cb2c9": "./static/landing/mermaid.gif",
        "daa28f44d95f932e959eec8e72ebba229b05b00d": "./static/landing/providers.png",
        "2cf112e0911d0f9d6f901b579cb19d5afb23ed70": "./static/landing/smart-layout.png",
        "b31c755b6a1067cbbd3ae951f3ecb6d5976c3ed2": "./static/landing/syntax-highlighting.gif",
        "d4d6034e16a946e50e69f529cf2e56a95c92ff1a": "./static/landing/scroll-sync.gif",
        "09c2dbe538a406c94647f0fa04d5036c358339a7": "./static/landing/workspace.png",
        "039f106f00c0e75dd4b5605615837778b3f42500": "./static/sitemap.xml",
        "0c4f88d0f03116b9e97ebe5610234131d9509b42": "./static/landing/twemoji.png",
        "5d153b14964af47a7a4e312ec9abb7ca2a2435e3": "./manifest.bac9ef5de71b3a60b8760bdf6ac62ec7.json",
        "2b0203f91f90e467443a37994ea4177e5a25c990": "./icon_512x512.bc1452c3b77b59eb0d8c449de1c77310.png",
        "47bf9b7632114e4f8a862ba0b5bc78756e177dac": "./icon_384x384.3f55b77300c8b37b4aa380c8460ee0a2.png",
        "630d370175ea92241b580a9697a215987bcee65f": "./icon_256x256.f406288343ae34c5c7bd1543700c2ac0.png",
        "40973d5d91b74f7295293c6855307cbd1c8d8c50": "./icon_192x192.eec0feaecc5bef1a499b3de11bde6b27.png",
        "b09c10a610c172701c963805dfc09e4ce2b464a3": "./icon_128x128.43ad56ce3535a3ffe333a76a05c13267.png",
        "071ed59e47fe6d3ce123750236096285d49f7b26": "./icon_96x96.1d93fc90dc62ceec6c921786ddab3f69.png"
    },
    "strategy": "changed",
    "responseStrategy": "cache-first",
    "version": "2022-3-18 23:16:07",
    "name": "webpack-offline",
    "pluginVersion": "5.0.7",
    "relativePaths": false
};

!function(e) {
    function n(r) {
        if (t[r])
            return t[r].exports;
        var o = t[r] = {
            i: r,
            l: !1,
            exports: {}
        };
        return e[r].call(o.exports, o, o.exports, n),
        o.l = !0,
        o.exports
    }
    var t = {};
    n.m = e,
    n.c = t,
    n.i = function(e) {
        return e
    }
    ,
    n.d = function(e, t, r) {
        n.o(e, t) || Object.defineProperty(e, t, {
            configurable: !1,
            enumerable: !0,
            get: r
        })
    }
    ,
    n.n = function(e) {
        var t = e && e.__esModule ? function() {
            return e.default
        }
        : function() {
            return e
        }
        ;
        return n.d(t, "a", t),
        t
    }
    ,
    n.o = function(e, n) {
        return Object.prototype.hasOwnProperty.call(e, n)
    }
    ,
    n.p = "./",
    n(n.s = 1)
}([function(e, n) {}
, function(e, n, t) {
    "use strict";
    function r(e, n) {
        return caches.match(e, {
            cacheName: n
        }).then(function(t) {
            return a(t) ? t : c(t).then(function(t) {
                return caches.open(n).then(function(n) {
                    return n.put(e, t)
                }).then(function() {
                    return t
                })
            })
        }).catch(function() {})
    }
    function o(e, n) {
        return e + (-1 !== e.indexOf("?") ? "&" : "?") + "__uncache=" + encodeURIComponent(n)
    }
    function i(e) {
        return "navigate" === e.mode || e.headers.get("Upgrade-Insecure-Requests") || -1 !== (e.headers.get("Accept") || "").indexOf("text/html")
    }
    function a(e) {
        return !e || !e.redirected || !e.ok || "opaqueredirect" === e.type
    }
    function c(e) {
        return a(e) ? Promise.resolve(e) : ("body"in e ? Promise.resolve(e.body) : e.blob()).then(function(n) {
            return new Response(n,{
                headers: e.headers,
                status: e.status
            })
        })
    }
    function s(e, n) {
        console.groupCollapsed("[SW]:", e),
        n.forEach(function(e) {
            console.log("Asset:", e)
        }),
        console.groupEnd()
    }
    if (function() {
        var e = ExtendableEvent.prototype.waitUntil
          , n = FetchEvent.prototype.respondWith
          , t = new WeakMap;
        ExtendableEvent.prototype.waitUntil = function(n) {
            var r = this
              , o = t.get(r);
            return o ? void o.push(Promise.resolve(n)) : (o = [Promise.resolve(n)],
            t.set(r, o),
            e.call(r, Promise.resolve().then(function e() {
                var n = o.length;
                return Promise.all(o.map(function(e) {
                    return e.catch(function() {})
                })).then(function() {
                    return o.length != n ? e() : (t.delete(r),
                    Promise.all(o))
                })
            })))
        }
        ,
        FetchEvent.prototype.respondWith = function(e) {
            return this.waitUntil(e),
            n.call(this, e)
        }
    }(),
    void 0 === u)
        var u = !1;
    !function(e, n) {
        function t() {
            if (!W.additional.length)
                return Promise.resolve();
            u && console.log("[SW]:", "Caching additional");
            var e = void 0;
            return e = "changed" === O ? f("additional") : a("additional"),
            e.catch(function(e) {
                console.error("[SW]:", "Cache section `additional` failed to load")
            })
        }
        function a(n) {
            var t = W[n];
            return caches.open(j).then(function(r) {
                return y(r, t, {
                    bust: e.version,
                    request: k,
                    failAll: "main" === n
                })
            }).then(function() {
                s("Cached assets: " + n, t)
            }).catch(function(e) {
                throw console.error(e),
                e
            })
        }
        function f(n) {
            return h().then(function(t) {
                if (!t)
                    return a(n);
                var r = t[0]
                  , o = t[1]
                  , i = t[2]
                  , c = i.hashmap
                  , u = i.version;
                if (!i.hashmap || u === e.version)
                    return a(n);
                var f = Object.keys(c).map(function(e) {
                    return c[e]
                })
                  , l = o.map(function(e) {
                    var n = new URL(e.url);
                    return n.search = "",
                    n.hash = "",
                    n.toString()
                })
                  , h = W[n]
                  , d = []
                  , p = h.filter(function(e) {
                    return -1 === l.indexOf(e) || -1 === f.indexOf(e)
                });
                Object.keys(b).forEach(function(e) {
                    var n = b[e];
                    if (-1 !== h.indexOf(n) && -1 === p.indexOf(n) && -1 === d.indexOf(n)) {
                        var t = c[e];
                        t && -1 !== l.indexOf(t) ? d.push([t, n]) : p.push(n)
                    }
                }),
                s("Changed assets: " + n, p),
                s("Moved assets: " + n, d);
                var v = Promise.all(d.map(function(e) {
                    return r.match(e[0]).then(function(n) {
                        return [e[1], n]
                    })
                }));
                return caches.open(j).then(function(t) {
                    var r = v.then(function(e) {
                        return Promise.all(e.map(function(e) {
                            return t.put(e[0], e[1])
                        }))
                    });
                    return Promise.all([r, y(t, p, {
                        bust: e.version,
                        request: k,
                        failAll: "main" === n,
                        deleteFirst: "main" !== n
                    })])
                })
            })
        }
        function l() {
            return caches.keys().then(function(e) {
                var n = e.map(function(e) {
                    if (0 === e.indexOf(E) && 0 !== e.indexOf(j))
                        return console.log("[SW]:", "Delete cache:", e),
                        caches.delete(e)
                });
                return Promise.all(n)
            })
        }
        function h() {
            return caches.keys().then(function(e) {
                for (var n = e.length, t = void 0; n-- && (t = e[n],
                0 !== t.indexOf(E)); )
                    ;
                if (t) {
                    var r = void 0;
                    return caches.open(t).then(function(e) {
                        return r = e,
                        e.match(new URL(M,location).toString())
                    }).then(function(e) {
                        if (e)
                            return Promise.all([r, r.keys(), e.json()])
                    })
                }
            })
        }
        function d() {
            return caches.open(j).then(function(n) {
                var t = new Response(JSON.stringify({
                    version: e.version,
                    hashmap: b
                }));
                return n.put(new URL(M,location).toString(), t)
            })
        }
        function p(e, n, t) {
            return m(e),
            r(t, j).then(function(r) {
                return r ? (u && console.log("[SW]:", "URL [" + t + "](" + n + ") from cache"),
                r) : fetch(e.request).then(function(r) {
                    return r.ok ? (u && console.log("[SW]:", "URL [" + n + "] from network"),
                    t === n && function() {
                        var t = r.clone()
                          , o = caches.open(j).then(function(e) {
                            return e.put(n, t)
                        }).then(function() {
                            console.log("[SW]:", "Cache asset: " + n)
                        });
                        e.waitUntil(o)
                    }(),
                    r) : (u && console.log("[SW]:", "URL [" + n + "] wrong response: [" + r.status + "] " + r.type),
                    r)
                })
            })
        }
        function v(e, n, t) {
            return R(e).then(function(e) {
                if (e.ok)
                    return u && console.log("[SW]:", "URL [" + n + "] from network"),
                    e;
                throw e
            }).catch(function(e) {
                return u && console.log("[SW]:", "URL [" + n + "] from cache if possible"),
                r(t, j).then(function(n) {
                    if (n)
                        return n;
                    if (e instanceof Response)
                        return e;
                    throw e
                })
            })
        }
        function m(e) {
            if (q && "function" == typeof q.map && e.preloadResponse && "navigate" === e.request.mode) {
                var n = q.map(new URL(e.request.url), e.request);
                n && g(n, e)
            }
        }
        function g(e, n) {
            var t = new URL(e,location)
              , r = n.preloadResponse;
            F.set(r, {
                url: t,
                response: r
            });
            var o = function() {
                return F.has(r)
            }
              , i = r.then(function(e) {
                if (e && o()) {
                    var n = e.clone();
                    return caches.open(C).then(function(e) {
                        if (o())
                            return e.put(t, n).then(function() {
                                if (!o())
                                    return caches.open(C).then(function(e) {
                                        return e.delete(t)
                                    })
                            })
                    })
                }
            });
            n.waitUntil(i)
        }
        function w(e) {
            if (F) {
                var n = void 0
                  , t = void 0;
                return F.forEach(function(r, o) {
                    r.url.href === e.href && (n = r.response,
                    t = o)
                }),
                n ? (F.delete(t),
                n) : void 0
            }
        }
        function U(e) {
            var n = new URL(e.request.url);
            if (self.registration.navigationPreload && q && q.test && q.test(n, e.request)) {
                var t = w(n)
                  , o = e.request;
                return t ? (e.waitUntil(caches.open(C).then(function(e) {
                    return e.delete(o)
                })),
                t) : r(o, C).then(function(n) {
                    return n && e.waitUntil(caches.open(C).then(function(e) {
                        return e.delete(o)
                    })),
                    n || fetch(e.request)
                })
            }
        }
        function y(e, n, t) {
            n = n.slice();
            var r = t.bust
              , i = !1 !== t.failAll
              , a = !0 === t.deleteFirst
              , s = t.request || {
                credentials: "omit",
                mode: "cors"
            }
              , u = Promise.resolve();
            return a && (u = Promise.all(n.map(function(n) {
                return e.delete(n).catch(function() {})
            }))),
            Promise.all(n.map(function(e) {
                return r && (e = o(e, r)),
                fetch(e, s).then(c).then(function(e) {
                    return e.ok ? {
                        response: e
                    } : {
                        error: !0
                    }
                }, function() {
                    return {
                        error: !0
                    }
                })
            })).then(function(t) {
                return i && t.some(function(e) {
                    return e.error
                }) ? Promise.reject(new Error("Wrong response status")) : (i || (t = t.filter(function(e, t) {
                    return !e.error || (n.splice(t, 1),
                    !1)
                })),
                u.then(function() {
                    var r = t.map(function(t, r) {
                        var o = t.response;
                        return e.put(n[r], o)
                    });
                    return Promise.all(r)
                }))
            })
        }
        function P(e) {
            var n = e.url
              , t = new URL(n)
              , r = void 0;
            r = i(e) ? "navigate" : t.origin === location.origin ? "same-origin" : "cross-origin";
            for (var o = 0; o < x.length; o++) {
                var a = x[o];
                if (a && (!a.requestTypes || -1 !== a.requestTypes.indexOf(r))) {
                    var c = void 0;
                    if ((c = "function" == typeof a.match ? a.match(t, e) : n.replace(a.match, a.to)) && c !== n)
                        return c
                }
            }
        }
        function R(e) {
            return e.preloadResponse && !0 === q ? e.preloadResponse.then(function(n) {
                return n || fetch(e.request)
            }) : fetch(e.request)
        }
        var x = n.cacheMaps
          , q = n.navigationPreload
          , O = e.strategy
          , S = e.responseStrategy
          , W = e.assets
          , b = e.hashesMap
          , L = e.externals
          , k = e.prefetchRequest || {
            credentials: "same-origin",
            mode: "cors"
        }
          , E = e.name
          , _ = e.version
          , j = E + ":" + _
          , C = E + "$preload"
          , M = "__offline_webpack__data";
        !function() {
            Object.keys(W).forEach(function(e) {
                W[e] = W[e].map(function(e) {
                    var n = new URL(e,location);
                    return n.hash = "",
                    -1 === L.indexOf(e) && (n.search = ""),
                    n.toString()
                })
            }),
            b = Object.keys(b).reduce(function(e, n) {
                var t = new URL(b[n],location);
                return t.search = "",
                t.hash = "",
                e[n] = t.toString(),
                e
            }, {}),
            L = L.map(function(e) {
                var n = new URL(e,location);
                return n.hash = "",
                n.toString()
            })
        }();
        var A = [].concat(W.main, W.additional, W.optional);
        self.addEventListener("install", function(e) {
            console.log("[SW]:", "Install event");
            var n = void 0;
            n = "changed" === O ? f("main") : a("main"),
            e.waitUntil(n)
        }),
        self.addEventListener("activate", function(e) {
            console.log("[SW]:", "Activate event");
            var n = t();
            n = n.then(d),
            n = n.then(l),
            n = n.then(function() {
                if (self.clients && self.clients.claim)
                    return self.clients.claim()
            }),
            q && self.registration.navigationPreload && (n = Promise.all([n, self.registration.navigationPreload.enable()])),
            e.waitUntil(n)
        }),
        self.addEventListener("fetch", function(e) {
            if ("GET" === e.request.method && ("only-if-cached" !== e.request.cache || "same-origin" === e.request.mode)) {
                var n = new URL(e.request.url);
                n.hash = "";
                var t = n.toString();
                -1 === L.indexOf(t) && (n.search = "",
                t = n.toString());
                var r = -1 !== A.indexOf(t)
                  , o = t;
                if (!r) {
                    var i = P(e.request);
                    i && (o = i,
                    r = !0)
                }
                if (r) {
                    var a = void 0;
                    a = "network-first" === S ? v(e, t, o) : p(e, t, o),
                    e.respondWith(a)
                } else {
                    if ("navigate" === e.request.mode && !0 === q)
                        return void e.respondWith(R(e));
                    if (q) {
                        var c = U(e);
                        if (c)
                            return void e.respondWith(c)
                    }
                }
            }
        }),
        self.addEventListener("message", function(e) {
            var n = e.data;
            if (n)
                switch (n.action) {
                case "skipWaiting":
                    self.skipWaiting && self.skipWaiting()
                }
        });
        var F = new Map
    }(__wpo, {
        loaders: {},
        cacheMaps: [],
        navigationPreload: !1
    }),
    e.exports = t(0)
}
]);
