/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@vermus/django-react-djeddit-client@1.0.80/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
define(["exports","react","prop-types","hoist-non-react-statics","invariant","react-is","redux","react-dom","lodash","react-router","react-bootstrap/Breadcrumb","styled-components","reselect","js-cookie","showdown","showdown-katex","react-bootstrap/Row","react-bootstrap/Col","react-bootstrap/Button","react-mde","react-moment","react-markdown","react-bootstrap/Container","react-mathjax2","remark-math","react-helmet","react-intl","react-infinite-scroller","redux-saga"],(function(e,n,t,r,o,i,s,a,l,c,d,u,f,p,m,h,g,z,b,y,v,w,x,k,S,E,P,T,O){"use strict";var _="default"in n?n.default:n;t=t&&t.hasOwnProperty("default")?t.default:t,r=r&&r.hasOwnProperty("default")?r.default:r,o=o&&o.hasOwnProperty("default")?o.default:o,d=d&&d.hasOwnProperty("default")?d.default:d,u=u&&u.hasOwnProperty("default")?u.default:u,p=p&&p.hasOwnProperty("default")?p.default:p,m=m&&m.hasOwnProperty("default")?m.default:m,h=h&&h.hasOwnProperty("default")?h.default:h,g=g&&g.hasOwnProperty("default")?g.default:g,z=z&&z.hasOwnProperty("default")?z.default:z,b=b&&b.hasOwnProperty("default")?b.default:b,y=y&&y.hasOwnProperty("default")?y.default:y,v=v&&v.hasOwnProperty("default")?v.default:v,w=w&&w.hasOwnProperty("default")?w.default:w,x=x&&x.hasOwnProperty("default")?x.default:x,k=k&&k.hasOwnProperty("default")?k.default:k,S=S&&S.hasOwnProperty("default")?S.default:S,T=T&&T.hasOwnProperty("default")?T.default:T,O=O&&O.hasOwnProperty("default")?O.default:O;var C=_.createContext(null);var R=function(e){e()},j=function(){return R},N=null,A={notify:function(){}};var F=function(){function e(e,n){this.store=e,this.parentSub=n,this.unsubscribe=null,this.listeners=A,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var n=e.prototype;return n.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},n.notifyNestedSubs=function(){this.listeners.notify()},n.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},n.isSubscribed=function(){return Boolean(this.unsubscribe)},n.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=function(){var e=j(),n=[],t=[];return{clear:function(){t=N,n=N},notify:function(){var r=n=t;e((function(){for(var e=0;e<r.length;e++)r[e]()}))},get:function(){return t},subscribe:function(e){var r=!0;return t===n&&(t=n.slice()),t.push(e),function(){r&&n!==N&&(r=!1,t===n&&(t=n.slice()),t.splice(t.indexOf(e),1))}}}}())},n.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=A)},e}(),D=function(e){var n,t;function r(n){var t;t=e.call(this,n)||this;var r=n.store;t.notifySubscribers=t.notifySubscribers.bind(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(t));var o=new F(r);return o.onStateChange=t.notifySubscribers,t.state={store:r,subscription:o},t.previousState=r.getState(),t}t=e,(n=r).prototype=Object.create(t.prototype),n.prototype.constructor=n,n.__proto__=t;var o=r.prototype;return o.componentDidMount=function(){this._isMounted=!0,this.state.subscription.trySubscribe(),this.previousState!==this.props.store.getState()&&this.state.subscription.notifyNestedSubs()},o.componentWillUnmount=function(){this.unsubscribe&&this.unsubscribe(),this.state.subscription.tryUnsubscribe(),this._isMounted=!1},o.componentDidUpdate=function(e){if(this.props.store!==e.store){this.state.subscription.tryUnsubscribe();var n=new F(this.props.store);n.onStateChange=this.notifySubscribers,this.setState({store:this.props.store,subscription:n})}},o.notifySubscribers=function(){this.state.subscription.notifyNestedSubs()},o.render=function(){var e=this.props.context||C;return _.createElement(e.Provider,{value:this.state},this.props.children)},r}(n.Component);function I(){return I=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},I.apply(this,arguments)}function X(e,n){if(null==e)return{};var t,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}D.propTypes={store:t.shape({subscribe:t.func.isRequired,dispatch:t.func.isRequired,getState:t.func.isRequired}),context:t.object,children:t.any};var L=[],K=[null,null];function M(e,n){var t=e[1];return[n.payload,t+1]}var U=function(){return[null,0]},q="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n.useLayoutEffect:n.useEffect;function H(e,t){void 0===t&&(t={});var s=t,a=s.getDisplayName,l=void 0===a?function(e){return"ConnectAdvanced("+e+")"}:a,c=s.methodName,d=void 0===c?"connectAdvanced":c,u=s.renderCountProp,f=void 0===u?void 0:u,p=s.shouldHandleStateChanges,m=void 0===p||p,h=s.storeKey,g=void 0===h?"store":h,z=s.withRef,b=void 0!==z&&z,y=s.forwardRef,v=void 0!==y&&y,w=s.context,x=void 0===w?C:w,k=X(s,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);o(void 0===f,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),o(!b,"withRef is removed. To access the wrapped instance, use a ref on the connected component");o("store"===g,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var S=x;return function(t){"production"!==process.env.NODE_ENV&&o(i.isValidElementType(t),"You must pass a component to the function returned by "+d+". Instead received "+function(e){try{return JSON.stringify(e)}catch(n){return String(e)}}(t));var s=t.displayName||t.name||"Component",a=l(s),c=I({},k,{getDisplayName:l,methodName:d,renderCountProp:f,shouldHandleStateChanges:m,storeKey:g,displayName:a,wrappedComponentName:s,WrappedComponent:t}),u=k.pure;var p=u?n.useMemo:function(e){return e()};function h(r){var s=n.useMemo((function(){var e=r.forwardedRef,n=X(r,["forwardedRef"]);return[r.context,e,n]}),[r]),l=s[0],d=s[1],u=s[2],f=n.useMemo((function(){return l&&l.Consumer&&i.isContextConsumer(_.createElement(l.Consumer,null))?l:S}),[l,S]),h=n.useContext(f),g=Boolean(r.store),z=Boolean(h)&&Boolean(h.store);o(g||z,'Could not find "store" in the context of "'+a+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+a+" in connect options.");var b=r.store||h.store,y=n.useMemo((function(){return function(n){return e(n.dispatch,c)}(b)}),[b]),v=n.useMemo((function(){if(!m)return K;var e=new F(b,g?null:h.subscription),n=e.notifyNestedSubs.bind(e);return[e,n]}),[b,g,h]),w=v[0],x=v[1],k=n.useMemo((function(){return g?h:I({},h,{subscription:w})}),[g,h,w]),E=n.useReducer(M,L,U),P=E[0][0],T=E[1];if(P&&P.error)throw P.error;var O=n.useRef(),C=n.useRef(u),R=n.useRef(),j=n.useRef(!1),N=p((function(){return R.current&&u===C.current?R.current:y(b.getState(),u)}),[b,P,u]);q((function(){C.current=u,O.current=N,j.current=!1,R.current&&(R.current=null,x())})),q((function(){if(m){var e=!1,n=null,t=function(){if(!e){var t,r,o=b.getState();try{t=y(o,C.current)}catch(e){r=e,n=e}r||(n=null),t===O.current?j.current||x():(O.current=t,R.current=t,j.current=!0,T({type:"STORE_UPDATED",payload:{latestStoreState:o,error:r}}))}};w.onStateChange=t,w.trySubscribe(),t();return function(){if(e=!0,w.tryUnsubscribe(),n)throw n}}}),[b,w,y]);var A=n.useMemo((function(){return _.createElement(t,I({},N,{ref:d}))}),[d,t,N]);return n.useMemo((function(){return m?_.createElement(f.Provider,{value:k},A):A}),[f,A,k])}var z=u?_.memo(h):h;if(z.WrappedComponent=t,z.displayName=a,v){var b=_.forwardRef((function(e,n){return _.createElement(z,I({},e,{forwardedRef:n}))}));return b.displayName=a,b.WrappedComponent=t,r(b,t)}return r(z,t)}}var V=Object.prototype.hasOwnProperty;function B(e,n){return e===n?0!==e||0!==n||1/e==1/n:e!=e&&n!=n}function W(e,n){if(B(e,n))return!0;if("object"!=typeof e||null===e||"object"!=typeof n||null===n)return!1;var t=Object.keys(e),r=Object.keys(n);if(t.length!==r.length)return!1;for(var o=0;o<t.length;o++)if(!V.call(n,t[o])||!B(e[t[o]],n[t[o]]))return!1;return!0}function G(e){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e);try{throw new Error(e)}catch(e){}}function J(e,n,t){(function(e){if("object"!=typeof e||null===e)return!1;var n=Object.getPrototypeOf(e);if(null===n)return!0;for(var t=n;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return n===t})(e)||G(t+"() in "+n+" must return a plain object. Instead received "+e+".")}function $(e){return function(n,t){var r=e(n,t);function o(){return r}return o.dependsOnOwnProps=!1,o}}function Y(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function Q(e,n){return function(t,r){var o=r.displayName,i=function(e,n){return i.dependsOnOwnProps?i.mapToProps(e,n):i.mapToProps(e)};return i.dependsOnOwnProps=!0,i.mapToProps=function(t,r){i.mapToProps=e,i.dependsOnOwnProps=Y(e);var s=i(t,r);return"function"==typeof s&&(i.mapToProps=s,i.dependsOnOwnProps=Y(s),s=i(t,r)),"production"!==process.env.NODE_ENV&&J(s,o,n),s},i}}var Z=[function(e){return"function"==typeof e?Q(e,"mapDispatchToProps"):void 0},function(e){return e?void 0:$((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?$((function(n){return s.bindActionCreators(e,n)})):void 0}];var ee=[function(e){return"function"==typeof e?Q(e,"mapStateToProps"):void 0},function(e){return e?void 0:$((function(){return{}}))}];function ne(e,n,t){return I({},t,e,n)}var te=[function(e){return"function"==typeof e?function(e){return function(n,t){var r,o=t.displayName,i=t.pure,s=t.areMergedPropsEqual,a=!1;return function(n,t,l){var c=e(n,t,l);return a?i&&s(c,r)||(r=c):(a=!0,r=c,"production"!==process.env.NODE_ENV&&J(r,o,"mergeProps")),r}}}(e):void 0},function(e){return e?void 0:function(){return ne}}];function re(e,n,t){if(!e)throw new Error("Unexpected value for "+n+" in "+t+".");"mapStateToProps"!==n&&"mapDispatchToProps"!==n||e.hasOwnProperty("dependsOnOwnProps")||G("The selector for "+n+" of "+t+" did not specify a value for dependsOnOwnProps.")}function oe(e,n,t,r){return function(o,i){return t(e(o,i),n(r,i),i)}}function ie(e,n,t,r,o){var i,s,a,l,c,d=o.areStatesEqual,u=o.areOwnPropsEqual,f=o.areStatePropsEqual,p=!1;function m(o,p){var m,h,g=!u(p,s),z=!d(o,i);return i=o,s=p,g&&z?(a=e(i,s),n.dependsOnOwnProps&&(l=n(r,s)),c=t(a,l,s)):g?(e.dependsOnOwnProps&&(a=e(i,s)),n.dependsOnOwnProps&&(l=n(r,s)),c=t(a,l,s)):z?(m=e(i,s),h=!f(m,a),a=m,h&&(c=t(a,l,s)),c):c}return function(o,d){return p?m(o,d):(a=e(i=o,s=d),l=n(r,s),c=t(a,l,s),p=!0,c)}}function se(e,n){var t=n.initMapStateToProps,r=n.initMapDispatchToProps,o=n.initMergeProps,i=X(n,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),s=t(e,i),a=r(e,i),l=o(e,i);return"production"!==process.env.NODE_ENV&&function(e,n,t,r){re(e,"mapStateToProps",r),re(n,"mapDispatchToProps",r),re(t,"mergeProps",r)}(s,a,l,i.displayName),(i.pure?ie:oe)(s,a,l,e,i)}function ae(e,n,t){for(var r=n.length-1;r>=0;r--){var o=n[r](e);if(o)return o}return function(n,r){throw new Error("Invalid value of type "+typeof e+" for "+t+" argument when connecting component "+r.wrappedComponentName+".")}}function le(e,n){return e===n}var ce,de,ue,fe,pe,me,he,ge,ze,be,ye,ve,we,xe=(ue=(de=void 0===ce?{}:ce).connectHOC,fe=void 0===ue?H:ue,pe=de.mapStateToPropsFactories,me=void 0===pe?ee:pe,he=de.mapDispatchToPropsFactories,ge=void 0===he?Z:he,ze=de.mergePropsFactories,be=void 0===ze?te:ze,ye=de.selectorFactory,ve=void 0===ye?se:ye,function(e,n,t,r){void 0===r&&(r={});var o=r,i=o.pure,s=void 0===i||i,a=o.areStatesEqual,l=void 0===a?le:a,c=o.areOwnPropsEqual,d=void 0===c?W:c,u=o.areStatePropsEqual,f=void 0===u?W:u,p=o.areMergedPropsEqual,m=void 0===p?W:p,h=X(o,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),g=ae(e,me,"mapStateToProps"),z=ae(n,ge,"mapDispatchToProps"),b=ae(t,be,"mergeProps");return fe(ve,I({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:g,initMapDispatchToProps:z,initMergeProps:b,pure:s,areStatesEqual:l,areOwnPropsEqual:d,areStatePropsEqual:f,areMergedPropsEqual:m},h))});function ke(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}we=a.unstable_batchedUpdates,R=we;function Se(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function Ee(e){const n={dispatch:l.isFunction,subscribe:l.isFunction,getState:l.isFunction,replaceReducer:l.isFunction,runSaga:l.isFunction,injectedReducers:l.isObject,injectedSagas:l.isObject};o(l.conformsTo(e,n),"(app/utils...) injectors: Expected a valid redux store")}function Pe(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(n){Se(e,n,t[n])}))}return e}ke('/*! sanitize.css v7.0.3 | CC0 License | github.com/csstools/sanitize.css */\n\n/* Document\n * ========================================================================== */\n\n/**\n * 1. Remove repeating backgrounds in all browsers (opinionated).\n * 2. Add border box sizing in all browsers (opinionated).\n */\n\n*,\n::before,\n::after {\n  background-repeat: no-repeat; /* 1 */\n  box-sizing: border-box; /* 2 */\n}\n\n/**\n * 1. Add text decoration inheritance in all browsers (opinionated).\n * 2. Add vertical alignment inheritance in all browsers (opinionated).\n */\n\n::before,\n::after {\n  text-decoration: inherit; /* 1 */\n  vertical-align: inherit; /* 2 */\n}\n\n/**\n * 1. Use the default cursor in all browsers (opinionated).\n * 2. Use the default user interface font in all browsers (opinionated).\n * 3. Correct the line height in all browsers.\n * 4. Use a 4-space tab width in all browsers (opinionated).\n * 5. Prevent adjustments of font size after orientation changes in\n *    IE on Windows Phone and in iOS.\n * 6. Breaks words to prevent overflow in all browsers (opinionated).\n */\n\nhtml {\n  cursor: default; /* 1 */\n  font-family:\n    system-ui,\n    /* macOS 10.11-10.12 */ -apple-system,\n    /* Windows 6+ */ Segoe UI,\n    /* Android 4+ */ Roboto,\n    /* Ubuntu 10.10+ */ Ubuntu,\n    /* Gnome 3+ */ Cantarell,\n    /* KDE Plasma 5+ */ Noto Sans,\n    /* fallback */ sans-serif,\n    /* macOS emoji */ "Apple Color Emoji",\n    /* Windows emoji */ "Segoe UI Emoji",\n    /* Windows emoji */ "Segoe UI Symbol",\n    /* Linux emoji */ "Noto Color Emoji"; /* 2 */\n\n  line-height: 1.15; /* 3 */\n  -moz-tab-size: 4; /* 4 */\n  tab-size: 4; /* 4 */\n  -ms-text-size-adjust: 100%; /* 5 */\n  -webkit-text-size-adjust: 100%; /* 5 */\n  word-break: break-word; /* 6 */\n}\n\n/* Sections\n * ========================================================================== */\n\n/**\n * Remove the margin in all browsers (opinionated).\n */\n\nbody {\n  margin: 0;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* Grouping content\n * ========================================================================== */\n\n/**\n * 1. Add the correct sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n  height: 0; /* 1 */\n  overflow: visible; /* 2 */\n}\n\n/**\n * Add the correct display in IE.\n */\n\nmain {\n  display: block;\n}\n\n/**\n * Remove the list style on navigation lists in all browsers (opinionated).\n */\n\nnav ol,\nnav ul {\n  list-style: none;\n}\n\n/**\n * 1. Use the default monospace user interface font\n *    in all browsers (opinionated).\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n  font-family:\n    /* macOS 10.10+ */ Menlo,\n    /* Windows 6+ */ Consolas,\n    /* Android 4+ */ Roboto Mono,\n    /* Ubuntu 10.10+ */ Ubuntu Monospace,\n    /* KDE Plasma 5+ */ Noto Mono,\n    /* KDE Plasma 4+ */ Oxygen Mono,\n    /* Linux/OpenOffice fallback */ Liberation Mono,\n    /* fallback */ monospace; /* 1 */\n\n  font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n * ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * Add the correct text decoration in Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n  text-decoration: underline;\n  text-decoration: underline dotted;\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/**\n * 1. Use the default monospace user interface font\n *    in all browsers (opinionated).\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n  font-family:\n    /* macOS 10.10+ */ Menlo,\n    /* Windows 6+ */ Consolas,\n    /* Android 4+ */ Roboto Mono,\n    /* Ubuntu 10.10+ */ Ubuntu Monospace,\n    /* KDE Plasma 5+ */ Noto Mono,\n    /* KDE Plasma 4+ */ Oxygen Mono,\n    /* Linux/OpenOffice fallback */ Liberation Mono,\n    /* fallback */ monospace; /* 1 */\n\n  font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/*\n * Remove the text shadow on text selections in Firefox 61- (opinionated).\n * 1. Restore the coloring undone by defining the text shadow\n *    in all browsers (opinionated).\n */\n\n::-moz-selection {\n  background-color: #b3d4fc; /* 1 */\n  color: #000; /* 1 */\n  text-shadow: none;\n}\n\n::selection {\n  background-color: #b3d4fc; /* 1 */\n  color: #000; /* 1 */\n  text-shadow: none;\n}\n\n/* Embedded content\n * ========================================================================== */\n\n/*\n * Change the alignment on media elements in all browers (opinionated).\n */\n\naudio,\ncanvas,\niframe,\nimg,\nsvg,\nvideo {\n  vertical-align: middle;\n}\n\n/**\n * Add the correct display in IE 9-.\n */\n\naudio,\nvideo {\n  display: inline-block;\n}\n\n/**\n * Add the correct display in iOS 4-7.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Remove the border on images inside links in IE 10-.\n */\n\nimg {\n  border-style: none;\n}\n\n/**\n * Change the fill color to match the text color in all browsers (opinionated).\n */\n\nsvg:not([fill]) {\n  fill: currentColor;\n}\n\n/**\n * Hide the overflow in IE.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Tabular data\n * ========================================================================== */\n\n/**\n * Collapse border spacing in all browsers (opinionated).\n */\n\ntable {\n  border-collapse: collapse;\n}\n\n/* Forms\n * ========================================================================== */\n\n/**\n * Inherit styling in all browsers (opinionated).\n */\n\nbutton,\ninput,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\n/**\n * Remove the margin in Safari.\n */\n\nbutton,\ninput,\nselect {\n  margin: 0;\n}\n\n/**\n * 1. Show the overflow in IE.\n * 2. Remove the inheritance of text transform in Edge, Firefox, and IE.\n */\n\nbutton {\n  overflow: visible; /* 1 */\n  text-transform: none; /* 2 */\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type="button"],\n[type="reset"],\n[type="submit"] {\n  -webkit-appearance: button;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n  padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * Show the overflow in Edge and IE.\n */\n\ninput {\n  overflow: visible;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n */\n\nlegend {\n  color: inherit; /* 2 */\n  display: table; /* 1 */\n  max-width: 100%; /* 1 */\n  white-space: normal; /* 1 */\n}\n\n/**\n * 1. Add the correct display in Edge and IE.\n * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n  display: inline-block; /* 1 */\n  vertical-align: baseline; /* 2 */\n}\n\n/**\n * Remove the inheritance of text transform in Firefox.\n */\n\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Remove the margin in Firefox and Safari.\n * 2. Remove the default vertical scrollbar in IE.\n * 3. Change the resize direction on textareas in all browsers (opinionated).\n */\n\ntextarea {\n  margin: 0; /* 1 */\n  overflow: auto; /* 2 */\n  resize: vertical; /* 3 */\n}\n\n/**\n * Remove the padding in IE 10-.\n */\n\n[type="checkbox"],\n[type="radio"] {\n  padding: 0;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type="search"] {\n  -webkit-appearance: textfield; /* 1 */\n  outline-offset: -2px; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Safari.\n */\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * Correct the text style of placeholders in Chrome, Edge, and Safari.\n */\n\n::-webkit-input-placeholder {\n  color: inherit;\n  opacity: 0.54;\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n  -webkit-appearance: button; /* 1 */\n  font: inherit; /* 2 */\n}\n\n/**\n * Remove the inner border and padding of focus outlines in Firefox.\n */\n\n::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/**\n * Restore the focus outline styles unset by the previous rule in Firefox.\n */\n\n:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/* Interactive\n * ========================================================================== */\n\n/*\n * Add the correct display in Edge and IE.\n */\n\ndetails {\n  display: block;\n}\n\n/*\n * Add the correct styles in Edge, IE, and Safari.\n */\n\ndialog {\n  background-color: white;\n  border: solid;\n  color: black;\n  display: block;\n  height: -moz-fit-content;\n  height: -webkit-fit-content;\n  height: fit-content;\n  left: 0;\n  margin: auto;\n  padding: 1em;\n  position: absolute;\n  right: 0;\n  width: -moz-fit-content;\n  width: -webkit-fit-content;\n  width: fit-content;\n}\n\ndialog:not([open]) {\n  display: none;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n  display: list-item;\n}\n\n/* Scripting\n * ========================================================================== */\n\n/**\n * Add the correct display in IE 9-.\n */\n\ncanvas {\n  display: inline-block;\n}\n\n/**\n * Add the correct display in IE.\n */\n\ntemplate {\n  display: none;\n}\n\n/* User interaction\n * ========================================================================== */\n\n/*\n * 1. Remove the tapping delay in IE 10.\n * 2. Remove the tapping delay on clickable elements\n      in all browsers (opinionated).\n */\n\na,\narea,\nbutton,\ninput,\nlabel,\nselect,\nsummary,\ntextarea,\n[tabindex] {\n  -ms-touch-action: manipulation; /* 1 */\n  touch-action: manipulation; /* 2 */\n}\n\n/**\n * Add the correct display in IE 10-.\n */\n\n[hidden] {\n  display: none;\n}\n\n/* Accessibility\n * ========================================================================== */\n\n/**\n * Change the cursor on busy elements in all browsers (opinionated).\n */\n\n[aria-busy="true"] {\n  cursor: progress;\n}\n\n/*\n * Change the cursor on control elements in all browsers (opinionated).\n */\n\n[aria-controls] {\n  cursor: pointer;\n}\n\n/*\n * Change the cursor on disabled, not-editable, or otherwise\n * inoperable elements in all browsers (opinionated).\n */\n\n[aria-disabled="true"],\n[disabled] {\n  cursor: not-allowed;\n}\n\n/*\n * Change the display on visually hidden accessible elements\n * in all browsers (opinionated).\n */\n\n[aria-hidden="false"][hidden]:not(:focus) {\n  clip: rect(0, 0, 0, 0);\n  display: inherit;\n  position: absolute;\n}\n');var Te="@@router/LOCATION_CHANGE";function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}var _e=function(e){var n=e.getIn,t=e.toJS,r=function(e){var r,o=t(n(e,["router"]));if(null==(r=o)||"object"!==Oe(r)||!n(r,["location"])||!n(r,["action"]))throw'Could not find router reducer in state tree, it must be mounted under "router"';return o},o=function(e){return t(n(r(e),["location"]))};return{getLocation:o,getAction:function(e){return t(n(r(e),["action"]))},getRouter:r,getSearch:function(e){return t(n(r(e),["location","search"]))},getHash:function(e){return t(n(r(e),["location","hash"]))},createMatchSelector:function(e){var n=null,t=null;return function(r){var i=(o(r)||{}).pathname;if(i===n)return t;n=i;var s=c.matchPath(i,e);return s&&t&&s.url===t.url||(t=s),t}}}};var Ce=function(e){var n=e.fromJS,t=e.merge;return function(e){var r=n({location:e.location,action:e.action});return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=o.type,s=o.payload;if(i===Te){var a=s.location,l=s.action;return s.isFirstRendering?e:t(e,{location:n(a),action:l})}return e}}};function Re(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var je={fromJS:function(e){return e},getIn:function(e,n){if(!e)return e;var t=n.length;if(t){for(var r=e,o=0;o<t&&r;++o)r=r[n[o]];return r}},merge:function(e,n){return function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(n){Re(e,n,t[n])}))}return e}({},e,n)},toJS:function(e){return e}};function Ne(e){return function(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n<e.length;n++)t[n]=e[n];return t}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var Ae,Fe=function(e){return function(n){return function(n){return function(t){if("@@router/CALL_HISTORY_METHOD"!==t.type)return n(t);var r=t.payload,o=r.method,i=r.args;e[o].apply(e,Ne(i))}}}},De=Ce(je),Ie=_e(je),Xe=(Ie.getLocation,Ie.getAction,Ie.getHash,Ie.getSearch,Ie.createMatchSelector,"undefined"!=typeof Symbol?Symbol("immer-nothing"):((Ae={})["immer-nothing"]=!0,Ae)),Le="undefined"!=typeof Symbol?Symbol.for("immer-draftable"):"__$immer_draftable",Ke="undefined"!=typeof Symbol?Symbol.for("immer-state"):"__$immer_state";function Me(e){return!!e&&!!e[Ke]}function Ue(e){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return!0;var n=Object.getPrototypeOf(e);return!n||n===Object.prototype||(!!e[Le]||!!e.constructor[Le])}var qe=Object.assign||function(e,n){for(var t in n)Ge(n,t)&&(e[t]=n[t]);return e},He="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function Ve(e,n){if(void 0===n&&(n=!1),Array.isArray(e))return e.slice();var t=Object.create(Object.getPrototypeOf(e));return He(e).forEach((function(r){if(r!==Ke){var o=Object.getOwnPropertyDescriptor(e,r),i=o.value;if(o.get){if(!n)throw new Error("Immer drafts cannot have computed properties");i=o.get.call(e)}o.enumerable?t[r]=i:Object.defineProperty(t,r,{value:i,writable:!0,configurable:!0})}})),t}function Be(e,n){if(Array.isArray(e))for(var t=0;t<e.length;t++)n(t,e[t],e);else He(e).forEach((function(t){return n(t,e[t],e)}))}function We(e,n){return Object.getOwnPropertyDescriptor(e,n).enumerable}function Ge(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function Je(e,n){return e===n?0!==e||1/e==1/n:e!=e&&n!=n}var $e=function(e){this.drafts=[],this.parent=e,this.canAutoFreeze=!0,this.patches=null};function Ye(e){e[Ke].revoke()}$e.prototype.usePatches=function(e){e&&(this.patches=[],this.inversePatches=[],this.patchListener=e)},$e.prototype.revoke=function(){this.leave(),this.drafts.forEach(Ye),this.drafts=null},$e.prototype.leave=function(){this===$e.current&&($e.current=this.parent)},$e.current=null,$e.enter=function(){return this.current=new $e(this.current)};var Qe={};function Ze(e,n){var t=Array.isArray(e),r=sn(e);Be(r,(function(n){!function(e,n,t){var r=Qe[n];r?r.enumerable=t:Qe[n]=r={configurable:!0,enumerable:t,get:function(){return function(e,n){an(e);var t=tn(nn(e),n);if(e.finalizing)return t;if(t===tn(e.base,n)&&Ue(t))return on(e),e.copy[n]=Ze(t,e);return t}(this[Ke],n)},set:function(e){!function(e,n,t){if(an(e),e.assigned[n]=!0,!e.modified){if(Je(t,tn(nn(e),n)))return;rn(e),on(e)}e.copy[n]=t}(this[Ke],n,e)}};Object.defineProperty(e,n,r)}(r,n,t||We(e,n))}));var o,i,s,a=n?n.scope:$e.current;return o=r,i=Ke,s={scope:a,modified:!1,finalizing:!1,finalized:!1,assigned:{},parent:n,base:e,draft:r,copy:null,revoke:en,revoked:!1},Object.defineProperty(o,i,{value:s,enumerable:!1,writable:!0}),a.drafts.push(r),r}function en(){this.revoked=!0}function nn(e){return e.copy||e.base}function tn(e,n){var t=e[Ke];if(t&&!t.finalizing){t.finalizing=!0;var r=e[n];return t.finalizing=!1,r}return e[n]}function rn(e){e.modified||(e.modified=!0,e.parent&&rn(e.parent))}function on(e){e.copy||(e.copy=sn(e.base))}function sn(e){var n=e&&e[Ke];if(n){n.finalizing=!0;var t=Ve(n.draft,!0);return n.finalizing=!1,t}return Ve(e)}function an(e){if(!0===e.revoked)throw new Error("Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+JSON.stringify(nn(e)))}function ln(e){for(var n=e.length-1;n>=0;n--){var t=e[n][Ke];t.modified||(Array.isArray(t.base)?un(t)&&rn(t):dn(t)&&rn(t))}}function cn(e){if(e&&"object"==typeof e){var n=e[Ke];if(n){var t=n.base,r=n.draft,o=n.assigned;if(Array.isArray(e)){if(un(n)){if(rn(n),o.length=!0,r.length<t.length)for(var i=r.length;i<t.length;i++)o[i]=!1;else for(var s=t.length;s<r.length;s++)o[s]=!0;for(var a=0;a<r.length;a++)void 0===o[a]&&cn(r[a])}}else Object.keys(r).forEach((function(e){void 0!==t[e]||Ge(t,e)?o[e]||cn(r[e]):(o[e]=!0,rn(n))})),Object.keys(t).forEach((function(e){void 0!==r[e]||Ge(r,e)||(o[e]=!1,rn(n))}))}}}function dn(e){for(var n=e.base,t=e.draft,r=Object.keys(t),o=r.length-1;o>=0;o--){var i=r[o],s=n[i];if(void 0===s&&!Ge(n,i))return!0;var a=t[i],l=a&&a[Ke];if(l?l.base!==s:!Je(a,s))return!0}return r.length!==Object.keys(n).length}function un(e){var n=e.draft;if(n.length!==e.base.length)return!0;var t=Object.getOwnPropertyDescriptor(n,n.length-1);return!(!t||t.get)}var fn=Object.freeze({willFinalize:function(e,n,t){e.drafts.forEach((function(e){e[Ke].finalizing=!0})),t?Me(n)&&n[Ke].scope===e&&ln(e.drafts):(e.patches&&cn(e.drafts[0]),ln(e.drafts))},createProxy:Ze});function pn(e,n){var t=n?n.scope:$e.current,r={scope:t,modified:!1,finalized:!1,assigned:{},parent:n,base:e,draft:null,drafts:{},copy:null,revoke:null},o=Array.isArray(e)?Proxy.revocable([r],hn):Proxy.revocable(r,mn),i=o.revoke,s=o.proxy;return r.draft=s,r.revoke=i,t.drafts.push(s),s}var mn={get:function(e,n){if(n===Ke)return e;var t=e.drafts;if(!e.modified&&Ge(t,n))return t[n];var r=gn(e)[n];if(e.finalized||!Ue(r))return r;if(e.modified){if(r!==zn(e.base,n))return r;t=e.copy}return t[n]=pn(r,e)},has:function(e,n){return n in gn(e)},ownKeys:function(e){return Reflect.ownKeys(gn(e))},set:function(e,n,t){if(!e.modified){var r=zn(e.base,n);if(t?Je(r,t)||t===e.drafts[n]:Je(r,t)&&n in e.base)return!0;bn(e)}return e.assigned[n]=!0,e.copy[n]=t,!0},deleteProperty:function(e,n){(void 0!==zn(e.base,n)||n in e.base)&&(e.assigned[n]=!1,bn(e));e.copy&&delete e.copy[n];return!0},getOwnPropertyDescriptor:function(e,n){var t=gn(e),r=Reflect.getOwnPropertyDescriptor(t,n);r&&(r.writable=!0,r.configurable=!Array.isArray(t)||"length"!==n);return r},defineProperty:function(){throw new Error("Object.defineProperty() cannot be used on an Immer draft")},getPrototypeOf:function(e){return Object.getPrototypeOf(e.base)},setPrototypeOf:function(){throw new Error("Object.setPrototypeOf() cannot be used on an Immer draft")}},hn={};function gn(e){return e.copy||e.base}function zn(e,n){var t=e[Ke],r=Reflect.getOwnPropertyDescriptor(t?gn(t):e,n);return r&&r.value}function bn(e){e.modified||(e.modified=!0,e.copy=qe(Ve(e.base),e.drafts),e.drafts=null,e.parent&&bn(e.parent))}Be(mn,(function(e,n){hn[e]=function(){return arguments[0]=arguments[0][0],n.apply(this,arguments)}})),hn.deleteProperty=function(e,n){if(isNaN(parseInt(n)))throw new Error("Immer only supports deleting array indices");return mn.deleteProperty.call(this,e[0],n)},hn.set=function(e,n,t){if("length"!==n&&isNaN(parseInt(n)))throw new Error("Immer only supports setting array indices and the 'length' property");return mn.set.call(this,e[0],n,t)};var yn=Object.freeze({willFinalize:function(){},createProxy:pn});function vn(e,n,t,r){Array.isArray(e.base)?function(e,n,t,r){var o,i,s=e.base,a=e.copy,l=e.assigned;a.length<s.length&&(s=(o=[a,s])[0],a=o[1],t=(i=[r,t])[0],r=i[1]);var c=a.length-s.length,d=0;for(;s[d]===a[d]&&d<s.length;)++d;var u=s.length;for(;u>d&&s[u-1]===a[u+c-1];)--u;for(var f=d;f<u;++f)if(l[f]&&a[f]!==s[f]){var p=n.concat([f]);t.push({op:"replace",path:p,value:a[f]}),r.push({op:"replace",path:p,value:s[f]})}for(var m=u!=s.length,h=t.length,g=u+c-1;g>=u;--g){var z=n.concat([g]);t[h+g-u]={op:"add",path:z,value:a[g]},m&&r.push({op:"remove",path:z})}m||r.push({op:"replace",path:n.concat(["length"]),value:s.length})}(e,n,t,r):function(e,n,t,r){var o=e.base,i=e.copy;Be(e.assigned,(function(e,s){var a=o[e],l=i[e],c=s?e in o?"replace":"add":"remove";if(a!==l||"replace"!==c){var d=n.concat(e);t.push("remove"===c?{op:c,path:d}:{op:c,path:d,value:l}),r.push("add"===c?{op:"remove",path:d}:"remove"===c?{op:"add",path:d,value:a}:{op:"replace",path:d,value:a})}}))}(e,n,t,r)}function wn(e,n){for(var t=0;t<n.length;t++){var r=n[t],o=r.path;if(0===o.length&&"replace"===r.op)e=r.value;else{for(var i=e,s=0;s<o.length-1;s++)if(!(i=i[o[s]])||"object"!=typeof i)throw new Error("Cannot apply patch, path doesn't resolve: "+o.join("/"));var a=o[o.length-1];switch(r.op){case"replace":i[a]=r.value;break;case"add":Array.isArray(i)?i.splice(a,0,r.value):i[a]=r.value;break;case"remove":Array.isArray(i)?i.splice(a,1):delete i[a];break;default:throw new Error("Unsupported patch operation: "+r.op)}}}return e}var xn={useProxies:"undefined"!=typeof Proxy&&"undefined"!=typeof Reflect,autoFreeze:"undefined"!=typeof process?"production"!==process.env.NODE_ENV:"verifyMinified"===function(){}.name,onAssign:null,onDelete:null,onCopy:null},kn=function(e){qe(this,xn,e),this.setUseProxies(this.useProxies),this.produce=this.produce.bind(this)};kn.prototype.produce=function(e,n,t){var r,o=this;if("function"==typeof e&&"function"!=typeof n){var i=n;n=e;var s=this;return function(e){var t=this;void 0===e&&(e=i);for(var r=[],o=arguments.length-1;o-- >0;)r[o]=arguments[o+1];return s.produce(e,(function(e){return n.call.apply(n,[t,e].concat(r))}))}}if("function"!=typeof n)throw new Error("The first or second argument to `produce` must be a function");if(void 0!==t&&"function"!=typeof t)throw new Error("The third argument to `produce` must be a function or undefined");if(Ue(e)){var a=$e.enter(),l=this.createProxy(e),c=!0;try{r=n(l),c=!1}finally{c?a.revoke():a.leave()}return r instanceof Promise?r.then((function(e){return a.usePatches(t),o.processResult(e,a)}),(function(e){throw a.revoke(),e})):(a.usePatches(t),this.processResult(r,a))}return void 0===(r=n(e))?e:r!==Xe?r:void 0},kn.prototype.createDraft=function(e){if(!Ue(e))throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object");var n=$e.enter(),t=this.createProxy(e);return t[Ke].isManual=!0,n.leave(),t},kn.prototype.finishDraft=function(e,n){var t=e&&e[Ke];if(!t||!t.isManual)throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`");if(t.finalized)throw new Error("The given draft is already finalized");var r=t.scope;return r.usePatches(n),this.processResult(void 0,r)},kn.prototype.setAutoFreeze=function(e){this.autoFreeze=e},kn.prototype.setUseProxies=function(e){this.useProxies=e,qe(this,e?yn:fn)},kn.prototype.applyPatches=function(e,n){return Me(e)?wn(e,n):this.produce(e,(function(e){return wn(e,n)}))},kn.prototype.processResult=function(e,n){var t=n.drafts[0],r=void 0!==e&&e!==t;if(this.willFinalize(n,e,r),r){if(t[Ke].modified)throw n.revoke(),new Error("An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.");Ue(e)&&(e=this.finalize(e,null,n)),n.patches&&(n.patches.push({op:"replace",path:[],value:e}),n.inversePatches.push({op:"replace",path:[],value:t[Ke].base}))}else e=this.finalize(t,[],n);return n.revoke(),n.patches&&n.patchListener(n.patches,n.inversePatches),e!==Xe?e:void 0},kn.prototype.finalize=function(e,n,t){var r=this,o=e[Ke];if(!o)return Object.isFrozen(e)?e:this.finalizeTree(e,null,t);if(o.scope!==t)return e;if(!o.modified)return o.base;if(!o.finalized){if(o.finalized=!0,this.finalizeTree(o.draft,n,t),this.onDelete)if(this.useProxies){var i=o.assigned;for(var s in i)i[s]||this.onDelete(o,s)}else{var a=o.base,l=o.copy;Be(a,(function(e){Ge(l,e)||r.onDelete(o,e)}))}this.onCopy&&this.onCopy(o),this.autoFreeze&&t.canAutoFreeze&&Object.freeze(o.copy),n&&t.patches&&vn(o,n,t.patches,t.inversePatches)}return o.copy},kn.prototype.finalizeTree=function(e,n,t){var r=this,o=e[Ke];o&&(this.useProxies||(o.copy=Ve(o.draft,!0)),e=o.copy);var i=!!n&&!!t.patches,s=function(a,l,c){if(l===c)throw Error("Immer forbids circular references");var d=!!o&&c===e;if(Me(l)){var u=d&&i&&!o.assigned[a]?n.concat(a):null;if(Me(l=r.finalize(l,u,t))&&(t.canAutoFreeze=!1),Array.isArray(c)||We(c,a)?c[a]=l:Object.defineProperty(c,a,{value:l}),d&&l===o.base[a])return}else{if(d&&Je(l,o.base[a]))return;Ue(l)&&!Object.isFrozen(l)&&Be(l,s)}d&&r.onAssign&&r.onAssign(o,a,l)};return Be(e,s),e};var Sn=new kn,En=Sn.produce;Sn.setAutoFreeze.bind(Sn),Sn.setUseProxies.bind(Sn),Sn.applyPatches.bind(Sn),Sn.createDraft.bind(Sn),Sn.finishDraft.bind(Sn);const Pn="boilerplate/App/LOAD_REPOS",Tn="boilerplate/App/LOAD_REPOS_SUCCESS",On="boilerplate/App/LOAD_REPOS_ERROR",_n="boilerplate/App/LOAD_SIGNED_IN_USER",Cn="boilerplate/App/LOAD_SIGNED_IN_USER_SUCCESS",Rn="boilerplate/App/LOAD_SIGNED_IN_USER_ERROR",jn={loading:!1,error:!1,currentUser:!1,userData:{repositories:!1},signedInUser:!1},Nn=(e=jn,n)=>En(e,(e=>{switch(n.type){case Pn:e.loading=!0,e.error=!1,e.userData.repositories=!1;break;case Tn:e.userData.repositories=n.repos,e.loading=!1,e.currentUser=n.username;break;case On:e.error=n.error,e.loading=!1;break;case _n:e.loading=!0,e.error=!1,e.signedInUser=!1;break;case Cn:e.userData.repositories=n.repos,e.loading=!1,e.signedInUser=n.signedInUser;break;case Rn:e.error=n.error,e.loading=!1}}));var An=Object.freeze({default:{"boilerplate.components.Footer.author.message":"Made with love by {author}.","boilerplate.components.Footer.license.message":"This project is licensed under the MIT license.","boilerplate.components.Header.features":"Features","boilerplate.components.Header.home":"Home","boilerplate.containers.FeaturePage.css.header":"Features","boilerplate.containers.FeaturePage.css.message":"Next generation CSS","boilerplate.containers.FeaturePage.feedback.header":"Instant feedback","boilerplate.containers.FeaturePage.feedback.message":"Enjoy the best DX and code your app at the speed of thought! Your\n    saved changes to the CSS and JS are reflected instantaneously\n    without refreshing the page. Preserve application state even when\n    you update something in the underlying code!","boilerplate.containers.FeaturePage.header":"Features","boilerplate.containers.FeaturePage.internationalization.header":"Complete i18n Standard Internationalization & Pluralization","boilerplate.containers.FeaturePage.internationalization.message":"Scalable apps need to support multiple languages, easily add and support multiple languages with `react-intl`.","boilerplate.containers.FeaturePage.javascript.header":"Next generation JavaScript","boilerplate.containers.FeaturePage.javascript.message":"Use template strings, object destructuring, arrow functions, JSX\n    syntax and more, today.","boilerplate.containers.FeaturePage.network.header":"Offline-first","boilerplate.containers.FeaturePage.network.message":"The next frontier in performant web apps: availability without a\n      network connection from the instant your users load the app.","boilerplate.containers.FeaturePage.routing.header":"Industry-standard routing","boilerplate.containers.FeaturePage.routing.message":"Write composable CSS that's co-located with your components for\n    complete modularity. Unique generated class names keep the\n    specificity low while eliminating style clashes. Ship only the\n    styles that are on the page for the best performance.","boilerplate.containers.FeaturePage.scaffolding.header":"Quick scaffolding","boilerplate.containers.FeaturePage.scaffolding.message":"Automate the creation of components, containers, routes, selectors\n  and sagas - and their tests - right from the CLI!","boilerplate.containers.FeaturePage.state_management.header":"Predictable state management","boilerplate.containers.FeaturePage.state_management.message":"Unidirectional data flow allows for change logging and time travel\n    debugging.","boilerplate.containers.HomePage.start_project.header":"Start your next react project in seconds","boilerplate.containers.HomePage.start_project.message":"A highly scalable, offline-first foundation with the best DX and a focus on performance and best practices","boilerplate.containers.HomePage.tryme.atPrefix":"@","boilerplate.containers.HomePage.tryme.header":"Try me!","boilerplate.containers.HomePage.tryme.message":"Show Github repositories by","boilerplate.containers.LocaleToggle.de":"de","boilerplate.containers.LocaleToggle.en":"en","boilerplate.containers.NotFoundPage.header":"Page not found."}}),Fn=Object.freeze({default:{"boilerplate.components.Footer.author.message":"Mit Liebe gemacht von {author}.","boilerplate.components.Footer.license.message":"Dieses Projekt wird unter der MIT-Lizenz veröffentlicht.","boilerplate.components.Header.features":"","boilerplate.components.Header.home":"","boilerplate.containers.FeaturePage.css.header":"","boilerplate.containers.FeaturePage.css.message":"Die nächste Generation von CSS","boilerplate.containers.FeaturePage.feedback.header":"Sofortiges Feedback","boilerplate.containers.FeaturePage.feedback.message":"Genießen Sie die beste Entwicklungserfahrung und programmieren Sie Ihre App so schnell wie noch nie! Ihre Änderungen an dem CSS und JavaScript sind sofort reflektiert, ohne die Seite aktualisieren zu müssen. So bleibt der Anwendungszustand bestehen, auch wenn Sie etwas in dem darunter liegenden Code aktualisieren!","boilerplate.containers.FeaturePage.header":"","boilerplate.containers.FeaturePage.internationalization.header":"Komplette i18n Standard-Internationalisierung und Pluralisierung","boilerplate.containers.FeaturePage.internationalization.message":"Das Internet ist global. Mehrsprachige- und Pluralisierungsunterstützung ist entscheidend für große Web-Anwendungen.","boilerplate.containers.FeaturePage.javascript.header":"Das Internet ist global. Mehrsprachige- und Pluralisierungsunterstützung ist entscheidend für große Web-Anwendungen.","boilerplate.containers.FeaturePage.javascript.message":"Benutzen Sie ES6 template strings, object destructuring, arrow functions, JSX syntax und mehr, heute.","boilerplate.containers.FeaturePage.network.header":"","boilerplate.containers.FeaturePage.network.message":"The next frontier in performant web apps: availability without a\n      network connection from the instant your users load the app.","boilerplate.containers.FeaturePage.routing.header":"Standard Routing","boilerplate.containers.FeaturePage.routing.message":"Schreiben Sie CSS, das am selben Ort wie ihre Komponenten ist. Deterministisch generierte, einzigartige Klassennamen halten die Spezifität niedrig während styling Konflikte vermieden werden. Senden Sie nur das CSS an ihre Benutzer welches dann wirklich sichtbar ist für die schnellste Performance!","boilerplate.containers.FeaturePage.scaffolding.header":"Schnelles Scaffolding","boilerplate.containers.FeaturePage.scaffolding.message":"Automatisieren Sie die Kreation von Komponenten, Containern, Routen, Selektoren und Sagas – und ihre Tests – direkt von dem Terminal!","boilerplate.containers.FeaturePage.state_management.header":"Berechenbare Stateverwaltung","boilerplate.containers.FeaturePage.state_management.message":"Unidirectional data flow erlaubt uns alle Änderungen ihrer Applikation zu loggen und time travel debugging einzusetzen.","boilerplate.containers.HomePage.start_project.header":"Beginnen Sie Ihr nächstes React Projekt in Sekunden","boilerplate.containers.HomePage.start_project.message":"Ein skalierendes, offline-first Fundament mit der besten DX und einem Fokus auf Performance und bewährte Methoden","boilerplate.containers.HomePage.tryme.atPrefix":"","boilerplate.containers.HomePage.tryme.header":"Probiere mich!","boilerplate.containers.HomePage.tryme.message":"Zeige die Github Repositories von","boilerplate.containers.LocaleToggle.de":"","boilerplate.containers.LocaleToggle.en":"","boilerplate.containers.NotFoundPage.header":"Seite nicht gefunden."}});const Dn=require("react-intl").addLocaleData,In=require("react-intl/locale-data/en"),Xn=require("react-intl/locale-data/de");Dn(In),Dn(Xn);const Ln="en",Kn=(e,n)=>{const t=e!==Ln?Kn(Ln,An):{};return Object.keys(n).reduce(((r,o)=>{const i=n[o]||e===Ln?n[o]:t[o];return Object.assign(r,{[o]:i})}),{})},Mn=(Kn("en",An),Kn("de",Fn),{locale:Ln}),Un=(e=Mn,n)=>En(e,(e=>{if("app/LanguageToggle/CHANGE_LOCALE"===n.type)e.locale=n.locale}));function qn(e){return"/"===e.charAt(0)}function Hn(e,n){for(var t=n,r=t+1,o=e.length;r<o;t+=1,r+=1)e[t]=e[r];e.pop()}var Vn="production"===process.env.NODE_ENV;function Bn(e,n){if(!Vn){if(e)return;var t="Warning: "+n;"undefined"!=typeof console&&console.warn(t);try{throw Error(t)}catch(e){}}}var Wn="production"===process.env.NODE_ENV,Gn="Invariant failed";function Jn(e,n){if(!e)throw Wn?new Error(Gn):new Error(Gn+": "+(n||""))}function $n(e,n){return new RegExp("^"+n+"(\\/|\\?|#|$)","i").test(e)}function Yn(e,n,t,r){var o;"string"==typeof e?(o=function(e){var n=e||"/",t="",r="",o=n.indexOf("#");-1!==o&&(r=n.substr(o),n=n.substr(0,o));var i=n.indexOf("?");return-1!==i&&(t=n.substr(i),n=n.substr(0,i)),{pathname:n,search:"?"===t?"":t,hash:"#"===r?"":r}}(e),o.state=n):(void 0===(o=I({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==n&&void 0===o.state&&(o.state=n));try{o.pathname=decodeURI(o.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return t&&(o.key=t),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=e&&e.split("/")||[],r=n&&n.split("/")||[],o=e&&qn(e),i=n&&qn(n),s=o||i;if(e&&qn(e)?r=t:t.length&&(r.pop(),r=r.concat(t)),!r.length)return"/";var a=void 0;if(r.length){var l=r[r.length-1];a="."===l||".."===l||""===l}else a=!1;for(var c=0,d=r.length;d>=0;d--){var u=r[d];"."===u?Hn(r,d):".."===u?(Hn(r,d),c++):c&&(Hn(r,d),c--)}if(!s)for(;c--;c)r.unshift("..");!s||""===r[0]||r[0]&&qn(r[0])||r.unshift("");var f=r.join("/");return a&&"/"!==f.substr(-1)&&(f+="/"),f}(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}var Qn=!("undefined"==typeof window||!window.document||!window.document.createElement);function Zn(e,n){n(window.confirm(e))}var et="popstate",nt="hashchange";function tt(){try{return window.history.state||{}}catch(e){return{}}}let rt="";const ot=window.DJEDDIT_CONFIG;ot&&({ROOT_URL:rt}=ot);const it=function(e){void 0===e&&(e={}),Qn||("production"!==process.env.NODE_ENV?Jn(!1,"Browser history needs a DOM"):Jn(!1));var n,t,r=window.history,o=(-1===(n=window.navigator.userAgent).indexOf("Android 2.")&&-1===n.indexOf("Android 4.0")||-1===n.indexOf("Mobile Safari")||-1!==n.indexOf("Chrome")||-1!==n.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),s=e,a=s.forceRefresh,l=void 0!==a&&a,c=s.getUserConfirmation,d=void 0===c?Zn:c,u=s.keyLength,f=void 0===u?6:u,p=e.basename?function(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}("/"===(t=e.basename).charAt(0)?t:"/"+t):"";function m(e){var n=e||{},t=n.key,r=n.state,o=window.location,i=o.pathname+o.search+o.hash;return"production"!==process.env.NODE_ENV&&Bn(!p||$n(i,p),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+i+'" to begin with "'+p+'".'),p&&(i=function(e,n){return $n(e,n)?e.substr(n.length):e}(i,p)),Yn(i,r,t)}function h(){return Math.random().toString(36).substr(2,f)}var g,z,b=(g=null,z=[],{setPrompt:function(e){return"production"!==process.env.NODE_ENV&&Bn(null==g,"A history supports only one prompt at a time"),g=e,function(){g===e&&(g=null)}},confirmTransitionTo:function(e,n,t,r){if(null!=g){var o="function"==typeof g?g(e,n):g;"string"==typeof o?"function"==typeof t?t(o,r):("production"!==process.env.NODE_ENV&&Bn(!1,"A history needs a getUserConfirmation function in order to use a prompt message"),r(!0)):r(!1!==o)}else r(!0)},appendListener:function(e){var n=!0;function t(){n&&e.apply(void 0,arguments)}return z.push(t),function(){n=!1,z=z.filter((function(e){return e!==t}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];z.forEach((function(e){return e.apply(void 0,n)}))}});function y(e){I(R,e),R.length=r.length,b.notifyListeners(R.location,R.action)}function v(e){(function(e){void 0===e.state&&navigator.userAgent.indexOf("CriOS")})(e)||k(m(e.state))}function w(){k(m(tt()))}var x=!1;function k(e){if(x)x=!1,y();else{b.confirmTransitionTo(e,"POP",d,(function(n){n?y({action:"POP",location:e}):function(e){var n=R.location,t=E.indexOf(n.key);-1===t&&(t=0);var r=E.indexOf(e.key);-1===r&&(r=0);var o=t-r;o&&(x=!0,T(o))}(e)}))}}var S=m(tt()),E=[S.key];function P(e){return p+function(e){var n=e.pathname,t=e.search,r=e.hash,o=n||"/";return t&&"?"!==t&&(o+="?"===t.charAt(0)?t:"?"+t),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}(e)}function T(e){r.go(e)}var O=0;function _(e){1===(O+=e)&&1===e?(window.addEventListener(et,v),i&&window.addEventListener(nt,w)):0===O&&(window.removeEventListener(et,v),i&&window.removeEventListener(nt,w))}var C=!1,R={length:r.length,action:"POP",location:S,createHref:P,push:function(e,n){"production"!==process.env.NODE_ENV&&Bn(!("object"==typeof e&&void 0!==e.state&&void 0!==n),"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored");var t="PUSH",i=Yn(e,n,h(),R.location);b.confirmTransitionTo(i,t,d,(function(e){if(e){var n=P(i),s=i.key,a=i.state;if(o)if(r.pushState({key:s,state:a},null,n),l)window.location.href=n;else{var c=E.indexOf(R.location.key),d=E.slice(0,-1===c?0:c+1);d.push(i.key),E=d,y({action:t,location:i})}else"production"!==process.env.NODE_ENV&&Bn(void 0===a,"Browser history cannot push state in browsers that do not support HTML5 history"),window.location.href=n}}))},replace:function(e,n){"production"!==process.env.NODE_ENV&&Bn(!("object"==typeof e&&void 0!==e.state&&void 0!==n),"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored");var t="REPLACE",i=Yn(e,n,h(),R.location);b.confirmTransitionTo(i,t,d,(function(e){if(e){var n=P(i),s=i.key,a=i.state;if(o)if(r.replaceState({key:s,state:a},null,n),l)window.location.replace(n);else{var c=E.indexOf(R.location.key);-1!==c&&(E[c]=i.key),y({action:t,location:i})}else"production"!==process.env.NODE_ENV&&Bn(void 0===a,"Browser history cannot replace state in browsers that do not support HTML5 history"),window.location.replace(n)}}))},go:T,goBack:function(){T(-1)},goForward:function(){T(1)},block:function(e){void 0===e&&(e=!1);var n=b.setPrompt(e);return C||(_(1),C=!0),function(){return C&&(C=!1,_(-1)),n()}},listen:function(e){var n=b.appendListener(e);return _(1),function(){_(-1),n()}}};return R}({basename:rt});function st(e={}){return s.combineReducers(Pe({global:Nn,language:Un,router:De(it)},e))}function at(e,n){return function(t,r){n||Ee(e),o(l.isString(t)&&!l.isEmpty(t)&&l.isFunction(r),"(app/utils...) injectReducer: Expected `reducer` to be a reducer function"),Reflect.has(e.injectedReducers,t)&&e.injectedReducers[t]===r||(e.injectedReducers[t]=r,e.replaceReducer(st(e.injectedReducers)))}}const lt=({key:e,reducer:n})=>{const t=_.useContext(C);_.useEffect((()=>{(function(e){return Ee(e),{injectReducer:at(e,!0)}})(t.store).injectReducer(e,n)}),[])},ct="@@saga-injector/daemon",dt="@@saga-injector/once-till-unmount",ut=window.DJEDDIT_CONFIG;let ft="";ut&&({API_URL_POSTFIX:ft}=ut);const pt=`/api/v1/${ft}`,mt=["@@saga-injector/restart-on-remount",ct,dt],ht=e=>o(l.isString(e)&&!l.isEmpty(e),"(app/utils...) injectSaga: Expected `key` to be a non empty string");function gt(e,n){return function(t,r={},i){n||Ee(e);const s=Pe({},r,{mode:r.mode||ct}),{saga:a,mode:c}=s;ht(t),(e=>{const n={saga:l.isFunction,mode:e=>l.isString(e)&&mt.includes(e)};o(l.conformsTo(e,n),"(app/utils...) injectSaga: Expected a valid saga descriptor")})(s);let d=Reflect.has(e.injectedSagas,t);if("production"!==process.env.NODE_ENV){const n=e.injectedSagas[t];d&&n.saga!==a&&(n.task.cancel(),d=!1)}(!d||d&&c!==ct&&c!==dt)&&(e.injectedSagas[t]=Pe({},s,{task:e.runSaga(a,i)}))}}function zt(e,n){return function(t){if(n||Ee(e),ht(t),Reflect.has(e.injectedSagas,t)){const n=e.injectedSagas[t];n.mode&&n.mode!==ct&&(n.task.cancel(),"production"===process.env.NODE_ENV&&(e.injectedSagas[t]="done"))}}}const bt=({key:e,saga:n,mode:t})=>{const r=_.useContext(C);_.useEffect((()=>{const o=function(e){return Ee(e),{injectSaga:gt(e,!0),ejectSaga:zt(e,!0)}}(r.store);return o.injectSaga(e,{saga:n,mode:t}),()=>{o.ejectSaga(e)}}),[])};function yt(e){const n=e.sections.map((e=>_.createElement(d.Item,{onClick:e.onClick,href:e.href,key:e.key},e.content)));return _.createElement(d,{icon:"right angle"},n)}yt.propTypes={sections:t.array};const vt=u.h2.withConfig({displayName:"H2",componentId:"fx5zmd-0"})(["font-size:1.5em;"]),wt="djeddit/Thread/LOAD_THREAD",xt="djeddit/Thread/LOAD_THREAD_SUCCESS",kt="djeddit/Thread/LOAD_THREAD_ERROR",St="djeddit/Thread/LOAD_POSTS",Et="djeddit/Thread/LOAD_POSTS_SUCCESS",Pt="djeddit/Thread/LOAD_POSTS_ERROR",Tt="djeddit/Thread/NEW_POST",Ot="djeddit/Thread/NEW_POST_SUCCESS",_t="djeddit/Thread/NEW_POST_ERROR",Ct="djeddit/Thread/UPDATE_POST",Rt="djeddit/Thread/UPDATE_POST_SUCCESS",jt="djeddit/Thread/DELETE_POST",Nt="djeddit/Thread/DELETE_POST_SUCCESS",At="djeddit/Thread/VOTE_POST",Ft={thread:!1,postsList:!1,newPost:!1,updatedPost:null},Dt=(e=Ft,n)=>En(e,(e=>{switch(n.type){case wt:e.loading=!0,e.error=!1,e.thread=!1;break;case xt:e.thread=n.thread,e.loading=!1;break;case kt:e.error=n.error,e.loading=!1;break;case St:e.loading=!0,e.error=!1,e.postsList=!1;break;case Et:e.postsList=n.postsList,e.loading=!1;break;case Pt:e.error=n.error,e.loading=!1;break;case Tt:e.loading=!0,e.error=!1,e.newPost=!1;break;case Ot:e.newPost=n.newPost,e.loading=!1;break;case _t:e.error=n.error,e.loading=!1;break;case Rt:e.updatedPost=n.updatedPost,e.loading=!1;break;case Nt:e.deletedPost=n.deletedPost}})),It=e=>e.thread||Ft,Xt="djeddit/Topics/LOAD_TOPICS",Lt="djeddit/Topics/LOAD_TOPICS_SUCCESS",Kt="djeddit/Topics/LOAD_TOPICS_ERROR",Mt="djeddit/Topics/LOAD_TOPIC",Ut="djeddit/Topics/LOAD_TOPIC_SUCCESS",qt="djeddit/Topics/LOAD_TOPIC_ERROR",Ht={topicsList:!1,topic:!1},Vt=(e=Ht,n)=>En(e,(e=>{switch(n.type){case Xt:e.loading=!0,e.error=!1,e.topicsList=!1;break;case Lt:e.topicsList=n.topicsList,e.loading=!1;break;case Kt:e.error=n.error,e.loading=!1;break;case Mt:e.loading=!0,e.error=!1,e.topic=!1;break;case Ut:e.topic=n.topic,e.loading=!1;break;case qt:e.error=n.error,e.loading=!1}})),Bt=e=>e.topics||Ht,Wt=u.section.withConfig({displayName:"Section",componentId:"sc-8rddqz-0"})(["margin:3em auto;&:first-child{margin-top:0;}"]),Gt=u(Wt).withConfig({displayName:"CenteredSection",componentId:"sc-2w8u9z-0"})(["text-align:center;"]);function Jt(e){return{type:xt,thread:e}}function $t(e){return{type:kt,error:e}}function Yt(e){return{type:Et,postsList:e}}function Qt(e){return{type:Pt,error:e}}function Zt(e){return{type:Ot,newPost:e}}function er(e){return{type:_t,error:e}}function nr(e){return{type:Rt,updatedPost:e}}function tr(e){return{type:"djeddit/Thread/UPDATE_POST_ERROR",error:e}}function rr(e){return{type:Nt,deletedPost:e}}var or=Object.freeze({loadThread:function(e,n){return{type:wt,topicSlug:e,nextHref:n}},threadLoaded:Jt,threadLoadingError:$t,loadPosts:function(e,n){return{type:St,threadId:e,nextHref:n}},postsLoaded:Yt,postsLoadingError:Qt,newPost:function(e){return{type:Tt,post:e}},newPostSuccess:Zt,newPostError:er,updatePost:function(e){return{type:Ct,post:e}},updatePostSuccess:nr,updatePostError:tr,votePost:function(e,n){return{type:At,post:e,vote:n}},deletePost:function(e){return{type:jt,post:e}},deletePostSuccess:rr});function ir(e){return{type:Lt,topicsList:e}}function sr(e){return{type:Kt,error:e}}function ar(e){return{type:Ut,topic:e}}function lr(e){return{type:qt,error:e}}var cr=Object.freeze({loadTopics:function(e){return{type:Xt,nextHref:e}},topicsListLoaded:ir,topicsListLoadingError:sr,loadTopic:function(e){return{type:Mt,slug:e}},topicLoaded:ar,topicLoadingError:lr});function dr(e){return{type:Cn,signedInUser:e}}function ur(e){return{type:Rn,error:e}}var fr=Object.freeze({loadRepos:function(){return{type:Pn}},reposLoaded:function(e,n){return{type:Tn,repos:e,username:n}},repoLoadingError:function(e){return{type:On,error:e}},loadSignedInUser:function(){return{type:_n}},signedInUserLoaded:dr,signedInLoadingError:ur}),pr=function(e){return"@@redux-saga/"+e},mr=pr("CANCEL_PROMISE"),hr=pr("IO"),gr=pr("MULTICAST"),zr=pr("SELF_CANCELLATION"),br=pr("TASK"),yr=function(e){return null!=e},vr=function(e){return"function"==typeof e},wr=function(e){return"string"==typeof e},xr=Array.isArray,kr=function(e){return e&&e[br]},Sr=function e(n){return n&&(wr(n)||Pr(n)||vr(n)||xr(n)&&n.every(e))},Er=function(e){return e&&vr(e.take)&&vr(e.close)},Pr=function(e){return Boolean(e)&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype};function Tr(e,n){var t;void 0===n&&(n=!0);var r=new Promise((function(r){t=setTimeout(r,e,n)}));return r[mr]=function(){clearTimeout(t)},r}function Or(e,n,t){if(!n(e))throw new Error(t)}var _r=function(e){throw e},Cr=function(e){return{value:e,done:!0}};var Rr="TAKE",jr="CALL",Nr="FORK",Ar="CANCEL",Fr="\n(HINT: if you are getting this errors in tests, consider using createMockTask from @redux-saga/testing-utils)",Dr=function(e,n){var t;return(t={})[hr]=!0,t.combinator=!1,t.type=e,t.payload=n,t};function Ir(e,n){if(void 0===e&&(e="*"),"production"!==process.env.NODE_ENV&&arguments.length&&Or(arguments[0],yr,"take(patternOrChannel): patternOrChannel is undefined"),Sr(e))return Dr(Rr,{pattern:e});if(Er(t=e)&&t[gr]&&yr(n)&&Sr(n))return Dr(Rr,{channel:e,pattern:n});var t;if(Er(e))return Dr(Rr,{channel:e});if("production"!==process.env.NODE_ENV)throw new Error("take(patternOrChannel): argument "+e+" is not valid channel or a valid pattern")}function Xr(e,n){return"production"!==process.env.NODE_ENV&&(arguments.length>1?(Or(e,yr,"put(channel, action): argument channel is undefined"),Or(e,Er,"put(channel, action): argument "+e+" is not a valid channel"),Or(n,yr,"put(channel, action): argument action is undefined")):Or(e,yr,"put(action): argument action is undefined")),null==n&&(n=e,e=void 0),Dr("PUT",{channel:e,action:n})}function Lr(e){var n=Dr("ALL",e);return n.combinator=!0,n}var Kr=function(e,n){if(Or(n,yr,e+": argument fn is undefined or null"),!vr(n)){var t,r=null;if(xr(n))r=n[0],Or(t=n[1],yr,e+": argument of type [context, fn] has undefined or null `fn`");else{if(!function(e){return e&&!xr(e)&&"object"==typeof e}(n))return void Or(n,vr,e+": argument fn is not function");r=n.context,Or(t=n.fn,yr,e+": argument of type {context, fn} has undefined or null `fn`")}r&&wr(t)?Or(r[t],vr,e+': context arguments has no such method - "'+t+'"'):Or(t,vr,e+": unpacked fn argument (from [context, fn] or {context, fn}) is not a function")}};function Mr(e,n){var t,r=null;return vr(e)?t=e:(xr(e)?(r=e[0],t=e[1]):(r=e.context,t=e.fn),r&&wr(t)&&vr(r[t])&&(t=r[t])),{context:r,fn:t,args:n}}var Ur=function(e){return e!==Br};function qr(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];if("production"!==process.env.NODE_ENV){var o="number"==typeof t[0]?t[0]:"ms";Or(e,Ur,"instead of writing `yield call(delay, "+o+")` where delay is an effect from `redux-saga/effects` you should write `yield delay("+o+")`"),Kr("call",e)}return Dr(jr,Mr(e,t))}function Hr(e){"production"!==process.env.NODE_ENV&&Kr("fork",e);for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];return Dr(Nr,Mr(e,t))}function Vr(e){if(void 0===e&&(e=zr),"production"!==process.env.NODE_ENV){if(arguments.length>1)throw new Error("cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.");xr(e)?e.forEach((function(e){Or(e,kr,"cancel([...tasks]): argument "+e+" is not a valid Task object "+Fr)})):e!==zr&&yr(e)&&Or(e,kr,"cancel(task): argument "+e+" is not a valid Task object "+Fr)}return Dr(Ar,e)}var Br=qr.bind(null,Tr),Wr=function(e){return{done:!0,value:e}},Gr={};function Jr(e){return Er(e)?"channel":vr(n=e)&&n.hasOwnProperty("toString")?String(e):vr(e)?e.name:String(e);var n}function $r(e,n,t){var r,o,i,s=n;function a(n,t){if(s===Gr)return Wr(n);if(t&&!o)throw s=Gr,t;r&&r(n);var a=t?e[o](t):e[s]();return s=a.nextState,i=a.effect,r=a.stateUpdater,o=a.errorState,s===Gr?Wr(n):i}return function(e,n,t){void 0===n&&(n=_r),void 0===t&&(t="iterator");var r={meta:{name:t},next:e,throw:n,return:Cr,isSagaIterator:!0};return"undefined"!=typeof Symbol&&(r[Symbol.iterator]=function(){return r}),r}(a,(function(e){return a(null,e)}),t)}function Yr(e,n){for(var t=arguments.length,r=new Array(t>2?t-2:0),o=2;o<t;o++)r[o-2]=arguments[o];var i,s,a={done:!1,value:Ir(e)},l=function(e){return{done:!1,value:Hr.apply(void 0,[n].concat(r,[e]))}},c=function(e){return{done:!1,value:Vr(e)}},d=function(e){return i=e},u=function(e){return s=e};return $r({q1:function(){return{nextState:"q2",effect:a,stateUpdater:u}},q2:function(){return i?{nextState:"q3",effect:c(i)}:{nextState:"q1",effect:l(s),stateUpdater:d}},q3:function(){return{nextState:"q1",effect:l(s),stateUpdater:d}}},"q1","takeLatest("+Jr(e)+", "+n.name+")")}function Qr(e,n){"production"!==process.env.NODE_ENV&&function(e,n,t){Or(n,yr,e.name+" requires a pattern or channel"),Or(t,yr,e.name+" requires a saga parameter")}(Qr,e,n);for(var t=arguments.length,r=new Array(t>2?t-2:0),o=2;o<t;o++)r[o-2]=arguments[o];return Hr.apply(void 0,[Yr,e,n].concat(r))}function Zr(e){return 204===e.status||205===e.status?null:e.json()}function eo(e){if(e.status>=200&&e.status<300)return e;const n=new Error(e.statusText);throw n.response=e,n}function no(e,n){return fetch(e,n).then(eo).then(Zr)}const to=function(e){return no(`${pt}threads/${e}/`,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"}})},ro=function(e,n){let t;return t=n||`${pt}posts/?thread_id=${e}`,no(t,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"}})},oo=function(e){const n=p.get("csrftoken");return no(`${pt}posts/`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","X-CSRFToken":n,"X-Requested-With":"XMLHttpRequest"},body:JSON.stringify(e)})},io=function(e){const n=p.get("csrftoken");return no(`${pt}posts/${e.uid}/`,{method:"PUT",headers:{Accept:"application/json","Content-Type":"application/json","X-CSRFToken":n,"X-Requested-With":"XMLHttpRequest"},body:JSON.stringify(e)})},so=function(e){const n=p.get("csrftoken");return no(`${pt}posts/${e.uid}/`,{method:"DELETE",headers:{Accept:"application/json","Content-Type":"application/json","X-CSRFToken":n,"X-Requested-With":"XMLHttpRequest"},body:JSON.stringify(e)})},ao=function(e,n){const t=p.get("csrftoken");return no(`${pt}posts/${e.uid}/vote/`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","X-CSRFToken":t,"X-Requested-With":"XMLHttpRequest"},body:JSON.stringify({vote:n})})};function*lo(e){const{nextHref:n,topicSlug:t}=e;try{const e=yield qr(to,t,n);yield Xr(Jt(e))}catch(e){yield Xr($t(e))}}function*co(e){const{threadId:n,nextHref:t}=e;try{const e=yield qr(ro,n,t);yield Xr(Yt(e))}catch(e){yield Xr(Qt(e))}}function*uo(e){const{post:n}=e;try{const e=yield qr(oo,n);yield Xr(Zt(e))}catch(e){yield Xr(er(e))}}function*fo(e){const{post:n}=e;try{const e=yield qr(io,n);yield Xr(nr(e))}catch(e){yield Xr(tr(e))}}function*po(e){const{post:n,vote:t}=e;try{const e=yield qr(ao,n,t);yield Xr(nr(e))}catch(e){yield Xr(tr(e))}}function*mo(e){const{post:n}=e;try{const e=yield qr(so,n);yield Xr(rr(e))}catch(e){}}function*ho(){yield Lr([Qr(wt,lo),Qr(St,co),Qr(Tt,uo),Qr(Ct,fo),Qr(jt,mo),Qr(At,po)])}const go=function(e){let n;return n=e||`${pt}topics/`,no(n,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"}})},zo=function(e){return no(`${pt}topics/${e}/`,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"}})};function*bo(e){const{nextHref:n}=e;try{const e=yield qr(go,n);yield Xr(ir(e))}catch(e){yield Xr(sr(e))}}function*yo(e){const{slug:n}=e;try{const e=yield qr(zo,n);yield Xr(ar(e))}catch(e){yield Xr(lr(e))}}function*vo(){yield Lr([Qr(Xt,bo),Qr(Mt,yo)])}const wo=function(){const e=window.DJEDDIT_CONFIG;let n=`${pt}users/me/`;return e&&({API_PROFILE_URL:n}=e),no(n,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"}})};function*xo(){try{const e=yield qr(wo);yield Xr(dr(e))}catch(e){yield Xr(ur(e)),yield Xr(dr(void 0))}}function*ko(){yield Qr(_n,xo)}var So={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Eo=n.createContext&&n.createContext(So),Po=function(){return Po=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Po.apply(this,arguments)},To=function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&(t[r[o]]=e[r[o]])}return t};function Oo(e){return e&&e.map((function(e,t){return n.createElement(e.tag,Po({key:t},e.attr),Oo(e.child))}))}function _o(e){return function(t){return n.createElement(Co,Po({attr:Po({},e.attr)},t),Oo(e.child))}}function Co(e){var t=function(t){var r,o=e.size||t.size||"1em";t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className);var i=e.attr,s=e.title,a=To(e,["attr","title"]);return n.createElement("svg",Po({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,i,a,{className:r,style:Po({color:e.color||t.color},t.style,e.style),height:o,width:o,xmlns:"http://www.w3.org/2000/svg"}),s&&n.createElement("title",null,s),e.children)};return void 0!==Eo?n.createElement(Eo.Consumer,null,(function(e){return t(e)})):t(So)}var Ro=function(e){return _o({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"}}]})(e)};Ro.displayName="FaArrowDown";var jo=function(e){return _o({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"}}]})(e)};jo.displayName="FaArrowUp";ke('.mde-header {\n  flex-shrink: 0;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: stretch;\n  border-bottom: 1px solid #c8ccd0;\n  border-radius: 2px 2px 0 0;\n  background: #f9f9f9; }\n  .mde-header .mde-tabs {\n    display: flex;\n    flex-direction: row; }\n    .mde-header .mde-tabs button {\n      border-radius: 2px;\n      margin: 6px 3px;\n      background-color: transparent;\n      border: 1px solid transparent;\n      cursor: pointer; }\n      .mde-header .mde-tabs button:first-child {\n        margin-left: 6px; }\n      .mde-header .mde-tabs button.selected {\n        border: 1px solid #c8ccd0; }\n  .mde-header .svg-icon {\n    width: 1em;\n    height: 1em;\n    display: inline-block;\n    font-size: inherit;\n    overflow: visible;\n    vertical-align: -.125em; }\n  .mde-header button:focus {\n    outline: 0; }\n  .mde-header ul.mde-header-group {\n    margin: 0;\n    padding: 10px;\n    list-style: none;\n    display: flex;\n    flex-wrap: nowrap; }\n    .mde-header ul.mde-header-group.hidden {\n      visibility: hidden; }\n    .mde-header ul.mde-header-group li.mde-header-item {\n      display: inline-block;\n      position: relative;\n      margin: 0 4px; }\n      .mde-header ul.mde-header-group li.mde-header-item button {\n        text-align: left;\n        cursor: pointer;\n        height: 22px;\n        padding: 4px;\n        margin: 0;\n        border: none;\n        background: none;\n        color: #242729; }\n\n@keyframes tooltip-appear {\n  from {\n    opacity: 0; }\n  to {\n    opacity: 1; } }\n        .mde-header ul.mde-header-group li.mde-header-item button.tooltipped:hover::before {\n          animation-name: tooltip-appear;\n          animation-duration: 0.2s;\n          animation-delay: 0.5s;\n          animation-fill-mode: forwards;\n          opacity: 0;\n          position: absolute;\n          z-index: 1000001;\n          width: 0;\n          height: 0;\n          color: rgba(0, 0, 0, 0.8);\n          pointer-events: none;\n          content: "";\n          border: 5px solid transparent;\n          top: -5px;\n          right: 50%;\n          bottom: auto;\n          margin-right: -5px;\n          border-top-color: rgba(0, 0, 0, 0.8); }\n        .mde-header ul.mde-header-group li.mde-header-item button.tooltipped:hover::after {\n          animation-name: tooltip-appear;\n          animation-duration: 0.2s;\n          animation-delay: 0.5s;\n          animation-fill-mode: forwards;\n          font-size: 11px;\n          opacity: 0;\n          position: absolute;\n          z-index: 1000000;\n          padding: 5px 8px;\n          color: #fff;\n          pointer-events: none;\n          content: attr(aria-label);\n          background: rgba(0, 0, 0, 0.8);\n          border-radius: 3px;\n          right: 50%;\n          bottom: 100%;\n          transform: translateX(50%);\n          margin-bottom: 5px;\n          white-space: nowrap; }\n      .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown {\n        position: absolute;\n        left: 0;\n        top: 30px;\n        background-color: white;\n        border: 1px solid #c8ccd0;\n        padding: 5px;\n        z-index: 2;\n        transform: translateX(-9px); }\n        .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown li {\n          margin: 0;\n          white-space: nowrap;\n          list-style: none;\n          display: block; }\n          .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown li button {\n            display: block;\n            height: auto; }\n            .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown li button p {\n              display: block;\n              margin: 0;\n              padding: 0;\n              font-weight: bold;\n              line-height: 1em;\n              background: none;\n              border: 0;\n              text-align: left; }\n              .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown li button p:hover {\n                color: #4078c0; }\n              .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown li button p.header-1 {\n                font-size: 20px; }\n              .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown li button p.header-2 {\n                font-size: 18px; }\n              .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown li button p.header-3 {\n                font-size: 14px; }\n              .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown li button p.header-4 {\n                font-size: 12px; }\n        .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown::before {\n          position: absolute;\n          content: "";\n          width: 0;\n          height: 0;\n          border: 8px solid transparent;\n          border-bottom-color: rgba(0, 0, 0, 0.15);\n          top: -16px;\n          left: 3px;\n          transform: translateX(50%); }\n        .mde-header ul.mde-header-group li.mde-header-item ul.react-mde-dropdown::after {\n          position: absolute;\n          content: "";\n          width: 0;\n          height: 0;\n          border: 7px solid transparent;\n          border-bottom-color: white;\n          top: -14px;\n          left: 5px;\n          transform: translateX(50%); }\n\ntextarea.mde-text {\n  width: 100%;\n  border: 0;\n  padding: 10px;\n  vertical-align: top;\n  resize: none;\n  overflow-y: auto; }\n\n.mde-preview .mde-preview-content {\n  padding: 10px; }\n  .mde-preview .mde-preview-content p, .mde-preview .mde-preview-content blockquote, .mde-preview .mde-preview-content ul, .mde-preview .mde-preview-content ol, .mde-preview .mde-preview-content dl, .mde-preview .mde-preview-content table, .mde-preview .mde-preview-content pre {\n    margin-top: 0;\n    margin-bottom: 16px; }\n  .mde-preview .mde-preview-content h1, .mde-preview .mde-preview-content h2, .mde-preview .mde-preview-content h3 {\n    margin-top: 24px;\n    margin-bottom: 16px;\n    font-weight: 600;\n    line-height: 1.25;\n    border-bottom: 1px solid #eee;\n    padding-bottom: 0.3em; }\n  .mde-preview .mde-preview-content h1 {\n    font-size: 1.6em; }\n  .mde-preview .mde-preview-content h2 {\n    font-size: 1.4em; }\n  .mde-preview .mde-preview-content h3 {\n    font-size: 1.2em; }\n  .mde-preview .mde-preview-content ul, .mde-preview .mde-preview-content ol {\n    padding-left: 2em; }\n  .mde-preview .mde-preview-content blockquote {\n    margin-left: 0;\n    padding: 0 1em;\n    color: #777;\n    border-left: 0.25em solid #ddd; }\n    .mde-preview .mde-preview-content blockquote > :first-child {\n      margin-top: 0; }\n    .mde-preview .mde-preview-content blockquote > :last-child {\n      margin-bottom: 0; }\n  .mde-preview .mde-preview-content code {\n    padding: 0.2em 0 0.2em 0;\n    margin: 0;\n    font-size: 90%;\n    background-color: rgba(0, 0, 0, 0.04);\n    border-radius: 3px; }\n    .mde-preview .mde-preview-content code::before, .mde-preview .mde-preview-content code::after {\n      letter-spacing: -0.2em;\n      content: "\\00a0"; }\n  .mde-preview .mde-preview-content pre {\n    padding: 16px;\n    overflow: auto;\n    font-size: 85%;\n    line-height: 1.45;\n    background-color: #f7f7f7;\n    border-radius: 3px; }\n    .mde-preview .mde-preview-content pre code {\n      display: inline;\n      padding: 0;\n      margin: 0;\n      overflow: visible;\n      line-height: inherit;\n      word-wrap: normal;\n      background-color: transparent;\n      border: 0; }\n      .mde-preview .mde-preview-content pre code::before, .mde-preview .mde-preview-content pre code::after {\n        content: none; }\n    .mde-preview .mde-preview-content pre > code {\n      padding: 0;\n      margin: 0;\n      font-size: 100%;\n      word-break: normal;\n      white-space: pre;\n      background: transparent;\n      border: 0; }\n  .mde-preview .mde-preview-content a {\n    color: #4078c0;\n    text-decoration: none; }\n    .mde-preview .mde-preview-content a:hover {\n      text-decoration: underline; }\n  .mde-preview .mde-preview-content > *:first-child {\n    margin-top: 0 !important; }\n  .mde-preview .mde-preview-content > *:last-child {\n    margin-bottom: 0 !important; }\n  .mde-preview .mde-preview-content::after {\n    display: table;\n    clear: both;\n    content: ""; }\n  .mde-preview .mde-preview-content table {\n    display: block;\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse; }\n    .mde-preview .mde-preview-content table thead th {\n      font-weight: bold; }\n    .mde-preview .mde-preview-content table th, .mde-preview .mde-preview-content table td {\n      padding: 6px 13px;\n      border: 1px solid #c8ccd0; }\n\n* {\n  box-sizing: border-box; }\n\n.react-mde {\n  border: 1px solid #c8ccd0;\n  border-radius: 2px; }\n  .react-mde .grip {\n    border-top: 1px solid #c8ccd0;\n    background-color: #f9f9f9;\n    text-align: center;\n    height: 10px;\n    color: black;\n    cursor: s-resize; }\n    .react-mde .grip .icon {\n      height: 10px; }\n');ke("/* stylelint-disable font-family-no-missing-generic-family-keyword */\n@font-face {\n  font-family: 'KaTeX_AMS';\n  src: url(fonts/KaTeX_AMS-Regular.woff2) format('woff2'), url(fonts/KaTeX_AMS-Regular.woff) format('woff'), url(fonts/KaTeX_AMS-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Caligraphic';\n  src: url(fonts/KaTeX_Caligraphic-Bold.woff2) format('woff2'), url(fonts/KaTeX_Caligraphic-Bold.woff) format('woff'), url(fonts/KaTeX_Caligraphic-Bold.ttf) format('truetype');\n  font-weight: bold;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Caligraphic';\n  src: url(fonts/KaTeX_Caligraphic-Regular.woff2) format('woff2'), url(fonts/KaTeX_Caligraphic-Regular.woff) format('woff'), url(fonts/KaTeX_Caligraphic-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Fraktur';\n  src: url(fonts/KaTeX_Fraktur-Bold.woff2) format('woff2'), url(fonts/KaTeX_Fraktur-Bold.woff) format('woff'), url(fonts/KaTeX_Fraktur-Bold.ttf) format('truetype');\n  font-weight: bold;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Fraktur';\n  src: url(fonts/KaTeX_Fraktur-Regular.woff2) format('woff2'), url(fonts/KaTeX_Fraktur-Regular.woff) format('woff'), url(fonts/KaTeX_Fraktur-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Main';\n  src: url(fonts/KaTeX_Main-Bold.woff2) format('woff2'), url(fonts/KaTeX_Main-Bold.woff) format('woff'), url(fonts/KaTeX_Main-Bold.ttf) format('truetype');\n  font-weight: bold;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Main';\n  src: url(fonts/KaTeX_Main-BoldItalic.woff2) format('woff2'), url(fonts/KaTeX_Main-BoldItalic.woff) format('woff'), url(fonts/KaTeX_Main-BoldItalic.ttf) format('truetype');\n  font-weight: bold;\n  font-style: italic;\n}\n@font-face {\n  font-family: 'KaTeX_Main';\n  src: url(fonts/KaTeX_Main-Italic.woff2) format('woff2'), url(fonts/KaTeX_Main-Italic.woff) format('woff'), url(fonts/KaTeX_Main-Italic.ttf) format('truetype');\n  font-weight: normal;\n  font-style: italic;\n}\n@font-face {\n  font-family: 'KaTeX_Main';\n  src: url(fonts/KaTeX_Main-Regular.woff2) format('woff2'), url(fonts/KaTeX_Main-Regular.woff) format('woff'), url(fonts/KaTeX_Main-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Math';\n  src: url(fonts/KaTeX_Math-BoldItalic.woff2) format('woff2'), url(fonts/KaTeX_Math-BoldItalic.woff) format('woff'), url(fonts/KaTeX_Math-BoldItalic.ttf) format('truetype');\n  font-weight: bold;\n  font-style: italic;\n}\n@font-face {\n  font-family: 'KaTeX_Math';\n  src: url(fonts/KaTeX_Math-Italic.woff2) format('woff2'), url(fonts/KaTeX_Math-Italic.woff) format('woff'), url(fonts/KaTeX_Math-Italic.ttf) format('truetype');\n  font-weight: normal;\n  font-style: italic;\n}\n@font-face {\n  font-family: 'KaTeX_SansSerif';\n  src: url(fonts/KaTeX_SansSerif-Bold.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Bold.woff) format('woff'), url(fonts/KaTeX_SansSerif-Bold.ttf) format('truetype');\n  font-weight: bold;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_SansSerif';\n  src: url(fonts/KaTeX_SansSerif-Italic.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Italic.woff) format('woff'), url(fonts/KaTeX_SansSerif-Italic.ttf) format('truetype');\n  font-weight: normal;\n  font-style: italic;\n}\n@font-face {\n  font-family: 'KaTeX_SansSerif';\n  src: url(fonts/KaTeX_SansSerif-Regular.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Regular.woff) format('woff'), url(fonts/KaTeX_SansSerif-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Script';\n  src: url(fonts/KaTeX_Script-Regular.woff2) format('woff2'), url(fonts/KaTeX_Script-Regular.woff) format('woff'), url(fonts/KaTeX_Script-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Size1';\n  src: url(fonts/KaTeX_Size1-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size1-Regular.woff) format('woff'), url(fonts/KaTeX_Size1-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Size2';\n  src: url(fonts/KaTeX_Size2-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size2-Regular.woff) format('woff'), url(fonts/KaTeX_Size2-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Size3';\n  src: url(fonts/KaTeX_Size3-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size3-Regular.woff) format('woff'), url(fonts/KaTeX_Size3-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Size4';\n  src: url(fonts/KaTeX_Size4-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size4-Regular.woff) format('woff'), url(fonts/KaTeX_Size4-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'KaTeX_Typewriter';\n  src: url(fonts/KaTeX_Typewriter-Regular.woff2) format('woff2'), url(fonts/KaTeX_Typewriter-Regular.woff) format('woff'), url(fonts/KaTeX_Typewriter-Regular.ttf) format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n.katex {\n  font: normal 1.21em KaTeX_Main, Times New Roman, serif;\n  line-height: 1.2;\n  text-indent: 0;\n  text-rendering: auto;\n}\n.katex * {\n  -ms-high-contrast-adjust: none !important;\n}\n.katex .katex-version::after {\n  content: \"0.10.2\";\n}\n.katex .katex-mathml {\n  position: absolute;\n  clip: rect(1px, 1px, 1px, 1px);\n  padding: 0;\n  border: 0;\n  height: 1px;\n  width: 1px;\n  overflow: hidden;\n}\n.katex .katex-html {\n  /* \\newline is an empty block at top level, between .base elements */\n}\n.katex .katex-html > .newline {\n  display: block;\n}\n.katex .base {\n  position: relative;\n  display: inline-block;\n  white-space: nowrap;\n  width: min-content;\n}\n.katex .strut {\n  display: inline-block;\n}\n.katex .textbf {\n  font-weight: bold;\n}\n.katex .textit {\n  font-style: italic;\n}\n.katex .textrm {\n  font-family: KaTeX_Main;\n}\n.katex .textsf {\n  font-family: KaTeX_SansSerif;\n}\n.katex .texttt {\n  font-family: KaTeX_Typewriter;\n}\n.katex .mathdefault {\n  font-family: KaTeX_Math;\n  font-style: italic;\n}\n.katex .mathit {\n  font-family: KaTeX_Main;\n  font-style: italic;\n}\n.katex .mathrm {\n  font-style: normal;\n}\n.katex .mathbf {\n  font-family: KaTeX_Main;\n  font-weight: bold;\n}\n.katex .boldsymbol {\n  font-family: KaTeX_Math;\n  font-weight: bold;\n  font-style: italic;\n}\n.katex .amsrm {\n  font-family: KaTeX_AMS;\n}\n.katex .mathbb,\n.katex .textbb {\n  font-family: KaTeX_AMS;\n}\n.katex .mathcal {\n  font-family: KaTeX_Caligraphic;\n}\n.katex .mathfrak,\n.katex .textfrak {\n  font-family: KaTeX_Fraktur;\n}\n.katex .mathtt {\n  font-family: KaTeX_Typewriter;\n}\n.katex .mathscr,\n.katex .textscr {\n  font-family: KaTeX_Script;\n}\n.katex .mathsf,\n.katex .textsf {\n  font-family: KaTeX_SansSerif;\n}\n.katex .mathboldsf,\n.katex .textboldsf {\n  font-family: KaTeX_SansSerif;\n  font-weight: bold;\n}\n.katex .mathitsf,\n.katex .textitsf {\n  font-family: KaTeX_SansSerif;\n  font-style: italic;\n}\n.katex .mainrm {\n  font-family: KaTeX_Main;\n  font-style: normal;\n}\n.katex .vlist-t {\n  display: inline-table;\n  table-layout: fixed;\n}\n.katex .vlist-r {\n  display: table-row;\n}\n.katex .vlist {\n  display: table-cell;\n  vertical-align: bottom;\n  position: relative;\n}\n.katex .vlist > span {\n  display: block;\n  height: 0;\n  position: relative;\n}\n.katex .vlist > span > span {\n  display: inline-block;\n}\n.katex .vlist > span > .pstrut {\n  overflow: hidden;\n  width: 0;\n}\n.katex .vlist-t2 {\n  margin-right: -2px;\n}\n.katex .vlist-s {\n  display: table-cell;\n  vertical-align: bottom;\n  font-size: 1px;\n  width: 2px;\n  min-width: 2px;\n}\n.katex .msupsub {\n  text-align: left;\n}\n.katex .mfrac > span > span {\n  text-align: center;\n}\n.katex .mfrac .frac-line {\n  display: inline-block;\n  width: 100%;\n  border-bottom-style: solid;\n}\n.katex .mfrac .frac-line,\n.katex .overline .overline-line,\n.katex .underline .underline-line,\n.katex .hline,\n.katex .hdashline,\n.katex .rule {\n  min-height: 1px;\n}\n.katex .mspace {\n  display: inline-block;\n}\n.katex .llap,\n.katex .rlap,\n.katex .clap {\n  width: 0;\n  position: relative;\n}\n.katex .llap > .inner,\n.katex .rlap > .inner,\n.katex .clap > .inner {\n  position: absolute;\n}\n.katex .llap > .fix,\n.katex .rlap > .fix,\n.katex .clap > .fix {\n  display: inline-block;\n}\n.katex .llap > .inner {\n  right: 0;\n}\n.katex .rlap > .inner,\n.katex .clap > .inner {\n  left: 0;\n}\n.katex .clap > .inner > span {\n  margin-left: -50%;\n  margin-right: 50%;\n}\n.katex .rule {\n  display: inline-block;\n  border: solid 0;\n  position: relative;\n}\n.katex .overline .overline-line,\n.katex .underline .underline-line,\n.katex .hline {\n  display: inline-block;\n  width: 100%;\n  border-bottom-style: solid;\n}\n.katex .hdashline {\n  display: inline-block;\n  width: 100%;\n  border-bottom-style: dashed;\n}\n.katex .sqrt > .root {\n  margin-left: 0.27777778em;\n  margin-right: -0.55555556em;\n}\n.katex .sizing,\n.katex .fontsize-ensurer {\n  display: inline-block;\n}\n.katex .sizing.reset-size1.size1,\n.katex .fontsize-ensurer.reset-size1.size1 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size1.size2,\n.katex .fontsize-ensurer.reset-size1.size2 {\n  font-size: 1.2em;\n}\n.katex .sizing.reset-size1.size3,\n.katex .fontsize-ensurer.reset-size1.size3 {\n  font-size: 1.4em;\n}\n.katex .sizing.reset-size1.size4,\n.katex .fontsize-ensurer.reset-size1.size4 {\n  font-size: 1.6em;\n}\n.katex .sizing.reset-size1.size5,\n.katex .fontsize-ensurer.reset-size1.size5 {\n  font-size: 1.8em;\n}\n.katex .sizing.reset-size1.size6,\n.katex .fontsize-ensurer.reset-size1.size6 {\n  font-size: 2em;\n}\n.katex .sizing.reset-size1.size7,\n.katex .fontsize-ensurer.reset-size1.size7 {\n  font-size: 2.4em;\n}\n.katex .sizing.reset-size1.size8,\n.katex .fontsize-ensurer.reset-size1.size8 {\n  font-size: 2.88em;\n}\n.katex .sizing.reset-size1.size9,\n.katex .fontsize-ensurer.reset-size1.size9 {\n  font-size: 3.456em;\n}\n.katex .sizing.reset-size1.size10,\n.katex .fontsize-ensurer.reset-size1.size10 {\n  font-size: 4.148em;\n}\n.katex .sizing.reset-size1.size11,\n.katex .fontsize-ensurer.reset-size1.size11 {\n  font-size: 4.976em;\n}\n.katex .sizing.reset-size2.size1,\n.katex .fontsize-ensurer.reset-size2.size1 {\n  font-size: 0.83333333em;\n}\n.katex .sizing.reset-size2.size2,\n.katex .fontsize-ensurer.reset-size2.size2 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size2.size3,\n.katex .fontsize-ensurer.reset-size2.size3 {\n  font-size: 1.16666667em;\n}\n.katex .sizing.reset-size2.size4,\n.katex .fontsize-ensurer.reset-size2.size4 {\n  font-size: 1.33333333em;\n}\n.katex .sizing.reset-size2.size5,\n.katex .fontsize-ensurer.reset-size2.size5 {\n  font-size: 1.5em;\n}\n.katex .sizing.reset-size2.size6,\n.katex .fontsize-ensurer.reset-size2.size6 {\n  font-size: 1.66666667em;\n}\n.katex .sizing.reset-size2.size7,\n.katex .fontsize-ensurer.reset-size2.size7 {\n  font-size: 2em;\n}\n.katex .sizing.reset-size2.size8,\n.katex .fontsize-ensurer.reset-size2.size8 {\n  font-size: 2.4em;\n}\n.katex .sizing.reset-size2.size9,\n.katex .fontsize-ensurer.reset-size2.size9 {\n  font-size: 2.88em;\n}\n.katex .sizing.reset-size2.size10,\n.katex .fontsize-ensurer.reset-size2.size10 {\n  font-size: 3.45666667em;\n}\n.katex .sizing.reset-size2.size11,\n.katex .fontsize-ensurer.reset-size2.size11 {\n  font-size: 4.14666667em;\n}\n.katex .sizing.reset-size3.size1,\n.katex .fontsize-ensurer.reset-size3.size1 {\n  font-size: 0.71428571em;\n}\n.katex .sizing.reset-size3.size2,\n.katex .fontsize-ensurer.reset-size3.size2 {\n  font-size: 0.85714286em;\n}\n.katex .sizing.reset-size3.size3,\n.katex .fontsize-ensurer.reset-size3.size3 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size3.size4,\n.katex .fontsize-ensurer.reset-size3.size4 {\n  font-size: 1.14285714em;\n}\n.katex .sizing.reset-size3.size5,\n.katex .fontsize-ensurer.reset-size3.size5 {\n  font-size: 1.28571429em;\n}\n.katex .sizing.reset-size3.size6,\n.katex .fontsize-ensurer.reset-size3.size6 {\n  font-size: 1.42857143em;\n}\n.katex .sizing.reset-size3.size7,\n.katex .fontsize-ensurer.reset-size3.size7 {\n  font-size: 1.71428571em;\n}\n.katex .sizing.reset-size3.size8,\n.katex .fontsize-ensurer.reset-size3.size8 {\n  font-size: 2.05714286em;\n}\n.katex .sizing.reset-size3.size9,\n.katex .fontsize-ensurer.reset-size3.size9 {\n  font-size: 2.46857143em;\n}\n.katex .sizing.reset-size3.size10,\n.katex .fontsize-ensurer.reset-size3.size10 {\n  font-size: 2.96285714em;\n}\n.katex .sizing.reset-size3.size11,\n.katex .fontsize-ensurer.reset-size3.size11 {\n  font-size: 3.55428571em;\n}\n.katex .sizing.reset-size4.size1,\n.katex .fontsize-ensurer.reset-size4.size1 {\n  font-size: 0.625em;\n}\n.katex .sizing.reset-size4.size2,\n.katex .fontsize-ensurer.reset-size4.size2 {\n  font-size: 0.75em;\n}\n.katex .sizing.reset-size4.size3,\n.katex .fontsize-ensurer.reset-size4.size3 {\n  font-size: 0.875em;\n}\n.katex .sizing.reset-size4.size4,\n.katex .fontsize-ensurer.reset-size4.size4 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size4.size5,\n.katex .fontsize-ensurer.reset-size4.size5 {\n  font-size: 1.125em;\n}\n.katex .sizing.reset-size4.size6,\n.katex .fontsize-ensurer.reset-size4.size6 {\n  font-size: 1.25em;\n}\n.katex .sizing.reset-size4.size7,\n.katex .fontsize-ensurer.reset-size4.size7 {\n  font-size: 1.5em;\n}\n.katex .sizing.reset-size4.size8,\n.katex .fontsize-ensurer.reset-size4.size8 {\n  font-size: 1.8em;\n}\n.katex .sizing.reset-size4.size9,\n.katex .fontsize-ensurer.reset-size4.size9 {\n  font-size: 2.16em;\n}\n.katex .sizing.reset-size4.size10,\n.katex .fontsize-ensurer.reset-size4.size10 {\n  font-size: 2.5925em;\n}\n.katex .sizing.reset-size4.size11,\n.katex .fontsize-ensurer.reset-size4.size11 {\n  font-size: 3.11em;\n}\n.katex .sizing.reset-size5.size1,\n.katex .fontsize-ensurer.reset-size5.size1 {\n  font-size: 0.55555556em;\n}\n.katex .sizing.reset-size5.size2,\n.katex .fontsize-ensurer.reset-size5.size2 {\n  font-size: 0.66666667em;\n}\n.katex .sizing.reset-size5.size3,\n.katex .fontsize-ensurer.reset-size5.size3 {\n  font-size: 0.77777778em;\n}\n.katex .sizing.reset-size5.size4,\n.katex .fontsize-ensurer.reset-size5.size4 {\n  font-size: 0.88888889em;\n}\n.katex .sizing.reset-size5.size5,\n.katex .fontsize-ensurer.reset-size5.size5 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size5.size6,\n.katex .fontsize-ensurer.reset-size5.size6 {\n  font-size: 1.11111111em;\n}\n.katex .sizing.reset-size5.size7,\n.katex .fontsize-ensurer.reset-size5.size7 {\n  font-size: 1.33333333em;\n}\n.katex .sizing.reset-size5.size8,\n.katex .fontsize-ensurer.reset-size5.size8 {\n  font-size: 1.6em;\n}\n.katex .sizing.reset-size5.size9,\n.katex .fontsize-ensurer.reset-size5.size9 {\n  font-size: 1.92em;\n}\n.katex .sizing.reset-size5.size10,\n.katex .fontsize-ensurer.reset-size5.size10 {\n  font-size: 2.30444444em;\n}\n.katex .sizing.reset-size5.size11,\n.katex .fontsize-ensurer.reset-size5.size11 {\n  font-size: 2.76444444em;\n}\n.katex .sizing.reset-size6.size1,\n.katex .fontsize-ensurer.reset-size6.size1 {\n  font-size: 0.5em;\n}\n.katex .sizing.reset-size6.size2,\n.katex .fontsize-ensurer.reset-size6.size2 {\n  font-size: 0.6em;\n}\n.katex .sizing.reset-size6.size3,\n.katex .fontsize-ensurer.reset-size6.size3 {\n  font-size: 0.7em;\n}\n.katex .sizing.reset-size6.size4,\n.katex .fontsize-ensurer.reset-size6.size4 {\n  font-size: 0.8em;\n}\n.katex .sizing.reset-size6.size5,\n.katex .fontsize-ensurer.reset-size6.size5 {\n  font-size: 0.9em;\n}\n.katex .sizing.reset-size6.size6,\n.katex .fontsize-ensurer.reset-size6.size6 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size6.size7,\n.katex .fontsize-ensurer.reset-size6.size7 {\n  font-size: 1.2em;\n}\n.katex .sizing.reset-size6.size8,\n.katex .fontsize-ensurer.reset-size6.size8 {\n  font-size: 1.44em;\n}\n.katex .sizing.reset-size6.size9,\n.katex .fontsize-ensurer.reset-size6.size9 {\n  font-size: 1.728em;\n}\n.katex .sizing.reset-size6.size10,\n.katex .fontsize-ensurer.reset-size6.size10 {\n  font-size: 2.074em;\n}\n.katex .sizing.reset-size6.size11,\n.katex .fontsize-ensurer.reset-size6.size11 {\n  font-size: 2.488em;\n}\n.katex .sizing.reset-size7.size1,\n.katex .fontsize-ensurer.reset-size7.size1 {\n  font-size: 0.41666667em;\n}\n.katex .sizing.reset-size7.size2,\n.katex .fontsize-ensurer.reset-size7.size2 {\n  font-size: 0.5em;\n}\n.katex .sizing.reset-size7.size3,\n.katex .fontsize-ensurer.reset-size7.size3 {\n  font-size: 0.58333333em;\n}\n.katex .sizing.reset-size7.size4,\n.katex .fontsize-ensurer.reset-size7.size4 {\n  font-size: 0.66666667em;\n}\n.katex .sizing.reset-size7.size5,\n.katex .fontsize-ensurer.reset-size7.size5 {\n  font-size: 0.75em;\n}\n.katex .sizing.reset-size7.size6,\n.katex .fontsize-ensurer.reset-size7.size6 {\n  font-size: 0.83333333em;\n}\n.katex .sizing.reset-size7.size7,\n.katex .fontsize-ensurer.reset-size7.size7 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size7.size8,\n.katex .fontsize-ensurer.reset-size7.size8 {\n  font-size: 1.2em;\n}\n.katex .sizing.reset-size7.size9,\n.katex .fontsize-ensurer.reset-size7.size9 {\n  font-size: 1.44em;\n}\n.katex .sizing.reset-size7.size10,\n.katex .fontsize-ensurer.reset-size7.size10 {\n  font-size: 1.72833333em;\n}\n.katex .sizing.reset-size7.size11,\n.katex .fontsize-ensurer.reset-size7.size11 {\n  font-size: 2.07333333em;\n}\n.katex .sizing.reset-size8.size1,\n.katex .fontsize-ensurer.reset-size8.size1 {\n  font-size: 0.34722222em;\n}\n.katex .sizing.reset-size8.size2,\n.katex .fontsize-ensurer.reset-size8.size2 {\n  font-size: 0.41666667em;\n}\n.katex .sizing.reset-size8.size3,\n.katex .fontsize-ensurer.reset-size8.size3 {\n  font-size: 0.48611111em;\n}\n.katex .sizing.reset-size8.size4,\n.katex .fontsize-ensurer.reset-size8.size4 {\n  font-size: 0.55555556em;\n}\n.katex .sizing.reset-size8.size5,\n.katex .fontsize-ensurer.reset-size8.size5 {\n  font-size: 0.625em;\n}\n.katex .sizing.reset-size8.size6,\n.katex .fontsize-ensurer.reset-size8.size6 {\n  font-size: 0.69444444em;\n}\n.katex .sizing.reset-size8.size7,\n.katex .fontsize-ensurer.reset-size8.size7 {\n  font-size: 0.83333333em;\n}\n.katex .sizing.reset-size8.size8,\n.katex .fontsize-ensurer.reset-size8.size8 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size8.size9,\n.katex .fontsize-ensurer.reset-size8.size9 {\n  font-size: 1.2em;\n}\n.katex .sizing.reset-size8.size10,\n.katex .fontsize-ensurer.reset-size8.size10 {\n  font-size: 1.44027778em;\n}\n.katex .sizing.reset-size8.size11,\n.katex .fontsize-ensurer.reset-size8.size11 {\n  font-size: 1.72777778em;\n}\n.katex .sizing.reset-size9.size1,\n.katex .fontsize-ensurer.reset-size9.size1 {\n  font-size: 0.28935185em;\n}\n.katex .sizing.reset-size9.size2,\n.katex .fontsize-ensurer.reset-size9.size2 {\n  font-size: 0.34722222em;\n}\n.katex .sizing.reset-size9.size3,\n.katex .fontsize-ensurer.reset-size9.size3 {\n  font-size: 0.40509259em;\n}\n.katex .sizing.reset-size9.size4,\n.katex .fontsize-ensurer.reset-size9.size4 {\n  font-size: 0.46296296em;\n}\n.katex .sizing.reset-size9.size5,\n.katex .fontsize-ensurer.reset-size9.size5 {\n  font-size: 0.52083333em;\n}\n.katex .sizing.reset-size9.size6,\n.katex .fontsize-ensurer.reset-size9.size6 {\n  font-size: 0.5787037em;\n}\n.katex .sizing.reset-size9.size7,\n.katex .fontsize-ensurer.reset-size9.size7 {\n  font-size: 0.69444444em;\n}\n.katex .sizing.reset-size9.size8,\n.katex .fontsize-ensurer.reset-size9.size8 {\n  font-size: 0.83333333em;\n}\n.katex .sizing.reset-size9.size9,\n.katex .fontsize-ensurer.reset-size9.size9 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size9.size10,\n.katex .fontsize-ensurer.reset-size9.size10 {\n  font-size: 1.20023148em;\n}\n.katex .sizing.reset-size9.size11,\n.katex .fontsize-ensurer.reset-size9.size11 {\n  font-size: 1.43981481em;\n}\n.katex .sizing.reset-size10.size1,\n.katex .fontsize-ensurer.reset-size10.size1 {\n  font-size: 0.24108004em;\n}\n.katex .sizing.reset-size10.size2,\n.katex .fontsize-ensurer.reset-size10.size2 {\n  font-size: 0.28929605em;\n}\n.katex .sizing.reset-size10.size3,\n.katex .fontsize-ensurer.reset-size10.size3 {\n  font-size: 0.33751205em;\n}\n.katex .sizing.reset-size10.size4,\n.katex .fontsize-ensurer.reset-size10.size4 {\n  font-size: 0.38572806em;\n}\n.katex .sizing.reset-size10.size5,\n.katex .fontsize-ensurer.reset-size10.size5 {\n  font-size: 0.43394407em;\n}\n.katex .sizing.reset-size10.size6,\n.katex .fontsize-ensurer.reset-size10.size6 {\n  font-size: 0.48216008em;\n}\n.katex .sizing.reset-size10.size7,\n.katex .fontsize-ensurer.reset-size10.size7 {\n  font-size: 0.57859209em;\n}\n.katex .sizing.reset-size10.size8,\n.katex .fontsize-ensurer.reset-size10.size8 {\n  font-size: 0.69431051em;\n}\n.katex .sizing.reset-size10.size9,\n.katex .fontsize-ensurer.reset-size10.size9 {\n  font-size: 0.83317261em;\n}\n.katex .sizing.reset-size10.size10,\n.katex .fontsize-ensurer.reset-size10.size10 {\n  font-size: 1em;\n}\n.katex .sizing.reset-size10.size11,\n.katex .fontsize-ensurer.reset-size10.size11 {\n  font-size: 1.19961427em;\n}\n.katex .sizing.reset-size11.size1,\n.katex .fontsize-ensurer.reset-size11.size1 {\n  font-size: 0.20096463em;\n}\n.katex .sizing.reset-size11.size2,\n.katex .fontsize-ensurer.reset-size11.size2 {\n  font-size: 0.24115756em;\n}\n.katex .sizing.reset-size11.size3,\n.katex .fontsize-ensurer.reset-size11.size3 {\n  font-size: 0.28135048em;\n}\n.katex .sizing.reset-size11.size4,\n.katex .fontsize-ensurer.reset-size11.size4 {\n  font-size: 0.32154341em;\n}\n.katex .sizing.reset-size11.size5,\n.katex .fontsize-ensurer.reset-size11.size5 {\n  font-size: 0.36173633em;\n}\n.katex .sizing.reset-size11.size6,\n.katex .fontsize-ensurer.reset-size11.size6 {\n  font-size: 0.40192926em;\n}\n.katex .sizing.reset-size11.size7,\n.katex .fontsize-ensurer.reset-size11.size7 {\n  font-size: 0.48231511em;\n}\n.katex .sizing.reset-size11.size8,\n.katex .fontsize-ensurer.reset-size11.size8 {\n  font-size: 0.57877814em;\n}\n.katex .sizing.reset-size11.size9,\n.katex .fontsize-ensurer.reset-size11.size9 {\n  font-size: 0.69453376em;\n}\n.katex .sizing.reset-size11.size10,\n.katex .fontsize-ensurer.reset-size11.size10 {\n  font-size: 0.83360129em;\n}\n.katex .sizing.reset-size11.size11,\n.katex .fontsize-ensurer.reset-size11.size11 {\n  font-size: 1em;\n}\n.katex .delimsizing.size1 {\n  font-family: KaTeX_Size1;\n}\n.katex .delimsizing.size2 {\n  font-family: KaTeX_Size2;\n}\n.katex .delimsizing.size3 {\n  font-family: KaTeX_Size3;\n}\n.katex .delimsizing.size4 {\n  font-family: KaTeX_Size4;\n}\n.katex .delimsizing.mult .delim-size1 > span {\n  font-family: KaTeX_Size1;\n}\n.katex .delimsizing.mult .delim-size4 > span {\n  font-family: KaTeX_Size4;\n}\n.katex .nulldelimiter {\n  display: inline-block;\n  width: 0.12em;\n}\n.katex .delimcenter {\n  position: relative;\n}\n.katex .op-symbol {\n  position: relative;\n}\n.katex .op-symbol.small-op {\n  font-family: KaTeX_Size1;\n}\n.katex .op-symbol.large-op {\n  font-family: KaTeX_Size2;\n}\n.katex .op-limits > .vlist-t {\n  text-align: center;\n}\n.katex .accent > .vlist-t {\n  text-align: center;\n}\n.katex .accent .accent-body {\n  position: relative;\n}\n.katex .accent .accent-body:not(.accent-full) {\n  width: 0;\n}\n.katex .overlay {\n  display: block;\n}\n.katex .mtable .vertical-separator {\n  display: inline-block;\n  margin: 0 -0.025em;\n  border-right: 0.05em solid;\n  min-width: 1px;\n}\n.katex .mtable .vs-dashed {\n  border-right: 0.05em dashed;\n}\n.katex .mtable .arraycolsep {\n  display: inline-block;\n}\n.katex .mtable .col-align-c > .vlist-t {\n  text-align: center;\n}\n.katex .mtable .col-align-l > .vlist-t {\n  text-align: left;\n}\n.katex .mtable .col-align-r > .vlist-t {\n  text-align: right;\n}\n.katex .svg-align {\n  text-align: left;\n}\n.katex svg {\n  display: block;\n  position: absolute;\n  width: 100%;\n  height: inherit;\n  fill: currentColor;\n  stroke: currentColor;\n  fill-rule: nonzero;\n  fill-opacity: 1;\n  stroke-width: 1;\n  stroke-linecap: butt;\n  stroke-linejoin: miter;\n  stroke-miterlimit: 4;\n  stroke-dasharray: none;\n  stroke-dashoffset: 0;\n  stroke-opacity: 1;\n}\n.katex svg path {\n  stroke: none;\n}\n.katex img {\n  border-style: none;\n  min-width: 0;\n  min-height: 0;\n  max-width: none;\n  max-height: none;\n}\n.katex .stretchy {\n  width: 100%;\n  display: block;\n  position: relative;\n  overflow: hidden;\n}\n.katex .stretchy::before,\n.katex .stretchy::after {\n  content: \"\";\n}\n.katex .hide-tail {\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n}\n.katex .halfarrow-left {\n  position: absolute;\n  left: 0;\n  width: 50.2%;\n  overflow: hidden;\n}\n.katex .halfarrow-right {\n  position: absolute;\n  right: 0;\n  width: 50.2%;\n  overflow: hidden;\n}\n.katex .brace-left {\n  position: absolute;\n  left: 0;\n  width: 25.1%;\n  overflow: hidden;\n}\n.katex .brace-center {\n  position: absolute;\n  left: 25%;\n  width: 50%;\n  overflow: hidden;\n}\n.katex .brace-right {\n  position: absolute;\n  right: 0;\n  width: 25.1%;\n  overflow: hidden;\n}\n.katex .x-arrow-pad {\n  padding: 0 0.5em;\n}\n.katex .x-arrow,\n.katex .mover,\n.katex .munder {\n  text-align: center;\n}\n.katex .boxpad {\n  padding: 0 0.3em 0 0.3em;\n}\n.katex .fbox,\n.katex .fcolorbox {\n  box-sizing: border-box;\n  border: 0.04em solid;\n}\n.katex .cancel-pad {\n  padding: 0 0.2em 0 0.2em;\n}\n.katex .cancel-lap {\n  margin-left: -0.2em;\n  margin-right: -0.2em;\n}\n.katex .sout {\n  border-bottom-style: solid;\n  border-bottom-width: 0.08em;\n}\n.katex-display {\n  display: block;\n  margin: 1em 0;\n  text-align: center;\n}\n.katex-display > .katex {\n  display: block;\n  text-align: center;\n  white-space: nowrap;\n}\n.katex-display > .katex > .katex-html {\n  display: block;\n  position: relative;\n}\n.katex-display > .katex > .katex-html > .tag {\n  position: absolute;\n  right: 0;\n}\n.katex-display.leqno > .katex > .katex-html > .tag {\n  left: 0;\n  right: auto;\n}\n.katex-display.fleqn > .katex {\n  text-align: left;\n}\n\n");var No=new m.Converter({tables:!0,simplifiedAutoLink:!0,strikethrough:!0,tasklists:!0,extensions:[h({throwOnError:!0,displayMode:!1})]});const Ao=window.DJEDDIT_CONFIG;let Fo="username";Ao&&({DISPLAY_USERNAME_FIELD:Fo}=Ao);class Do extends _.Component{constructor(e){super(e),Se(this,"handleTabChange",(e=>{this.setState({mdeTab:e})})),this.state={content:"",mdeTab:"write"},this.handleChangeContent=this.handleChangeContent.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}handleChangeContent(e){this.setState({content:e})}handleSubmit(e){e.preventDefault(),this.props.onSubmitPost({content:this.state.content,parent:this.props.parentPost.uid}),this.setState({content:""})}render(){return _.createElement(g,null,_.createElement(z,{md:11},_.createElement("div",{className:"post-container bs-callout"},0===this.props.parentPost.level?_.createElement("div",{className:""},_.createElement("h6",{style:{display:"inline"},className:""},"Comment as"," "),this.props.currentProfile?_.createElement("h4",{className:"",style:{display:"inline"}},_.createElement("a",{href:this.props.currentProfile.get_absolute_url,target:"blank"},this.props.currentProfile[Fo])):null):_.createElement("div",{className:""},_.createElement("h6",{style:{display:"inline"},className:""},"Reply to"," "),_.createElement("h4",{className:"",style:{display:"inline"}},this.props.parentPost.created_by?_.createElement("a",{href:this.props.parentPost.created_by.get_absolute_url,target:"blank"},this.props.parentPost.created_by[Fo]):"Guest")),_.createElement(y,{onChange:this.handleChangeContent,value:this.state.content,selectedTab:this.state.mdeTab,onTabChange:this.handleTabChange,generateMarkdownPreview:e=>Promise.resolve(No.makeHtml(e))}),_.createElement("br",null),_.createElement("form",{method:"post",acceptCharset:"utf-8",onSubmit:this.handleSubmit},_.createElement("div",{className:"btn-group btn-group-xs",role:"group"},0===this.props.parentPost.level?_.createElement(b,{disabled:""===this.state.content,type:"submit"},"Comment"):_.createElement("span",null,_.createElement(b,{type:"submit",disabled:""===this.state.content},"Reply")," ",_.createElement(b,{type:"reset",onClick:this.props.onToggleForm},"Cancel")))))))}}Do.propTypes={parentPost:t.object.isRequired,currentProfile:t.oneOfType([t.object,t.bool]),onSubmitPost:t.func.isRequired,onToggleForm:t.func};const Io=window.DJEDDIT_CONFIG;let Xo="username";Io&&({DISPLAY_USERNAME_FIELD:Xo}=Io);class Lo extends _.Component{constructor(e){super(e),Se(this,"handleTabChange",(e=>{this.setState({mdeTab:e})})),this.state={content:e.parentPost.content,mdeTab:"write"},this.handleChangeContent=this.handleChangeContent.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}handleChangeContent(e){this.setState({content:e})}handleSubmit(e){e.preventDefault(),this.props.onSubmitPost({content:this.state.content,uid:this.props.parentPost.uid})}render(){return _.createElement(g,null,_.createElement(z,{md:11},_.createElement("div",{className:"post-container bs-callout"},_.createElement("div",{className:""},_.createElement("h6",{style:{display:"inline"},className:""},"Comment as"," "),this.props.currentProfile?_.createElement("h4",{className:"",style:{display:"inline"}},_.createElement("a",{href:this.props.currentProfile.get_absolute_url,target:"blank"},this.props.currentProfile[Xo])):null),_.createElement(y,{onChange:this.handleChangeContent,value:this.state.content,selectedTab:this.state.mdeTab,onTabChange:this.handleTabChange,generateMarkdownPreview:e=>Promise.resolve(No.makeHtml(e))}),_.createElement("br",null),_.createElement("form",{method:"post",acceptCharset:"utf-8",onSubmit:this.handleSubmit},_.createElement("div",{className:"btn-group btn-group-xs",role:"group"},0===this.props.parentPost.level?_.createElement(b,{disabled:""===this.state.content,type:"submit"},"Comment"):_.createElement("span",null,_.createElement(b,{type:"submit",disabled:""===this.state.content},"Edit")," ",_.createElement(b,{type:"reset",onClick:this.props.onToggleForm},"Cancel")))))))}}Lo.propTypes={parentPost:t.object.isRequired,currentProfile:t.oneOfType([t.object,t.bool]),onSubmitPost:t.func.isRequired,onToggleForm:t.func};const Ko=window.DJEDDIT_CONFIG;let Mo="username";Ko&&({DISPLAY_USERNAME_FIELD:Mo}=Ko);const Uo=e=>{const n=Pe({},e,{plugins:[S],renderers:Pe({},e.renderers,{math:e=>_.createElement(k.Node,null,e.value),inlineMath:e=>_.createElement(k.Node,{inline:!0},e.value)})});return _.createElement(k.Context,{input:"tex"},_.createElement(w,n))};class qo extends _.Component{constructor(e){super(e),this.state={replyFormShow:!1,editFormShow:!1,content:this.props.post.content},this.onSubmitReplay=this.onSubmitReplay.bind(this),this.onSubmitEdit=this.onSubmitEdit.bind(this),this.toggleReplyForm=this.toggleReplyForm.bind(this),this.toggleEditForm=this.toggleEditForm.bind(this),this.onVoteClick=this.onVoteClick.bind(this),this.editComment=this.editComment.bind(this),this.restoreComment=this.restoreComment.bind(this),this.deleteComment=this.deleteComment.bind(this)}componentDidUpdate(e,n,t){this.props.post&&this.props.post.content!==e.post.content&&this.setState({content:this.props.post.content})}onSubmitReplay(...e){this.props.onSubmitReplay(...e),this.toggleReplyForm()}onSubmitEdit(...e){this.props.onSubmitEdit(...e),this.toggleEditForm()}restoreComment(){const e={uid:this.props.post.uid,deleted_on:null};this.props.onSubmitEdit(e)}toggleReplyForm(){this.setState({replyFormShow:!this.state.replyFormShow})}toggleEditForm(){this.setState({editFormShow:!this.state.editFormShow})}deleteComment(){confirm("Are you sure you want to delete this comment?")&&this.props.onDelete(this.props.post)}editComment(){this.setState({editFormShow:!this.state.editFormShow})}onVoteClick(e){this.props.changePostVote(this.props.post,e)}render(){return _.createElement("div",null,this.props.post?_.createElement(x,{fluid:!0,style:{padding:0}},_.createElement(g,null,_.createElement(z,{sm:11,md:11},_.createElement(g,{className:"gray-text"},_.createElement(z,{md:1,sm:2,xs:4},this.props.post.created_by?_.createElement("a",{href:this.props.post.created_by.get_absolute_url,target:"_blank"},this.props.post.created_by[Mo]):"Guest"),_.createElement(z,{md:2,sm:3,xs:4},_.createElement(v,{fromNow:!0},this.props.post.created_on)),_.createElement(z,{md:2,sm:3,xs:4},this.props.post.modified_on?_.createElement("span",null,"edited"," ",_.createElement(v,{fromNow:!0},this.props.post.modified_on)):null)),_.createElement(g,null,_.createElement(z,{sm:12,md:12},_.createElement("div",{className:"postcol"},_.createElement("div",{className:"post-content"},_.createElement("div",{style:{display:this.state.editFormShow?"block":"none"}},_.createElement(Lo,{parentPost:this.props.post,currentProfile:this.props.currentProfile,onSubmitPost:e=>{this.setState({content:e.content}),this.onSubmitEdit(e)},onToggleForm:this.toggleEditForm})),this.state.editFormShow?null:_.createElement("div",{className:"mde-preview"},_.createElement("div",{className:"mde-preview-content"},_.createElement(Uo,{source:this.state.content})))),_.createElement("div",{className:"djeddit-post-item-footer"},!this.props.post.deleted_on&&_.createElement("div",{className:"djeddit-score"},_.createElement(jo,{onClick:()=>this.onVoteClick(1),style:{cursor:"pointer",margin:"0 .5rem",color:1===this.props.post.user_vote&&"blue"}}),_.createElement("span",{className:" djeddit-score-number"},this.props.post.score),_.createElement(Ro,{onClick:()=>this.onVoteClick(-1),style:{cursor:"pointer",margin:"0 .5rem",color:-1===this.props.post.user_vote&&"blue"}})),this.props.currentProfile&&!this.props.post.deleted_on?_.createElement("div",{className:"btn-group btn-group-xs",role:"group"},this.props.post.user_can_edit&&_.createElement("button",{onClick:this.toggleEditForm,className:"btn btn-secondary"},"Edit"),!this.props.post.deleted_on&&_.createElement("button",{onClick:this.toggleReplyForm,className:"btn btn-secondary"},"Reply"),this.props.post.user_can_delete&&_.createElement("button",{onClick:this.deleteComment,className:"btn btn-secondary"},"Delete")):null,this.props.currentProfile&&this.props.currentProfile.is_staff&&this.props.post.deleted_on?_.createElement("div",{className:"btn-group btn-group-xs",role:"group"},_.createElement("button",{onClick:this.restoreComment,className:"btn btn-secondary"},"Restore")):null,this.props.currentProfile||this.props.post.deleted_on?null:_.createElement("span",null,"Please register or login to post a comment"))))),_.createElement(g,null,_.createElement(z,{sm:12,md:12},_.createElement("div",{className:"btn-group btn-group-xs",role:"group"}))),_.createElement("div",{style:{display:this.state.replyFormShow?"block":"none"}},_.createElement(Do,{parentPost:this.props.post,currentProfile:this.props.currentProfile,onSubmitPost:this.onSubmitReplay,onToggleForm:this.toggleReplyForm}))))):null)}}qo.propTypes={post:t.object.isRequired,onSubmitReplay:t.func.isRequired,onSubmitEdit:t.func.isRequired,currentProfile:t.oneOfType([t.object,t.bool]),changePostVote:t.func.isRequired,onDelete:t.func.isRequired};const Ho=window.DJEDDIT_CONFIG;let Vo="username";Ho&&({DISPLAY_USERNAME_FIELD:Vo}=Ho);const Bo=e=>{const n=Pe({},e,{plugins:[S],renderers:Pe({},e.renderers,{math:e=>_.createElement(k.Node,null,e.value),inlineMath:e=>_.createElement(k.Node,{inline:!0},e.value)})});return _.createElement(k.Context,{input:"tex"},_.createElement(w,n))};class Wo extends _.Component{constructor(e){super(e),this.state={replyFormShow:!1,editFormShow:!1,content:this.props.post.content},this.onSubmitReplay=this.onSubmitReplay.bind(this),this.onSubmitEdit=this.onSubmitEdit.bind(this),this.toggleReplyForm=this.toggleReplyForm.bind(this),this.toggleEditForm=this.toggleEditForm.bind(this),this.onVoteClick=this.onVoteClick.bind(this),this.editComment=this.editComment.bind(this),this.deleteComment=this.deleteComment.bind(this),this.restoreComment=this.restoreComment.bind(this)}componentDidUpdate(e,n,t){this.props.post&&this.props.post.content!==e.post.content&&this.setState({content:this.props.post.content})}onSubmitReplay(...e){this.props.onSubmitReplay(...e),this.toggleReplyForm()}onSubmitEdit(...e){this.props.onSubmitEdit(...e),this.toggleEditForm()}restoreComment(){const e={uid:this.props.post.uid,deleted_on:null};this.props.onSubmitEdit(e)}toggleReplyForm(){this.setState({replyFormShow:!this.state.replyFormShow})}toggleEditForm(){this.setState({editFormShow:!this.state.editFormShow})}deleteComment(){confirm("Are you sure you want to delete this comment?")&&this.props.onDelete(this.props.post)}editComment(){this.setState({editFormShow:!this.state.editFormShow})}onVoteClick(e){this.props.changePostVote(this.props.post,e)}render(){return _.createElement("div",null,this.props.post&&(this.props.showReplyFormOnly?this.props.currentProfile&&_.createElement(Do,{parentPost:this.props.post,currentProfile:this.props.currentProfile,onSubmitPost:this.onSubmitReplay,onToggleForm:this.toggleReplyForm}):_.createElement(x,{fluid:!0,style:{padding:0}},_.createElement(g,null,_.createElement(z,{sm:11,md:11},_.createElement(g,{className:"gray-text"},_.createElement(z,{md:1,sm:2,xs:4},this.props.post.created_by?_.createElement("a",{href:this.props.post.created_by.get_absolute_url,target:"_blank"},this.props.post.created_by[Vo]):"Guest"),_.createElement(z,{md:2,sm:3,xs:4},_.createElement(v,{fromNow:!0},this.props.post.created_on)),_.createElement(z,{md:2,sm:3,xs:4},this.props.post.modified_on?_.createElement("span",null,"edited"," ",_.createElement(v,{fromNow:!0},this.props.post.modified_on)):null)),_.createElement(g,null,_.createElement(z,{sm:12,md:12},_.createElement("div",{className:"postcol"},_.createElement("div",{className:"post-content"},_.createElement("div",{style:{display:this.state.editFormShow?"block":"none"}},_.createElement(Lo,{parentPost:this.props.post,currentProfile:this.props.currentProfile,onSubmitPost:e=>{this.setState({content:e.content}),this.onSubmitEdit(e)},onToggleForm:this.toggleEditForm})),this.state.editFormShow?null:_.createElement("div",{className:"mde-preview"},_.createElement("div",{className:"mde-preview-content"},_.createElement(Bo,{source:this.state.content})))),_.createElement("div",{className:"djeddit-post-item-footer"},!this.props.post.deleted_on&&_.createElement("div",{className:"djeddit-score"},_.createElement(jo,{onClick:()=>this.onVoteClick(1),style:{cursor:"pointer",margin:"0 .5rem",color:1===this.props.post.user_vote&&"blue"}}),_.createElement("span",{className:" djeddit-score-number"},this.props.post.score),_.createElement(Ro,{onClick:()=>this.onVoteClick(-1),style:{cursor:"pointer",margin:"0 .5rem",color:-1===this.props.post.user_vote&&"blue"}})),this.props.currentProfile&&!this.props.post.deleted_on?_.createElement("div",{className:"btn-group btn-group-xs",role:"group"},this.props.post.user_can_edit&&_.createElement("button",{onClick:this.toggleEditForm,className:"btn btn-secondary"},"Edit"),_.createElement("button",{onClick:this.toggleReplyForm,className:"btn btn-secondary"},"Reply"),this.props.post.user_can_delete&&!this.props.post.deleted_on?_.createElement("button",{onClick:this.deleteComment,className:"btn btn-secondary"},"Delete"):null):null,this.props.currentProfile&&this.props.currentProfile.is_staff&&this.props.post.deleted_on?_.createElement("div",{className:"btn-group btn-group-xs",role:"group"},_.createElement("button",{onClick:this.restoreComment,className:"btn btn-secondary"},"Restore")):null,this.props.currentProfile||this.props.post.deleted_on?null:_.createElement("span",null,"Please register or login to post a comment"))))),_.createElement(g,null,_.createElement(z,{sm:12,md:12},_.createElement("div",{className:"btn-group btn-group-xs",role:"group"}))),_.createElement("div",{style:{display:this.state.replyFormShow?"block":"none"}},_.createElement(Do,{parentPost:this.props.post,currentProfile:this.props.currentProfile,onSubmitPost:this.onSubmitReplay,onToggleForm:this.toggleReplyForm})))))))}}Wo.propTypes={post:t.object.isRequired,onSubmitReplay:t.func.isRequired,onSubmitEdit:t.func.isRequired,currentProfile:t.oneOfType([t.object,t.bool]),changePostVote:t.func.isRequired,onDelete:t.func.isRequired,showReplyFormOnly:t.bool};const Go=e=>e.global||jn,Jo=window.DJEDDIT_CONFIG;let $o=!1;Jo&&({ANON_AS_USER_OBJECT:$o}=Jo);const Yo=$o,Qo="thread",Zo="topics";function ei({threadActions:e,topicsActions:t,appActions:r,match:o,postsList:i,newPost:s,updatedPost:a,deletedPost:l,thread:c,topic:d,signedInUser:u,threadId:f,anonAsUserObject:p=Yo}){lt({key:Qo,reducer:Dt}),bt({key:Qo,saga:ho}),lt({key:Zo,reducer:Vt}),bt({key:Zo,saga:vo}),bt({key:"app",saga:ko}),lt({key:"app",reducer:Nn});const[m,h]=n.useState([]),[g,z]=n.useState(!1),[b,y]=n.useState(null),[v,w]=n.useState([]);n.useEffect((()=>{d&&w([{key:"Topics",content:"Topics",href:"/topics",onClick:e=>{e.preventDefault(),it.push("/topics")}},{key:d.slug,content:d.title,href:`/topics/${d.slug}`,onClick:e=>{e.preventDefault(),it.push(`/topics/${d.slug}`)}}])}),[d]),n.useEffect((()=>{a&&h(m.map((e=>a.uid===e.uid?a:e)))}),[a]),n.useEffect((()=>{u||r.loadSignedInUser()}),[]),n.useEffect((()=>(f&&e.loadPosts(f),()=>{x()})),[f]);const x=()=>{z(!1),h([]),e.postsLoaded(!1),e.newPostSuccess(null)};n.useEffect((()=>(o&&(d||t.loadTopic(o.params.topicSlug),e.loadThread(o.params.threadId),e.loadPosts(o.params.threadId)),()=>{x()})),[]),n.useEffect((()=>{var e,n,t;i&&(h((e=m,n=i.results,t="uid",e.filter((e=>!n.find((n=>e[t]===n[t])))).concat(n))),z(Boolean(i.next)),y(i.next))}),[i]),n.useEffect((()=>{if(s){const e=m.findIndex((e=>e.uid===s.parent)),n=[...m];n.splice(e+1,0,s),h(n)}}),[s]),n.useEffect((()=>{l&&h(m.map((e=>l.uid===e.uid?l:e)))}),[l]);const k=n=>{e.newPost(n)},S=n=>{e.updatePost(n)},P=n=>{e.deletePost(n)},O=(...n)=>{e.votePost(...n)},C=()=>u?u&&p&&Object.prototype.hasOwnProperty.call(u,"is_anonymous")&&u.is_anonymous?null:u:null;let R=null;m.length>0&&(R=_.createElement(Wo,{post:m[0],onSubmitReplay:k,onSubmitEdit:S,currentProfile:C(),changePostVote:(...e)=>{O(...e)},onDelete:P,showReplyFormOnly:Boolean(f)}));const j=m.filter((function(e){return 0!==e.level})).map((e=>((e,n,t,r)=>{const o=`${e.level}rem`;return 0===e.level?null:_.createElement("div",{key:e.uid,style:{paddingLeft:o}},_.createElement("div",{style:{width:o,display:"inline-block",height:"100%",boxSizing:"border-box"}}),_.createElement("div",{style:{position:"relative"}},_.createElement(qo,{post:e,onSubmitReplay:n,onSubmitEdit:t,currentProfile:C(),changePostVote:(...e)=>{O(...e)},onDelete:r})))})(e,k,S,P)));return _.createElement("article",null,!f&&_.createElement(_.Fragment,null,_.createElement(E.Helmet,null,_.createElement("title",null,"Thread"),_.createElement("meta",{name:"description",content:"Djeedit React thread"})),_.createElement(yt,{sections:v})),_.createElement("div",null,_.createElement(Gt,null,_.createElement(vt,null,c&&c.title)),R,_.createElement(Wt,null,_.createElement(T,{pageStart:0,loadMore:()=>{g&&(z(Boolean(!1)),e.loadPosts(f||o.params.threadId,b))},hasMore:g},j,i&&0===i.count&&_.createElement("h4",null,"There are no comments to show")))))}ei.propTypes={threadActions:t.shape({loadThread:t.func.isRequired,loadPosts:t.func.isRequired,postsLoaded:t.func.isRequired,updatePost:t.func.isRequired,deletePost:t.func.isRequired,newPost:t.func.isRequired,votePost:t.func.isRequired}).isRequired,appActions:t.shape({loadSignedInUser:t.func.isRequired}).isRequired,topicsActions:t.shape({loadTopic:t.func.isRequired}).isRequired,match:t.object,thread:t.oneOfType([t.object,t.bool]),postsList:t.oneOfType([t.object,t.bool]),topic:t.oneOfType([t.object,t.bool]),newPost:t.oneOfType([t.object,t.bool]),updatedPost:t.oneOfType([t.object,t.bool]),deletedPost:t.oneOfType([t.object,t.bool]),signedInUser:t.oneOfType([t.object,t.bool]),threadId:t.number,anonAsUserObject:t.bool};const ni=f.createStructuredSelector({postsList:f.createSelector(It,(e=>e.postsList)),topic:f.createSelector(Bt,(e=>e.topic)),thread:f.createSelector(It,(e=>e.thread)),newPost:f.createSelector(It,(e=>e.newPost)),updatedPost:f.createSelector(It,(e=>e.updatedPost)),deletedPost:f.createSelector(It,(e=>e.deletedPost)),signedInUser:f.createSelector(Go,(e=>e.signedInUser))});const ti=xe(ni,(function(e){return{threadActions:s.bindActionCreators(or,e),topicsActions:s.bindActionCreators(cr,e),appActions:s.bindActionCreators(fr,e)}}));var ri=s.compose(ti,n.memo)(ei);const oi=function(e={},n){let t=s.compose;"production"!==process.env.NODE_ENV&&"object"==typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__&&(t=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}));const r=O({}),o=[r,Fe(n)],i=[s.applyMiddleware(...o)],a=s.createStore(st(),e,t(...i));return a.runSaga=r.run,a.injectedReducers={},a.injectedSagas={},module.hot&&module.hot.accept("./reducers",(()=>{a.replaceReducer(st(a.injectedReducers))})),a}({});function ii({threadId:e}){return _.createElement(D,{store:oi},_.createElement(ri,{threadId:e}))}ii.propTypes={threadId:t.number,anonAsUserObject:t.bool},e.ThreadComponent=ii,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=/sm/66145f3a30f02bc8b16b32ee94b19ea77ce6c6c34a639fb023a72ea3b9c40491.map