packages feed

espial 0.0.3 → 0.0.4

raw patch · 37 files changed

+15826/−9506 lines, 37 filesbinary-added

Files

config/routes view
@@ -13,7 +13,8 @@ !/#UserNameP/#TagsP UserTagsR GET  -- add-/add AddR GET POST+/add AddViewR GET+api/add AddR POST  -- edit /bm/#Int64 DeleteR DELETE
espial.cabal view
@@ -2,14 +2,14 @@ -- -- see: https://github.com/sol/hpack ----- hash: a5845d0e6b4dfb4ad7bb9439764c343bcf020725b3f10c09cad05ccb0664fbff+-- hash: 8ef5bfe0c483801f3c3100cffc7bf1dbacace5b94ff965f13cef227a59e290c5  name:           espial-version:        0.0.3+version:        0.0.4 synopsis:       Espial is an open-source, web-based bookmarking server. description:    .                 Espial is an open-source, web-based bookmarking server.-                - Yesod + sqlite3+                - Yesod + PureScript + sqlite3                 - multi-user (w/ privacy scopes)                 - tags, stars, editing, deleting  category:       Web@@ -32,28 +32,29 @@     purs/Makefile     purs/psc-package.json     purs/src/App.purs-    purs/src/BMark.purs     purs/src/Globals.js     purs/src/Globals.purs+    purs/src/Main.purs+    purs/src/Model.purs+    purs/src/User.purs     purs/src/Util.purs     purs/test/Main.purs     README.md-    static/css/bootstrap.css     static/css/main.css     static/css/popup.css+    static/css/tachyons.min.css+    static/css/tachyons.min.css.gz     static/images/bluepin.gif     static/js/app.js     static/js/app.js.gz+    static/js/app.min.js+    static/js/app.min.js.gz     static/js/html5shiv.min.js     static/js/html5shiv.min.js.gz     static/js/js.cookie-2.2.0.min.js     static/js/js.cookie-2.2.0.min.js.gz     static/js/moment.min.js     static/js/moment.min.js.gz-    templates/add-exists-alert.hamlet-    templates/add.hamlet-    templates/add.julius-    templates/app.julius     templates/default-layout-wrapper.hamlet     templates/default-layout.hamlet     templates/homepage.hamlet
purs/Makefile view
@@ -1,14 +1,12 @@ o_dist = dist o_name = app.js m_name = app.min.js-y_name = app.js+y_name = app.min.js y_static = ../static/js pulp = pulp --psc-package-modules = --modules App,BMark,Globals,Util+modules = --modules App,User,Globals,Util skip = --skip-entry-point  -minify = uglifyjs- .PHONY: clean build  all: deploy@@ -18,8 +16,9 @@ 		$(skip) \ 		$(modules) \ 		--to $(o_dist)/$(o_name) && \-		$(minify) $(o_dist)/$(o_name) > $(o_dist)/$(m_name) && \-		rm -f $(o_dist)/$(m_name).gz && \+		(cd $(o_dist) && terser $(o_name) -m -c -o $(m_name)) && \+		rm -f $(o_dist)/*.gz && \+		gzip -k $(o_dist)/$(o_name) && \ 		gzip -k $(o_dist)/$(m_name) && \ 		ls -lh $(o_dist) @@ -27,6 +26,8 @@ 	$(pulp) -w build -O $(skip) $(modules) --to $(o_dist)/$(o_name)  deploy: build+	cp $(o_dist)/$(o_name) $(y_static)/$(o_name) && \+	cp $(o_dist)/$(o_name).gz $(y_static)/$(o_name).gz && \ 	cp $(o_dist)/$(m_name) $(y_static)/$(y_name) && \ 	cp $(o_dist)/$(m_name).gz $(y_static)/$(y_name).gz 
purs/psc-package.json view
@@ -1,20 +1,23 @@-{-  "name": "purs",-  "set": "psc-0.12.0",-  "source": "https://github.com/purescript/package-sets.git",-  "depends": [-    "aff",-    "affjax",-    "arrays",-    "console",-    "debug",-    "effect",-    "either",-    "functions",-    "prelude",-    "psci-support",-    "strings",-    "transformers",-    "web-html"-  ]-}+{
+  "name": "purs",
+  "set": "psc-0.12.0-20180704",
+  "source": "https://github.com/purescript/package-sets.git",
+  "depends": [
+    "aff",
+    "simple-json",
+    "affjax",
+    "argonaut",
+    "arrays",
+    "console",
+    "debug",
+    "effect",
+    "either",
+    "functions",
+    "halogen",
+    "prelude",
+    "psci-support",
+    "strings",
+    "transformers",
+    "web-html"
+  ]
+}
purs/src/App.purs view
@@ -1,75 +1,109 @@-module App where--import Prelude-import Globals (app')--import Data.Array ((:))-import Data.Either (Either(..))-import Data.FormURLEncoded (FormURLEncoded)-import Data.HTTP.Method (Method(..))-import Data.Maybe (Maybe(..))-import Data.MediaType.Common (applicationFormURLEncoded)-import Effect (Effect)-import Effect.Aff (Aff, launchAff)-import Effect.Class (liftEffect)-import Network.HTTP.Affjax (affjax, AffjaxResponse)-import Network.HTTP.Affjax (defaultRequest) as AX-import Network.HTTP.Affjax.Request as AXReq-import Network.HTTP.Affjax.Response as AXRes-import Network.HTTP.RequestHeader (RequestHeader(..))-import Web.Event.Event (Event, preventDefault)-import Web.HTML (window)-import Web.HTML.Location (reload)-import Web.HTML.Window (location)---- import Data.Argonaut.Core as J--logoutE :: Event -> Effect Unit-logoutE e = void <<< launchAff <<< logout =<< preventDefault e--logout :: Unit -> Aff Unit-logout u = do-  void $ fetchUrl POST app.authRlogoutR [] Nothing AXRes.ignore-  liftEffect $ window >>= location >>= reload-  where-    app = app' u--fetchUrlEnc-  :: forall a.-     Method-  -> String-  -> Maybe FormURLEncoded-  -> AXRes.Response a-  -> Aff (AffjaxResponse a)-fetchUrlEnc method path content rt =-    fetchPath method path [ContentType applicationFormURLEncoded] (AXReq.FormURLEncoded <$> content) rt--fetchPath-  :: forall a.-     Method-  -> String-  -> Array RequestHeader-  -> Maybe AXReq.Request-  -> AXRes.Response a-  -> Aff (AffjaxResponse a)-fetchPath method path headers content rt =-    fetchUrl method ((app' unit).homeR <> path) headers content rt--fetchUrl-  :: forall a.-     Method-  -> String-  -> Array RequestHeader-  -> Maybe AXReq.Request-  -> AXRes.Response a-  -> Aff (AffjaxResponse a)-fetchUrl method url headers content rt =-  affjax rt-    AX.defaultRequest-    { url = url-    , method = Left method-    , headers = RequestHeader app.csrfHeaderName app.csrfToken : headers-    , content = content-    }-  where-    app = app' unit+module App where
+
+import Prelude
+
+import Data.Array ((:))
+import Data.Either (Either(..))
+import Data.FormURLEncoded (FormURLEncoded)
+import Data.HTTP.Method (Method(..))
+import Data.Maybe (Maybe(..))
+import Data.MediaType.Common (applicationFormURLEncoded, applicationJSON)
+import Effect (Effect)
+import Effect.Aff (Aff, launchAff)
+import Effect.Class (liftEffect)
+import Globals (app')
+import Model (Bookmark, Bookmark'(..))
+import Network.HTTP.Affjax (affjax, AffjaxResponse)
+import Network.HTTP.Affjax (defaultRequest) as AX
+import Network.HTTP.Affjax.Request as AXReq
+import Network.HTTP.Affjax.Response as AXRes
+import Network.HTTP.RequestHeader (RequestHeader(..))
+import Simple.JSON as J
+import Web.Event.Event (Event, preventDefault)
+import Web.HTML (window)
+import Web.HTML.Location (reload)
+import Web.HTML.Window (location)
+
+data StarAction = Star | UnStar
+instance showStar :: Show StarAction where
+  show Star = "star"
+  show UnStar = "unstar"
+
+toggleStar :: Int -> StarAction -> Aff Unit
+toggleStar bid action = do
+  let path = "bm/" <> show bid <> "/" <> show action
+  void $ fetchUrlEnc POST path Nothing AXRes.ignore
+
+destroy :: Int -> Aff (AffjaxResponse Unit)
+destroy bid =
+  fetchUrlEnc DELETE ("bm/" <> show bid) Nothing AXRes.ignore
+
+markRead :: Int -> Aff (AffjaxResponse Unit)
+markRead bid = do
+  let path = "bm/" <> show bid <> "/read"
+  fetchUrlEnc POST path Nothing AXRes.ignore
+
+editBookmark :: Bookmark -> Aff (AffjaxResponse Unit)
+editBookmark bm =  do
+    fetchJson POST "api/add" (Just $ Bookmark' bm) AXRes.ignore
+
+logoutE :: Event -> Effect Unit
+logoutE e = void <<< launchAff <<< logout =<< preventDefault e
+
+logout :: Unit -> Aff Unit
+logout u = do
+  void $ fetchUrl POST app.authRlogoutR [] Nothing AXRes.ignore
+  liftEffect $ window >>= location >>= reload
+  where
+    app = app' u
+
+fetchJson
+  :: forall a b.
+     J.WriteForeign b
+  => Method
+  -> String
+  -> Maybe b
+  -> AXRes.Response a
+  -> Aff (AffjaxResponse a)
+fetchJson method path content rt =
+    fetchPath method path [ContentType applicationJSON] (AXReq.string <<< J.writeJSON <$> content) rt
+
+fetchUrlEnc
+  :: forall a.
+     Method
+  -> String
+  -> Maybe FormURLEncoded
+  -> AXRes.Response a
+  -> Aff (AffjaxResponse a)
+fetchUrlEnc method path content rt =
+    fetchPath method path [ContentType applicationFormURLEncoded] (AXReq.FormURLEncoded <$> content) rt
+
+fetchPath
+  :: forall a.
+     Method
+  -> String
+  -> Array RequestHeader
+  -> Maybe AXReq.Request
+  -> AXRes.Response a
+  -> Aff (AffjaxResponse a)
+fetchPath method path headers content rt =
+    fetchUrl method ((app' unit).homeR <> path) headers content rt
+
+fetchUrl
+  :: forall a.
+     Method
+  -> String
+  -> Array RequestHeader
+  -> Maybe AXReq.Request
+  -> AXRes.Response a
+  -> Aff (AffjaxResponse a)
+fetchUrl method url headers content rt =
+  affjax rt
+    AX.defaultRequest
+    { url = url
+    , method = Left method
+    , headers = RequestHeader app.csrfHeaderName app.csrfToken : headers
+    , content = content
+    }
+  where
+    app = app' unit
− purs/src/BMark.purs
@@ -1,286 +0,0 @@-module BMark where--import Prelude--import App (fetchUrlEnc)-import Control.Monad.Maybe.Trans (runMaybeT)-import Control.Monad.Trans.Class (lift)-import Data.Array (mapMaybe, filter)-import Data.Foldable (for_, traverse_)-import Data.FormURLEncoded (FormURLEncoded(..))-import Data.HTTP.Method (Method(..))-import Data.Maybe (Maybe(..), fromMaybe)-import Data.String (Pattern(..), Replacement(..), joinWith, length, replaceAll, split, take, trim)-import Data.Traversable (for, traverse)-import Data.Tuple (Tuple(..))-import Effect (Effect)-import Effect.Aff (Aff, launchAff)-import Effect.Class (liftEffect)-import Effect.Class.Console (log)-import Globals (closest, createFormArray, getDataAttribute, innerHtml, moment8601, setInnerHtml)-import Network.HTTP.Affjax (AffjaxResponse)-import Network.HTTP.Affjax.Response as AXRes-import Util (_body, _doc, _fromElement, _fromNode, _getElementById, _mt, _mt_pure, _queryBoth, _queryBoth', _querySelector, _querySelectorAll)-import Web.DOM (Node)-import Web.DOM.ChildNode (remove) as DCN-import Web.DOM.DOMTokenList (contains, toggle, toggleForce, remove, add) as DTL-import Web.DOM.Document (createElement)-import Web.DOM.Element (removeAttribute, setAttribute, setClassName, toChildNode, toNode)-import Web.DOM.Node (appendChild, deepClone, fromEventTarget, insertBefore, setTextContent, textContent)-import Web.Event.Event (Event, preventDefault, target)-import Web.HTML.HTMLDocument (toDocument)-import Web.HTML.HTMLElement (classList, fromNode, toElement) as HE-import Web.HTML.HTMLFormElement (fromNode) as HFE-import Web.HTML.HTMLInputElement (fromElement, setValue, value, setChecked, checked) as HIE-import Web.HTML.HTMLTextAreaElement (fromElement, setValue, value) as HTAE---- replaceIsoTimestamps--replaceIsoTimestamps :: Unit -> Effect Unit-replaceIsoTimestamps u = do-  body <- _body -  xs <- _querySelectorAll ".js-moment" (HE.toElement body)-  for_ xs \x -> do-    getDataAttribute "iso8601" (_fromNode x) >>= \s' ->-      for_ s' \s -> do-        Tuple rel fmt <- moment8601 s-        setTextContent rel x -        setAttribute "title" fmt (_fromNode x)-        setAttribute "style" "visibility:visible" (_fromNode x)---- deleteAskE--deleteAskE :: Event -> Effect Unit-deleteAskE e = do-  preventDefault e-  traverse_ (toggleDelete true) (fromEventTarget =<< target e)---- deleteCancelE--deleteCancelE :: Event -> Effect Unit-deleteCancelE e = do-  preventDefault e-  traverse_ (toggleDelete false) (fromEventTarget =<< target e)--toggleDelete :: Boolean -> Node -> Effect Unit-toggleDelete toggle n = void $ runMaybeT $ do-  dl <- _mt $ closest ".delete_link" n-  c <- _mt $ _querySelector ".confirm" (_fromNode dl)-  d <- _mt $ _querySelector ".delete" (_fromNode dl)-  lift $ removeAttribute "hidden" (if toggle then c else d)-  lift $ setAttribute "hidden" "hidden" (if not toggle then c else d)----- destroyE--destroyE :: Event -> Int -> Boolean -> Effect Unit-destroyE e bid isPopup = do-  preventDefault e-  void $ launchAff $ do-    void $ destroy bid-    liftEffect $ -      if isPopup-        then removeBody unit-        else removeBookmarkNode unit-  where-    removeBody _ = do-      body <- _body -      void $ setInnerHtml "<p class=\'error\'>you killed this bookmark</p>" body -    removeBookmarkNode _ =-      void $ runMaybeT $ do-        eNode <- _mt_pure $ fromEventTarget =<< target e-        bm <- _mt $ closest ".bookmark" eNode-        lift $ DCN.remove (toChildNode (_fromNode bm))--destroy :: Int -> Aff (AffjaxResponse Unit)-destroy bid =-  fetchUrlEnc DELETE ("bm/" <> show bid) Nothing AXRes.ignore---- markReadE--markReadE :: Event -> Int -> Effect Unit-markReadE e bid = do-  preventDefault e-  void $ launchAff $ do-    void $ markRead bid-    liftEffect $ runMaybeT $ do-      eNode <- _mt_pure $ fromEventTarget =<< target e-      removeUnreadClass eNode-      removeReadNode eNode-  where-    removeUnreadClass eNode = do-      bm <- _mt $ closest ".bookmark" eNode -      bt <- _mt $ _querySelector ".bookmark_title" (_fromNode bm)-      lift $ HE.classList (_fromElement bt) >>= (_ `DTL.remove` "unread")-    removeReadNode eNode = do-      rd <- _mt $ closest ".mark_read" eNode -      lift $ DCN.remove (toChildNode (_fromNode rd))--markRead :: Int -> Aff (AffjaxResponse Unit)-markRead bid = do-  let path = "bm/" <> show bid <> "/read"-  fetchUrlEnc POST path Nothing AXRes.ignore---- toggleStarE-  -data StarAction = Star | UnStar-instance showStar :: Show StarAction where-  show Star = "star"-  show UnStar = "unstar"--toggleStarE :: Event -> Int -> Effect Unit-toggleStarE e bid = do-  preventDefault e-  mstarEl <- runMaybeT $ do-    eNode <- _mt_pure $ fromEventTarget =<< target e-    starNode <- _mt $ closest ".star" eNode -    _mt_pure $ HE.fromNode starNode-  for_ mstarEl \starEl -> do-    starClassList <- HE.classList starEl-    let selected_star = "selected_star"-    hasSelectedStar <- starClassList `DTL.contains` selected_star-    void $ launchAff $ toggleStar bid (if hasSelectedStar then UnStar else Star)-    void $ DTL.toggle starClassList selected_star--toggleStar :: Int -> StarAction -> Aff Unit-toggleStar bid action = do-  let path = "bm/" <> show bid <> "/" <> show action-  void $ fetchUrlEnc POST path Nothing AXRes.ignore---- editHideE--editHideE :: Event -> Effect Unit-editHideE e = do-  preventDefault e-  body <- _body -  showDisplay (HE.toElement body)-  removeEdit (HE.toElement body)-  where-    showDisplay body = do-      xs <- _querySelectorAll ".display" body-      for_ xs $ _fromNode >>> removeAttribute "hidden" -    removeEdit body = do-      xs <- _querySelectorAll ".edit_bookmark_form.active" body-      for_ xs $ _fromNode >>> (toChildNode >>> DCN.remove) ---editE :: Event -> Int -> Effect Unit-editE e bid = do-  editHideE e-  body <- _body -  doc <- _doc-  void $ runMaybeT $ do-    t <- _mt_pure $ fromEventTarget =<< target e-    bm <- _mt $ (map >>> map) _fromNode (closest ".bookmark" t)-    d <- _mt $ _querySelector ".display" bm-    el' <- _mt $ _getElementById "edit_bookmark_form_template" doc-    lift $ do-      el <- deepClone (toNode el')-      let ele = _fromNode el--      removeAttribute "id" ele-      removeAttribute "hidden" ele--      HE.classList (_fromElement ele) >>= (_ `DTL.add` "active")--      _querySelector "input[name=bid]" ele >>= \me ->-        for_ (me >>= HIE.fromElement) (HIE.setValue (show bid))--      _queryBoth (Tuple ".url" ele) (Tuple ".url_display" bm) \a b -> do-        url <- textContent (toNode b)-        for_ (HIE.fromElement a) (HIE.setValue (trim url))--      _queryBoth (Tuple ".title" ele) (Tuple ".bookmark_title" bm) \a b -> do-        title <- textContent (toNode b)-        for_ (HIE.fromElement a) (HIE.setValue (trim title))--      _queryBoth (Tuple ".description" ele) (Tuple ".description" bm) \a b -> do-        descr <- innerHtml (_fromElement b)-        let descr' = trim $ replaceAll (Pattern "<br>") (Replacement "\n") descr-        for_ (HTAE.fromElement a) (HTAE.setValue descr')--      _queryBoth' (Tuple ".tags" ele) (Tuple ".tag" bm) \a bs -> do-        tags <- traverse textContent bs-        for_ (HIE.fromElement a) (HIE.setValue (joinWith " " tags))--      _querySelector "input[name=private]" ele >>= \me -> do-        isPrivate <- HE.classList (_fromElement bm) >>= (_ `DTL.contains` "private")-        for_ (me >>= HIE.fromElement) (HIE.setChecked isPrivate)--      _queryBoth (Tuple "input[name=toread]" ele) (Tuple ".read .mark_read" bm) \a _ -> do-        for_ (HIE.fromElement a) (HIE.setChecked true)--      setAttribute "hidden" "hidden" d-      void $ insertBefore el (toNode d) (toNode bm)--editSubmitE :: Event -> Effect Unit-editSubmitE e = do-  preventDefault e-  body <- _body -  doc <- _doc-  void $ runMaybeT $ do-    f <- _mt_pure $ fromEventTarget =<< target e-    let fe = _fromNode f-    fe' <- _mt_pure $ HFE.fromNode f-    bm <- _mt $ (map >>> map) _fromNode (closest ".bookmark" f)-    d <- _mt $ _querySelector ".display" bm-  -    lift $ launchAff $ do-      let dat = Just $ FormURLEncoded $ mapMaybe _mpair (createFormArray fe')-      void $ fetchUrlEnc POST "add?inline=true" dat AXRes.ignore-      liftEffect $ do--        toread <- _querySelector "input[name=toread]" fe >>= \me -> do-          for (me >>= HIE.fromElement) HIE.checked >>= fromMaybe false >>> pure--        private <- _querySelector "input[name=private]" fe >>= \me -> do-          for (me >>= HIE.fromElement) HIE.checked >>= fromMaybe false >>> pure--        _queryBoth (Tuple ".url" fe) (Tuple ".url_display" d) \a b -> do-          url <- for (HIE.fromElement a) HIE.value >>= fromMaybe "" >>> pure-          setTextContent url (toNode b) --        _queryBoth (Tuple ".title" fe) (Tuple ".bookmark_title" d) \a b -> do-          title <- for (HIE.fromElement a) HIE.value >>= fromMaybe "" >>> pure-          setTextContent title (toNode b) -          void $ HE.classList (_fromElement b) >>= \cl -> DTL.toggleForce cl "unread" toread-  -        _queryBoth (Tuple ".description" fe) (Tuple ".description" d) \a b -> do-          descr <- for (HTAE.fromElement a) HTAE.value >>= fromMaybe "" >>> pure-          let descr' = trim $ replaceAll (Pattern "\n") (Replacement "<br>") descr-          void $ setInnerHtml descr' (_fromElement b) -  -        void $ HE.classList (_fromElement bm) >>= \cl -> DTL.toggleForce cl "private" private--        username <- _querySelector ".banner_username" (HE.toElement body) >>= \me -> do-          join <$> for me (getDataAttribute "username") >>= fromMaybe "" >>> pure--        _queryBoth (Tuple ".tags" fe) (Tuple ".tags" d) \a b -> do-          void $ setInnerHtml "" (_fromElement b)-          tags <- for (HIE.fromElement a) HIE.value >>= fromMaybe "" >>> pure-          for_ (words tags) \w -> do-            tag <- createElement "a" (toDocument doc)-            setClassName ("tag" <> (if take 1 w == "." then " private" else "")) tag-            setAttribute "href" ("/u:" <> username <> "/t:" <> w) tag-            setTextContent w (toNode tag)-            appendChild (toNode tag) (toNode b)--        _querySelector ".read" d >>= \me -> do-          for_ me \m -> do-            void $ setInnerHtml "" (_fromElement m)-            when toread $ do-              bid <- getDataAttribute "bid" bm >>= fromMaybe "" >>> pure-              log (bid)-              el <- createElement "a" (toDocument doc)-              setClassName "mark_read" el-              setAttribute "href" "#" el-              setAttribute "onclick" ("PS['BMark'].markReadE(event)(" <> bid <> ")();") el-              setTextContent "mark as read" (toNode el)-              void $ appendChild (toNode el) (toNode m)--        editHideE e-  where-    words = filter ((0 < _) <<< length) <<< split (Pattern " ")-    _mpair = case _ of-      [k, v] -> Just $ Tuple k (Just v)-      _ -> Nothing
purs/src/Globals.js view
@@ -1,60 +1,65 @@-"use strict";--exports._app = function() {-  return app;-}--exports._closest = function(just, nothing, selector, el) {-  var node = el.closest(selector);-  if(node) {-    return just(node);-  } else {-    return nothing;-  }-}--exports._innerHtml = function(el) {-  return el.innerHTML;-}--exports._setInnerHtml = function(content, el) {-  el.innerHTML = content;-  return el;-}--exports._createFormData = function(formElement) {-  return new FormData(formElement);-}--exports._createFormString = function(formElement) {-  return new URLSearchParams(new FormData(formElement)).toString()-}--exports._createFormArray = function(formElement) {-  return Array.from(new FormData(formElement));-}--exports._getDataAttribute = function(name, el) {-  return el.dataset[name];-}--exports._setDataAttribute = function(name, value, el) {-  return el.dataset[name] = value;-}--exports._moment8601 = function(tuple, s) {-  var m = moment(s, moment.ISO_8601);-  var s1 = m.fromNow();-  var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ";-  return tuple(s1)(s2);-}--exports._replace_iso_timestamps = function() {-  $('.js-moment').each(function(i, e) {-    var $e = $(e);-    var m = moment($e.data('iso8601'), moment.ISO_8601);-    $e.text(m.fromNow());-    $e.attr('title', m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ");-    $e.css('visibility','visible');-  });-}+"use strict";
+
+exports._app = function() {
+  return app;
+}
+
+exports._closest = function(just, nothing, selector, el) {
+  var node = el.closest(selector);
+  if(node) {
+    return just(node);
+  } else {
+    return nothing;
+  }
+}
+
+exports._innerHtml = function(el) {
+  return el.innerHTML;
+}
+
+exports._setInnerHtml = function(content, el) {
+  el.innerHTML = content;
+  return el;
+}
+
+exports._createFormData = function(formElement) {
+  return new FormData(formElement);
+}
+
+exports._createFormString = function(formElement) {
+  return new URLSearchParams(new FormData(formElement)).toString()
+}
+
+exports._createFormArray = function(formElement) {
+  return Array.from(new FormData(formElement));
+}
+
+exports._getDataAttribute = function(name, el) {
+  return el.dataset[name];
+}
+
+exports._setDataAttribute = function(name, value, el) {
+  return el.dataset[name] = value;
+}
+
+exports._moment8601 = function(tuple, s) {
+  var m = moment(s, moment.ISO_8601);
+  var s1 = m.fromNow();
+  var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ";
+  return tuple(s1)(s2);
+}
+
+exports._mmoment8601 = function(just, nothing, tuple, s) {
+  try {
+    var m = moment(s, moment.ISO_8601);
+    var s1 = m.fromNow();
+    var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ";
+    return just(tuple(s1)(s2));
+  } catch (error) {
+    return nothing
+  }
+}
+
+exports._closeWindow = function (window) {
+  window.close();
+};
purs/src/Globals.purs view
@@ -1,71 +1,91 @@-module Globals where--import Data.Function.Uncurried--import Data.Maybe (Maybe(..))-import Data.Nullable (Nullable, toMaybe)-import Data.Tuple (Tuple(..))-import Effect (Effect)-import Prelude (Unit, pure, ($))-import Web.DOM (Element, Node)-import Web.HTML (HTMLElement, HTMLFormElement)-import Web.XHR.FormData (FormData)--type AppData =-    { csrfHeaderName :: String-    , csrfCookieName :: String-    , csrfToken :: String-    , homeR :: String-    , authRlogoutR :: String-    }--foreign import _app :: Fn0 AppData--app' :: Unit -> AppData-app' _ = runFn0 _app--foreign import _closest :: forall a. Fn4 (a -> Maybe a) (Maybe a) String Node (Maybe Node)--closest :: String -> Node -> Effect (Maybe Node)-closest selector node = pure $ runFn4 _closest Just Nothing selector node --foreign import _moment8601 :: Fn2 (String -> String -> Tuple String String) String (Tuple String String)--moment8601 :: String -> Effect (Tuple String String)-moment8601 s = pure $ runFn2 _moment8601 Tuple s--foreign import _innerHtml :: Fn1 HTMLElement String--innerHtml :: HTMLElement -> Effect String-innerHtml n = pure $ runFn1 _innerHtml n--foreign import _setInnerHtml :: Fn2 String HTMLElement HTMLElement--setInnerHtml :: String -> HTMLElement -> Effect HTMLElement-setInnerHtml c n = pure $ runFn2 _setInnerHtml c n--foreign import _createFormData :: Fn1 HTMLFormElement FormData--createFormData :: HTMLFormElement -> FormData-createFormData f = runFn1 _createFormData f--foreign import _createFormString :: Fn1 HTMLFormElement String--createFormString :: HTMLFormElement -> String-createFormString f = runFn1 _createFormString f---foreign import _createFormArray :: Fn1 HTMLFormElement (Array (Array String))--createFormArray :: HTMLFormElement -> (Array (Array String))-createFormArray f = runFn1 _createFormArray f--foreign import _getDataAttribute :: Fn2 String Element (Nullable String)--getDataAttribute :: String -> Element -> Effect (Maybe String)-getDataAttribute k n = pure $ toMaybe $ runFn2 _getDataAttribute k n--foreign import _setDataAttribute :: Fn3 String String Element Unit--setDataAttribute :: String -> String -> Element -> Effect Unit-setDataAttribute k v n = pure $ runFn3 _setDataAttribute k v n+module Globals where
+
+import Data.Function.Uncurried
+
+import Data.Maybe (Maybe(..))
+import Data.Nullable (Nullable, toMaybe)
+import Data.Tuple (Tuple(..))
+import Effect (Effect)
+import Model (Bookmark)
+import Prelude (Unit, pure, ($))
+import Web.DOM (Element, Node)
+import Web.HTML (HTMLElement, HTMLFormElement, Window)
+import Web.XHR.FormData (FormData)
+
+type App =
+    { csrfHeaderName :: String
+    , csrfCookieName :: String
+    , csrfParamName :: String
+    , csrfToken :: String
+    , homeR :: String
+    , authRlogoutR :: String
+    , userR :: String
+    , dat :: AppData
+    }
+
+type AppData =
+  { bmarks :: Array Bookmark
+  , bmark :: Bookmark
+  , isowner :: Boolean
+  }
+
+foreign import _app :: Fn0 App
+
+app' :: Unit -> App
+app' _ = runFn0 _app
+
+foreign import _closest :: forall a. Fn4 (a -> Maybe a) (Maybe a) String Node (Maybe Node)
+
+closest :: String -> Node -> Effect (Maybe Node)
+closest selector node = pure $ runFn4 _closest Just Nothing selector node 
+
+foreign import _moment8601 :: Fn2 (String -> String -> Tuple String String) String (Tuple String String)
+
+moment8601 :: String -> Effect (Tuple String String)
+moment8601 s = pure $ runFn2 _moment8601 Tuple s
+
+foreign import _mmoment8601 :: forall a. Fn4 (a -> Maybe a) (Maybe a) (String -> String -> Tuple String String) String (Maybe (Tuple String String))
+
+mmoment8601 :: String -> Maybe (Tuple String String)
+mmoment8601 s = runFn4 _mmoment8601 Just Nothing Tuple s
+
+foreign import _innerHtml :: Fn1 HTMLElement String
+
+innerHtml :: HTMLElement -> Effect String
+innerHtml n = pure $ runFn1 _innerHtml n
+
+foreign import _setInnerHtml :: Fn2 String HTMLElement HTMLElement
+
+setInnerHtml :: String -> HTMLElement -> Effect HTMLElement
+setInnerHtml c n = pure $ runFn2 _setInnerHtml c n
+
+foreign import _createFormData :: Fn1 HTMLFormElement FormData
+
+createFormData :: HTMLFormElement -> FormData
+createFormData f = runFn1 _createFormData f
+
+foreign import _createFormString :: Fn1 HTMLFormElement String
+
+createFormString :: HTMLFormElement -> String
+createFormString f = runFn1 _createFormString f
+
+
+foreign import _createFormArray :: Fn1 HTMLFormElement (Array (Array String))
+
+createFormArray :: HTMLFormElement -> (Array (Array String))
+createFormArray f = runFn1 _createFormArray f
+
+foreign import _getDataAttribute :: Fn2 String Element (Nullable String)
+
+getDataAttribute :: String -> Element -> Effect (Maybe String)
+getDataAttribute k n = pure $ toMaybe $ runFn2 _getDataAttribute k n
+
+foreign import _setDataAttribute :: Fn3 String String Element Unit
+
+setDataAttribute :: String -> String -> Element -> Effect Unit
+setDataAttribute k v n = pure $ runFn3 _setDataAttribute k v n
+
+foreign import _closeWindow :: Fn1 Window Unit
+
+closeWindow :: Window -> Effect Unit
+closeWindow win = pure $ runFn1 _closeWindow win
+ purs/src/Main.purs view
@@ -0,0 +1,7 @@+module Main where
+
+import Effect (Effect)
+import Prelude
+
+main :: Effect Unit
+main = pure unit
+ purs/src/Model.purs view
@@ -0,0 +1,22 @@+module Model where
+
+import Simple.JSON as J
+
+type BookmarkId = Int
+type TagId = Int
+
+type Bookmark =
+  { url :: String
+  , title :: String
+  , description :: String
+  , tags :: String
+  , private :: Boolean
+  , toread :: Boolean
+  , bid :: BookmarkId
+  , selected :: Boolean
+  , time :: String
+  }
+
+newtype Bookmark' = Bookmark' Bookmark
+derive newtype instance rfI :: J.ReadForeign Bookmark'
+derive newtype instance wfI :: J.WriteForeign Bookmark'
+ purs/src/User.purs view
@@ -0,0 +1,34 @@+module User where
+
+import Model (Bookmark)
+import Component.Add (addbmark)
+import Component.BList (blist)
+
+import Prelude
+
+import Data.Foldable (traverse_)
+import Effect (Effect)
+import Effect.Aff (Aff)
+import Effect.Class (liftEffect)
+import Halogen.Aff as HA
+import Halogen.VDom.Driver (runUI)
+import Web.DOM.Element (removeAttribute)
+import Web.DOM.ParentNode (QuerySelector(..))
+import Web.HTML.HTMLElement (toElement)
+
+renderBookmarks :: String -> Array Bookmark -> Effect Unit
+renderBookmarks renderElSelector bmarks = do
+  HA.runHalogenAff do
+    HA.selectElement (QuerySelector renderElSelector) >>= traverse_ \el -> do
+      void $ runUI (blist bmarks) unit el
+      showFooter
+
+renderAddForm :: String -> Bookmark -> Effect Unit
+renderAddForm renderElSelector bmark = do
+  HA.runHalogenAff do
+    HA.selectElement (QuerySelector renderElSelector) >>= traverse_ \el -> do
+      runUI (addbmark bmark) unit el
+
+showFooter :: Aff Unit
+showFooter = HA.selectElement (QuerySelector ".user_footer") >>= traverse_ \el ->
+  liftEffect $ removeAttribute "hidden" (toElement el)
purs/src/Util.purs view
@@ -1,71 +1,113 @@-module Util where--import Prelude-import Control.Monad.Maybe.Trans (MaybeT(..))-import Data.Foldable (for_)-import Data.Maybe (Maybe, fromJust)-import Data.Tuple (Tuple(..))-import Effect (Effect)-import Partial.Unsafe (unsafePartial)-import Web.DOM (Element, Node)-import Web.DOM.Document (toNonElementParentNode)-import Web.DOM.Element (fromNode, toParentNode)-import Web.DOM.NodeList (toArray)-import Web.DOM.NonElementParentNode (getElementById)-import Web.DOM.ParentNode (QuerySelector(..), querySelector, querySelectorAll)-import Web.HTML (HTMLDocument, window)-import Web.HTML.HTMLDocument (body) as HD-import Web.HTML.HTMLDocument (toDocument)-import Web.HTML.HTMLElement (HTMLElement)-import Web.HTML.HTMLElement (fromElement) as HE-import Web.HTML.Window (document)-  --- Util--_queryBoth :: forall a. Tuple String Element -> Tuple String Element -> (Element -> Element -> Effect a) -> Effect Unit-_queryBoth (Tuple qa ea) (Tuple qb eb) f = do-   ma <- _querySelector qa ea-   mb <- _querySelector qb eb-   for_ ma \a -> -     for_ mb \b ->-       f a b--_queryBoth' :: forall a. Tuple String Element -> Tuple String Element -> (Element -> Array Node -> Effect a) -> Effect Unit-_queryBoth' (Tuple qa ea) (Tuple qb eb) f = do-   ma <- _querySelector qa ea-   bs <- _querySelectorAll qb eb-   for_ ma \a -> -     f a bs--_queryBoth'' :: forall a. Tuple String Element -> Tuple String Element -> (Array Node -> Array Node -> Effect a) -> Effect a-_queryBoth'' (Tuple qa ea) (Tuple qb eb) f = do-   as <- _querySelectorAll qa ea-   bs <- _querySelectorAll qb eb-   f as bs--_querySelector :: String -> Element -> Effect (Maybe Element)-_querySelector s n = querySelector (QuerySelector s) (toParentNode n)--_querySelectorAll :: String -> Element -> Effect (Array Node)-_querySelectorAll s n = toArray =<< querySelectorAll (QuerySelector s) (toParentNode n)--_fromNode :: Node -> Element-_fromNode e = unsafePartial $ fromJust (fromNode e)--_fromElement :: Element -> HTMLElement-_fromElement e = unsafePartial $ fromJust (HE.fromElement e)--_getElementById :: String -> HTMLDocument -> Effect (Maybe Element)-_getElementById s = getElementById s <<< toNonElementParentNode <<< toDocument--_doc :: Effect HTMLDocument-_doc = document =<< window --_body :: Effect HTMLElement-_body = unsafePartial $ pure <<< fromJust =<< HD.body =<< _doc--_mt :: forall a. Effect (Maybe a) -> MaybeT Effect a-_mt = MaybeT--_mt_pure :: forall a. Maybe a -> MaybeT Effect a-_mt_pure = MaybeT <<< pure+module Util where
+
+import Prelude
+
+import Control.Monad.Maybe.Trans (MaybeT(..))
+import Data.Array (filter, find, mapMaybe)
+import Data.Foldable (for_)
+import Data.Maybe (Maybe(..), fromJust)
+import Data.String (Pattern(..), Replacement(..), drop, replaceAll, split, take)
+import Data.Tuple (Tuple(..), fst, snd)
+import Effect (Effect)
+import Global.Unsafe (unsafeDecodeURIComponent)
+import Halogen.HTML as HH
+import Halogen.HTML.Properties as HP
+import Partial.Unsafe (unsafePartial)
+import Web.DOM (Element, Node)
+import Web.DOM.Document (toNonElementParentNode)
+import Web.DOM.Element (fromNode, toParentNode)
+import Web.DOM.NodeList (toArray)
+import Web.DOM.NonElementParentNode (getElementById)
+import Web.DOM.ParentNode (QuerySelector(..), querySelector, querySelectorAll)
+import Web.HTML (HTMLDocument, Location, window)
+import Web.HTML.HTMLDocument (body) as HD
+import Web.HTML.HTMLDocument (toDocument)
+import Web.HTML.HTMLElement (HTMLElement)
+import Web.HTML.HTMLElement (fromElement) as HE
+import Web.HTML.Location (search)
+import Web.HTML.Window (document, location)
+  
+-- Halogen
+
+class_ :: forall r i. String -> HP.IProp ( "class" :: String | r) i
+class_ = HP.class_ <<< HH.ClassName
+
+attr :: forall r i. String -> String -> HP.IProp r i
+attr a = HP.attr (HH.AttrName a)
+
+-- Util
+
+_queryBoth :: forall a. Tuple String Element -> Tuple String Element -> (Element -> Element -> Effect a) -> Effect Unit
+_queryBoth (Tuple qa ea) (Tuple qb eb) f = do
+   ma <- _querySelector qa ea
+   mb <- _querySelector qb eb
+   for_ ma \a -> 
+     for_ mb \b ->
+       f a b
+
+_queryBoth' :: forall a. Tuple String Element -> Tuple String Element -> (Element -> Array Node -> Effect a) -> Effect Unit
+_queryBoth' (Tuple qa ea) (Tuple qb eb) f = do
+   ma <- _querySelector qa ea
+   bs <- _querySelectorAll qb eb
+   for_ ma \a -> 
+     f a bs
+
+_queryBoth'' :: forall a. Tuple String Element -> Tuple String Element -> (Array Node -> Array Node -> Effect a) -> Effect a
+_queryBoth'' (Tuple qa ea) (Tuple qb eb) f = do
+   as <- _querySelectorAll qa ea
+   bs <- _querySelectorAll qb eb
+   f as bs
+
+_querySelector :: String -> Element -> Effect (Maybe Element)
+_querySelector s n = querySelector (QuerySelector s) (toParentNode n)
+
+_querySelectorAll :: String -> Element -> Effect (Array Node)
+_querySelectorAll s n = toArray =<< querySelectorAll (QuerySelector s) (toParentNode n)
+
+_fromNode :: Node -> Element
+_fromNode e = unsafePartial $ fromJust (fromNode e)
+
+_fromElement :: Element -> HTMLElement
+_fromElement e = unsafePartial $ fromJust (HE.fromElement e)
+
+_getElementById :: String -> HTMLDocument -> Effect (Maybe Element)
+_getElementById s = getElementById s <<< toNonElementParentNode <<< toDocument
+
+_doc :: Effect HTMLDocument
+_doc = document =<< window 
+
+_loc :: Effect Location
+_loc = location =<< window 
+
+type QueryStringArray = Array (Tuple String (Maybe String))
+
+_curQuerystring :: Effect QueryStringArray
+_curQuerystring = do
+  loc <- _loc
+  srh <- search loc
+  pure $ _parseQueryString srh
+
+_parseQueryString :: String -> QueryStringArray
+_parseQueryString srh = do
+  let qs = let srh' = take 1 srh in if (srh' == "#" || srh' == "?") then drop 1 srh else srh
+  mapMaybe go $ (filter (_ /= "") <<< split (Pattern "&")) qs
+  where
+    decode = unsafeDecodeURIComponent <<< replaceAll (Pattern "+") (Replacement " ")
+    go kv =
+      case split (Pattern "=") kv of
+        [k] -> Just (Tuple (decode k) Nothing)
+        [k, v] -> Just (Tuple (decode k) (Just (decode v)))
+        _ -> Nothing
+
+_lookupQueryStringValue :: QueryStringArray -> String -> Maybe String
+_lookupQueryStringValue qs k = do
+  join $ map snd $ find ((_ == k) <<< fst) qs
+
+_body :: Effect HTMLElement
+_body = unsafePartial $ pure <<< fromJust =<< HD.body =<< _doc
+
+_mt :: forall a. Effect (Maybe a) -> MaybeT Effect a
+_mt = MaybeT
+
+_mt_pure :: forall a. Maybe a -> MaybeT Effect a
+_mt_pure = MaybeT <<< pure
src/Foundation.hs view
@@ -1,212 +1,214 @@-{-# OPTIONS_GHC -fno-warn-unused-matches #-}--module Foundation where--import Import.NoFoundation-import Database.Persist.Sql (ConnectionPool, runSqlPool)-import Text.Hamlet          (hamletFile)-import Text.Jasmine         (minifym)-import PathPiece()---- import Yesod.Auth.Dummy--import Yesod.Default.Util   (addStaticContentExternal)-import Yesod.Core.Types-import Yesod.Auth.Message-import qualified Yesod.Core.Unsafe as Unsafe-import qualified Data.CaseInsensitive as CI-import qualified Data.Text.Encoding as TE--data App = App-    { appSettings    :: AppSettings-    , appStatic      :: Static -- ^ Settings for static file serving.-    , appConnPool    :: ConnectionPool -- ^ Database connection pool.-    , appHttpManager :: Manager-    , appLogger      :: Logger-    }--mkYesodData "App" $(parseRoutesFile "config/routes")----- YesodPersist--instance YesodPersist App where-    type YesodPersistBackend App = SqlBackend-    runDB action = do-        master <- getYesod-        runSqlPool action (appConnPool master)--instance YesodPersistRunner App where-    getDBRunner = defaultGetDBRunner appConnPool---- Yesod--instance Yesod App where-    approot = ApprootRequest $ \app req ->-        case appRoot (appSettings app) of-            Nothing -> getApprootText guessApproot app req-            Just root -> root--    makeSessionBackend _ = Just <$> defaultClientSessionBackend-        10080 -- min (7 days)-        "config/client_session_key.aes"--    yesodMiddleware = defaultYesodMiddleware . defaultCsrfMiddleware--    defaultLayout widget = do-        req <- getRequest-        master <- getYesod-        urlrender <- getUrlRender-        mmsg <- getMessage-        musername <- maybeAuthUsername-        mcurrentRoute <- getCurrentRoute-        pc <- widgetToPageContent $ do-            setTitle "Espial"-            addAppScripts-            addStylesheet (StaticR css_main_css)-            $(widgetFile "default-layout")-        withUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")--    addStaticContent ext mime content = do-        master <- getYesod-        let staticDir = appStaticDir (appSettings master)-        addStaticContentExternal-            minifym-            genFileName-            staticDir-            (StaticR . flip StaticRoute [])-            ext-            mime-            content-      where-        genFileName lbs = "autogen-" ++ base64md5 lbs--    shouldLog app _source level =-        appShouldLogAll (appSettings app)-            || level == LevelWarn-            || level == LevelError-    makeLogger = return . appLogger--    authRoute _ = Just (AuthR LoginR)--    isAuthorized (AuthR _) _ = pure Authorized-    isAuthorized _ _ = pure Authorized--isAuthenticated :: Handler AuthResult-isAuthenticated = maybe AuthenticationRequired (const Authorized) <$> maybeAuthId--addAppScripts :: (MonadWidget m, HandlerSite m ~ App) => m ()-addAppScripts = do-  addScript (StaticR js_js_cookie_2_2_0_min_js)-  addScript (StaticR js_moment_min_js)-  toWidget $(juliusFile "templates/app.julius")-  addScript (StaticR js_app_js) ----- popupLayout--popupLayout :: Maybe Widget -> Widget -> Handler Html-popupLayout malert widget = do-    req <- getRequest-    master <- getYesod-    mmsg <- getMessage-    musername <- maybeAuthUsername-    mcurrentRoute <- getCurrentRoute-    pc <- widgetToPageContent $ do-      addAppScripts-      addStylesheet (StaticR css_popup_css)-      $(widgetFile "popup-layout")-    withUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")---- YesodAuth--instance YesodAuth App where-  type AuthId App = UserId-  authHttpManager = getHttpManager-  authPlugins _ = [dbAuthPlugin]-  authenticate = authenticateCreds-  loginDest = const HomeR-  logoutDest = const HomeR-  onLogin = maybeAuth >>= \case-    Nothing -> cpprint ("onLogin: could not find user" :: Text)-    Just (Entity _ uname) -> setSession userNameKey (userName uname)-  onLogout =-    deleteSession userNameKey-  redirectToReferer = const True--instance YesodAuthPersist App---- session keys--maybeAuthUsername :: Handler (Maybe Text)-maybeAuthUsername = do-  lookupSession userNameKey--ultDestKey :: Text-ultDestKey = "_ULT"--userNameKey :: Text-userNameKey = "_UNAME"---- dbAuthPlugin--dbAuthPluginName :: Text-dbAuthPluginName = "db"--dbAuthPlugin :: AuthPlugin App-dbAuthPlugin = AuthPlugin dbAuthPluginName dbDispatch dbLoginHandler-  where-    dbDispatch "POST" ["login"] = dbPostLoginR >>= sendResponse-    dbDispatch _ _ = notFound-    dbLoginHandler toParent = do-      req <- getRequest-      lookupSession ultDestKey >>= \case-        Just dest | "logout" `isInfixOf` dest -> deleteSession ultDestKey-        _ -> pure ()-      setTitle "Espial | Log In"-      $(widgetFile "login")--dbLoginR :: AuthRoute-dbLoginR = PluginR dbAuthPluginName ["login"]--dbPostLoginR ::  AuthHandler master TypedContent-dbPostLoginR = do-  mresult <- lift $ runInputPostResult (dbLoginCreds-                    <$> ireq textField "username"-                    <*> ireq textField "password")-  case mresult of-    FormSuccess creds -> lift $ setCredsRedirect creds-    _ -> loginErrorMessageI LoginR InvalidUsernamePass---dbLoginCreds :: Text -> Text -> Creds master-dbLoginCreds username password =-  Creds-  { credsPlugin = dbAuthPluginName-  , credsIdent = username-  , credsExtra = [("password", password)]-  }--authenticateCreds-  :: (AuthId master ~ UserId)-  => Creds master -> Handler (AuthenticationResult App)-authenticateCreds creds =-  runDB $-  authenticatePW-    (credsIdent creds)-    (fromMaybe "" (lookup "password" (credsExtra creds))) >>=-  \case-    Nothing -> pure (UserError InvalidUsernamePass)-    Just (Entity uid _) -> pure (Authenticated uid)---- Util--instance RenderMessage App FormMessage where-    renderMessage _ _ = defaultFormMessage--instance HasHttpManager App where-    getHttpManager = appHttpManager--unsafeHandler :: App -> Handler a -> IO a-unsafeHandler = Unsafe.fakeHandlerGetLogger appLogger-+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+module Foundation where
+
+import Import.NoFoundation
+import Database.Persist.Sql (ConnectionPool, runSqlPool)
+import Text.Hamlet          (hamletFile)
+import Text.Jasmine         (minifym)
+import PathPiece()
+
+-- import Yesod.Auth.Dummy
+
+import Yesod.Default.Util   (addStaticContentExternal)
+import Yesod.Core.Types
+import Yesod.Auth.Message
+import qualified Yesod.Core.Unsafe as Unsafe
+import qualified Data.CaseInsensitive as CI
+import qualified Data.Text.Encoding as TE
+
+data App = App
+    { appSettings    :: AppSettings
+    , appStatic      :: Static -- ^ Settings for static file serving.
+    , appConnPool    :: ConnectionPool -- ^ Database connection pool.
+    , appHttpManager :: Manager
+    , appLogger      :: Logger
+    }
+
+mkYesodData "App" $(parseRoutesFile "config/routes")
+
+
+-- YesodPersist
+
+instance YesodPersist App where
+    type YesodPersistBackend App = SqlBackend
+    runDB action = do
+        master <- getYesod
+        runSqlPool action (appConnPool master)
+
+instance YesodPersistRunner App where
+    getDBRunner = defaultGetDBRunner appConnPool
+
+-- Yesod
+
+instance Yesod App where
+    approot = ApprootRequest $ \app req ->
+        case appRoot (appSettings app) of
+            Nothing -> getApprootText guessApproot app req
+            Just root -> root
+
+    makeSessionBackend _ = Just <$> defaultClientSessionBackend
+        10080 -- min (7 days)
+        "config/client_session_key.aes"
+
+    yesodMiddleware = defaultYesodMiddleware . defaultCsrfMiddleware
+
+    defaultLayout widget = do
+        req <- getRequest
+        master <- getYesod
+        urlrender <- getUrlRender
+        mmsg <- getMessage
+        musername <- maybeAuthUsername
+        mcurrentRoute <- getCurrentRoute
+        pc <- widgetToPageContent $ do
+            setTitle "Espial"
+            addAppScripts
+            addStylesheet (StaticR css_tachyons_min_css)
+            addStylesheet (StaticR css_main_css)
+            $(widgetFile "default-layout")
+        withUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")
+
+    addStaticContent ext mime content = do
+        master <- getYesod
+        let staticDir = appStaticDir (appSettings master)
+        addStaticContentExternal
+            minifym
+            genFileName
+            staticDir
+            (StaticR . flip StaticRoute [])
+            ext
+            mime
+            content
+      where
+        genFileName lbs = "autogen-" ++ base64md5 lbs
+
+    shouldLog app _source level =
+        appShouldLogAll (appSettings app)
+            || level == LevelWarn
+            || level == LevelError
+    makeLogger = return . appLogger
+
+    authRoute _ = Just (AuthR LoginR)
+
+    isAuthorized (AuthR _) _ = pure Authorized
+    isAuthorized _ _ = pure Authorized
+
+isAuthenticated :: Handler AuthResult
+isAuthenticated = maybeAuthId >>= \case
+                    Just authId -> pure Authorized
+                    _ -> pure $ AuthenticationRequired
+
+addAppScripts :: (MonadWidget m, HandlerSite m ~ App) => m ()
+addAppScripts = do
+  addScript (StaticR js_moment_min_js)
+  addScript (StaticR js_app_min_js) 
+
+
+-- popupLayout
+
+popupLayout :: Widget -> Handler Html
+popupLayout widget = do
+    req <- getRequest
+    master <- getYesod
+    mmsg <- getMessage
+    musername <- maybeAuthUsername
+    mcurrentRoute <- getCurrentRoute
+    pc <- widgetToPageContent $ do
+      addAppScripts
+      addStylesheet (StaticR css_tachyons_min_css)
+      addStylesheet (StaticR css_popup_css)
+      $(widgetFile "popup-layout")
+    withUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")
+
+-- YesodAuth
+
+instance YesodAuth App where
+  type AuthId App = UserId
+  authHttpManager = getHttpManager
+  authPlugins _ = [dbAuthPlugin]
+  authenticate = authenticateCreds
+  loginDest = const HomeR
+  logoutDest = const HomeR
+  onLogin = maybeAuth >>= \case
+    Nothing -> cpprint ("onLogin: could not find user" :: Text)
+    Just (Entity _ uname) -> setSession userNameKey (userName uname)
+  onLogout =
+    deleteSession userNameKey
+  redirectToReferer = const True
+
+instance YesodAuthPersist App
+
+-- session keys
+
+maybeAuthUsername :: Handler (Maybe Text)
+maybeAuthUsername = do
+  lookupSession userNameKey
+
+ultDestKey :: Text
+ultDestKey = "_ULT"
+
+userNameKey :: Text
+userNameKey = "_UNAME"
+
+-- dbAuthPlugin
+
+dbAuthPluginName :: Text
+dbAuthPluginName = "db"
+
+dbAuthPlugin :: AuthPlugin App
+dbAuthPlugin = AuthPlugin dbAuthPluginName dbDispatch dbLoginHandler
+  where
+    dbDispatch "POST" ["login"] = dbPostLoginR >>= sendResponse
+    dbDispatch _ _ = notFound
+    dbLoginHandler toParent = do
+      req <- getRequest
+      lookupSession ultDestKey >>= \case
+        Just dest | "logout" `isInfixOf` dest -> deleteSession ultDestKey
+        _ -> pure ()
+      setTitle "Espial | Log In"
+      $(widgetFile "login")
+
+dbLoginR :: AuthRoute
+dbLoginR = PluginR dbAuthPluginName ["login"]
+
+dbPostLoginR ::  AuthHandler master TypedContent
+dbPostLoginR = do
+  mresult <- lift $ runInputPostResult (dbLoginCreds
+                    <$> ireq textField "username"
+                    <*> ireq textField "password")
+  case mresult of
+    FormSuccess creds -> lift $ setCredsRedirect creds
+    _ -> loginErrorMessageI LoginR InvalidUsernamePass
+
+
+dbLoginCreds :: Text -> Text -> Creds master
+dbLoginCreds username password =
+  Creds
+  { credsPlugin = dbAuthPluginName
+  , credsIdent = username
+  , credsExtra = [("password", password)]
+  }
+
+authenticateCreds
+  :: (AuthId master ~ UserId)
+  => Creds master -> Handler (AuthenticationResult App)
+authenticateCreds creds =
+  runDB $
+  authenticatePW
+    (credsIdent creds)
+    (fromMaybe "" (lookup "password" (credsExtra creds))) >>=
+  \case
+    Nothing -> pure (UserError InvalidUsernamePass)
+    Just (Entity uid _) -> pure (Authenticated uid)
+
+-- Util
+
+instance RenderMessage App FormMessage where
+    renderMessage _ _ = defaultFormMessage
+
+instance HasHttpManager App where
+    getHttpManager = appHttpManager
+
+unsafeHandler :: App -> Handler a -> IO a
+unsafeHandler = Unsafe.fakeHandlerGetLogger appLogger
+
src/Handler/Add.hs view
@@ -1,127 +1,65 @@-{-# OPTIONS_GHC -fno-warn-unused-matches #-}--module Handler.Add where--import Import-import Database.Persist.Sql-import Data.List (nub)-import qualified Data.Time.ISO8601 as TI--getAddR :: Handler Html-getAddR = do-  userId <- requireAuthId--  murl <- lookupGetParam "url"-  mexisting <- runDB $ runMaybeT $ do-    bmark <- MaybeT . getBy . UniqueUserHref userId =<< (MaybeT $ pure murl)-    btags <- MaybeT $ Just <$> withTags (entityKey bmark)-    pure (bmark, btags)--  mgetdefs <- aFormToMaybeGetSuccess (mkAddAForm Nothing)--  (formWidget, _) <- generateFormPost $ renderTable $-    mkAddAForm (maybe mgetdefs (Just . toAddDefs) mexisting)--  viewAddWidget-    formWidget-    (mexisting $> $(widgetFile "add-exists-alert"))-    (maybe "url" (const "tags") murl :: Text)-  where-    toAddDefs :: (Entity Bookmark, [Entity BookmarkTag]) -> AddForm-    toAddDefs (Entity bid Bookmark {..}, tags) =-      AddForm-      { url = bookmarkHref-      , title = Just bookmarkDescription-      , description = Just $ Textarea $ bookmarkExtended-      , tags = Just $ unwords $ fmap (bookmarkTagTag . entityVal) tags-      , private = Just $ not bookmarkShared-      , toread = Just $ bookmarkToRead-      , bid = Nothing-      }--postAddR :: Handler Html-postAddR = do-  userId <- requireAuthId--  ((formResult, formWidget), _) <- runFormPost $ renderTable $ mkAddAForm Nothing--  case formResult of-    FormSuccess addForm -> do-      time <- liftIO getCurrentTime-      newBid <- runDB $ upsertDB-        (toSqlKey <$> bid addForm)-        (toBookmark userId time addForm)-        (maybe [] (nub . words) (tags addForm))-      lookupGetParam "next" >>= \case-        Just next -> redirect next-        Nothing -> popupLayout Nothing [whamlet| <div .alert> Add Successful </div> <script> window.close() </script> |]-    _ ->-      lookupGetParam "inline" >>= \case-        Just _ -> fail "invalid form"-        Nothing -> viewAddWidget formWidget Nothing "Tags"--  where-    toBookmark :: UserId -> UTCTime -> AddForm -> Bookmark-    toBookmark userId time AddForm {..} =-      Bookmark userId url-        (fromMaybe "" title)-        (maybe "" unTextarea description)-        time-        (maybe True not private)-        (fromMaybe False toread)-        False-    upsertDB :: Maybe (Key Bookmark) -> Bookmark -> [Text] -> DB (Key Bookmark)-    upsertDB mbid bookmark tags = do-      let userId = bookmarkUserId bookmark-          url = bookmarkHref bookmark-      bid' <- case mbid of-          Just bid -> do-            get bid >>= \case -              Just bmark -> do-                replace bid bookmark-                update bid [BookmarkSelected =. bookmarkSelected bmark, BookmarkTime =. bookmarkTime bmark]-                deleteWhere [BookmarkTagBookmarkId ==. bid]-                pure bid-              Nothing -> fail "not found"-          Nothing -> do-            getBy (UniqueUserHref userId url) >>= \case-              Just (Entity bid _) -> deleteCascade bid-              _ -> pure ()-            insert bookmark-      forM_ (zip [1 ..] tags) $-        \(i, tag) -> void $ insert $ BookmarkTag userId tag bid' i-      pure bid'---- add widget--viewAddWidget :: Widget -> Maybe Widget -> Text -> Handler Html-viewAddWidget formWidget mexists focusEl = do-  let submitText = (maybe "add bookmark" (const "update bookmark") mexists) :: Text-  popupLayout mexists $ do-    $(widgetFile "add")---- AddForm--data AddForm = AddForm-  { url :: Text-  , title :: Maybe Text-  , description :: Maybe Textarea-  , tags :: Maybe Text-  , private :: Maybe Bool-  , toread :: Maybe Bool-  , bid :: Maybe Int64-  } deriving (Show, Eq, Read, Generic)--mkAddAForm :: MonadHandlerForm m => Maybe AddForm -> AForm m AddForm-mkAddAForm defs = do-    AddForm-      <$> areq urlField (textAttrs $ named "url" "URL") (url <$> defs)-      <*> aopt textField (textAttrs $ named "title" "title") (title <$> defs)-      <*> aopt textareaField (textAreaAttrs $ named "description" "description") (description <$> defs)-      <*> aopt textField (textAttrs $ named "tags" "tags") (tags <$> defs)-      <*> aopt checkBoxField (named "private" "private") (private <$> defs)-      <*> aopt checkBoxField (named "toread" "read later") (toread <$> defs)-      <*> aopt hiddenField (named "bid" "") (bid <$> defs)-  where-    textAttrs = attr ("size", "70")-    textAreaAttrs = attrs [("cols", "70"), ("rows", "4")]+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+module Handler.Add where
+
+import Import
+import Database.Persist.Sql
+import Data.List (nub)
+
+-- View
+
+getAddViewR :: Handler Html
+getAddViewR = do
+  userId <- requireAuthId
+
+  murl <- lookupGetParam "url"
+  mexisting <- runDB (fetchBookmarkByUrl userId murl)
+  let mexisting' = fmap _toBookmarkDefs mexisting
+  mgetdefs <- mGetBookmarkForm
+
+  let bmarkJson = preEscapedToMarkup (toJsonText (fromMaybe mgetdefs mexisting'))
+
+  let renderEl = "addForm" :: Text
+
+  popupLayout $ do
+    toWidget [whamlet|
+      <div id="#{ renderEl }">
+      <script>app.dat.bmark = #{ bmarkJson }; 
+    |]
+    toWidget [julius|
+      PS['User'].renderAddForm('##{rawJS renderEl}')(app.dat.bmark)();
+    |]
+
+mGetBookmarkForm :: Handler BookmarkForm
+mGetBookmarkForm =
+  BookmarkForm
+    <$> (lookupGetParam "url" >>= pure . fromMaybe "")
+    <*> (lookupGetParam "title")
+    <*> (lookupGetParam "description" >>= pure . fmap Textarea)
+    <*> (lookupGetParam "tags")
+    <*> (lookupGetParam "private" >>= pure . fmap parseChk)
+    <*> (lookupGetParam "toread" >>= pure . fmap parseChk)
+    <*> pure Nothing
+    <*> pure Nothing
+    <*> pure Nothing
+  where
+    parseChk s = s == "yes" || s == "on"
+
+-- API
+
+postAddR :: Handler ()
+postAddR = do
+  bookmarkForm <- requireCheckJsonBody
+  _handleFormSuccess bookmarkForm >>= \case
+    (Created, bid) -> sendStatusJSON created201 bid
+    (Updated, _) -> sendResponseStatus noContent204 ()
+
+_handleFormSuccess :: BookmarkForm -> Handler (UpsertResult, Key Bookmark)
+_handleFormSuccess bookmarkForm = do
+  cpprint bookmarkForm
+  userId <- requireAuthId
+  time <- liftIO getCurrentTime
+  runDB $ upsertBookmark kbid (_toBookmark userId time bookmarkForm) tags
+  where
+    kbid = toSqlKey <$> _bid bookmarkForm
+    tags = maybe [] (nub . words) (_tags bookmarkForm)
src/Handler/User.hs view
@@ -1,66 +1,61 @@-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TemplateHaskell #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE TupleSections #-}-{-# LANGUAGE ScopedTypeVariables #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}-module Handler.User where--import Import-import Text.Read-import Database.Persist.Sql-import qualified Database.Esqueleto as E-import qualified Data.Time.ISO8601 as TI---getUserR :: UserNameP -> Handler Html-getUserR uname@(UserNameP name) = do-  _getUser uname SharedAll FilterAll (TagsP [])--getUserSharedR :: UserNameP -> SharedP -> Handler Html-getUserSharedR uname sharedp =-  _getUser uname sharedp FilterAll (TagsP [])--getUserFilterR :: UserNameP -> FilterP -> Handler Html-getUserFilterR uname filterp =-  _getUser uname SharedAll filterp (TagsP [])--getUserTagsR :: UserNameP -> TagsP -> Handler Html-getUserTagsR uname pathtags =-  _getUser uname SharedAll FilterAll pathtags--_getUser :: UserNameP -> SharedP -> FilterP -> TagsP -> Handler Html-_getUser unamep@(UserNameP uname) sharedp' filterp' (TagsP pathtags) = do-  mauthuname <- maybeAuthUsername-  (limit', page') <- _lookupPagingParams-  let limit = maybe 120 fromIntegral limit'-      page  = maybe 1   fromIntegral page'-      isowner = maybe False (== uname) mauthuname-      sharedp = if isowner then sharedp' else SharedPublic-      filterp = case filterp' of-        FilterSingle _ -> filterp'-        _ -> if isowner then filterp' else FilterAll-  (bcount, bmarks, alltags) <--    runDB $-    do Entity userId _ <- getBy404 (UniqueUserName uname)-       (cnt, bm) <- bookmarksQuery userId sharedp filterp pathtags limit page-       tg <- tagsQuery bm-       pure (cnt, bm, tg)-  mroute <- getCurrentRoute -  let pager = $(widgetFile "pager")-  let toTitle x = if null x then "[no title]" else x-  req <- getRequest-  defaultLayout $ do-    $(widgetFile "user")--_lookupPagingParams :: Handler (Maybe Int64, Maybe Int64)-_lookupPagingParams = do-  cq <- fmap parseMaybe (lookupGetParam "count")-  cs <- fmap parseMaybe (lookupSession "count")-  mapM_ (setSession "count" . (pack . show)) cq-  pq <- fmap parseMaybe (lookupGetParam "page")-  pure (cq <|> cs, pq)-  where-    parseMaybe x = readMaybe . unpack =<< x+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+module Handler.User where
+
+import Import
+import Text.Read
+
+getUserR :: UserNameP -> Handler Html
+getUserR uname@(UserNameP name) = do
+  _getUser uname SharedAll FilterAll (TagsP [])
+
+getUserSharedR :: UserNameP -> SharedP -> Handler Html
+getUserSharedR uname sharedp =
+  _getUser uname sharedp FilterAll (TagsP [])
+
+getUserFilterR :: UserNameP -> FilterP -> Handler Html
+getUserFilterR uname filterp =
+  _getUser uname SharedAll filterp (TagsP [])
+
+getUserTagsR :: UserNameP -> TagsP -> Handler Html
+getUserTagsR uname pathtags =
+  _getUser uname SharedAll FilterAll pathtags
+
+_getUser :: UserNameP -> SharedP -> FilterP -> TagsP -> Handler Html
+_getUser unamep@(UserNameP uname) sharedp' filterp' (TagsP pathtags) = do
+  mauthuname <- maybeAuthUsername
+  (limit', page') <- _lookupPagingParams
+  let limit = maybe 120 fromIntegral limit'
+      page  = maybe 1   fromIntegral page'
+      isowner = maybe False (== uname) mauthuname
+      sharedp = if isowner then sharedp' else SharedPublic
+      filterp = case filterp' of
+        FilterSingle _ -> filterp'
+        _ -> if isowner then filterp' else FilterAll
+  (bcount, bmarks, alltags) <-
+    runDB $
+    do Entity userId _ <- getBy404 (UniqueUserName uname)
+       (cnt, bm) <- bookmarksQuery userId sharedp filterp pathtags limit page
+       tg <- tagsQuery bm
+       pure (cnt, bm, tg)
+  mroute <- getCurrentRoute 
+  let pager = $(widgetFile "pager")
+  let renderEl = "bookmarks" :: Text
+  req <- getRequest
+  defaultLayout $ do
+    $(widgetFile "user")
+    toWidget [julius|
+      app.dat.isowner = #{ isowner };
+      app.userR = "@{UserR unamep}";
+      PS['User'].renderBookmarks('##{rawJS renderEl}')(app.dat.bmarks)();
+    |]
+  where
+
+_lookupPagingParams :: Handler (Maybe Int64, Maybe Int64)
+_lookupPagingParams = do
+  cq <- fmap parseMaybe (lookupGetParam "count")
+  cs <- fmap parseMaybe (lookupSession "count")
+  mapM_ (setSession "count" . (pack . show)) cq
+  pq <- fmap parseMaybe (lookupGetParam "page")
+  pure (cq <|> cs, pq)
+  where
+    parseMaybe x = readMaybe . unpack =<< x
src/Import.hs view
@@ -10,6 +10,7 @@  import qualified Data.ByteString.Char8 as B8 import qualified Data.Aeson as A+import qualified Data.Text.Encoding as TE  -- Forms 
src/Import/NoFoundation.hs view
@@ -3,6 +3,10 @@  module Import.NoFoundation     ( module Import+#if MIN_VERSION_base(4, 11, 0)+#else+    , (<&>)+#endif     ) where  import ClassyPrelude.Yesod as Import@@ -18,4 +22,12 @@ import ModelCrypto as Import import Types as Import import Pretty as Import+import Data.Functor as Import ++#if MIN_VERSION_base(4, 11, 0)+#else+(<&>) :: Functor f => f a -> (a -> b) -> f b+as <&> f = f <$> as+infixl 1 <&>+#endif
src/Model.hs view
@@ -1,256 +1,364 @@-{-# OPTIONS_GHC -fno-warn-unused-imports #-}--module Model where--import qualified Data.Aeson as A--import Control.Monad.Writer hiding ((<>), mapM_)--import Types-import ModelCrypto-import Pretty-import ClassyPrelude.Yesod--import Control.Monad.Trans.Maybe-import Database.Esqueleto hiding ((==.))-import qualified Database.Esqueleto as E---- Physical model--share [mkPersist sqlSettings, mkDeleteCascade sqlSettings, mkMigrate "migrateSchema"] [persistLowerCase| -User-  name Text-  passwordHash BCrypt-  apiToken Text Maybe-  UniqueUserName name-  deriving Show Eq Typeable Ord--Bookmark-  userId UserId-  href Text-  description Text-  extended Text-  time UTCTime-  shared Bool-  toRead Bool-  selected Bool-  UniqueUserHref userId href-  deriving Show Eq Typeable Ord--BookmarkTag-  userId UserId-  tag Text-  bookmarkId BookmarkId-  seq Int-  UniqueUserTagBookmarkId userId tag bookmarkId-  UniqueUserBookmarkIdTagSeq userId bookmarkId tag seq-  deriving Show Eq Typeable Ord-|]----- newtypes--newtype UserNameP =-  UserNameP { unUserNameP :: Text }-  deriving (Eq, Show, Read)--newtype TagsP =-  TagsP { unTagsP :: [Text] }-  deriving (Eq, Show, Read)--data SharedP-  = SharedAll-  | SharedPublic-  | SharedPrivate-  deriving (Eq, Show, Read)--data FilterP-  = FilterAll-  | FilterUnread-  | FilterUntagged-  | FilterStarred-  | FilterSingle Int64-  deriving (Eq, Show, Read)--newtype UnreadOnly =-  UnreadOnly { unUnreadOnly :: Bool }-  deriving (Eq, Show, Read)--type Limit = Int64-type Page = Int64---- Migration--migrateAll :: Migration-migrateAll = migrateSchema >> migrateIndexes--dumpMigration :: DB ()-dumpMigration = printMigration migrateAll--runMigrations :: DB ()-runMigrations = runMigration migrateAll--toMigration :: [Text] -> Migration-toMigration = lift . tell . fmap (False ,)--migrateIndexes :: Migration-migrateIndexes =-  toMigration-    [ "CREATE INDEX IF NOT EXISTS idx_bookmark_time ON bookmark (user_id, time DESC)"-    , "CREATE INDEX IF NOT EXISTS idx_bookmark_tag_bookmark_id ON bookmark_tag (bookmark_id, id, tag, seq)"-    ]----- User--authenticatePW :: Text -> Text -> DB (Maybe (Entity User))-authenticatePW username password = do-   muser <- getBy (UniqueUserName username)-   case muser of-     Nothing -> pure Nothing-     Just e@(Entity _ user) -> -        if passwordMatches (userPasswordHash user) (password)-          then pure $ Just e-          else pure $ Nothing--getUserByName :: UserNameP -> DB (Maybe (Entity User))-getUserByName (UserNameP uname) =-  return . headMay =<<-  (select $-   from $ \u -> do-   where_ (u ^. UserName E.==. val uname)-   pure u)---- bookmarks--bookmarksQuery-  :: Key User-  -> SharedP-  -> FilterP-  -> [Tag]-  -> Limit-  -> Page-  -> DB (Int, [Entity Bookmark])-bookmarksQuery userId sharedp filterp tags limit' page =-  (,) -- total count-  <$> fmap (sum . fmap E.unValue)-      (select $-      from $ \b -> do-      _inner b-      pure $ E.countRows)-      -- paged data-  <*> (select $-       from $ \b -> do-       _inner b-       orderBy [desc (b ^. BookmarkTime)]-       limit limit'-       offset ((page - 1) * limit')-       pure b)-  where-    _inner b = do-      where_ $-        foldMap (\tag -> Endo $ (&&.) -          (exists $   -- each tag becomes an exists constraint-           from $ \t ->-           where_ (t ^. BookmarkTagBookmarkId E.==. b ^. BookmarkId &&.-                  (t ^. BookmarkTagTag E.==. val tag)))) tags-        `appEndo` (b ^. BookmarkUserId E.==. val userId)-      case sharedp of-        SharedAll -> pure ()-        SharedPublic ->  where_ (b ^. BookmarkShared E.==. val True)-        SharedPrivate -> where_ (b ^. BookmarkShared E.==. val False)-      case filterp of-        FilterAll -> pure ()-        FilterUnread ->   where_ (b ^. BookmarkToRead E.==. val True)-        FilterStarred ->  where_ (b ^. BookmarkSelected E.==. val True)-        FilterSingle i -> where_ (b ^. BookmarkId E.==. val (toSqlKey i))-        FilterUntagged -> where_ $ notExists $ from (\t -> where_ $ t ^. BookmarkTagBookmarkId E.==. b ^. BookmarkId)--tagsQuery :: [Entity Bookmark] -> DB [Entity BookmarkTag]-tagsQuery bmarks =-  select $-  from $ \t -> do-  where_ (t ^. BookmarkTagBookmarkId `in_` valList (fmap entityKey bmarks))-  orderBy [asc (t ^. BookmarkTagSeq)]-  pure t--withTags :: Key Bookmark -> DB [Entity BookmarkTag]-withTags key = selectList [BookmarkTagBookmarkId ==. key] [Asc BookmarkTagSeq]---- Bookmark Files--bookmarkEntityToTags :: Entity Bookmark -> [Tag] -> [BookmarkTag]-bookmarkEntityToTags (Entity {entityKey = bookmarkId-                             ,entityVal = Bookmark {..}}) tags =-  fmap-    (\(i, tag) -> BookmarkTag bookmarkUserId tag bookmarkId i)-    (zip [1 ..] tags)---postToBookmark :: UserId -> Post -> Bookmark-postToBookmark user Post {..} =-  Bookmark user postHref postDescription postExtended postTime postShared postToRead False---insertFileBookmarks :: Key User -> FilePath -> DB ()-insertFileBookmarks userId bookmarkFile = do-  posts' <- liftIO $ readBookmarkFileJson bookmarkFile-  case posts' of-      Left e -> print e-      Right posts -> do-        let bookmarks = fmap (postToBookmark userId) posts-        mbookmarkIds <- mapM insertUnique bookmarks --        let bookmarkTags =-              concatMap (uncurry bookmarkEntityToTags) $-              catMaybes $-              zipWith3 (\mk v p -> map (\k -> (Entity k v, postTags p)) mk)-                mbookmarkIds-                bookmarks-                posts-        void $ mapM insertUnique bookmarkTags-  where-    readBookmarkFileJson :: MonadIO m => FilePath -> m (Either String [Post])-    readBookmarkFileJson fpath = pure . A.eitherDecode' . fromStrict =<< readFile fpath--type Tag = Text--data Post = Post-  { postHref :: !Text-  , postDescription :: !Text-  , postExtended :: !Text-  , postTime :: !UTCTime-  , postShared :: !Bool-  , postToRead :: !Bool-  , postTags :: [Tag]-  } deriving (Show, Eq, Ord, Typeable)--instance FromJSON Post where-  parseJSON (Object o) =-    Post <$> o .: "href" <*> o .: "description" <*> o .: "extended" <*>-    o .: "time" <*>-    (boolFromYesNo <$> o .: "shared") <*>-    (boolFromYesNo <$> o .: "toread") <*>-    (words <$> o .: "tags")-  parseJSON _ = fail "bad parse"--instance ToJSON Post where-  toJSON Post {..} =-    object-      [ "href" .= toJSON postHref-      , "description" .= toJSON postDescription-      , "extended" .= toJSON postExtended-      , "time" .= toJSON postTime-      , "shared" .= boolToYesNo postShared-      , "toread" .= boolToYesNo postToRead-      , "tags" .= unwords postTags-      ]--boolFromYesNo :: Text -> Bool-boolFromYesNo "yes" = True-boolFromYesNo _ = False--boolToYesNo :: Bool -> Text-boolToYesNo True = "yes"-boolToYesNo _ = "no"-+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+module Model where
+
+import qualified Data.Aeson as A
+
+import Control.Monad.Writer (tell, appEndo, Endo(..))
+
+import Types
+import ModelCrypto
+import Pretty
+import ClassyPrelude.Yesod
+
+import Control.Monad.Trans.Maybe
+import Database.Esqueleto hiding ((==.))
+import qualified Database.Esqueleto as E
+import qualified Data.Time.ISO8601 as TI
+
+-- Physical model
+
+share [mkPersist sqlSettings, mkDeleteCascade sqlSettings, mkMigrate "migrateSchema"] [persistLowerCase| 
+User json
+  name Text
+  passwordHash BCrypt
+  apiToken Text Maybe
+  UniqueUserName name
+  deriving Show Eq Typeable Ord
+
+Bookmark json
+  userId UserId
+  href Text
+  description Text
+  extended Text
+  time UTCTime
+  shared Bool
+  toRead Bool
+  selected Bool
+  UniqueUserHref userId href
+  deriving Show Eq Typeable Ord
+
+BookmarkTag json
+  userId UserId
+  tag Text
+  bookmarkId BookmarkId
+  seq Int
+  UniqueUserTagBookmarkId userId tag bookmarkId
+  UniqueUserBookmarkIdTagSeq userId bookmarkId tag seq
+  deriving Show Eq Typeable Ord
+|]
+
+-- UTCTimeStr
+  
+newtype UTCTimeStr =
+  UTCTimeStr { unUTCTimeStr :: UTCTime }
+  deriving (Eq, Show, Read, Generic, FromJSON, ToJSON)
+
+instance PathPiece UTCTimeStr where
+  toPathPiece (UTCTimeStr u) = pack (TI.formatISO8601Millis u)
+  fromPathPiece s = UTCTimeStr <$> TI.parseISO8601 (unpack s)
+
+
+-- newtypes
+
+newtype UserNameP =
+  UserNameP { unUserNameP :: Text }
+  deriving (Eq, Show, Read)
+
+newtype TagsP =
+  TagsP { unTagsP :: [Text] }
+  deriving (Eq, Show, Read)
+
+data SharedP
+  = SharedAll
+  | SharedPublic
+  | SharedPrivate
+  deriving (Eq, Show, Read)
+
+data FilterP
+  = FilterAll
+  | FilterUnread
+  | FilterUntagged
+  | FilterStarred
+  | FilterSingle Int64
+  deriving (Eq, Show, Read)
+
+newtype UnreadOnly =
+  UnreadOnly { unUnreadOnly :: Bool }
+  deriving (Eq, Show, Read)
+
+type Limit = Int64
+type Page = Int64
+
+-- Migration
+
+migrateAll :: Migration
+migrateAll = migrateSchema >> migrateIndexes
+
+dumpMigration :: DB ()
+dumpMigration = printMigration migrateAll
+
+runMigrations :: DB ()
+runMigrations = runMigration migrateAll
+
+toMigration :: [Text] -> Migration
+toMigration = lift . tell . fmap (False ,)
+
+migrateIndexes :: Migration
+migrateIndexes =
+  toMigration
+    [ "CREATE INDEX IF NOT EXISTS idx_bookmark_time ON bookmark (user_id, time DESC)"
+    , "CREATE INDEX IF NOT EXISTS idx_bookmark_tag_bookmark_id ON bookmark_tag (bookmark_id, id, tag, seq)"
+    ]
+
+
+-- User
+
+authenticatePW :: Text -> Text -> DB (Maybe (Entity User))
+authenticatePW username password = do
+   muser <- getBy (UniqueUserName username)
+   case muser of
+     Nothing -> pure Nothing
+     Just e@(Entity _ user) -> 
+        if passwordMatches (userPasswordHash user) (password)
+          then pure $ Just e
+          else pure $ Nothing
+
+getUserByName :: UserNameP -> DB (Maybe (Entity User))
+getUserByName (UserNameP uname) =
+  return . headMay =<<
+  (select $
+   from $ \u -> do
+   where_ (u ^. UserName E.==. val uname)
+   pure u)
+
+-- bookmarks
+
+bookmarksQuery
+  :: Key User
+  -> SharedP
+  -> FilterP
+  -> [Tag]
+  -> Limit
+  -> Page
+  -> DB (Int, [Entity Bookmark])
+bookmarksQuery userId sharedp filterp tags limit' page =
+  (,) -- total count
+  <$> fmap (sum . fmap E.unValue)
+      (select $
+      from $ \b -> do
+      _inner b
+      pure $ E.countRows)
+      -- paged data
+  <*> (select $
+       from $ \b -> do
+       _inner b
+       orderBy [desc (b ^. BookmarkTime)]
+       limit limit'
+       offset ((page - 1) * limit')
+       pure b)
+  where
+    _inner b = do
+      where_ $
+        foldMap (\tag -> Endo $ (&&.) 
+          (exists $   -- each tag becomes an exists constraint
+           from $ \t ->
+           where_ (t ^. BookmarkTagBookmarkId E.==. b ^. BookmarkId &&.
+                  (t ^. BookmarkTagTag E.==. val tag)))) tags
+        `appEndo` (b ^. BookmarkUserId E.==. val userId)
+      case sharedp of
+        SharedAll -> pure ()
+        SharedPublic ->  where_ (b ^. BookmarkShared E.==. val True)
+        SharedPrivate -> where_ (b ^. BookmarkShared E.==. val False)
+      case filterp of
+        FilterAll -> pure ()
+        FilterUnread ->   where_ (b ^. BookmarkToRead E.==. val True)
+        FilterStarred ->  where_ (b ^. BookmarkSelected E.==. val True)
+        FilterSingle i -> where_ (b ^. BookmarkId E.==. val (toSqlKey i))
+        FilterUntagged -> where_ $ notExists $ from (\t -> where_ $ t ^. BookmarkTagBookmarkId E.==. b ^. BookmarkId)
+
+tagsQuery :: [Entity Bookmark] -> DB [Entity BookmarkTag]
+tagsQuery bmarks =
+  select $
+  from $ \t -> do
+  where_ (t ^. BookmarkTagBookmarkId `in_` valList (fmap entityKey bmarks))
+  orderBy [asc (t ^. BookmarkTagSeq)]
+  pure t
+
+withTags :: Key Bookmark -> DB [Entity BookmarkTag]
+withTags key = selectList [BookmarkTagBookmarkId ==. key] [Asc BookmarkTagSeq]
+
+-- Bookmark Files
+
+bookmarkEntityToTags :: Entity Bookmark -> [Tag] -> [BookmarkTag]
+bookmarkEntityToTags (Entity {entityKey = bookmarkId
+                             ,entityVal = Bookmark {..}}) tags =
+  fmap
+    (\(i, tag) -> BookmarkTag bookmarkUserId tag bookmarkId i)
+    (zip [1 ..] tags)
+
+
+postToBookmark :: UserId -> Post -> Bookmark
+postToBookmark user Post {..} =
+  Bookmark user postHref postDescription postExtended postTime postShared postToRead False
+
+
+insertFileBookmarks :: Key User -> FilePath -> DB ()
+insertFileBookmarks userId bookmarkFile = do
+  posts' <- liftIO $ readBookmarkFileJson bookmarkFile
+  case posts' of
+      Left e -> print e
+      Right posts -> do
+        let bookmarks = fmap (postToBookmark userId) posts
+        mbookmarkIds <- mapM insertUnique bookmarks 
+
+        let bookmarkTags =
+              concatMap (uncurry bookmarkEntityToTags) $
+              catMaybes $
+              zipWith3 (\mk v p -> map (\k -> (Entity k v, postTags p)) mk)
+                mbookmarkIds
+                bookmarks
+                posts
+        void $ mapM insertUnique bookmarkTags
+  where
+    readBookmarkFileJson :: MonadIO m => FilePath -> m (Either String [Post])
+    readBookmarkFileJson fpath = pure . A.eitherDecode' . fromStrict =<< readFile fpath
+
+type Tag = Text
+
+data Post = Post
+  { postHref :: !Text
+  , postDescription :: !Text
+  , postExtended :: !Text
+  , postTime :: !UTCTime
+  , postShared :: !Bool
+  , postToRead :: !Bool
+  , postTags :: [Tag]
+  } deriving (Show, Eq, Ord, Typeable)
+
+instance FromJSON Post where
+  parseJSON (Object o) =
+    Post <$> o .: "href" <*> o .: "description" <*> o .: "extended" <*>
+    o .: "time" <*>
+    (boolFromYesNo <$> o .: "shared") <*>
+    (boolFromYesNo <$> o .: "toread") <*>
+    (words <$> o .: "tags")
+  parseJSON _ = fail "bad parse"
+
+instance ToJSON Post where
+  toJSON Post {..} =
+    object
+      [ "href" .= toJSON postHref
+      , "description" .= toJSON postDescription
+      , "extended" .= toJSON postExtended
+      , "time" .= toJSON postTime
+      , "shared" .= boolToYesNo postShared
+      , "toread" .= boolToYesNo postToRead
+      , "tags" .= unwords postTags
+      ]
+
+boolFromYesNo :: Text -> Bool
+boolFromYesNo "yes" = True
+boolFromYesNo _ = False
+
+boolToYesNo :: Bool -> Text
+boolToYesNo True = "yes"
+boolToYesNo _ = "no"
+
+
+-- BookmarkForm
+
+data BookmarkForm = BookmarkForm
+  { _url :: Text
+  , _title :: Maybe Text
+  , _description :: Maybe Textarea
+  , _tags :: Maybe Text
+  , _private :: Maybe Bool
+  , _toread :: Maybe Bool
+  , _bid :: Maybe Int64
+  , _selected :: Maybe Bool
+  , _time :: Maybe UTCTimeStr
+  } deriving (Show, Eq, Read, Generic)
+
+instance FromJSON BookmarkForm where parseJSON = A.genericParseJSON gBookmarkFormOptions
+instance ToJSON BookmarkForm where toJSON = A.genericToJSON gBookmarkFormOptions
+
+gBookmarkFormOptions :: A.Options
+gBookmarkFormOptions = A.defaultOptions { A.fieldLabelModifier = drop 1 } 
+
+toBookmarkFormList :: [Entity Bookmark] -> [Entity BookmarkTag] -> [BookmarkForm]
+toBookmarkFormList bs as = do
+  b <- bs
+  let bid = E.entityKey b
+  let btags = fmap bookmarkTagTag $ filter ((==) bid . bookmarkTagBookmarkId) (fmap E.entityVal as)
+  pure $ toBookmarkForm b btags
+
+toBookmarkForm :: Entity Bookmark -> [Text] -> BookmarkForm
+toBookmarkForm (Entity bid Bookmark {..}) tags =
+  BookmarkForm
+  { _url = bookmarkHref
+  , _title = Just bookmarkDescription
+  , _description = Just $ Textarea $ bookmarkExtended
+  , _tags = Just $ unwords $ tags
+  , _private = Just $ not bookmarkShared
+  , _toread = Just $ bookmarkToRead
+  , _bid = Just $ fromSqlKey bid
+  , _selected = Just bookmarkSelected
+  , _time = Just $ UTCTimeStr $ bookmarkTime
+  }
+  
+_toBookmarkDefs :: (Entity Bookmark, [Entity BookmarkTag]) -> BookmarkForm
+_toBookmarkDefs (Entity bid Bookmark {..}, tags) =
+  BookmarkForm
+  { _url = bookmarkHref
+  , _title = Just bookmarkDescription
+  , _description = Just $ Textarea $ bookmarkExtended
+  , _tags = Just $ unwords $ fmap (bookmarkTagTag . entityVal) tags
+  , _private = Just $ not bookmarkShared
+  , _toread = Just $ bookmarkToRead
+  , _bid = Just $ fromSqlKey $ bid
+  , _selected = Just $ bookmarkSelected
+  , _time = Just $ UTCTimeStr $ bookmarkTime
+  }
+
+_toBookmark :: UserId -> UTCTime -> BookmarkForm -> Bookmark
+_toBookmark userId time BookmarkForm {..} =
+  Bookmark userId _url
+    (fromMaybe "" _title)
+    (maybe "" unTextarea _description)
+    (fromMaybe time (fmap unUTCTimeStr _time))
+    (maybe True not _private)
+    (fromMaybe False _toread)
+    (fromMaybe False _selected)
+
+fetchBookmarkByUrl :: Key User -> Maybe Text -> DB (Maybe (Entity Bookmark, [Entity BookmarkTag]))
+fetchBookmarkByUrl userId murl = runMaybeT $ do
+  bmark <- MaybeT . getBy . UniqueUserHref userId =<< (MaybeT $ pure murl)
+  btags <- lift $ withTags (entityKey bmark)
+  pure (bmark, btags)
+
+data UpsertResult = Created | Updated
+
+upsertBookmark:: Maybe (Key Bookmark) -> Bookmark -> [Text] -> DB (UpsertResult, Key Bookmark)
+upsertBookmark mbid bmark@Bookmark{..} tags = do
+  res <- case mbid of
+    Just bid -> do
+      get bid >>= \case 
+        Just _ -> replaceBookmark bid
+        _ -> fail "not found"
+    Nothing -> do
+      getBy (UniqueUserHref bookmarkUserId bookmarkHref) >>= \case
+        Just (Entity bid _) -> replaceBookmark bid
+        _ -> (Created,) <$> insert bmark
+  insertTags bookmarkUserId (snd res)
+  pure res
+  where 
+    replaceBookmark bid = do
+      replace bid bmark
+      deleteTags bid
+      pure (Updated, bid)
+    deleteTags bid =
+      deleteWhere [BookmarkTagBookmarkId ==. bid]
+    insertTags userId bid' =
+      forM_ (zip [1 ..] tags) $
+      \(i, tag) -> void $ insert $ BookmarkTag userId tag bid' i
src/ModelCrypto.hs view
@@ -8,6 +8,7 @@ import Safe (fromJustNote) import qualified Data.Text as T import qualified Data.Text.Encoding as TE+import qualified Data.Aeson as A  policy :: HashingPolicy policy =@@ -18,7 +19,7 @@  newtype BCrypt = BCrypt   { unBCrypt :: T.Text-  } deriving (Eq, PersistField, PersistFieldSql, Show, Ord)+  } deriving (Eq, PersistField, PersistFieldSql, Show, Ord, A.FromJSON, A.ToJSON)  hashPassword :: T.Text -> IO BCrypt hashPassword rawPassword = do
src/PathPiece.hs view
@@ -1,54 +1,54 @@-{-# OPTIONS_GHC -fno-warn-orphans #-}--module PathPiece where-  -import Data.Text (splitOn)--import Import.NoFoundation---- PathPiece--instance PathPiece UserNameP where-  toPathPiece (UserNameP i) = "u:" <> i-  fromPathPiece s =-    case splitOn ":" s of-      ["u", ""] -> Nothing-      ["u", uname] -> Just $ UserNameP uname-      _ -> Nothing--instance PathPiece TagsP where-  toPathPiece (TagsP tags) = "t:" <> (intercalate "+" tags)-  fromPathPiece s =-    case splitOn ":" s of-      ["t", ""] -> Nothing-      ["t", tags] -> Just $ TagsP (splitOn "+" tags)-      _ -> Nothing--instance PathPiece SharedP where-  toPathPiece = \case-    SharedAll -> ""-    SharedPublic -> "public"-    SharedPrivate -> "private"-  fromPathPiece = \case-    "public" -> Just SharedPublic-    "private" -> Just SharedPrivate-    _ -> Nothing--instance PathPiece FilterP where-  toPathPiece = \case-    FilterAll -> ""-    FilterUnread -> "unread"-    FilterUntagged -> "untagged"-    FilterStarred -> "starred"-    FilterSingle bid -> "b:" <> (pack . show) bid-  fromPathPiece = \case-    "unread" -> Just FilterUnread-    "untagged" -> Just FilterUntagged-    "starred" -> Just FilterStarred-    s -> case splitOn ":" s of-        ["b", ""] -> Nothing-        ["b", sbid] ->-          case readMay sbid of-            Just bid -> Just $ FilterSingle bid-            _ -> Nothing-        _ -> Nothing+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
+module PathPiece where
+  
+import Data.Text (splitOn)
+
+import Import.NoFoundation
+
+-- PathPiece
+
+instance PathPiece UserNameP where
+  toPathPiece (UserNameP i) = "u:" <> i
+  fromPathPiece s =
+    case splitOn ":" s of
+      ["u", ""] -> Nothing
+      ["u", uname] -> Just $ UserNameP uname
+      _ -> Nothing
+
+instance PathPiece TagsP where
+  toPathPiece (TagsP tags) = "t:" <> (intercalate "+" tags)
+  fromPathPiece s =
+    case splitOn ":" s of
+      ["t", ""] -> Nothing
+      ["t", tags] -> Just $ TagsP (splitOn "+" tags)
+      _ -> Nothing
+
+instance PathPiece SharedP where
+  toPathPiece = \case
+    SharedAll -> ""
+    SharedPublic -> "public"
+    SharedPrivate -> "private"
+  fromPathPiece = \case
+    "public" -> Just SharedPublic
+    "private" -> Just SharedPrivate
+    _ -> Nothing
+
+instance PathPiece FilterP where
+  toPathPiece = \case
+    FilterAll -> ""
+    FilterUnread -> "unread"
+    FilterUntagged -> "untagged"
+    FilterStarred -> "starred"
+    FilterSingle bid -> "b:" <> (pack . show) bid
+  fromPathPiece = \case
+    "unread" -> Just FilterUnread
+    "untagged" -> Just FilterUntagged
+    "starred" -> Just FilterStarred
+    s -> case splitOn ":" s of
+        ["b", ""] -> Nothing
+        ["b", sbid] ->
+          case readMay sbid of
+            Just bid -> Just $ FilterSingle bid
+            _ -> Nothing
+        _ -> Nothing
− static/css/bootstrap.css
@@ -1,7022 +0,0 @@-@import url("https://fonts.googleapis.com/css?family=Lato:400,700,400italic");-/*!- * bootswatch v3.3.7- * Homepage: http://bootswatch.com- * Copyright 2012-2016 Thomas Park- * Licensed under MIT- * Based on Bootstrap-*/-/*!- * Bootstrap v3.3.7 (http://getbootstrap.com)- * Copyright 2011-2016 Twitter, Inc.- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)- */-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */-html {-  font-family: sans-serif;-  -ms-text-size-adjust: 100%;-  -webkit-text-size-adjust: 100%;-}-body {-  margin: 0;-}-article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-main,-menu,-nav,-section,-summary {-  display: block;-}-audio,-canvas,-progress,-video {-  display: inline-block;-  vertical-align: baseline;-}-audio:not([controls]) {-  display: none;-  height: 0;-}-[hidden],-template {-  display: none;-}-a {-  background-color: transparent;-}-a:active,-a:hover {-  outline: 0;-}-abbr[title] {-  border-bottom: 1px dotted;-}-b,-strong {-  font-weight: bold;-}-dfn {-  font-style: italic;-}-h1 {-  font-size: 2em;-  margin: 0.67em 0;-}-mark {-  background: #ff0;-  color: #000;-}-small {-  font-size: 80%;-}-sub,-sup {-  font-size: 75%;-  line-height: 0;-  position: relative;-  vertical-align: baseline;-}-sup {-  top: -0.5em;-}-sub {-  bottom: -0.25em;-}-img {-  border: 0;-}-svg:not(:root) {-  overflow: hidden;-}-figure {-  margin: 1em 40px;-}-hr {-  -webkit-box-sizing: content-box;-     -moz-box-sizing: content-box;-          box-sizing: content-box;-  height: 0;-}-pre {-  overflow: auto;-}-code,-kbd,-pre,-samp {-  font-family: monospace, monospace;-  font-size: 1em;-}-button,-input,-optgroup,-select,-textarea {-  color: inherit;-  font: inherit;-  margin: 0;-}-button {-  overflow: visible;-}-button,-select {-  text-transform: none;-}-button,-html input[type="button"],-input[type="reset"],-input[type="submit"] {-  -webkit-appearance: button;-  cursor: pointer;-}-button[disabled],-html input[disabled] {-  cursor: default;-}-button::-moz-focus-inner,-input::-moz-focus-inner {-  border: 0;-  padding: 0;-}-input {-  line-height: normal;-}-input[type="checkbox"],-input[type="radio"] {-  -webkit-box-sizing: border-box;-     -moz-box-sizing: border-box;-          box-sizing: border-box;-  padding: 0;-}-input[type="number"]::-webkit-inner-spin-button,-input[type="number"]::-webkit-outer-spin-button {-  height: auto;-}-input[type="search"] {-  -webkit-appearance: textfield;-  -webkit-box-sizing: content-box;-     -moz-box-sizing: content-box;-          box-sizing: content-box;-}-input[type="search"]::-webkit-search-cancel-button,-input[type="search"]::-webkit-search-decoration {-  -webkit-appearance: none;-}-fieldset {-  border: 1px solid #c0c0c0;-  margin: 0 2px;-  padding: 0.35em 0.625em 0.75em;-}-legend {-  border: 0;-  padding: 0;-}-textarea {-  overflow: auto;-}-optgroup {-  font-weight: bold;-}-table {-  border-collapse: collapse;-  border-spacing: 0;-}-td,-th {-  padding: 0;-}-/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */-@media print {-  *,-  *:before,-  *:after {-    background: transparent !important;-    color: #000 !important;-    -webkit-box-shadow: none !important;-            box-shadow: none !important;-    text-shadow: none !important;-  }-  a,-  a:visited {-    text-decoration: underline;-  }-  a[href]:after {-    content: " (" attr(href) ")";-  }-  abbr[title]:after {-    content: " (" attr(title) ")";-  }-  a[href^="#"]:after,-  a[href^="javascript:"]:after {-    content: "";-  }-  pre,-  blockquote {-    border: 1px solid #999;-    page-break-inside: avoid;-  }-  thead {-    display: table-header-group;-  }-  tr,-  img {-    page-break-inside: avoid;-  }-  img {-    max-width: 100% !important;-  }-  p,-  h2,-  h3 {-    orphans: 3;-    widows: 3;-  }-  h2,-  h3 {-    page-break-after: avoid;-  }-  .navbar {-    display: none;-  }-  .btn > .caret,-  .dropup > .btn > .caret {-    border-top-color: #000 !important;-  }-  .label {-    border: 1px solid #000;-  }-  .table {-    border-collapse: collapse !important;-  }-  .table td,-  .table th {-    background-color: #fff !important;-  }-  .table-bordered th,-  .table-bordered td {-    border: 1px solid #ddd !important;-  }-}-@font-face {-  font-family: 'Glyphicons Halflings';-  src: url('../fonts/glyphicons-halflings-regular.eot');-  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');-}-.glyphicon {-  position: relative;-  top: 1px;-  display: inline-block;-  font-family: 'Glyphicons Halflings';-  font-style: normal;-  font-weight: normal;-  line-height: 1;-  -webkit-font-smoothing: antialiased;-  -moz-osx-font-smoothing: grayscale;-}-.glyphicon-asterisk:before {-  content: "\002a";-}-.glyphicon-plus:before {-  content: "\002b";-}-.glyphicon-euro:before,-.glyphicon-eur:before {-  content: "\20ac";-}-.glyphicon-minus:before {-  content: "\2212";-}-.glyphicon-cloud:before {-  content: "\2601";-}-.glyphicon-envelope:before {-  content: "\2709";-}-.glyphicon-pencil:before {-  content: "\270f";-}-.glyphicon-glass:before {-  content: "\e001";-}-.glyphicon-music:before {-  content: "\e002";-}-.glyphicon-search:before {-  content: "\e003";-}-.glyphicon-heart:before {-  content: "\e005";-}-.glyphicon-star:before {-  content: "\e006";-}-.glyphicon-star-empty:before {-  content: "\e007";-}-.glyphicon-user:before {-  content: "\e008";-}-.glyphicon-film:before {-  content: "\e009";-}-.glyphicon-th-large:before {-  content: "\e010";-}-.glyphicon-th:before {-  content: "\e011";-}-.glyphicon-th-list:before {-  content: "\e012";-}-.glyphicon-ok:before {-  content: "\e013";-}-.glyphicon-remove:before {-  content: "\e014";-}-.glyphicon-zoom-in:before {-  content: "\e015";-}-.glyphicon-zoom-out:before {-  content: "\e016";-}-.glyphicon-off:before {-  content: "\e017";-}-.glyphicon-signal:before {-  content: "\e018";-}-.glyphicon-cog:before {-  content: "\e019";-}-.glyphicon-trash:before {-  content: "\e020";-}-.glyphicon-home:before {-  content: "\e021";-}-.glyphicon-file:before {-  content: "\e022";-}-.glyphicon-time:before {-  content: "\e023";-}-.glyphicon-road:before {-  content: "\e024";-}-.glyphicon-download-alt:before {-  content: "\e025";-}-.glyphicon-download:before {-  content: "\e026";-}-.glyphicon-upload:before {-  content: "\e027";-}-.glyphicon-inbox:before {-  content: "\e028";-}-.glyphicon-play-circle:before {-  content: "\e029";-}-.glyphicon-repeat:before {-  content: "\e030";-}-.glyphicon-refresh:before {-  content: "\e031";-}-.glyphicon-list-alt:before {-  content: "\e032";-}-.glyphicon-lock:before {-  content: "\e033";-}-.glyphicon-flag:before {-  content: "\e034";-}-.glyphicon-headphones:before {-  content: "\e035";-}-.glyphicon-volume-off:before {-  content: "\e036";-}-.glyphicon-volume-down:before {-  content: "\e037";-}-.glyphicon-volume-up:before {-  content: "\e038";-}-.glyphicon-qrcode:before {-  content: "\e039";-}-.glyphicon-barcode:before {-  content: "\e040";-}-.glyphicon-tag:before {-  content: "\e041";-}-.glyphicon-tags:before {-  content: "\e042";-}-.glyphicon-book:before {-  content: "\e043";-}-.glyphicon-bookmark:before {-  content: "\e044";-}-.glyphicon-print:before {-  content: "\e045";-}-.glyphicon-camera:before {-  content: "\e046";-}-.glyphicon-font:before {-  content: "\e047";-}-.glyphicon-bold:before {-  content: "\e048";-}-.glyphicon-italic:before {-  content: "\e049";-}-.glyphicon-text-height:before {-  content: "\e050";-}-.glyphicon-text-width:before {-  content: "\e051";-}-.glyphicon-align-left:before {-  content: "\e052";-}-.glyphicon-align-center:before {-  content: "\e053";-}-.glyphicon-align-right:before {-  content: "\e054";-}-.glyphicon-align-justify:before {-  content: "\e055";-}-.glyphicon-list:before {-  content: "\e056";-}-.glyphicon-indent-left:before {-  content: "\e057";-}-.glyphicon-indent-right:before {-  content: "\e058";-}-.glyphicon-facetime-video:before {-  content: "\e059";-}-.glyphicon-picture:before {-  content: "\e060";-}-.glyphicon-map-marker:before {-  content: "\e062";-}-.glyphicon-adjust:before {-  content: "\e063";-}-.glyphicon-tint:before {-  content: "\e064";-}-.glyphicon-edit:before {-  content: "\e065";-}-.glyphicon-share:before {-  content: "\e066";-}-.glyphicon-check:before {-  content: "\e067";-}-.glyphicon-move:before {-  content: "\e068";-}-.glyphicon-step-backward:before {-  content: "\e069";-}-.glyphicon-fast-backward:before {-  content: "\e070";-}-.glyphicon-backward:before {-  content: "\e071";-}-.glyphicon-play:before {-  content: "\e072";-}-.glyphicon-pause:before {-  content: "\e073";-}-.glyphicon-stop:before {-  content: "\e074";-}-.glyphicon-forward:before {-  content: "\e075";-}-.glyphicon-fast-forward:before {-  content: "\e076";-}-.glyphicon-step-forward:before {-  content: "\e077";-}-.glyphicon-eject:before {-  content: "\e078";-}-.glyphicon-chevron-left:before {-  content: "\e079";-}-.glyphicon-chevron-right:before {-  content: "\e080";-}-.glyphicon-plus-sign:before {-  content: "\e081";-}-.glyphicon-minus-sign:before {-  content: "\e082";-}-.glyphicon-remove-sign:before {-  content: "\e083";-}-.glyphicon-ok-sign:before {-  content: "\e084";-}-.glyphicon-question-sign:before {-  content: "\e085";-}-.glyphicon-info-sign:before {-  content: "\e086";-}-.glyphicon-screenshot:before {-  content: "\e087";-}-.glyphicon-remove-circle:before {-  content: "\e088";-}-.glyphicon-ok-circle:before {-  content: "\e089";-}-.glyphicon-ban-circle:before {-  content: "\e090";-}-.glyphicon-arrow-left:before {-  content: "\e091";-}-.glyphicon-arrow-right:before {-  content: "\e092";-}-.glyphicon-arrow-up:before {-  content: "\e093";-}-.glyphicon-arrow-down:before {-  content: "\e094";-}-.glyphicon-share-alt:before {-  content: "\e095";-}-.glyphicon-resize-full:before {-  content: "\e096";-}-.glyphicon-resize-small:before {-  content: "\e097";-}-.glyphicon-exclamation-sign:before {-  content: "\e101";-}-.glyphicon-gift:before {-  content: "\e102";-}-.glyphicon-leaf:before {-  content: "\e103";-}-.glyphicon-fire:before {-  content: "\e104";-}-.glyphicon-eye-open:before {-  content: "\e105";-}-.glyphicon-eye-close:before {-  content: "\e106";-}-.glyphicon-warning-sign:before {-  content: "\e107";-}-.glyphicon-plane:before {-  content: "\e108";-}-.glyphicon-calendar:before {-  content: "\e109";-}-.glyphicon-random:before {-  content: "\e110";-}-.glyphicon-comment:before {-  content: "\e111";-}-.glyphicon-magnet:before {-  content: "\e112";-}-.glyphicon-chevron-up:before {-  content: "\e113";-}-.glyphicon-chevron-down:before {-  content: "\e114";-}-.glyphicon-retweet:before {-  content: "\e115";-}-.glyphicon-shopping-cart:before {-  content: "\e116";-}-.glyphicon-folder-close:before {-  content: "\e117";-}-.glyphicon-folder-open:before {-  content: "\e118";-}-.glyphicon-resize-vertical:before {-  content: "\e119";-}-.glyphicon-resize-horizontal:before {-  content: "\e120";-}-.glyphicon-hdd:before {-  content: "\e121";-}-.glyphicon-bullhorn:before {-  content: "\e122";-}-.glyphicon-bell:before {-  content: "\e123";-}-.glyphicon-certificate:before {-  content: "\e124";-}-.glyphicon-thumbs-up:before {-  content: "\e125";-}-.glyphicon-thumbs-down:before {-  content: "\e126";-}-.glyphicon-hand-right:before {-  content: "\e127";-}-.glyphicon-hand-left:before {-  content: "\e128";-}-.glyphicon-hand-up:before {-  content: "\e129";-}-.glyphicon-hand-down:before {-  content: "\e130";-}-.glyphicon-circle-arrow-right:before {-  content: "\e131";-}-.glyphicon-circle-arrow-left:before {-  content: "\e132";-}-.glyphicon-circle-arrow-up:before {-  content: "\e133";-}-.glyphicon-circle-arrow-down:before {-  content: "\e134";-}-.glyphicon-globe:before {-  content: "\e135";-}-.glyphicon-wrench:before {-  content: "\e136";-}-.glyphicon-tasks:before {-  content: "\e137";-}-.glyphicon-filter:before {-  content: "\e138";-}-.glyphicon-briefcase:before {-  content: "\e139";-}-.glyphicon-fullscreen:before {-  content: "\e140";-}-.glyphicon-dashboard:before {-  content: "\e141";-}-.glyphicon-paperclip:before {-  content: "\e142";-}-.glyphicon-heart-empty:before {-  content: "\e143";-}-.glyphicon-link:before {-  content: "\e144";-}-.glyphicon-phone:before {-  content: "\e145";-}-.glyphicon-pushpin:before {-  content: "\e146";-}-.glyphicon-usd:before {-  content: "\e148";-}-.glyphicon-gbp:before {-  content: "\e149";-}-.glyphicon-sort:before {-  content: "\e150";-}-.glyphicon-sort-by-alphabet:before {-  content: "\e151";-}-.glyphicon-sort-by-alphabet-alt:before {-  content: "\e152";-}-.glyphicon-sort-by-order:before {-  content: "\e153";-}-.glyphicon-sort-by-order-alt:before {-  content: "\e154";-}-.glyphicon-sort-by-attributes:before {-  content: "\e155";-}-.glyphicon-sort-by-attributes-alt:before {-  content: "\e156";-}-.glyphicon-unchecked:before {-  content: "\e157";-}-.glyphicon-expand:before {-  content: "\e158";-}-.glyphicon-collapse-down:before {-  content: "\e159";-}-.glyphicon-collapse-up:before {-  content: "\e160";-}-.glyphicon-log-in:before {-  content: "\e161";-}-.glyphicon-flash:before {-  content: "\e162";-}-.glyphicon-log-out:before {-  content: "\e163";-}-.glyphicon-new-window:before {-  content: "\e164";-}-.glyphicon-record:before {-  content: "\e165";-}-.glyphicon-save:before {-  content: "\e166";-}-.glyphicon-open:before {-  content: "\e167";-}-.glyphicon-saved:before {-  content: "\e168";-}-.glyphicon-import:before {-  content: "\e169";-}-.glyphicon-export:before {-  content: "\e170";-}-.glyphicon-send:before {-  content: "\e171";-}-.glyphicon-floppy-disk:before {-  content: "\e172";-}-.glyphicon-floppy-saved:before {-  content: "\e173";-}-.glyphicon-floppy-remove:before {-  content: "\e174";-}-.glyphicon-floppy-save:before {-  content: "\e175";-}-.glyphicon-floppy-open:before {-  content: "\e176";-}-.glyphicon-credit-card:before {-  content: "\e177";-}-.glyphicon-transfer:before {-  content: "\e178";-}-.glyphicon-cutlery:before {-  content: "\e179";-}-.glyphicon-header:before {-  content: "\e180";-}-.glyphicon-compressed:before {-  content: "\e181";-}-.glyphicon-earphone:before {-  content: "\e182";-}-.glyphicon-phone-alt:before {-  content: "\e183";-}-.glyphicon-tower:before {-  content: "\e184";-}-.glyphicon-stats:before {-  content: "\e185";-}-.glyphicon-sd-video:before {-  content: "\e186";-}-.glyphicon-hd-video:before {-  content: "\e187";-}-.glyphicon-subtitles:before {-  content: "\e188";-}-.glyphicon-sound-stereo:before {-  content: "\e189";-}-.glyphicon-sound-dolby:before {-  content: "\e190";-}-.glyphicon-sound-5-1:before {-  content: "\e191";-}-.glyphicon-sound-6-1:before {-  content: "\e192";-}-.glyphicon-sound-7-1:before {-  content: "\e193";-}-.glyphicon-copyright-mark:before {-  content: "\e194";-}-.glyphicon-registration-mark:before {-  content: "\e195";-}-.glyphicon-cloud-download:before {-  content: "\e197";-}-.glyphicon-cloud-upload:before {-  content: "\e198";-}-.glyphicon-tree-conifer:before {-  content: "\e199";-}-.glyphicon-tree-deciduous:before {-  content: "\e200";-}-.glyphicon-cd:before {-  content: "\e201";-}-.glyphicon-save-file:before {-  content: "\e202";-}-.glyphicon-open-file:before {-  content: "\e203";-}-.glyphicon-level-up:before {-  content: "\e204";-}-.glyphicon-copy:before {-  content: "\e205";-}-.glyphicon-paste:before {-  content: "\e206";-}-.glyphicon-alert:before {-  content: "\e209";-}-.glyphicon-equalizer:before {-  content: "\e210";-}-.glyphicon-king:before {-  content: "\e211";-}-.glyphicon-queen:before {-  content: "\e212";-}-.glyphicon-pawn:before {-  content: "\e213";-}-.glyphicon-bishop:before {-  content: "\e214";-}-.glyphicon-knight:before {-  content: "\e215";-}-.glyphicon-baby-formula:before {-  content: "\e216";-}-.glyphicon-tent:before {-  content: "\26fa";-}-.glyphicon-blackboard:before {-  content: "\e218";-}-.glyphicon-bed:before {-  content: "\e219";-}-.glyphicon-apple:before {-  content: "\f8ff";-}-.glyphicon-erase:before {-  content: "\e221";-}-.glyphicon-hourglass:before {-  content: "\231b";-}-.glyphicon-lamp:before {-  content: "\e223";-}-.glyphicon-duplicate:before {-  content: "\e224";-}-.glyphicon-piggy-bank:before {-  content: "\e225";-}-.glyphicon-scissors:before {-  content: "\e226";-}-.glyphicon-bitcoin:before {-  content: "\e227";-}-.glyphicon-btc:before {-  content: "\e227";-}-.glyphicon-xbt:before {-  content: "\e227";-}-.glyphicon-yen:before {-  content: "\00a5";-}-.glyphicon-jpy:before {-  content: "\00a5";-}-.glyphicon-ruble:before {-  content: "\20bd";-}-.glyphicon-rub:before {-  content: "\20bd";-}-.glyphicon-scale:before {-  content: "\e230";-}-.glyphicon-ice-lolly:before {-  content: "\e231";-}-.glyphicon-ice-lolly-tasted:before {-  content: "\e232";-}-.glyphicon-education:before {-  content: "\e233";-}-.glyphicon-option-horizontal:before {-  content: "\e234";-}-.glyphicon-option-vertical:before {-  content: "\e235";-}-.glyphicon-menu-hamburger:before {-  content: "\e236";-}-.glyphicon-modal-window:before {-  content: "\e237";-}-.glyphicon-oil:before {-  content: "\e238";-}-.glyphicon-grain:before {-  content: "\e239";-}-.glyphicon-sunglasses:before {-  content: "\e240";-}-.glyphicon-text-size:before {-  content: "\e241";-}-.glyphicon-text-color:before {-  content: "\e242";-}-.glyphicon-text-background:before {-  content: "\e243";-}-.glyphicon-object-align-top:before {-  content: "\e244";-}-.glyphicon-object-align-bottom:before {-  content: "\e245";-}-.glyphicon-object-align-horizontal:before {-  content: "\e246";-}-.glyphicon-object-align-left:before {-  content: "\e247";-}-.glyphicon-object-align-vertical:before {-  content: "\e248";-}-.glyphicon-object-align-right:before {-  content: "\e249";-}-.glyphicon-triangle-right:before {-  content: "\e250";-}-.glyphicon-triangle-left:before {-  content: "\e251";-}-.glyphicon-triangle-bottom:before {-  content: "\e252";-}-.glyphicon-triangle-top:before {-  content: "\e253";-}-.glyphicon-console:before {-  content: "\e254";-}-.glyphicon-superscript:before {-  content: "\e255";-}-.glyphicon-subscript:before {-  content: "\e256";-}-.glyphicon-menu-left:before {-  content: "\e257";-}-.glyphicon-menu-right:before {-  content: "\e258";-}-.glyphicon-menu-down:before {-  content: "\e259";-}-.glyphicon-menu-up:before {-  content: "\e260";-}-* {-  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  box-sizing: border-box;-}-*:before,-*:after {-  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  box-sizing: border-box;-}-html {-  font-size: 10px;-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);-}-body {-  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 15px;-  line-height: 1.42857143;-  color: #2c3e50;-  background-color: #ffffff;-}-input,-button,-select,-textarea {-  font-family: inherit;-  font-size: inherit;-  line-height: inherit;-}-a {-  color: #18bc9c;-  text-decoration: none;-}-a:hover,-a:focus {-  color: #18bc9c;-  text-decoration: underline;-}-a:focus {-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-figure {-  margin: 0;-}-img {-  vertical-align: middle;-}-.img-responsive,-.thumbnail > img,-.thumbnail a > img,-.carousel-inner > .item > img,-.carousel-inner > .item > a > img {-  display: block;-  max-width: 100%;-  height: auto;-}-.img-rounded {-  border-radius: 6px;-}-.img-thumbnail {-  padding: 4px;-  line-height: 1.42857143;-  background-color: #ffffff;-  border: 1px solid #ecf0f1;-  border-radius: 4px;-  -webkit-transition: all 0.2s ease-in-out;-  -o-transition: all 0.2s ease-in-out;-  transition: all 0.2s ease-in-out;-  display: inline-block;-  max-width: 100%;-  height: auto;-}-.img-circle {-  border-radius: 50%;-}-hr {-  margin-top: 21px;-  margin-bottom: 21px;-  border: 0;-  border-top: 1px solid #ecf0f1;-}-.sr-only {-  position: absolute;-  width: 1px;-  height: 1px;-  margin: -1px;-  padding: 0;-  overflow: hidden;-  clip: rect(0, 0, 0, 0);-  border: 0;-}-.sr-only-focusable:active,-.sr-only-focusable:focus {-  position: static;-  width: auto;-  height: auto;-  margin: 0;-  overflow: visible;-  clip: auto;-}-[role="button"] {-  cursor: pointer;-}-h1,-h2,-h3,-h4,-h5,-h6,-.h1,-.h2,-.h3,-.h4,-.h5,-.h6 {-  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-weight: 400;-  line-height: 1.1;-  color: inherit;-}-h1 small,-h2 small,-h3 small,-h4 small,-h5 small,-h6 small,-.h1 small,-.h2 small,-.h3 small,-.h4 small,-.h5 small,-.h6 small,-h1 .small,-h2 .small,-h3 .small,-h4 .small,-h5 .small,-h6 .small,-.h1 .small,-.h2 .small,-.h3 .small,-.h4 .small,-.h5 .small,-.h6 .small {-  font-weight: normal;-  line-height: 1;-  color: #b4bcc2;-}-h1,-.h1,-h2,-.h2,-h3,-.h3 {-  margin-top: 21px;-  margin-bottom: 10.5px;-}-h1 small,-.h1 small,-h2 small,-.h2 small,-h3 small,-.h3 small,-h1 .small,-.h1 .small,-h2 .small,-.h2 .small,-h3 .small,-.h3 .small {-  font-size: 65%;-}-h4,-.h4,-h5,-.h5,-h6,-.h6 {-  margin-top: 10.5px;-  margin-bottom: 10.5px;-}-h4 small,-.h4 small,-h5 small,-.h5 small,-h6 small,-.h6 small,-h4 .small,-.h4 .small,-h5 .small,-.h5 .small,-h6 .small,-.h6 .small {-  font-size: 75%;-}-h1,-.h1 {-  font-size: 39px;-}-h2,-.h2 {-  font-size: 32px;-}-h3,-.h3 {-  font-size: 26px;-}-h4,-.h4 {-  font-size: 19px;-}-h5,-.h5 {-  font-size: 15px;-}-h6,-.h6 {-  font-size: 13px;-}-p {-  margin: 0 0 10.5px;-}-.lead {-  margin-bottom: 21px;-  font-size: 17px;-  font-weight: 300;-  line-height: 1.4;-}-@media (min-width: 768px) {-  .lead {-    font-size: 22.5px;-  }-}-small,-.small {-  font-size: 86%;-}-mark,-.mark {-  background-color: #f39c12;-  padding: .2em;-}-.text-left {-  text-align: left;-}-.text-right {-  text-align: right;-}-.text-center {-  text-align: center;-}-.text-justify {-  text-align: justify;-}-.text-nowrap {-  white-space: nowrap;-}-.text-lowercase {-  text-transform: lowercase;-}-.text-uppercase {-  text-transform: uppercase;-}-.text-capitalize {-  text-transform: capitalize;-}-.text-muted {-  color: #b4bcc2;-}-.text-primary {-  color: #2c3e50;-}-a.text-primary:hover,-a.text-primary:focus {-  color: #1a242f;-}-.text-success {-  color: #ffffff;-}-a.text-success:hover,-a.text-success:focus {-  color: #e6e6e6;-}-.text-info {-  color: #ffffff;-}-a.text-info:hover,-a.text-info:focus {-  color: #e6e6e6;-}-.text-warning {-  color: #ffffff;-}-a.text-warning:hover,-a.text-warning:focus {-  color: #e6e6e6;-}-.text-danger {-  color: #ffffff;-}-a.text-danger:hover,-a.text-danger:focus {-  color: #e6e6e6;-}-.bg-primary {-  color: #fff;-  background-color: #2c3e50;-}-a.bg-primary:hover,-a.bg-primary:focus {-  background-color: #1a242f;-}-.bg-success {-  background-color: #18bc9c;-}-a.bg-success:hover,-a.bg-success:focus {-  background-color: #128f76;-}-.bg-info {-  background-color: #3498db;-}-a.bg-info:hover,-a.bg-info:focus {-  background-color: #217dbb;-}-.bg-warning {-  background-color: #f39c12;-}-a.bg-warning:hover,-a.bg-warning:focus {-  background-color: #c87f0a;-}-.bg-danger {-  background-color: #e74c3c;-}-a.bg-danger:hover,-a.bg-danger:focus {-  background-color: #d62c1a;-}-.page-header {-  padding-bottom: 9.5px;-  margin: 42px 0 21px;-  border-bottom: 1px solid transparent;-}-ul,-ol {-  margin-top: 0;-  margin-bottom: 10.5px;-}-ul ul,-ol ul,-ul ol,-ol ol {-  margin-bottom: 0;-}-.list-unstyled {-  padding-left: 0;-  list-style: none;-}-.list-inline {-  padding-left: 0;-  list-style: none;-  margin-left: -5px;-}-.list-inline > li {-  display: inline-block;-  padding-left: 5px;-  padding-right: 5px;-}-dl {-  margin-top: 0;-  margin-bottom: 21px;-}-dt,-dd {-  line-height: 1.42857143;-}-dt {-  font-weight: bold;-}-dd {-  margin-left: 0;-}-@media (min-width: 768px) {-  .dl-horizontal dt {-    float: left;-    width: 160px;-    clear: left;-    text-align: right;-    overflow: hidden;-    text-overflow: ellipsis;-    white-space: nowrap;-  }-  .dl-horizontal dd {-    margin-left: 180px;-  }-}-abbr[title],-abbr[data-original-title] {-  cursor: help;-  border-bottom: 1px dotted #b4bcc2;-}-.initialism {-  font-size: 90%;-  text-transform: uppercase;-}-blockquote {-  padding: 10.5px 21px;-  margin: 0 0 21px;-  font-size: 18.75px;-  border-left: 5px solid #ecf0f1;-}-blockquote p:last-child,-blockquote ul:last-child,-blockquote ol:last-child {-  margin-bottom: 0;-}-blockquote footer,-blockquote small,-blockquote .small {-  display: block;-  font-size: 80%;-  line-height: 1.42857143;-  color: #b4bcc2;-}-blockquote footer:before,-blockquote small:before,-blockquote .small:before {-  content: '\2014 \00A0';-}-.blockquote-reverse,-blockquote.pull-right {-  padding-right: 15px;-  padding-left: 0;-  border-right: 5px solid #ecf0f1;-  border-left: 0;-  text-align: right;-}-.blockquote-reverse footer:before,-blockquote.pull-right footer:before,-.blockquote-reverse small:before,-blockquote.pull-right small:before,-.blockquote-reverse .small:before,-blockquote.pull-right .small:before {-  content: '';-}-.blockquote-reverse footer:after,-blockquote.pull-right footer:after,-.blockquote-reverse small:after,-blockquote.pull-right small:after,-.blockquote-reverse .small:after,-blockquote.pull-right .small:after {-  content: '\00A0 \2014';-}-address {-  margin-bottom: 21px;-  font-style: normal;-  line-height: 1.42857143;-}-code,-kbd,-pre,-samp {-  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;-}-code {-  padding: 2px 4px;-  font-size: 90%;-  color: #c7254e;-  background-color: #f9f2f4;-  border-radius: 4px;-}-kbd {-  padding: 2px 4px;-  font-size: 90%;-  color: #ffffff;-  background-color: #333333;-  border-radius: 3px;-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);-          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);-}-kbd kbd {-  padding: 0;-  font-size: 100%;-  font-weight: bold;-  -webkit-box-shadow: none;-          box-shadow: none;-}-pre {-  display: block;-  padding: 10px;-  margin: 0 0 10.5px;-  font-size: 14px;-  line-height: 1.42857143;-  word-break: break-all;-  word-wrap: break-word;-  color: #7b8a8b;-  background-color: #ecf0f1;-  border: 1px solid #cccccc;-  border-radius: 4px;-}-pre code {-  padding: 0;-  font-size: inherit;-  color: inherit;-  white-space: pre-wrap;-  background-color: transparent;-  border-radius: 0;-}-.pre-scrollable {-  max-height: 340px;-  overflow-y: scroll;-}-.container {-  margin-right: auto;-  margin-left: auto;-  padding-left: 15px;-  padding-right: 15px;-}-@media (min-width: 768px) {-  .container {-    width: 750px;-  }-}-@media (min-width: 992px) {-  .container {-    width: 970px;-  }-}-@media (min-width: 1200px) {-  .container {-    width: 1170px;-  }-}-.container-fluid {-  margin-right: auto;-  margin-left: auto;-  padding-left: 15px;-  padding-right: 15px;-}-.row {-  margin-left: -15px;-  margin-right: -15px;-}-.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {-  position: relative;-  min-height: 1px;-  padding-left: 15px;-  padding-right: 15px;-}-.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {-  float: left;-}-.col-xs-12 {-  width: 100%;-}-.col-xs-11 {-  width: 91.66666667%;-}-.col-xs-10 {-  width: 83.33333333%;-}-.col-xs-9 {-  width: 75%;-}-.col-xs-8 {-  width: 66.66666667%;-}-.col-xs-7 {-  width: 58.33333333%;-}-.col-xs-6 {-  width: 50%;-}-.col-xs-5 {-  width: 41.66666667%;-}-.col-xs-4 {-  width: 33.33333333%;-}-.col-xs-3 {-  width: 25%;-}-.col-xs-2 {-  width: 16.66666667%;-}-.col-xs-1 {-  width: 8.33333333%;-}-.col-xs-pull-12 {-  right: 100%;-}-.col-xs-pull-11 {-  right: 91.66666667%;-}-.col-xs-pull-10 {-  right: 83.33333333%;-}-.col-xs-pull-9 {-  right: 75%;-}-.col-xs-pull-8 {-  right: 66.66666667%;-}-.col-xs-pull-7 {-  right: 58.33333333%;-}-.col-xs-pull-6 {-  right: 50%;-}-.col-xs-pull-5 {-  right: 41.66666667%;-}-.col-xs-pull-4 {-  right: 33.33333333%;-}-.col-xs-pull-3 {-  right: 25%;-}-.col-xs-pull-2 {-  right: 16.66666667%;-}-.col-xs-pull-1 {-  right: 8.33333333%;-}-.col-xs-pull-0 {-  right: auto;-}-.col-xs-push-12 {-  left: 100%;-}-.col-xs-push-11 {-  left: 91.66666667%;-}-.col-xs-push-10 {-  left: 83.33333333%;-}-.col-xs-push-9 {-  left: 75%;-}-.col-xs-push-8 {-  left: 66.66666667%;-}-.col-xs-push-7 {-  left: 58.33333333%;-}-.col-xs-push-6 {-  left: 50%;-}-.col-xs-push-5 {-  left: 41.66666667%;-}-.col-xs-push-4 {-  left: 33.33333333%;-}-.col-xs-push-3 {-  left: 25%;-}-.col-xs-push-2 {-  left: 16.66666667%;-}-.col-xs-push-1 {-  left: 8.33333333%;-}-.col-xs-push-0 {-  left: auto;-}-.col-xs-offset-12 {-  margin-left: 100%;-}-.col-xs-offset-11 {-  margin-left: 91.66666667%;-}-.col-xs-offset-10 {-  margin-left: 83.33333333%;-}-.col-xs-offset-9 {-  margin-left: 75%;-}-.col-xs-offset-8 {-  margin-left: 66.66666667%;-}-.col-xs-offset-7 {-  margin-left: 58.33333333%;-}-.col-xs-offset-6 {-  margin-left: 50%;-}-.col-xs-offset-5 {-  margin-left: 41.66666667%;-}-.col-xs-offset-4 {-  margin-left: 33.33333333%;-}-.col-xs-offset-3 {-  margin-left: 25%;-}-.col-xs-offset-2 {-  margin-left: 16.66666667%;-}-.col-xs-offset-1 {-  margin-left: 8.33333333%;-}-.col-xs-offset-0 {-  margin-left: 0%;-}-@media (min-width: 768px) {-  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {-    float: left;-  }-  .col-sm-12 {-    width: 100%;-  }-  .col-sm-11 {-    width: 91.66666667%;-  }-  .col-sm-10 {-    width: 83.33333333%;-  }-  .col-sm-9 {-    width: 75%;-  }-  .col-sm-8 {-    width: 66.66666667%;-  }-  .col-sm-7 {-    width: 58.33333333%;-  }-  .col-sm-6 {-    width: 50%;-  }-  .col-sm-5 {-    width: 41.66666667%;-  }-  .col-sm-4 {-    width: 33.33333333%;-  }-  .col-sm-3 {-    width: 25%;-  }-  .col-sm-2 {-    width: 16.66666667%;-  }-  .col-sm-1 {-    width: 8.33333333%;-  }-  .col-sm-pull-12 {-    right: 100%;-  }-  .col-sm-pull-11 {-    right: 91.66666667%;-  }-  .col-sm-pull-10 {-    right: 83.33333333%;-  }-  .col-sm-pull-9 {-    right: 75%;-  }-  .col-sm-pull-8 {-    right: 66.66666667%;-  }-  .col-sm-pull-7 {-    right: 58.33333333%;-  }-  .col-sm-pull-6 {-    right: 50%;-  }-  .col-sm-pull-5 {-    right: 41.66666667%;-  }-  .col-sm-pull-4 {-    right: 33.33333333%;-  }-  .col-sm-pull-3 {-    right: 25%;-  }-  .col-sm-pull-2 {-    right: 16.66666667%;-  }-  .col-sm-pull-1 {-    right: 8.33333333%;-  }-  .col-sm-pull-0 {-    right: auto;-  }-  .col-sm-push-12 {-    left: 100%;-  }-  .col-sm-push-11 {-    left: 91.66666667%;-  }-  .col-sm-push-10 {-    left: 83.33333333%;-  }-  .col-sm-push-9 {-    left: 75%;-  }-  .col-sm-push-8 {-    left: 66.66666667%;-  }-  .col-sm-push-7 {-    left: 58.33333333%;-  }-  .col-sm-push-6 {-    left: 50%;-  }-  .col-sm-push-5 {-    left: 41.66666667%;-  }-  .col-sm-push-4 {-    left: 33.33333333%;-  }-  .col-sm-push-3 {-    left: 25%;-  }-  .col-sm-push-2 {-    left: 16.66666667%;-  }-  .col-sm-push-1 {-    left: 8.33333333%;-  }-  .col-sm-push-0 {-    left: auto;-  }-  .col-sm-offset-12 {-    margin-left: 100%;-  }-  .col-sm-offset-11 {-    margin-left: 91.66666667%;-  }-  .col-sm-offset-10 {-    margin-left: 83.33333333%;-  }-  .col-sm-offset-9 {-    margin-left: 75%;-  }-  .col-sm-offset-8 {-    margin-left: 66.66666667%;-  }-  .col-sm-offset-7 {-    margin-left: 58.33333333%;-  }-  .col-sm-offset-6 {-    margin-left: 50%;-  }-  .col-sm-offset-5 {-    margin-left: 41.66666667%;-  }-  .col-sm-offset-4 {-    margin-left: 33.33333333%;-  }-  .col-sm-offset-3 {-    margin-left: 25%;-  }-  .col-sm-offset-2 {-    margin-left: 16.66666667%;-  }-  .col-sm-offset-1 {-    margin-left: 8.33333333%;-  }-  .col-sm-offset-0 {-    margin-left: 0%;-  }-}-@media (min-width: 992px) {-  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {-    float: left;-  }-  .col-md-12 {-    width: 100%;-  }-  .col-md-11 {-    width: 91.66666667%;-  }-  .col-md-10 {-    width: 83.33333333%;-  }-  .col-md-9 {-    width: 75%;-  }-  .col-md-8 {-    width: 66.66666667%;-  }-  .col-md-7 {-    width: 58.33333333%;-  }-  .col-md-6 {-    width: 50%;-  }-  .col-md-5 {-    width: 41.66666667%;-  }-  .col-md-4 {-    width: 33.33333333%;-  }-  .col-md-3 {-    width: 25%;-  }-  .col-md-2 {-    width: 16.66666667%;-  }-  .col-md-1 {-    width: 8.33333333%;-  }-  .col-md-pull-12 {-    right: 100%;-  }-  .col-md-pull-11 {-    right: 91.66666667%;-  }-  .col-md-pull-10 {-    right: 83.33333333%;-  }-  .col-md-pull-9 {-    right: 75%;-  }-  .col-md-pull-8 {-    right: 66.66666667%;-  }-  .col-md-pull-7 {-    right: 58.33333333%;-  }-  .col-md-pull-6 {-    right: 50%;-  }-  .col-md-pull-5 {-    right: 41.66666667%;-  }-  .col-md-pull-4 {-    right: 33.33333333%;-  }-  .col-md-pull-3 {-    right: 25%;-  }-  .col-md-pull-2 {-    right: 16.66666667%;-  }-  .col-md-pull-1 {-    right: 8.33333333%;-  }-  .col-md-pull-0 {-    right: auto;-  }-  .col-md-push-12 {-    left: 100%;-  }-  .col-md-push-11 {-    left: 91.66666667%;-  }-  .col-md-push-10 {-    left: 83.33333333%;-  }-  .col-md-push-9 {-    left: 75%;-  }-  .col-md-push-8 {-    left: 66.66666667%;-  }-  .col-md-push-7 {-    left: 58.33333333%;-  }-  .col-md-push-6 {-    left: 50%;-  }-  .col-md-push-5 {-    left: 41.66666667%;-  }-  .col-md-push-4 {-    left: 33.33333333%;-  }-  .col-md-push-3 {-    left: 25%;-  }-  .col-md-push-2 {-    left: 16.66666667%;-  }-  .col-md-push-1 {-    left: 8.33333333%;-  }-  .col-md-push-0 {-    left: auto;-  }-  .col-md-offset-12 {-    margin-left: 100%;-  }-  .col-md-offset-11 {-    margin-left: 91.66666667%;-  }-  .col-md-offset-10 {-    margin-left: 83.33333333%;-  }-  .col-md-offset-9 {-    margin-left: 75%;-  }-  .col-md-offset-8 {-    margin-left: 66.66666667%;-  }-  .col-md-offset-7 {-    margin-left: 58.33333333%;-  }-  .col-md-offset-6 {-    margin-left: 50%;-  }-  .col-md-offset-5 {-    margin-left: 41.66666667%;-  }-  .col-md-offset-4 {-    margin-left: 33.33333333%;-  }-  .col-md-offset-3 {-    margin-left: 25%;-  }-  .col-md-offset-2 {-    margin-left: 16.66666667%;-  }-  .col-md-offset-1 {-    margin-left: 8.33333333%;-  }-  .col-md-offset-0 {-    margin-left: 0%;-  }-}-@media (min-width: 1200px) {-  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {-    float: left;-  }-  .col-lg-12 {-    width: 100%;-  }-  .col-lg-11 {-    width: 91.66666667%;-  }-  .col-lg-10 {-    width: 83.33333333%;-  }-  .col-lg-9 {-    width: 75%;-  }-  .col-lg-8 {-    width: 66.66666667%;-  }-  .col-lg-7 {-    width: 58.33333333%;-  }-  .col-lg-6 {-    width: 50%;-  }-  .col-lg-5 {-    width: 41.66666667%;-  }-  .col-lg-4 {-    width: 33.33333333%;-  }-  .col-lg-3 {-    width: 25%;-  }-  .col-lg-2 {-    width: 16.66666667%;-  }-  .col-lg-1 {-    width: 8.33333333%;-  }-  .col-lg-pull-12 {-    right: 100%;-  }-  .col-lg-pull-11 {-    right: 91.66666667%;-  }-  .col-lg-pull-10 {-    right: 83.33333333%;-  }-  .col-lg-pull-9 {-    right: 75%;-  }-  .col-lg-pull-8 {-    right: 66.66666667%;-  }-  .col-lg-pull-7 {-    right: 58.33333333%;-  }-  .col-lg-pull-6 {-    right: 50%;-  }-  .col-lg-pull-5 {-    right: 41.66666667%;-  }-  .col-lg-pull-4 {-    right: 33.33333333%;-  }-  .col-lg-pull-3 {-    right: 25%;-  }-  .col-lg-pull-2 {-    right: 16.66666667%;-  }-  .col-lg-pull-1 {-    right: 8.33333333%;-  }-  .col-lg-pull-0 {-    right: auto;-  }-  .col-lg-push-12 {-    left: 100%;-  }-  .col-lg-push-11 {-    left: 91.66666667%;-  }-  .col-lg-push-10 {-    left: 83.33333333%;-  }-  .col-lg-push-9 {-    left: 75%;-  }-  .col-lg-push-8 {-    left: 66.66666667%;-  }-  .col-lg-push-7 {-    left: 58.33333333%;-  }-  .col-lg-push-6 {-    left: 50%;-  }-  .col-lg-push-5 {-    left: 41.66666667%;-  }-  .col-lg-push-4 {-    left: 33.33333333%;-  }-  .col-lg-push-3 {-    left: 25%;-  }-  .col-lg-push-2 {-    left: 16.66666667%;-  }-  .col-lg-push-1 {-    left: 8.33333333%;-  }-  .col-lg-push-0 {-    left: auto;-  }-  .col-lg-offset-12 {-    margin-left: 100%;-  }-  .col-lg-offset-11 {-    margin-left: 91.66666667%;-  }-  .col-lg-offset-10 {-    margin-left: 83.33333333%;-  }-  .col-lg-offset-9 {-    margin-left: 75%;-  }-  .col-lg-offset-8 {-    margin-left: 66.66666667%;-  }-  .col-lg-offset-7 {-    margin-left: 58.33333333%;-  }-  .col-lg-offset-6 {-    margin-left: 50%;-  }-  .col-lg-offset-5 {-    margin-left: 41.66666667%;-  }-  .col-lg-offset-4 {-    margin-left: 33.33333333%;-  }-  .col-lg-offset-3 {-    margin-left: 25%;-  }-  .col-lg-offset-2 {-    margin-left: 16.66666667%;-  }-  .col-lg-offset-1 {-    margin-left: 8.33333333%;-  }-  .col-lg-offset-0 {-    margin-left: 0%;-  }-}-table {-  background-color: transparent;-}-caption {-  padding-top: 8px;-  padding-bottom: 8px;-  color: #b4bcc2;-  text-align: left;-}-th {-  text-align: left;-}-.table {-  width: 100%;-  max-width: 100%;-  margin-bottom: 21px;-}-.table > thead > tr > th,-.table > tbody > tr > th,-.table > tfoot > tr > th,-.table > thead > tr > td,-.table > tbody > tr > td,-.table > tfoot > tr > td {-  padding: 8px;-  line-height: 1.42857143;-  vertical-align: top;-  border-top: 1px solid #ecf0f1;-}-.table > thead > tr > th {-  vertical-align: bottom;-  border-bottom: 2px solid #ecf0f1;-}-.table > caption + thead > tr:first-child > th,-.table > colgroup + thead > tr:first-child > th,-.table > thead:first-child > tr:first-child > th,-.table > caption + thead > tr:first-child > td,-.table > colgroup + thead > tr:first-child > td,-.table > thead:first-child > tr:first-child > td {-  border-top: 0;-}-.table > tbody + tbody {-  border-top: 2px solid #ecf0f1;-}-.table .table {-  background-color: #ffffff;-}-.table-condensed > thead > tr > th,-.table-condensed > tbody > tr > th,-.table-condensed > tfoot > tr > th,-.table-condensed > thead > tr > td,-.table-condensed > tbody > tr > td,-.table-condensed > tfoot > tr > td {-  padding: 5px;-}-.table-bordered {-  border: 1px solid #ecf0f1;-}-.table-bordered > thead > tr > th,-.table-bordered > tbody > tr > th,-.table-bordered > tfoot > tr > th,-.table-bordered > thead > tr > td,-.table-bordered > tbody > tr > td,-.table-bordered > tfoot > tr > td {-  border: 1px solid #ecf0f1;-}-.table-bordered > thead > tr > th,-.table-bordered > thead > tr > td {-  border-bottom-width: 2px;-}-.table-striped > tbody > tr:nth-of-type(odd) {-  background-color: #f9f9f9;-}-.table-hover > tbody > tr:hover {-  background-color: #ecf0f1;-}-table col[class*="col-"] {-  position: static;-  float: none;-  display: table-column;-}-table td[class*="col-"],-table th[class*="col-"] {-  position: static;-  float: none;-  display: table-cell;-}-.table > thead > tr > td.active,-.table > tbody > tr > td.active,-.table > tfoot > tr > td.active,-.table > thead > tr > th.active,-.table > tbody > tr > th.active,-.table > tfoot > tr > th.active,-.table > thead > tr.active > td,-.table > tbody > tr.active > td,-.table > tfoot > tr.active > td,-.table > thead > tr.active > th,-.table > tbody > tr.active > th,-.table > tfoot > tr.active > th {-  background-color: #ecf0f1;-}-.table-hover > tbody > tr > td.active:hover,-.table-hover > tbody > tr > th.active:hover,-.table-hover > tbody > tr.active:hover > td,-.table-hover > tbody > tr:hover > .active,-.table-hover > tbody > tr.active:hover > th {-  background-color: #dde4e6;-}-.table > thead > tr > td.success,-.table > tbody > tr > td.success,-.table > tfoot > tr > td.success,-.table > thead > tr > th.success,-.table > tbody > tr > th.success,-.table > tfoot > tr > th.success,-.table > thead > tr.success > td,-.table > tbody > tr.success > td,-.table > tfoot > tr.success > td,-.table > thead > tr.success > th,-.table > tbody > tr.success > th,-.table > tfoot > tr.success > th {-  background-color: #18bc9c;-}-.table-hover > tbody > tr > td.success:hover,-.table-hover > tbody > tr > th.success:hover,-.table-hover > tbody > tr.success:hover > td,-.table-hover > tbody > tr:hover > .success,-.table-hover > tbody > tr.success:hover > th {-  background-color: #15a589;-}-.table > thead > tr > td.info,-.table > tbody > tr > td.info,-.table > tfoot > tr > td.info,-.table > thead > tr > th.info,-.table > tbody > tr > th.info,-.table > tfoot > tr > th.info,-.table > thead > tr.info > td,-.table > tbody > tr.info > td,-.table > tfoot > tr.info > td,-.table > thead > tr.info > th,-.table > tbody > tr.info > th,-.table > tfoot > tr.info > th {-  background-color: #3498db;-}-.table-hover > tbody > tr > td.info:hover,-.table-hover > tbody > tr > th.info:hover,-.table-hover > tbody > tr.info:hover > td,-.table-hover > tbody > tr:hover > .info,-.table-hover > tbody > tr.info:hover > th {-  background-color: #258cd1;-}-.table > thead > tr > td.warning,-.table > tbody > tr > td.warning,-.table > tfoot > tr > td.warning,-.table > thead > tr > th.warning,-.table > tbody > tr > th.warning,-.table > tfoot > tr > th.warning,-.table > thead > tr.warning > td,-.table > tbody > tr.warning > td,-.table > tfoot > tr.warning > td,-.table > thead > tr.warning > th,-.table > tbody > tr.warning > th,-.table > tfoot > tr.warning > th {-  background-color: #f39c12;-}-.table-hover > tbody > tr > td.warning:hover,-.table-hover > tbody > tr > th.warning:hover,-.table-hover > tbody > tr.warning:hover > td,-.table-hover > tbody > tr:hover > .warning,-.table-hover > tbody > tr.warning:hover > th {-  background-color: #e08e0b;-}-.table > thead > tr > td.danger,-.table > tbody > tr > td.danger,-.table > tfoot > tr > td.danger,-.table > thead > tr > th.danger,-.table > tbody > tr > th.danger,-.table > tfoot > tr > th.danger,-.table > thead > tr.danger > td,-.table > tbody > tr.danger > td,-.table > tfoot > tr.danger > td,-.table > thead > tr.danger > th,-.table > tbody > tr.danger > th,-.table > tfoot > tr.danger > th {-  background-color: #e74c3c;-}-.table-hover > tbody > tr > td.danger:hover,-.table-hover > tbody > tr > th.danger:hover,-.table-hover > tbody > tr.danger:hover > td,-.table-hover > tbody > tr:hover > .danger,-.table-hover > tbody > tr.danger:hover > th {-  background-color: #e43725;-}-.table-responsive {-  overflow-x: auto;-  min-height: 0.01%;-}-@media screen and (max-width: 767px) {-  .table-responsive {-    width: 100%;-    margin-bottom: 15.75px;-    overflow-y: hidden;-    -ms-overflow-style: -ms-autohiding-scrollbar;-    border: 1px solid #ecf0f1;-  }-  .table-responsive > .table {-    margin-bottom: 0;-  }-  .table-responsive > .table > thead > tr > th,-  .table-responsive > .table > tbody > tr > th,-  .table-responsive > .table > tfoot > tr > th,-  .table-responsive > .table > thead > tr > td,-  .table-responsive > .table > tbody > tr > td,-  .table-responsive > .table > tfoot > tr > td {-    white-space: nowrap;-  }-  .table-responsive > .table-bordered {-    border: 0;-  }-  .table-responsive > .table-bordered > thead > tr > th:first-child,-  .table-responsive > .table-bordered > tbody > tr > th:first-child,-  .table-responsive > .table-bordered > tfoot > tr > th:first-child,-  .table-responsive > .table-bordered > thead > tr > td:first-child,-  .table-responsive > .table-bordered > tbody > tr > td:first-child,-  .table-responsive > .table-bordered > tfoot > tr > td:first-child {-    border-left: 0;-  }-  .table-responsive > .table-bordered > thead > tr > th:last-child,-  .table-responsive > .table-bordered > tbody > tr > th:last-child,-  .table-responsive > .table-bordered > tfoot > tr > th:last-child,-  .table-responsive > .table-bordered > thead > tr > td:last-child,-  .table-responsive > .table-bordered > tbody > tr > td:last-child,-  .table-responsive > .table-bordered > tfoot > tr > td:last-child {-    border-right: 0;-  }-  .table-responsive > .table-bordered > tbody > tr:last-child > th,-  .table-responsive > .table-bordered > tfoot > tr:last-child > th,-  .table-responsive > .table-bordered > tbody > tr:last-child > td,-  .table-responsive > .table-bordered > tfoot > tr:last-child > td {-    border-bottom: 0;-  }-}-fieldset {-  padding: 0;-  margin: 0;-  border: 0;-  min-width: 0;-}-legend {-  display: block;-  width: 100%;-  padding: 0;-  margin-bottom: 21px;-  font-size: 22.5px;-  line-height: inherit;-  color: #2c3e50;-  border: 0;-  border-bottom: 1px solid transparent;-}-label {-  display: inline-block;-  max-width: 100%;-  margin-bottom: 5px;-  font-weight: bold;-}-input[type="search"] {-  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  box-sizing: border-box;-}-input[type="radio"],-input[type="checkbox"] {-  margin: 4px 0 0;-  margin-top: 1px \9;-  line-height: normal;-}-input[type="file"] {-  display: block;-}-input[type="range"] {-  display: block;-  width: 100%;-}-select[multiple],-select[size] {-  height: auto;-}-input[type="file"]:focus,-input[type="radio"]:focus,-input[type="checkbox"]:focus {-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-output {-  display: block;-  padding-top: 11px;-  font-size: 15px;-  line-height: 1.42857143;-  color: #2c3e50;-}-.form-control {-  display: block;-  width: 100%;-  height: 45px;-  padding: 10px 15px;-  font-size: 15px;-  line-height: 1.42857143;-  color: #2c3e50;-  background-color: #ffffff;-  background-image: none;-  border: 1px solid #dce4ec;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;-  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;-}-.form-control:focus {-  border-color: #2c3e50;-  outline: 0;-  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(44, 62, 80, 0.6);-  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(44, 62, 80, 0.6);-}-.form-control::-moz-placeholder {-  color: #acb6c0;-  opacity: 1;-}-.form-control:-ms-input-placeholder {-  color: #acb6c0;-}-.form-control::-webkit-input-placeholder {-  color: #acb6c0;-}-.form-control::-ms-expand {-  border: 0;-  background-color: transparent;-}-.form-control[disabled],-.form-control[readonly],-fieldset[disabled] .form-control {-  background-color: #ecf0f1;-  opacity: 1;-}-.form-control[disabled],-fieldset[disabled] .form-control {-  cursor: not-allowed;-}-textarea.form-control {-  height: auto;-}-input[type="search"] {-  -webkit-appearance: none;-}-@media screen and (-webkit-min-device-pixel-ratio: 0) {-  input[type="date"].form-control,-  input[type="time"].form-control,-  input[type="datetime-local"].form-control,-  input[type="month"].form-control {-    line-height: 45px;-  }-  input[type="date"].input-sm,-  input[type="time"].input-sm,-  input[type="datetime-local"].input-sm,-  input[type="month"].input-sm,-  .input-group-sm input[type="date"],-  .input-group-sm input[type="time"],-  .input-group-sm input[type="datetime-local"],-  .input-group-sm input[type="month"] {-    line-height: 35px;-  }-  input[type="date"].input-lg,-  input[type="time"].input-lg,-  input[type="datetime-local"].input-lg,-  input[type="month"].input-lg,-  .input-group-lg input[type="date"],-  .input-group-lg input[type="time"],-  .input-group-lg input[type="datetime-local"],-  .input-group-lg input[type="month"] {-    line-height: 66px;-  }-}-.form-group {-  margin-bottom: 15px;-}-.radio,-.checkbox {-  position: relative;-  display: block;-  margin-top: 10px;-  margin-bottom: 10px;-}-.radio label,-.checkbox label {-  min-height: 21px;-  padding-left: 20px;-  margin-bottom: 0;-  font-weight: normal;-  cursor: pointer;-}-.radio input[type="radio"],-.radio-inline input[type="radio"],-.checkbox input[type="checkbox"],-.checkbox-inline input[type="checkbox"] {-  position: absolute;-  margin-left: -20px;-  margin-top: 4px \9;-}-.radio + .radio,-.checkbox + .checkbox {-  margin-top: -5px;-}-.radio-inline,-.checkbox-inline {-  position: relative;-  display: inline-block;-  padding-left: 20px;-  margin-bottom: 0;-  vertical-align: middle;-  font-weight: normal;-  cursor: pointer;-}-.radio-inline + .radio-inline,-.checkbox-inline + .checkbox-inline {-  margin-top: 0;-  margin-left: 10px;-}-input[type="radio"][disabled],-input[type="checkbox"][disabled],-input[type="radio"].disabled,-input[type="checkbox"].disabled,-fieldset[disabled] input[type="radio"],-fieldset[disabled] input[type="checkbox"] {-  cursor: not-allowed;-}-.radio-inline.disabled,-.checkbox-inline.disabled,-fieldset[disabled] .radio-inline,-fieldset[disabled] .checkbox-inline {-  cursor: not-allowed;-}-.radio.disabled label,-.checkbox.disabled label,-fieldset[disabled] .radio label,-fieldset[disabled] .checkbox label {-  cursor: not-allowed;-}-.form-control-static {-  padding-top: 11px;-  padding-bottom: 11px;-  margin-bottom: 0;-  min-height: 36px;-}-.form-control-static.input-lg,-.form-control-static.input-sm {-  padding-left: 0;-  padding-right: 0;-}-.input-sm {-  height: 35px;-  padding: 6px 9px;-  font-size: 13px;-  line-height: 1.5;-  border-radius: 3px;-}-select.input-sm {-  height: 35px;-  line-height: 35px;-}-textarea.input-sm,-select[multiple].input-sm {-  height: auto;-}-.form-group-sm .form-control {-  height: 35px;-  padding: 6px 9px;-  font-size: 13px;-  line-height: 1.5;-  border-radius: 3px;-}-.form-group-sm select.form-control {-  height: 35px;-  line-height: 35px;-}-.form-group-sm textarea.form-control,-.form-group-sm select[multiple].form-control {-  height: auto;-}-.form-group-sm .form-control-static {-  height: 35px;-  min-height: 34px;-  padding: 7px 9px;-  font-size: 13px;-  line-height: 1.5;-}-.input-lg {-  height: 66px;-  padding: 18px 27px;-  font-size: 19px;-  line-height: 1.3333333;-  border-radius: 6px;-}-select.input-lg {-  height: 66px;-  line-height: 66px;-}-textarea.input-lg,-select[multiple].input-lg {-  height: auto;-}-.form-group-lg .form-control {-  height: 66px;-  padding: 18px 27px;-  font-size: 19px;-  line-height: 1.3333333;-  border-radius: 6px;-}-.form-group-lg select.form-control {-  height: 66px;-  line-height: 66px;-}-.form-group-lg textarea.form-control,-.form-group-lg select[multiple].form-control {-  height: auto;-}-.form-group-lg .form-control-static {-  height: 66px;-  min-height: 40px;-  padding: 19px 27px;-  font-size: 19px;-  line-height: 1.3333333;-}-.has-feedback {-  position: relative;-}-.has-feedback .form-control {-  padding-right: 56.25px;-}-.form-control-feedback {-  position: absolute;-  top: 0;-  right: 0;-  z-index: 2;-  display: block;-  width: 45px;-  height: 45px;-  line-height: 45px;-  text-align: center;-  pointer-events: none;-}-.input-lg + .form-control-feedback,-.input-group-lg + .form-control-feedback,-.form-group-lg .form-control + .form-control-feedback {-  width: 66px;-  height: 66px;-  line-height: 66px;-}-.input-sm + .form-control-feedback,-.input-group-sm + .form-control-feedback,-.form-group-sm .form-control + .form-control-feedback {-  width: 35px;-  height: 35px;-  line-height: 35px;-}-.has-success .help-block,-.has-success .control-label,-.has-success .radio,-.has-success .checkbox,-.has-success .radio-inline,-.has-success .checkbox-inline,-.has-success.radio label,-.has-success.checkbox label,-.has-success.radio-inline label,-.has-success.checkbox-inline label {-  color: #ffffff;-}-.has-success .form-control {-  border-color: #ffffff;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-}-.has-success .form-control:focus {-  border-color: #e6e6e6;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;-}-.has-success .input-group-addon {-  color: #ffffff;-  border-color: #ffffff;-  background-color: #18bc9c;-}-.has-success .form-control-feedback {-  color: #ffffff;-}-.has-warning .help-block,-.has-warning .control-label,-.has-warning .radio,-.has-warning .checkbox,-.has-warning .radio-inline,-.has-warning .checkbox-inline,-.has-warning.radio label,-.has-warning.checkbox label,-.has-warning.radio-inline label,-.has-warning.checkbox-inline label {-  color: #ffffff;-}-.has-warning .form-control {-  border-color: #ffffff;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-}-.has-warning .form-control:focus {-  border-color: #e6e6e6;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;-}-.has-warning .input-group-addon {-  color: #ffffff;-  border-color: #ffffff;-  background-color: #f39c12;-}-.has-warning .form-control-feedback {-  color: #ffffff;-}-.has-error .help-block,-.has-error .control-label,-.has-error .radio,-.has-error .checkbox,-.has-error .radio-inline,-.has-error .checkbox-inline,-.has-error.radio label,-.has-error.checkbox label,-.has-error.radio-inline label,-.has-error.checkbox-inline label {-  color: #ffffff;-}-.has-error .form-control {-  border-color: #ffffff;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-}-.has-error .form-control:focus {-  border-color: #e6e6e6;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;-}-.has-error .input-group-addon {-  color: #ffffff;-  border-color: #ffffff;-  background-color: #e74c3c;-}-.has-error .form-control-feedback {-  color: #ffffff;-}-.has-feedback label ~ .form-control-feedback {-  top: 26px;-}-.has-feedback label.sr-only ~ .form-control-feedback {-  top: 0;-}-.help-block {-  display: block;-  margin-top: 5px;-  margin-bottom: 10px;-  color: #597ea2;-}-@media (min-width: 768px) {-  .form-inline .form-group {-    display: inline-block;-    margin-bottom: 0;-    vertical-align: middle;-  }-  .form-inline .form-control {-    display: inline-block;-    width: auto;-    vertical-align: middle;-  }-  .form-inline .form-control-static {-    display: inline-block;-  }-  .form-inline .input-group {-    display: inline-table;-    vertical-align: middle;-  }-  .form-inline .input-group .input-group-addon,-  .form-inline .input-group .input-group-btn,-  .form-inline .input-group .form-control {-    width: auto;-  }-  .form-inline .input-group > .form-control {-    width: 100%;-  }-  .form-inline .control-label {-    margin-bottom: 0;-    vertical-align: middle;-  }-  .form-inline .radio,-  .form-inline .checkbox {-    display: inline-block;-    margin-top: 0;-    margin-bottom: 0;-    vertical-align: middle;-  }-  .form-inline .radio label,-  .form-inline .checkbox label {-    padding-left: 0;-  }-  .form-inline .radio input[type="radio"],-  .form-inline .checkbox input[type="checkbox"] {-    position: relative;-    margin-left: 0;-  }-  .form-inline .has-feedback .form-control-feedback {-    top: 0;-  }-}-.form-horizontal .radio,-.form-horizontal .checkbox,-.form-horizontal .radio-inline,-.form-horizontal .checkbox-inline {-  margin-top: 0;-  margin-bottom: 0;-  padding-top: 11px;-}-.form-horizontal .radio,-.form-horizontal .checkbox {-  min-height: 32px;-}-.form-horizontal .form-group {-  margin-left: -15px;-  margin-right: -15px;-}-@media (min-width: 768px) {-  .form-horizontal .control-label {-    text-align: right;-    margin-bottom: 0;-    padding-top: 11px;-  }-}-.form-horizontal .has-feedback .form-control-feedback {-  right: 15px;-}-@media (min-width: 768px) {-  .form-horizontal .form-group-lg .control-label {-    padding-top: 19px;-    font-size: 19px;-  }-}-@media (min-width: 768px) {-  .form-horizontal .form-group-sm .control-label {-    padding-top: 7px;-    font-size: 13px;-  }-}-.btn {-  display: inline-block;-  margin-bottom: 0;-  font-weight: normal;-  text-align: center;-  vertical-align: middle;-  -ms-touch-action: manipulation;-      touch-action: manipulation;-  cursor: pointer;-  background-image: none;-  border: 1px solid transparent;-  white-space: nowrap;-  padding: 10px 15px;-  font-size: 15px;-  line-height: 1.42857143;-  border-radius: 4px;-  -webkit-user-select: none;-  -moz-user-select: none;-  -ms-user-select: none;-  user-select: none;-}-.btn:focus,-.btn:active:focus,-.btn.active:focus,-.btn.focus,-.btn:active.focus,-.btn.active.focus {-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.btn:hover,-.btn:focus,-.btn.focus {-  color: #ffffff;-  text-decoration: none;-}-.btn:active,-.btn.active {-  outline: 0;-  background-image: none;-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);-  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);-}-.btn.disabled,-.btn[disabled],-fieldset[disabled] .btn {-  cursor: not-allowed;-  opacity: 0.65;-  filter: alpha(opacity=65);-  -webkit-box-shadow: none;-  box-shadow: none;-}-a.btn.disabled,-fieldset[disabled] a.btn {-  pointer-events: none;-}-.btn-default {-  color: #ffffff;-  background-color: #95a5a6;-  border-color: #95a5a6;-}-.btn-default:focus,-.btn-default.focus {-  color: #ffffff;-  background-color: #798d8f;-  border-color: #566566;-}-.btn-default:hover {-  color: #ffffff;-  background-color: #798d8f;-  border-color: #74898a;-}-.btn-default:active,-.btn-default.active,-.open > .dropdown-toggle.btn-default {-  color: #ffffff;-  background-color: #798d8f;-  border-color: #74898a;-}-.btn-default:active:hover,-.btn-default.active:hover,-.open > .dropdown-toggle.btn-default:hover,-.btn-default:active:focus,-.btn-default.active:focus,-.open > .dropdown-toggle.btn-default:focus,-.btn-default:active.focus,-.btn-default.active.focus,-.open > .dropdown-toggle.btn-default.focus {-  color: #ffffff;-  background-color: #687b7c;-  border-color: #566566;-}-.btn-default:active,-.btn-default.active,-.open > .dropdown-toggle.btn-default {-  background-image: none;-}-.btn-default.disabled:hover,-.btn-default[disabled]:hover,-fieldset[disabled] .btn-default:hover,-.btn-default.disabled:focus,-.btn-default[disabled]:focus,-fieldset[disabled] .btn-default:focus,-.btn-default.disabled.focus,-.btn-default[disabled].focus,-fieldset[disabled] .btn-default.focus {-  background-color: #95a5a6;-  border-color: #95a5a6;-}-.btn-default .badge {-  color: #95a5a6;-  background-color: #ffffff;-}-.btn-primary {-  color: #ffffff;-  background-color: #2c3e50;-  border-color: #2c3e50;-}-.btn-primary:focus,-.btn-primary.focus {-  color: #ffffff;-  background-color: #1a242f;-  border-color: #000000;-}-.btn-primary:hover {-  color: #ffffff;-  background-color: #1a242f;-  border-color: #161f29;-}-.btn-primary:active,-.btn-primary.active,-.open > .dropdown-toggle.btn-primary {-  color: #ffffff;-  background-color: #1a242f;-  border-color: #161f29;-}-.btn-primary:active:hover,-.btn-primary.active:hover,-.open > .dropdown-toggle.btn-primary:hover,-.btn-primary:active:focus,-.btn-primary.active:focus,-.open > .dropdown-toggle.btn-primary:focus,-.btn-primary:active.focus,-.btn-primary.active.focus,-.open > .dropdown-toggle.btn-primary.focus {-  color: #ffffff;-  background-color: #0d1318;-  border-color: #000000;-}-.btn-primary:active,-.btn-primary.active,-.open > .dropdown-toggle.btn-primary {-  background-image: none;-}-.btn-primary.disabled:hover,-.btn-primary[disabled]:hover,-fieldset[disabled] .btn-primary:hover,-.btn-primary.disabled:focus,-.btn-primary[disabled]:focus,-fieldset[disabled] .btn-primary:focus,-.btn-primary.disabled.focus,-.btn-primary[disabled].focus,-fieldset[disabled] .btn-primary.focus {-  background-color: #2c3e50;-  border-color: #2c3e50;-}-.btn-primary .badge {-  color: #2c3e50;-  background-color: #ffffff;-}-.btn-success {-  color: #ffffff;-  background-color: #18bc9c;-  border-color: #18bc9c;-}-.btn-success:focus,-.btn-success.focus {-  color: #ffffff;-  background-color: #128f76;-  border-color: #0a4b3e;-}-.btn-success:hover {-  color: #ffffff;-  background-color: #128f76;-  border-color: #11866f;-}-.btn-success:active,-.btn-success.active,-.open > .dropdown-toggle.btn-success {-  color: #ffffff;-  background-color: #128f76;-  border-color: #11866f;-}-.btn-success:active:hover,-.btn-success.active:hover,-.open > .dropdown-toggle.btn-success:hover,-.btn-success:active:focus,-.btn-success.active:focus,-.open > .dropdown-toggle.btn-success:focus,-.btn-success:active.focus,-.btn-success.active.focus,-.open > .dropdown-toggle.btn-success.focus {-  color: #ffffff;-  background-color: #0e6f5c;-  border-color: #0a4b3e;-}-.btn-success:active,-.btn-success.active,-.open > .dropdown-toggle.btn-success {-  background-image: none;-}-.btn-success.disabled:hover,-.btn-success[disabled]:hover,-fieldset[disabled] .btn-success:hover,-.btn-success.disabled:focus,-.btn-success[disabled]:focus,-fieldset[disabled] .btn-success:focus,-.btn-success.disabled.focus,-.btn-success[disabled].focus,-fieldset[disabled] .btn-success.focus {-  background-color: #18bc9c;-  border-color: #18bc9c;-}-.btn-success .badge {-  color: #18bc9c;-  background-color: #ffffff;-}-.btn-info {-  color: #ffffff;-  background-color: #3498db;-  border-color: #3498db;-}-.btn-info:focus,-.btn-info.focus {-  color: #ffffff;-  background-color: #217dbb;-  border-color: #16527a;-}-.btn-info:hover {-  color: #ffffff;-  background-color: #217dbb;-  border-color: #2077b2;-}-.btn-info:active,-.btn-info.active,-.open > .dropdown-toggle.btn-info {-  color: #ffffff;-  background-color: #217dbb;-  border-color: #2077b2;-}-.btn-info:active:hover,-.btn-info.active:hover,-.open > .dropdown-toggle.btn-info:hover,-.btn-info:active:focus,-.btn-info.active:focus,-.open > .dropdown-toggle.btn-info:focus,-.btn-info:active.focus,-.btn-info.active.focus,-.open > .dropdown-toggle.btn-info.focus {-  color: #ffffff;-  background-color: #1c699d;-  border-color: #16527a;-}-.btn-info:active,-.btn-info.active,-.open > .dropdown-toggle.btn-info {-  background-image: none;-}-.btn-info.disabled:hover,-.btn-info[disabled]:hover,-fieldset[disabled] .btn-info:hover,-.btn-info.disabled:focus,-.btn-info[disabled]:focus,-fieldset[disabled] .btn-info:focus,-.btn-info.disabled.focus,-.btn-info[disabled].focus,-fieldset[disabled] .btn-info.focus {-  background-color: #3498db;-  border-color: #3498db;-}-.btn-info .badge {-  color: #3498db;-  background-color: #ffffff;-}-.btn-warning {-  color: #ffffff;-  background-color: #f39c12;-  border-color: #f39c12;-}-.btn-warning:focus,-.btn-warning.focus {-  color: #ffffff;-  background-color: #c87f0a;-  border-color: #7f5006;-}-.btn-warning:hover {-  color: #ffffff;-  background-color: #c87f0a;-  border-color: #be780a;-}-.btn-warning:active,-.btn-warning.active,-.open > .dropdown-toggle.btn-warning {-  color: #ffffff;-  background-color: #c87f0a;-  border-color: #be780a;-}-.btn-warning:active:hover,-.btn-warning.active:hover,-.open > .dropdown-toggle.btn-warning:hover,-.btn-warning:active:focus,-.btn-warning.active:focus,-.open > .dropdown-toggle.btn-warning:focus,-.btn-warning:active.focus,-.btn-warning.active.focus,-.open > .dropdown-toggle.btn-warning.focus {-  color: #ffffff;-  background-color: #a66908;-  border-color: #7f5006;-}-.btn-warning:active,-.btn-warning.active,-.open > .dropdown-toggle.btn-warning {-  background-image: none;-}-.btn-warning.disabled:hover,-.btn-warning[disabled]:hover,-fieldset[disabled] .btn-warning:hover,-.btn-warning.disabled:focus,-.btn-warning[disabled]:focus,-fieldset[disabled] .btn-warning:focus,-.btn-warning.disabled.focus,-.btn-warning[disabled].focus,-fieldset[disabled] .btn-warning.focus {-  background-color: #f39c12;-  border-color: #f39c12;-}-.btn-warning .badge {-  color: #f39c12;-  background-color: #ffffff;-}-.btn-danger {-  color: #ffffff;-  background-color: #e74c3c;-  border-color: #e74c3c;-}-.btn-danger:focus,-.btn-danger.focus {-  color: #ffffff;-  background-color: #d62c1a;-  border-color: #921e12;-}-.btn-danger:hover {-  color: #ffffff;-  background-color: #d62c1a;-  border-color: #cd2a19;-}-.btn-danger:active,-.btn-danger.active,-.open > .dropdown-toggle.btn-danger {-  color: #ffffff;-  background-color: #d62c1a;-  border-color: #cd2a19;-}-.btn-danger:active:hover,-.btn-danger.active:hover,-.open > .dropdown-toggle.btn-danger:hover,-.btn-danger:active:focus,-.btn-danger.active:focus,-.open > .dropdown-toggle.btn-danger:focus,-.btn-danger:active.focus,-.btn-danger.active.focus,-.open > .dropdown-toggle.btn-danger.focus {-  color: #ffffff;-  background-color: #b62516;-  border-color: #921e12;-}-.btn-danger:active,-.btn-danger.active,-.open > .dropdown-toggle.btn-danger {-  background-image: none;-}-.btn-danger.disabled:hover,-.btn-danger[disabled]:hover,-fieldset[disabled] .btn-danger:hover,-.btn-danger.disabled:focus,-.btn-danger[disabled]:focus,-fieldset[disabled] .btn-danger:focus,-.btn-danger.disabled.focus,-.btn-danger[disabled].focus,-fieldset[disabled] .btn-danger.focus {-  background-color: #e74c3c;-  border-color: #e74c3c;-}-.btn-danger .badge {-  color: #e74c3c;-  background-color: #ffffff;-}-.btn-link {-  color: #18bc9c;-  font-weight: normal;-  border-radius: 0;-}-.btn-link,-.btn-link:active,-.btn-link.active,-.btn-link[disabled],-fieldset[disabled] .btn-link {-  background-color: transparent;-  -webkit-box-shadow: none;-  box-shadow: none;-}-.btn-link,-.btn-link:hover,-.btn-link:focus,-.btn-link:active {-  border-color: transparent;-}-.btn-link:hover,-.btn-link:focus {-  color: #18bc9c;-  text-decoration: underline;-  background-color: transparent;-}-.btn-link[disabled]:hover,-fieldset[disabled] .btn-link:hover,-.btn-link[disabled]:focus,-fieldset[disabled] .btn-link:focus {-  color: #b4bcc2;-  text-decoration: none;-}-.btn-lg,-.btn-group-lg > .btn {-  padding: 18px 27px;-  font-size: 19px;-  line-height: 1.3333333;-  border-radius: 6px;-}-.btn-sm,-.btn-group-sm > .btn {-  padding: 6px 9px;-  font-size: 13px;-  line-height: 1.5;-  border-radius: 3px;-}-.btn-xs,-.btn-group-xs > .btn {-  padding: 1px 5px;-  font-size: 13px;-  line-height: 1.5;-  border-radius: 3px;-}-.btn-block {-  display: block;-  width: 100%;-}-.btn-block + .btn-block {-  margin-top: 5px;-}-input[type="submit"].btn-block,-input[type="reset"].btn-block,-input[type="button"].btn-block {-  width: 100%;-}-.fade {-  opacity: 0;-  -webkit-transition: opacity 0.15s linear;-  -o-transition: opacity 0.15s linear;-  transition: opacity 0.15s linear;-}-.fade.in {-  opacity: 1;-}-.collapse {-  display: none;-}-.collapse.in {-  display: block;-}-tr.collapse.in {-  display: table-row;-}-tbody.collapse.in {-  display: table-row-group;-}-.collapsing {-  position: relative;-  height: 0;-  overflow: hidden;-  -webkit-transition-property: height, visibility;-  -o-transition-property: height, visibility;-     transition-property: height, visibility;-  -webkit-transition-duration: 0.35s;-  -o-transition-duration: 0.35s;-     transition-duration: 0.35s;-  -webkit-transition-timing-function: ease;-  -o-transition-timing-function: ease;-     transition-timing-function: ease;-}-.caret {-  display: inline-block;-  width: 0;-  height: 0;-  margin-left: 2px;-  vertical-align: middle;-  border-top: 4px dashed;-  border-top: 4px solid \9;-  border-right: 4px solid transparent;-  border-left: 4px solid transparent;-}-.dropup,-.dropdown {-  position: relative;-}-.dropdown-toggle:focus {-  outline: 0;-}-.dropdown-menu {-  position: absolute;-  top: 100%;-  left: 0;-  z-index: 1000;-  display: none;-  float: left;-  min-width: 160px;-  padding: 5px 0;-  margin: 2px 0 0;-  list-style: none;-  font-size: 15px;-  text-align: left;-  background-color: #ffffff;-  border: 1px solid #cccccc;-  border: 1px solid rgba(0, 0, 0, 0.15);-  border-radius: 4px;-  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);-  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);-  -webkit-background-clip: padding-box;-          background-clip: padding-box;-}-.dropdown-menu.pull-right {-  right: 0;-  left: auto;-}-.dropdown-menu .divider {-  height: 1px;-  margin: 9.5px 0;-  overflow: hidden;-  background-color: #e5e5e5;-}-.dropdown-menu > li > a {-  display: block;-  padding: 3px 20px;-  clear: both;-  font-weight: normal;-  line-height: 1.42857143;-  color: #7b8a8b;-  white-space: nowrap;-}-.dropdown-menu > li > a:hover,-.dropdown-menu > li > a:focus {-  text-decoration: none;-  color: #ffffff;-  background-color: #2c3e50;-}-.dropdown-menu > .active > a,-.dropdown-menu > .active > a:hover,-.dropdown-menu > .active > a:focus {-  color: #ffffff;-  text-decoration: none;-  outline: 0;-  background-color: #2c3e50;-}-.dropdown-menu > .disabled > a,-.dropdown-menu > .disabled > a:hover,-.dropdown-menu > .disabled > a:focus {-  color: #b4bcc2;-}-.dropdown-menu > .disabled > a:hover,-.dropdown-menu > .disabled > a:focus {-  text-decoration: none;-  background-color: transparent;-  background-image: none;-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);-  cursor: not-allowed;-}-.open > .dropdown-menu {-  display: block;-}-.open > a {-  outline: 0;-}-.dropdown-menu-right {-  left: auto;-  right: 0;-}-.dropdown-menu-left {-  left: 0;-  right: auto;-}-.dropdown-header {-  display: block;-  padding: 3px 20px;-  font-size: 13px;-  line-height: 1.42857143;-  color: #b4bcc2;-  white-space: nowrap;-}-.dropdown-backdrop {-  position: fixed;-  left: 0;-  right: 0;-  bottom: 0;-  top: 0;-  z-index: 990;-}-.pull-right > .dropdown-menu {-  right: 0;-  left: auto;-}-.dropup .caret,-.navbar-fixed-bottom .dropdown .caret {-  border-top: 0;-  border-bottom: 4px dashed;-  border-bottom: 4px solid \9;-  content: "";-}-.dropup .dropdown-menu,-.navbar-fixed-bottom .dropdown .dropdown-menu {-  top: auto;-  bottom: 100%;-  margin-bottom: 2px;-}-@media (min-width: 768px) {-  .navbar-right .dropdown-menu {-    left: auto;-    right: 0;-  }-  .navbar-right .dropdown-menu-left {-    left: 0;-    right: auto;-  }-}-.btn-group,-.btn-group-vertical {-  position: relative;-  display: inline-block;-  vertical-align: middle;-}-.btn-group > .btn,-.btn-group-vertical > .btn {-  position: relative;-  float: left;-}-.btn-group > .btn:hover,-.btn-group-vertical > .btn:hover,-.btn-group > .btn:focus,-.btn-group-vertical > .btn:focus,-.btn-group > .btn:active,-.btn-group-vertical > .btn:active,-.btn-group > .btn.active,-.btn-group-vertical > .btn.active {-  z-index: 2;-}-.btn-group .btn + .btn,-.btn-group .btn + .btn-group,-.btn-group .btn-group + .btn,-.btn-group .btn-group + .btn-group {-  margin-left: -1px;-}-.btn-toolbar {-  margin-left: -5px;-}-.btn-toolbar .btn,-.btn-toolbar .btn-group,-.btn-toolbar .input-group {-  float: left;-}-.btn-toolbar > .btn,-.btn-toolbar > .btn-group,-.btn-toolbar > .input-group {-  margin-left: 5px;-}-.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {-  border-radius: 0;-}-.btn-group > .btn:first-child {-  margin-left: 0;-}-.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {-  border-bottom-right-radius: 0;-  border-top-right-radius: 0;-}-.btn-group > .btn:last-child:not(:first-child),-.btn-group > .dropdown-toggle:not(:first-child) {-  border-bottom-left-radius: 0;-  border-top-left-radius: 0;-}-.btn-group > .btn-group {-  float: left;-}-.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {-  border-radius: 0;-}-.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,-.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {-  border-bottom-right-radius: 0;-  border-top-right-radius: 0;-}-.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {-  border-bottom-left-radius: 0;-  border-top-left-radius: 0;-}-.btn-group .dropdown-toggle:active,-.btn-group.open .dropdown-toggle {-  outline: 0;-}-.btn-group > .btn + .dropdown-toggle {-  padding-left: 8px;-  padding-right: 8px;-}-.btn-group > .btn-lg + .dropdown-toggle {-  padding-left: 12px;-  padding-right: 12px;-}-.btn-group.open .dropdown-toggle {-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);-  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);-}-.btn-group.open .dropdown-toggle.btn-link {-  -webkit-box-shadow: none;-  box-shadow: none;-}-.btn .caret {-  margin-left: 0;-}-.btn-lg .caret {-  border-width: 5px 5px 0;-  border-bottom-width: 0;-}-.dropup .btn-lg .caret {-  border-width: 0 5px 5px;-}-.btn-group-vertical > .btn,-.btn-group-vertical > .btn-group,-.btn-group-vertical > .btn-group > .btn {-  display: block;-  float: none;-  width: 100%;-  max-width: 100%;-}-.btn-group-vertical > .btn-group > .btn {-  float: none;-}-.btn-group-vertical > .btn + .btn,-.btn-group-vertical > .btn + .btn-group,-.btn-group-vertical > .btn-group + .btn,-.btn-group-vertical > .btn-group + .btn-group {-  margin-top: -1px;-  margin-left: 0;-}-.btn-group-vertical > .btn:not(:first-child):not(:last-child) {-  border-radius: 0;-}-.btn-group-vertical > .btn:first-child:not(:last-child) {-  border-top-right-radius: 4px;-  border-top-left-radius: 4px;-  border-bottom-right-radius: 0;-  border-bottom-left-radius: 0;-}-.btn-group-vertical > .btn:last-child:not(:first-child) {-  border-top-right-radius: 0;-  border-top-left-radius: 0;-  border-bottom-right-radius: 4px;-  border-bottom-left-radius: 4px;-}-.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {-  border-radius: 0;-}-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {-  border-bottom-right-radius: 0;-  border-bottom-left-radius: 0;-}-.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {-  border-top-right-radius: 0;-  border-top-left-radius: 0;-}-.btn-group-justified {-  display: table;-  width: 100%;-  table-layout: fixed;-  border-collapse: separate;-}-.btn-group-justified > .btn,-.btn-group-justified > .btn-group {-  float: none;-  display: table-cell;-  width: 1%;-}-.btn-group-justified > .btn-group .btn {-  width: 100%;-}-.btn-group-justified > .btn-group .dropdown-menu {-  left: auto;-}-[data-toggle="buttons"] > .btn input[type="radio"],-[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],-[data-toggle="buttons"] > .btn input[type="checkbox"],-[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {-  position: absolute;-  clip: rect(0, 0, 0, 0);-  pointer-events: none;-}-.input-group {-  position: relative;-  display: table;-  border-collapse: separate;-}-.input-group[class*="col-"] {-  float: none;-  padding-left: 0;-  padding-right: 0;-}-.input-group .form-control {-  position: relative;-  z-index: 2;-  float: left;-  width: 100%;-  margin-bottom: 0;-}-.input-group .form-control:focus {-  z-index: 3;-}-.input-group-lg > .form-control,-.input-group-lg > .input-group-addon,-.input-group-lg > .input-group-btn > .btn {-  height: 66px;-  padding: 18px 27px;-  font-size: 19px;-  line-height: 1.3333333;-  border-radius: 6px;-}-select.input-group-lg > .form-control,-select.input-group-lg > .input-group-addon,-select.input-group-lg > .input-group-btn > .btn {-  height: 66px;-  line-height: 66px;-}-textarea.input-group-lg > .form-control,-textarea.input-group-lg > .input-group-addon,-textarea.input-group-lg > .input-group-btn > .btn,-select[multiple].input-group-lg > .form-control,-select[multiple].input-group-lg > .input-group-addon,-select[multiple].input-group-lg > .input-group-btn > .btn {-  height: auto;-}-.input-group-sm > .form-control,-.input-group-sm > .input-group-addon,-.input-group-sm > .input-group-btn > .btn {-  height: 35px;-  padding: 6px 9px;-  font-size: 13px;-  line-height: 1.5;-  border-radius: 3px;-}-select.input-group-sm > .form-control,-select.input-group-sm > .input-group-addon,-select.input-group-sm > .input-group-btn > .btn {-  height: 35px;-  line-height: 35px;-}-textarea.input-group-sm > .form-control,-textarea.input-group-sm > .input-group-addon,-textarea.input-group-sm > .input-group-btn > .btn,-select[multiple].input-group-sm > .form-control,-select[multiple].input-group-sm > .input-group-addon,-select[multiple].input-group-sm > .input-group-btn > .btn {-  height: auto;-}-.input-group-addon,-.input-group-btn,-.input-group .form-control {-  display: table-cell;-}-.input-group-addon:not(:first-child):not(:last-child),-.input-group-btn:not(:first-child):not(:last-child),-.input-group .form-control:not(:first-child):not(:last-child) {-  border-radius: 0;-}-.input-group-addon,-.input-group-btn {-  width: 1%;-  white-space: nowrap;-  vertical-align: middle;-}-.input-group-addon {-  padding: 10px 15px;-  font-size: 15px;-  font-weight: normal;-  line-height: 1;-  color: #2c3e50;-  text-align: center;-  background-color: #ecf0f1;-  border: 1px solid #dce4ec;-  border-radius: 4px;-}-.input-group-addon.input-sm {-  padding: 6px 9px;-  font-size: 13px;-  border-radius: 3px;-}-.input-group-addon.input-lg {-  padding: 18px 27px;-  font-size: 19px;-  border-radius: 6px;-}-.input-group-addon input[type="radio"],-.input-group-addon input[type="checkbox"] {-  margin-top: 0;-}-.input-group .form-control:first-child,-.input-group-addon:first-child,-.input-group-btn:first-child > .btn,-.input-group-btn:first-child > .btn-group > .btn,-.input-group-btn:first-child > .dropdown-toggle,-.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),-.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {-  border-bottom-right-radius: 0;-  border-top-right-radius: 0;-}-.input-group-addon:first-child {-  border-right: 0;-}-.input-group .form-control:last-child,-.input-group-addon:last-child,-.input-group-btn:last-child > .btn,-.input-group-btn:last-child > .btn-group > .btn,-.input-group-btn:last-child > .dropdown-toggle,-.input-group-btn:first-child > .btn:not(:first-child),-.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {-  border-bottom-left-radius: 0;-  border-top-left-radius: 0;-}-.input-group-addon:last-child {-  border-left: 0;-}-.input-group-btn {-  position: relative;-  font-size: 0;-  white-space: nowrap;-}-.input-group-btn > .btn {-  position: relative;-}-.input-group-btn > .btn + .btn {-  margin-left: -1px;-}-.input-group-btn > .btn:hover,-.input-group-btn > .btn:focus,-.input-group-btn > .btn:active {-  z-index: 2;-}-.input-group-btn:first-child > .btn,-.input-group-btn:first-child > .btn-group {-  margin-right: -1px;-}-.input-group-btn:last-child > .btn,-.input-group-btn:last-child > .btn-group {-  z-index: 2;-  margin-left: -1px;-}-.nav {-  margin-bottom: 0;-  padding-left: 0;-  list-style: none;-}-.nav > li {-  position: relative;-  display: block;-}-.nav > li > a {-  position: relative;-  display: block;-  padding: 10px 15px;-}-.nav > li > a:hover,-.nav > li > a:focus {-  text-decoration: none;-  background-color: #ecf0f1;-}-.nav > li.disabled > a {-  color: #b4bcc2;-}-.nav > li.disabled > a:hover,-.nav > li.disabled > a:focus {-  color: #b4bcc2;-  text-decoration: none;-  background-color: transparent;-  cursor: not-allowed;-}-.nav .open > a,-.nav .open > a:hover,-.nav .open > a:focus {-  background-color: #ecf0f1;-  border-color: #18bc9c;-}-.nav .nav-divider {-  height: 1px;-  margin: 9.5px 0;-  overflow: hidden;-  background-color: #e5e5e5;-}-.nav > li > a > img {-  max-width: none;-}-.nav-tabs {-  border-bottom: 1px solid #ecf0f1;-}-.nav-tabs > li {-  float: left;-  margin-bottom: -1px;-}-.nav-tabs > li > a {-  margin-right: 2px;-  line-height: 1.42857143;-  border: 1px solid transparent;-  border-radius: 4px 4px 0 0;-}-.nav-tabs > li > a:hover {-  border-color: #ecf0f1 #ecf0f1 #ecf0f1;-}-.nav-tabs > li.active > a,-.nav-tabs > li.active > a:hover,-.nav-tabs > li.active > a:focus {-  color: #2c3e50;-  background-color: #ffffff;-  border: 1px solid #ecf0f1;-  border-bottom-color: transparent;-  cursor: default;-}-.nav-tabs.nav-justified {-  width: 100%;-  border-bottom: 0;-}-.nav-tabs.nav-justified > li {-  float: none;-}-.nav-tabs.nav-justified > li > a {-  text-align: center;-  margin-bottom: 5px;-}-.nav-tabs.nav-justified > .dropdown .dropdown-menu {-  top: auto;-  left: auto;-}-@media (min-width: 768px) {-  .nav-tabs.nav-justified > li {-    display: table-cell;-    width: 1%;-  }-  .nav-tabs.nav-justified > li > a {-    margin-bottom: 0;-  }-}-.nav-tabs.nav-justified > li > a {-  margin-right: 0;-  border-radius: 4px;-}-.nav-tabs.nav-justified > .active > a,-.nav-tabs.nav-justified > .active > a:hover,-.nav-tabs.nav-justified > .active > a:focus {-  border: 1px solid #ecf0f1;-}-@media (min-width: 768px) {-  .nav-tabs.nav-justified > li > a {-    border-bottom: 1px solid #ecf0f1;-    border-radius: 4px 4px 0 0;-  }-  .nav-tabs.nav-justified > .active > a,-  .nav-tabs.nav-justified > .active > a:hover,-  .nav-tabs.nav-justified > .active > a:focus {-    border-bottom-color: #ffffff;-  }-}-.nav-pills > li {-  float: left;-}-.nav-pills > li > a {-  border-radius: 4px;-}-.nav-pills > li + li {-  margin-left: 2px;-}-.nav-pills > li.active > a,-.nav-pills > li.active > a:hover,-.nav-pills > li.active > a:focus {-  color: #ffffff;-  background-color: #2c3e50;-}-.nav-stacked > li {-  float: none;-}-.nav-stacked > li + li {-  margin-top: 2px;-  margin-left: 0;-}-.nav-justified {-  width: 100%;-}-.nav-justified > li {-  float: none;-}-.nav-justified > li > a {-  text-align: center;-  margin-bottom: 5px;-}-.nav-justified > .dropdown .dropdown-menu {-  top: auto;-  left: auto;-}-@media (min-width: 768px) {-  .nav-justified > li {-    display: table-cell;-    width: 1%;-  }-  .nav-justified > li > a {-    margin-bottom: 0;-  }-}-.nav-tabs-justified {-  border-bottom: 0;-}-.nav-tabs-justified > li > a {-  margin-right: 0;-  border-radius: 4px;-}-.nav-tabs-justified > .active > a,-.nav-tabs-justified > .active > a:hover,-.nav-tabs-justified > .active > a:focus {-  border: 1px solid #ecf0f1;-}-@media (min-width: 768px) {-  .nav-tabs-justified > li > a {-    border-bottom: 1px solid #ecf0f1;-    border-radius: 4px 4px 0 0;-  }-  .nav-tabs-justified > .active > a,-  .nav-tabs-justified > .active > a:hover,-  .nav-tabs-justified > .active > a:focus {-    border-bottom-color: #ffffff;-  }-}-.tab-content > .tab-pane {-  display: none;-}-.tab-content > .active {-  display: block;-}-.nav-tabs .dropdown-menu {-  margin-top: -1px;-  border-top-right-radius: 0;-  border-top-left-radius: 0;-}-.navbar {-  position: relative;-  min-height: 60px;-  margin-bottom: 21px;-  border: 1px solid transparent;-}-@media (min-width: 768px) {-  .navbar {-    border-radius: 4px;-  }-}-@media (min-width: 768px) {-  .navbar-header {-    float: left;-  }-}-.navbar-collapse {-  overflow-x: visible;-  padding-right: 15px;-  padding-left: 15px;-  border-top: 1px solid transparent;-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);-  -webkit-overflow-scrolling: touch;-}-.navbar-collapse.in {-  overflow-y: auto;-}-@media (min-width: 768px) {-  .navbar-collapse {-    width: auto;-    border-top: 0;-    -webkit-box-shadow: none;-            box-shadow: none;-  }-  .navbar-collapse.collapse {-    display: block !important;-    height: auto !important;-    padding-bottom: 0;-    overflow: visible !important;-  }-  .navbar-collapse.in {-    overflow-y: visible;-  }-  .navbar-fixed-top .navbar-collapse,-  .navbar-static-top .navbar-collapse,-  .navbar-fixed-bottom .navbar-collapse {-    padding-left: 0;-    padding-right: 0;-  }-}-.navbar-fixed-top .navbar-collapse,-.navbar-fixed-bottom .navbar-collapse {-  max-height: 340px;-}-@media (max-device-width: 480px) and (orientation: landscape) {-  .navbar-fixed-top .navbar-collapse,-  .navbar-fixed-bottom .navbar-collapse {-    max-height: 200px;-  }-}-.container > .navbar-header,-.container-fluid > .navbar-header,-.container > .navbar-collapse,-.container-fluid > .navbar-collapse {-  margin-right: -15px;-  margin-left: -15px;-}-@media (min-width: 768px) {-  .container > .navbar-header,-  .container-fluid > .navbar-header,-  .container > .navbar-collapse,-  .container-fluid > .navbar-collapse {-    margin-right: 0;-    margin-left: 0;-  }-}-.navbar-static-top {-  z-index: 1000;-  border-width: 0 0 1px;-}-@media (min-width: 768px) {-  .navbar-static-top {-    border-radius: 0;-  }-}-.navbar-fixed-top,-.navbar-fixed-bottom {-  position: fixed;-  right: 0;-  left: 0;-  z-index: 1030;-}-@media (min-width: 768px) {-  .navbar-fixed-top,-  .navbar-fixed-bottom {-    border-radius: 0;-  }-}-.navbar-fixed-top {-  top: 0;-  border-width: 0 0 1px;-}-.navbar-fixed-bottom {-  bottom: 0;-  margin-bottom: 0;-  border-width: 1px 0 0;-}-.navbar-brand {-  float: left;-  padding: 19.5px 15px;-  font-size: 19px;-  line-height: 21px;-  height: 60px;-}-.navbar-brand:hover,-.navbar-brand:focus {-  text-decoration: none;-}-.navbar-brand > img {-  display: block;-}-@media (min-width: 768px) {-  .navbar > .container .navbar-brand,-  .navbar > .container-fluid .navbar-brand {-    margin-left: -15px;-  }-}-.navbar-toggle {-  position: relative;-  float: right;-  margin-right: 15px;-  padding: 9px 10px;-  margin-top: 13px;-  margin-bottom: 13px;-  background-color: transparent;-  background-image: none;-  border: 1px solid transparent;-  border-radius: 4px;-}-.navbar-toggle:focus {-  outline: 0;-}-.navbar-toggle .icon-bar {-  display: block;-  width: 22px;-  height: 2px;-  border-radius: 1px;-}-.navbar-toggle .icon-bar + .icon-bar {-  margin-top: 4px;-}-@media (min-width: 768px) {-  .navbar-toggle {-    display: none;-  }-}-.navbar-nav {-  margin: 9.75px -15px;-}-.navbar-nav > li > a {-  padding-top: 10px;-  padding-bottom: 10px;-  line-height: 21px;-}-@media (max-width: 767px) {-  .navbar-nav .open .dropdown-menu {-    position: static;-    float: none;-    width: auto;-    margin-top: 0;-    background-color: transparent;-    border: 0;-    -webkit-box-shadow: none;-            box-shadow: none;-  }-  .navbar-nav .open .dropdown-menu > li > a,-  .navbar-nav .open .dropdown-menu .dropdown-header {-    padding: 5px 15px 5px 25px;-  }-  .navbar-nav .open .dropdown-menu > li > a {-    line-height: 21px;-  }-  .navbar-nav .open .dropdown-menu > li > a:hover,-  .navbar-nav .open .dropdown-menu > li > a:focus {-    background-image: none;-  }-}-@media (min-width: 768px) {-  .navbar-nav {-    float: left;-    margin: 0;-  }-  .navbar-nav > li {-    float: left;-  }-  .navbar-nav > li > a {-    padding-top: 19.5px;-    padding-bottom: 19.5px;-  }-}-.navbar-form {-  margin-left: -15px;-  margin-right: -15px;-  padding: 10px 15px;-  border-top: 1px solid transparent;-  border-bottom: 1px solid transparent;-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);-  margin-top: 7.5px;-  margin-bottom: 7.5px;-}-@media (min-width: 768px) {-  .navbar-form .form-group {-    display: inline-block;-    margin-bottom: 0;-    vertical-align: middle;-  }-  .navbar-form .form-control {-    display: inline-block;-    width: auto;-    vertical-align: middle;-  }-  .navbar-form .form-control-static {-    display: inline-block;-  }-  .navbar-form .input-group {-    display: inline-table;-    vertical-align: middle;-  }-  .navbar-form .input-group .input-group-addon,-  .navbar-form .input-group .input-group-btn,-  .navbar-form .input-group .form-control {-    width: auto;-  }-  .navbar-form .input-group > .form-control {-    width: 100%;-  }-  .navbar-form .control-label {-    margin-bottom: 0;-    vertical-align: middle;-  }-  .navbar-form .radio,-  .navbar-form .checkbox {-    display: inline-block;-    margin-top: 0;-    margin-bottom: 0;-    vertical-align: middle;-  }-  .navbar-form .radio label,-  .navbar-form .checkbox label {-    padding-left: 0;-  }-  .navbar-form .radio input[type="radio"],-  .navbar-form .checkbox input[type="checkbox"] {-    position: relative;-    margin-left: 0;-  }-  .navbar-form .has-feedback .form-control-feedback {-    top: 0;-  }-}-@media (max-width: 767px) {-  .navbar-form .form-group {-    margin-bottom: 5px;-  }-  .navbar-form .form-group:last-child {-    margin-bottom: 0;-  }-}-@media (min-width: 768px) {-  .navbar-form {-    width: auto;-    border: 0;-    margin-left: 0;-    margin-right: 0;-    padding-top: 0;-    padding-bottom: 0;-    -webkit-box-shadow: none;-    box-shadow: none;-  }-}-.navbar-nav > li > .dropdown-menu {-  margin-top: 0;-  border-top-right-radius: 0;-  border-top-left-radius: 0;-}-.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {-  margin-bottom: 0;-  border-top-right-radius: 4px;-  border-top-left-radius: 4px;-  border-bottom-right-radius: 0;-  border-bottom-left-radius: 0;-}-.navbar-btn {-  margin-top: 7.5px;-  margin-bottom: 7.5px;-}-.navbar-btn.btn-sm {-  margin-top: 12.5px;-  margin-bottom: 12.5px;-}-.navbar-btn.btn-xs {-  margin-top: 19px;-  margin-bottom: 19px;-}-.navbar-text {-  margin-top: 19.5px;-  margin-bottom: 19.5px;-}-@media (min-width: 768px) {-  .navbar-text {-    float: left;-    margin-left: 15px;-    margin-right: 15px;-  }-}-@media (min-width: 768px) {-  .navbar-left {-    float: left !important;-  }-  .navbar-right {-    float: right !important;-    margin-right: -15px;-  }-  .navbar-right ~ .navbar-right {-    margin-right: 0;-  }-}-.navbar-default {-  background-color: #2c3e50;-  border-color: transparent;-}-.navbar-default .navbar-brand {-  color: #ffffff;-}-.navbar-default .navbar-brand:hover,-.navbar-default .navbar-brand:focus {-  color: #18bc9c;-  background-color: transparent;-}-.navbar-default .navbar-text {-  color: #ffffff;-}-.navbar-default .navbar-nav > li > a {-  color: #ffffff;-}-.navbar-default .navbar-nav > li > a:hover,-.navbar-default .navbar-nav > li > a:focus {-  color: #18bc9c;-  background-color: transparent;-}-.navbar-default .navbar-nav > .active > a,-.navbar-default .navbar-nav > .active > a:hover,-.navbar-default .navbar-nav > .active > a:focus {-  color: #ffffff;-  background-color: #1a242f;-}-.navbar-default .navbar-nav > .disabled > a,-.navbar-default .navbar-nav > .disabled > a:hover,-.navbar-default .navbar-nav > .disabled > a:focus {-  color: #cccccc;-  background-color: transparent;-}-.navbar-default .navbar-toggle {-  border-color: #1a242f;-}-.navbar-default .navbar-toggle:hover,-.navbar-default .navbar-toggle:focus {-  background-color: #1a242f;-}-.navbar-default .navbar-toggle .icon-bar {-  background-color: #ffffff;-}-.navbar-default .navbar-collapse,-.navbar-default .navbar-form {-  border-color: transparent;-}-.navbar-default .navbar-nav > .open > a,-.navbar-default .navbar-nav > .open > a:hover,-.navbar-default .navbar-nav > .open > a:focus {-  background-color: #1a242f;-  color: #ffffff;-}-@media (max-width: 767px) {-  .navbar-default .navbar-nav .open .dropdown-menu > li > a {-    color: #ffffff;-  }-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {-    color: #18bc9c;-    background-color: transparent;-  }-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {-    color: #ffffff;-    background-color: #1a242f;-  }-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {-    color: #cccccc;-    background-color: transparent;-  }-}-.navbar-default .navbar-link {-  color: #ffffff;-}-.navbar-default .navbar-link:hover {-  color: #18bc9c;-}-.navbar-default .btn-link {-  color: #ffffff;-}-.navbar-default .btn-link:hover,-.navbar-default .btn-link:focus {-  color: #18bc9c;-}-.navbar-default .btn-link[disabled]:hover,-fieldset[disabled] .navbar-default .btn-link:hover,-.navbar-default .btn-link[disabled]:focus,-fieldset[disabled] .navbar-default .btn-link:focus {-  color: #cccccc;-}-.navbar-inverse {-  background-color: #18bc9c;-  border-color: transparent;-}-.navbar-inverse .navbar-brand {-  color: #ffffff;-}-.navbar-inverse .navbar-brand:hover,-.navbar-inverse .navbar-brand:focus {-  color: #2c3e50;-  background-color: transparent;-}-.navbar-inverse .navbar-text {-  color: #ffffff;-}-.navbar-inverse .navbar-nav > li > a {-  color: #ffffff;-}-.navbar-inverse .navbar-nav > li > a:hover,-.navbar-inverse .navbar-nav > li > a:focus {-  color: #2c3e50;-  background-color: transparent;-}-.navbar-inverse .navbar-nav > .active > a,-.navbar-inverse .navbar-nav > .active > a:hover,-.navbar-inverse .navbar-nav > .active > a:focus {-  color: #ffffff;-  background-color: #15a589;-}-.navbar-inverse .navbar-nav > .disabled > a,-.navbar-inverse .navbar-nav > .disabled > a:hover,-.navbar-inverse .navbar-nav > .disabled > a:focus {-  color: #cccccc;-  background-color: transparent;-}-.navbar-inverse .navbar-toggle {-  border-color: #128f76;-}-.navbar-inverse .navbar-toggle:hover,-.navbar-inverse .navbar-toggle:focus {-  background-color: #128f76;-}-.navbar-inverse .navbar-toggle .icon-bar {-  background-color: #ffffff;-}-.navbar-inverse .navbar-collapse,-.navbar-inverse .navbar-form {-  border-color: #149c82;-}-.navbar-inverse .navbar-nav > .open > a,-.navbar-inverse .navbar-nav > .open > a:hover,-.navbar-inverse .navbar-nav > .open > a:focus {-  background-color: #15a589;-  color: #ffffff;-}-@media (max-width: 767px) {-  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {-    border-color: transparent;-  }-  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {-    background-color: transparent;-  }-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {-    color: #ffffff;-  }-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {-    color: #2c3e50;-    background-color: transparent;-  }-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {-    color: #ffffff;-    background-color: #15a589;-  }-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {-    color: #cccccc;-    background-color: transparent;-  }-}-.navbar-inverse .navbar-link {-  color: #ffffff;-}-.navbar-inverse .navbar-link:hover {-  color: #2c3e50;-}-.navbar-inverse .btn-link {-  color: #ffffff;-}-.navbar-inverse .btn-link:hover,-.navbar-inverse .btn-link:focus {-  color: #2c3e50;-}-.navbar-inverse .btn-link[disabled]:hover,-fieldset[disabled] .navbar-inverse .btn-link:hover,-.navbar-inverse .btn-link[disabled]:focus,-fieldset[disabled] .navbar-inverse .btn-link:focus {-  color: #cccccc;-}-.breadcrumb {-  padding: 8px 15px;-  margin-bottom: 21px;-  list-style: none;-  background-color: #ecf0f1;-  border-radius: 4px;-}-.breadcrumb > li {-  display: inline-block;-}-.breadcrumb > li + li:before {-  content: "/\00a0";-  padding: 0 5px;-  color: #cccccc;-}-.breadcrumb > .active {-  color: #95a5a6;-}-.pagination {-  display: inline-block;-  padding-left: 0;-  margin: 21px 0;-  border-radius: 4px;-}-.pagination > li {-  display: inline;-}-.pagination > li > a,-.pagination > li > span {-  position: relative;-  float: left;-  padding: 10px 15px;-  line-height: 1.42857143;-  text-decoration: none;-  color: #ffffff;-  background-color: #18bc9c;-  border: 1px solid transparent;-  margin-left: -1px;-}-.pagination > li:first-child > a,-.pagination > li:first-child > span {-  margin-left: 0;-  border-bottom-left-radius: 4px;-  border-top-left-radius: 4px;-}-.pagination > li:last-child > a,-.pagination > li:last-child > span {-  border-bottom-right-radius: 4px;-  border-top-right-radius: 4px;-}-.pagination > li > a:hover,-.pagination > li > span:hover,-.pagination > li > a:focus,-.pagination > li > span:focus {-  z-index: 2;-  color: #ffffff;-  background-color: #0f7864;-  border-color: transparent;-}-.pagination > .active > a,-.pagination > .active > span,-.pagination > .active > a:hover,-.pagination > .active > span:hover,-.pagination > .active > a:focus,-.pagination > .active > span:focus {-  z-index: 3;-  color: #ffffff;-  background-color: #0f7864;-  border-color: transparent;-  cursor: default;-}-.pagination > .disabled > span,-.pagination > .disabled > span:hover,-.pagination > .disabled > span:focus,-.pagination > .disabled > a,-.pagination > .disabled > a:hover,-.pagination > .disabled > a:focus {-  color: #ecf0f1;-  background-color: #3be6c4;-  border-color: transparent;-  cursor: not-allowed;-}-.pagination-lg > li > a,-.pagination-lg > li > span {-  padding: 18px 27px;-  font-size: 19px;-  line-height: 1.3333333;-}-.pagination-lg > li:first-child > a,-.pagination-lg > li:first-child > span {-  border-bottom-left-radius: 6px;-  border-top-left-radius: 6px;-}-.pagination-lg > li:last-child > a,-.pagination-lg > li:last-child > span {-  border-bottom-right-radius: 6px;-  border-top-right-radius: 6px;-}-.pagination-sm > li > a,-.pagination-sm > li > span {-  padding: 6px 9px;-  font-size: 13px;-  line-height: 1.5;-}-.pagination-sm > li:first-child > a,-.pagination-sm > li:first-child > span {-  border-bottom-left-radius: 3px;-  border-top-left-radius: 3px;-}-.pagination-sm > li:last-child > a,-.pagination-sm > li:last-child > span {-  border-bottom-right-radius: 3px;-  border-top-right-radius: 3px;-}-.pager {-  padding-left: 0;-  margin: 21px 0;-  list-style: none;-  text-align: center;-}-.pager li {-  display: inline;-}-.pager li > a,-.pager li > span {-  display: inline-block;-  padding: 5px 14px;-  background-color: #18bc9c;-  border: 1px solid transparent;-  border-radius: 15px;-}-.pager li > a:hover,-.pager li > a:focus {-  text-decoration: none;-  background-color: #0f7864;-}-.pager .next > a,-.pager .next > span {-  float: right;-}-.pager .previous > a,-.pager .previous > span {-  float: left;-}-.pager .disabled > a,-.pager .disabled > a:hover,-.pager .disabled > a:focus,-.pager .disabled > span {-  color: #ffffff;-  background-color: #18bc9c;-  cursor: not-allowed;-}-.label {-  display: inline;-  padding: .2em .6em .3em;-  font-size: 75%;-  font-weight: bold;-  line-height: 1;-  color: #ffffff;-  text-align: center;-  white-space: nowrap;-  vertical-align: baseline;-  border-radius: .25em;-}-a.label:hover,-a.label:focus {-  color: #ffffff;-  text-decoration: none;-  cursor: pointer;-}-.label:empty {-  display: none;-}-.btn .label {-  position: relative;-  top: -1px;-}-.label-default {-  background-color: #95a5a6;-}-.label-default[href]:hover,-.label-default[href]:focus {-  background-color: #798d8f;-}-.label-primary {-  background-color: #2c3e50;-}-.label-primary[href]:hover,-.label-primary[href]:focus {-  background-color: #1a242f;-}-.label-success {-  background-color: #18bc9c;-}-.label-success[href]:hover,-.label-success[href]:focus {-  background-color: #128f76;-}-.label-info {-  background-color: #3498db;-}-.label-info[href]:hover,-.label-info[href]:focus {-  background-color: #217dbb;-}-.label-warning {-  background-color: #f39c12;-}-.label-warning[href]:hover,-.label-warning[href]:focus {-  background-color: #c87f0a;-}-.label-danger {-  background-color: #e74c3c;-}-.label-danger[href]:hover,-.label-danger[href]:focus {-  background-color: #d62c1a;-}-.badge {-  display: inline-block;-  min-width: 10px;-  padding: 3px 7px;-  font-size: 13px;-  font-weight: bold;-  color: #ffffff;-  line-height: 1;-  vertical-align: middle;-  white-space: nowrap;-  text-align: center;-  background-color: #2c3e50;-  border-radius: 10px;-}-.badge:empty {-  display: none;-}-.btn .badge {-  position: relative;-  top: -1px;-}-.btn-xs .badge,-.btn-group-xs > .btn .badge {-  top: 0;-  padding: 1px 5px;-}-a.badge:hover,-a.badge:focus {-  color: #ffffff;-  text-decoration: none;-  cursor: pointer;-}-.list-group-item.active > .badge,-.nav-pills > .active > a > .badge {-  color: #2c3e50;-  background-color: #ffffff;-}-.list-group-item > .badge {-  float: right;-}-.list-group-item > .badge + .badge {-  margin-right: 5px;-}-.nav-pills > li > a > .badge {-  margin-left: 3px;-}-.jumbotron {-  padding-top: 30px;-  padding-bottom: 30px;-  margin-bottom: 30px;-  color: inherit;-  background-color: #ecf0f1;-}-.jumbotron h1,-.jumbotron .h1 {-  color: inherit;-}-.jumbotron p {-  margin-bottom: 15px;-  font-size: 23px;-  font-weight: 200;-}-.jumbotron > hr {-  border-top-color: #cfd9db;-}-.container .jumbotron,-.container-fluid .jumbotron {-  border-radius: 6px;-  padding-left: 15px;-  padding-right: 15px;-}-.jumbotron .container {-  max-width: 100%;-}-@media screen and (min-width: 768px) {-  .jumbotron {-    padding-top: 48px;-    padding-bottom: 48px;-  }-  .container .jumbotron,-  .container-fluid .jumbotron {-    padding-left: 60px;-    padding-right: 60px;-  }-  .jumbotron h1,-  .jumbotron .h1 {-    font-size: 68px;-  }-}-.thumbnail {-  display: block;-  padding: 4px;-  margin-bottom: 21px;-  line-height: 1.42857143;-  background-color: #ffffff;-  border: 1px solid #ecf0f1;-  border-radius: 4px;-  -webkit-transition: border 0.2s ease-in-out;-  -o-transition: border 0.2s ease-in-out;-  transition: border 0.2s ease-in-out;-}-.thumbnail > img,-.thumbnail a > img {-  margin-left: auto;-  margin-right: auto;-}-a.thumbnail:hover,-a.thumbnail:focus,-a.thumbnail.active {-  border-color: #18bc9c;-}-.thumbnail .caption {-  padding: 9px;-  color: #2c3e50;-}-.alert {-  padding: 15px;-  margin-bottom: 21px;-  border: 1px solid transparent;-  border-radius: 4px;-}-.alert h4 {-  margin-top: 0;-  color: inherit;-}-.alert .alert-link {-  font-weight: bold;-}-.alert > p,-.alert > ul {-  margin-bottom: 0;-}-.alert > p + p {-  margin-top: 5px;-}-.alert-dismissable,-.alert-dismissible {-  padding-right: 35px;-}-.alert-dismissable .close,-.alert-dismissible .close {-  position: relative;-  top: -2px;-  right: -21px;-  color: inherit;-}-.alert-success {-  background-color: #18bc9c;-  border-color: #18bc9c;-  color: #ffffff;-}-.alert-success hr {-  border-top-color: #15a589;-}-.alert-success .alert-link {-  color: #e6e6e6;-}-.alert-info {-  background-color: #3498db;-  border-color: #3498db;-  color: #ffffff;-}-.alert-info hr {-  border-top-color: #258cd1;-}-.alert-info .alert-link {-  color: #e6e6e6;-}-.alert-warning {-  background-color: #f39c12;-  border-color: #f39c12;-  color: #ffffff;-}-.alert-warning hr {-  border-top-color: #e08e0b;-}-.alert-warning .alert-link {-  color: #e6e6e6;-}-.alert-danger {-  background-color: #e74c3c;-  border-color: #e74c3c;-  color: #ffffff;-}-.alert-danger hr {-  border-top-color: #e43725;-}-.alert-danger .alert-link {-  color: #e6e6e6;-}-@-webkit-keyframes progress-bar-stripes {-  from {-    background-position: 40px 0;-  }-  to {-    background-position: 0 0;-  }-}-@-o-keyframes progress-bar-stripes {-  from {-    background-position: 40px 0;-  }-  to {-    background-position: 0 0;-  }-}-@keyframes progress-bar-stripes {-  from {-    background-position: 40px 0;-  }-  to {-    background-position: 0 0;-  }-}-.progress {-  overflow: hidden;-  height: 21px;-  margin-bottom: 21px;-  background-color: #ecf0f1;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-}-.progress-bar {-  float: left;-  width: 0%;-  height: 100%;-  font-size: 13px;-  line-height: 21px;-  color: #ffffff;-  text-align: center;-  background-color: #2c3e50;-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -webkit-transition: width 0.6s ease;-  -o-transition: width 0.6s ease;-  transition: width 0.6s ease;-}-.progress-striped .progress-bar,-.progress-bar-striped {-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  -webkit-background-size: 40px 40px;-          background-size: 40px 40px;-}-.progress.active .progress-bar,-.progress-bar.active {-  -webkit-animation: progress-bar-stripes 2s linear infinite;-  -o-animation: progress-bar-stripes 2s linear infinite;-  animation: progress-bar-stripes 2s linear infinite;-}-.progress-bar-success {-  background-color: #18bc9c;-}-.progress-striped .progress-bar-success {-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-bar-info {-  background-color: #3498db;-}-.progress-striped .progress-bar-info {-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-bar-warning {-  background-color: #f39c12;-}-.progress-striped .progress-bar-warning {-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-bar-danger {-  background-color: #e74c3c;-}-.progress-striped .progress-bar-danger {-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.media {-  margin-top: 15px;-}-.media:first-child {-  margin-top: 0;-}-.media,-.media-body {-  zoom: 1;-  overflow: hidden;-}-.media-body {-  width: 10000px;-}-.media-object {-  display: block;-}-.media-object.img-thumbnail {-  max-width: none;-}-.media-right,-.media > .pull-right {-  padding-left: 10px;-}-.media-left,-.media > .pull-left {-  padding-right: 10px;-}-.media-left,-.media-right,-.media-body {-  display: table-cell;-  vertical-align: top;-}-.media-middle {-  vertical-align: middle;-}-.media-bottom {-  vertical-align: bottom;-}-.media-heading {-  margin-top: 0;-  margin-bottom: 5px;-}-.media-list {-  padding-left: 0;-  list-style: none;-}-.list-group {-  margin-bottom: 20px;-  padding-left: 0;-}-.list-group-item {-  position: relative;-  display: block;-  padding: 10px 15px;-  margin-bottom: -1px;-  background-color: #ffffff;-  border: 1px solid #ecf0f1;-}-.list-group-item:first-child {-  border-top-right-radius: 4px;-  border-top-left-radius: 4px;-}-.list-group-item:last-child {-  margin-bottom: 0;-  border-bottom-right-radius: 4px;-  border-bottom-left-radius: 4px;-}-a.list-group-item,-button.list-group-item {-  color: #555555;-}-a.list-group-item .list-group-item-heading,-button.list-group-item .list-group-item-heading {-  color: #333333;-}-a.list-group-item:hover,-button.list-group-item:hover,-a.list-group-item:focus,-button.list-group-item:focus {-  text-decoration: none;-  color: #555555;-  background-color: #ecf0f1;-}-button.list-group-item {-  width: 100%;-  text-align: left;-}-.list-group-item.disabled,-.list-group-item.disabled:hover,-.list-group-item.disabled:focus {-  background-color: #ecf0f1;-  color: #b4bcc2;-  cursor: not-allowed;-}-.list-group-item.disabled .list-group-item-heading,-.list-group-item.disabled:hover .list-group-item-heading,-.list-group-item.disabled:focus .list-group-item-heading {-  color: inherit;-}-.list-group-item.disabled .list-group-item-text,-.list-group-item.disabled:hover .list-group-item-text,-.list-group-item.disabled:focus .list-group-item-text {-  color: #b4bcc2;-}-.list-group-item.active,-.list-group-item.active:hover,-.list-group-item.active:focus {-  z-index: 2;-  color: #ffffff;-  background-color: #2c3e50;-  border-color: #2c3e50;-}-.list-group-item.active .list-group-item-heading,-.list-group-item.active:hover .list-group-item-heading,-.list-group-item.active:focus .list-group-item-heading,-.list-group-item.active .list-group-item-heading > small,-.list-group-item.active:hover .list-group-item-heading > small,-.list-group-item.active:focus .list-group-item-heading > small,-.list-group-item.active .list-group-item-heading > .small,-.list-group-item.active:hover .list-group-item-heading > .small,-.list-group-item.active:focus .list-group-item-heading > .small {-  color: inherit;-}-.list-group-item.active .list-group-item-text,-.list-group-item.active:hover .list-group-item-text,-.list-group-item.active:focus .list-group-item-text {-  color: #8aa4be;-}-.list-group-item-success {-  color: #ffffff;-  background-color: #18bc9c;-}-a.list-group-item-success,-button.list-group-item-success {-  color: #ffffff;-}-a.list-group-item-success .list-group-item-heading,-button.list-group-item-success .list-group-item-heading {-  color: inherit;-}-a.list-group-item-success:hover,-button.list-group-item-success:hover,-a.list-group-item-success:focus,-button.list-group-item-success:focus {-  color: #ffffff;-  background-color: #15a589;-}-a.list-group-item-success.active,-button.list-group-item-success.active,-a.list-group-item-success.active:hover,-button.list-group-item-success.active:hover,-a.list-group-item-success.active:focus,-button.list-group-item-success.active:focus {-  color: #fff;-  background-color: #ffffff;-  border-color: #ffffff;-}-.list-group-item-info {-  color: #ffffff;-  background-color: #3498db;-}-a.list-group-item-info,-button.list-group-item-info {-  color: #ffffff;-}-a.list-group-item-info .list-group-item-heading,-button.list-group-item-info .list-group-item-heading {-  color: inherit;-}-a.list-group-item-info:hover,-button.list-group-item-info:hover,-a.list-group-item-info:focus,-button.list-group-item-info:focus {-  color: #ffffff;-  background-color: #258cd1;-}-a.list-group-item-info.active,-button.list-group-item-info.active,-a.list-group-item-info.active:hover,-button.list-group-item-info.active:hover,-a.list-group-item-info.active:focus,-button.list-group-item-info.active:focus {-  color: #fff;-  background-color: #ffffff;-  border-color: #ffffff;-}-.list-group-item-warning {-  color: #ffffff;-  background-color: #f39c12;-}-a.list-group-item-warning,-button.list-group-item-warning {-  color: #ffffff;-}-a.list-group-item-warning .list-group-item-heading,-button.list-group-item-warning .list-group-item-heading {-  color: inherit;-}-a.list-group-item-warning:hover,-button.list-group-item-warning:hover,-a.list-group-item-warning:focus,-button.list-group-item-warning:focus {-  color: #ffffff;-  background-color: #e08e0b;-}-a.list-group-item-warning.active,-button.list-group-item-warning.active,-a.list-group-item-warning.active:hover,-button.list-group-item-warning.active:hover,-a.list-group-item-warning.active:focus,-button.list-group-item-warning.active:focus {-  color: #fff;-  background-color: #ffffff;-  border-color: #ffffff;-}-.list-group-item-danger {-  color: #ffffff;-  background-color: #e74c3c;-}-a.list-group-item-danger,-button.list-group-item-danger {-  color: #ffffff;-}-a.list-group-item-danger .list-group-item-heading,-button.list-group-item-danger .list-group-item-heading {-  color: inherit;-}-a.list-group-item-danger:hover,-button.list-group-item-danger:hover,-a.list-group-item-danger:focus,-button.list-group-item-danger:focus {-  color: #ffffff;-  background-color: #e43725;-}-a.list-group-item-danger.active,-button.list-group-item-danger.active,-a.list-group-item-danger.active:hover,-button.list-group-item-danger.active:hover,-a.list-group-item-danger.active:focus,-button.list-group-item-danger.active:focus {-  color: #fff;-  background-color: #ffffff;-  border-color: #ffffff;-}-.list-group-item-heading {-  margin-top: 0;-  margin-bottom: 5px;-}-.list-group-item-text {-  margin-bottom: 0;-  line-height: 1.3;-}-.panel {-  margin-bottom: 21px;-  background-color: #ffffff;-  border: 1px solid transparent;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);-}-.panel-body {-  padding: 15px;-}-.panel-heading {-  padding: 10px 15px;-  border-bottom: 1px solid transparent;-  border-top-right-radius: 3px;-  border-top-left-radius: 3px;-}-.panel-heading > .dropdown .dropdown-toggle {-  color: inherit;-}-.panel-title {-  margin-top: 0;-  margin-bottom: 0;-  font-size: 17px;-  color: inherit;-}-.panel-title > a,-.panel-title > small,-.panel-title > .small,-.panel-title > small > a,-.panel-title > .small > a {-  color: inherit;-}-.panel-footer {-  padding: 10px 15px;-  background-color: #ecf0f1;-  border-top: 1px solid #ecf0f1;-  border-bottom-right-radius: 3px;-  border-bottom-left-radius: 3px;-}-.panel > .list-group,-.panel > .panel-collapse > .list-group {-  margin-bottom: 0;-}-.panel > .list-group .list-group-item,-.panel > .panel-collapse > .list-group .list-group-item {-  border-width: 1px 0;-  border-radius: 0;-}-.panel > .list-group:first-child .list-group-item:first-child,-.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {-  border-top: 0;-  border-top-right-radius: 3px;-  border-top-left-radius: 3px;-}-.panel > .list-group:last-child .list-group-item:last-child,-.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {-  border-bottom: 0;-  border-bottom-right-radius: 3px;-  border-bottom-left-radius: 3px;-}-.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {-  border-top-right-radius: 0;-  border-top-left-radius: 0;-}-.panel-heading + .list-group .list-group-item:first-child {-  border-top-width: 0;-}-.list-group + .panel-footer {-  border-top-width: 0;-}-.panel > .table,-.panel > .table-responsive > .table,-.panel > .panel-collapse > .table {-  margin-bottom: 0;-}-.panel > .table caption,-.panel > .table-responsive > .table caption,-.panel > .panel-collapse > .table caption {-  padding-left: 15px;-  padding-right: 15px;-}-.panel > .table:first-child,-.panel > .table-responsive:first-child > .table:first-child {-  border-top-right-radius: 3px;-  border-top-left-radius: 3px;-}-.panel > .table:first-child > thead:first-child > tr:first-child,-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,-.panel > .table:first-child > tbody:first-child > tr:first-child,-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {-  border-top-left-radius: 3px;-  border-top-right-radius: 3px;-}-.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,-.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,-.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,-.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {-  border-top-left-radius: 3px;-}-.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,-.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,-.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,-.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {-  border-top-right-radius: 3px;-}-.panel > .table:last-child,-.panel > .table-responsive:last-child > .table:last-child {-  border-bottom-right-radius: 3px;-  border-bottom-left-radius: 3px;-}-.panel > .table:last-child > tbody:last-child > tr:last-child,-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,-.panel > .table:last-child > tfoot:last-child > tr:last-child,-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {-  border-bottom-left-radius: 3px;-  border-bottom-right-radius: 3px;-}-.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,-.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,-.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,-.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {-  border-bottom-left-radius: 3px;-}-.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,-.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,-.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,-.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {-  border-bottom-right-radius: 3px;-}-.panel > .panel-body + .table,-.panel > .panel-body + .table-responsive,-.panel > .table + .panel-body,-.panel > .table-responsive + .panel-body {-  border-top: 1px solid #ecf0f1;-}-.panel > .table > tbody:first-child > tr:first-child th,-.panel > .table > tbody:first-child > tr:first-child td {-  border-top: 0;-}-.panel > .table-bordered,-.panel > .table-responsive > .table-bordered {-  border: 0;-}-.panel > .table-bordered > thead > tr > th:first-child,-.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,-.panel > .table-bordered > tbody > tr > th:first-child,-.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,-.panel > .table-bordered > tfoot > tr > th:first-child,-.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,-.panel > .table-bordered > thead > tr > td:first-child,-.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,-.panel > .table-bordered > tbody > tr > td:first-child,-.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,-.panel > .table-bordered > tfoot > tr > td:first-child,-.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {-  border-left: 0;-}-.panel > .table-bordered > thead > tr > th:last-child,-.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,-.panel > .table-bordered > tbody > tr > th:last-child,-.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,-.panel > .table-bordered > tfoot > tr > th:last-child,-.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,-.panel > .table-bordered > thead > tr > td:last-child,-.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,-.panel > .table-bordered > tbody > tr > td:last-child,-.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,-.panel > .table-bordered > tfoot > tr > td:last-child,-.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {-  border-right: 0;-}-.panel > .table-bordered > thead > tr:first-child > td,-.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,-.panel > .table-bordered > tbody > tr:first-child > td,-.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,-.panel > .table-bordered > thead > tr:first-child > th,-.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,-.panel > .table-bordered > tbody > tr:first-child > th,-.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {-  border-bottom: 0;-}-.panel > .table-bordered > tbody > tr:last-child > td,-.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,-.panel > .table-bordered > tfoot > tr:last-child > td,-.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,-.panel > .table-bordered > tbody > tr:last-child > th,-.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,-.panel > .table-bordered > tfoot > tr:last-child > th,-.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {-  border-bottom: 0;-}-.panel > .table-responsive {-  border: 0;-  margin-bottom: 0;-}-.panel-group {-  margin-bottom: 21px;-}-.panel-group .panel {-  margin-bottom: 0;-  border-radius: 4px;-}-.panel-group .panel + .panel {-  margin-top: 5px;-}-.panel-group .panel-heading {-  border-bottom: 0;-}-.panel-group .panel-heading + .panel-collapse > .panel-body,-.panel-group .panel-heading + .panel-collapse > .list-group {-  border-top: 1px solid #ecf0f1;-}-.panel-group .panel-footer {-  border-top: 0;-}-.panel-group .panel-footer + .panel-collapse .panel-body {-  border-bottom: 1px solid #ecf0f1;-}-.panel-default {-  border-color: #ecf0f1;-}-.panel-default > .panel-heading {-  color: #2c3e50;-  background-color: #ecf0f1;-  border-color: #ecf0f1;-}-.panel-default > .panel-heading + .panel-collapse > .panel-body {-  border-top-color: #ecf0f1;-}-.panel-default > .panel-heading .badge {-  color: #ecf0f1;-  background-color: #2c3e50;-}-.panel-default > .panel-footer + .panel-collapse > .panel-body {-  border-bottom-color: #ecf0f1;-}-.panel-primary {-  border-color: #2c3e50;-}-.panel-primary > .panel-heading {-  color: #ffffff;-  background-color: #2c3e50;-  border-color: #2c3e50;-}-.panel-primary > .panel-heading + .panel-collapse > .panel-body {-  border-top-color: #2c3e50;-}-.panel-primary > .panel-heading .badge {-  color: #2c3e50;-  background-color: #ffffff;-}-.panel-primary > .panel-footer + .panel-collapse > .panel-body {-  border-bottom-color: #2c3e50;-}-.panel-success {-  border-color: #18bc9c;-}-.panel-success > .panel-heading {-  color: #ffffff;-  background-color: #18bc9c;-  border-color: #18bc9c;-}-.panel-success > .panel-heading + .panel-collapse > .panel-body {-  border-top-color: #18bc9c;-}-.panel-success > .panel-heading .badge {-  color: #18bc9c;-  background-color: #ffffff;-}-.panel-success > .panel-footer + .panel-collapse > .panel-body {-  border-bottom-color: #18bc9c;-}-.panel-info {-  border-color: #3498db;-}-.panel-info > .panel-heading {-  color: #ffffff;-  background-color: #3498db;-  border-color: #3498db;-}-.panel-info > .panel-heading + .panel-collapse > .panel-body {-  border-top-color: #3498db;-}-.panel-info > .panel-heading .badge {-  color: #3498db;-  background-color: #ffffff;-}-.panel-info > .panel-footer + .panel-collapse > .panel-body {-  border-bottom-color: #3498db;-}-.panel-warning {-  border-color: #f39c12;-}-.panel-warning > .panel-heading {-  color: #ffffff;-  background-color: #f39c12;-  border-color: #f39c12;-}-.panel-warning > .panel-heading + .panel-collapse > .panel-body {-  border-top-color: #f39c12;-}-.panel-warning > .panel-heading .badge {-  color: #f39c12;-  background-color: #ffffff;-}-.panel-warning > .panel-footer + .panel-collapse > .panel-body {-  border-bottom-color: #f39c12;-}-.panel-danger {-  border-color: #e74c3c;-}-.panel-danger > .panel-heading {-  color: #ffffff;-  background-color: #e74c3c;-  border-color: #e74c3c;-}-.panel-danger > .panel-heading + .panel-collapse > .panel-body {-  border-top-color: #e74c3c;-}-.panel-danger > .panel-heading .badge {-  color: #e74c3c;-  background-color: #ffffff;-}-.panel-danger > .panel-footer + .panel-collapse > .panel-body {-  border-bottom-color: #e74c3c;-}-.embed-responsive {-  position: relative;-  display: block;-  height: 0;-  padding: 0;-  overflow: hidden;-}-.embed-responsive .embed-responsive-item,-.embed-responsive iframe,-.embed-responsive embed,-.embed-responsive object,-.embed-responsive video {-  position: absolute;-  top: 0;-  left: 0;-  bottom: 0;-  height: 100%;-  width: 100%;-  border: 0;-}-.embed-responsive-16by9 {-  padding-bottom: 56.25%;-}-.embed-responsive-4by3 {-  padding-bottom: 75%;-}-.well {-  min-height: 20px;-  padding: 19px;-  margin-bottom: 20px;-  background-color: #ecf0f1;-  border: 1px solid transparent;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-}-.well blockquote {-  border-color: #ddd;-  border-color: rgba(0, 0, 0, 0.15);-}-.well-lg {-  padding: 24px;-  border-radius: 6px;-}-.well-sm {-  padding: 9px;-  border-radius: 3px;-}-.close {-  float: right;-  font-size: 22.5px;-  font-weight: bold;-  line-height: 1;-  color: #000000;-  text-shadow: none;-  opacity: 0.2;-  filter: alpha(opacity=20);-}-.close:hover,-.close:focus {-  color: #000000;-  text-decoration: none;-  cursor: pointer;-  opacity: 0.5;-  filter: alpha(opacity=50);-}-button.close {-  padding: 0;-  cursor: pointer;-  background: transparent;-  border: 0;-  -webkit-appearance: none;-}-.modal-open {-  overflow: hidden;-}-.modal {-  display: none;-  overflow: hidden;-  position: fixed;-  top: 0;-  right: 0;-  bottom: 0;-  left: 0;-  z-index: 1050;-  -webkit-overflow-scrolling: touch;-  outline: 0;-}-.modal.fade .modal-dialog {-  -webkit-transform: translate(0, -25%);-  -ms-transform: translate(0, -25%);-  -o-transform: translate(0, -25%);-  transform: translate(0, -25%);-  -webkit-transition: -webkit-transform 0.3s ease-out;-  -o-transition: -o-transform 0.3s ease-out;-  transition: transform 0.3s ease-out;-}-.modal.in .modal-dialog {-  -webkit-transform: translate(0, 0);-  -ms-transform: translate(0, 0);-  -o-transform: translate(0, 0);-  transform: translate(0, 0);-}-.modal-open .modal {-  overflow-x: hidden;-  overflow-y: auto;-}-.modal-dialog {-  position: relative;-  width: auto;-  margin: 10px;-}-.modal-content {-  position: relative;-  background-color: #ffffff;-  border: 1px solid #999999;-  border: 1px solid rgba(0, 0, 0, 0.2);-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);-  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);-  -webkit-background-clip: padding-box;-          background-clip: padding-box;-  outline: 0;-}-.modal-backdrop {-  position: fixed;-  top: 0;-  right: 0;-  bottom: 0;-  left: 0;-  z-index: 1040;-  background-color: #000000;-}-.modal-backdrop.fade {-  opacity: 0;-  filter: alpha(opacity=0);-}-.modal-backdrop.in {-  opacity: 0.5;-  filter: alpha(opacity=50);-}-.modal-header {-  padding: 15px;-  border-bottom: 1px solid #e5e5e5;-}-.modal-header .close {-  margin-top: -2px;-}-.modal-title {-  margin: 0;-  line-height: 1.42857143;-}-.modal-body {-  position: relative;-  padding: 20px;-}-.modal-footer {-  padding: 20px;-  text-align: right;-  border-top: 1px solid #e5e5e5;-}-.modal-footer .btn + .btn {-  margin-left: 5px;-  margin-bottom: 0;-}-.modal-footer .btn-group .btn + .btn {-  margin-left: -1px;-}-.modal-footer .btn-block + .btn-block {-  margin-left: 0;-}-.modal-scrollbar-measure {-  position: absolute;-  top: -9999px;-  width: 50px;-  height: 50px;-  overflow: scroll;-}-@media (min-width: 768px) {-  .modal-dialog {-    width: 600px;-    margin: 30px auto;-  }-  .modal-content {-    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);-    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);-  }-  .modal-sm {-    width: 300px;-  }-}-@media (min-width: 992px) {-  .modal-lg {-    width: 900px;-  }-}-.tooltip {-  position: absolute;-  z-index: 1070;-  display: block;-  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-style: normal;-  font-weight: normal;-  letter-spacing: normal;-  line-break: auto;-  line-height: 1.42857143;-  text-align: left;-  text-align: start;-  text-decoration: none;-  text-shadow: none;-  text-transform: none;-  white-space: normal;-  word-break: normal;-  word-spacing: normal;-  word-wrap: normal;-  font-size: 13px;-  opacity: 0;-  filter: alpha(opacity=0);-}-.tooltip.in {-  opacity: 0.9;-  filter: alpha(opacity=90);-}-.tooltip.top {-  margin-top: -3px;-  padding: 5px 0;-}-.tooltip.right {-  margin-left: 3px;-  padding: 0 5px;-}-.tooltip.bottom {-  margin-top: 3px;-  padding: 5px 0;-}-.tooltip.left {-  margin-left: -3px;-  padding: 0 5px;-}-.tooltip-inner {-  max-width: 200px;-  padding: 3px 8px;-  color: #ffffff;-  text-align: center;-  background-color: #000000;-  border-radius: 4px;-}-.tooltip-arrow {-  position: absolute;-  width: 0;-  height: 0;-  border-color: transparent;-  border-style: solid;-}-.tooltip.top .tooltip-arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-width: 5px 5px 0;-  border-top-color: #000000;-}-.tooltip.top-left .tooltip-arrow {-  bottom: 0;-  right: 5px;-  margin-bottom: -5px;-  border-width: 5px 5px 0;-  border-top-color: #000000;-}-.tooltip.top-right .tooltip-arrow {-  bottom: 0;-  left: 5px;-  margin-bottom: -5px;-  border-width: 5px 5px 0;-  border-top-color: #000000;-}-.tooltip.right .tooltip-arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-width: 5px 5px 5px 0;-  border-right-color: #000000;-}-.tooltip.left .tooltip-arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-width: 5px 0 5px 5px;-  border-left-color: #000000;-}-.tooltip.bottom .tooltip-arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-width: 0 5px 5px;-  border-bottom-color: #000000;-}-.tooltip.bottom-left .tooltip-arrow {-  top: 0;-  right: 5px;-  margin-top: -5px;-  border-width: 0 5px 5px;-  border-bottom-color: #000000;-}-.tooltip.bottom-right .tooltip-arrow {-  top: 0;-  left: 5px;-  margin-top: -5px;-  border-width: 0 5px 5px;-  border-bottom-color: #000000;-}-.popover {-  position: absolute;-  top: 0;-  left: 0;-  z-index: 1060;-  display: none;-  max-width: 276px;-  padding: 1px;-  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-style: normal;-  font-weight: normal;-  letter-spacing: normal;-  line-break: auto;-  line-height: 1.42857143;-  text-align: left;-  text-align: start;-  text-decoration: none;-  text-shadow: none;-  text-transform: none;-  white-space: normal;-  word-break: normal;-  word-spacing: normal;-  word-wrap: normal;-  font-size: 15px;-  background-color: #ffffff;-  -webkit-background-clip: padding-box;-          background-clip: padding-box;-  border: 1px solid #cccccc;-  border: 1px solid rgba(0, 0, 0, 0.2);-  border-radius: 6px;-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-}-.popover.top {-  margin-top: -10px;-}-.popover.right {-  margin-left: 10px;-}-.popover.bottom {-  margin-top: 10px;-}-.popover.left {-  margin-left: -10px;-}-.popover-title {-  margin: 0;-  padding: 8px 14px;-  font-size: 15px;-  background-color: #f7f7f7;-  border-bottom: 1px solid #ebebeb;-  border-radius: 5px 5px 0 0;-}-.popover-content {-  padding: 9px 14px;-}-.popover > .arrow,-.popover > .arrow:after {-  position: absolute;-  display: block;-  width: 0;-  height: 0;-  border-color: transparent;-  border-style: solid;-}-.popover > .arrow {-  border-width: 11px;-}-.popover > .arrow:after {-  border-width: 10px;-  content: "";-}-.popover.top > .arrow {-  left: 50%;-  margin-left: -11px;-  border-bottom-width: 0;-  border-top-color: #999999;-  border-top-color: rgba(0, 0, 0, 0.25);-  bottom: -11px;-}-.popover.top > .arrow:after {-  content: " ";-  bottom: 1px;-  margin-left: -10px;-  border-bottom-width: 0;-  border-top-color: #ffffff;-}-.popover.right > .arrow {-  top: 50%;-  left: -11px;-  margin-top: -11px;-  border-left-width: 0;-  border-right-color: #999999;-  border-right-color: rgba(0, 0, 0, 0.25);-}-.popover.right > .arrow:after {-  content: " ";-  left: 1px;-  bottom: -10px;-  border-left-width: 0;-  border-right-color: #ffffff;-}-.popover.bottom > .arrow {-  left: 50%;-  margin-left: -11px;-  border-top-width: 0;-  border-bottom-color: #999999;-  border-bottom-color: rgba(0, 0, 0, 0.25);-  top: -11px;-}-.popover.bottom > .arrow:after {-  content: " ";-  top: 1px;-  margin-left: -10px;-  border-top-width: 0;-  border-bottom-color: #ffffff;-}-.popover.left > .arrow {-  top: 50%;-  right: -11px;-  margin-top: -11px;-  border-right-width: 0;-  border-left-color: #999999;-  border-left-color: rgba(0, 0, 0, 0.25);-}-.popover.left > .arrow:after {-  content: " ";-  right: 1px;-  border-right-width: 0;-  border-left-color: #ffffff;-  bottom: -10px;-}-.carousel {-  position: relative;-}-.carousel-inner {-  position: relative;-  overflow: hidden;-  width: 100%;-}-.carousel-inner > .item {-  display: none;-  position: relative;-  -webkit-transition: 0.6s ease-in-out left;-  -o-transition: 0.6s ease-in-out left;-  transition: 0.6s ease-in-out left;-}-.carousel-inner > .item > img,-.carousel-inner > .item > a > img {-  line-height: 1;-}-@media all and (transform-3d), (-webkit-transform-3d) {-  .carousel-inner > .item {-    -webkit-transition: -webkit-transform 0.6s ease-in-out;-    -o-transition: -o-transform 0.6s ease-in-out;-    transition: transform 0.6s ease-in-out;-    -webkit-backface-visibility: hidden;-    backface-visibility: hidden;-    -webkit-perspective: 1000px;-    perspective: 1000px;-  }-  .carousel-inner > .item.next,-  .carousel-inner > .item.active.right {-    -webkit-transform: translate3d(100%, 0, 0);-    transform: translate3d(100%, 0, 0);-    left: 0;-  }-  .carousel-inner > .item.prev,-  .carousel-inner > .item.active.left {-    -webkit-transform: translate3d(-100%, 0, 0);-    transform: translate3d(-100%, 0, 0);-    left: 0;-  }-  .carousel-inner > .item.next.left,-  .carousel-inner > .item.prev.right,-  .carousel-inner > .item.active {-    -webkit-transform: translate3d(0, 0, 0);-    transform: translate3d(0, 0, 0);-    left: 0;-  }-}-.carousel-inner > .active,-.carousel-inner > .next,-.carousel-inner > .prev {-  display: block;-}-.carousel-inner > .active {-  left: 0;-}-.carousel-inner > .next,-.carousel-inner > .prev {-  position: absolute;-  top: 0;-  width: 100%;-}-.carousel-inner > .next {-  left: 100%;-}-.carousel-inner > .prev {-  left: -100%;-}-.carousel-inner > .next.left,-.carousel-inner > .prev.right {-  left: 0;-}-.carousel-inner > .active.left {-  left: -100%;-}-.carousel-inner > .active.right {-  left: 100%;-}-.carousel-control {-  position: absolute;-  top: 0;-  left: 0;-  bottom: 0;-  width: 15%;-  opacity: 0.5;-  filter: alpha(opacity=50);-  font-size: 20px;-  color: #ffffff;-  text-align: center;-  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);-  background-color: rgba(0, 0, 0, 0);-}-.carousel-control.left {-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);-  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);-  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));-  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);-}-.carousel-control.right {-  left: auto;-  right: 0;-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);-  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);-  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));-  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);-}-.carousel-control:hover,-.carousel-control:focus {-  outline: 0;-  color: #ffffff;-  text-decoration: none;-  opacity: 0.9;-  filter: alpha(opacity=90);-}-.carousel-control .icon-prev,-.carousel-control .icon-next,-.carousel-control .glyphicon-chevron-left,-.carousel-control .glyphicon-chevron-right {-  position: absolute;-  top: 50%;-  margin-top: -10px;-  z-index: 5;-  display: inline-block;-}-.carousel-control .icon-prev,-.carousel-control .glyphicon-chevron-left {-  left: 50%;-  margin-left: -10px;-}-.carousel-control .icon-next,-.carousel-control .glyphicon-chevron-right {-  right: 50%;-  margin-right: -10px;-}-.carousel-control .icon-prev,-.carousel-control .icon-next {-  width: 20px;-  height: 20px;-  line-height: 1;-  font-family: serif;-}-.carousel-control .icon-prev:before {-  content: '\2039';-}-.carousel-control .icon-next:before {-  content: '\203a';-}-.carousel-indicators {-  position: absolute;-  bottom: 10px;-  left: 50%;-  z-index: 15;-  width: 60%;-  margin-left: -30%;-  padding-left: 0;-  list-style: none;-  text-align: center;-}-.carousel-indicators li {-  display: inline-block;-  width: 10px;-  height: 10px;-  margin: 1px;-  text-indent: -999px;-  border: 1px solid #ffffff;-  border-radius: 10px;-  cursor: pointer;-  background-color: #000 \9;-  background-color: rgba(0, 0, 0, 0);-}-.carousel-indicators .active {-  margin: 0;-  width: 12px;-  height: 12px;-  background-color: #ffffff;-}-.carousel-caption {-  position: absolute;-  left: 15%;-  right: 15%;-  bottom: 20px;-  z-index: 10;-  padding-top: 20px;-  padding-bottom: 20px;-  color: #ffffff;-  text-align: center;-  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);-}-.carousel-caption .btn {-  text-shadow: none;-}-@media screen and (min-width: 768px) {-  .carousel-control .glyphicon-chevron-left,-  .carousel-control .glyphicon-chevron-right,-  .carousel-control .icon-prev,-  .carousel-control .icon-next {-    width: 30px;-    height: 30px;-    margin-top: -10px;-    font-size: 30px;-  }-  .carousel-control .glyphicon-chevron-left,-  .carousel-control .icon-prev {-    margin-left: -10px;-  }-  .carousel-control .glyphicon-chevron-right,-  .carousel-control .icon-next {-    margin-right: -10px;-  }-  .carousel-caption {-    left: 20%;-    right: 20%;-    padding-bottom: 30px;-  }-  .carousel-indicators {-    bottom: 20px;-  }-}-.clearfix:before,-.clearfix:after,-.dl-horizontal dd:before,-.dl-horizontal dd:after,-.container:before,-.container:after,-.container-fluid:before,-.container-fluid:after,-.row:before,-.row:after,-.form-horizontal .form-group:before,-.form-horizontal .form-group:after,-.btn-toolbar:before,-.btn-toolbar:after,-.btn-group-vertical > .btn-group:before,-.btn-group-vertical > .btn-group:after,-.nav:before,-.nav:after,-.navbar:before,-.navbar:after,-.navbar-header:before,-.navbar-header:after,-.navbar-collapse:before,-.navbar-collapse:after,-.pager:before,-.pager:after,-.panel-body:before,-.panel-body:after,-.modal-header:before,-.modal-header:after,-.modal-footer:before,-.modal-footer:after {-  content: " ";-  display: table;-}-.clearfix:after,-.dl-horizontal dd:after,-.container:after,-.container-fluid:after,-.row:after,-.form-horizontal .form-group:after,-.btn-toolbar:after,-.btn-group-vertical > .btn-group:after,-.nav:after,-.navbar:after,-.navbar-header:after,-.navbar-collapse:after,-.pager:after,-.panel-body:after,-.modal-header:after,-.modal-footer:after {-  clear: both;-}-.center-block {-  display: block;-  margin-left: auto;-  margin-right: auto;-}-.pull-right {-  float: right !important;-}-.pull-left {-  float: left !important;-}-.hide {-  display: none !important;-}-.show {-  display: block !important;-}-.invisible {-  visibility: hidden;-}-.text-hide {-  font: 0/0 a;-  color: transparent;-  text-shadow: none;-  background-color: transparent;-  border: 0;-}-.hidden {-  display: none !important;-}-.affix {-  position: fixed;-}-@-ms-viewport {-  width: device-width;-}-.visible-xs,-.visible-sm,-.visible-md,-.visible-lg {-  display: none !important;-}-.visible-xs-block,-.visible-xs-inline,-.visible-xs-inline-block,-.visible-sm-block,-.visible-sm-inline,-.visible-sm-inline-block,-.visible-md-block,-.visible-md-inline,-.visible-md-inline-block,-.visible-lg-block,-.visible-lg-inline,-.visible-lg-inline-block {-  display: none !important;-}-@media (max-width: 767px) {-  .visible-xs {-    display: block !important;-  }-  table.visible-xs {-    display: table !important;-  }-  tr.visible-xs {-    display: table-row !important;-  }-  th.visible-xs,-  td.visible-xs {-    display: table-cell !important;-  }-}-@media (max-width: 767px) {-  .visible-xs-block {-    display: block !important;-  }-}-@media (max-width: 767px) {-  .visible-xs-inline {-    display: inline !important;-  }-}-@media (max-width: 767px) {-  .visible-xs-inline-block {-    display: inline-block !important;-  }-}-@media (min-width: 768px) and (max-width: 991px) {-  .visible-sm {-    display: block !important;-  }-  table.visible-sm {-    display: table !important;-  }-  tr.visible-sm {-    display: table-row !important;-  }-  th.visible-sm,-  td.visible-sm {-    display: table-cell !important;-  }-}-@media (min-width: 768px) and (max-width: 991px) {-  .visible-sm-block {-    display: block !important;-  }-}-@media (min-width: 768px) and (max-width: 991px) {-  .visible-sm-inline {-    display: inline !important;-  }-}-@media (min-width: 768px) and (max-width: 991px) {-  .visible-sm-inline-block {-    display: inline-block !important;-  }-}-@media (min-width: 992px) and (max-width: 1199px) {-  .visible-md {-    display: block !important;-  }-  table.visible-md {-    display: table !important;-  }-  tr.visible-md {-    display: table-row !important;-  }-  th.visible-md,-  td.visible-md {-    display: table-cell !important;-  }-}-@media (min-width: 992px) and (max-width: 1199px) {-  .visible-md-block {-    display: block !important;-  }-}-@media (min-width: 992px) and (max-width: 1199px) {-  .visible-md-inline {-    display: inline !important;-  }-}-@media (min-width: 992px) and (max-width: 1199px) {-  .visible-md-inline-block {-    display: inline-block !important;-  }-}-@media (min-width: 1200px) {-  .visible-lg {-    display: block !important;-  }-  table.visible-lg {-    display: table !important;-  }-  tr.visible-lg {-    display: table-row !important;-  }-  th.visible-lg,-  td.visible-lg {-    display: table-cell !important;-  }-}-@media (min-width: 1200px) {-  .visible-lg-block {-    display: block !important;-  }-}-@media (min-width: 1200px) {-  .visible-lg-inline {-    display: inline !important;-  }-}-@media (min-width: 1200px) {-  .visible-lg-inline-block {-    display: inline-block !important;-  }-}-@media (max-width: 767px) {-  .hidden-xs {-    display: none !important;-  }-}-@media (min-width: 768px) and (max-width: 991px) {-  .hidden-sm {-    display: none !important;-  }-}-@media (min-width: 992px) and (max-width: 1199px) {-  .hidden-md {-    display: none !important;-  }-}-@media (min-width: 1200px) {-  .hidden-lg {-    display: none !important;-  }-}-.visible-print {-  display: none !important;-}-@media print {-  .visible-print {-    display: block !important;-  }-  table.visible-print {-    display: table !important;-  }-  tr.visible-print {-    display: table-row !important;-  }-  th.visible-print,-  td.visible-print {-    display: table-cell !important;-  }-}-.visible-print-block {-  display: none !important;-}-@media print {-  .visible-print-block {-    display: block !important;-  }-}-.visible-print-inline {-  display: none !important;-}-@media print {-  .visible-print-inline {-    display: inline !important;-  }-}-.visible-print-inline-block {-  display: none !important;-}-@media print {-  .visible-print-inline-block {-    display: inline-block !important;-  }-}-@media print {-  .hidden-print {-    display: none !important;-  }-}-.navbar {-  border-width: 0;-}-.navbar-default .badge {-  background-color: #fff;-  color: #2c3e50;-}-.navbar-inverse .badge {-  background-color: #fff;-  color: #18bc9c;-}-.navbar-brand {-  line-height: 1;-}-.btn {-  border-width: 2px;-}-.btn:active {-  -webkit-box-shadow: none;-  box-shadow: none;-}-.btn-group.open .dropdown-toggle {-  -webkit-box-shadow: none;-  box-shadow: none;-}-.text-primary,-.text-primary:hover {-  color: #2c3e50;-}-.text-success,-.text-success:hover {-  color: #18bc9c;-}-.text-danger,-.text-danger:hover {-  color: #e74c3c;-}-.text-warning,-.text-warning:hover {-  color: #f39c12;-}-.text-info,-.text-info:hover {-  color: #3498db;-}-table a:not(.btn),-.table a:not(.btn) {-  text-decoration: underline;-}-table .dropdown-menu a,-.table .dropdown-menu a {-  text-decoration: none;-}-table .success,-.table .success,-table .warning,-.table .warning,-table .danger,-.table .danger,-table .info,-.table .info {-  color: #fff;-}-table .success > th > a,-.table .success > th > a,-table .warning > th > a,-.table .warning > th > a,-table .danger > th > a,-.table .danger > th > a,-table .info > th > a,-.table .info > th > a,-table .success > td > a,-.table .success > td > a,-table .warning > td > a,-.table .warning > td > a,-table .danger > td > a,-.table .danger > td > a,-table .info > td > a,-.table .info > td > a,-table .success > a,-.table .success > a,-table .warning > a,-.table .warning > a,-table .danger > a,-.table .danger > a,-table .info > a,-.table .info > a {-  color: #fff;-}-table > thead > tr > th,-.table > thead > tr > th,-table > tbody > tr > th,-.table > tbody > tr > th,-table > tfoot > tr > th,-.table > tfoot > tr > th,-table > thead > tr > td,-.table > thead > tr > td,-table > tbody > tr > td,-.table > tbody > tr > td,-table > tfoot > tr > td,-.table > tfoot > tr > td {-  border: none;-}-table-bordered > thead > tr > th,-.table-bordered > thead > tr > th,-table-bordered > tbody > tr > th,-.table-bordered > tbody > tr > th,-table-bordered > tfoot > tr > th,-.table-bordered > tfoot > tr > th,-table-bordered > thead > tr > td,-.table-bordered > thead > tr > td,-table-bordered > tbody > tr > td,-.table-bordered > tbody > tr > td,-table-bordered > tfoot > tr > td,-.table-bordered > tfoot > tr > td {-  border: 1px solid #ecf0f1;-}-.form-control,-input {-  border-width: 2px;-  -webkit-box-shadow: none;-  box-shadow: none;-}-.form-control:focus,-input:focus {-  -webkit-box-shadow: none;-  box-shadow: none;-}-.has-warning .help-block,-.has-warning .control-label,-.has-warning .radio,-.has-warning .checkbox,-.has-warning .radio-inline,-.has-warning .checkbox-inline,-.has-warning.radio label,-.has-warning.checkbox label,-.has-warning.radio-inline label,-.has-warning.checkbox-inline label,-.has-warning .form-control-feedback {-  color: #f39c12;-}-.has-warning .form-control,-.has-warning .form-control:focus {-  border: 2px solid #f39c12;-}-.has-warning .input-group-addon {-  border-color: #f39c12;-}-.has-error .help-block,-.has-error .control-label,-.has-error .radio,-.has-error .checkbox,-.has-error .radio-inline,-.has-error .checkbox-inline,-.has-error.radio label,-.has-error.checkbox label,-.has-error.radio-inline label,-.has-error.checkbox-inline label,-.has-error .form-control-feedback {-  color: #e74c3c;-}-.has-error .form-control,-.has-error .form-control:focus {-  border: 2px solid #e74c3c;-}-.has-error .input-group-addon {-  border-color: #e74c3c;-}-.has-success .help-block,-.has-success .control-label,-.has-success .radio,-.has-success .checkbox,-.has-success .radio-inline,-.has-success .checkbox-inline,-.has-success.radio label,-.has-success.checkbox label,-.has-success.radio-inline label,-.has-success.checkbox-inline label,-.has-success .form-control-feedback {-  color: #18bc9c;-}-.has-success .form-control,-.has-success .form-control:focus {-  border: 2px solid #18bc9c;-}-.has-success .input-group-addon {-  border-color: #18bc9c;-}-.nav .open > a,-.nav .open > a:hover,-.nav .open > a:focus {-  border-color: transparent;-}-.pager a,-.pager a:hover {-  color: #fff;-}-.pager .disabled > a,-.pager .disabled > a:hover,-.pager .disabled > a:focus,-.pager .disabled > span {-  background-color: #3be6c4;-}-.close {-  color: #fff;-  text-decoration: none;-  opacity: 0.4;-}-.close:hover,-.close:focus {-  color: #fff;-  opacity: 1;-}-.alert .alert-link {-  color: #fff;-  text-decoration: underline;-}-.progress {-  height: 10px;-  -webkit-box-shadow: none;-  box-shadow: none;-}-.progress .progress-bar {-  font-size: 10px;-  line-height: 10px;-}-.well {-  -webkit-box-shadow: none;-  box-shadow: none;-}-a.list-group-item.active,-a.list-group-item.active:hover,-a.list-group-item.active:focus {-  border-color: #ecf0f1;-}-a.list-group-item-success.active {-  background-color: #18bc9c;-}-a.list-group-item-success.active:hover,-a.list-group-item-success.active:focus {-  background-color: #15a589;-}-a.list-group-item-warning.active {-  background-color: #f39c12;-}-a.list-group-item-warning.active:hover,-a.list-group-item-warning.active:focus {-  background-color: #e08e0b;-}-a.list-group-item-danger.active {-  background-color: #e74c3c;-}-a.list-group-item-danger.active:hover,-a.list-group-item-danger.active:focus {-  background-color: #e43725;-}-.panel-default .close {-  color: #2c3e50;-}-.modal .close {-  color: #2c3e50;-}-.popover {-  color: #2c3e50;-}
static/css/main.css view
@@ -1,975 +1,997 @@-html {-  box-sizing: border-box;-}-*, *:before, *:after {-  box-sizing: inherit;-}-body-{-  color:#333;-  margin-left:20px;-  font-size:13px;-  font-family: helvetica, sans-serif;-  word-wrap:break-word;-  text-align:center;-}---[hidden] {-    display: none !important-}--label {-    cursor: pointer;-}-blockquote -{ -    margin-left:20px;-    margin-bottom:0px;-    color:#247;-}--#content-{ -    width: 100%;-    max-width:1050px;-    margin-left:auto;-    margin-right:auto --}--/* basic elements */-td { font-size:13px; }-p  { margin-top:2px;margin-bottom:12px }-li { margin-bottom:10px }---/* global link styling */-a-{ -    text-decoration:none;-    color:#11a;-}-a:visited { color:#51a }-a.edit { font-size:1em; }--h1 -{ -    font-size:2em;-    font-family:helvetica;-    font-weight:normal;-    margin-top:10px;-} -h2 { -    font-size:1.3em;-    font-family:helvetica;-    font-weight:normal;-} -h3 { font-size:110%;background:#eaefff;} -h4 { font-size:100%;background:#dfc;} --code-{-  margin-left:20px;-  color:#22a;-  font-family:monaco;-}---/* BOOKMARK STYLING */-a.fetch_err-{ -    font-size:80%;-    color:red;-    font-weight:bold;-}-.cached -{-    color:#aaa;-    font-size:1.2em;-}-.cached:visited {color:#aaa}-.description- {-    line-height:120%;-    margin-top:2px;-    color:#555;-}-.star-{-  color:#ccc;-  margin-left:-20px;-  font-size:1.3em;-  cursor:pointer;-  float:left; -}-.selected_star { color:#22a; }-.confirm -{ -    color:red;-}-.delete_link { display:inline; }-.when {-    font-size:90%;-    width: 90px;-    color:#777 !important;-    display: inline-block;-}-.js-moment {-    width: 105px;-}-a.url_display:hover { color:#44d; }--a.source { color:#77c;}-a.tag {color:#a51;line-height:190%;}-a.bundle { color:#b40;font-weight:bold }-a.bundle { color:#a21;font-weight:bold }--.tags { display: block; }-.tags a.tag {-    margin-right: 5px;-}--#bundle_names a-{-    line-height:180%;-}--#bundle_names -{-    margin-top:20px;-}--a.delete { color:#aaa }-a.delete:visited { color:#aaa }-a.delete:hover { color:#44d; }--a.edit { color: #aaa }-a.edit:hover { color:#44d; }-a.edit:visited { color:#ccc }--a.destroy { color:red; }-a.destroy:visited { color:red; }--a.copy_link { color: #bbb }-a.copy_link:hover { color:#44d; }-.copy_confirm { color:#aaa; }-.faint {color:#aaa}--.edit_links-{-    display:inline;-}-----.url_link-{-    font-size:90%;color:#888;-}-.bookmark-{ -  margin-bottom:1.3em;-  padding:3px;-  width:100%;-  max-width:600px;-  margin-left:0px;-  border:0px solid red;-  float:left;- }-.bookmark_title { line-height:130%;font-size:110%; }-a.url_display-{-    color:#888;-    font-size:0.9em;-}-.private a { padding:1px;border:0px;}-.private { background:#ddd;border:1px solid #d1d1d1; }-.unread { color:#b41 }-a.unread { color:#b41 }-a.has_bmark { color:#aaa }--/* BOOKMARK LISTS */-a.list { color:#163; }-.lists { color:#163; }--/* ?? */-.flash { color:green;background:#efe }--/* MAIN BANNER AND NAV */-#banner-{-  background:white;-  color:black;-  border-bottom:1px dotted #aaa;-  margin-bottom:0.7em;-  width:100%;-  max-width:980px;-  padding-bottom:9px;-  text-align:left;-}---#banner a { color:#aaa; }-#banner a.admin { color:#e00 }-#banner a.banner_username { color:blue; }-#espial_name { font-size:18px; }---#logo { float:left;color:#aaa;}-.logo {-    margin-right: 1px;-    font-size: 19px;-    color: #402;-}-#top_menu -{ -    margin-top:6px;-    float:right; -}-#top_menu a { color:blue }---/* user alert */-.alert -{ -    color:#333;-    background:#ced;-    padding:10px;-    width: 100%;-    max-width:550px;-    border:1px solid #acc; -}---#login_box-{-  float:right;-}---/* BASIC PAGE STRUCTURE */-#main_column-{-    width: 100%;-    max-width:700px;-    min-height:700px;-    text-align:left;-    float:left;-    position:relative;-    #border:1px solid #fa8;--}--#right_bar -{-    float:left;-    margin-left:10px;-    text-align:left;-    width:330px;-    #border:1px solid #cfd;-}---.rss_linkbox-{-    float:right;-    margin-right:30px;-}--a.rss_link-{-    color:#ee9922;-    font-size:0.8em;-}--.bookmark_count_box-{-    float:left;-    min-width:50px;-    padding-right:1.1em;-}---/* USER HOME PAGE */-.user_navbar-{-    margin-bottom:0.7em;-}--.subscribe_link-{-    margin-left:30px;-    float:left;-    margin-right:8px;-    color:#aac;-}--.unsubscribe_link-{-    margin-left:30px;float:left;-    color:#caa;-}--.source_filter-{-    background:#ddf;-    color:#555;-}--.edit_checkbox-{-  display:none;-  float:left;-  margin-left:-40px;-  width:40px;-}--.tag_table-{-    float:left;-    margin-right:10px;-}---/* howto page */-a.bookmarklet-{ -    background:#ffe; -    border:1px dotted #aaa;-    color:#444;-    padding:1px 2px 0px 2px;-    font-size:90%;-}-.heading { color:#555;}-.homepage_heading { -    margin-top:25px;-    margin-bottom:5px;-    color:#338;-    font-size:1em;-}---.error { color:red }--a.systag { color:#c41 }-a.next_prev { color:#777 }--#bottom_next_prev { float:left; }-- - #star_operations- {-  border:0px solid blue;width:300px;float:left;- }- --.selected_star-{-  color:#559;-}----.display { float:left }-.unimplemented { color:#aaa }---/* bulk and single edit form */-#bulk_links p { line-height:0.7em; }--.edit_bookmark_form-{-  border: 0px solid #aaa;-  background:#fff;-  width:500px;-  padding:4px;-  padding-left:10px;-  float:left;-  color:#888;-}--.edit_bookmark_form p-{-  line-height:100%;-  margin-bottom:0px;-  color:#888;-}--.edit_bookmark_form input-{-  font-size:90%;-  border:1px solid #ddd;-  margin-bottom:3px;-}--.edit_bookmark_form textarea-{-  font-size:90%;-  border:1px solid #ddd;-  margin-bottom:3px;-}--.edit_form_input -{-    width:490px;-    margin-top:10px;-    font-size:12px;-    background:#fff;-    padding-top:3px;-}-#edit_form_checkboxes-{-    margin-top:10px;-    margin-bottom:10px;-}-#edit_form_suggested_tags-{-    margin-top:10px;-    margin-bottom:18px;-}--.edit_bookmark_form .edit-button-{-    background-color: #eee;-}--#tag_cloud-{-  float:left;-  width:350px;-  text-align:justify;-  line-height:110%;-  margin-top:20px;-} --.bookmark_count { -  font-size:80%;-  color:#aaa;- }- - .tag_count {  font-size:90%;color: #aaa; }- --#years -{-    border:1px solid orange;-    float:left;-}-#years a-{-    color:#aaa;-    font-size:8pt;--}--#bulk_links-{-  margin-bottom:20px;-}- a.mark_read { color:#a81}- ---#active_users-{-  float:left;-  margin-left:40px;-}--#related_tags-{-  width:250px;border:0px solid red;-  }-  -#timer-{-  color:#bbb;float:right;font-size:10px;font-family:helvetica;margin-top:4px;-}--#footer-{-  margin-top:3em;color:#888;- }- -a.help-{-  color:#2a2;background:#ffc}-  -  -.tabs { background:#fff;padding:0px;margin-bottom:0px; }-.tab_select-{-  float:left;-  margin-right:10px;-}---a.filter { color:#999}---.disabled { color:#888;background:#ccc}--.upgrade_header { -    font-size:1.4em;color:#666;-    font-weight:bold;margin-top:30px;-    margin-bottom:10px;background:#fff}-    -    -    ---a.twitter_user { color:#000099; }-#em { font-weight:bold;color:#555;font-style:normal}----.tweet_date { color:#aaa;font-size:90%;}-.twitter_name { font-weight:bold; }-a.twitter_account { color:#66c}-a.outside_resource { color:blue;text-decoration:underline; }-- -a.selected {color:blue}--.selected { background:#fafafa; }--/* pagination and sort order links */-#per_page_picker {color:#888;float:left;margin-left:90px;text-align:center; }-#per_page_picker a {color:#aaa; }-#per_page_picker a.per_page_selected { background:#ff8;color:blue; }--.pagination_select-{-    display:inline;-   /* margin-right:30px; */-}-#sort_order_picker { display:inline; }-#sort_order_picker a.sort_order_selected { color:#888;}-#sort_order_picker a { color:#ccc; }-#sort_order_picker { color:#aaa; }-.sort_arrow { font-size:15px;font-family:monaco }-@-moz-document url-prefix() {-   .sort_arrow { font-size:20px;}-}---#tag_cloud a.tag_heading_selected { font-weight:bold;color:#333 }-#tag_cloud table{ line-height:100%;}-#tag_cloud_header a { color:#aaa; }--ul.clean { list-style-type:none;padding-left:0px;}--.small_username-{-    float:left;-    padding-right:1em;-}---.twitter_account_title /* used on settings page */-{-    font-size:1.3em;color:#59d-}--a.twitter_account_title /* used on settings page */-{-    color:#59d-}--/* tabs stuff */-.help_box-{-    line-height:120%;-    background:#ffe;-    padding:10px;-    border:1px solid #dba;-}--.window_title -{ -    font-weight:bold;-    font-size:1.2em;-    color:#555;-    margin:0px;-    margin-top:20px;-    padding:0px; -    cursor:pointer;-}-/* tour page */-h1.tour_heading-{-    font-size:2em;-    font-family:helvetica;-    font-weight:normal;-    margin-top:10px;-}-h2.tour_heading-{-    font-size:1.5em;-    font-family:helvetica;-    font-weight:normal;-    background:#fff;-    margin-top:37px;-    margin-bottom:20px;-}---/* SETTINGS PAGE */-h2.settings_heading-{-    font-size:1.3em;-    font-family:helvetica;-    font-weight:normal;-    background:#fff;-    margin-top:7px;-    margin-bottom:15px;-}--.email_secret-{-    color:#05a;-    font-weight:bold;-}--#import_history_table-{-    float:left;-    padding:5px;-    border:1px solid #ccc;-}--.tab { -  float:left;-  text-align:center;-  padding-bottom:0.2em;-  width:100px;-  height:15px;-   border-top:1px solid #ffc;-   border-bottom:1px solid #aaa;-}--.tab_spacer-{-    float:left;-    height:15px;-    padding-bottom:0.2em;-    width:98px;-    border-top:1px solid  #fff;-    border-bottom:1px solid #aaa;-    color:#ffc;-}--.tab_selected { -    border:1px solid #aaa;-    border-bottom:1px solid #eee ;-    background:#eee }-#tab_panes-{-  border:1px solid #aaa;-  border-top:0px solid #fff;-  padding:2em;-  margin:0px;-}---/* UPGRADE PAGE */-#upgrade_left_column-{-    width:400px;-    float:left;-}--#upgrade_right_column-{-    margin-left:40px;-    width:250px;-    float:left;-}-.account_status_box-{-    padding:10px;border:1px solid #abd;-}-        -/* USER ACCOUNT PAGE */-#profile_main_column-{-    width:1200px;-    float:left;-    text-align:left;-}--#profile_left_column-{-    width:350px;-    float:left;-}--#profile_right_column-{-    float:left;-    margin-left:40px;-    width:450px;-}--#profile_admin_column-{-    float:left;-    width:300px;-    font-size:11px;-    text-align:left;-    padding:5px;-    height:800px;-    background:#efe-}--.service_box-{-    float:left;-    width:350px;-    margin-bottom:20px;-}-   -#name_string-{-    font-size:140%-}--#archival_column-{-    float:left;-    width:300px;-}---a.upgrade_link-{-    text-decoration:underline;-    font-weight:bold;-}------/* signup */-.signup_button-{-    text-align:center;-    font-size:1.2em;-    font-weight:bold;-    color:#444;-    background:#dfa;-    border:1px solid #888;-    border-radius:15px;-    -moz-box-shadow: 1px 1px 1px #555;-    -webkit-box-shadow: 1px 1px 1px #888;-    box-shadow: 1px 1px 2px #888;-    padding-left:0px;-    padding-top:5px;-    padding-bottom:2px;-    width:230px;-    height:20px;-    margin-left:30px;-    margin-top:50px;-}---/* NOTES */-#note_tagbox-{-    margin-bottom:15px;-    width:500px;-    padding:4px;-    background:#ffc;-    border:1px dotted orange;-}-#note_right_column-{-    text-align:left;-    width:250px;-    float:left;-}-blockquote.note-{-    margin-left:0px;-    width:490px;-    line-height:130%;-    font-family:verdana-}-.note_last_updated-{-    color:#ca4;-    font-size:0.9em-}--.notes_pagination-{-    margin-bottom:20px;-    margin-top:10px;-}---/* PUBLIC PROFILE */-input.profile_input-{-    width:350px;-}-textarea.profile_input-{-    width:350px;-    height:140px;-}--#public_edit_right_column-{-    margin-top:20px;-    text-align:left;-}--.public_name_value-{-    font-size:18pt;-    color:#555;-}--#public_profile_left_column-{-    float:left;-    text-align:left;-    min-height:700px;-    width:380px;-    margin-right:20px;-}-#public_profile_left_column h2-{-    margin-top:10px;-}-#public_profile_left_column a.username-{-    color:blue;-}-#public_profile_subscribe_div-{-    margin-bottom:10px;-    color:#888;-}-#public_profile_attributes td-{-    vertical-align:top;-}-#public_profile_tag_cloud-{-    float:left;-    width:300px;-    text-align:left;-}--#public_profile_searchbox-{-    margin-left:30px;-    margin-top:10px;-    text-align:left;-    float:left;-}--/* SEARCH PAGE */-#search_right_bar -{-    float:left;-    margin-left:10px;-    text-align:left;-    width:300px;-}-.search_button-{-    margin-top:10px;-}--#tweet_searchbox-{-    margin-top:20px;-    float:left;-    margin-left:10px;-}--/* stuff for import/export instructions */-.pprofile_heading-{-    color:#888;-}--ol.howto { list-style-type:decimal;margin-top:10px; margin-bottom:20px;}-li.howto { list-style-type:decimal;margin-top:20px; }-tt { background:#ffa;font-family:verdana;color:#37d; }-li.import_instructons-{-    line-height:150%;-}-ol.download_instructions-{-    margin-top:10px;-}-    -/* ADMIN STUFF */-#searchbox fieldset-{   -    opacity:0.5;-    border:1px solid #ff4444;-    background:#ffccbb;-}-   -   -/* bulk edit box */-#bulk_edit_options-{-    display:none;-    margin-top:9px;-    width:650px;-}-- #bulk_edit_box - {-    display:block;-    color:#777;-    border:1px solid #aaa;-    background:#eee;-    padding:0px;-    margin:0px;- }- - #confirm- {-    display:none;-    background:#35a;-    padding:3px;-    color:white;width:650px;-    -}- #bulk_top_bar- {-    background:#ddd;-    height:20px;-    padding:3px 10px 0px 10px;-    border-bottom:1px solid #ccc-}--/* mobile device */-@media only screen and (max-width : 750px) {-    body { -        -webkit-text-size-adjust: none; -        font-size: 14px;-    }-    .display {-      float: none-    }-}--@media only screen and (max-width : 500px) {-    .filters {-      clear: both;-      position: relative;-      top: 2px;-    }-}+html {
+  box-sizing: border-box;
+  height: 102%;
+}
+*, *:before, *:after {
+  box-sizing: inherit;
+}
+body
+{
+  color:#333;
+  margin-left:20px;
+  font-size:13px;
+  font-family: helvetica, sans-serif;
+  word-wrap:break-word;
+  text-align:center;
+}
+
+button {
+    background:none;
+    border:none; 
+    padding:0;
+    cursor:pointer;
+}
+button:focus {
+    outline: none;
+}
+
+
+[hidden] {
+    display: none !important
+}
+
+label {
+    cursor: pointer;
+}
+blockquote 
+{ 
+    margin-left:20px;
+    margin-bottom:0px;
+    color:#247;
+}
+
+#content
+{ 
+    width: 100%;
+    max-width:1050px;
+    margin-left:auto;
+    margin-right:auto 
+
+}
+
+/* basic elements */
+td { font-size:13px; }
+p  { margin-top:2px;margin-bottom:12px }
+li { margin-bottom:10px }
+
+
+/* global link styling */
+a
+{ 
+    text-decoration:none;
+    color:#11a;
+}
+/* a:visited { color:inherit } */
+.edit { font-size:1em; }
+
+h1 
+{ 
+    font-size:2em;
+    font-family:helvetica;
+    font-weight:normal;
+    margin-top:10px;
+} 
+h2 { 
+    font-size:1.3em;
+    font-family:helvetica;
+    font-weight:normal;
+} 
+h3 { font-size:110%;background:#eaefff;} 
+h4 { font-size:100%;background:#dfc;} 
+
+code
+{
+  margin-left:20px;
+  color:#22a;
+  font-family:monaco;
+}
+
+
+/* BOOKMARK STYLING */
+.fetch_err
+{ 
+    font-size:80%;
+    color:red;
+    font-weight:bold;
+}
+.cached 
+{
+    color:#aaa;
+    font-size:1.2em;
+}
+.cached:visited {color:#aaa}
+.description
+ {
+    line-height:120%;
+    margin-top:2px;
+    color:#555;
+}
+.star
+{
+  color:#ccc;
+  margin-left:-20px;
+  font-size:1.3em;
+  cursor:pointer;
+  float:left; 
+}
+.star button { color: #ccc } 
+.selected_star { color:#22a; }
+.selected_star button { color:#22a; }
+.confirm 
+{ 
+    color:red;
+}
+.delete_link { display:inline; }
+.when {
+    font-size:90%;
+    width: 90px;
+    color:#777 !important;
+    display: inline-block;
+}
+.js-moment {
+    width: 105px;
+}
+.url_display:hover { color:#44d; }
+
+.source { color:#77c;}
+.tag {color:#a51;line-height:190%;}
+.bundle { color:#b40;font-weight:bold }
+.bundle { color:#a21;font-weight:bold }
+
+.tags { display: block; }
+.tags .tag {
+    margin-right: 5px;
+}
+
+#bundle_names a
+{
+    line-height:180%;
+}
+
+#bundle_names 
+{
+    margin-top:20px;
+}
+
+.delete { color:#aaa; display: inline; }
+.delete:visited { color:#aaa }
+.delete:hover { color:#44d; }
+
+.edit { color: #aaa }
+.edit:hover { color:#44d; }
+.edit:visited { color:#ccc }
+
+.destroy { color:red; }
+.destroy:visited { color:red; }
+
+.copy_link { color: #bbb }
+.copy_link:hover { color:#44d; }
+.copy_confirm { color:#aaa; }
+.faint {color:#aaa}
+
+.edit_links {
+    display:inline;
+}
+.read {
+    display:inline;
+}
+
+
+
+
+.url_link
+{
+    font-size:90%;color:#888;
+}
+.bookmark
+{ 
+  margin-bottom:1.3em;
+  padding:3px;
+  width:100%;
+  max-width:600px;
+  margin-left:0px;
+  border:0px solid red;
+  float:left;
+ }
+.bookmark_title { line-height:130%;font-size:110%; }
+.url_display
+{
+    color:#888;
+    font-size:0.9em;
+}
+.private a { padding:1px;border:0px;}
+.private { background:#ddd;border:1px solid #d1d1d1; }
+.unread { color:#b41 }
+.unread { color:#b41 }
+.has_bmark { color:#aaa }
+
+/* BOOKMARK LISTS */
+.list { color:#163; }
+.lists { color:#163; }
+
+/* ?? */
+.flash { color:green;background:#efe }
+
+/* MAIN BANNER AND NAV */
+#banner
+{
+  background:white;
+  color:black;
+  border-bottom:1px dotted #aaa;
+  margin-bottom:0.7em;
+  width:100%;
+  max-width:980px;
+  padding-bottom:9px;
+  text-align:left;
+}
+
+
+#banner a { color:#aaa; }
+#banner .admin { color:#e00 }
+#banner .banner_username { color:blue; }
+#espial_name { font-size:18px; }
+
+
+#logo { float:left;color:#aaa;}
+.logo {
+    margin-right: 1px;
+    font-size: 19px;
+    color: #402;
+}
+#top_menu 
+{ 
+    margin-top:6px;
+    float:right; 
+}
+#top_menu a { color:blue }
+
+
+/* user alert */
+.alert 
+{ 
+    color:#333;
+    background:#ced;
+    padding:10px;
+    width: 100%;
+    max-width:550px;
+    border:1px solid #acc; 
+}
+
+
+#login_box
+{
+  float:right;
+}
+
+
+/* BASIC PAGE STRUCTURE */
+#main_column
+{
+    width: 100%;
+    max-width:700px;
+    min-height:700px;
+    text-align:left;
+    float:left;
+    position:relative;
+    #border:1px solid #fa8;
+
+}
+
+#right_bar 
+{
+    float:left;
+    margin-left:10px;
+    text-align:left;
+    width:330px;
+    #border:1px solid #cfd;
+}
+
+
+.rss_linkbox
+{
+    float:right;
+    margin-right:30px;
+}
+
+.rss_link
+{
+    color:#ee9922;
+    font-size:0.8em;
+}
+
+.bookmark_count_box
+{
+    float:left;
+    min-width:50px;
+    padding-right:1.1em;
+}
+
+
+/* USER HOME PAGE */
+.user_navbar
+{
+    margin-bottom:0.7em;
+}
+
+.subscribe_link
+{
+    margin-left:30px;
+    float:left;
+    margin-right:8px;
+    color:#aac;
+}
+
+.unsubscribe_link
+{
+    margin-left:30px;float:left;
+    color:#caa;
+}
+
+.source_filter
+{
+    background:#ddf;
+    color:#555;
+}
+
+.edit_checkbox
+{
+  display:none;
+  float:left;
+  margin-left:-40px;
+  width:40px;
+}
+
+.tag_table
+{
+    float:left;
+    margin-right:10px;
+}
+
+
+/* howto page */
+.bookmarklet
+{ 
+    background:#ffe; 
+    border:1px dotted #aaa;
+    color:#444;
+    padding:1px 2px 0px 2px;
+    font-size:90%;
+}
+.heading { color:#555;}
+.homepage_heading { 
+    margin-top:25px;
+    margin-bottom:5px;
+    color:#338;
+    font-size:1em;
+}
+
+
+.error { color:red }
+
+.systag { color:#c41 }
+.next_prev { color:#777 }
+
+#bottom_next_prev { float:left; }
+
+ 
+ #star_operations
+ {
+  border:0px solid blue;width:300px;float:left;
+ }
+ 
+
+.selected_star
+{
+  color:#559;
+}
+
+
+
+.display { float:left }
+.unimplemented { color:#aaa }
+
+
+/* bulk and single edit form */
+#bulk_links p { line-height:0.7em; }
+
+.edit_bookmark_form
+{
+  border: 0px solid #aaa;
+  background:#fff;
+  width:500px;
+  padding:4px;
+  padding-left:10px;
+  float:left;
+  color:#888;
+}
+
+.edit_bookmark_form p
+{
+  line-height:100%;
+  margin-bottom:0px;
+  color:#888;
+}
+
+.edit_bookmark_form input
+{
+  font-size:90%;
+  border:1px solid #ddd;
+  margin-bottom:3px;
+}
+
+.edit_bookmark_form textarea
+{
+  font-size:90%;
+  border:1px solid #ddd;
+  margin-bottom:3px;
+}
+
+.edit_form_input 
+{
+    width:490px;
+    margin-top:10px;
+    font-size:12px;
+    background:#fff;
+    padding-top:3px;
+}
+#edit_form_checkboxes
+{
+    margin-top:10px;
+    margin-bottom:10px;
+}
+#edit_form_checkboxes label {
+    display: inline;
+}
+#edit_form_checkboxes input {
+    cursor: pointer;
+}
+#edit_form_suggested_tags
+{
+    margin-top:10px;
+    margin-bottom:18px;
+}
+
+.edit_bookmark_form .edit-button
+{
+    background-color: #eee;
+    cursor: pointer;
+}
+
+#tag_cloud
+{
+  float:left;
+  width:350px;
+  text-align:justify;
+  line-height:110%;
+  margin-top:20px;
+} 
+
+.bookmark_count { 
+  font-size:80%;
+  color:#aaa;
+ }
+ 
+ .tag_count {  font-size:90%;color: #aaa; }
+ 
+
+#years 
+{
+    border:1px solid orange;
+    float:left;
+}
+#years a
+{
+    color:#aaa;
+    font-size:8pt;
+
+}
+
+#bulk_links
+{
+  margin-bottom:20px;
+}
+ .mark_read { color:#a81}
+ 
+
+
+#active_users
+{
+  float:left;
+  margin-left:40px;
+}
+
+#related_tags
+{
+  width:250px;border:0px solid red;
+  }
+  
+#timer
+{
+  color:#bbb;float:right;font-size:10px;font-family:helvetica;margin-top:4px;
+}
+
+#footer
+{
+  margin-top:3em;color:#888;
+ }
+ 
+.help
+{
+  color:#2a2;background:#ffc}
+  
+  
+.tabs { background:#fff;padding:0px;margin-bottom:0px; }
+.tab_select
+{
+  float:left;
+  margin-right:10px;
+}
+
+
+.filter { color:#999}
+
+
+.disabled { color:#888;background:#ccc}
+
+.upgrade_header { 
+    font-size:1.4em;color:#666;
+    font-weight:bold;margin-top:30px;
+    margin-bottom:10px;background:#fff}
+    
+    
+    
+
+
+.twitter_user { color:#000099; }
+#em { font-weight:bold;color:#555;font-style:normal}
+
+
+
+.tweet_date { color:#aaa;font-size:90%;}
+.twitter_name { font-weight:bold; }
+.twitter_account { color:#66c}
+.outside_resource { color:blue;text-decoration:underline; }
+
+ 
+.selected {color:blue}
+
+.selected { background:#fafafa; }
+
+/* pagination and sort order links */
+#per_page_picker {color:#888;float:left;margin-left:90px;text-align:center; }
+#per_page_picker a {color:#aaa; }
+#per_page_picker .per_page_selected { background:#ff8;color:blue; }
+
+.pagination_select
+{
+    display:inline;
+   /* margin-right:30px; */
+}
+#sort_order_picker { display:inline; }
+#sort_order_picker .sort_order_selected { color:#888;}
+#sort_order_picker a { color:#ccc; }
+#sort_order_picker { color:#aaa; }
+.sort_arrow { font-size:15px;font-family:monaco }
+@-moz-document url-prefix() {
+   .sort_arrow { font-size:20px;}
+}
+
+
+#tag_cloud .tag_heading_selected { font-weight:bold;color:#333 }
+#tag_cloud table{ line-height:100%;}
+#tag_cloud_header a { color:#aaa; }
+
+ul.clean { list-style-type:none;padding-left:0px;}
+
+.small_username
+{
+    float:left;
+    padding-right:1em;
+}
+
+
+.twitter_account_title /* used on settings page */
+{
+    font-size:1.3em;color:#59d
+}
+
+.twitter_account_title /* used on settings page */
+{
+    color:#59d
+}
+
+/* tabs stuff */
+.help_box
+{
+    line-height:120%;
+    background:#ffe;
+    padding:10px;
+    border:1px solid #dba;
+}
+
+.window_title 
+{ 
+    font-weight:bold;
+    font-size:1.2em;
+    color:#555;
+    margin:0px;
+    margin-top:20px;
+    padding:0px; 
+    cursor:pointer;
+}
+/* tour page */
+h1.tour_heading
+{
+    font-size:2em;
+    font-family:helvetica;
+    font-weight:normal;
+    margin-top:10px;
+}
+h2.tour_heading
+{
+    font-size:1.5em;
+    font-family:helvetica;
+    font-weight:normal;
+    background:#fff;
+    margin-top:37px;
+    margin-bottom:20px;
+}
+
+
+/* SETTINGS PAGE */
+h2.settings_heading
+{
+    font-size:1.3em;
+    font-family:helvetica;
+    font-weight:normal;
+    background:#fff;
+    margin-top:7px;
+    margin-bottom:15px;
+}
+
+.email_secret
+{
+    color:#05a;
+    font-weight:bold;
+}
+
+#import_history_table
+{
+    float:left;
+    padding:5px;
+    border:1px solid #ccc;
+}
+
+.tab { 
+  float:left;
+  text-align:center;
+  padding-bottom:0.2em;
+  width:100px;
+  height:15px;
+   border-top:1px solid #ffc;
+   border-bottom:1px solid #aaa;
+}
+
+.tab_spacer
+{
+    float:left;
+    height:15px;
+    padding-bottom:0.2em;
+    width:98px;
+    border-top:1px solid  #fff;
+    border-bottom:1px solid #aaa;
+    color:#ffc;
+}
+
+.tab_selected { 
+    border:1px solid #aaa;
+    border-bottom:1px solid #eee ;
+    background:#eee }
+#tab_panes
+{
+  border:1px solid #aaa;
+  border-top:0px solid #fff;
+  padding:2em;
+  margin:0px;
+}
+
+
+/* UPGRADE PAGE */
+#upgrade_left_column
+{
+    width:400px;
+    float:left;
+}
+
+#upgrade_right_column
+{
+    margin-left:40px;
+    width:250px;
+    float:left;
+}
+.account_status_box
+{
+    padding:10px;border:1px solid #abd;
+}
+        
+/* USER ACCOUNT PAGE */
+#profile_main_column
+{
+    width:1200px;
+    float:left;
+    text-align:left;
+}
+
+#profile_left_column
+{
+    width:350px;
+    float:left;
+}
+
+#profile_right_column
+{
+    float:left;
+    margin-left:40px;
+    width:450px;
+}
+
+#profile_admin_column
+{
+    float:left;
+    width:300px;
+    font-size:11px;
+    text-align:left;
+    padding:5px;
+    height:800px;
+    background:#efe
+}
+
+.service_box
+{
+    float:left;
+    width:350px;
+    margin-bottom:20px;
+}
+   
+#name_string
+{
+    font-size:140%
+}
+
+#archival_column
+{
+    float:left;
+    width:300px;
+}
+
+
+.upgrade_link
+{
+    text-decoration:underline;
+    font-weight:bold;
+}
+
+
+
+
+
+/* signup */
+.signup_button
+{
+    text-align:center;
+    font-size:1.2em;
+    font-weight:bold;
+    color:#444;
+    background:#dfa;
+    border:1px solid #888;
+    border-radius:15px;
+    -moz-box-shadow: 1px 1px 1px #555;
+    -webkit-box-shadow: 1px 1px 1px #888;
+    box-shadow: 1px 1px 2px #888;
+    padding-left:0px;
+    padding-top:5px;
+    padding-bottom:2px;
+    width:230px;
+    height:20px;
+    margin-left:30px;
+    margin-top:50px;
+}
+
+
+/* NOTES */
+#note_tagbox
+{
+    margin-bottom:15px;
+    width:500px;
+    padding:4px;
+    background:#ffc;
+    border:1px dotted orange;
+}
+#note_right_column
+{
+    text-align:left;
+    width:250px;
+    float:left;
+}
+blockquote.note
+{
+    margin-left:0px;
+    width:490px;
+    line-height:130%;
+    font-family:verdana
+}
+.note_last_updated
+{
+    color:#ca4;
+    font-size:0.9em
+}
+
+.notes_pagination
+{
+    margin-bottom:20px;
+    margin-top:10px;
+}
+
+
+/* PUBLIC PROFILE */
+input.profile_input
+{
+    width:350px;
+}
+textarea.profile_input
+{
+    width:350px;
+    height:140px;
+}
+
+#public_edit_right_column
+{
+    margin-top:20px;
+    text-align:left;
+}
+
+.public_name_value
+{
+    font-size:18pt;
+    color:#555;
+}
+
+#public_profile_left_column
+{
+    float:left;
+    text-align:left;
+    min-height:700px;
+    width:380px;
+    margin-right:20px;
+}
+#public_profile_left_column h2
+{
+    margin-top:10px;
+}
+#public_profile_left_column .username
+{
+    color:blue;
+}
+#public_profile_subscribe_div
+{
+    margin-bottom:10px;
+    color:#888;
+}
+#public_profile_attributes td
+{
+    vertical-align:top;
+}
+#public_profile_tag_cloud
+{
+    float:left;
+    width:300px;
+    text-align:left;
+}
+
+#public_profile_searchbox
+{
+    margin-left:30px;
+    margin-top:10px;
+    text-align:left;
+    float:left;
+}
+
+/* SEARCH PAGE */
+#search_right_bar 
+{
+    float:left;
+    margin-left:10px;
+    text-align:left;
+    width:300px;
+}
+.search_button
+{
+    margin-top:10px;
+}
+
+#tweet_searchbox
+{
+    margin-top:20px;
+    float:left;
+    margin-left:10px;
+}
+
+/* stuff for import/export instructions */
+.pprofile_heading
+{
+    color:#888;
+}
+
+ol.howto { list-style-type:decimal;margin-top:10px; margin-bottom:20px;}
+li.howto { list-style-type:decimal;margin-top:20px; }
+tt { background:#ffa;font-family:verdana;color:#37d; }
+li.import_instructons
+{
+    line-height:150%;
+}
+ol.download_instructions
+{
+    margin-top:10px;
+}
+    
+/* ADMIN STUFF */
+#searchbox fieldset
+{   
+    opacity:0.5;
+    border:1px solid #ff4444;
+    background:#ffccbb;
+}
+   
+   
+/* bulk edit box */
+#bulk_edit_options
+{
+    display:none;
+    margin-top:9px;
+    width:650px;
+}
+
+ #bulk_edit_box 
+ {
+    display:block;
+    color:#777;
+    border:1px solid #aaa;
+    background:#eee;
+    padding:0px;
+    margin:0px;
+ }
+ 
+ #confirm
+ {
+    display:none;
+    background:#35a;
+    padding:3px;
+    color:white;width:650px;
+    
+}
+ #bulk_top_bar
+ {
+    background:#ddd;
+    height:20px;
+    padding:3px 10px 0px 10px;
+    border-bottom:1px solid #ccc
+}
+
+/* mobile device */
+@media only screen and (max-width : 750px) {
+    body { 
+        -webkit-text-size-adjust: none; 
+        font-size: 14px;
+    }
+    .display {
+      float: none
+    }
+}
+
+@media only screen and (max-width : 500px) {
+    .filters {
+      clear: both;
+      position: relative;
+      top: 2px;
+    }
+}
static/css/popup.css view
@@ -1,23 +1,7 @@ html {   box-sizing: border-box; }-*, *:before, *:after {-  box-sizing: inherit;-}-[hidden] {-    display: none !important-}-#popup_header-	{-	  color:#aaa;-	  height:25px;-	}-	.error { color:red}-	.login { color:blue }-	#logout { float:right; }-	.alert { margin-left:20px;color:#333;background:#ced;float:left;padding:3px;padding-top:1px;width:300px;border:1px solid #acc; }-#title { float:left ;padding-top:2px; }-	body+body {   color:#333;   font-family:helvetica;@@ -25,6 +9,30 @@   margin-left:20px; } +*, *:before, *:after {+  box-sizing: inherit;+}+[hidden] {+    display: none !important+}+button {+    background:none;+    border:none; +    padding:0;+    cursor:pointer;+}+button:focus {+    outline: none;+}+#popup_header {+  color:#aaa;+  height:25px;+}+.error { color:red}+.login { color:blue }+#logout { float:right; }+.alert { color:#333;background:#ced;float:left;padding:3px;padding-top:1px;width:433px;border:1px solid #acc; }+#title { float:left ;padding-top:2px; } form label { display: block; margin-bottom: 10px; } li { list-style-type: none; margin: 0; padding: 0; display: block;}  section,footer,header { display: block; }@@ -59,3 +67,6 @@ label {     cursor: pointer; }++.destroy { color:red; }+.destroy:visited { color:red; }
+ static/css/tachyons.min.css view
@@ -0,0 +1,3 @@+/*! TACHYONS v4.10.0 | http://tachyons.io */+/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}.border-box,a,article,aside,blockquote,body,code,dd,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],legend,li,main,nav,ol,p,pre,section,table,td,textarea,th,tr,ul{box-sizing:border-box}.aspect-ratio{height:0;position:relative}.aspect-ratio--16x9{padding-bottom:56.25%}.aspect-ratio--9x16{padding-bottom:177.77%}.aspect-ratio--4x3{padding-bottom:75%}.aspect-ratio--3x4{padding-bottom:133.33%}.aspect-ratio--6x4{padding-bottom:66.6%}.aspect-ratio--4x6{padding-bottom:150%}.aspect-ratio--8x5{padding-bottom:62.5%}.aspect-ratio--5x8{padding-bottom:160%}.aspect-ratio--7x5{padding-bottom:71.42%}.aspect-ratio--5x7{padding-bottom:140%}.aspect-ratio--1x1{padding-bottom:100%}.aspect-ratio--object{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}img{max-width:100%}.cover{background-size:cover!important}.contain{background-size:contain!important}.bg-center{background-position:50%}.bg-center,.bg-top{background-repeat:no-repeat}.bg-top{background-position:top}.bg-right{background-position:100%}.bg-bottom,.bg-right{background-repeat:no-repeat}.bg-bottom{background-position:bottom}.bg-left{background-repeat:no-repeat;background-position:0}.outline{outline:1px solid}.outline-transparent{outline:1px solid transparent}.outline-0{outline:0}.ba{border-style:solid;border-width:1px}.bt{border-top-style:solid;border-top-width:1px}.br{border-right-style:solid;border-right-width:1px}.bb{border-bottom-style:solid;border-bottom-width:1px}.bl{border-left-style:solid;border-left-width:1px}.bn{border-style:none;border-width:0}.b--black{border-color:#000}.b--near-black{border-color:#111}.b--dark-gray{border-color:#333}.b--mid-gray{border-color:#555}.b--gray{border-color:#777}.b--silver{border-color:#999}.b--light-silver{border-color:#aaa}.b--moon-gray{border-color:#ccc}.b--light-gray{border-color:#eee}.b--near-white{border-color:#f4f4f4}.b--white{border-color:#fff}.b--white-90{border-color:hsla(0,0%,100%,.9)}.b--white-80{border-color:hsla(0,0%,100%,.8)}.b--white-70{border-color:hsla(0,0%,100%,.7)}.b--white-60{border-color:hsla(0,0%,100%,.6)}.b--white-50{border-color:hsla(0,0%,100%,.5)}.b--white-40{border-color:hsla(0,0%,100%,.4)}.b--white-30{border-color:hsla(0,0%,100%,.3)}.b--white-20{border-color:hsla(0,0%,100%,.2)}.b--white-10{border-color:hsla(0,0%,100%,.1)}.b--white-05{border-color:hsla(0,0%,100%,.05)}.b--white-025{border-color:hsla(0,0%,100%,.025)}.b--white-0125{border-color:hsla(0,0%,100%,.0125)}.b--black-90{border-color:rgba(0,0,0,.9)}.b--black-80{border-color:rgba(0,0,0,.8)}.b--black-70{border-color:rgba(0,0,0,.7)}.b--black-60{border-color:rgba(0,0,0,.6)}.b--black-50{border-color:rgba(0,0,0,.5)}.b--black-40{border-color:rgba(0,0,0,.4)}.b--black-30{border-color:rgba(0,0,0,.3)}.b--black-20{border-color:rgba(0,0,0,.2)}.b--black-10{border-color:rgba(0,0,0,.1)}.b--black-05{border-color:rgba(0,0,0,.05)}.b--black-025{border-color:rgba(0,0,0,.025)}.b--black-0125{border-color:rgba(0,0,0,.0125)}.b--dark-red{border-color:#e7040f}.b--red{border-color:#ff4136}.b--light-red{border-color:#ff725c}.b--orange{border-color:#ff6300}.b--gold{border-color:#ffb700}.b--yellow{border-color:gold}.b--light-yellow{border-color:#fbf1a9}.b--purple{border-color:#5e2ca5}.b--light-purple{border-color:#a463f2}.b--dark-pink{border-color:#d5008f}.b--hot-pink{border-color:#ff41b4}.b--pink{border-color:#ff80cc}.b--light-pink{border-color:#ffa3d7}.b--dark-green{border-color:#137752}.b--green{border-color:#19a974}.b--light-green{border-color:#9eebcf}.b--navy{border-color:#001b44}.b--dark-blue{border-color:#00449e}.b--blue{border-color:#357edd}.b--light-blue{border-color:#96ccff}.b--lightest-blue{border-color:#cdecff}.b--washed-blue{border-color:#f6fffe}.b--washed-green{border-color:#e8fdf5}.b--washed-yellow{border-color:#fffceb}.b--washed-red{border-color:#ffdfdf}.b--transparent{border-color:transparent}.b--inherit{border-color:inherit}.br0{border-radius:0}.br1{border-radius:.125rem}.br2{border-radius:.25rem}.br3{border-radius:.5rem}.br4{border-radius:1rem}.br-100{border-radius:100%}.br-pill{border-radius:9999px}.br--bottom{border-top-left-radius:0;border-top-right-radius:0}.br--top{border-bottom-right-radius:0}.br--right,.br--top{border-bottom-left-radius:0}.br--right{border-top-left-radius:0}.br--left{border-top-right-radius:0;border-bottom-right-radius:0}.b--dotted{border-style:dotted}.b--dashed{border-style:dashed}.b--solid{border-style:solid}.b--none{border-style:none}.bw0{border-width:0}.bw1{border-width:.125rem}.bw2{border-width:.25rem}.bw3{border-width:.5rem}.bw4{border-width:1rem}.bw5{border-width:2rem}.bt-0{border-top-width:0}.br-0{border-right-width:0}.bb-0{border-bottom-width:0}.bl-0{border-left-width:0}.shadow-1{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:1rem}.right-1{right:1rem}.bottom-1{bottom:1rem}.left-1{left:1rem}.top-2{top:2rem}.right-2{right:2rem}.bottom-2{bottom:2rem}.left-2{left:2rem}.top--1{top:-1rem}.right--1{right:-1rem}.bottom--1{bottom:-1rem}.left--1{left:-1rem}.top--2{top:-2rem}.right--2{right:-2rem}.bottom--2{bottom:-2rem}.left--2{left:-2rem}.absolute--fill{top:0;right:0;bottom:0;left:0}.cf:after,.cf:before{content:" ";display:table}.cf:after{clear:both}.cf{*zoom:1}.cl{clear:left}.cr{clear:right}.cb{clear:both}.cn{clear:none}.dn{display:none}.di{display:inline}.db{display:block}.dib{display:inline-block}.dit{display:inline-table}.dt{display:table}.dtc{display:table-cell}.dt-row{display:table-row}.dt-row-group{display:table-row-group}.dt-column{display:table-column}.dt-column-group{display:table-column-group}.dt--fixed{table-layout:fixed;width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.flex-auto{flex:1 1 auto;min-width:0;min-height:0}.flex-none{flex:none}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-row-reverse{flex-direction:row-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-stretch{align-content:stretch}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-last{order:99999}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.fl{float:left}.fl,.fr{_display:inline}.fr{float:right}.fn{float:none}.sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.serif{font-family:georgia,times,serif}.system-sans-serif{font-family:sans-serif}.system-serif{font-family:serif}.code,code{font-family:Consolas,monaco,monospace}.courier{font-family:Courier Next,courier,monospace}.helvetica{font-family:helvetica neue,helvetica,sans-serif}.avenir{font-family:avenir next,avenir,sans-serif}.athelas{font-family:athelas,georgia,serif}.georgia{font-family:georgia,serif}.times{font-family:times,serif}.bodoni{font-family:Bodoni MT,serif}.calisto{font-family:Calisto MT,serif}.garamond{font-family:garamond,serif}.baskerville{font-family:baskerville,serif}.i{font-style:italic}.fs-normal{font-style:normal}.normal{font-weight:400}.b{font-weight:700}.fw1{font-weight:100}.fw2{font-weight:200}.fw3{font-weight:300}.fw4{font-weight:400}.fw5{font-weight:500}.fw6{font-weight:600}.fw7{font-weight:700}.fw8{font-weight:800}.fw9{font-weight:900}.input-reset{-webkit-appearance:none;-moz-appearance:none}.button-reset::-moz-focus-inner,.input-reset::-moz-focus-inner{border:0;padding:0}.h1{height:1rem}.h2{height:2rem}.h3{height:4rem}.h4{height:8rem}.h5{height:16rem}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.min-h-100{min-height:100%}.vh-25{height:25vh}.vh-50{height:50vh}.vh-75{height:75vh}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.h-auto{height:auto}.h-inherit{height:inherit}.tracked{letter-spacing:.1em}.tracked-tight{letter-spacing:-.05em}.tracked-mega{letter-spacing:.25em}.lh-solid{line-height:1}.lh-title{line-height:1.25}.lh-copy{line-height:1.5}.link{text-decoration:none}.link,.link:active,.link:focus,.link:hover,.link:link,.link:visited{transition:color .15s ease-in}.link:focus{outline:1px dotted currentColor}.list{list-style-type:none}.mw-100{max-width:100%}.mw1{max-width:1rem}.mw2{max-width:2rem}.mw3{max-width:4rem}.mw4{max-width:8rem}.mw5{max-width:16rem}.mw6{max-width:32rem}.mw7{max-width:48rem}.mw8{max-width:64rem}.mw9{max-width:96rem}.mw-none{max-width:none}.w1{width:1rem}.w2{width:2rem}.w3{width:4rem}.w4{width:8rem}.w5{width:16rem}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-33{width:33%}.w-34{width:34%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.w-third{width:33.33333%}.w-two-thirds{width:66.66667%}.w-auto{width:auto}.overflow-visible{overflow:visible}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.overflow-x-visible{overflow-x:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-visible{overflow-y:visible}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.overflow-y-auto{overflow-y:auto}.static{position:static}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.o-100{opacity:1}.o-90{opacity:.9}.o-80{opacity:.8}.o-70{opacity:.7}.o-60{opacity:.6}.o-50{opacity:.5}.o-40{opacity:.4}.o-30{opacity:.3}.o-20{opacity:.2}.o-10{opacity:.1}.o-05{opacity:.05}.o-025{opacity:.025}.o-0{opacity:0}.rotate-45{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.black-90{color:rgba(0,0,0,.9)}.black-80{color:rgba(0,0,0,.8)}.black-70{color:rgba(0,0,0,.7)}.black-60{color:rgba(0,0,0,.6)}.black-50{color:rgba(0,0,0,.5)}.black-40{color:rgba(0,0,0,.4)}.black-30{color:rgba(0,0,0,.3)}.black-20{color:rgba(0,0,0,.2)}.black-10{color:rgba(0,0,0,.1)}.black-05{color:rgba(0,0,0,.05)}.white-90{color:hsla(0,0%,100%,.9)}.white-80{color:hsla(0,0%,100%,.8)}.white-70{color:hsla(0,0%,100%,.7)}.white-60{color:hsla(0,0%,100%,.6)}.white-50{color:hsla(0,0%,100%,.5)}.white-40{color:hsla(0,0%,100%,.4)}.white-30{color:hsla(0,0%,100%,.3)}.white-20{color:hsla(0,0%,100%,.2)}.white-10{color:hsla(0,0%,100%,.1)}.black{color:#000}.near-black{color:#111}.dark-gray{color:#333}.mid-gray{color:#555}.gray{color:#777}.silver{color:#999}.light-silver{color:#aaa}.moon-gray{color:#ccc}.light-gray{color:#eee}.near-white{color:#f4f4f4}.white{color:#fff}.dark-red{color:#e7040f}.red{color:#ff4136}.light-red{color:#ff725c}.orange{color:#ff6300}.gold{color:#ffb700}.yellow{color:gold}.light-yellow{color:#fbf1a9}.purple{color:#5e2ca5}.light-purple{color:#a463f2}.dark-pink{color:#d5008f}.hot-pink{color:#ff41b4}.pink{color:#ff80cc}.light-pink{color:#ffa3d7}.dark-green{color:#137752}.green{color:#19a974}.light-green{color:#9eebcf}.navy{color:#001b44}.dark-blue{color:#00449e}.blue{color:#357edd}.light-blue{color:#96ccff}.lightest-blue{color:#cdecff}.washed-blue{color:#f6fffe}.washed-green{color:#e8fdf5}.washed-yellow{color:#fffceb}.washed-red{color:#ffdfdf}.color-inherit{color:inherit}.bg-black-90{background-color:rgba(0,0,0,.9)}.bg-black-80{background-color:rgba(0,0,0,.8)}.bg-black-70{background-color:rgba(0,0,0,.7)}.bg-black-60{background-color:rgba(0,0,0,.6)}.bg-black-50{background-color:rgba(0,0,0,.5)}.bg-black-40{background-color:rgba(0,0,0,.4)}.bg-black-30{background-color:rgba(0,0,0,.3)}.bg-black-20{background-color:rgba(0,0,0,.2)}.bg-black-10{background-color:rgba(0,0,0,.1)}.bg-black-05{background-color:rgba(0,0,0,.05)}.bg-white-90{background-color:hsla(0,0%,100%,.9)}.bg-white-80{background-color:hsla(0,0%,100%,.8)}.bg-white-70{background-color:hsla(0,0%,100%,.7)}.bg-white-60{background-color:hsla(0,0%,100%,.6)}.bg-white-50{background-color:hsla(0,0%,100%,.5)}.bg-white-40{background-color:hsla(0,0%,100%,.4)}.bg-white-30{background-color:hsla(0,0%,100%,.3)}.bg-white-20{background-color:hsla(0,0%,100%,.2)}.bg-white-10{background-color:hsla(0,0%,100%,.1)}.bg-black{background-color:#000}.bg-near-black{background-color:#111}.bg-dark-gray{background-color:#333}.bg-mid-gray{background-color:#555}.bg-gray{background-color:#777}.bg-silver{background-color:#999}.bg-light-silver{background-color:#aaa}.bg-moon-gray{background-color:#ccc}.bg-light-gray{background-color:#eee}.bg-near-white{background-color:#f4f4f4}.bg-white{background-color:#fff}.bg-transparent{background-color:transparent}.bg-dark-red{background-color:#e7040f}.bg-red{background-color:#ff4136}.bg-light-red{background-color:#ff725c}.bg-orange{background-color:#ff6300}.bg-gold{background-color:#ffb700}.bg-yellow{background-color:gold}.bg-light-yellow{background-color:#fbf1a9}.bg-purple{background-color:#5e2ca5}.bg-light-purple{background-color:#a463f2}.bg-dark-pink{background-color:#d5008f}.bg-hot-pink{background-color:#ff41b4}.bg-pink{background-color:#ff80cc}.bg-light-pink{background-color:#ffa3d7}.bg-dark-green{background-color:#137752}.bg-green{background-color:#19a974}.bg-light-green{background-color:#9eebcf}.bg-navy{background-color:#001b44}.bg-dark-blue{background-color:#00449e}.bg-blue{background-color:#357edd}.bg-light-blue{background-color:#96ccff}.bg-lightest-blue{background-color:#cdecff}.bg-washed-blue{background-color:#f6fffe}.bg-washed-green{background-color:#e8fdf5}.bg-washed-yellow{background-color:#fffceb}.bg-washed-red{background-color:#ffdfdf}.bg-inherit{background-color:inherit}.hover-black:focus,.hover-black:hover{color:#000}.hover-near-black:focus,.hover-near-black:hover{color:#111}.hover-dark-gray:focus,.hover-dark-gray:hover{color:#333}.hover-mid-gray:focus,.hover-mid-gray:hover{color:#555}.hover-gray:focus,.hover-gray:hover{color:#777}.hover-silver:focus,.hover-silver:hover{color:#999}.hover-light-silver:focus,.hover-light-silver:hover{color:#aaa}.hover-moon-gray:focus,.hover-moon-gray:hover{color:#ccc}.hover-light-gray:focus,.hover-light-gray:hover{color:#eee}.hover-near-white:focus,.hover-near-white:hover{color:#f4f4f4}.hover-white:focus,.hover-white:hover{color:#fff}.hover-black-90:focus,.hover-black-90:hover{color:rgba(0,0,0,.9)}.hover-black-80:focus,.hover-black-80:hover{color:rgba(0,0,0,.8)}.hover-black-70:focus,.hover-black-70:hover{color:rgba(0,0,0,.7)}.hover-black-60:focus,.hover-black-60:hover{color:rgba(0,0,0,.6)}.hover-black-50:focus,.hover-black-50:hover{color:rgba(0,0,0,.5)}.hover-black-40:focus,.hover-black-40:hover{color:rgba(0,0,0,.4)}.hover-black-30:focus,.hover-black-30:hover{color:rgba(0,0,0,.3)}.hover-black-20:focus,.hover-black-20:hover{color:rgba(0,0,0,.2)}.hover-black-10:focus,.hover-black-10:hover{color:rgba(0,0,0,.1)}.hover-white-90:focus,.hover-white-90:hover{color:hsla(0,0%,100%,.9)}.hover-white-80:focus,.hover-white-80:hover{color:hsla(0,0%,100%,.8)}.hover-white-70:focus,.hover-white-70:hover{color:hsla(0,0%,100%,.7)}.hover-white-60:focus,.hover-white-60:hover{color:hsla(0,0%,100%,.6)}.hover-white-50:focus,.hover-white-50:hover{color:hsla(0,0%,100%,.5)}.hover-white-40:focus,.hover-white-40:hover{color:hsla(0,0%,100%,.4)}.hover-white-30:focus,.hover-white-30:hover{color:hsla(0,0%,100%,.3)}.hover-white-20:focus,.hover-white-20:hover{color:hsla(0,0%,100%,.2)}.hover-white-10:focus,.hover-white-10:hover{color:hsla(0,0%,100%,.1)}.hover-inherit:focus,.hover-inherit:hover{color:inherit}.hover-bg-black:focus,.hover-bg-black:hover{background-color:#000}.hover-bg-near-black:focus,.hover-bg-near-black:hover{background-color:#111}.hover-bg-dark-gray:focus,.hover-bg-dark-gray:hover{background-color:#333}.hover-bg-mid-gray:focus,.hover-bg-mid-gray:hover{background-color:#555}.hover-bg-gray:focus,.hover-bg-gray:hover{background-color:#777}.hover-bg-silver:focus,.hover-bg-silver:hover{background-color:#999}.hover-bg-light-silver:focus,.hover-bg-light-silver:hover{background-color:#aaa}.hover-bg-moon-gray:focus,.hover-bg-moon-gray:hover{background-color:#ccc}.hover-bg-light-gray:focus,.hover-bg-light-gray:hover{background-color:#eee}.hover-bg-near-white:focus,.hover-bg-near-white:hover{background-color:#f4f4f4}.hover-bg-white:focus,.hover-bg-white:hover{background-color:#fff}.hover-bg-transparent:focus,.hover-bg-transparent:hover{background-color:transparent}.hover-bg-black-90:focus,.hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.hover-bg-black-80:focus,.hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.hover-bg-black-70:focus,.hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.hover-bg-black-60:focus,.hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.hover-bg-black-50:focus,.hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.hover-bg-black-40:focus,.hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.hover-bg-black-30:focus,.hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.hover-bg-black-20:focus,.hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.hover-bg-black-10:focus,.hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.hover-bg-white-90:focus,.hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.hover-bg-white-80:focus,.hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.hover-bg-white-70:focus,.hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.hover-bg-white-60:focus,.hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.hover-bg-white-50:focus,.hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.hover-bg-white-40:focus,.hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.hover-bg-white-30:focus,.hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.hover-bg-white-20:focus,.hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.hover-bg-white-10:focus,.hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.hover-dark-red:focus,.hover-dark-red:hover{color:#e7040f}.hover-red:focus,.hover-red:hover{color:#ff4136}.hover-light-red:focus,.hover-light-red:hover{color:#ff725c}.hover-orange:focus,.hover-orange:hover{color:#ff6300}.hover-gold:focus,.hover-gold:hover{color:#ffb700}.hover-yellow:focus,.hover-yellow:hover{color:gold}.hover-light-yellow:focus,.hover-light-yellow:hover{color:#fbf1a9}.hover-purple:focus,.hover-purple:hover{color:#5e2ca5}.hover-light-purple:focus,.hover-light-purple:hover{color:#a463f2}.hover-dark-pink:focus,.hover-dark-pink:hover{color:#d5008f}.hover-hot-pink:focus,.hover-hot-pink:hover{color:#ff41b4}.hover-pink:focus,.hover-pink:hover{color:#ff80cc}.hover-light-pink:focus,.hover-light-pink:hover{color:#ffa3d7}.hover-dark-green:focus,.hover-dark-green:hover{color:#137752}.hover-green:focus,.hover-green:hover{color:#19a974}.hover-light-green:focus,.hover-light-green:hover{color:#9eebcf}.hover-navy:focus,.hover-navy:hover{color:#001b44}.hover-dark-blue:focus,.hover-dark-blue:hover{color:#00449e}.hover-blue:focus,.hover-blue:hover{color:#357edd}.hover-light-blue:focus,.hover-light-blue:hover{color:#96ccff}.hover-lightest-blue:focus,.hover-lightest-blue:hover{color:#cdecff}.hover-washed-blue:focus,.hover-washed-blue:hover{color:#f6fffe}.hover-washed-green:focus,.hover-washed-green:hover{color:#e8fdf5}.hover-washed-yellow:focus,.hover-washed-yellow:hover{color:#fffceb}.hover-washed-red:focus,.hover-washed-red:hover{color:#ffdfdf}.hover-bg-dark-red:focus,.hover-bg-dark-red:hover{background-color:#e7040f}.hover-bg-red:focus,.hover-bg-red:hover{background-color:#ff4136}.hover-bg-light-red:focus,.hover-bg-light-red:hover{background-color:#ff725c}.hover-bg-orange:focus,.hover-bg-orange:hover{background-color:#ff6300}.hover-bg-gold:focus,.hover-bg-gold:hover{background-color:#ffb700}.hover-bg-yellow:focus,.hover-bg-yellow:hover{background-color:gold}.hover-bg-light-yellow:focus,.hover-bg-light-yellow:hover{background-color:#fbf1a9}.hover-bg-purple:focus,.hover-bg-purple:hover{background-color:#5e2ca5}.hover-bg-light-purple:focus,.hover-bg-light-purple:hover{background-color:#a463f2}.hover-bg-dark-pink:focus,.hover-bg-dark-pink:hover{background-color:#d5008f}.hover-bg-hot-pink:focus,.hover-bg-hot-pink:hover{background-color:#ff41b4}.hover-bg-pink:focus,.hover-bg-pink:hover{background-color:#ff80cc}.hover-bg-light-pink:focus,.hover-bg-light-pink:hover{background-color:#ffa3d7}.hover-bg-dark-green:focus,.hover-bg-dark-green:hover{background-color:#137752}.hover-bg-green:focus,.hover-bg-green:hover{background-color:#19a974}.hover-bg-light-green:focus,.hover-bg-light-green:hover{background-color:#9eebcf}.hover-bg-navy:focus,.hover-bg-navy:hover{background-color:#001b44}.hover-bg-dark-blue:focus,.hover-bg-dark-blue:hover{background-color:#00449e}.hover-bg-blue:focus,.hover-bg-blue:hover{background-color:#357edd}.hover-bg-light-blue:focus,.hover-bg-light-blue:hover{background-color:#96ccff}.hover-bg-lightest-blue:focus,.hover-bg-lightest-blue:hover{background-color:#cdecff}.hover-bg-washed-blue:focus,.hover-bg-washed-blue:hover{background-color:#f6fffe}.hover-bg-washed-green:focus,.hover-bg-washed-green:hover{background-color:#e8fdf5}.hover-bg-washed-yellow:focus,.hover-bg-washed-yellow:hover{background-color:#fffceb}.hover-bg-washed-red:focus,.hover-bg-washed-red:hover{background-color:#ffdfdf}.hover-bg-inherit:focus,.hover-bg-inherit:hover{background-color:inherit}.pa0{padding:0}.pa1{padding:.25rem}.pa2{padding:.5rem}.pa3{padding:1rem}.pa4{padding:2rem}.pa5{padding:4rem}.pa6{padding:8rem}.pa7{padding:16rem}.pl0{padding-left:0}.pl1{padding-left:.25rem}.pl2{padding-left:.5rem}.pl3{padding-left:1rem}.pl4{padding-left:2rem}.pl5{padding-left:4rem}.pl6{padding-left:8rem}.pl7{padding-left:16rem}.pr0{padding-right:0}.pr1{padding-right:.25rem}.pr2{padding-right:.5rem}.pr3{padding-right:1rem}.pr4{padding-right:2rem}.pr5{padding-right:4rem}.pr6{padding-right:8rem}.pr7{padding-right:16rem}.pb0{padding-bottom:0}.pb1{padding-bottom:.25rem}.pb2{padding-bottom:.5rem}.pb3{padding-bottom:1rem}.pb4{padding-bottom:2rem}.pb5{padding-bottom:4rem}.pb6{padding-bottom:8rem}.pb7{padding-bottom:16rem}.pt0{padding-top:0}.pt1{padding-top:.25rem}.pt2{padding-top:.5rem}.pt3{padding-top:1rem}.pt4{padding-top:2rem}.pt5{padding-top:4rem}.pt6{padding-top:8rem}.pt7{padding-top:16rem}.pv0{padding-top:0;padding-bottom:0}.pv1{padding-top:.25rem;padding-bottom:.25rem}.pv2{padding-top:.5rem;padding-bottom:.5rem}.pv3{padding-top:1rem;padding-bottom:1rem}.pv4{padding-top:2rem;padding-bottom:2rem}.pv5{padding-top:4rem;padding-bottom:4rem}.pv6{padding-top:8rem;padding-bottom:8rem}.pv7{padding-top:16rem;padding-bottom:16rem}.ph0{padding-left:0;padding-right:0}.ph1{padding-left:.25rem;padding-right:.25rem}.ph2{padding-left:.5rem;padding-right:.5rem}.ph3{padding-left:1rem;padding-right:1rem}.ph4{padding-left:2rem;padding-right:2rem}.ph5{padding-left:4rem;padding-right:4rem}.ph6{padding-left:8rem;padding-right:8rem}.ph7{padding-left:16rem;padding-right:16rem}.ma0{margin:0}.ma1{margin:.25rem}.ma2{margin:.5rem}.ma3{margin:1rem}.ma4{margin:2rem}.ma5{margin:4rem}.ma6{margin:8rem}.ma7{margin:16rem}.ml0{margin-left:0}.ml1{margin-left:.25rem}.ml2{margin-left:.5rem}.ml3{margin-left:1rem}.ml4{margin-left:2rem}.ml5{margin-left:4rem}.ml6{margin-left:8rem}.ml7{margin-left:16rem}.mr0{margin-right:0}.mr1{margin-right:.25rem}.mr2{margin-right:.5rem}.mr3{margin-right:1rem}.mr4{margin-right:2rem}.mr5{margin-right:4rem}.mr6{margin-right:8rem}.mr7{margin-right:16rem}.mb0{margin-bottom:0}.mb1{margin-bottom:.25rem}.mb2{margin-bottom:.5rem}.mb3{margin-bottom:1rem}.mb4{margin-bottom:2rem}.mb5{margin-bottom:4rem}.mb6{margin-bottom:8rem}.mb7{margin-bottom:16rem}.mt0{margin-top:0}.mt1{margin-top:.25rem}.mt2{margin-top:.5rem}.mt3{margin-top:1rem}.mt4{margin-top:2rem}.mt5{margin-top:4rem}.mt6{margin-top:8rem}.mt7{margin-top:16rem}.mv0{margin-top:0;margin-bottom:0}.mv1{margin-top:.25rem;margin-bottom:.25rem}.mv2{margin-top:.5rem;margin-bottom:.5rem}.mv3{margin-top:1rem;margin-bottom:1rem}.mv4{margin-top:2rem;margin-bottom:2rem}.mv5{margin-top:4rem;margin-bottom:4rem}.mv6{margin-top:8rem;margin-bottom:8rem}.mv7{margin-top:16rem;margin-bottom:16rem}.mh0{margin-left:0;margin-right:0}.mh1{margin-left:.25rem;margin-right:.25rem}.mh2{margin-left:.5rem;margin-right:.5rem}.mh3{margin-left:1rem;margin-right:1rem}.mh4{margin-left:2rem;margin-right:2rem}.mh5{margin-left:4rem;margin-right:4rem}.mh6{margin-left:8rem;margin-right:8rem}.mh7{margin-left:16rem;margin-right:16rem}.na1{margin:-.25rem}.na2{margin:-.5rem}.na3{margin:-1rem}.na4{margin:-2rem}.na5{margin:-4rem}.na6{margin:-8rem}.na7{margin:-16rem}.nl1{margin-left:-.25rem}.nl2{margin-left:-.5rem}.nl3{margin-left:-1rem}.nl4{margin-left:-2rem}.nl5{margin-left:-4rem}.nl6{margin-left:-8rem}.nl7{margin-left:-16rem}.nr1{margin-right:-.25rem}.nr2{margin-right:-.5rem}.nr3{margin-right:-1rem}.nr4{margin-right:-2rem}.nr5{margin-right:-4rem}.nr6{margin-right:-8rem}.nr7{margin-right:-16rem}.nb1{margin-bottom:-.25rem}.nb2{margin-bottom:-.5rem}.nb3{margin-bottom:-1rem}.nb4{margin-bottom:-2rem}.nb5{margin-bottom:-4rem}.nb6{margin-bottom:-8rem}.nb7{margin-bottom:-16rem}.nt1{margin-top:-.25rem}.nt2{margin-top:-.5rem}.nt3{margin-top:-1rem}.nt4{margin-top:-2rem}.nt5{margin-top:-4rem}.nt6{margin-top:-8rem}.nt7{margin-top:-16rem}.collapse{border-collapse:collapse;border-spacing:0}.striped--light-silver:nth-child(odd){background-color:#aaa}.striped--moon-gray:nth-child(odd){background-color:#ccc}.striped--light-gray:nth-child(odd){background-color:#eee}.striped--near-white:nth-child(odd){background-color:#f4f4f4}.stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.strike{text-decoration:line-through}.underline{text-decoration:underline}.no-underline{text-decoration:none}.tl{text-align:left}.tr{text-align:right}.tc{text-align:center}.tj{text-align:justify}.ttc{text-transform:capitalize}.ttl{text-transform:lowercase}.ttu{text-transform:uppercase}.ttn{text-transform:none}.f-6,.f-headline{font-size:6rem}.f-5,.f-subheadline{font-size:5rem}.f1{font-size:3rem}.f2{font-size:2.25rem}.f3{font-size:1.5rem}.f4{font-size:1.25rem}.f5{font-size:1rem}.f6{font-size:.875rem}.f7{font-size:.75rem}.measure{max-width:30em}.measure-wide{max-width:34em}.measure-narrow{max-width:20em}.indent{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps{font-variant:small-caps}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overflow-container{overflow-y:scroll}.center{margin-left:auto}.center,.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal{white-space:normal}.nowrap{white-space:nowrap}.pre{white-space:pre}.v-base{vertical-align:baseline}.v-mid{vertical-align:middle}.v-top{vertical-align:top}.v-btm{vertical-align:bottom}.dim{opacity:1}.dim,.dim:focus,.dim:hover{transition:opacity .15s ease-in}.dim:focus,.dim:hover{opacity:.5}.dim:active{opacity:.8;transition:opacity .15s ease-out}.glow,.glow:focus,.glow:hover{transition:opacity .15s ease-in}.glow:focus,.glow:hover{opacity:1}.hide-child .child{opacity:0;transition:opacity .15s ease-in}.hide-child:active .child,.hide-child:focus .child,.hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.underline-hover:focus,.underline-hover:hover{text-decoration:underline}.grow{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.grow:focus,.grow:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.grow:active{-webkit-transform:scale(.9);transform:scale(.9)}.grow-large{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);transition:-webkit-transform .25s ease-in-out;transition:transform .25s ease-in-out;transition:transform .25s ease-in-out,-webkit-transform .25s ease-in-out}.grow-large:focus,.grow-large:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.grow-large:active{-webkit-transform:scale(.95);transform:scale(.95)}.pointer:hover,.shadow-hover{cursor:pointer}.shadow-hover{position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.shadow-hover:after{content:"";box-shadow:0 0 16px 2px rgba(0,0,0,.2);border-radius:inherit;opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;transition:opacity .5s cubic-bezier(.165,.84,.44,1)}.shadow-hover:focus:after,.shadow-hover:hover:after{opacity:1}.bg-animate,.bg-animate:focus,.bg-animate:hover{transition:background-color .15s ease-in-out}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-999{z-index:999}.z-9999{z-index:9999}.z-max{z-index:2147483647}.z-inherit{z-index:inherit}.z-initial{z-index:auto}.z-unset{z-index:unset}.nested-copy-line-height ol,.nested-copy-line-height p,.nested-copy-line-height ul{line-height:1.5}.nested-headline-line-height h1,.nested-headline-line-height h2,.nested-headline-line-height h3,.nested-headline-line-height h4,.nested-headline-line-height h5,.nested-headline-line-height h6{line-height:1.25}.nested-list-reset ol,.nested-list-reset ul{padding-left:0;margin-left:0;list-style-type:none}.nested-copy-indent p+p{text-indent:1em;margin-top:0;margin-bottom:0}.nested-copy-separator p+p{margin-top:1.5em}.nested-img img{width:100%;max-width:100%;display:block}.nested-links a{color:#357edd;transition:color .15s ease-in}.nested-links a:focus,.nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.debug *{outline:1px solid gold}.debug-white *{outline:1px solid #fff}.debug-black *{outline:1px solid #000}.debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAFElEQVR4AWPAC97/9x0eCsAEPgwAVLshdpENIxcAAAAASUVORK5CYII=) repeat 0 0}.debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMklEQVR4AWOgCLz/b0epAa6UGuBOqQHOQHLUgFEDnAbcBZ4UGwDOkiCnkIhdgNgNxAYAiYlD+8sEuo8AAAAASUVORK5CYII=) repeat 0 0}.debug-grid-8-solid{background:#fff url(data:image/gif;base64,R0lGODdhCAAIAPEAAADw/wDx/////wAAACwAAAAACAAIAAACDZQvgaeb/lxbAIKA8y0AOw==) repeat 0 0}.debug-grid-16-solid{background:#fff url(data:image/gif;base64,R0lGODdhEAAQAPEAAADw/wDx/xXy/////ywAAAAAEAAQAAACIZyPKckYDQFsb6ZqD85jZ2+BkwiRFKehhqQCQgDHcgwEBQA7) repeat 0 0}@media screen and (min-width:30em){.aspect-ratio-ns{height:0;position:relative}.aspect-ratio--16x9-ns{padding-bottom:56.25%}.aspect-ratio--9x16-ns{padding-bottom:177.77%}.aspect-ratio--4x3-ns{padding-bottom:75%}.aspect-ratio--3x4-ns{padding-bottom:133.33%}.aspect-ratio--6x4-ns{padding-bottom:66.6%}.aspect-ratio--4x6-ns{padding-bottom:150%}.aspect-ratio--8x5-ns{padding-bottom:62.5%}.aspect-ratio--5x8-ns{padding-bottom:160%}.aspect-ratio--7x5-ns{padding-bottom:71.42%}.aspect-ratio--5x7-ns{padding-bottom:140%}.aspect-ratio--1x1-ns{padding-bottom:100%}.aspect-ratio--object-ns{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.cover-ns{background-size:cover!important}.contain-ns{background-size:contain!important}.bg-center-ns{background-position:50%}.bg-center-ns,.bg-top-ns{background-repeat:no-repeat}.bg-top-ns{background-position:top}.bg-right-ns{background-position:100%}.bg-bottom-ns,.bg-right-ns{background-repeat:no-repeat}.bg-bottom-ns{background-position:bottom}.bg-left-ns{background-repeat:no-repeat;background-position:0}.outline-ns{outline:1px solid}.outline-transparent-ns{outline:1px solid transparent}.outline-0-ns{outline:0}.ba-ns{border-style:solid;border-width:1px}.bt-ns{border-top-style:solid;border-top-width:1px}.br-ns{border-right-style:solid;border-right-width:1px}.bb-ns{border-bottom-style:solid;border-bottom-width:1px}.bl-ns{border-left-style:solid;border-left-width:1px}.bn-ns{border-style:none;border-width:0}.br0-ns{border-radius:0}.br1-ns{border-radius:.125rem}.br2-ns{border-radius:.25rem}.br3-ns{border-radius:.5rem}.br4-ns{border-radius:1rem}.br-100-ns{border-radius:100%}.br-pill-ns{border-radius:9999px}.br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.br--top-ns{border-bottom-right-radius:0}.br--right-ns,.br--top-ns{border-bottom-left-radius:0}.br--right-ns{border-top-left-radius:0}.br--left-ns{border-top-right-radius:0;border-bottom-right-radius:0}.b--dotted-ns{border-style:dotted}.b--dashed-ns{border-style:dashed}.b--solid-ns{border-style:solid}.b--none-ns{border-style:none}.bw0-ns{border-width:0}.bw1-ns{border-width:.125rem}.bw2-ns{border-width:.25rem}.bw3-ns{border-width:.5rem}.bw4-ns{border-width:1rem}.bw5-ns{border-width:2rem}.bt-0-ns{border-top-width:0}.br-0-ns{border-right-width:0}.bb-0-ns{border-bottom-width:0}.bl-0-ns{border-left-width:0}.shadow-1-ns{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-ns{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-ns{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-ns{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-ns{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.top-0-ns{top:0}.left-0-ns{left:0}.right-0-ns{right:0}.bottom-0-ns{bottom:0}.top-1-ns{top:1rem}.left-1-ns{left:1rem}.right-1-ns{right:1rem}.bottom-1-ns{bottom:1rem}.top-2-ns{top:2rem}.left-2-ns{left:2rem}.right-2-ns{right:2rem}.bottom-2-ns{bottom:2rem}.top--1-ns{top:-1rem}.right--1-ns{right:-1rem}.bottom--1-ns{bottom:-1rem}.left--1-ns{left:-1rem}.top--2-ns{top:-2rem}.right--2-ns{right:-2rem}.bottom--2-ns{bottom:-2rem}.left--2-ns{left:-2rem}.absolute--fill-ns{top:0;right:0;bottom:0;left:0}.cl-ns{clear:left}.cr-ns{clear:right}.cb-ns{clear:both}.cn-ns{clear:none}.dn-ns{display:none}.di-ns{display:inline}.db-ns{display:block}.dib-ns{display:inline-block}.dit-ns{display:inline-table}.dt-ns{display:table}.dtc-ns{display:table-cell}.dt-row-ns{display:table-row}.dt-row-group-ns{display:table-row-group}.dt-column-ns{display:table-column}.dt-column-group-ns{display:table-column-group}.dt--fixed-ns{table-layout:fixed;width:100%}.flex-ns{display:flex}.inline-flex-ns{display:inline-flex}.flex-auto-ns{flex:1 1 auto;min-width:0;min-height:0}.flex-none-ns{flex:none}.flex-column-ns{flex-direction:column}.flex-row-ns{flex-direction:row}.flex-wrap-ns{flex-wrap:wrap}.flex-nowrap-ns{flex-wrap:nowrap}.flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.flex-column-reverse-ns{flex-direction:column-reverse}.flex-row-reverse-ns{flex-direction:row-reverse}.items-start-ns{align-items:flex-start}.items-end-ns{align-items:flex-end}.items-center-ns{align-items:center}.items-baseline-ns{align-items:baseline}.items-stretch-ns{align-items:stretch}.self-start-ns{align-self:flex-start}.self-end-ns{align-self:flex-end}.self-center-ns{align-self:center}.self-baseline-ns{align-self:baseline}.self-stretch-ns{align-self:stretch}.justify-start-ns{justify-content:flex-start}.justify-end-ns{justify-content:flex-end}.justify-center-ns{justify-content:center}.justify-between-ns{justify-content:space-between}.justify-around-ns{justify-content:space-around}.content-start-ns{align-content:flex-start}.content-end-ns{align-content:flex-end}.content-center-ns{align-content:center}.content-between-ns{align-content:space-between}.content-around-ns{align-content:space-around}.content-stretch-ns{align-content:stretch}.order-0-ns{order:0}.order-1-ns{order:1}.order-2-ns{order:2}.order-3-ns{order:3}.order-4-ns{order:4}.order-5-ns{order:5}.order-6-ns{order:6}.order-7-ns{order:7}.order-8-ns{order:8}.order-last-ns{order:99999}.flex-grow-0-ns{flex-grow:0}.flex-grow-1-ns{flex-grow:1}.flex-shrink-0-ns{flex-shrink:0}.flex-shrink-1-ns{flex-shrink:1}.fl-ns{float:left}.fl-ns,.fr-ns{_display:inline}.fr-ns{float:right}.fn-ns{float:none}.i-ns{font-style:italic}.fs-normal-ns{font-style:normal}.normal-ns{font-weight:400}.b-ns{font-weight:700}.fw1-ns{font-weight:100}.fw2-ns{font-weight:200}.fw3-ns{font-weight:300}.fw4-ns{font-weight:400}.fw5-ns{font-weight:500}.fw6-ns{font-weight:600}.fw7-ns{font-weight:700}.fw8-ns{font-weight:800}.fw9-ns{font-weight:900}.h1-ns{height:1rem}.h2-ns{height:2rem}.h3-ns{height:4rem}.h4-ns{height:8rem}.h5-ns{height:16rem}.h-25-ns{height:25%}.h-50-ns{height:50%}.h-75-ns{height:75%}.h-100-ns{height:100%}.min-h-100-ns{min-height:100%}.vh-25-ns{height:25vh}.vh-50-ns{height:50vh}.vh-75-ns{height:75vh}.vh-100-ns{height:100vh}.min-vh-100-ns{min-height:100vh}.h-auto-ns{height:auto}.h-inherit-ns{height:inherit}.tracked-ns{letter-spacing:.1em}.tracked-tight-ns{letter-spacing:-.05em}.tracked-mega-ns{letter-spacing:.25em}.lh-solid-ns{line-height:1}.lh-title-ns{line-height:1.25}.lh-copy-ns{line-height:1.5}.mw-100-ns{max-width:100%}.mw1-ns{max-width:1rem}.mw2-ns{max-width:2rem}.mw3-ns{max-width:4rem}.mw4-ns{max-width:8rem}.mw5-ns{max-width:16rem}.mw6-ns{max-width:32rem}.mw7-ns{max-width:48rem}.mw8-ns{max-width:64rem}.mw9-ns{max-width:96rem}.mw-none-ns{max-width:none}.w1-ns{width:1rem}.w2-ns{width:2rem}.w3-ns{width:4rem}.w4-ns{width:8rem}.w5-ns{width:16rem}.w-10-ns{width:10%}.w-20-ns{width:20%}.w-25-ns{width:25%}.w-30-ns{width:30%}.w-33-ns{width:33%}.w-34-ns{width:34%}.w-40-ns{width:40%}.w-50-ns{width:50%}.w-60-ns{width:60%}.w-70-ns{width:70%}.w-75-ns{width:75%}.w-80-ns{width:80%}.w-90-ns{width:90%}.w-100-ns{width:100%}.w-third-ns{width:33.33333%}.w-two-thirds-ns{width:66.66667%}.w-auto-ns{width:auto}.overflow-visible-ns{overflow:visible}.overflow-hidden-ns{overflow:hidden}.overflow-scroll-ns{overflow:scroll}.overflow-auto-ns{overflow:auto}.overflow-x-visible-ns{overflow-x:visible}.overflow-x-hidden-ns{overflow-x:hidden}.overflow-x-scroll-ns{overflow-x:scroll}.overflow-x-auto-ns{overflow-x:auto}.overflow-y-visible-ns{overflow-y:visible}.overflow-y-hidden-ns{overflow-y:hidden}.overflow-y-scroll-ns{overflow-y:scroll}.overflow-y-auto-ns{overflow-y:auto}.static-ns{position:static}.relative-ns{position:relative}.absolute-ns{position:absolute}.fixed-ns{position:fixed}.rotate-45-ns{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90-ns{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135-ns{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180-ns{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225-ns{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270-ns{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315-ns{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.pa0-ns{padding:0}.pa1-ns{padding:.25rem}.pa2-ns{padding:.5rem}.pa3-ns{padding:1rem}.pa4-ns{padding:2rem}.pa5-ns{padding:4rem}.pa6-ns{padding:8rem}.pa7-ns{padding:16rem}.pl0-ns{padding-left:0}.pl1-ns{padding-left:.25rem}.pl2-ns{padding-left:.5rem}.pl3-ns{padding-left:1rem}.pl4-ns{padding-left:2rem}.pl5-ns{padding-left:4rem}.pl6-ns{padding-left:8rem}.pl7-ns{padding-left:16rem}.pr0-ns{padding-right:0}.pr1-ns{padding-right:.25rem}.pr2-ns{padding-right:.5rem}.pr3-ns{padding-right:1rem}.pr4-ns{padding-right:2rem}.pr5-ns{padding-right:4rem}.pr6-ns{padding-right:8rem}.pr7-ns{padding-right:16rem}.pb0-ns{padding-bottom:0}.pb1-ns{padding-bottom:.25rem}.pb2-ns{padding-bottom:.5rem}.pb3-ns{padding-bottom:1rem}.pb4-ns{padding-bottom:2rem}.pb5-ns{padding-bottom:4rem}.pb6-ns{padding-bottom:8rem}.pb7-ns{padding-bottom:16rem}.pt0-ns{padding-top:0}.pt1-ns{padding-top:.25rem}.pt2-ns{padding-top:.5rem}.pt3-ns{padding-top:1rem}.pt4-ns{padding-top:2rem}.pt5-ns{padding-top:4rem}.pt6-ns{padding-top:8rem}.pt7-ns{padding-top:16rem}.pv0-ns{padding-top:0;padding-bottom:0}.pv1-ns{padding-top:.25rem;padding-bottom:.25rem}.pv2-ns{padding-top:.5rem;padding-bottom:.5rem}.pv3-ns{padding-top:1rem;padding-bottom:1rem}.pv4-ns{padding-top:2rem;padding-bottom:2rem}.pv5-ns{padding-top:4rem;padding-bottom:4rem}.pv6-ns{padding-top:8rem;padding-bottom:8rem}.pv7-ns{padding-top:16rem;padding-bottom:16rem}.ph0-ns{padding-left:0;padding-right:0}.ph1-ns{padding-left:.25rem;padding-right:.25rem}.ph2-ns{padding-left:.5rem;padding-right:.5rem}.ph3-ns{padding-left:1rem;padding-right:1rem}.ph4-ns{padding-left:2rem;padding-right:2rem}.ph5-ns{padding-left:4rem;padding-right:4rem}.ph6-ns{padding-left:8rem;padding-right:8rem}.ph7-ns{padding-left:16rem;padding-right:16rem}.ma0-ns{margin:0}.ma1-ns{margin:.25rem}.ma2-ns{margin:.5rem}.ma3-ns{margin:1rem}.ma4-ns{margin:2rem}.ma5-ns{margin:4rem}.ma6-ns{margin:8rem}.ma7-ns{margin:16rem}.ml0-ns{margin-left:0}.ml1-ns{margin-left:.25rem}.ml2-ns{margin-left:.5rem}.ml3-ns{margin-left:1rem}.ml4-ns{margin-left:2rem}.ml5-ns{margin-left:4rem}.ml6-ns{margin-left:8rem}.ml7-ns{margin-left:16rem}.mr0-ns{margin-right:0}.mr1-ns{margin-right:.25rem}.mr2-ns{margin-right:.5rem}.mr3-ns{margin-right:1rem}.mr4-ns{margin-right:2rem}.mr5-ns{margin-right:4rem}.mr6-ns{margin-right:8rem}.mr7-ns{margin-right:16rem}.mb0-ns{margin-bottom:0}.mb1-ns{margin-bottom:.25rem}.mb2-ns{margin-bottom:.5rem}.mb3-ns{margin-bottom:1rem}.mb4-ns{margin-bottom:2rem}.mb5-ns{margin-bottom:4rem}.mb6-ns{margin-bottom:8rem}.mb7-ns{margin-bottom:16rem}.mt0-ns{margin-top:0}.mt1-ns{margin-top:.25rem}.mt2-ns{margin-top:.5rem}.mt3-ns{margin-top:1rem}.mt4-ns{margin-top:2rem}.mt5-ns{margin-top:4rem}.mt6-ns{margin-top:8rem}.mt7-ns{margin-top:16rem}.mv0-ns{margin-top:0;margin-bottom:0}.mv1-ns{margin-top:.25rem;margin-bottom:.25rem}.mv2-ns{margin-top:.5rem;margin-bottom:.5rem}.mv3-ns{margin-top:1rem;margin-bottom:1rem}.mv4-ns{margin-top:2rem;margin-bottom:2rem}.mv5-ns{margin-top:4rem;margin-bottom:4rem}.mv6-ns{margin-top:8rem;margin-bottom:8rem}.mv7-ns{margin-top:16rem;margin-bottom:16rem}.mh0-ns{margin-left:0;margin-right:0}.mh1-ns{margin-left:.25rem;margin-right:.25rem}.mh2-ns{margin-left:.5rem;margin-right:.5rem}.mh3-ns{margin-left:1rem;margin-right:1rem}.mh4-ns{margin-left:2rem;margin-right:2rem}.mh5-ns{margin-left:4rem;margin-right:4rem}.mh6-ns{margin-left:8rem;margin-right:8rem}.mh7-ns{margin-left:16rem;margin-right:16rem}.na1-ns{margin:-.25rem}.na2-ns{margin:-.5rem}.na3-ns{margin:-1rem}.na4-ns{margin:-2rem}.na5-ns{margin:-4rem}.na6-ns{margin:-8rem}.na7-ns{margin:-16rem}.nl1-ns{margin-left:-.25rem}.nl2-ns{margin-left:-.5rem}.nl3-ns{margin-left:-1rem}.nl4-ns{margin-left:-2rem}.nl5-ns{margin-left:-4rem}.nl6-ns{margin-left:-8rem}.nl7-ns{margin-left:-16rem}.nr1-ns{margin-right:-.25rem}.nr2-ns{margin-right:-.5rem}.nr3-ns{margin-right:-1rem}.nr4-ns{margin-right:-2rem}.nr5-ns{margin-right:-4rem}.nr6-ns{margin-right:-8rem}.nr7-ns{margin-right:-16rem}.nb1-ns{margin-bottom:-.25rem}.nb2-ns{margin-bottom:-.5rem}.nb3-ns{margin-bottom:-1rem}.nb4-ns{margin-bottom:-2rem}.nb5-ns{margin-bottom:-4rem}.nb6-ns{margin-bottom:-8rem}.nb7-ns{margin-bottom:-16rem}.nt1-ns{margin-top:-.25rem}.nt2-ns{margin-top:-.5rem}.nt3-ns{margin-top:-1rem}.nt4-ns{margin-top:-2rem}.nt5-ns{margin-top:-4rem}.nt6-ns{margin-top:-8rem}.nt7-ns{margin-top:-16rem}.strike-ns{text-decoration:line-through}.underline-ns{text-decoration:underline}.no-underline-ns{text-decoration:none}.tl-ns{text-align:left}.tr-ns{text-align:right}.tc-ns{text-align:center}.tj-ns{text-align:justify}.ttc-ns{text-transform:capitalize}.ttl-ns{text-transform:lowercase}.ttu-ns{text-transform:uppercase}.ttn-ns{text-transform:none}.f-6-ns,.f-headline-ns{font-size:6rem}.f-5-ns,.f-subheadline-ns{font-size:5rem}.f1-ns{font-size:3rem}.f2-ns{font-size:2.25rem}.f3-ns{font-size:1.5rem}.f4-ns{font-size:1.25rem}.f5-ns{font-size:1rem}.f6-ns{font-size:.875rem}.f7-ns{font-size:.75rem}.measure-ns{max-width:30em}.measure-wide-ns{max-width:34em}.measure-narrow-ns{max-width:20em}.indent-ns{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-ns{font-variant:small-caps}.truncate-ns{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-ns{margin-left:auto}.center-ns,.mr-auto-ns{margin-right:auto}.ml-auto-ns{margin-left:auto}.clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal-ns{white-space:normal}.nowrap-ns{white-space:nowrap}.pre-ns{white-space:pre}.v-base-ns{vertical-align:baseline}.v-mid-ns{vertical-align:middle}.v-top-ns{vertical-align:top}.v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em) and (max-width:60em){.aspect-ratio-m{height:0;position:relative}.aspect-ratio--16x9-m{padding-bottom:56.25%}.aspect-ratio--9x16-m{padding-bottom:177.77%}.aspect-ratio--4x3-m{padding-bottom:75%}.aspect-ratio--3x4-m{padding-bottom:133.33%}.aspect-ratio--6x4-m{padding-bottom:66.6%}.aspect-ratio--4x6-m{padding-bottom:150%}.aspect-ratio--8x5-m{padding-bottom:62.5%}.aspect-ratio--5x8-m{padding-bottom:160%}.aspect-ratio--7x5-m{padding-bottom:71.42%}.aspect-ratio--5x7-m{padding-bottom:140%}.aspect-ratio--1x1-m{padding-bottom:100%}.aspect-ratio--object-m{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.cover-m{background-size:cover!important}.contain-m{background-size:contain!important}.bg-center-m{background-position:50%}.bg-center-m,.bg-top-m{background-repeat:no-repeat}.bg-top-m{background-position:top}.bg-right-m{background-position:100%}.bg-bottom-m,.bg-right-m{background-repeat:no-repeat}.bg-bottom-m{background-position:bottom}.bg-left-m{background-repeat:no-repeat;background-position:0}.outline-m{outline:1px solid}.outline-transparent-m{outline:1px solid transparent}.outline-0-m{outline:0}.ba-m{border-style:solid;border-width:1px}.bt-m{border-top-style:solid;border-top-width:1px}.br-m{border-right-style:solid;border-right-width:1px}.bb-m{border-bottom-style:solid;border-bottom-width:1px}.bl-m{border-left-style:solid;border-left-width:1px}.bn-m{border-style:none;border-width:0}.br0-m{border-radius:0}.br1-m{border-radius:.125rem}.br2-m{border-radius:.25rem}.br3-m{border-radius:.5rem}.br4-m{border-radius:1rem}.br-100-m{border-radius:100%}.br-pill-m{border-radius:9999px}.br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.br--top-m{border-bottom-right-radius:0}.br--right-m,.br--top-m{border-bottom-left-radius:0}.br--right-m{border-top-left-radius:0}.br--left-m{border-top-right-radius:0;border-bottom-right-radius:0}.b--dotted-m{border-style:dotted}.b--dashed-m{border-style:dashed}.b--solid-m{border-style:solid}.b--none-m{border-style:none}.bw0-m{border-width:0}.bw1-m{border-width:.125rem}.bw2-m{border-width:.25rem}.bw3-m{border-width:.5rem}.bw4-m{border-width:1rem}.bw5-m{border-width:2rem}.bt-0-m{border-top-width:0}.br-0-m{border-right-width:0}.bb-0-m{border-bottom-width:0}.bl-0-m{border-left-width:0}.shadow-1-m{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-m{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-m{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-m{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-m{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.top-0-m{top:0}.left-0-m{left:0}.right-0-m{right:0}.bottom-0-m{bottom:0}.top-1-m{top:1rem}.left-1-m{left:1rem}.right-1-m{right:1rem}.bottom-1-m{bottom:1rem}.top-2-m{top:2rem}.left-2-m{left:2rem}.right-2-m{right:2rem}.bottom-2-m{bottom:2rem}.top--1-m{top:-1rem}.right--1-m{right:-1rem}.bottom--1-m{bottom:-1rem}.left--1-m{left:-1rem}.top--2-m{top:-2rem}.right--2-m{right:-2rem}.bottom--2-m{bottom:-2rem}.left--2-m{left:-2rem}.absolute--fill-m{top:0;right:0;bottom:0;left:0}.cl-m{clear:left}.cr-m{clear:right}.cb-m{clear:both}.cn-m{clear:none}.dn-m{display:none}.di-m{display:inline}.db-m{display:block}.dib-m{display:inline-block}.dit-m{display:inline-table}.dt-m{display:table}.dtc-m{display:table-cell}.dt-row-m{display:table-row}.dt-row-group-m{display:table-row-group}.dt-column-m{display:table-column}.dt-column-group-m{display:table-column-group}.dt--fixed-m{table-layout:fixed;width:100%}.flex-m{display:flex}.inline-flex-m{display:inline-flex}.flex-auto-m{flex:1 1 auto;min-width:0;min-height:0}.flex-none-m{flex:none}.flex-column-m{flex-direction:column}.flex-row-m{flex-direction:row}.flex-wrap-m{flex-wrap:wrap}.flex-nowrap-m{flex-wrap:nowrap}.flex-wrap-reverse-m{flex-wrap:wrap-reverse}.flex-column-reverse-m{flex-direction:column-reverse}.flex-row-reverse-m{flex-direction:row-reverse}.items-start-m{align-items:flex-start}.items-end-m{align-items:flex-end}.items-center-m{align-items:center}.items-baseline-m{align-items:baseline}.items-stretch-m{align-items:stretch}.self-start-m{align-self:flex-start}.self-end-m{align-self:flex-end}.self-center-m{align-self:center}.self-baseline-m{align-self:baseline}.self-stretch-m{align-self:stretch}.justify-start-m{justify-content:flex-start}.justify-end-m{justify-content:flex-end}.justify-center-m{justify-content:center}.justify-between-m{justify-content:space-between}.justify-around-m{justify-content:space-around}.content-start-m{align-content:flex-start}.content-end-m{align-content:flex-end}.content-center-m{align-content:center}.content-between-m{align-content:space-between}.content-around-m{align-content:space-around}.content-stretch-m{align-content:stretch}.order-0-m{order:0}.order-1-m{order:1}.order-2-m{order:2}.order-3-m{order:3}.order-4-m{order:4}.order-5-m{order:5}.order-6-m{order:6}.order-7-m{order:7}.order-8-m{order:8}.order-last-m{order:99999}.flex-grow-0-m{flex-grow:0}.flex-grow-1-m{flex-grow:1}.flex-shrink-0-m{flex-shrink:0}.flex-shrink-1-m{flex-shrink:1}.fl-m{float:left}.fl-m,.fr-m{_display:inline}.fr-m{float:right}.fn-m{float:none}.i-m{font-style:italic}.fs-normal-m{font-style:normal}.normal-m{font-weight:400}.b-m{font-weight:700}.fw1-m{font-weight:100}.fw2-m{font-weight:200}.fw3-m{font-weight:300}.fw4-m{font-weight:400}.fw5-m{font-weight:500}.fw6-m{font-weight:600}.fw7-m{font-weight:700}.fw8-m{font-weight:800}.fw9-m{font-weight:900}.h1-m{height:1rem}.h2-m{height:2rem}.h3-m{height:4rem}.h4-m{height:8rem}.h5-m{height:16rem}.h-25-m{height:25%}.h-50-m{height:50%}.h-75-m{height:75%}.h-100-m{height:100%}.min-h-100-m{min-height:100%}.vh-25-m{height:25vh}.vh-50-m{height:50vh}.vh-75-m{height:75vh}.vh-100-m{height:100vh}.min-vh-100-m{min-height:100vh}.h-auto-m{height:auto}.h-inherit-m{height:inherit}.tracked-m{letter-spacing:.1em}.tracked-tight-m{letter-spacing:-.05em}.tracked-mega-m{letter-spacing:.25em}.lh-solid-m{line-height:1}.lh-title-m{line-height:1.25}.lh-copy-m{line-height:1.5}.mw-100-m{max-width:100%}.mw1-m{max-width:1rem}.mw2-m{max-width:2rem}.mw3-m{max-width:4rem}.mw4-m{max-width:8rem}.mw5-m{max-width:16rem}.mw6-m{max-width:32rem}.mw7-m{max-width:48rem}.mw8-m{max-width:64rem}.mw9-m{max-width:96rem}.mw-none-m{max-width:none}.w1-m{width:1rem}.w2-m{width:2rem}.w3-m{width:4rem}.w4-m{width:8rem}.w5-m{width:16rem}.w-10-m{width:10%}.w-20-m{width:20%}.w-25-m{width:25%}.w-30-m{width:30%}.w-33-m{width:33%}.w-34-m{width:34%}.w-40-m{width:40%}.w-50-m{width:50%}.w-60-m{width:60%}.w-70-m{width:70%}.w-75-m{width:75%}.w-80-m{width:80%}.w-90-m{width:90%}.w-100-m{width:100%}.w-third-m{width:33.33333%}.w-two-thirds-m{width:66.66667%}.w-auto-m{width:auto}.overflow-visible-m{overflow:visible}.overflow-hidden-m{overflow:hidden}.overflow-scroll-m{overflow:scroll}.overflow-auto-m{overflow:auto}.overflow-x-visible-m{overflow-x:visible}.overflow-x-hidden-m{overflow-x:hidden}.overflow-x-scroll-m{overflow-x:scroll}.overflow-x-auto-m{overflow-x:auto}.overflow-y-visible-m{overflow-y:visible}.overflow-y-hidden-m{overflow-y:hidden}.overflow-y-scroll-m{overflow-y:scroll}.overflow-y-auto-m{overflow-y:auto}.static-m{position:static}.relative-m{position:relative}.absolute-m{position:absolute}.fixed-m{position:fixed}.rotate-45-m{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90-m{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135-m{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180-m{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225-m{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270-m{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315-m{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.pa0-m{padding:0}.pa1-m{padding:.25rem}.pa2-m{padding:.5rem}.pa3-m{padding:1rem}.pa4-m{padding:2rem}.pa5-m{padding:4rem}.pa6-m{padding:8rem}.pa7-m{padding:16rem}.pl0-m{padding-left:0}.pl1-m{padding-left:.25rem}.pl2-m{padding-left:.5rem}.pl3-m{padding-left:1rem}.pl4-m{padding-left:2rem}.pl5-m{padding-left:4rem}.pl6-m{padding-left:8rem}.pl7-m{padding-left:16rem}.pr0-m{padding-right:0}.pr1-m{padding-right:.25rem}.pr2-m{padding-right:.5rem}.pr3-m{padding-right:1rem}.pr4-m{padding-right:2rem}.pr5-m{padding-right:4rem}.pr6-m{padding-right:8rem}.pr7-m{padding-right:16rem}.pb0-m{padding-bottom:0}.pb1-m{padding-bottom:.25rem}.pb2-m{padding-bottom:.5rem}.pb3-m{padding-bottom:1rem}.pb4-m{padding-bottom:2rem}.pb5-m{padding-bottom:4rem}.pb6-m{padding-bottom:8rem}.pb7-m{padding-bottom:16rem}.pt0-m{padding-top:0}.pt1-m{padding-top:.25rem}.pt2-m{padding-top:.5rem}.pt3-m{padding-top:1rem}.pt4-m{padding-top:2rem}.pt5-m{padding-top:4rem}.pt6-m{padding-top:8rem}.pt7-m{padding-top:16rem}.pv0-m{padding-top:0;padding-bottom:0}.pv1-m{padding-top:.25rem;padding-bottom:.25rem}.pv2-m{padding-top:.5rem;padding-bottom:.5rem}.pv3-m{padding-top:1rem;padding-bottom:1rem}.pv4-m{padding-top:2rem;padding-bottom:2rem}.pv5-m{padding-top:4rem;padding-bottom:4rem}.pv6-m{padding-top:8rem;padding-bottom:8rem}.pv7-m{padding-top:16rem;padding-bottom:16rem}.ph0-m{padding-left:0;padding-right:0}.ph1-m{padding-left:.25rem;padding-right:.25rem}.ph2-m{padding-left:.5rem;padding-right:.5rem}.ph3-m{padding-left:1rem;padding-right:1rem}.ph4-m{padding-left:2rem;padding-right:2rem}.ph5-m{padding-left:4rem;padding-right:4rem}.ph6-m{padding-left:8rem;padding-right:8rem}.ph7-m{padding-left:16rem;padding-right:16rem}.ma0-m{margin:0}.ma1-m{margin:.25rem}.ma2-m{margin:.5rem}.ma3-m{margin:1rem}.ma4-m{margin:2rem}.ma5-m{margin:4rem}.ma6-m{margin:8rem}.ma7-m{margin:16rem}.ml0-m{margin-left:0}.ml1-m{margin-left:.25rem}.ml2-m{margin-left:.5rem}.ml3-m{margin-left:1rem}.ml4-m{margin-left:2rem}.ml5-m{margin-left:4rem}.ml6-m{margin-left:8rem}.ml7-m{margin-left:16rem}.mr0-m{margin-right:0}.mr1-m{margin-right:.25rem}.mr2-m{margin-right:.5rem}.mr3-m{margin-right:1rem}.mr4-m{margin-right:2rem}.mr5-m{margin-right:4rem}.mr6-m{margin-right:8rem}.mr7-m{margin-right:16rem}.mb0-m{margin-bottom:0}.mb1-m{margin-bottom:.25rem}.mb2-m{margin-bottom:.5rem}.mb3-m{margin-bottom:1rem}.mb4-m{margin-bottom:2rem}.mb5-m{margin-bottom:4rem}.mb6-m{margin-bottom:8rem}.mb7-m{margin-bottom:16rem}.mt0-m{margin-top:0}.mt1-m{margin-top:.25rem}.mt2-m{margin-top:.5rem}.mt3-m{margin-top:1rem}.mt4-m{margin-top:2rem}.mt5-m{margin-top:4rem}.mt6-m{margin-top:8rem}.mt7-m{margin-top:16rem}.mv0-m{margin-top:0;margin-bottom:0}.mv1-m{margin-top:.25rem;margin-bottom:.25rem}.mv2-m{margin-top:.5rem;margin-bottom:.5rem}.mv3-m{margin-top:1rem;margin-bottom:1rem}.mv4-m{margin-top:2rem;margin-bottom:2rem}.mv5-m{margin-top:4rem;margin-bottom:4rem}.mv6-m{margin-top:8rem;margin-bottom:8rem}.mv7-m{margin-top:16rem;margin-bottom:16rem}.mh0-m{margin-left:0;margin-right:0}.mh1-m{margin-left:.25rem;margin-right:.25rem}.mh2-m{margin-left:.5rem;margin-right:.5rem}.mh3-m{margin-left:1rem;margin-right:1rem}.mh4-m{margin-left:2rem;margin-right:2rem}.mh5-m{margin-left:4rem;margin-right:4rem}.mh6-m{margin-left:8rem;margin-right:8rem}.mh7-m{margin-left:16rem;margin-right:16rem}.na1-m{margin:-.25rem}.na2-m{margin:-.5rem}.na3-m{margin:-1rem}.na4-m{margin:-2rem}.na5-m{margin:-4rem}.na6-m{margin:-8rem}.na7-m{margin:-16rem}.nl1-m{margin-left:-.25rem}.nl2-m{margin-left:-.5rem}.nl3-m{margin-left:-1rem}.nl4-m{margin-left:-2rem}.nl5-m{margin-left:-4rem}.nl6-m{margin-left:-8rem}.nl7-m{margin-left:-16rem}.nr1-m{margin-right:-.25rem}.nr2-m{margin-right:-.5rem}.nr3-m{margin-right:-1rem}.nr4-m{margin-right:-2rem}.nr5-m{margin-right:-4rem}.nr6-m{margin-right:-8rem}.nr7-m{margin-right:-16rem}.nb1-m{margin-bottom:-.25rem}.nb2-m{margin-bottom:-.5rem}.nb3-m{margin-bottom:-1rem}.nb4-m{margin-bottom:-2rem}.nb5-m{margin-bottom:-4rem}.nb6-m{margin-bottom:-8rem}.nb7-m{margin-bottom:-16rem}.nt1-m{margin-top:-.25rem}.nt2-m{margin-top:-.5rem}.nt3-m{margin-top:-1rem}.nt4-m{margin-top:-2rem}.nt5-m{margin-top:-4rem}.nt6-m{margin-top:-8rem}.nt7-m{margin-top:-16rem}.strike-m{text-decoration:line-through}.underline-m{text-decoration:underline}.no-underline-m{text-decoration:none}.tl-m{text-align:left}.tr-m{text-align:right}.tc-m{text-align:center}.tj-m{text-align:justify}.ttc-m{text-transform:capitalize}.ttl-m{text-transform:lowercase}.ttu-m{text-transform:uppercase}.ttn-m{text-transform:none}.f-6-m,.f-headline-m{font-size:6rem}.f-5-m,.f-subheadline-m{font-size:5rem}.f1-m{font-size:3rem}.f2-m{font-size:2.25rem}.f3-m{font-size:1.5rem}.f4-m{font-size:1.25rem}.f5-m{font-size:1rem}.f6-m{font-size:.875rem}.f7-m{font-size:.75rem}.measure-m{max-width:30em}.measure-wide-m{max-width:34em}.measure-narrow-m{max-width:20em}.indent-m{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-m{font-variant:small-caps}.truncate-m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-m{margin-left:auto}.center-m,.mr-auto-m{margin-right:auto}.ml-auto-m{margin-left:auto}.clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal-m{white-space:normal}.nowrap-m{white-space:nowrap}.pre-m{white-space:pre}.v-base-m{vertical-align:baseline}.v-mid-m{vertical-align:middle}.v-top-m{vertical-align:top}.v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.aspect-ratio-l{height:0;position:relative}.aspect-ratio--16x9-l{padding-bottom:56.25%}.aspect-ratio--9x16-l{padding-bottom:177.77%}.aspect-ratio--4x3-l{padding-bottom:75%}.aspect-ratio--3x4-l{padding-bottom:133.33%}.aspect-ratio--6x4-l{padding-bottom:66.6%}.aspect-ratio--4x6-l{padding-bottom:150%}.aspect-ratio--8x5-l{padding-bottom:62.5%}.aspect-ratio--5x8-l{padding-bottom:160%}.aspect-ratio--7x5-l{padding-bottom:71.42%}.aspect-ratio--5x7-l{padding-bottom:140%}.aspect-ratio--1x1-l{padding-bottom:100%}.aspect-ratio--object-l{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.cover-l{background-size:cover!important}.contain-l{background-size:contain!important}.bg-center-l{background-position:50%}.bg-center-l,.bg-top-l{background-repeat:no-repeat}.bg-top-l{background-position:top}.bg-right-l{background-position:100%}.bg-bottom-l,.bg-right-l{background-repeat:no-repeat}.bg-bottom-l{background-position:bottom}.bg-left-l{background-repeat:no-repeat;background-position:0}.outline-l{outline:1px solid}.outline-transparent-l{outline:1px solid transparent}.outline-0-l{outline:0}.ba-l{border-style:solid;border-width:1px}.bt-l{border-top-style:solid;border-top-width:1px}.br-l{border-right-style:solid;border-right-width:1px}.bb-l{border-bottom-style:solid;border-bottom-width:1px}.bl-l{border-left-style:solid;border-left-width:1px}.bn-l{border-style:none;border-width:0}.br0-l{border-radius:0}.br1-l{border-radius:.125rem}.br2-l{border-radius:.25rem}.br3-l{border-radius:.5rem}.br4-l{border-radius:1rem}.br-100-l{border-radius:100%}.br-pill-l{border-radius:9999px}.br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.br--top-l{border-bottom-right-radius:0}.br--right-l,.br--top-l{border-bottom-left-radius:0}.br--right-l{border-top-left-radius:0}.br--left-l{border-top-right-radius:0;border-bottom-right-radius:0}.b--dotted-l{border-style:dotted}.b--dashed-l{border-style:dashed}.b--solid-l{border-style:solid}.b--none-l{border-style:none}.bw0-l{border-width:0}.bw1-l{border-width:.125rem}.bw2-l{border-width:.25rem}.bw3-l{border-width:.5rem}.bw4-l{border-width:1rem}.bw5-l{border-width:2rem}.bt-0-l{border-top-width:0}.br-0-l{border-right-width:0}.bb-0-l{border-bottom-width:0}.bl-0-l{border-left-width:0}.shadow-1-l{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-l{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-l{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-l{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-l{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.top-0-l{top:0}.left-0-l{left:0}.right-0-l{right:0}.bottom-0-l{bottom:0}.top-1-l{top:1rem}.left-1-l{left:1rem}.right-1-l{right:1rem}.bottom-1-l{bottom:1rem}.top-2-l{top:2rem}.left-2-l{left:2rem}.right-2-l{right:2rem}.bottom-2-l{bottom:2rem}.top--1-l{top:-1rem}.right--1-l{right:-1rem}.bottom--1-l{bottom:-1rem}.left--1-l{left:-1rem}.top--2-l{top:-2rem}.right--2-l{right:-2rem}.bottom--2-l{bottom:-2rem}.left--2-l{left:-2rem}.absolute--fill-l{top:0;right:0;bottom:0;left:0}.cl-l{clear:left}.cr-l{clear:right}.cb-l{clear:both}.cn-l{clear:none}.dn-l{display:none}.di-l{display:inline}.db-l{display:block}.dib-l{display:inline-block}.dit-l{display:inline-table}.dt-l{display:table}.dtc-l{display:table-cell}.dt-row-l{display:table-row}.dt-row-group-l{display:table-row-group}.dt-column-l{display:table-column}.dt-column-group-l{display:table-column-group}.dt--fixed-l{table-layout:fixed;width:100%}.flex-l{display:flex}.inline-flex-l{display:inline-flex}.flex-auto-l{flex:1 1 auto;min-width:0;min-height:0}.flex-none-l{flex:none}.flex-column-l{flex-direction:column}.flex-row-l{flex-direction:row}.flex-wrap-l{flex-wrap:wrap}.flex-nowrap-l{flex-wrap:nowrap}.flex-wrap-reverse-l{flex-wrap:wrap-reverse}.flex-column-reverse-l{flex-direction:column-reverse}.flex-row-reverse-l{flex-direction:row-reverse}.items-start-l{align-items:flex-start}.items-end-l{align-items:flex-end}.items-center-l{align-items:center}.items-baseline-l{align-items:baseline}.items-stretch-l{align-items:stretch}.self-start-l{align-self:flex-start}.self-end-l{align-self:flex-end}.self-center-l{align-self:center}.self-baseline-l{align-self:baseline}.self-stretch-l{align-self:stretch}.justify-start-l{justify-content:flex-start}.justify-end-l{justify-content:flex-end}.justify-center-l{justify-content:center}.justify-between-l{justify-content:space-between}.justify-around-l{justify-content:space-around}.content-start-l{align-content:flex-start}.content-end-l{align-content:flex-end}.content-center-l{align-content:center}.content-between-l{align-content:space-between}.content-around-l{align-content:space-around}.content-stretch-l{align-content:stretch}.order-0-l{order:0}.order-1-l{order:1}.order-2-l{order:2}.order-3-l{order:3}.order-4-l{order:4}.order-5-l{order:5}.order-6-l{order:6}.order-7-l{order:7}.order-8-l{order:8}.order-last-l{order:99999}.flex-grow-0-l{flex-grow:0}.flex-grow-1-l{flex-grow:1}.flex-shrink-0-l{flex-shrink:0}.flex-shrink-1-l{flex-shrink:1}.fl-l{float:left}.fl-l,.fr-l{_display:inline}.fr-l{float:right}.fn-l{float:none}.i-l{font-style:italic}.fs-normal-l{font-style:normal}.normal-l{font-weight:400}.b-l{font-weight:700}.fw1-l{font-weight:100}.fw2-l{font-weight:200}.fw3-l{font-weight:300}.fw4-l{font-weight:400}.fw5-l{font-weight:500}.fw6-l{font-weight:600}.fw7-l{font-weight:700}.fw8-l{font-weight:800}.fw9-l{font-weight:900}.h1-l{height:1rem}.h2-l{height:2rem}.h3-l{height:4rem}.h4-l{height:8rem}.h5-l{height:16rem}.h-25-l{height:25%}.h-50-l{height:50%}.h-75-l{height:75%}.h-100-l{height:100%}.min-h-100-l{min-height:100%}.vh-25-l{height:25vh}.vh-50-l{height:50vh}.vh-75-l{height:75vh}.vh-100-l{height:100vh}.min-vh-100-l{min-height:100vh}.h-auto-l{height:auto}.h-inherit-l{height:inherit}.tracked-l{letter-spacing:.1em}.tracked-tight-l{letter-spacing:-.05em}.tracked-mega-l{letter-spacing:.25em}.lh-solid-l{line-height:1}.lh-title-l{line-height:1.25}.lh-copy-l{line-height:1.5}.mw-100-l{max-width:100%}.mw1-l{max-width:1rem}.mw2-l{max-width:2rem}.mw3-l{max-width:4rem}.mw4-l{max-width:8rem}.mw5-l{max-width:16rem}.mw6-l{max-width:32rem}.mw7-l{max-width:48rem}.mw8-l{max-width:64rem}.mw9-l{max-width:96rem}.mw-none-l{max-width:none}.w1-l{width:1rem}.w2-l{width:2rem}.w3-l{width:4rem}.w4-l{width:8rem}.w5-l{width:16rem}.w-10-l{width:10%}.w-20-l{width:20%}.w-25-l{width:25%}.w-30-l{width:30%}.w-33-l{width:33%}.w-34-l{width:34%}.w-40-l{width:40%}.w-50-l{width:50%}.w-60-l{width:60%}.w-70-l{width:70%}.w-75-l{width:75%}.w-80-l{width:80%}.w-90-l{width:90%}.w-100-l{width:100%}.w-third-l{width:33.33333%}.w-two-thirds-l{width:66.66667%}.w-auto-l{width:auto}.overflow-visible-l{overflow:visible}.overflow-hidden-l{overflow:hidden}.overflow-scroll-l{overflow:scroll}.overflow-auto-l{overflow:auto}.overflow-x-visible-l{overflow-x:visible}.overflow-x-hidden-l{overflow-x:hidden}.overflow-x-scroll-l{overflow-x:scroll}.overflow-x-auto-l{overflow-x:auto}.overflow-y-visible-l{overflow-y:visible}.overflow-y-hidden-l{overflow-y:hidden}.overflow-y-scroll-l{overflow-y:scroll}.overflow-y-auto-l{overflow-y:auto}.static-l{position:static}.relative-l{position:relative}.absolute-l{position:absolute}.fixed-l{position:fixed}.rotate-45-l{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90-l{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135-l{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180-l{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225-l{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270-l{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315-l{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.pa0-l{padding:0}.pa1-l{padding:.25rem}.pa2-l{padding:.5rem}.pa3-l{padding:1rem}.pa4-l{padding:2rem}.pa5-l{padding:4rem}.pa6-l{padding:8rem}.pa7-l{padding:16rem}.pl0-l{padding-left:0}.pl1-l{padding-left:.25rem}.pl2-l{padding-left:.5rem}.pl3-l{padding-left:1rem}.pl4-l{padding-left:2rem}.pl5-l{padding-left:4rem}.pl6-l{padding-left:8rem}.pl7-l{padding-left:16rem}.pr0-l{padding-right:0}.pr1-l{padding-right:.25rem}.pr2-l{padding-right:.5rem}.pr3-l{padding-right:1rem}.pr4-l{padding-right:2rem}.pr5-l{padding-right:4rem}.pr6-l{padding-right:8rem}.pr7-l{padding-right:16rem}.pb0-l{padding-bottom:0}.pb1-l{padding-bottom:.25rem}.pb2-l{padding-bottom:.5rem}.pb3-l{padding-bottom:1rem}.pb4-l{padding-bottom:2rem}.pb5-l{padding-bottom:4rem}.pb6-l{padding-bottom:8rem}.pb7-l{padding-bottom:16rem}.pt0-l{padding-top:0}.pt1-l{padding-top:.25rem}.pt2-l{padding-top:.5rem}.pt3-l{padding-top:1rem}.pt4-l{padding-top:2rem}.pt5-l{padding-top:4rem}.pt6-l{padding-top:8rem}.pt7-l{padding-top:16rem}.pv0-l{padding-top:0;padding-bottom:0}.pv1-l{padding-top:.25rem;padding-bottom:.25rem}.pv2-l{padding-top:.5rem;padding-bottom:.5rem}.pv3-l{padding-top:1rem;padding-bottom:1rem}.pv4-l{padding-top:2rem;padding-bottom:2rem}.pv5-l{padding-top:4rem;padding-bottom:4rem}.pv6-l{padding-top:8rem;padding-bottom:8rem}.pv7-l{padding-top:16rem;padding-bottom:16rem}.ph0-l{padding-left:0;padding-right:0}.ph1-l{padding-left:.25rem;padding-right:.25rem}.ph2-l{padding-left:.5rem;padding-right:.5rem}.ph3-l{padding-left:1rem;padding-right:1rem}.ph4-l{padding-left:2rem;padding-right:2rem}.ph5-l{padding-left:4rem;padding-right:4rem}.ph6-l{padding-left:8rem;padding-right:8rem}.ph7-l{padding-left:16rem;padding-right:16rem}.ma0-l{margin:0}.ma1-l{margin:.25rem}.ma2-l{margin:.5rem}.ma3-l{margin:1rem}.ma4-l{margin:2rem}.ma5-l{margin:4rem}.ma6-l{margin:8rem}.ma7-l{margin:16rem}.ml0-l{margin-left:0}.ml1-l{margin-left:.25rem}.ml2-l{margin-left:.5rem}.ml3-l{margin-left:1rem}.ml4-l{margin-left:2rem}.ml5-l{margin-left:4rem}.ml6-l{margin-left:8rem}.ml7-l{margin-left:16rem}.mr0-l{margin-right:0}.mr1-l{margin-right:.25rem}.mr2-l{margin-right:.5rem}.mr3-l{margin-right:1rem}.mr4-l{margin-right:2rem}.mr5-l{margin-right:4rem}.mr6-l{margin-right:8rem}.mr7-l{margin-right:16rem}.mb0-l{margin-bottom:0}.mb1-l{margin-bottom:.25rem}.mb2-l{margin-bottom:.5rem}.mb3-l{margin-bottom:1rem}.mb4-l{margin-bottom:2rem}.mb5-l{margin-bottom:4rem}.mb6-l{margin-bottom:8rem}.mb7-l{margin-bottom:16rem}.mt0-l{margin-top:0}.mt1-l{margin-top:.25rem}.mt2-l{margin-top:.5rem}.mt3-l{margin-top:1rem}.mt4-l{margin-top:2rem}.mt5-l{margin-top:4rem}.mt6-l{margin-top:8rem}.mt7-l{margin-top:16rem}.mv0-l{margin-top:0;margin-bottom:0}.mv1-l{margin-top:.25rem;margin-bottom:.25rem}.mv2-l{margin-top:.5rem;margin-bottom:.5rem}.mv3-l{margin-top:1rem;margin-bottom:1rem}.mv4-l{margin-top:2rem;margin-bottom:2rem}.mv5-l{margin-top:4rem;margin-bottom:4rem}.mv6-l{margin-top:8rem;margin-bottom:8rem}.mv7-l{margin-top:16rem;margin-bottom:16rem}.mh0-l{margin-left:0;margin-right:0}.mh1-l{margin-left:.25rem;margin-right:.25rem}.mh2-l{margin-left:.5rem;margin-right:.5rem}.mh3-l{margin-left:1rem;margin-right:1rem}.mh4-l{margin-left:2rem;margin-right:2rem}.mh5-l{margin-left:4rem;margin-right:4rem}.mh6-l{margin-left:8rem;margin-right:8rem}.mh7-l{margin-left:16rem;margin-right:16rem}.na1-l{margin:-.25rem}.na2-l{margin:-.5rem}.na3-l{margin:-1rem}.na4-l{margin:-2rem}.na5-l{margin:-4rem}.na6-l{margin:-8rem}.na7-l{margin:-16rem}.nl1-l{margin-left:-.25rem}.nl2-l{margin-left:-.5rem}.nl3-l{margin-left:-1rem}.nl4-l{margin-left:-2rem}.nl5-l{margin-left:-4rem}.nl6-l{margin-left:-8rem}.nl7-l{margin-left:-16rem}.nr1-l{margin-right:-.25rem}.nr2-l{margin-right:-.5rem}.nr3-l{margin-right:-1rem}.nr4-l{margin-right:-2rem}.nr5-l{margin-right:-4rem}.nr6-l{margin-right:-8rem}.nr7-l{margin-right:-16rem}.nb1-l{margin-bottom:-.25rem}.nb2-l{margin-bottom:-.5rem}.nb3-l{margin-bottom:-1rem}.nb4-l{margin-bottom:-2rem}.nb5-l{margin-bottom:-4rem}.nb6-l{margin-bottom:-8rem}.nb7-l{margin-bottom:-16rem}.nt1-l{margin-top:-.25rem}.nt2-l{margin-top:-.5rem}.nt3-l{margin-top:-1rem}.nt4-l{margin-top:-2rem}.nt5-l{margin-top:-4rem}.nt6-l{margin-top:-8rem}.nt7-l{margin-top:-16rem}.strike-l{text-decoration:line-through}.underline-l{text-decoration:underline}.no-underline-l{text-decoration:none}.tl-l{text-align:left}.tr-l{text-align:right}.tc-l{text-align:center}.tj-l{text-align:justify}.ttc-l{text-transform:capitalize}.ttl-l{text-transform:lowercase}.ttu-l{text-transform:uppercase}.ttn-l{text-transform:none}.f-6-l,.f-headline-l{font-size:6rem}.f-5-l,.f-subheadline-l{font-size:5rem}.f1-l{font-size:3rem}.f2-l{font-size:2.25rem}.f3-l{font-size:1.5rem}.f4-l{font-size:1.25rem}.f5-l{font-size:1rem}.f6-l{font-size:.875rem}.f7-l{font-size:.75rem}.measure-l{max-width:30em}.measure-wide-l{max-width:34em}.measure-narrow-l{max-width:20em}.indent-l{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-l{font-variant:small-caps}.truncate-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-l{margin-left:auto}.center-l,.mr-auto-l{margin-right:auto}.ml-auto-l{margin-left:auto}.clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal-l{white-space:normal}.nowrap-l{white-space:nowrap}.pre-l{white-space:pre}.v-base-l{vertical-align:baseline}.v-mid-l{vertical-align:middle}.v-top-l{vertical-align:top}.v-btm-l{vertical-align:bottom}}+
+ static/css/tachyons.min.css.gz view

binary file changed (absent → 13711 bytes)

static/js/app.js view
@@ -1,1 +1,13453 @@-var PS={};(function(exports){"use strict";exports.arrayBind=function(arr){return function(f){var result=[];for(var i=0,l=arr.length;i<l;i++){Array.prototype.push.apply(result,f(arr[i]))}return result}}})(PS["Control.Bind"]=PS["Control.Bind"]||{});(function(exports){"use strict";exports.arrayApply=function(fs){return function(xs){var l=fs.length;var k=xs.length;var result=new Array(l*k);var n=0;for(var i=0;i<l;i++){var f=fs[i];for(var j=0;j<k;j++){result[n++]=f(xs[j])}}return result}}})(PS["Control.Apply"]=PS["Control.Apply"]||{});(function(exports){"use strict";var Semigroupoid=function(compose){this.compose=compose};var semigroupoidFn=new Semigroupoid(function(f){return function(g){return function(x){return f(g(x))}}});var compose=function(dict){return dict.compose};exports["compose"]=compose;exports["Semigroupoid"]=Semigroupoid;exports["semigroupoidFn"]=semigroupoidFn})(PS["Control.Semigroupoid"]=PS["Control.Semigroupoid"]||{});(function(exports){"use strict";var Control_Semigroupoid=PS["Control.Semigroupoid"];var Category=function(Semigroupoid0,identity){this.Semigroupoid0=Semigroupoid0;this.identity=identity};var identity=function(dict){return dict.identity};var categoryFn=new Category(function(){return Control_Semigroupoid.semigroupoidFn},function(x){return x});exports["Category"]=Category;exports["identity"]=identity;exports["categoryFn"]=categoryFn})(PS["Control.Category"]=PS["Control.Category"]||{});(function(exports){"use strict";var otherwise=true;exports["otherwise"]=otherwise})(PS["Data.Boolean"]=PS["Data.Boolean"]||{});(function(exports){"use strict";exports.refEq=function(r1){return function(r2){return r1===r2}}})(PS["Data.Eq"]=PS["Data.Eq"]||{});(function(exports){"use strict";exports.boolConj=function(b1){return function(b2){return b1&&b2}};exports.boolDisj=function(b1){return function(b2){return b1||b2}};exports.boolNot=function(b){return!b}})(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{});(function(exports){"use strict";exports.unit={}})(PS["Data.Unit"]=PS["Data.Unit"]||{});(function(exports){"use strict";exports.showIntImpl=function(n){return n.toString()};exports.showStringImpl=function(s){var l=s.length;return'"'+s.replace(/[\0-\x1F\x7F"\\]/g,function(c,i){switch(c){case'"':case"\\":return"\\"+c;case"":return"\\a";case"\b":return"\\b";case"\f":return"\\f";case"\n":return"\\n";case"\r":return"\\r";case"\t":return"\\t";case"\v":return"\\v"}var k=i+1;var empty=k<l&&s[k]>="0"&&s[k]<="9"?"\\&":"";return"\\"+c.charCodeAt(0).toString(10)+empty})+'"'}})(PS["Data.Show"]=PS["Data.Show"]||{});(function(exports){"use strict";var $foreign=PS["Data.Show"];var Data_Symbol=PS["Data.Symbol"];var Record_Unsafe=PS["Record.Unsafe"];var Type_Data_RowList=PS["Type.Data.RowList"];var Show=function(show){this.show=show};var showString=new Show($foreign.showStringImpl);var showInt=new Show($foreign.showIntImpl);var show=function(dict){return dict.show};exports["Show"]=Show;exports["show"]=show;exports["showInt"]=showInt;exports["showString"]=showString})(PS["Data.Show"]=PS["Data.Show"]||{});(function(exports){"use strict";var $foreign=PS["Data.Unit"];var Data_Show=PS["Data.Show"];exports["unit"]=$foreign.unit})(PS["Data.Unit"]=PS["Data.Unit"]||{});(function(exports){"use strict";var $foreign=PS["Data.HeytingAlgebra"];var Data_Symbol=PS["Data.Symbol"];var Data_Unit=PS["Data.Unit"];var Record_Unsafe=PS["Record.Unsafe"];var Type_Data_Row=PS["Type.Data.Row"];var Type_Data_RowList=PS["Type.Data.RowList"];var HeytingAlgebra=function(conj,disj,ff,implies,not,tt){this.conj=conj;this.disj=disj;this.ff=ff;this.implies=implies;this.not=not;this.tt=tt};var tt=function(dict){return dict.tt};var not=function(dict){return dict.not};var implies=function(dict){return dict.implies};var ff=function(dict){return dict.ff};var disj=function(dict){return dict.disj};var heytingAlgebraBoolean=new HeytingAlgebra($foreign.boolConj,$foreign.boolDisj,false,function(a){return function(b){return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b)}},$foreign.boolNot,true);var conj=function(dict){return dict.conj};exports["HeytingAlgebra"]=HeytingAlgebra;exports["tt"]=tt;exports["ff"]=ff;exports["implies"]=implies;exports["conj"]=conj;exports["disj"]=disj;exports["not"]=not;exports["heytingAlgebraBoolean"]=heytingAlgebraBoolean})(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{});(function(exports){"use strict";var $foreign=PS["Data.Eq"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Symbol=PS["Data.Symbol"];var Data_Unit=PS["Data.Unit"];var Data_Void=PS["Data.Void"];var Record_Unsafe=PS["Record.Unsafe"];var Type_Data_RowList=PS["Type.Data.RowList"];var Eq=function(eq){this.eq=eq};var eqString=new Eq($foreign.refEq);var eqInt=new Eq($foreign.refEq);var eqChar=new Eq($foreign.refEq);var eq=function(dict){return dict.eq};exports["Eq"]=Eq;exports["eq"]=eq;exports["eqInt"]=eqInt;exports["eqChar"]=eqChar;exports["eqString"]=eqString})(PS["Data.Eq"]=PS["Data.Eq"]||{});(function(exports){"use strict";exports.unsafeCompareImpl=function(lt){return function(eq){return function(gt){return function(x){return function(y){return x<y?lt:x===y?eq:gt}}}}}})(PS["Data.Ord.Unsafe"]=PS["Data.Ord.Unsafe"]||{});(function(exports){"use strict";exports.concatString=function(s1){return function(s2){return s1+s2}}})(PS["Data.Semigroup"]=PS["Data.Semigroup"]||{});(function(exports){"use strict";var $foreign=PS["Data.Semigroup"];var Data_Symbol=PS["Data.Symbol"];var Data_Unit=PS["Data.Unit"];var Data_Void=PS["Data.Void"];var Record_Unsafe=PS["Record.Unsafe"];var Type_Data_RowList=PS["Type.Data.RowList"];var Semigroup=function(append){this.append=append};var semigroupString=new Semigroup($foreign.concatString);var append=function(dict){return dict.append};exports["Semigroup"]=Semigroup;exports["append"]=append;exports["semigroupString"]=semigroupString})(PS["Data.Semigroup"]=PS["Data.Semigroup"]||{});(function(exports){"use strict";var Data_Eq=PS["Data.Eq"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var LT=function(){function LT(){}LT.value=new LT;return LT}();var GT=function(){function GT(){}GT.value=new GT;return GT}();var EQ=function(){function EQ(){}EQ.value=new EQ;return EQ}();exports["LT"]=LT;exports["GT"]=GT;exports["EQ"]=EQ})(PS["Data.Ordering"]=PS["Data.Ordering"]||{});(function(exports){"use strict";var $foreign=PS["Data.Ord.Unsafe"];var Data_Ordering=PS["Data.Ordering"];var unsafeCompare=$foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);exports["unsafeCompare"]=unsafeCompare})(PS["Data.Ord.Unsafe"]=PS["Data.Ord.Unsafe"]||{});(function(exports){"use strict";exports.intSub=function(x){return function(y){return x-y|0}}})(PS["Data.Ring"]=PS["Data.Ring"]||{});(function(exports){"use strict";exports.intAdd=function(x){return function(y){return x+y|0}};exports.intMul=function(x){return function(y){return x*y|0}}})(PS["Data.Semiring"]=PS["Data.Semiring"]||{});(function(exports){"use strict";var $foreign=PS["Data.Semiring"];var Data_Symbol=PS["Data.Symbol"];var Data_Unit=PS["Data.Unit"];var Record_Unsafe=PS["Record.Unsafe"];var Type_Data_Row=PS["Type.Data.Row"];var Type_Data_RowList=PS["Type.Data.RowList"];var Semiring=function(add,mul,one,zero){this.add=add;this.mul=mul;this.one=one;this.zero=zero};var zero=function(dict){return dict.zero};var semiringInt=new Semiring($foreign.intAdd,$foreign.intMul,1,0);var one=function(dict){return dict.one};var mul=function(dict){return dict.mul};var add=function(dict){return dict.add};exports["Semiring"]=Semiring;exports["add"]=add;exports["zero"]=zero;exports["mul"]=mul;exports["one"]=one;exports["semiringInt"]=semiringInt})(PS["Data.Semiring"]=PS["Data.Semiring"]||{});(function(exports){"use strict";var $foreign=PS["Data.Ring"];var Data_Semiring=PS["Data.Semiring"];var Data_Symbol=PS["Data.Symbol"];var Data_Unit=PS["Data.Unit"];var Record_Unsafe=PS["Record.Unsafe"];var Type_Data_RowList=PS["Type.Data.RowList"];var Ring=function(Semiring0,sub){this.Semiring0=Semiring0;this.sub=sub};var sub=function(dict){return dict.sub};var ringInt=new Ring(function(){return Data_Semiring.semiringInt},$foreign.intSub);exports["Ring"]=Ring;exports["sub"]=sub;exports["ringInt"]=ringInt})(PS["Data.Ring"]=PS["Data.Ring"]||{});(function(exports){"use strict";var $foreign=PS["Data.Ord"];var Data_Eq=PS["Data.Eq"];var Data_Ord_Unsafe=PS["Data.Ord.Unsafe"];var Data_Ordering=PS["Data.Ordering"];var Data_Ring=PS["Data.Ring"];var Data_Semiring=PS["Data.Semiring"];var Data_Unit=PS["Data.Unit"];var Data_Void=PS["Data.Void"];var Ord=function(Eq0,compare){this.Eq0=Eq0;this.compare=compare};var ordInt=new Ord(function(){return Data_Eq.eqInt},Data_Ord_Unsafe.unsafeCompare);var ordChar=new Ord(function(){return Data_Eq.eqChar},Data_Ord_Unsafe.unsafeCompare);var compare=function(dict){return dict.compare};exports["Ord"]=Ord;exports["compare"]=compare;exports["ordInt"]=ordInt;exports["ordChar"]=ordChar})(PS["Data.Ord"]=PS["Data.Ord"]||{});(function(exports){"use strict";var Control_Category=PS["Control.Category"];var Data_Boolean=PS["Data.Boolean"];var Data_Ord=PS["Data.Ord"];var Data_Ring=PS["Data.Ring"];var on=function(f){return function(g){return function(x){return function(y){return f(g(x))(g(y))}}}};var flip=function(f){return function(b){return function(a){return f(a)(b)}}};var $$const=function(a){return function(v){return a}};exports["flip"]=flip;exports["const"]=$$const;exports["on"]=on})(PS["Data.Function"]=PS["Data.Function"]||{});(function(exports){"use strict";exports.arrayMap=function(f){return function(arr){var l=arr.length;var result=new Array(l);for(var i=0;i<l;i++){result[i]=f(arr[i])}return result}}})(PS["Data.Functor"]=PS["Data.Functor"]||{});(function(exports){"use strict";var $foreign=PS["Data.Functor"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Function=PS["Data.Function"];var Data_Unit=PS["Data.Unit"];var Functor=function(map){this.map=map};var map=function(dict){return dict.map};var $$void=function(dictFunctor){return map(dictFunctor)(Data_Function["const"](Data_Unit.unit))};var functorFn=new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));var functorArray=new Functor($foreign.arrayMap);exports["Functor"]=Functor;exports["map"]=map;exports["void"]=$$void;exports["functorFn"]=functorFn;exports["functorArray"]=functorArray})(PS["Data.Functor"]=PS["Data.Functor"]||{});(function(exports){"use strict";var $foreign=PS["Control.Apply"];var Control_Category=PS["Control.Category"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Apply=function(Functor0,apply){this.Functor0=Functor0;this.apply=apply};var applyArray=new Apply(function(){return Data_Functor.functorArray},$foreign.arrayApply);var apply=function(dict){return dict.apply};var applySecond=function(dictApply){return function(a){return function(b){return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function["const"](Control_Category.identity(Control_Category.categoryFn)))(a))(b)}}};exports["Apply"]=Apply;exports["apply"]=apply;exports["applySecond"]=applySecond;exports["applyArray"]=applyArray})(PS["Control.Apply"]=PS["Control.Apply"]||{});(function(exports){"use strict";var Control_Apply=PS["Control.Apply"];var Data_Functor=PS["Data.Functor"];var Data_Unit=PS["Data.Unit"];var Applicative=function(Apply0,pure){this.Apply0=Apply0;this.pure=pure};var pure=function(dict){return dict.pure};var when=function(dictApplicative){return function(v){return function(v1){if(v){return v1}if(!v){return pure(dictApplicative)(Data_Unit.unit)}throw new Error("Failed pattern match at Control.Applicative line 57, column 1 - line 57, column 63: "+[v.constructor.name,v1.constructor.name])}}};var liftA1=function(dictApplicative){return function(f){return function(a){return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a)}}};exports["Applicative"]=Applicative;exports["pure"]=pure;exports["liftA1"]=liftA1;exports["when"]=when})(PS["Control.Applicative"]=PS["Control.Applicative"]||{});(function(exports){"use strict";var $foreign=PS["Control.Bind"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Category=PS["Control.Category"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_Unit=PS["Data.Unit"];var Bind=function(Apply0,bind){this.Apply0=Apply0;this.bind=bind};var Discard=function(discard){this.discard=discard};var discard=function(dict){return dict.discard};var bindArray=new Bind(function(){return Control_Apply.applyArray},$foreign.arrayBind);var bind=function(dict){return dict.bind};var bindFlipped=function(dictBind){return Data_Function.flip(bind(dictBind))};var composeKleisliFlipped=function(dictBind){return function(f){return function(g){return function(a){return bindFlipped(dictBind)(f)(g(a))}}}};var discardUnit=new Discard(function(dictBind){return bind(dictBind)});var join=function(dictBind){return function(m){return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn))}};exports["Bind"]=Bind;exports["bind"]=bind;exports["bindFlipped"]=bindFlipped;exports["Discard"]=Discard;exports["discard"]=discard;exports["join"]=join;exports["composeKleisliFlipped"]=composeKleisliFlipped;exports["bindArray"]=bindArray;exports["discardUnit"]=discardUnit})(PS["Control.Bind"]=PS["Control.Bind"]||{});(function(exports){"use strict";exports.length=function(xs){return xs.length};exports.cons=function(e){return function(l){return[e].concat(l)}};exports.snoc=function(l){return function(e){var l1=l.slice();l1.push(e);return l1}};exports.concat=function(xss){if(xss.length<=1e4){return Array.prototype.concat.apply([],xss)}var result=[];for(var i=0,l=xss.length;i<l;i++){var xs=xss[i];for(var j=0,m=xs.length;j<m;j++){result.push(xs[j])}}return result};exports.filter=function(f){return function(xs){return xs.filter(f)}};exports.slice=function(s){return function(e){return function(l){return l.slice(s,e)}}}})(PS["Data.Array"]=PS["Data.Array"]||{});(function(exports){"use strict";var Data_Functor=PS["Data.Functor"];var Data_Semigroup=PS["Data.Semigroup"];var Alt=function(Functor0,alt){this.Functor0=Functor0;this.alt=alt};var alt=function(dict){return dict.alt};exports["Alt"]=Alt;exports["alt"]=alt})(PS["Control.Alt"]=PS["Control.Alt"]||{});(function(exports){"use strict";exports.foldrArray=function(f){return function(init){return function(xs){var acc=init;var len=xs.length;for(var i=len-1;i>=0;i--){acc=f(xs[i])(acc)}return acc}}};exports.foldlArray=function(f){return function(init){return function(xs){var acc=init;var len=xs.length;for(var i=0;i<len;i++){acc=f(acc)(xs[i])}return acc}}}})(PS["Data.Foldable"]=PS["Data.Foldable"]||{});(function(exports){"use strict";var Control_Alt=PS["Control.Alt"];var Data_Functor=PS["Data.Functor"];var Plus=function(Alt0,empty){this.Alt0=Alt0;this.empty=empty};var empty=function(dict){return dict.empty};exports["Plus"]=Plus;exports["empty"]=empty})(PS["Control.Plus"]=PS["Control.Plus"]||{});(function(exports){"use strict";var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Data_Functor=PS["Data.Functor"];var Data_Unit=PS["Data.Unit"];var Monad=function(Applicative0,Bind1){this.Applicative0=Applicative0;this.Bind1=Bind1};var liftM1=function(dictMonad){return function(f){return function(a){return Control_Bind.bind(dictMonad.Bind1())(a)(function(v){return Control_Applicative.pure(dictMonad.Applicative0())(f(v))})}}};var ap=function(dictMonad){return function(f){return function(a){return Control_Bind.bind(dictMonad.Bind1())(f)(function(v){return Control_Bind.bind(dictMonad.Bind1())(a)(function(v1){return Control_Applicative.pure(dictMonad.Applicative0())(v(v1))})})}}};exports["Monad"]=Monad;exports["liftM1"]=liftM1;exports["ap"]=ap})(PS["Control.Monad"]=PS["Control.Monad"]||{});(function(exports){"use strict";exports.topInt=2147483647;exports.bottomInt=-2147483648;exports.topChar=String.fromCharCode(65535);exports.bottomChar=String.fromCharCode(0)})(PS["Data.Bounded"]=PS["Data.Bounded"]||{});(function(exports){"use strict";var $foreign=PS["Data.Bounded"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Unit=PS["Data.Unit"];var Bounded=function(Ord0,bottom,top){this.Ord0=Ord0;this.bottom=bottom;this.top=top};var top=function(dict){return dict.top};var boundedInt=new Bounded(function(){return Data_Ord.ordInt},$foreign.bottomInt,$foreign.topInt);var boundedChar=new Bounded(function(){return Data_Ord.ordChar},$foreign.bottomChar,$foreign.topChar);var bottom=function(dict){return dict.bottom};exports["Bounded"]=Bounded;exports["bottom"]=bottom;exports["top"]=top;exports["boundedInt"]=boundedInt;exports["boundedChar"]=boundedChar})(PS["Data.Bounded"]=PS["Data.Bounded"]||{});(function(exports){"use strict";exports.intDegree=function(x){return Math.min(Math.abs(x),2147483647)};exports.intDiv=function(x){return function(y){if(y===0)return 0;return y>0?Math.floor(x/y):-Math.floor(x/-y)}};exports.intMod=function(x){return function(y){if(y===0)return 0;var yy=Math.abs(y);return(x%yy+yy)%yy}}})(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{});(function(exports){"use strict";var Data_Ring=PS["Data.Ring"];var Data_Semiring=PS["Data.Semiring"];var Data_Symbol=PS["Data.Symbol"];var Data_Unit=PS["Data.Unit"];var CommutativeRing=function(Ring0){this.Ring0=Ring0};var commutativeRingInt=new CommutativeRing(function(){return Data_Ring.ringInt});exports["CommutativeRing"]=CommutativeRing;exports["commutativeRingInt"]=commutativeRingInt})(PS["Data.CommutativeRing"]=PS["Data.CommutativeRing"]||{});(function(exports){"use strict";var $foreign=PS["Data.EuclideanRing"];var Data_BooleanAlgebra=PS["Data.BooleanAlgebra"];var Data_CommutativeRing=PS["Data.CommutativeRing"];var Data_Eq=PS["Data.Eq"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Ring=PS["Data.Ring"];var Data_Semiring=PS["Data.Semiring"];var EuclideanRing=function(CommutativeRing0,degree,div,mod){this.CommutativeRing0=CommutativeRing0;this.degree=degree;this.div=div;this.mod=mod};var mod=function(dict){return dict.mod};var euclideanRingInt=new EuclideanRing(function(){return Data_CommutativeRing.commutativeRingInt},$foreign.intDegree,$foreign.intDiv,$foreign.intMod);var div=function(dict){return dict.div};var degree=function(dict){return dict.degree};exports["EuclideanRing"]=EuclideanRing;exports["degree"]=degree;exports["div"]=div;exports["mod"]=mod;exports["euclideanRingInt"]=euclideanRingInt})(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{});(function(exports){"use strict";var Data_Boolean=PS["Data.Boolean"];var Data_Eq=PS["Data.Eq"];var Data_EuclideanRing=PS["Data.EuclideanRing"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Symbol=PS["Data.Symbol"];var Data_Unit=PS["Data.Unit"];var Record_Unsafe=PS["Record.Unsafe"];var Type_Data_RowList=PS["Type.Data.RowList"];var Monoid=function(Semigroup0,mempty){this.Semigroup0=Semigroup0;this.mempty=mempty};var monoidString=new Monoid(function(){return Data_Semigroup.semigroupString},"");var mempty=function(dict){return dict.mempty};exports["Monoid"]=Monoid;exports["mempty"]=mempty;exports["monoidString"]=monoidString})(PS["Data.Monoid"]=PS["Data.Monoid"]||{});(function(exports){"use strict";var Control_Alt=PS["Control.Alt"];var Control_Alternative=PS["Control.Alternative"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Category=PS["Control.Category"];var Control_Extend=PS["Control.Extend"];var Control_Monad=PS["Control.Monad"];var Control_MonadZero=PS["Control.MonadZero"];var Control_Plus=PS["Control.Plus"];var Data_Bounded=PS["Data.Bounded"];var Data_Eq=PS["Data.Eq"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_Functor_Invariant=PS["Data.Functor.Invariant"];var Data_Monoid=PS["Data.Monoid"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Data_Unit=PS["Data.Unit"];var Prelude=PS["Prelude"];var Nothing=function(){function Nothing(){}Nothing.value=new Nothing;return Nothing}();var Just=function(){function Just(value0){this.value0=value0}Just.create=function(value0){return new Just(value0)};return Just}();var maybe=function(v){return function(v1){return function(v2){if(v2 instanceof Nothing){return v}if(v2 instanceof Just){return v1(v2.value0)}throw new Error("Failed pattern match at Data.Maybe line 218, column 1 - line 218, column 51: "+[v.constructor.name,v1.constructor.name,v2.constructor.name])}}};var isNothing=maybe(true)(Data_Function["const"](false));var functorMaybe=new Data_Functor.Functor(function(v){return function(v1){if(v1 instanceof Just){return new Just(v(v1.value0))}return Nothing.value}});var fromMaybe=function(a){return maybe(a)(Control_Category.identity(Control_Category.categoryFn))};var fromJust=function(dictPartial){return function(v){var $__unused=function(dictPartial1){return function($dollar35){return $dollar35}};return $__unused(dictPartial)(function(){if(v instanceof Just){return v.value0}throw new Error("Failed pattern match at Data.Maybe line 269, column 1 - line 269, column 46: "+[v.constructor.name])}())}};var applyMaybe=new Control_Apply.Apply(function(){return functorMaybe},function(v){return function(v1){if(v instanceof Just){return Data_Functor.map(functorMaybe)(v.value0)(v1)}if(v instanceof Nothing){return Nothing.value}throw new Error("Failed pattern match at Data.Maybe line 67, column 1 - line 67, column 35: "+[v.constructor.name,v1.constructor.name])}});var bindMaybe=new Control_Bind.Bind(function(){return applyMaybe},function(v){return function(v1){if(v instanceof Just){return v1(v.value0)}if(v instanceof Nothing){return Nothing.value}throw new Error("Failed pattern match at Data.Maybe line 126, column 1 - line 126, column 33: "+[v.constructor.name,v1.constructor.name])}});exports["Nothing"]=Nothing;exports["Just"]=Just;exports["maybe"]=maybe;exports["fromMaybe"]=fromMaybe;exports["isNothing"]=isNothing;exports["fromJust"]=fromJust;exports["functorMaybe"]=functorMaybe;exports["applyMaybe"]=applyMaybe;exports["bindMaybe"]=bindMaybe})(PS["Data.Maybe"]=PS["Data.Maybe"]||{});(function(exports){"use strict";var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Monad=PS["Control.Monad"];var Data_Bounded=PS["Data.Bounded"];var Data_Eq=PS["Data.Eq"];var Data_Functor=PS["Data.Functor"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Monoid=PS["Data.Monoid"];var Data_Ord=PS["Data.Ord"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semiring=PS["Data.Semiring"];var Data_Show=PS["Data.Show"];var Prelude=PS["Prelude"];var Disj=function(x){return x};var semigroupDisj=function(dictHeytingAlgebra){return new Data_Semigroup.Semigroup(function(v){return function(v1){return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1)}})};var monoidDisj=function(dictHeytingAlgebra){return new Data_Monoid.Monoid(function(){return semigroupDisj(dictHeytingAlgebra)},Data_HeytingAlgebra.ff(dictHeytingAlgebra))};exports["Disj"]=Disj;exports["semigroupDisj"]=semigroupDisj;exports["monoidDisj"]=monoidDisj})(PS["Data.Monoid.Disj"]=PS["Data.Monoid.Disj"]||{});(function(exports){"use strict";var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_Monoid_Additive=PS["Data.Monoid.Additive"];var Data_Monoid_Conj=PS["Data.Monoid.Conj"];var Data_Monoid_Disj=PS["Data.Monoid.Disj"];var Data_Monoid_Dual=PS["Data.Monoid.Dual"];var Data_Monoid_Endo=PS["Data.Monoid.Endo"];var Data_Monoid_Multiplicative=PS["Data.Monoid.Multiplicative"];var Data_Semigroup_First=PS["Data.Semigroup.First"];var Data_Semigroup_Last=PS["Data.Semigroup.Last"];var Prelude=PS["Prelude"];var Newtype=function(unwrap,wrap){this.unwrap=unwrap;this.wrap=wrap};var wrap=function(dict){return dict.wrap};var unwrap=function(dict){return dict.unwrap};var newtypeDisj=new Newtype(function(v){return v},Data_Monoid_Disj.Disj);var alaF=function(dictFunctor){return function(dictFunctor1){return function(dictNewtype){return function(dictNewtype1){return function(v){return function(f){return function($80){return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)))}}}}}}};exports["unwrap"]=unwrap;exports["wrap"]=wrap;exports["Newtype"]=Newtype;exports["alaF"]=alaF;exports["newtypeDisj"]=newtypeDisj})(PS["Data.Newtype"]=PS["Data.Newtype"]||{});(function(exports){"use strict";var $foreign=PS["Data.Foldable"];var Control_Alt=PS["Control.Alt"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Category=PS["Control.Category"];var Control_Plus=PS["Control.Plus"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Eq=PS["Data.Eq"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Maybe=PS["Data.Maybe"];var Data_Maybe_First=PS["Data.Maybe.First"];var Data_Maybe_Last=PS["Data.Maybe.Last"];var Data_Monoid=PS["Data.Monoid"];var Data_Monoid_Additive=PS["Data.Monoid.Additive"];var Data_Monoid_Conj=PS["Data.Monoid.Conj"];var Data_Monoid_Disj=PS["Data.Monoid.Disj"];var Data_Monoid_Dual=PS["Data.Monoid.Dual"];var Data_Monoid_Endo=PS["Data.Monoid.Endo"];var Data_Monoid_Multiplicative=PS["Data.Monoid.Multiplicative"];var Data_Newtype=PS["Data.Newtype"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semiring=PS["Data.Semiring"];var Data_Unit=PS["Data.Unit"];var Prelude=PS["Prelude"];var Foldable=function(foldMap,foldl,foldr){this.foldMap=foldMap;this.foldl=foldl;this.foldr=foldr};var foldr=function(dict){return dict.foldr};var traverse_=function(dictApplicative){return function(dictFoldable){return function(f){return foldr(dictFoldable)(function($195){return Control_Apply.applySecond(dictApplicative.Apply0())(f($195))})(Control_Applicative.pure(dictApplicative)(Data_Unit.unit))}}};var for_=function(dictApplicative){return function(dictFoldable){return Data_Function.flip(traverse_(dictApplicative)(dictFoldable))}};var foldl=function(dict){return dict.foldl};var intercalate=function(dictFoldable){return function(dictMonoid){return function(sep){return function(xs){var go=function(v){return function(x){if(v.init){return{init:false,acc:x}}return{init:false,acc:Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))}}};return foldl(dictFoldable)(go)({init:true,acc:Data_Monoid.mempty(dictMonoid)})(xs).acc}}}};var foldableMaybe=new Foldable(function(dictMonoid){return function(f){return function(v){if(v instanceof Data_Maybe.Nothing){return Data_Monoid.mempty(dictMonoid)}if(v instanceof Data_Maybe.Just){return f(v.value0)}throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[f.constructor.name,v.constructor.name])}}},function(v){return function(z){return function(v1){if(v1 instanceof Data_Maybe.Nothing){return z}if(v1 instanceof Data_Maybe.Just){return v(z)(v1.value0)}throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[v.constructor.name,z.constructor.name,v1.constructor.name])}}},function(v){return function(z){return function(v1){if(v1 instanceof Data_Maybe.Nothing){return z}if(v1 instanceof Data_Maybe.Just){return v(v1.value0)(z)}throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[v.constructor.name,z.constructor.name,v1.constructor.name])}}});var foldMapDefaultR=function(dictFoldable){return function(dictMonoid){return function(f){return foldr(dictFoldable)(function(x){return function(acc){return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc)}})(Data_Monoid.mempty(dictMonoid))}}};var foldableArray=new Foldable(function(dictMonoid){return foldMapDefaultR(foldableArray)(dictMonoid)},$foreign.foldlArray,$foreign.foldrArray);var foldMap=function(dict){return dict.foldMap};var any=function(dictFoldable){return function(dictHeytingAlgebra){return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)))}};exports["Foldable"]=Foldable;exports["foldr"]=foldr;exports["foldl"]=foldl;exports["foldMap"]=foldMap;exports["foldMapDefaultR"]=foldMapDefaultR;exports["traverse_"]=traverse_;exports["for_"]=for_;exports["intercalate"]=intercalate;exports["any"]=any;exports["foldableArray"]=foldableArray;exports["foldableMaybe"]=foldableMaybe})(PS["Data.Foldable"]=PS["Data.Foldable"]||{});(function(exports){"use strict";exports.traverseArrayImpl=function(){function array1(a){return[a]}function array2(a){return function(b){return[a,b]}}function array3(a){return function(b){return function(c){return[a,b,c]}}}function concat2(xs){return function(ys){return xs.concat(ys)}}return function(apply){return function(map){return function(pure){return function(f){return function(array){function go(bot,top){switch(top-bot){case 0:return pure([]);case 1:return map(array1)(f(array[bot]));case 2:return apply(map(array2)(f(array[bot])))(f(array[bot+1]));case 3:return apply(apply(map(array3)(f(array[bot])))(f(array[bot+1])))(f(array[bot+2]));default:var pivot=bot+Math.floor((top-bot)/4)*2;return apply(map(concat2)(go(bot,pivot)))(go(pivot,top))}}return go(0,array.length)}}}}}}()})(PS["Data.Traversable"]=PS["Data.Traversable"]||{});(function(exports){"use strict";var $foreign=PS["Data.Traversable"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Category=PS["Control.Category"];var Data_Foldable=PS["Data.Foldable"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Maybe_First=PS["Data.Maybe.First"];var Data_Maybe_Last=PS["Data.Maybe.Last"];var Data_Monoid_Additive=PS["Data.Monoid.Additive"];var Data_Monoid_Conj=PS["Data.Monoid.Conj"];var Data_Monoid_Disj=PS["Data.Monoid.Disj"];var Data_Monoid_Dual=PS["Data.Monoid.Dual"];var Data_Monoid_Multiplicative=PS["Data.Monoid.Multiplicative"];var Data_Traversable_Accum=PS["Data.Traversable.Accum"];var Data_Traversable_Accum_Internal=PS["Data.Traversable.Accum.Internal"];var Prelude=PS["Prelude"];var Traversable=function(Foldable1,Functor0,sequence,traverse){this.Foldable1=Foldable1;this.Functor0=Functor0;this.sequence=sequence;this.traverse=traverse};var traverse=function(dict){return dict.traverse};var traversableMaybe=new Traversable(function(){return Data_Foldable.foldableMaybe},function(){return Data_Maybe.functorMaybe},function(dictApplicative){return function(v){if(v instanceof Data_Maybe.Nothing){return Control_Applicative.pure(dictApplicative)(Data_Maybe.Nothing.value)}if(v instanceof Data_Maybe.Just){return Data_Functor.map(dictApplicative.Apply0().Functor0())(Data_Maybe.Just.create)(v.value0)}throw new Error("Failed pattern match at Data.Traversable line 86, column 1 - line 86, column 47: "+[v.constructor.name])}},function(dictApplicative){return function(v){return function(v1){if(v1 instanceof Data_Maybe.Nothing){return Control_Applicative.pure(dictApplicative)(Data_Maybe.Nothing.value)}if(v1 instanceof Data_Maybe.Just){return Data_Functor.map(dictApplicative.Apply0().Functor0())(Data_Maybe.Just.create)(v(v1.value0))}throw new Error("Failed pattern match at Data.Traversable line 86, column 1 - line 86, column 47: "+[v.constructor.name,v1.constructor.name])}}});var sequenceDefault=function(dictTraversable){return function(dictApplicative){return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn))}};var traversableArray=new Traversable(function(){return Data_Foldable.foldableArray},function(){return Data_Functor.functorArray},function(dictApplicative){return sequenceDefault(traversableArray)(dictApplicative)},function(dictApplicative){return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map(dictApplicative.Apply0().Functor0()))(Control_Applicative.pure(dictApplicative))});var sequence=function(dict){return dict.sequence};var $$for=function(dictApplicative){return function(dictTraversable){return function(x){return function(f){return traverse(dictTraversable)(dictApplicative)(f)(x)}}}};exports["Traversable"]=Traversable;exports["traverse"]=traverse;exports["sequence"]=sequence;exports["sequenceDefault"]=sequenceDefault;exports["for"]=$$for;exports["traversableArray"]=traversableArray;exports["traversableMaybe"]=traversableMaybe})(PS["Data.Traversable"]=PS["Data.Traversable"]||{});(function(exports){"use strict";var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Biapplicative=PS["Control.Biapplicative"];var Control_Biapply=PS["Control.Biapply"];var Control_Bind=PS["Control.Bind"];var Control_Comonad=PS["Control.Comonad"];var Control_Extend=PS["Control.Extend"];var Control_Lazy=PS["Control.Lazy"];var Control_Monad=PS["Control.Monad"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Bifoldable=PS["Data.Bifoldable"];var Data_Bifunctor=PS["Data.Bifunctor"];var Data_Bitraversable=PS["Data.Bitraversable"];var Data_BooleanAlgebra=PS["Data.BooleanAlgebra"];var Data_Bounded=PS["Data.Bounded"];var Data_CommutativeRing=PS["Data.CommutativeRing"];var Data_Distributive=PS["Data.Distributive"];var Data_Eq=PS["Data.Eq"];var Data_Foldable=PS["Data.Foldable"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_Functor_Invariant=PS["Data.Functor.Invariant"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Maybe=PS["Data.Maybe"];var Data_Maybe_First=PS["Data.Maybe.First"];var Data_Monoid=PS["Data.Monoid"];var Data_Newtype=PS["Data.Newtype"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Ring=PS["Data.Ring"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semiring=PS["Data.Semiring"];var Data_Show=PS["Data.Show"];var Data_Traversable=PS["Data.Traversable"];var Data_Unit=PS["Data.Unit"];var Prelude=PS["Prelude"];var Type_Equality=PS["Type.Equality"];var Tuple=function(){function Tuple(value0,value1){this.value0=value0;this.value1=value1}Tuple.create=function(value0){return function(value1){return new Tuple(value0,value1)}};return Tuple}();var snd=function(v){return v.value1};var fst=function(v){return v.value0};exports["Tuple"]=Tuple;exports["fst"]=fst;exports["snd"]=snd})(PS["Data.Tuple"]=PS["Data.Tuple"]||{});(function(exports){"use strict";exports.unfoldrArrayImpl=function(isNothing){return function(fromJust){return function(fst){return function(snd){return function(f){return function(b){var result=[];var value=b;while(true){var maybe=f(value);if(isNothing(maybe))return result;var tuple=fromJust(maybe);result.push(fst(tuple));value=snd(tuple)}}}}}}}})(PS["Data.Unfoldable"]=PS["Data.Unfoldable"]||{});(function(exports){"use strict";exports.unfoldr1ArrayImpl=function(isNothing){return function(fromJust){return function(fst){return function(snd){return function(f){return function(b){var result=[];var value=b;while(true){var tuple=f(value);result.push(fst(tuple));var maybe=snd(tuple);if(isNothing(maybe))return result;value=fromJust(maybe)}}}}}}}})(PS["Data.Unfoldable1"]=PS["Data.Unfoldable1"]||{});(function(exports){"use strict";exports.unsafePartial=function(f){return f()}})(PS["Partial.Unsafe"]=PS["Partial.Unsafe"]||{});(function(exports){"use strict";exports.crashWith=function(){return function(msg){throw new Error(msg)}}})(PS["Partial"]=PS["Partial"]||{});(function(exports){"use strict";var $foreign=PS["Partial"];exports["crashWith"]=$foreign.crashWith})(PS["Partial"]=PS["Partial"]||{});(function(exports){"use strict";var $foreign=PS["Partial.Unsafe"];var Partial=PS["Partial"];var unsafeCrashWith=function(msg){return $foreign.unsafePartial(function(dictPartial){return Partial.crashWith(dictPartial)(msg)})};exports["unsafeCrashWith"]=unsafeCrashWith})(PS["Partial.Unsafe"]=PS["Partial.Unsafe"]||{});(function(exports){"use strict";var $foreign=PS["Data.Unfoldable1"];var Data_Boolean=PS["Data.Boolean"];var Data_Eq=PS["Data.Eq"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Ring=PS["Data.Ring"];var Data_Semigroup_Traversable=PS["Data.Semigroup.Traversable"];var Data_Semiring=PS["Data.Semiring"];var Data_Tuple=PS["Data.Tuple"];var Partial_Unsafe=PS["Partial.Unsafe"];var Prelude=PS["Prelude"];var Unfoldable1=function(unfoldr1){this.unfoldr1=unfoldr1};var unfoldr1=function(dict){return dict.unfoldr1};var unfoldable1Array=new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));exports["Unfoldable1"]=Unfoldable1;exports["unfoldr1"]=unfoldr1;exports["unfoldable1Array"]=unfoldable1Array})(PS["Data.Unfoldable1"]=PS["Data.Unfoldable1"]||{});(function(exports){"use strict";var $foreign=PS["Data.Unfoldable"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Ring=PS["Data.Ring"];var Data_Traversable=PS["Data.Traversable"];var Data_Tuple=PS["Data.Tuple"];var Data_Unfoldable1=PS["Data.Unfoldable1"];var Data_Unit=PS["Data.Unit"];var Partial_Unsafe=PS["Partial.Unsafe"];var Prelude=PS["Prelude"];var Unfoldable=function(Unfoldable10,unfoldr){this.Unfoldable10=Unfoldable10;this.unfoldr=unfoldr};var unfoldr=function(dict){return dict.unfoldr};var unfoldableArray=new Unfoldable(function(){return Data_Unfoldable1.unfoldable1Array},$foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));exports["Unfoldable"]=Unfoldable;exports["unfoldr"]=unfoldr;exports["unfoldableArray"]=unfoldableArray})(PS["Data.Unfoldable"]=PS["Data.Unfoldable"]||{});(function(exports){"use strict";exports.unsafeCoerce=function(x){return x}})(PS["Unsafe.Coerce"]=PS["Unsafe.Coerce"]||{});(function(exports){"use strict";var $foreign=PS["Unsafe.Coerce"];exports["unsafeCoerce"]=$foreign.unsafeCoerce})(PS["Unsafe.Coerce"]=PS["Unsafe.Coerce"]||{});(function(exports){"use strict";var $foreign=PS["Data.Array"];var Control_Alt=PS["Control.Alt"];var Control_Alternative=PS["Control.Alternative"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Category=PS["Control.Category"];var Control_Lazy=PS["Control.Lazy"];var Control_Monad_Rec_Class=PS["Control.Monad.Rec.Class"];var Control_Monad_ST=PS["Control.Monad.ST"];var Control_Monad_ST_Internal=PS["Control.Monad.ST.Internal"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Array_NonEmpty_Internal=PS["Data.Array.NonEmpty.Internal"];var Data_Array_ST=PS["Data.Array.ST"];var Data_Array_ST_Iterator=PS["Data.Array.ST.Iterator"];var Data_Boolean=PS["Data.Boolean"];var Data_Eq=PS["Data.Eq"];var Data_Foldable=PS["Data.Foldable"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Ring=PS["Data.Ring"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semiring=PS["Data.Semiring"];var Data_Traversable=PS["Data.Traversable"];var Data_Tuple=PS["Data.Tuple"];var Data_Unfoldable=PS["Data.Unfoldable"];var Partial_Unsafe=PS["Partial.Unsafe"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var singleton=function(a){return[a]};var concatMap=Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));var mapMaybe=function(f){return concatMap(function($114){return Data_Maybe.maybe([])(singleton)(f($114))})};exports["singleton"]=singleton;exports["concatMap"]=concatMap;exports["mapMaybe"]=mapMaybe;exports["length"]=$foreign.length;exports["cons"]=$foreign.cons;exports["snoc"]=$foreign.snoc;exports["filter"]=$foreign.filter})(PS["Data.Array"]=PS["Data.Array"]||{});(function(exports){"use strict";var Control_Alt=PS["Control.Alt"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Extend=PS["Control.Extend"];var Control_Monad=PS["Control.Monad"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Bifoldable=PS["Data.Bifoldable"];var Data_Bifunctor=PS["Data.Bifunctor"];var Data_Bitraversable=PS["Data.Bitraversable"];var Data_Bounded=PS["Data.Bounded"];var Data_Eq=PS["Data.Eq"];var Data_Foldable=PS["Data.Foldable"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_Functor_Invariant=PS["Data.Functor.Invariant"];var Data_Maybe=PS["Data.Maybe"];var Data_Monoid=PS["Data.Monoid"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Data_Traversable=PS["Data.Traversable"];var Prelude=PS["Prelude"];var Left=function(){function Left(value0){this.value0=value0}Left.create=function(value0){return new Left(value0)};return Left}();var Right=function(){function Right(value0){this.value0=value0}Right.create=function(value0){return new Right(value0)};return Right}();var functorEither=new Data_Functor.Functor(function(f){return function(m){if(m instanceof Left){return new Left(m.value0)}if(m instanceof Right){return new Right(f(m.value0))}throw new Error("Failed pattern match at Data.Either line 35, column 8 - line 35, column 52: "+[m.constructor.name])}});var either=function(v){return function(v1){return function(v2){if(v2 instanceof Left){return v(v2.value0)}if(v2 instanceof Right){return v1(v2.value0)}throw new Error("Failed pattern match at Data.Either line 220, column 1 - line 220, column 64: "+[v.constructor.name,v1.constructor.name,v2.constructor.name])}}};exports["Left"]=Left;exports["Right"]=Right;exports["either"]=either;exports["functorEither"]=functorEither})(PS["Data.Either"]=PS["Data.Either"]||{});(function(exports){"use strict";exports.replace=function(s1){return function(s2){return function(s3){return s3.replace(s1,s2)}}};exports.replaceAll=function(s1){return function(s2){return function(s3){return s3.replace(new RegExp(s1.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),s2)}}};exports.split=function(sep){return function(s){return s.split(sep)}};exports.trim=function(s){return s.trim()};exports.joinWith=function(s){return function(xs){return xs.join(s)}}})(PS["Data.String.Common"]=PS["Data.String.Common"]||{});(function(exports){"use strict";var $foreign=PS["Data.String.Common"];var Data_Eq=PS["Data.Eq"];var Data_Ordering=PS["Data.Ordering"];var Data_String_Pattern=PS["Data.String.Pattern"];var Prelude=PS["Prelude"];exports["replaceAll"]=$foreign.replaceAll;exports["split"]=$foreign.split;exports["trim"]=$foreign.trim;exports["joinWith"]=$foreign.joinWith})(PS["Data.String.Common"]=PS["Data.String.Common"]||{});(function(exports){"use strict";exports.unsafeEncodeURIComponent=encodeURIComponent})(PS["Global.Unsafe"]=PS["Global.Unsafe"]||{});(function(exports){"use strict";var $foreign=PS["Global.Unsafe"];exports["unsafeEncodeURIComponent"]=$foreign.unsafeEncodeURIComponent})(PS["Global.Unsafe"]=PS["Global.Unsafe"]||{});(function(exports){"use strict";var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Eq=PS["Data.Eq"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Monoid=PS["Data.Monoid"];var Data_Newtype=PS["Data.Newtype"];var Data_Ord=PS["Data.Ord"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Data_String=PS["Data.String"];var Data_String_Common=PS["Data.String.Common"];var Data_Tuple=PS["Data.Tuple"];var Global_Unsafe=PS["Global.Unsafe"];var Prelude=PS["Prelude"];var FormURLEncoded=function(x){return x};var toArray=function(v){return v};var encode=function(){var encodePart=function(v){if(v.value1 instanceof Data_Maybe.Nothing){return Global_Unsafe.unsafeEncodeURIComponent(v.value0)}if(v.value1 instanceof Data_Maybe.Just){return Global_Unsafe.unsafeEncodeURIComponent(v.value0)+("="+Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0))}throw new Error("Failed pattern match at Data.FormURLEncoded line 35, column 18 - line 37, column 89: "+[v.constructor.name])};return function($14){return Data_String_Common.joinWith("&")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)))}}();exports["FormURLEncoded"]=FormURLEncoded;exports["toArray"]=toArray;exports["encode"]=encode})(PS["Data.FormURLEncoded"]=PS["Data.FormURLEncoded"]||{});(function(exports){"use strict";var Data_Either=PS["Data.Either"];var Data_Eq=PS["Data.Eq"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Data_String=PS["Data.String"];var Data_String_Common=PS["Data.String.Common"];var Prelude=PS["Prelude"];var OPTIONS=function(){function OPTIONS(){}OPTIONS.value=new OPTIONS;return OPTIONS}();var GET=function(){function GET(){}GET.value=new GET;return GET}();var HEAD=function(){function HEAD(){}HEAD.value=new HEAD;return HEAD}();var POST=function(){function POST(){}POST.value=new POST;return POST}();var PUT=function(){function PUT(){}PUT.value=new PUT;return PUT}();var DELETE=function(){function DELETE(){}DELETE.value=new DELETE;return DELETE}();var TRACE=function(){function TRACE(){}TRACE.value=new TRACE;return TRACE}();var CONNECT=function(){function CONNECT(){}CONNECT.value=new CONNECT;return CONNECT}();var PROPFIND=function(){function PROPFIND(){}PROPFIND.value=new PROPFIND;return PROPFIND}();var PROPPATCH=function(){function PROPPATCH(){}PROPPATCH.value=new PROPPATCH;return PROPPATCH}();var MKCOL=function(){function MKCOL(){}MKCOL.value=new MKCOL;return MKCOL}();var COPY=function(){function COPY(){}COPY.value=new COPY;return COPY}();var MOVE=function(){function MOVE(){}MOVE.value=new MOVE;return MOVE}();var LOCK=function(){function LOCK(){}LOCK.value=new LOCK;return LOCK}();var UNLOCK=function(){function UNLOCK(){}UNLOCK.value=new UNLOCK;return UNLOCK}();var PATCH=function(){function PATCH(){}PATCH.value=new PATCH;return PATCH}();var unCustomMethod=function(v){return v};var showMethod=new Data_Show.Show(function(v){if(v instanceof OPTIONS){return"OPTIONS"}if(v instanceof GET){return"GET"}if(v instanceof HEAD){return"HEAD"}if(v instanceof POST){return"POST"}if(v instanceof PUT){return"PUT"}if(v instanceof DELETE){return"DELETE"}if(v instanceof TRACE){return"TRACE"}if(v instanceof CONNECT){return"CONNECT"}if(v instanceof PROPFIND){return"PROPFIND"}if(v instanceof PROPPATCH){return"PROPPATCH"}if(v instanceof MKCOL){return"MKCOL"}if(v instanceof COPY){return"COPY"}if(v instanceof MOVE){return"MOVE"}if(v instanceof LOCK){return"LOCK"}if(v instanceof UNLOCK){return"UNLOCK"}if(v instanceof PATCH){return"PATCH"}throw new Error("Failed pattern match at Data.HTTP.Method line 40, column 1 - line 40, column 35: "+[v.constructor.name])});var print=Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);exports["OPTIONS"]=OPTIONS;exports["GET"]=GET;exports["HEAD"]=HEAD;exports["POST"]=POST;exports["PUT"]=PUT;exports["DELETE"]=DELETE;exports["TRACE"]=TRACE;exports["CONNECT"]=CONNECT;exports["PROPFIND"]=PROPFIND;exports["PROPPATCH"]=PROPPATCH;exports["MKCOL"]=MKCOL;exports["COPY"]=COPY;exports["MOVE"]=MOVE;exports["LOCK"]=LOCK;exports["UNLOCK"]=UNLOCK;exports["PATCH"]=PATCH;exports["unCustomMethod"]=unCustomMethod;exports["print"]=print;exports["showMethod"]=showMethod})(PS["Data.HTTP.Method"]=PS["Data.HTTP.Method"]||{});(function(exports){"use strict";var Data_Eq=PS["Data.Eq"];var Data_Newtype=PS["Data.Newtype"];var Data_Ord=PS["Data.Ord"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Prelude=PS["Prelude"];var MediaType=function(x){return x};var newtypeMediaType=new Data_Newtype.Newtype(function(n){return n},MediaType);exports["MediaType"]=MediaType;exports["newtypeMediaType"]=newtypeMediaType})(PS["Data.MediaType"]=PS["Data.MediaType"]||{});(function(exports){"use strict";var Data_MediaType=PS["Data.MediaType"];var applicationJSON="application/json";var applicationFormURLEncoded="application/x-www-form-urlencoded";exports["applicationFormURLEncoded"]=applicationFormURLEncoded;exports["applicationJSON"]=applicationJSON})(PS["Data.MediaType.Common"]=PS["Data.MediaType.Common"]||{});(function(exports){"use strict";exports.pureE=function(a){return function(){return a}};exports.bindE=function(a){return function(f){return function(){return f(a())()}}}})(PS["Effect"]=PS["Effect"]||{});(function(exports){"use strict";var $foreign=PS["Effect"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Monad=PS["Control.Monad"];var Data_Functor=PS["Data.Functor"];var Data_Monoid=PS["Data.Monoid"];var Data_Semigroup=PS["Data.Semigroup"];var Prelude=PS["Prelude"];var monadEffect=new Control_Monad.Monad(function(){return applicativeEffect},function(){return bindEffect});var bindEffect=new Control_Bind.Bind(function(){return applyEffect},$foreign.bindE);var applyEffect=new Control_Apply.Apply(function(){return functorEffect},Control_Monad.ap(monadEffect));var applicativeEffect=new Control_Applicative.Applicative(function(){return applyEffect},$foreign.pureE);var functorEffect=new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));exports["functorEffect"]=functorEffect;exports["applyEffect"]=applyEffect;exports["applicativeEffect"]=applicativeEffect;exports["bindEffect"]=bindEffect;exports["monadEffect"]=monadEffect})(PS["Effect"]=PS["Effect"]||{});(function(exports){"use strict";var Aff=function(){var EMPTY={};var PURE="Pure";var THROW="Throw";var CATCH="Catch";var SYNC="Sync";var ASYNC="Async";var BIND="Bind";var BRACKET="Bracket";var FORK="Fork";var SEQ="Sequential";var MAP="Map";var APPLY="Apply";var ALT="Alt";var CONS="Cons";var RESUME="Resume";var RELEASE="Release";var FINALIZER="Finalizer";var FINALIZED="Finalized";var FORKED="Forked";var FIBER="Fiber";var THUNK="Thunk";function Aff(tag,_1,_2,_3){this.tag=tag;this._1=_1;this._2=_2;this._3=_3}function AffCtr(tag){var fn=function(_1,_2,_3){return new Aff(tag,_1,_2,_3)};fn.tag=tag;return fn}function nonCanceler(error){return new Aff(PURE,void 0)}function runEff(eff){try{eff()}catch(error){setTimeout(function(){throw error},0)}}function runSync(left,right,eff){try{return right(eff())}catch(error){return left(error)}}function runAsync(left,eff,k){try{return eff(k)()}catch(error){k(left(error))();return nonCanceler}}var Scheduler=function(){var limit=1024;var size=0;var ix=0;var queue=new Array(limit);var draining=false;function drain(){var thunk;draining=true;while(size!==0){size--;thunk=queue[ix];queue[ix]=void 0;ix=(ix+1)%limit;thunk()}draining=false}return{isDraining:function(){return draining},enqueue:function(cb){var i,tmp;if(size===limit){tmp=draining;drain();draining=tmp}queue[(ix+size)%limit]=cb;size++;if(!draining){drain()}}}}();function Supervisor(util){var fibers={};var fiberId=0;var count=0;return{register:function(fiber){var fid=fiberId++;fiber.onComplete({rethrow:true,handler:function(result){return function(){count--;delete fibers[fid]}}});fibers[fid]=fiber;count++},isEmpty:function(){return count===0},killAll:function(killError,cb){return function(){var killCount=0;var kills={};function kill(fid){kills[fid]=fibers[fid].kill(killError,function(result){return function(){delete kills[fid];killCount--;if(util.isLeft(result)&&util.fromLeft(result)){setTimeout(function(){throw util.fromLeft(result)},0)}if(killCount===0){cb()}}})()}for(var k in fibers){if(fibers.hasOwnProperty(k)){killCount++;kill(k)}}fibers={};fiberId=0;count=0;return function(error){return new Aff(SYNC,function(){for(var k in kills){if(kills.hasOwnProperty(k)){kills[k]()}}})}}}}}var SUSPENDED=0;var CONTINUE=1;var STEP_BIND=2;var STEP_RESULT=3;var PENDING=4;var RETURN=5;var COMPLETED=6;function Fiber(util,supervisor,aff){var runTick=0;var status=SUSPENDED;var step=aff;var fail=null;var interrupt=null;var bhead=null;var btail=null;var attempts=null;var bracketCount=0;var joinId=0;var joins=null;var rethrow=true;function run(localRunTick){var tmp,result,attempt,canceler;while(true){tmp=null;result=null;attempt=null;canceler=null;switch(status){case STEP_BIND:status=CONTINUE;step=bhead(step);if(btail===null){bhead=null}else{bhead=btail._1;btail=btail._2}break;case STEP_RESULT:if(util.isLeft(step)){status=RETURN;fail=step;step=null}else if(bhead===null){status=RETURN}else{status=STEP_BIND;step=util.fromRight(step)}break;case CONTINUE:switch(step.tag){case BIND:if(bhead){btail=new Aff(CONS,bhead,btail)}bhead=step._2;status=CONTINUE;step=step._1;break;case PURE:if(bhead===null){status=RETURN;step=util.right(step._1)}else{status=STEP_BIND;step=step._1}break;case SYNC:status=STEP_RESULT;step=runSync(util.left,util.right,step._1);break;case ASYNC:status=PENDING;step=runAsync(util.left,step._1,function(result){return function(){if(runTick!==localRunTick){return}runTick++;Scheduler.enqueue(function(){status=STEP_RESULT;step=result;run(runTick)})}});return;case THROW:status=RETURN;fail=util.left(step._1);step=null;break;case CATCH:if(bhead===null){attempts=new Aff(CONS,step,attempts,interrupt)}else{attempts=new Aff(CONS,step,new Aff(CONS,new Aff(RESUME,bhead,btail),attempts,interrupt),interrupt)}bhead=null;btail=null;status=CONTINUE;step=step._1;break;case BRACKET:bracketCount++;if(bhead===null){attempts=new Aff(CONS,step,attempts,interrupt)}else{attempts=new Aff(CONS,step,new Aff(CONS,new Aff(RESUME,bhead,btail),attempts,interrupt),interrupt)}bhead=null;btail=null;status=CONTINUE;step=step._1;break;case FORK:status=STEP_RESULT;tmp=Fiber(util,supervisor,step._2);if(supervisor){supervisor.register(tmp)}if(step._1){tmp.run()}step=util.right(tmp);break;case SEQ:status=CONTINUE;step=sequential(util,supervisor,step._1);break}break;case RETURN:bhead=null;btail=null;if(attempts===null){status=COMPLETED;step=interrupt||fail||step}else{tmp=attempts._3;attempt=attempts._1;attempts=attempts._2;switch(attempt.tag){case CATCH:if(interrupt&&interrupt!==tmp){status=RETURN}else if(fail){status=CONTINUE;step=attempt._2(util.fromLeft(fail));fail=null}break;case RESUME:if(interrupt&&interrupt!==tmp||fail){status=RETURN}else{bhead=attempt._1;btail=attempt._2;status=STEP_BIND;step=util.fromRight(step)}break;case BRACKET:bracketCount--;if(fail===null){result=util.fromRight(step);attempts=new Aff(CONS,new Aff(RELEASE,attempt._2,result),attempts,tmp);if(interrupt===tmp||bracketCount>0){status=CONTINUE;step=attempt._3(result)}}break;case RELEASE:bracketCount++;attempts=new Aff(CONS,new Aff(FINALIZED,step),attempts,interrupt);status=CONTINUE;if(interrupt&&interrupt!==tmp){step=attempt._1.killed(util.fromLeft(interrupt))(attempt._2)}else if(fail){step=attempt._1.failed(util.fromLeft(fail))(attempt._2)}else{step=attempt._1.completed(util.fromRight(step))(attempt._2)}break;case FINALIZER:bracketCount++;attempts=new Aff(CONS,new Aff(FINALIZED,step),attempts,interrupt);status=CONTINUE;step=attempt._1;break;case FINALIZED:bracketCount--;status=RETURN;step=attempt._1;break}}break;case COMPLETED:for(var k in joins){if(joins.hasOwnProperty(k)){rethrow=rethrow&&joins[k].rethrow;runEff(joins[k].handler(step))}}joins=null;if(interrupt&&fail){setTimeout(function(){throw util.fromLeft(fail)},0)}else if(util.isLeft(step)&&rethrow){setTimeout(function(){if(rethrow){throw util.fromLeft(step)}},0)}return;case SUSPENDED:status=CONTINUE;break;case PENDING:return}}}function onComplete(join){return function(){if(status===COMPLETED){rethrow=rethrow&&join.rethrow;join.handler(step)();return function(){}}var jid=joinId++;joins=joins||{};joins[jid]=join;return function(){if(joins!==null){delete joins[jid]}}}}function kill(error,cb){return function(){if(status===COMPLETED){cb(util.right(void 0))();return function(){}}var canceler=onComplete({rethrow:false,handler:function(){return cb(util.right(void 0))}})();switch(status){case SUSPENDED:interrupt=util.left(error);status=COMPLETED;step=interrupt;run(runTick);break;case PENDING:if(interrupt===null){interrupt=util.left(error)}if(bracketCount===0){if(status===PENDING){attempts=new Aff(CONS,new Aff(FINALIZER,step(error)),attempts,interrupt)}status=RETURN;step=null;fail=null;run(++runTick)}break;default:if(interrupt===null){interrupt=util.left(error)}if(bracketCount===0){status=RETURN;step=null;fail=null}}return canceler}}function join(cb){return function(){var canceler=onComplete({rethrow:false,handler:cb})();if(status===SUSPENDED){run(runTick)}return canceler}}return{kill:kill,join:join,onComplete:onComplete,isSuspended:function(){return status===SUSPENDED},run:function(){if(status===SUSPENDED){if(!Scheduler.isDraining()){Scheduler.enqueue(function(){run(runTick)})}else{run(runTick)}}}}}function runPar(util,supervisor,par,cb){var fiberId=0;var fibers={};var killId=0;var kills={};var early=new Error("[ParAff] Early exit");var interrupt=null;var root=EMPTY;function kill(error,par,cb){var step=par;var head=null;var tail=null;var count=0;var kills={};var tmp,kid;loop:while(true){tmp=null;switch(step.tag){case FORKED:if(step._3===EMPTY){tmp=fibers[step._1];kills[count++]=tmp.kill(error,function(result){return function(){count--;if(count===0){cb(result)()}}})}if(head===null){break loop}step=head._2;if(tail===null){head=null}else{head=tail._1;tail=tail._2}break;case MAP:step=step._2;break;case APPLY:case ALT:if(head){tail=new Aff(CONS,head,tail)}head=step;step=step._1;break}}if(count===0){cb(util.right(void 0))()}else{kid=0;tmp=count;for(;kid<tmp;kid++){kills[kid]=kills[kid]()}}return kills}function join(result,head,tail){var fail,step,lhs,rhs,tmp,kid;if(util.isLeft(result)){fail=result;step=null}else{step=result;fail=null}loop:while(true){lhs=null;rhs=null;tmp=null;kid=null;if(interrupt!==null){return}if(head===null){cb(fail||step)();return}if(head._3!==EMPTY){return}switch(head.tag){case MAP:if(fail===null){head._3=util.right(head._1(util.fromRight(step)));step=head._3}else{head._3=fail}break;case APPLY:lhs=head._1._3;rhs=head._2._3;if(fail){head._3=fail;tmp=true;kid=killId++;kills[kid]=kill(early,fail===lhs?head._2:head._1,function(){return function(){delete kills[kid];if(tmp){tmp=false}else if(tail===null){join(step,null,null)}else{join(step,tail._1,tail._2)}}});if(tmp){tmp=false;return}}else if(lhs===EMPTY||rhs===EMPTY){return}else{step=util.right(util.fromRight(lhs)(util.fromRight(rhs)));head._3=step}break;case ALT:lhs=head._1._3;rhs=head._2._3;if(lhs===EMPTY&&util.isLeft(rhs)||rhs===EMPTY&&util.isLeft(lhs)){return}if(lhs!==EMPTY&&util.isLeft(lhs)&&rhs!==EMPTY&&util.isLeft(rhs)){fail=step===lhs?rhs:lhs;step=null;head._3=fail}else{head._3=step;tmp=true;kid=killId++;kills[kid]=kill(early,step===lhs?head._2:head._1,function(){return function(){delete kills[kid];if(tmp){tmp=false}else if(tail===null){join(step,null,null)}else{join(step,tail._1,tail._2)}}});if(tmp){tmp=false;return}}break}if(tail===null){head=null}else{head=tail._1;tail=tail._2}}}function resolve(fiber){return function(result){return function(){delete fibers[fiber._1];fiber._3=result;join(result,fiber._2._1,fiber._2._2)}}}function run(){var status=CONTINUE;var step=par;var head=null;var tail=null;var tmp,fid;loop:while(true){tmp=null;fid=null;switch(status){case CONTINUE:switch(step.tag){case MAP:if(head){tail=new Aff(CONS,head,tail)}head=new Aff(MAP,step._1,EMPTY,EMPTY);step=step._2;break;case APPLY:if(head){tail=new Aff(CONS,head,tail)}head=new Aff(APPLY,EMPTY,step._2,EMPTY);step=step._1;break;case ALT:if(head){tail=new Aff(CONS,head,tail)}head=new Aff(ALT,EMPTY,step._2,EMPTY);step=step._1;break;default:fid=fiberId++;status=RETURN;tmp=step;step=new Aff(FORKED,fid,new Aff(CONS,head,tail),EMPTY);tmp=Fiber(util,supervisor,tmp);tmp.onComplete({rethrow:false,handler:resolve(step)})();fibers[fid]=tmp;if(supervisor){supervisor.register(tmp)}}break;case RETURN:if(head===null){break loop}if(head._1===EMPTY){head._1=step;status=CONTINUE;step=head._2;head._2=EMPTY}else{head._2=step;step=head;if(tail===null){head=null}else{head=tail._1;tail=tail._2}}}}root=step;for(fid=0;fid<fiberId;fid++){fibers[fid].run()}}function cancel(error,cb){interrupt=util.left(error);var innerKills;for(var kid in kills){if(kills.hasOwnProperty(kid)){innerKills=kills[kid];for(kid in innerKills){if(innerKills.hasOwnProperty(kid)){innerKills[kid]()}}}}kills=null;var newKills=kill(error,root,cb);return function(killError){return new Aff(ASYNC,function(killCb){return function(){for(var kid in newKills){if(newKills.hasOwnProperty(kid)){newKills[kid]()}}return nonCanceler}})}}run();return function(killError){return new Aff(ASYNC,function(killCb){return function(){return cancel(killError,killCb)}})}}function sequential(util,supervisor,par){return new Aff(ASYNC,function(cb){return function(){return runPar(util,supervisor,par,cb)}})}Aff.EMPTY=EMPTY;Aff.Pure=AffCtr(PURE);Aff.Throw=AffCtr(THROW);Aff.Catch=AffCtr(CATCH);Aff.Sync=AffCtr(SYNC);Aff.Async=AffCtr(ASYNC);Aff.Bind=AffCtr(BIND);Aff.Bracket=AffCtr(BRACKET);Aff.Fork=AffCtr(FORK);Aff.Seq=AffCtr(SEQ);Aff.ParMap=AffCtr(MAP);Aff.ParApply=AffCtr(APPLY);Aff.ParAlt=AffCtr(ALT);Aff.Fiber=Fiber;Aff.Supervisor=Supervisor;Aff.Scheduler=Scheduler;Aff.nonCanceler=nonCanceler;return Aff}();exports._pure=Aff.Pure;exports._throwError=Aff.Throw;exports._map=function(f){return function(aff){if(aff.tag===Aff.Pure.tag){return Aff.Pure(f(aff._1))}else{return Aff.Bind(aff,function(value){return Aff.Pure(f(value))})}}};exports._bind=function(aff){return function(k){return Aff.Bind(aff,k)}};exports._liftEffect=Aff.Sync;exports.makeAff=Aff.Async;exports._makeFiber=function(util,aff){return function(){return Aff.Fiber(util,null,aff)}}})(PS["Effect.Aff"]=PS["Effect.Aff"]||{});(function(exports){"use strict";var Control_Applicative=PS["Control.Applicative"];var Control_Bind=PS["Control.Bind"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Either=PS["Data.Either"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Unit=PS["Data.Unit"];var Prelude=PS["Prelude"];var MonadThrow=function(Monad0,throwError){this.Monad0=Monad0;this.throwError=throwError};var throwError=function(dict){return dict.throwError};exports["throwError"]=throwError;exports["MonadThrow"]=MonadThrow})(PS["Control.Monad.Error.Class"]=PS["Control.Monad.Error.Class"]||{});(function(exports){"use strict";var Control_Category=PS["Control.Category"];var Control_Monad=PS["Control.Monad"];var Effect=PS["Effect"];var MonadEffect=function(Monad0,liftEffect){this.Monad0=Monad0;this.liftEffect=liftEffect};var monadEffectEffect=new MonadEffect(function(){return Effect.monadEffect},Control_Category.identity(Control_Category.categoryFn));var liftEffect=function(dict){return dict.liftEffect};exports["liftEffect"]=liftEffect;exports["MonadEffect"]=MonadEffect;exports["monadEffectEffect"]=monadEffectEffect})(PS["Effect.Class"]=PS["Effect.Class"]||{});(function(exports){"use strict";exports.error=function(msg){return new Error(msg)}})(PS["Effect.Exception"]=PS["Effect.Exception"]||{});(function(exports){"use strict";var $foreign=PS["Effect.Exception"];var Control_Applicative=PS["Control.Applicative"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Either=PS["Data.Either"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Show=PS["Data.Show"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];exports["error"]=$foreign.error})(PS["Effect.Exception"]=PS["Effect.Exception"]||{});(function(exports){"use strict";var $foreign=PS["Effect.Aff"];var Control_Alt=PS["Control.Alt"];var Control_Alternative=PS["Control.Alternative"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Lazy=PS["Control.Lazy"];var Control_Monad=PS["Control.Monad"];var Control_Monad_Error_Class=PS["Control.Monad.Error.Class"];var Control_Monad_Rec_Class=PS["Control.Monad.Rec.Class"];var Control_Parallel=PS["Control.Parallel"];var Control_Parallel_Class=PS["Control.Parallel.Class"];var Control_Plus=PS["Control.Plus"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Either=PS["Data.Either"];var Data_Foldable=PS["Data.Foldable"];var Data_Function=PS["Data.Function"];var Data_Function_Uncurried=PS["Data.Function.Uncurried"];var Data_Functor=PS["Data.Functor"];var Data_Monoid=PS["Data.Monoid"];var Data_Newtype=PS["Data.Newtype"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Time_Duration=PS["Data.Time.Duration"];var Data_Unit=PS["Data.Unit"];var Effect=PS["Effect"];var Effect_Class=PS["Effect.Class"];var Effect_Exception=PS["Effect.Exception"];var Effect_Unsafe=PS["Effect.Unsafe"];var Partial_Unsafe=PS["Partial.Unsafe"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var functorAff=new Data_Functor.Functor($foreign._map);var ffiUtil=function(){var unsafeFromRight=function(v){if(v instanceof Data_Either.Right){return v.value0}if(v instanceof Data_Either.Left){return Partial_Unsafe.unsafeCrashWith("unsafeFromRight: Left")}throw new Error("Failed pattern match at Effect.Aff line 395, column 21 - line 397, column 31: "+[v.constructor.name])};var unsafeFromLeft=function(v){if(v instanceof Data_Either.Left){return v.value0}if(v instanceof Data_Either.Right){return Partial_Unsafe.unsafeCrashWith("unsafeFromLeft: Right")}throw new Error("Failed pattern match at Effect.Aff line 390, column 20 - line 394, column 3: "+[v.constructor.name])};var isLeft=function(v){if(v instanceof Data_Either.Left){return true}if(v instanceof Data_Either.Right){return false}throw new Error("Failed pattern match at Effect.Aff line 385, column 12 - line 387, column 20: "+[v.constructor.name])};return{isLeft:isLeft,fromLeft:unsafeFromLeft,fromRight:unsafeFromRight,left:Data_Either.Left.create,right:Data_Either.Right.create}}();var makeFiber=function(aff){return $foreign._makeFiber(ffiUtil,aff)};var launchAff=function(aff){return function __do(){var v=makeFiber(aff)();v.run();return v}};var monadAff=new Control_Monad.Monad(function(){return applicativeAff},function(){return bindAff});var bindAff=new Control_Bind.Bind(function(){return applyAff},$foreign._bind);var applyAff=new Control_Apply.Apply(function(){return functorAff},Control_Monad.ap(monadAff));var applicativeAff=new Control_Applicative.Applicative(function(){return applyAff},$foreign._pure);var monadEffectAff=new Effect_Class.MonadEffect(function(){return monadAff},$foreign._liftEffect);var monadThrowAff=new Control_Monad_Error_Class.MonadThrow(function(){return monadAff},$foreign._throwError);var nonCanceler=Data_Function["const"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));exports["launchAff"]=launchAff;exports["nonCanceler"]=nonCanceler;exports["functorAff"]=functorAff;exports["applyAff"]=applyAff;exports["applicativeAff"]=applicativeAff;exports["bindAff"]=bindAff;exports["monadAff"]=monadAff;exports["monadThrowAff"]=monadThrowAff;exports["monadEffectAff"]=monadEffectAff;exports["makeAff"]=$foreign.makeAff})(PS["Effect.Aff"]=PS["Effect.Aff"]||{});(function(exports){"use strict";exports._app=function(){return app};exports._closest=function(just,nothing,selector,el){var node=el.closest(selector);if(node){return just(node)}else{return nothing}};exports._innerHtml=function(el){return el.innerHTML};exports._setInnerHtml=function(content,el){el.innerHTML=content;return el};exports._createFormData=function(formElement){return new FormData(formElement)};exports._createFormString=function(formElement){return new URLSearchParams(new FormData(formElement)).toString()};exports._createFormArray=function(formElement){return Array.from(new FormData(formElement))};exports._getDataAttribute=function(name,el){return el.dataset[name]};exports._setDataAttribute=function(name,value,el){return el.dataset[name]=value};exports._moment8601=function(tuple,s){var m=moment(s,moment.ISO_8601);var s1=m.fromNow();var s2=m.format("MMMM D YYYY, h:mm a")+" ("+m.format()+") ";return tuple(s1)(s2)}})(PS["Globals"]=PS["Globals"]||{});(function(exports){"use strict";exports["null"]=null;exports.nullable=function(a,r,f){return a==null?r:f(a)};exports.notNull=function(x){return x}})(PS["Data.Nullable"]=PS["Data.Nullable"]||{});(function(exports){"use strict";var $foreign=PS["Data.Nullable"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Eq=PS["Data.Eq"];var Data_Function=PS["Data.Function"];var Data_Function_Uncurried=PS["Data.Function.Uncurried"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Show=PS["Data.Show"];var Prelude=PS["Prelude"];var toNullable=Data_Maybe.maybe($foreign["null"])($foreign.notNull);var toMaybe=function(n){return $foreign.nullable(n,Data_Maybe.Nothing.value,Data_Maybe.Just.create)};exports["toMaybe"]=toMaybe;exports["toNullable"]=toNullable})(PS["Data.Nullable"]=PS["Data.Nullable"]||{});(function(exports){"use strict";exports.window=function(){return window}})(PS["Web.HTML"]=PS["Web.HTML"]||{});(function(exports){"use strict";exports._body=function(doc){return function(){return doc.body}}})(PS["Web.HTML.HTMLDocument"]=PS["Web.HTML.HTMLDocument"]||{});(function(exports){"use strict";exports.createElement=function(localName){return function(doc){return function(){return doc.createElement(localName)}}}})(PS["Web.DOM.Document"]=PS["Web.DOM.Document"]||{});(function(exports){"use strict";exports.className=function(node){return function(){return node.className}};exports.setClassName=function(className){return function(node){return function(){node.className=className;return{}}}};exports.setAttribute=function(name){return function(value){return function(element){return function(){element.setAttribute(name,value);return{}}}}};exports.removeAttribute=function(name){return function(element){return function(){element.removeAttribute(name);return{}}}}})(PS["Web.DOM.Element"]=PS["Web.DOM.Element"]||{});(function(exports){"use strict";exports.remove=function(node){return function(){return node.remove()}}})(PS["Web.DOM.ChildNode"]=PS["Web.DOM.ChildNode"]||{});(function(exports){"use strict";var $foreign=PS["Web.DOM.ChildNode"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];exports["remove"]=$foreign.remove})(PS["Web.DOM.ChildNode"]=PS["Web.DOM.ChildNode"]||{});(function(exports){"use strict";exports._querySelector=function(selector){return function(node){return function(){return node.querySelector(selector)}}};exports.querySelectorAll=function(selector){return function(node){return function(){return node.querySelectorAll(selector)}}}})(PS["Web.DOM.ParentNode"]=PS["Web.DOM.ParentNode"]||{});(function(exports){"use strict";exports.toArray=function(list){return function(){return[].slice.call(list)}}})(PS["Web.DOM.NodeList"]=PS["Web.DOM.NodeList"]||{});(function(exports){"use strict";var $foreign=PS["Web.DOM.NodeList"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Web_DOM_Internal_Types=PS["Web.DOM.Internal.Types"];exports["toArray"]=$foreign.toArray})(PS["Web.DOM.NodeList"]=PS["Web.DOM.NodeList"]||{});(function(exports){"use strict";var $foreign=PS["Web.DOM.ParentNode"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Eq=PS["Data.Eq"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Newtype=PS["Data.Newtype"];var Data_Nullable=PS["Data.Nullable"];var Data_Ord=PS["Data.Ord"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Web_DOM_HTMLCollection=PS["Web.DOM.HTMLCollection"];var Web_DOM_Internal_Types=PS["Web.DOM.Internal.Types"];var Web_DOM_NodeList=PS["Web.DOM.NodeList"];var querySelector=function(qs){return function($3){return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._querySelector(qs)($3))}};exports["querySelector"]=querySelector;exports["querySelectorAll"]=$foreign.querySelectorAll})(PS["Web.DOM.ParentNode"]=PS["Web.DOM.ParentNode"]||{});(function(exports){"use strict";exports._unsafeReadProtoTagged=function(nothing,just,name,value){var obj=value;while(obj!=null){var proto=Object.getPrototypeOf(obj);var ctor=proto.constructor.name;if(ctor===name){return just(value)}else if(ctor==="Object"){return nothing}obj=proto}return nothing}})(PS["Web.Internal.FFI"]=PS["Web.Internal.FFI"]||{});(function(exports){"use strict";var $foreign=PS["Web.Internal.FFI"];var Data_Function_Uncurried=PS["Data.Function.Uncurried"];var Data_Maybe=PS["Data.Maybe"];var unsafeReadProtoTagged=function(name){return function(value){return $foreign._unsafeReadProtoTagged(Data_Maybe.Nothing.value,Data_Maybe.Just.create,name,value)}};exports["unsafeReadProtoTagged"]=unsafeReadProtoTagged})(PS["Web.Internal.FFI"]=PS["Web.Internal.FFI"]||{});(function(exports){"use strict";var $foreign=PS["Web.DOM.Element"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var Web_DOM_ChildNode=PS["Web.DOM.ChildNode"];var Web_DOM_Internal_Types=PS["Web.DOM.Internal.Types"];var Web_DOM_NonDocumentTypeChildNode=PS["Web.DOM.NonDocumentTypeChildNode"];var Web_DOM_ParentNode=PS["Web.DOM.ParentNode"];var Web_Event_EventTarget=PS["Web.Event.EventTarget"];var Web_Internal_FFI=PS["Web.Internal.FFI"];var toParentNode=Unsafe_Coerce.unsafeCoerce;var toNode=Unsafe_Coerce.unsafeCoerce;var toChildNode=Unsafe_Coerce.unsafeCoerce;var fromNode=Web_Internal_FFI.unsafeReadProtoTagged("Element");exports["fromNode"]=fromNode;exports["toNode"]=toNode;exports["toChildNode"]=toChildNode;exports["toParentNode"]=toParentNode;exports["setClassName"]=$foreign.setClassName;exports["setAttribute"]=$foreign.setAttribute;exports["removeAttribute"]=$foreign.removeAttribute})(PS["Web.DOM.Element"]=PS["Web.DOM.Element"]||{});(function(exports){"use strict";exports._getElementById=function(id){return function(node){return function(){return node.getElementById(id)}}}})(PS["Web.DOM.NonElementParentNode"]=PS["Web.DOM.NonElementParentNode"]||{});(function(exports){"use strict";var $foreign=PS["Web.DOM.NonElementParentNode"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Web_DOM_Element=PS["Web.DOM.Element"];var getElementById=function(eid){return function($0){return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._getElementById(eid)($0))}};exports["getElementById"]=getElementById})(PS["Web.DOM.NonElementParentNode"]=PS["Web.DOM.NonElementParentNode"]||{});(function(exports){"use strict";var $foreign=PS["Web.DOM.Document"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var Web_DOM_Comment=PS["Web.DOM.Comment"];var Web_DOM_DocumentFragment=PS["Web.DOM.DocumentFragment"];var Web_DOM_DocumentType=PS["Web.DOM.DocumentType"];var Web_DOM_Element=PS["Web.DOM.Element"];var Web_DOM_HTMLCollection=PS["Web.DOM.HTMLCollection"];var Web_DOM_Internal_Types=PS["Web.DOM.Internal.Types"];var Web_DOM_NonElementParentNode=PS["Web.DOM.NonElementParentNode"];var Web_DOM_ParentNode=PS["Web.DOM.ParentNode"];var Web_DOM_ProcessingInstruction=PS["Web.DOM.ProcessingInstruction"];var Web_DOM_Text=PS["Web.DOM.Text"];var Web_Event_EventTarget=PS["Web.Event.EventTarget"];var Web_Internal_FFI=PS["Web.Internal.FFI"];var toNonElementParentNode=Unsafe_Coerce.unsafeCoerce;exports["toNonElementParentNode"]=toNonElementParentNode;exports["createElement"]=$foreign.createElement})(PS["Web.DOM.Document"]=PS["Web.DOM.Document"]||{});(function(exports){"use strict";exports._read=function(nothing,just,value){var tag=Object.prototype.toString.call(value);if(tag.indexOf("[object HTML")===0&&tag.indexOf("Element]")===tag.length-8){return just(value)}else{return nothing}};exports.classList=function(element){return function(){return element.classList}}})(PS["Web.HTML.HTMLElement"]=PS["Web.HTML.HTMLElement"]||{});(function(exports){"use strict";exports.add=function(list){return function(token){return function(){return list.add(token)}}};exports.remove=function(list){return function(token){return function(){return list.remove(token)}}};exports.contains=function(list){return function(token){return function(){return list.contains(token)}}};exports.toggle=function(list){return function(token){return function(){return list.toggle(token)}}};exports.toggleForce=function(list){return function(token){return function(force){return function(){return list.toggle(token,force)}}}}})(PS["Web.DOM.DOMTokenList"]=PS["Web.DOM.DOMTokenList"]||{});(function(exports){"use strict";var $foreign=PS["Web.DOM.DOMTokenList"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];exports["add"]=$foreign.add;exports["contains"]=$foreign.contains;exports["remove"]=$foreign.remove;exports["toggle"]=$foreign.toggle;exports["toggleForce"]=$foreign.toggleForce})(PS["Web.DOM.DOMTokenList"]=PS["Web.DOM.DOMTokenList"]||{});(function(exports){"use strict";var $foreign=PS["Web.HTML.HTMLElement"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Function_Uncurried=PS["Data.Function.Uncurried"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var Web_DOM=PS["Web.DOM"];var Web_DOM_DOMTokenList=PS["Web.DOM.DOMTokenList"];var Web_DOM_Element=PS["Web.DOM.Element"];var Web_DOM_Internal_Types=PS["Web.DOM.Internal.Types"];var Web_DOM_NonDocumentTypeChildNode=PS["Web.DOM.NonDocumentTypeChildNode"];var Web_DOM_ParentNode=PS["Web.DOM.ParentNode"];var Web_Event_EventTarget=PS["Web.Event.EventTarget"];var toElement=Unsafe_Coerce.unsafeCoerce;var fromNode=function(x){return $foreign._read(Data_Maybe.Nothing.value,Data_Maybe.Just.create,x)};var fromElement=function(x){return $foreign._read(Data_Maybe.Nothing.value,Data_Maybe.Just.create,x)};exports["fromElement"]=fromElement;exports["fromNode"]=fromNode;exports["toElement"]=toElement;exports["classList"]=$foreign.classList})(PS["Web.HTML.HTMLElement"]=PS["Web.HTML.HTMLElement"]||{});(function(exports){"use strict";var $foreign=PS["Web.HTML.HTMLDocument"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var Web_DOM_Document=PS["Web.DOM.Document"];var Web_DOM_Internal_Types=PS["Web.DOM.Internal.Types"];var Web_DOM_NonElementParentNode=PS["Web.DOM.NonElementParentNode"];var Web_DOM_ParentNode=PS["Web.DOM.ParentNode"];var Web_Event_EventTarget=PS["Web.Event.EventTarget"];var Web_HTML_HTMLDocument_ReadyState=PS["Web.HTML.HTMLDocument.ReadyState"];var Web_HTML_HTMLElement=PS["Web.HTML.HTMLElement"];var Web_Internal_FFI=PS["Web.Internal.FFI"];var toDocument=Unsafe_Coerce.unsafeCoerce;var body=function($2){return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._body($2))};exports["toDocument"]=toDocument;exports["body"]=body})(PS["Web.HTML.HTMLDocument"]=PS["Web.HTML.HTMLDocument"]||{});(function(exports){"use strict";var $foreign=PS["Web.HTML.HTMLFormElement"];var Data_Maybe=PS["Data.Maybe"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var Web_DOM=PS["Web.DOM"];var Web_Event_EventTarget=PS["Web.Event.EventTarget"];var Web_HTML_HTMLElement=PS["Web.HTML.HTMLElement"];var Web_Internal_FFI=PS["Web.Internal.FFI"];var fromNode=Web_Internal_FFI.unsafeReadProtoTagged("HTMLFormElement");exports["fromNode"]=fromNode})(PS["Web.HTML.HTMLFormElement"]=PS["Web.HTML.HTMLFormElement"]||{});(function(exports){"use strict";exports.checked=function(input){return function(){return input.checked}};exports.setChecked=function(checked){return function(input){return function(){input.checked=checked}}};exports.value=function(input){return function(){return input.value}};exports.setValue=function(value){return function(input){return function(){input.value=value}}};exports.value=function(input){return function(){return input.value}};exports.setValue=function(value){return function(input){return function(){input.value=value}}}})(PS["Web.HTML.HTMLInputElement"]=PS["Web.HTML.HTMLInputElement"]||{});(function(exports){"use strict";var $foreign=PS["Web.HTML.HTMLInputElement"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Functor=PS["Data.Functor"];var Data_JSDate=PS["Data.JSDate"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Effect_Uncurried=PS["Effect.Uncurried"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var Web_DOM=PS["Web.DOM"];var Web_DOM_NodeList=PS["Web.DOM.NodeList"];var Web_Event_EventTarget=PS["Web.Event.EventTarget"];var Web_File_FileList=PS["Web.File.FileList"];var Web_HTML_HTMLElement=PS["Web.HTML.HTMLElement"];var Web_HTML_HTMLFormElement=PS["Web.HTML.HTMLFormElement"];var Web_HTML_SelectionMode=PS["Web.HTML.SelectionMode"];var Web_HTML_ValidityState=PS["Web.HTML.ValidityState"];var Web_Internal_FFI=PS["Web.Internal.FFI"];var fromElement=Web_Internal_FFI.unsafeReadProtoTagged("HTMLInputElement");exports["fromElement"]=fromElement;exports["checked"]=$foreign.checked;exports["setChecked"]=$foreign.setChecked;exports["value"]=$foreign.value;exports["setValue"]=$foreign.setValue})(PS["Web.HTML.HTMLInputElement"]=PS["Web.HTML.HTMLInputElement"]||{});(function(exports){"use strict";exports.value=function(textarea){return function(){return textarea.value}};exports.setValue=function(value){return function(textarea){return function(){textarea.value=value}}}})(PS["Web.HTML.HTMLTextAreaElement"]=PS["Web.HTML.HTMLTextAreaElement"]||{});(function(exports){"use strict";var $foreign=PS["Web.HTML.HTMLTextAreaElement"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Effect_Uncurried=PS["Effect.Uncurried"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var Web_DOM=PS["Web.DOM"];var Web_DOM_NodeList=PS["Web.DOM.NodeList"];var Web_Event_EventTarget=PS["Web.Event.EventTarget"];var Web_HTML_HTMLElement=PS["Web.HTML.HTMLElement"];var Web_HTML_HTMLFormElement=PS["Web.HTML.HTMLFormElement"];var Web_HTML_SelectionMode=PS["Web.HTML.SelectionMode"];var Web_HTML_ValidityState=PS["Web.HTML.ValidityState"];var Web_Internal_FFI=PS["Web.Internal.FFI"];var fromElement=Web_Internal_FFI.unsafeReadProtoTagged("HTMLTextAreaElement");exports["fromElement"]=fromElement;exports["value"]=$foreign.value;exports["setValue"]=$foreign.setValue})(PS["Web.HTML.HTMLTextAreaElement"]=PS["Web.HTML.HTMLTextAreaElement"]||{});(function(exports){"use strict";exports.reload=function(location){return function(){location.reload()}}})(PS["Web.HTML.Location"]=PS["Web.HTML.Location"]||{});(function(exports){"use strict";var $foreign=PS["Web.HTML.Location"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];exports["reload"]=$foreign.reload})(PS["Web.HTML.Location"]=PS["Web.HTML.Location"]||{});(function(exports){"use strict";exports.document=function(window){return function(){return window.document}};exports.location=function(window){return function(){return window.location}}})(PS["Web.HTML.Window"]=PS["Web.HTML.Window"]||{});(function(exports){"use strict";var $foreign=PS["Web.HTML.Window"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Eq=PS["Data.Eq"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Newtype=PS["Data.Newtype"];var Data_Nullable=PS["Data.Nullable"];var Data_Ord=PS["Data.Ord"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var Web_Event_EventTarget=PS["Web.Event.EventTarget"];var Web_HTML_HTMLDocument=PS["Web.HTML.HTMLDocument"];var Web_HTML_History=PS["Web.HTML.History"];var Web_HTML_Location=PS["Web.HTML.Location"];var Web_HTML_Navigator=PS["Web.HTML.Navigator"];var Web_Storage_Storage=PS["Web.Storage.Storage"];exports["document"]=$foreign.document;exports["location"]=$foreign.location})(PS["Web.HTML.Window"]=PS["Web.HTML.Window"]||{});(function(exports){"use strict";var $foreign=PS["Web.HTML"];var Effect=PS["Effect"];var Web_HTML_HTMLAnchorElement=PS["Web.HTML.HTMLAnchorElement"];var Web_HTML_HTMLAreaElement=PS["Web.HTML.HTMLAreaElement"];var Web_HTML_HTMLAudioElement=PS["Web.HTML.HTMLAudioElement"];var Web_HTML_HTMLBRElement=PS["Web.HTML.HTMLBRElement"];var Web_HTML_HTMLBaseElement=PS["Web.HTML.HTMLBaseElement"];var Web_HTML_HTMLBodyElement=PS["Web.HTML.HTMLBodyElement"];var Web_HTML_HTMLButtonElement=PS["Web.HTML.HTMLButtonElement"];var Web_HTML_HTMLCanvasElement=PS["Web.HTML.HTMLCanvasElement"];var Web_HTML_HTMLDListElement=PS["Web.HTML.HTMLDListElement"];var Web_HTML_HTMLDataElement=PS["Web.HTML.HTMLDataElement"];var Web_HTML_HTMLDataListElement=PS["Web.HTML.HTMLDataListElement"];var Web_HTML_HTMLDivElement=PS["Web.HTML.HTMLDivElement"];var Web_HTML_HTMLDocument=PS["Web.HTML.HTMLDocument"];var Web_HTML_HTMLElement=PS["Web.HTML.HTMLElement"];var Web_HTML_HTMLEmbedElement=PS["Web.HTML.HTMLEmbedElement"];var Web_HTML_HTMLFieldSetElement=PS["Web.HTML.HTMLFieldSetElement"];var Web_HTML_HTMLFormElement=PS["Web.HTML.HTMLFormElement"];var Web_HTML_HTMLHRElement=PS["Web.HTML.HTMLHRElement"];var Web_HTML_HTMLHeadElement=PS["Web.HTML.HTMLHeadElement"];var Web_HTML_HTMLHeadingElement=PS["Web.HTML.HTMLHeadingElement"];var Web_HTML_HTMLIFrameElement=PS["Web.HTML.HTMLIFrameElement"];var Web_HTML_HTMLImageElement=PS["Web.HTML.HTMLImageElement"];var Web_HTML_HTMLInputElement=PS["Web.HTML.HTMLInputElement"];var Web_HTML_HTMLKeygenElement=PS["Web.HTML.HTMLKeygenElement"];var Web_HTML_HTMLLIElement=PS["Web.HTML.HTMLLIElement"];var Web_HTML_HTMLLabelElement=PS["Web.HTML.HTMLLabelElement"];var Web_HTML_HTMLLegendElement=PS["Web.HTML.HTMLLegendElement"];var Web_HTML_HTMLLinkElement=PS["Web.HTML.HTMLLinkElement"];var Web_HTML_HTMLMapElement=PS["Web.HTML.HTMLMapElement"];var Web_HTML_HTMLMediaElement=PS["Web.HTML.HTMLMediaElement"];var Web_HTML_HTMLMetaElement=PS["Web.HTML.HTMLMetaElement"];var Web_HTML_HTMLMeterElement=PS["Web.HTML.HTMLMeterElement"];var Web_HTML_HTMLModElement=PS["Web.HTML.HTMLModElement"];var Web_HTML_HTMLOListElement=PS["Web.HTML.HTMLOListElement"];var Web_HTML_HTMLObjectElement=PS["Web.HTML.HTMLObjectElement"];var Web_HTML_HTMLOptGroupElement=PS["Web.HTML.HTMLOptGroupElement"];var Web_HTML_HTMLOptionElement=PS["Web.HTML.HTMLOptionElement"];var Web_HTML_HTMLOutputElement=PS["Web.HTML.HTMLOutputElement"];var Web_HTML_HTMLParagraphElement=PS["Web.HTML.HTMLParagraphElement"];var Web_HTML_HTMLParamElement=PS["Web.HTML.HTMLParamElement"];var Web_HTML_HTMLPreElement=PS["Web.HTML.HTMLPreElement"];var Web_HTML_HTMLProgressElement=PS["Web.HTML.HTMLProgressElement"];var Web_HTML_HTMLQuoteElement=PS["Web.HTML.HTMLQuoteElement"];var Web_HTML_HTMLScriptElement=PS["Web.HTML.HTMLScriptElement"];var Web_HTML_HTMLSelectElement=PS["Web.HTML.HTMLSelectElement"];var Web_HTML_HTMLSourceElement=PS["Web.HTML.HTMLSourceElement"];var Web_HTML_HTMLSpanElement=PS["Web.HTML.HTMLSpanElement"];var Web_HTML_HTMLStyleElement=PS["Web.HTML.HTMLStyleElement"];var Web_HTML_HTMLTableCaptionElement=PS["Web.HTML.HTMLTableCaptionElement"];var Web_HTML_HTMLTableCellElement=PS["Web.HTML.HTMLTableCellElement"];var Web_HTML_HTMLTableColElement=PS["Web.HTML.HTMLTableColElement"];var Web_HTML_HTMLTableDataCellElement=PS["Web.HTML.HTMLTableDataCellElement"];var Web_HTML_HTMLTableElement=PS["Web.HTML.HTMLTableElement"];var Web_HTML_HTMLTableHeaderCellElement=PS["Web.HTML.HTMLTableHeaderCellElement"];var Web_HTML_HTMLTableRowElement=PS["Web.HTML.HTMLTableRowElement"];var Web_HTML_HTMLTableSectionElement=PS["Web.HTML.HTMLTableSectionElement"];var Web_HTML_HTMLTemplateElement=PS["Web.HTML.HTMLTemplateElement"];var Web_HTML_HTMLTextAreaElement=PS["Web.HTML.HTMLTextAreaElement"];var Web_HTML_HTMLTimeElement=PS["Web.HTML.HTMLTimeElement"];var Web_HTML_HTMLTitleElement=PS["Web.HTML.HTMLTitleElement"];var Web_HTML_HTMLTrackElement=PS["Web.HTML.HTMLTrackElement"];var Web_HTML_HTMLUListElement=PS["Web.HTML.HTMLUListElement"];var Web_HTML_HTMLVideoElement=PS["Web.HTML.HTMLVideoElement"];var Web_HTML_History=PS["Web.HTML.History"];var Web_HTML_Location=PS["Web.HTML.Location"];var Web_HTML_Navigator=PS["Web.HTML.Navigator"];var Web_HTML_Window=PS["Web.HTML.Window"];exports["window"]=$foreign.window})(PS["Web.HTML"]=PS["Web.HTML"]||{});(function(exports){"use strict";var $foreign=PS["Globals"];var Control_Applicative=PS["Control.Applicative"];var Data_Function=PS["Data.Function"];var Data_Function_Uncurried=PS["Data.Function.Uncurried"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Data_Tuple=PS["Data.Tuple"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Web_DOM=PS["Web.DOM"];var Web_HTML=PS["Web.HTML"];var Web_XHR_FormData=PS["Web.XHR.FormData"];var setInnerHtml=function(c){return function(n){return Control_Applicative.pure(Effect.applicativeEffect)($foreign._setInnerHtml(c,n))}};var setDataAttribute=function(k){return function(v){return function(n){return Control_Applicative.pure(Effect.applicativeEffect)($foreign._setDataAttribute(k,v,n))}}};var moment8601=function(s){return Control_Applicative.pure(Effect.applicativeEffect)($foreign._moment8601(Data_Tuple.Tuple.create,s))};var innerHtml=function(n){return Control_Applicative.pure(Effect.applicativeEffect)($foreign._innerHtml(n))};var getDataAttribute=function(k){return function(n){return Control_Applicative.pure(Effect.applicativeEffect)(Data_Nullable.toMaybe($foreign._getDataAttribute(k,n)))}};var createFormString=function(f){return $foreign._createFormString(f)};var createFormData=function(f){return $foreign._createFormData(f)};var createFormArray=function(f){return $foreign._createFormArray(f)};var closest=function(selector){return function(node){return Control_Applicative.pure(Effect.applicativeEffect)($foreign._closest(Data_Maybe.Just.create,Data_Maybe.Nothing.value,selector,node))}};var app$prime=function(v){return $foreign._app()};exports["app'"]=app$prime;exports["closest"]=closest;exports["moment8601"]=moment8601;exports["innerHtml"]=innerHtml;exports["setInnerHtml"]=setInnerHtml;exports["createFormData"]=createFormData;exports["createFormString"]=createFormString;exports["createFormArray"]=createFormArray;exports["getDataAttribute"]=getDataAttribute;exports["setDataAttribute"]=setDataAttribute;exports["_app"]=$foreign._app;exports["_closest"]=$foreign._closest;exports["_moment8601"]=$foreign._moment8601;exports["_innerHtml"]=$foreign._innerHtml;exports["_setInnerHtml"]=$foreign._setInnerHtml;exports["_createFormData"]=$foreign._createFormData;exports["_createFormString"]=$foreign._createFormString;exports["_createFormArray"]=$foreign._createFormArray;exports["_getDataAttribute"]=$foreign._getDataAttribute;exports["_setDataAttribute"]=$foreign._setDataAttribute})(PS["Globals"]=PS["Globals"]||{});(function(exports){"use strict";exports._ajax=function(){var platformSpecific={};if(typeof module!=="undefined"&&module.require&&!(typeof process!=="undefined"&&process.versions["electron"])){platformSpecific.newXHR=function(){var XHR=module.require("xhr2");return new XHR};platformSpecific.fixupUrl=function(url){var urllib=module.require("url");var u=urllib.parse(url);u.protocol=u.protocol||"http:";u.hostname=u.hostname||"localhost";return urllib.format(u)};platformSpecific.getResponse=function(xhr){return xhr.response}}else{platformSpecific.newXHR=function(){return new XMLHttpRequest};platformSpecific.fixupUrl=function(url){return url||"/"};platformSpecific.getResponse=function(xhr){return xhr.response}}return function(mkHeader,options){return function(errback,callback){var xhr=platformSpecific.newXHR();var fixedUrl=platformSpecific.fixupUrl(options.url);xhr.open(options.method||"GET",fixedUrl,true,options.username,options.password);if(options.headers){try{for(var i=0,header;(header=options.headers[i])!=null;i++){xhr.setRequestHeader(header.field,header.value)}}catch(e){errback(e)}}xhr.onerror=function(){errback(new Error("AJAX request failed: "+options.method+" "+options.url))};xhr.onload=function(){callback({status:xhr.status,statusText:xhr.statusText,headers:xhr.getAllResponseHeaders().split("\r\n").filter(function(header){return header.length>0}).map(function(header){var i=header.indexOf(":");return mkHeader(header.substring(0,i))(header.substring(i+2))}),response:platformSpecific.getResponse(xhr)})};xhr.responseType=options.responseType;xhr.withCredentials=options.withCredentials;xhr.send(options.content);return function(error,cancelErrback,cancelCallback){try{xhr.abort()}catch(e){return cancelErrback(e)}return cancelCallback()}}}}()})(PS["Network.HTTP.Affjax"]=PS["Network.HTTP.Affjax"]||{});(function(exports){"use strict";var Prelude=PS["Prelude"];var MonadTrans=function(lift){this.lift=lift};var lift=function(dict){return dict.lift};exports["lift"]=lift;exports["MonadTrans"]=MonadTrans})(PS["Control.Monad.Trans.Class"]=PS["Control.Monad.Trans.Class"]||{});(function(exports){"use strict";var Control_Alt=PS["Control.Alt"];var Control_Alternative=PS["Control.Alternative"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Category=PS["Control.Category"];var Control_Monad=PS["Control.Monad"];var Control_Monad_Cont_Class=PS["Control.Monad.Cont.Class"];var Control_Monad_Error_Class=PS["Control.Monad.Error.Class"];var Control_Monad_Reader_Class=PS["Control.Monad.Reader.Class"];var Control_Monad_Rec_Class=PS["Control.Monad.Rec.Class"];var Control_Monad_State_Class=PS["Control.Monad.State.Class"];var Control_Monad_Trans_Class=PS["Control.Monad.Trans.Class"];var Control_Monad_Writer_Class=PS["Control.Monad.Writer.Class"];var Control_MonadPlus=PS["Control.MonadPlus"];var Control_MonadZero=PS["Control.MonadZero"];var Control_Plus=PS["Control.Plus"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Either=PS["Data.Either"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_Monoid=PS["Data.Monoid"];var Data_Newtype=PS["Data.Newtype"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Tuple=PS["Data.Tuple"];var Effect_Class=PS["Effect.Class"];var Prelude=PS["Prelude"];var ExceptT=function(x){return x};var runExceptT=function(v){return v};var mapExceptT=function(f){return function(v){return f(v)}};var functorExceptT=function(dictFunctor){return new Data_Functor.Functor(function(f){return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)))})};var monadExceptT=function(dictMonad){return new Control_Monad.Monad(function(){return applicativeExceptT(dictMonad)},function(){return bindExceptT(dictMonad)})};var bindExceptT=function(dictMonad){return new Control_Bind.Bind(function(){return applyExceptT(dictMonad)},function(v){return function(k){return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function($97){return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97))})(function(a){var v1=k(a);return v1}))}})};var applyExceptT=function(dictMonad){return new Control_Apply.Apply(function(){return functorExceptT(dictMonad.Bind1().Apply0().Functor0())},Control_Monad.ap(monadExceptT(dictMonad)))};var applicativeExceptT=function(dictMonad){return new Control_Applicative.Applicative(function(){return applyExceptT(dictMonad)},function($98){return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)))})};var monadThrowExceptT=function(dictMonad){return new Control_Monad_Error_Class.MonadThrow(function(){return monadExceptT(dictMonad)},function($102){return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)))})};exports["ExceptT"]=ExceptT;exports["runExceptT"]=runExceptT;exports["mapExceptT"]=mapExceptT;exports["functorExceptT"]=functorExceptT;exports["applyExceptT"]=applyExceptT;exports["applicativeExceptT"]=applicativeExceptT;exports["bindExceptT"]=bindExceptT;exports["monadExceptT"]=monadExceptT;exports["monadThrowExceptT"]=monadThrowExceptT})(PS["Control.Monad.Except.Trans"]=PS["Control.Monad.Except.Trans"]||{});(function(exports){"use strict";var Control_Alt=PS["Control.Alt"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Comonad=PS["Control.Comonad"];var Control_Extend=PS["Control.Extend"];var Control_Lazy=PS["Control.Lazy"];var Control_Monad=PS["Control.Monad"];var Data_BooleanAlgebra=PS["Data.BooleanAlgebra"];var Data_Bounded=PS["Data.Bounded"];var Data_CommutativeRing=PS["Data.CommutativeRing"];var Data_Eq=PS["Data.Eq"];var Data_EuclideanRing=PS["Data.EuclideanRing"];var Data_Foldable=PS["Data.Foldable"];var Data_Functor=PS["Data.Functor"];var Data_Functor_Invariant=PS["Data.Functor.Invariant"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Monoid=PS["Data.Monoid"];var Data_Newtype=PS["Data.Newtype"];var Data_Ord=PS["Data.Ord"];var Data_Ring=PS["Data.Ring"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semiring=PS["Data.Semiring"];var Data_Show=PS["Data.Show"];var Data_Traversable=PS["Data.Traversable"];var Prelude=PS["Prelude"];var Identity=function(x){return x};var newtypeIdentity=new Data_Newtype.Newtype(function(n){return n},Identity);var functorIdentity=new Data_Functor.Functor(function(f){return function(m){return f(m)}});var applyIdentity=new Control_Apply.Apply(function(){return functorIdentity},function(v){return function(v1){return v(v1)}});var bindIdentity=new Control_Bind.Bind(function(){return applyIdentity},function(v){return function(f){return f(v)}});var applicativeIdentity=new Control_Applicative.Applicative(function(){return applyIdentity},Identity);var monadIdentity=new Control_Monad.Monad(function(){return applicativeIdentity},function(){return bindIdentity});exports["Identity"]=Identity;exports["newtypeIdentity"]=newtypeIdentity;exports["functorIdentity"]=functorIdentity;exports["applyIdentity"]=applyIdentity;exports["applicativeIdentity"]=applicativeIdentity;exports["bindIdentity"]=bindIdentity;exports["monadIdentity"]=monadIdentity})(PS["Data.Identity"]=PS["Data.Identity"]||{});(function(exports){"use strict";var Control_Monad_Error_Class=PS["Control.Monad.Error.Class"];var Control_Monad_Except_Trans=PS["Control.Monad.Except.Trans"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Either=PS["Data.Either"];var Data_Identity=PS["Data.Identity"];var Data_Newtype=PS["Data.Newtype"];var Prelude=PS["Prelude"];var runExcept=function($0){return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0))};exports["runExcept"]=runExcept})(PS["Control.Monad.Except"]=PS["Control.Monad.Except"]||{});(function(exports){"use strict";function id(x){return x}exports.fromObject=id;exports.stringify=function(j){return JSON.stringify(j)};function isArray(a){return objToString.call(a)==="[object Array]"}})(PS["Data.Argonaut.Core"]=PS["Data.Argonaut.Core"]||{});(function(exports){"use strict";exports.empty={};function toArrayWithKey(f){return function(m){var r=[];for(var k in m){if(hasOwnProperty.call(m,k)){r.push(f(k)(m[k]))}}return r}}})(PS["Foreign.Object"]=PS["Foreign.Object"]||{});(function(exports){"use strict";var $foreign=PS["Foreign.Object"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Category=PS["Control.Category"];var Control_Monad_ST=PS["Control.Monad.ST"];var Control_Monad_ST_Internal=PS["Control.Monad.ST.Internal"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Array=PS["Data.Array"];var Data_Eq=PS["Data.Eq"];var Data_Foldable=PS["Data.Foldable"];var Data_FoldableWithIndex=PS["Data.FoldableWithIndex"];var Data_Function=PS["Data.Function"];var Data_Function_Uncurried=PS["Data.Function.Uncurried"];var Data_Functor=PS["Data.Functor"];var Data_FunctorWithIndex=PS["Data.FunctorWithIndex"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Maybe=PS["Data.Maybe"];var Data_Monoid=PS["Data.Monoid"];var Data_Ord=PS["Data.Ord"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Data_Traversable=PS["Data.Traversable"];var Data_TraversableWithIndex=PS["Data.TraversableWithIndex"];var Data_Tuple=PS["Data.Tuple"];var Data_Unfoldable=PS["Data.Unfoldable"];var Foreign_Object_ST=PS["Foreign.Object.ST"];var Prelude=PS["Prelude"];exports["empty"]=$foreign.empty})(PS["Foreign.Object"]=PS["Foreign.Object"]||{});(function(exports){"use strict";var $foreign=PS["Data.Argonaut.Core"];var Data_Eq=PS["Data.Eq"];var Data_Function=PS["Data.Function"];var Data_Function_Uncurried=PS["Data.Function.Uncurried"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Foreign_Object=PS["Foreign.Object"];var Prelude=PS["Prelude"];var jsonEmptyObject=$foreign.fromObject(Foreign_Object.empty);exports["jsonEmptyObject"]=jsonEmptyObject;exports["stringify"]=$foreign.stringify})(PS["Data.Argonaut.Core"]=PS["Data.Argonaut.Core"]||{});(function(exports){"use strict";exports._jsonParser=function(fail,succ,s){try{return succ(JSON.parse(s))}catch(e){return fail(e.message)}}})(PS["Data.Argonaut.Parser"]=PS["Data.Argonaut.Parser"]||{});(function(exports){"use strict";var $foreign=PS["Data.Argonaut.Parser"];var Data_Argonaut_Core=PS["Data.Argonaut.Core"];var Data_Either=PS["Data.Either"];var Data_Function_Uncurried=PS["Data.Function.Uncurried"];var jsonParser=function(j){return $foreign._jsonParser(Data_Either.Left.create,Data_Either.Right.create,j)};exports["jsonParser"]=jsonParser})(PS["Data.Argonaut.Parser"]=PS["Data.Argonaut.Parser"]||{});(function(exports){"use strict";var Control_Alt=PS["Control.Alt"];var Control_Alternative=PS["Control.Alternative"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Category=PS["Control.Category"];var Control_Plus=PS["Control.Plus"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Eq=PS["Data.Eq"];var Data_Foldable=PS["Data.Foldable"];var Data_FoldableWithIndex=PS["Data.FoldableWithIndex"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_FunctorWithIndex=PS["Data.FunctorWithIndex"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semigroup_Foldable=PS["Data.Semigroup.Foldable"];var Data_Show=PS["Data.Show"];var Data_Traversable=PS["Data.Traversable"];var Data_TraversableWithIndex=PS["Data.TraversableWithIndex"];var Data_Tuple=PS["Data.Tuple"];var Data_Unfoldable=PS["Data.Unfoldable"];var Data_Unfoldable1=PS["Data.Unfoldable1"];var Prelude=PS["Prelude"];var NonEmpty=function(){function NonEmpty(value0,value1){this.value0=value0;this.value1=value1}NonEmpty.create=function(value0){return function(value1){return new NonEmpty(value0,value1)}};return NonEmpty}();var singleton=function(dictPlus){return function(a){return new NonEmpty(a,Control_Plus.empty(dictPlus))}};var functorNonEmpty=function(dictFunctor){return new Data_Functor.Functor(function(f){return function(m){return new NonEmpty(f(m.value0),Data_Functor.map(dictFunctor)(f)(m.value1))}})};var foldableNonEmpty=function(dictFoldable){return new Data_Foldable.Foldable(function(dictMonoid){return function(f){return function(v){return Data_Semigroup.append(dictMonoid.Semigroup0())(f(v.value0))(Data_Foldable.foldMap(dictFoldable)(dictMonoid)(f)(v.value1))}}},function(f){return function(b){return function(v){return Data_Foldable.foldl(dictFoldable)(f)(f(b)(v.value0))(v.value1)}}},function(f){return function(b){return function(v){return f(v.value0)(Data_Foldable.foldr(dictFoldable)(f)(b)(v.value1))}}})};exports["NonEmpty"]=NonEmpty;exports["singleton"]=singleton;exports["functorNonEmpty"]=functorNonEmpty;exports["foldableNonEmpty"]=foldableNonEmpty})(PS["Data.NonEmpty"]=PS["Data.NonEmpty"]||{});(function(exports){"use strict";var Control_Alt=PS["Control.Alt"];var Control_Alternative=PS["Control.Alternative"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Category=PS["Control.Category"];var Control_Comonad=PS["Control.Comonad"];var Control_Extend=PS["Control.Extend"];var Control_Monad=PS["Control.Monad"];var Control_MonadPlus=PS["Control.MonadPlus"];var Control_MonadZero=PS["Control.MonadZero"];var Control_Plus=PS["Control.Plus"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Eq=PS["Data.Eq"];var Data_Foldable=PS["Data.Foldable"];var Data_FoldableWithIndex=PS["Data.FoldableWithIndex"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_FunctorWithIndex=PS["Data.FunctorWithIndex"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Maybe=PS["Data.Maybe"];var Data_Monoid=PS["Data.Monoid"];var Data_Newtype=PS["Data.Newtype"];var Data_NonEmpty=PS["Data.NonEmpty"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Ring=PS["Data.Ring"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semigroup_Foldable=PS["Data.Semigroup.Foldable"];var Data_Semigroup_Traversable=PS["Data.Semigroup.Traversable"];var Data_Semiring=PS["Data.Semiring"];var Data_Show=PS["Data.Show"];var Data_Traversable=PS["Data.Traversable"];var Data_TraversableWithIndex=PS["Data.TraversableWithIndex"];var Data_Tuple=PS["Data.Tuple"];var Data_Unfoldable=PS["Data.Unfoldable"];var Data_Unfoldable1=PS["Data.Unfoldable1"];var Prelude=PS["Prelude"];var Nil=function(){function Nil(){}Nil.value=new Nil;return Nil}();var Cons=function(){function Cons(value0,value1){this.value0=value0;this.value1=value1}Cons.create=function(value0){return function(value1){return new Cons(value0,value1)}};return Cons}();var NonEmptyList=function(x){return x};var foldableList=new Data_Foldable.Foldable(function(dictMonoid){return function(f){return Data_Foldable.foldl(foldableList)(function(acc){return function($155){return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($155))}})(Data_Monoid.mempty(dictMonoid))}},function(f){var go=function($copy_b){return function($copy_v){var $tco_var_b=$copy_b;var $tco_done=false;var $tco_result;function $tco_loop(b,v){if(v instanceof Nil){$tco_done=true;return b}if(v instanceof Cons){$tco_var_b=f(b)(v.value0);$copy_v=v.value1;return}throw new Error("Failed pattern match at Data.List.Types line 81, column 12 - line 83, column 30: "+[v.constructor.name])}while(!$tco_done){$tco_result=$tco_loop($tco_var_b,$copy_v)}return $tco_result}};return go},function(f){return function(b){var rev=Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);return function($156){return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($156))}}});var foldableNonEmptyList=Data_NonEmpty.foldableNonEmpty(foldableList);var functorList=new Data_Functor.Functor(function(f){return Data_Foldable.foldr(foldableList)(function(x){return function(acc){return new Cons(f(x),acc)}})(Nil.value)});var functorNonEmptyList=Data_NonEmpty.functorNonEmpty(functorList);var semigroupList=new Data_Semigroup.Semigroup(function(xs){return function(ys){return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs)}});var altList=new Control_Alt.Alt(function(){return functorList},Data_Semigroup.append(semigroupList));var plusList=new Control_Plus.Plus(function(){return altList},Nil.value);exports["Nil"]=Nil;exports["Cons"]=Cons;exports["NonEmptyList"]=NonEmptyList;exports["semigroupList"]=semigroupList;exports["functorList"]=functorList;exports["foldableList"]=foldableList;exports["altList"]=altList;exports["plusList"]=plusList;exports["functorNonEmptyList"]=functorNonEmptyList;exports["foldableNonEmptyList"]=foldableNonEmptyList})(PS["Data.List.Types"]=PS["Data.List.Types"]||{});(function(exports){"use strict";var Control_Applicative=PS["Control.Applicative"];var Control_Bind=PS["Control.Bind"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Either=PS["Data.Either"];var Data_Function=PS["Data.Function"];var Effect=PS["Effect"];var Effect_Aff=PS["Effect.Aff"];var Effect_Exception=PS["Effect.Exception"];var Effect_Uncurried=PS["Effect.Uncurried"];var Prelude=PS["Prelude"];var fromEffectFnAff=function(v){return Effect_Aff.makeAff(function(k){return function __do(){var v1=v(function($4){return k(Data_Either.Left.create($4))()},function($5){return k(Data_Either.Right.create($5))()});return function(e){return Effect_Aff.makeAff(function(k2){return function __do(){v1(e,function($6){return k2(Data_Either.Left.create($6))()},function($7){return k2(Data_Either.Right.create($7))()});return Effect_Aff.nonCanceler}})}}})};exports["fromEffectFnAff"]=fromEffectFnAff})(PS["Effect.Aff.Compat"]=PS["Effect.Aff.Compat"]||{});(function(exports){"use strict";exports.unsafeToForeign=function(value){return value};exports.unsafeFromForeign=function(value){return value};exports.tagOf=function(value){return Object.prototype.toString.call(value).slice(8,-1)}})(PS["Foreign"]=PS["Foreign"]||{});(function(exports){"use strict";var Control_Bind=PS["Control.Bind"];var Control_Category=PS["Control.Category"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Boolean=PS["Data.Boolean"];var Data_Eq=PS["Data.Eq"];var Data_Foldable=PS["Data.Foldable"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_List=PS["Data.List"];var Data_List_Types=PS["Data.List.Types"];var Data_Maybe=PS["Data.Maybe"];var Data_NonEmpty=PS["Data.NonEmpty"];var Data_Ord=PS["Data.Ord"];var Data_Ring=PS["Data.Ring"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semigroup_Foldable=PS["Data.Semigroup.Foldable"];var Data_Semigroup_Traversable=PS["Data.Semigroup.Traversable"];var Data_Semiring=PS["Data.Semiring"];var Data_Traversable=PS["Data.Traversable"];var Data_Tuple=PS["Data.Tuple"];var Data_Unfoldable=PS["Data.Unfoldable"];var Partial_Unsafe=PS["Partial.Unsafe"];var Prelude=PS["Prelude"];var singleton=function($160){return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($160))};exports["singleton"]=singleton})(PS["Data.List.NonEmpty"]=PS["Data.List.NonEmpty"]||{});(function(exports){"use strict";exports.singleton=function(c){return c};exports.length=function(s){return s.length};exports.drop=function(n){return function(s){return s.substring(n)}}})(PS["Data.String.CodeUnits"]=PS["Data.String.CodeUnits"]||{});(function(exports){"use strict";exports.charAt=function(i){return function(s){if(i>=0&&i<s.length)return s.charAt(i);throw new Error("Data.String.Unsafe.charAt: Invalid index.")}}})(PS["Data.String.Unsafe"]=PS["Data.String.Unsafe"]||{});(function(exports){"use strict";var $foreign=PS["Data.String.Unsafe"];exports["charAt"]=$foreign.charAt})(PS["Data.String.Unsafe"]=PS["Data.String.Unsafe"]||{});(function(exports){"use strict";var $foreign=PS["Data.String.CodeUnits"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Boolean=PS["Data.Boolean"];var Data_Eq=PS["Data.Eq"];var Data_Function=PS["Data.Function"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Ring=PS["Data.Ring"];var Data_Semiring=PS["Data.Semiring"];var Data_String_Pattern=PS["Data.String.Pattern"];var Data_String_Unsafe=PS["Data.String.Unsafe"];var Prelude=PS["Prelude"];exports["singleton"]=$foreign.singleton;exports["length"]=$foreign.length;exports["drop"]=$foreign.drop})(PS["Data.String.CodeUnits"]=PS["Data.String.CodeUnits"]||{});(function(exports){"use strict";var $foreign=PS["Foreign"];var Control_Applicative=PS["Control.Applicative"];var Control_Monad_Error_Class=PS["Control.Monad.Error.Class"];var Control_Monad_Except=PS["Control.Monad.Except"];var Control_Monad_Except_Trans=PS["Control.Monad.Except.Trans"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Boolean=PS["Data.Boolean"];var Data_Either=PS["Data.Either"];var Data_Eq=PS["Data.Eq"];var Data_Function=PS["Data.Function"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Identity=PS["Data.Identity"];var Data_Int=PS["Data.Int"];var Data_List_NonEmpty=PS["Data.List.NonEmpty"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Data_String_CodeUnits=PS["Data.String.CodeUnits"];var Prelude=PS["Prelude"];var ForeignError=function(){function ForeignError(value0){this.value0=value0}ForeignError.create=function(value0){return new ForeignError(value0)};return ForeignError}();var TypeMismatch=function(){function TypeMismatch(value0,value1){this.value0=value0;this.value1=value1}TypeMismatch.create=function(value0){return function(value1){return new TypeMismatch(value0,value1)}};return TypeMismatch}();var ErrorAtIndex=function(){function ErrorAtIndex(value0,value1){this.value0=value0;this.value1=value1}ErrorAtIndex.create=function(value0){return function(value1){return new ErrorAtIndex(value0,value1)}};return ErrorAtIndex}();var ErrorAtProperty=function(){function ErrorAtProperty(value0,value1){this.value0=value0;this.value1=value1}ErrorAtProperty.create=function(value0){return function(value1){return new ErrorAtProperty(value0,value1)}};return ErrorAtProperty}();var renderForeignError=function(v){if(v instanceof ForeignError){return v.value0}if(v instanceof ErrorAtIndex){return"Error at array index "+(Data_Show.show(Data_Show.showInt)(v.value0)+(": "+renderForeignError(v.value1)))}if(v instanceof ErrorAtProperty){return"Error at property "+(Data_Show.show(Data_Show.showString)(v.value0)+(": "+renderForeignError(v.value1)))}if(v instanceof TypeMismatch){return"Type mismatch: expected "+(v.value0+(", found "+v.value1))}throw new Error("Failed pattern match at Foreign line 72, column 1 - line 72, column 45: "+[v.constructor.name])};var fail=function($107){return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107))};var unsafeReadTagged=function(tag){return function(value){if($foreign.tagOf(value)===tag){return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value))}if(Data_Boolean.otherwise){return fail(new TypeMismatch(tag,$foreign.tagOf(value)))}throw new Error("Failed pattern match at Foreign line 106, column 1 - line 106, column 55: "+[tag.constructor.name,value.constructor.name])}};exports["ForeignError"]=ForeignError;exports["TypeMismatch"]=TypeMismatch;exports["ErrorAtIndex"]=ErrorAtIndex;exports["ErrorAtProperty"]=ErrorAtProperty;exports["renderForeignError"]=renderForeignError;exports["unsafeReadTagged"]=unsafeReadTagged;exports["fail"]=fail;exports["unsafeToForeign"]=$foreign.unsafeToForeign})(PS["Foreign"]=PS["Foreign"]||{});(function(exports){"use strict";var Data_Argonaut_Core=PS["Data.Argonaut.Core"];var Data_ArrayBuffer_Types=PS["Data.ArrayBuffer.Types"];var Data_FormURLEncoded=PS["Data.FormURLEncoded"];var Data_Maybe=PS["Data.Maybe"];var Data_MediaType=PS["Data.MediaType"];var Data_MediaType_Common=PS["Data.MediaType.Common"];var Web_DOM_Document=PS["Web.DOM.Document"];var Web_File_Blob=PS["Web.File.Blob"];var Web_XHR_FormData=PS["Web.XHR.FormData"];var ArrayView=function(){function ArrayView(value0){this.value0=value0}ArrayView.create=function(value0){return new ArrayView(value0)};return ArrayView}();var Blob=function(){function Blob(value0){this.value0=value0}Blob.create=function(value0){return new Blob(value0)};return Blob}();var Document=function(){function Document(value0){this.value0=value0}Document.create=function(value0){return new Document(value0)};return Document}();var $$String=function(){function $$String(value0){this.value0=value0}$$String.create=function(value0){return new $$String(value0)};return $$String}();var FormData=function(){function FormData(value0){this.value0=value0}FormData.create=function(value0){return new FormData(value0)};return FormData}();var FormURLEncoded=function(){function FormURLEncoded(value0){this.value0=value0}FormURLEncoded.create=function(value0){return new FormURLEncoded(value0)};return FormURLEncoded}();var Json=function(){function Json(value0){this.value0=value0}Json.create=function(value0){return new Json(value0)};return Json}();var toMediaType=function(v){if(v instanceof FormURLEncoded){return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded)}if(v instanceof Json){return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON)}return Data_Maybe.Nothing.value};exports["ArrayView"]=ArrayView;exports["Blob"]=Blob;exports["Document"]=Document;exports["String"]=$$String;exports["FormData"]=FormData;exports["FormURLEncoded"]=FormURLEncoded;exports["Json"]=Json;exports["toMediaType"]=toMediaType})(PS["Network.HTTP.Affjax.Request"]=PS["Network.HTTP.Affjax.Request"]||{});(function(exports){"use strict";var Control_Category=PS["Control.Category"];var Data_Argonaut_Core=PS["Data.Argonaut.Core"];var Data_ArrayBuffer_Types=PS["Data.ArrayBuffer.Types"];var Data_Maybe=PS["Data.Maybe"];var Data_MediaType=PS["Data.MediaType"];var Data_MediaType_Common=PS["Data.MediaType.Common"];var Prelude=PS["Prelude"];var Web_DOM_Document=PS["Web.DOM.Document"];var Web_File_Blob=PS["Web.File.Blob"];var $$ArrayBuffer=function(){function $$ArrayBuffer(value0){this.value0=value0}$$ArrayBuffer.create=function(value0){return new $$ArrayBuffer(value0)};return $$ArrayBuffer}();var Blob=function(){function Blob(value0){this.value0=value0}Blob.create=function(value0){return new Blob(value0)};return Blob}();var Document=function(){function Document(value0){this.value0=value0}Document.create=function(value0){return new Document(value0)};return Document}();var Json=function(){function Json(value0){this.value0=value0}Json.create=function(value0){return new Json(value0)};return Json}();var $$String=function(){function $$String(value0){this.value0=value0}$$String.create=function(value0){return new $$String(value0)};return $$String}();var Ignore=function(){function Ignore(value0){this.value0=value0}Ignore.create=function(value0){return new Ignore(value0)};return Ignore}();var toResponseType=function(v){if(v instanceof $$ArrayBuffer){return"arraybuffer"}if(v instanceof Blob){return"blob"}if(v instanceof Document){return"document"}if(v instanceof Json){return"text"}if(v instanceof $$String){return"text"}if(v instanceof Ignore){return""}throw new Error("Failed pattern match at Network.HTTP.Affjax.Response line 41, column 3 - line 49, column 1: "+[v.constructor.name])};var toMediaType=function(v){if(v instanceof Json){return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON)}return Data_Maybe.Nothing.value};var ignore=new Ignore(Control_Category.identity(Control_Category.categoryFn));exports["ArrayBuffer"]=$$ArrayBuffer;exports["Blob"]=Blob;exports["Document"]=Document;exports["Json"]=Json;exports["String"]=$$String;exports["Ignore"]=Ignore;exports["ignore"]=ignore;exports["toResponseType"]=toResponseType;exports["toMediaType"]=toMediaType})(PS["Network.HTTP.Affjax.Response"]=PS["Network.HTTP.Affjax.Response"]||{});(function(exports){"use strict";var Data_Eq=PS["Data.Eq"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_MediaType=PS["Data.MediaType"];var Data_Newtype=PS["Data.Newtype"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Prelude=PS["Prelude"];var Accept=function(){function Accept(value0){this.value0=value0}Accept.create=function(value0){return new Accept(value0)};return Accept}();var ContentType=function(){function ContentType(value0){this.value0=value0}ContentType.create=function(value0){return new ContentType(value0)};return ContentType}();var RequestHeader=function(){function RequestHeader(value0,value1){this.value0=value0;this.value1=value1}RequestHeader.create=function(value0){return function(value1){return new RequestHeader(value0,value1)}};return RequestHeader}();var requestHeaderValue=function(v){if(v instanceof Accept){return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0)}if(v instanceof ContentType){return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0)}if(v instanceof RequestHeader){return v.value1}throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 29, column 1 - line 29, column 46: "+[v.constructor.name])};var requestHeaderName=function(v){if(v instanceof Accept){return"Accept"}if(v instanceof ContentType){return"Content-Type"}if(v instanceof RequestHeader){return v.value0}throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 24, column 1 - line 24, column 45: "+[v.constructor.name])};exports["Accept"]=Accept;exports["ContentType"]=ContentType;exports["RequestHeader"]=RequestHeader;exports["requestHeaderName"]=requestHeaderName;exports["requestHeaderValue"]=requestHeaderValue})(PS["Network.HTTP.RequestHeader"]=PS["Network.HTTP.RequestHeader"]||{});(function(exports){"use strict";var Data_Eq=PS["Data.Eq"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Prelude=PS["Prelude"];var ResponseHeader=function(){function ResponseHeader(value0,value1){this.value0=value0;this.value1=value1}ResponseHeader.create=function(value0){return function(value1){return new ResponseHeader(value0,value1)}};return ResponseHeader}();var responseHeader=function(field){return function(value){return new ResponseHeader(field,value)}};exports["responseHeader"]=responseHeader})(PS["Network.HTTP.ResponseHeader"]=PS["Network.HTTP.ResponseHeader"]||{});(function(exports){"use strict";var $foreign=PS["Network.HTTP.Affjax"];var Control_Applicative=PS["Control.Applicative"];var Control_Bind=PS["Control.Bind"];var Control_Monad_Error_Class=PS["Control.Monad.Error.Class"];var Control_Monad_Except=PS["Control.Monad.Except"];var Control_Monad_Except_Trans=PS["Control.Monad.Except.Trans"];var Control_Parallel=PS["Control.Parallel"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Argonaut_Core=PS["Data.Argonaut.Core"];var Data_Argonaut_Parser=PS["Data.Argonaut.Parser"];var Data_Array=PS["Data.Array"];var Data_Either=PS["Data.Either"];var Data_Eq=PS["Data.Eq"];var Data_Foldable=PS["Data.Foldable"];var Data_FormURLEncoded=PS["Data.FormURLEncoded"];var Data_Function=PS["Data.Function"];var Data_Function_Uncurried=PS["Data.Function.Uncurried"];var Data_Functor=PS["Data.Functor"];var Data_HTTP_Method=PS["Data.HTTP.Method"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Identity=PS["Data.Identity"];var Data_Int=PS["Data.Int"];var Data_List_Types=PS["Data.List.Types"];var Data_Maybe=PS["Data.Maybe"];var Data_Monoid=PS["Data.Monoid"];var Data_Nullable=PS["Data.Nullable"];var Data_Ord=PS["Data.Ord"];var Data_Ring=PS["Data.Ring"];var Data_Semiring=PS["Data.Semiring"];var Data_Time_Duration=PS["Data.Time.Duration"];var Data_Unit=PS["Data.Unit"];var Effect_Aff=PS["Effect.Aff"];var Effect_Aff_Compat=PS["Effect.Aff.Compat"];var Effect_Class=PS["Effect.Class"];var Effect_Exception=PS["Effect.Exception"];var Effect_Ref=PS["Effect.Ref"];var Foreign=PS["Foreign"];var $$Math=PS["Math"];var Network_HTTP_Affjax_Request=PS["Network.HTTP.Affjax.Request"];var Network_HTTP_Affjax_Response=PS["Network.HTTP.Affjax.Response"];var Network_HTTP_RequestHeader=PS["Network.HTTP.RequestHeader"];var Network_HTTP_ResponseHeader=PS["Network.HTTP.ResponseHeader"];var Network_HTTP_StatusCode=PS["Network.HTTP.StatusCode"];var Prelude=PS["Prelude"];var defaultRequest={method:new Data_Either.Left(Data_HTTP_Method.GET.value),url:"/",headers:[],content:Data_Maybe.Nothing.value,username:Data_Maybe.Nothing.value,password:Data_Maybe.Nothing.value,withCredentials:false};var affjax=function(rt){return function(req){var parseJSON=function(v){if(v===""){return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject)}return Data_Either.either(function($58){return Foreign.fail(Foreign.ForeignError.create($58))})(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v))};var fromResponse$prime=function(){if(rt instanceof Network_HTTP_Affjax_Response["ArrayBuffer"]){return Foreign.unsafeReadTagged("ArrayBuffer")}if(rt instanceof Network_HTTP_Affjax_Response.Blob){return Foreign.unsafeReadTagged("Blob")}if(rt instanceof Network_HTTP_Affjax_Response.Document){return Foreign.unsafeReadTagged("Document")}if(rt instanceof Network_HTTP_Affjax_Response.Json){return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function($59){return rt.value0(parseJSON($59))})(Foreign.unsafeReadTagged("String"))}if(rt instanceof Network_HTTP_Affjax_Response["String"]){return Foreign.unsafeReadTagged("String")}if(rt instanceof Network_HTTP_Affjax_Response.Ignore){return Data_Function["const"](rt.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)))}throw new Error("Failed pattern match at Network.HTTP.Affjax line 261, column 19 - line 267, column 51: "+[rt.constructor.name])}();var extractContent=function(v){if(v instanceof Network_HTTP_Affjax_Request.ArrayView){return v.value0(Foreign.unsafeToForeign)}if(v instanceof Network_HTTP_Affjax_Request.Blob){return Foreign.unsafeToForeign(v.value0)}if(v instanceof Network_HTTP_Affjax_Request.Document){return Foreign.unsafeToForeign(v.value0)}if(v instanceof Network_HTTP_Affjax_Request["String"]){return Foreign.unsafeToForeign(v.value0)}if(v instanceof Network_HTTP_Affjax_Request.FormData){return Foreign.unsafeToForeign(v.value0)}if(v instanceof Network_HTTP_Affjax_Request.FormURLEncoded){return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0))}if(v instanceof Network_HTTP_Affjax_Request.Json){return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0))}throw new Error("Failed pattern match at Network.HTTP.Affjax line 235, column 20 - line 242, column 53: "+[v.constructor.name])};var addHeader=function(mh){return function(hs){if(mh instanceof Data_Maybe.Just&&!Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Network_HTTP_RequestHeader.requestHeaderName)(mh.value0))(hs)){return Data_Array.snoc(hs)(mh.value0)}return hs}};var headers=function(reqContent){return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Network_HTTP_Affjax_Request.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_RequestHeader.Accept.create)(Network_HTTP_Affjax_Response.toMediaType(rt)))(req.headers))};var req$prime={method:Data_HTTP_Method.print(req.method),url:req.url,headers:Data_Functor.map(Data_Functor.functorArray)(function(h){return{field:Network_HTTP_RequestHeader.requestHeaderName(h),value:Network_HTTP_RequestHeader.requestHeaderValue(h)}})(headers(req.content)),content:Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),responseType:Network_HTTP_Affjax_Response.toResponseType(rt),username:Data_Nullable.toNullable(req.username),password:Data_Nullable.toNullable(req.password),withCredentials:req.withCredentials};return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign._ajax(Network_HTTP_ResponseHeader.responseHeader,req$prime)))(function(v){var v1=Control_Monad_Except.runExcept(fromResponse$prime(v.response));if(v1 instanceof Data_Either.Left){return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(Data_Foldable.intercalate(Data_List_Types.foldableNonEmptyList)(Data_Monoid.monoidString)("\n")(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Foreign.renderForeignError)(v1.value0))))}if(v1 instanceof Data_Either.Right){return Control_Applicative.pure(Effect_Aff.applicativeAff)({response:v1.value0,headers:v.headers,status:v.status,statusText:v.statusText})}throw new Error("Failed pattern match at Network.HTTP.Affjax line 217, column 3 - line 219, column 49: "+[v1.constructor.name])})}};exports["defaultRequest"]=defaultRequest;exports["affjax"]=affjax})(PS["Network.HTTP.Affjax"]=PS["Network.HTTP.Affjax"]||{});(function(exports){"use strict";exports._target=function(e){return e.target};exports.preventDefault=function(e){return function(){return e.preventDefault()}}})(PS["Web.Event.Event"]=PS["Web.Event.Event"]||{});(function(exports){"use strict";exports.toCharCode=function(c){return c.charCodeAt(0)};exports.fromCharCode=function(c){return String.fromCharCode(c)}})(PS["Data.Enum"]=PS["Data.Enum"]||{});(function(exports){"use strict";var $foreign=PS["Data.Enum"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_MonadPlus=PS["Control.MonadPlus"];var Control_MonadZero=PS["Control.MonadZero"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Boolean=PS["Data.Boolean"];var Data_Bounded=PS["Data.Bounded"];var Data_Either=PS["Data.Either"];var Data_Eq=PS["Data.Eq"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Maybe=PS["Data.Maybe"];var Data_Newtype=PS["Data.Newtype"];var Data_Ord=PS["Data.Ord"];var Data_Ordering=PS["Data.Ordering"];var Data_Ring=PS["Data.Ring"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semiring=PS["Data.Semiring"];var Data_Show=PS["Data.Show"];var Data_Tuple=PS["Data.Tuple"];var Data_Unfoldable=PS["Data.Unfoldable"];var Data_Unfoldable1=PS["Data.Unfoldable1"];var Data_Unit=PS["Data.Unit"];var Partial_Unsafe=PS["Partial.Unsafe"];var Prelude=PS["Prelude"];var Enum=function(Ord0,pred,succ){this.Ord0=Ord0;this.pred=pred;this.succ=succ};var BoundedEnum=function(Bounded0,Enum1,cardinality,fromEnum,toEnum){this.Bounded0=Bounded0;this.Enum1=Enum1;this.cardinality=cardinality;this.fromEnum=fromEnum;this.toEnum=toEnum};var toEnum=function(dict){return dict.toEnum};var succ=function(dict){return dict.succ};var pred=function(dict){return dict.pred};var fromEnum=function(dict){return dict.fromEnum};var toEnumWithDefaults=function(dictBoundedEnum){return function(low){return function(high){return function(x){var v=toEnum(dictBoundedEnum)(x);if(v instanceof Data_Maybe.Just){return v.value0}if(v instanceof Data_Maybe.Nothing){var $51=x<fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));if($51){return low}return high}throw new Error("Failed pattern match at Data.Enum line 158, column 33 - line 160, column 62: "+[v.constructor.name])}}}};var defaultSucc=function(toEnum$prime){return function(fromEnum$prime){return function(a){return toEnum$prime(fromEnum$prime(a)+1|0)}}};var defaultPred=function(toEnum$prime){return function(fromEnum$prime){return function(a){return toEnum$prime(fromEnum$prime(a)-1|0)}}};var charToEnum=function(v){if(v>=Data_Bounded.bottom(Data_Bounded.boundedInt)&&v<=Data_Bounded.top(Data_Bounded.boundedInt)){return new Data_Maybe.Just($foreign.fromCharCode(v))}return Data_Maybe.Nothing.value};var enumChar=new Enum(function(){return Data_Ord.ordChar},defaultPred(charToEnum)($foreign.toCharCode),defaultSucc(charToEnum)($foreign.toCharCode));var cardinality=function(dict){return dict.cardinality};var boundedEnumChar=new BoundedEnum(function(){return Data_Bounded.boundedChar},function(){return enumChar},$foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar))-$foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar))|0,$foreign.toCharCode,charToEnum);exports["Enum"]=Enum;exports["succ"]=succ;exports["pred"]=pred;exports["BoundedEnum"]=BoundedEnum;exports["cardinality"]=cardinality;exports["toEnum"]=toEnum;exports["fromEnum"]=fromEnum;exports["toEnumWithDefaults"]=toEnumWithDefaults;exports["defaultSucc"]=defaultSucc;exports["defaultPred"]=defaultPred;exports["enumChar"]=enumChar;exports["boundedEnumChar"]=boundedEnumChar})(PS["Data.Enum"]=PS["Data.Enum"]||{});(function(exports){"use strict";var $foreign=PS["Web.Event.Event"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_DateTime_Instant=PS["Data.DateTime.Instant"];var Data_Enum=PS["Data.Enum"];var Data_Eq=PS["Data.Eq"];var Data_Maybe=PS["Data.Maybe"];var Data_Newtype=PS["Data.Newtype"];var Data_Nullable=PS["Data.Nullable"];var Data_Ord=PS["Data.Ord"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Web_Event_EventPhase=PS["Web.Event.EventPhase"];var Web_Event_Internal_Types=PS["Web.Event.Internal.Types"];var target=function($4){return Data_Nullable.toMaybe($foreign._target($4))};exports["target"]=target;exports["preventDefault"]=$foreign.preventDefault})(PS["Web.Event.Event"]=PS["Web.Event.Event"]||{});(function(exports){"use strict";var Control_Bind=PS["Control.Bind"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Array=PS["Data.Array"];var Data_Either=PS["Data.Either"];var Data_FormURLEncoded=PS["Data.FormURLEncoded"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_HTTP_Method=PS["Data.HTTP.Method"];var Data_Maybe=PS["Data.Maybe"];var Data_MediaType_Common=PS["Data.MediaType.Common"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Unit=PS["Data.Unit"];var Effect=PS["Effect"];var Effect_Aff=PS["Effect.Aff"];var Effect_Class=PS["Effect.Class"];var Globals=PS["Globals"];var Network_HTTP_Affjax=PS["Network.HTTP.Affjax"];var Network_HTTP_Affjax_Request=PS["Network.HTTP.Affjax.Request"];var Network_HTTP_Affjax_Response=PS["Network.HTTP.Affjax.Response"];var Network_HTTP_RequestHeader=PS["Network.HTTP.RequestHeader"];var Prelude=PS["Prelude"];var Web_Event_Event=PS["Web.Event.Event"];var Web_HTML=PS["Web.HTML"];var Web_HTML_Location=PS["Web.HTML.Location"];var Web_HTML_Window=PS["Web.HTML.Window"];var fetchUrl=function(method){return function(url){return function(headers){return function(content){return function(rt){var app=Globals["app'"](Data_Unit.unit);return Network_HTTP_Affjax.affjax(rt)({method:new Data_Either.Left(method),url:url,headers:Data_Array.cons(new Network_HTTP_RequestHeader.RequestHeader(app.csrfHeaderName,app.csrfToken))(headers),content:content,username:Network_HTTP_Affjax.defaultRequest.username,password:Network_HTTP_Affjax.defaultRequest.password,withCredentials:Network_HTTP_Affjax.defaultRequest.withCredentials})}}}}};var logout=function(u){var app=Globals["app'"](u);return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([])(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore)))(function(){return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload))})};var logoutE=function(e){return Control_Bind.bindFlipped(Effect.bindEffect)(function($1){return Data_Functor["void"](Effect.functorEffect)(Effect_Aff.launchAff(logout($1)))})(Web_Event_Event.preventDefault(e))};var fetchPath=function(method){return function(path){return function(headers){return function(content){return function(rt){return fetchUrl(method)(Globals["app'"](Data_Unit.unit).homeR+path)(headers)(content)(rt)}}}}};var fetchUrlEnc=function(method){return function(path){return function(content){return function(rt){return fetchPath(method)(path)([new Network_HTTP_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded)])(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_Affjax_Request.FormURLEncoded.create)(content))(rt)}}}};exports["logoutE"]=logoutE;exports["logout"]=logout;exports["fetchUrlEnc"]=fetchUrlEnc;exports["fetchPath"]=fetchPath;exports["fetchUrl"]=fetchUrl})(PS["App"]=PS["App"]||{});(function(exports){"use strict";var Control_Alt=PS["Control.Alt"];var Control_Alternative=PS["Control.Alternative"];var Control_Applicative=PS["Control.Applicative"];var Control_Apply=PS["Control.Apply"];var Control_Bind=PS["Control.Bind"];var Control_Category=PS["Control.Category"];var Control_Monad=PS["Control.Monad"];var Control_Monad_Cont_Class=PS["Control.Monad.Cont.Class"];var Control_Monad_Error_Class=PS["Control.Monad.Error.Class"];var Control_Monad_Reader_Class=PS["Control.Monad.Reader.Class"];var Control_Monad_Rec_Class=PS["Control.Monad.Rec.Class"];var Control_Monad_State_Class=PS["Control.Monad.State.Class"];var Control_Monad_Trans_Class=PS["Control.Monad.Trans.Class"];var Control_Monad_Writer_Class=PS["Control.Monad.Writer.Class"];var Control_MonadPlus=PS["Control.MonadPlus"];var Control_MonadZero=PS["Control.MonadZero"];var Control_Plus=PS["Control.Plus"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Newtype=PS["Data.Newtype"];var Data_Tuple=PS["Data.Tuple"];var Effect_Class=PS["Effect.Class"];var Prelude=PS["Prelude"];var MaybeT=function(x){return x};var runMaybeT=function(v){return v};var monadTransMaybeT=new Control_Monad_Trans_Class.MonadTrans(function(dictMonad){return function($75){return MaybeT(Control_Monad.liftM1(dictMonad)(Data_Maybe.Just.create)($75))}});var functorMaybeT=function(dictFunctor){return new Data_Functor.Functor(function(f){return function(v){return Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v)}})};var monadMaybeT=function(dictMonad){return new Control_Monad.Monad(function(){return applicativeMaybeT(dictMonad)},function(){return bindMaybeT(dictMonad)})};var bindMaybeT=function(dictMonad){return new Control_Bind.Bind(function(){return applyMaybeT(dictMonad)},function(v){return function(f){return Control_Bind.bind(dictMonad.Bind1())(v)(function(v1){if(v1 instanceof Data_Maybe.Nothing){return Control_Applicative.pure(dictMonad.Applicative0())(Data_Maybe.Nothing.value)}if(v1 instanceof Data_Maybe.Just){var v2=f(v1.value0);return v2}throw new Error("Failed pattern match at Control.Monad.Maybe.Trans line 54, column 11 - line 56, column 42: "+[v1.constructor.name])})}})};var applyMaybeT=function(dictMonad){return new Control_Apply.Apply(function(){return functorMaybeT(dictMonad.Bind1().Apply0().Functor0())},Control_Monad.ap(monadMaybeT(dictMonad)))};var applicativeMaybeT=function(dictMonad){return new Control_Applicative.Applicative(function(){return applyMaybeT(dictMonad)},function($76){return MaybeT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Maybe.Just.create($76)))})};exports["MaybeT"]=MaybeT;exports["runMaybeT"]=runMaybeT;exports["functorMaybeT"]=functorMaybeT;exports["applyMaybeT"]=applyMaybeT;exports["applicativeMaybeT"]=applicativeMaybeT;exports["bindMaybeT"]=bindMaybeT;exports["monadMaybeT"]=monadMaybeT;exports["monadTransMaybeT"]=monadTransMaybeT})(PS["Control.Monad.Maybe.Trans"]=PS["Control.Monad.Maybe.Trans"]||{});(function(exports){"use strict";var hasArrayFrom=typeof Array.from==="function";var hasStringIterator=typeof Symbol!=="undefined"&&Symbol!=null&&typeof Symbol.iterator!=="undefined"&&typeof String.prototype[Symbol.iterator]==="function";var hasFromCodePoint=typeof String.prototype.fromCodePoint==="function";var hasCodePointAt=typeof String.prototype.codePointAt==="function";exports._unsafeCodePointAt0=function(fallback){return hasCodePointAt?function(str){return str.codePointAt(0)}:fallback};exports._singleton=function(fallback){return hasFromCodePoint?String.fromCodePoint:fallback};exports._take=function(fallback){return function(n){if(hasStringIterator){return function(str){var accum="";var iter=str[Symbol.iterator]();for(var i=0;i<n;++i){var o=iter.next();if(o.done)return accum;accum+=o.value}return accum}}return fallback(n)}};exports._toCodePointArray=function(fallback){return function(unsafeCodePointAt0){if(hasArrayFrom){return function(str){return Array.from(str,unsafeCodePointAt0)}}return fallback}}})(PS["Data.String.CodePoints"]=PS["Data.String.CodePoints"]||{});(function(exports){"use strict";var $foreign=PS["Data.String.CodePoints"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Array=PS["Data.Array"];var Data_Boolean=PS["Data.Boolean"];var Data_Bounded=PS["Data.Bounded"];var Data_Enum=PS["Data.Enum"];var Data_Eq=PS["Data.Eq"];var Data_EuclideanRing=PS["Data.EuclideanRing"];var Data_Functor=PS["Data.Functor"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Int=PS["Data.Int"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Ring=PS["Data.Ring"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Semiring=PS["Data.Semiring"];var Data_Show=PS["Data.Show"];var Data_String_CodeUnits=PS["Data.String.CodeUnits"];var Data_String_Common=PS["Data.String.Common"];var Data_String_Pattern=PS["Data.String.Pattern"];var Data_String_Unsafe=PS["Data.String.Unsafe"];var Data_Tuple=PS["Data.Tuple"];var Data_Unfoldable=PS["Data.Unfoldable"];var Prelude=PS["Prelude"];var unsurrogate=function(lead){return function(trail){return(((lead-55296|0)*1024|0)+(trail-56320|0)|0)+65536|0}};var isTrail=function(cu){return 56320<=cu&&cu<=57343};var isLead=function(cu){return 55296<=cu&&cu<=56319};var uncons=function(s){var v=Data_String_CodeUnits.length(s);if(v===0){return Data_Maybe.Nothing.value}if(v===1){return new Data_Maybe.Just({head:Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),tail:""})}var cu1=Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));var cu0=Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));var $21=isLead(cu0)&&isTrail(cu1);if($21){return new Data_Maybe.Just({head:unsurrogate(cu0)(cu1),tail:Data_String_CodeUnits.drop(2)(s)})}return new Data_Maybe.Just({head:cu0,tail:Data_String_CodeUnits.drop(1)(s)})};var unconsButWithTuple=function(s){return Data_Functor.map(Data_Maybe.functorMaybe)(function(v){return new Data_Tuple.Tuple(v.head,v.tail)})(uncons(s))};var toCodePointArrayFallback=function(s){return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s)};var unsafeCodePointAt0Fallback=function(s){var cu1=Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));var cu0=Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));var $25=isLead(cu0)&&isTrail(cu1);if($25){return unsurrogate(cu0)(cu1)}return cu0};var unsafeCodePointAt0=$foreign._unsafeCodePointAt0(unsafeCodePointAt0Fallback);var toCodePointArray=$foreign._toCodePointArray(toCodePointArrayFallback)(unsafeCodePointAt0);var length=function($51){return Data_Array.length(toCodePointArray($51))};var fromCharCode=function($52){return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($52))};var singletonFallback=function(v){if(v<=65535){return fromCharCode(v)}var lead=Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v-65536|0)(1024)+55296|0;var trail=Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v-65536|0)(1024)+56320|0;return fromCharCode(lead)+fromCharCode(trail)};var singleton=$foreign._singleton(singletonFallback);var takeFallback=function(n){return function(v){if(n<1){return""}var v1=uncons(v);if(v1 instanceof Data_Maybe.Just){return singleton(v1.value0.head)+takeFallback(n-1|0)(v1.value0.tail)}return v}};var take=$foreign._take(takeFallback);var drop=function(n){return function(s){return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s)}};exports["singleton"]=singleton;exports["toCodePointArray"]=toCodePointArray;exports["uncons"]=uncons;exports["length"]=length;exports["take"]=take;exports["drop"]=drop})(PS["Data.String.CodePoints"]=PS["Data.String.CodePoints"]||{});(function(exports){"use strict";exports.log=function(s){return function(){console.log(s);return{}}}})(PS["Effect.Console"]=PS["Effect.Console"]||{});(function(exports){"use strict";var $foreign=PS["Effect.Console"];var Data_Show=PS["Data.Show"];var Data_Unit=PS["Data.Unit"];var Effect=PS["Effect"];exports["log"]=$foreign.log})(PS["Effect.Console"]=PS["Effect.Console"]||{});(function(exports){"use strict";var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Function=PS["Data.Function"];var Data_Show=PS["Data.Show"];var Data_Unit=PS["Data.Unit"];var Effect_Class=PS["Effect.Class"];var Effect_Console=PS["Effect.Console"];var log=function(dictMonadEffect){return function($15){return Effect_Class.liftEffect(dictMonadEffect)(Effect_Console.log($15))}};exports["log"]=log})(PS["Effect.Class.Console"]=PS["Effect.Class.Console"]||{});(function(exports){"use strict";var Control_Applicative=PS["Control.Applicative"];var Control_Bind=PS["Control.Bind"];var Control_Monad_Maybe_Trans=PS["Control.Monad.Maybe.Trans"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Foldable=PS["Data.Foldable"];var Data_Function=PS["Data.Function"];var Data_Maybe=PS["Data.Maybe"];var Data_Tuple=PS["Data.Tuple"];var Effect=PS["Effect"];var Partial_Unsafe=PS["Partial.Unsafe"];var Prelude=PS["Prelude"];var Web_DOM=PS["Web.DOM"];var Web_DOM_Document=PS["Web.DOM.Document"];var Web_DOM_Element=PS["Web.DOM.Element"];var Web_DOM_NodeList=PS["Web.DOM.NodeList"];var Web_DOM_NonElementParentNode=PS["Web.DOM.NonElementParentNode"];var Web_DOM_ParentNode=PS["Web.DOM.ParentNode"];var Web_HTML=PS["Web.HTML"];var Web_HTML_HTMLDocument=PS["Web.HTML.HTMLDocument"];var Web_HTML_HTMLElement=PS["Web.HTML.HTMLElement"];var Web_HTML_Window=PS["Web.HTML.Window"];var _querySelectorAll=function(s){return function(n){return Control_Bind.bindFlipped(Effect.bindEffect)(Web_DOM_NodeList.toArray)(Web_DOM_ParentNode.querySelectorAll(s)(Web_DOM_Element.toParentNode(n)))}};var _querySelector=function(s){return function(n){return Web_DOM_ParentNode.querySelector(s)(Web_DOM_Element.toParentNode(n))}};var _queryBoth$prime$prime=function(v){return function(v1){return function(f){return function __do(){var v2=_querySelectorAll(v.value0)(v.value1)();var v3=_querySelectorAll(v1.value0)(v1.value1)();return f(v2)(v3)()}}}};var _queryBoth$prime=function(v){return function(v1){return function(f){return function __do(){var v2=_querySelector(v.value0)(v.value1)();var v3=_querySelectorAll(v1.value0)(v1.value1)();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2)(function(a){return f(a)(v3)})()}}}};var _queryBoth=function(v){return function(v1){return function(f){return function __do(){var v2=_querySelector(v.value0)(v.value1)();var v3=_querySelector(v1.value0)(v1.value1)();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2)(function(a){return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v3)(function(b){return f(a)(b)})})()}}}};var _mt_pure=function($42){return Control_Monad_Maybe_Trans.MaybeT(Control_Applicative.pure(Effect.applicativeEffect)($42))};var _mt=Control_Monad_Maybe_Trans.MaybeT;var _getElementById=function(s){return function($43){return Web_DOM_NonElementParentNode.getElementById(s)(Web_DOM_Document.toNonElementParentNode(Web_HTML_HTMLDocument.toDocument($43)))}};var _fromNode=function(e){return Data_Maybe.fromJust()(Web_DOM_Element.fromNode(e))};var _fromElement=function(e){return Data_Maybe.fromJust()(Web_HTML_HTMLElement.fromElement(e))};var _doc=Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window);var _body=Control_Bind.bindFlipped(Effect.bindEffect)(function($44){return Control_Applicative.pure(Effect.applicativeEffect)(Data_Maybe.fromJust()($44))})(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_HTMLDocument.body)(_doc));exports["_queryBoth"]=_queryBoth;exports["_queryBoth'"]=_queryBoth$prime;exports["_queryBoth''"]=_queryBoth$prime$prime;exports["_querySelector"]=_querySelector;exports["_querySelectorAll"]=_querySelectorAll;exports["_fromNode"]=_fromNode;exports["_fromElement"]=_fromElement;exports["_getElementById"]=_getElementById;exports["_doc"]=_doc;exports["_body"]=_body;exports["_mt"]=_mt;exports["_mt_pure"]=_mt_pure})(PS["Util"]=PS["Util"]||{});(function(exports){"use strict";var getEffProp=function(name){return function(node){return function(){return node[name]}}};exports.textContent=getEffProp("textContent");exports.setTextContent=function(value){return function(node){return function(){node.textContent=value;return{}}}};exports.deepClone=function(node){return function(){return node.cloneNode(true)}};exports.insertBefore=function(node1){return function(node2){return function(parent){return function(){return parent.insertBefore(node1,node2)}}}};exports.appendChild=function(node){return function(parent){return function(){return parent.appendChild(node)}}}})(PS["Web.DOM.Node"]=PS["Web.DOM.Node"]||{});(function(exports){"use strict";var $foreign=PS["Web.DOM.Node"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Enum=PS["Data.Enum"];var Data_Functor=PS["Data.Functor"];var Data_Maybe=PS["Data.Maybe"];var Data_Nullable=PS["Data.Nullable"];var Effect=PS["Effect"];var Prelude=PS["Prelude"];var Unsafe_Coerce=PS["Unsafe.Coerce"];var Web_DOM_Document=PS["Web.DOM.Document"];var Web_DOM_Element=PS["Web.DOM.Element"];var Web_DOM_Internal_Types=PS["Web.DOM.Internal.Types"];var Web_DOM_NodeType=PS["Web.DOM.NodeType"];var Web_Event_EventTarget=PS["Web.Event.EventTarget"];var Web_Internal_FFI=PS["Web.Internal.FFI"];var fromEventTarget=Web_Internal_FFI.unsafeReadProtoTagged("Node");exports["fromEventTarget"]=fromEventTarget;exports["textContent"]=$foreign.textContent;exports["setTextContent"]=$foreign.setTextContent;exports["deepClone"]=$foreign.deepClone;exports["insertBefore"]=$foreign.insertBefore;exports["appendChild"]=$foreign.appendChild})(PS["Web.DOM.Node"]=PS["Web.DOM.Node"]||{});(function(exports){"use strict";var App=PS["App"];var Control_Applicative=PS["Control.Applicative"];var Control_Bind=PS["Control.Bind"];var Control_Monad_Maybe_Trans=PS["Control.Monad.Maybe.Trans"];var Control_Monad_Trans_Class=PS["Control.Monad.Trans.Class"];var Control_Semigroupoid=PS["Control.Semigroupoid"];var Data_Array=PS["Data.Array"];var Data_Eq=PS["Data.Eq"];var Data_Foldable=PS["Data.Foldable"];var Data_FormURLEncoded=PS["Data.FormURLEncoded"];var Data_Function=PS["Data.Function"];var Data_Functor=PS["Data.Functor"];var Data_HTTP_Method=PS["Data.HTTP.Method"];var Data_HeytingAlgebra=PS["Data.HeytingAlgebra"];var Data_Maybe=PS["Data.Maybe"];var Data_Ord=PS["Data.Ord"];var Data_Semigroup=PS["Data.Semigroup"];var Data_Show=PS["Data.Show"];var Data_String=PS["Data.String"];var Data_String_CodePoints=PS["Data.String.CodePoints"];var Data_String_Common=PS["Data.String.Common"];var Data_String_Pattern=PS["Data.String.Pattern"];var Data_Traversable=PS["Data.Traversable"];var Data_Tuple=PS["Data.Tuple"];var Data_Unit=PS["Data.Unit"];var Effect=PS["Effect"];var Effect_Aff=PS["Effect.Aff"];var Effect_Class=PS["Effect.Class"];var Effect_Class_Console=PS["Effect.Class.Console"];var Globals=PS["Globals"];var Network_HTTP_Affjax=PS["Network.HTTP.Affjax"];var Network_HTTP_Affjax_Response=PS["Network.HTTP.Affjax.Response"];var Prelude=PS["Prelude"];var Util=PS["Util"];var Web_DOM=PS["Web.DOM"];var Web_DOM_ChildNode=PS["Web.DOM.ChildNode"];var Web_DOM_DOMTokenList=PS["Web.DOM.DOMTokenList"];var Web_DOM_Document=PS["Web.DOM.Document"];var Web_DOM_Element=PS["Web.DOM.Element"];var Web_DOM_Node=PS["Web.DOM.Node"];var Web_Event_Event=PS["Web.Event.Event"];var Web_HTML_HTMLDocument=PS["Web.HTML.HTMLDocument"];var Web_HTML_HTMLElement=PS["Web.HTML.HTMLElement"];var Web_HTML_HTMLFormElement=PS["Web.HTML.HTMLFormElement"];var Web_HTML_HTMLInputElement=PS["Web.HTML.HTMLInputElement"];var Web_HTML_HTMLTextAreaElement=PS["Web.HTML.HTMLTextAreaElement"];var Star=function(){function Star(){}Star.value=new Star;return Star}();var UnStar=function(){function UnStar(){}UnStar.value=new UnStar;return UnStar}();var toggleDelete=function(toggle){return function(n){return Data_Functor["void"](Effect.functorEffect)(Control_Monad_Maybe_Trans.runMaybeT(Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Globals.closest(".delete_link")(n)))(function(v){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Util._querySelector(".confirm")(Util._fromNode(v))))(function(v1){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Util._querySelector(".delete")(Util._fromNode(v))))(function(v2){return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Control_Monad_Trans_Class.lift(Control_Monad_Maybe_Trans.monadTransMaybeT)(Effect.monadEffect)(Web_DOM_Element.removeAttribute("hidden")(function(){if(toggle){return v1}return v2}())))(function(){return Control_Monad_Trans_Class.lift(Control_Monad_Maybe_Trans.monadTransMaybeT)(Effect.monadEffect)(Web_DOM_Element.setAttribute("hidden")("hidden")(function(){var $62=!toggle;if($62){return v1}return v2}()))})})})})))}};var showStar=new Data_Show.Show(function(v){if(v instanceof Star){return"star"}if(v instanceof UnStar){return"unstar"}throw new Error("Failed pattern match at BMark line 127, column 1 - line 127, column 37: "+[v.constructor.name])});var toggleStar=function(bid){return function(action){var path="bm/"+(Data_Show.show(Data_Show.showInt)(bid)+("/"+Data_Show.show(showStar)(action)));return Data_Functor["void"](Effect_Aff.functorAff)(App.fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore))}};var toggleStarE=function(e){return function(bid){return function __do(){Web_Event_Event.preventDefault(e)();var v=Control_Monad_Maybe_Trans.runMaybeT(Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt_pure(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_DOM_Node.fromEventTarget)(Web_Event_Event.target(e))))(function(v){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Globals.closest(".star")(v)))(function(v1){return Util._mt_pure(Web_HTML_HTMLElement.fromNode(v1))})}))();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function(starEl){return function __do(){var v1=Web_HTML_HTMLElement.classList(starEl)();var v2=Web_DOM_DOMTokenList.contains(v1)("selected_star")();Data_Functor["void"](Effect.functorEffect)(Effect_Aff.launchAff(toggleStar(bid)(function(){if(v2){return UnStar.value}return Star.value}())))();return Data_Functor["void"](Effect.functorEffect)(Web_DOM_DOMTokenList.toggle(v1)("selected_star"))()}})()}}};var replaceIsoTimestamps=function(u){return function __do(){var v=Util._body();var v1=Util._querySelectorAll(".js-moment")(Web_HTML_HTMLElement.toElement(v))();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableArray)(v1)(function(x){return function __do(){var s$prime=Globals.getDataAttribute("iso8601")(Util._fromNode(x))();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(s$prime)(function(s){return function __do(){var v2=Globals.moment8601(s)();Web_DOM_Node.setTextContent(v2.value0)(x)();Web_DOM_Element.setAttribute("title")(v2.value1)(Util._fromNode(x))();return Web_DOM_Element.setAttribute("style")("visibility:visible")(Util._fromNode(x))()}})()}})()}};var markRead=function(bid){var path="bm/"+(Data_Show.show(Data_Show.showInt)(bid)+"/read");return App.fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore)};var markReadE=function(e){return function(bid){var removeUnreadClass=function(eNode){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Globals.closest(".bookmark")(eNode)))(function(v){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Util._querySelector(".bookmark_title")(Util._fromNode(v))))(function(v1){return Control_Monad_Trans_Class.lift(Control_Monad_Maybe_Trans.monadTransMaybeT)(Effect.monadEffect)(function __do(){var v2=Web_HTML_HTMLElement.classList(Util._fromElement(v1))();return Web_DOM_DOMTokenList.remove(v2)("unread")()})})})};var removeReadNode=function(eNode){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Globals.closest(".mark_read")(eNode)))(function(v){return Control_Monad_Trans_Class.lift(Control_Monad_Maybe_Trans.monadTransMaybeT)(Effect.monadEffect)(Web_DOM_ChildNode.remove(Web_DOM_Element.toChildNode(Util._fromNode(v))))})};return function __do(){Web_Event_Event.preventDefault(e)();return Data_Functor["void"](Effect.functorEffect)(Effect_Aff.launchAff(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(markRead(bid)))(function(){return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad_Maybe_Trans.runMaybeT(Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt_pure(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_DOM_Node.fromEventTarget)(Web_Event_Event.target(e))))(function(v){return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(removeUnreadClass(v))(function(){return removeReadNode(v)})})))})))()}}};var editHideE=function(e){var showDisplay=function(body){return function __do(){var v=Util._querySelectorAll(".display")(body)();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableArray)(v)(function($118){return Web_DOM_Element.removeAttribute("hidden")(Util._fromNode($118))})()}};var removeEdit=function(body){return function __do(){var v=Util._querySelectorAll(".edit_bookmark_form.active")(body)();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableArray)(v)(function($119){return Web_DOM_ChildNode.remove(Web_DOM_Element.toChildNode(Util._fromNode($119)))})()}};return function __do(){Web_Event_Event.preventDefault(e)();var v=Util._body();showDisplay(Web_HTML_HTMLElement.toElement(v))();return removeEdit(Web_HTML_HTMLElement.toElement(v))()}};var editSubmitE=function(e){var words=function($120){return Data_Array.filter(function($121){return function(v){return 0<v}(Data_String_CodePoints.length($121))})(Data_String_Common.split(" ")($120))};var _mpair=function(v){if(v.length===2){return Data_Maybe.Just.create(new Data_Tuple.Tuple(v[0],new Data_Maybe.Just(v[1])))}return Data_Maybe.Nothing.value};return function __do(){Web_Event_Event.preventDefault(e)();var v=Util._body();var v1=Util._doc();return Data_Functor["void"](Effect.functorEffect)(Control_Monad_Maybe_Trans.runMaybeT(Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt_pure(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_DOM_Node.fromEventTarget)(Web_Event_Event.target(e))))(function(v2){var fe=Util._fromNode(v2);return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt_pure(Web_HTML_HTMLFormElement.fromNode(v2)))(function(v3){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Data_Functor.map(Effect.functorEffect)(Data_Functor.map(Data_Maybe.functorMaybe)(Util._fromNode))(Globals.closest(".bookmark")(v2))))(function(v4){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Util._querySelector(".display")(v4)))(function(v5){return Control_Monad_Trans_Class.lift(Control_Monad_Maybe_Trans.monadTransMaybeT)(Effect.monadEffect)(Effect_Aff.launchAff(function(){var dat=Data_Maybe.Just.create(Data_FormURLEncoded.FormURLEncoded(Data_Array.mapMaybe(_mpair)(Globals.createFormArray(v3))));return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(App.fetchUrlEnc(Data_HTTP_Method.POST.value)("add?inline=true")(dat)(Network_HTTP_Affjax_Response.ignore)))(function(){return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do(){var v6=function __do(){var me=Util._querySelector("input[name=toread]")(fe)();var $122=Data_Traversable["for"](Effect.applicativeEffect)(Data_Traversable.traversableMaybe)(Control_Bind.bind(Data_Maybe.bindMaybe)(me)(Web_HTML_HTMLInputElement.fromElement))(Web_HTML_HTMLInputElement.checked)();return Data_Maybe.fromMaybe(false)($122)}();var v7=function __do(){var me=Util._querySelector("input[name=private]")(fe)();var $123=Data_Traversable["for"](Effect.applicativeEffect)(Data_Traversable.traversableMaybe)(Control_Bind.bind(Data_Maybe.bindMaybe)(me)(Web_HTML_HTMLInputElement.fromElement))(Web_HTML_HTMLInputElement.checked)();return Data_Maybe.fromMaybe(false)($123)}();Util._queryBoth(new Data_Tuple.Tuple(".url",fe))(new Data_Tuple.Tuple(".url_display",v5))(function(a){return function(b){return function __do(){var v8=function __do(){var $124=Data_Traversable["for"](Effect.applicativeEffect)(Data_Traversable.traversableMaybe)(Web_HTML_HTMLInputElement.fromElement(a))(Web_HTML_HTMLInputElement.value)();return Data_Maybe.fromMaybe("")($124)}();return Web_DOM_Node.setTextContent(v8)(Web_DOM_Element.toNode(b))()}}})();Util._queryBoth(new Data_Tuple.Tuple(".title",fe))(new Data_Tuple.Tuple(".bookmark_title",v5))(function(a){return function(b){return function __do(){var v8=function __do(){var $125=Data_Traversable["for"](Effect.applicativeEffect)(Data_Traversable.traversableMaybe)(Web_HTML_HTMLInputElement.fromElement(a))(Web_HTML_HTMLInputElement.value)();return Data_Maybe.fromMaybe("")($125)}();Web_DOM_Node.setTextContent(v8)(Web_DOM_Element.toNode(b))();return Data_Functor["void"](Effect.functorEffect)(function __do(){var cl=Web_HTML_HTMLElement.classList(Util._fromElement(b))();return Web_DOM_DOMTokenList.toggleForce(cl)("unread")(v6)()})()}}})();Util._queryBoth(new Data_Tuple.Tuple(".description",fe))(new Data_Tuple.Tuple(".description",v5))(function(a){return function(b){return function __do(){var v8=function __do(){var $126=Data_Traversable["for"](Effect.applicativeEffect)(Data_Traversable.traversableMaybe)(Web_HTML_HTMLTextAreaElement.fromElement(a))(Web_HTML_HTMLTextAreaElement.value)();return Data_Maybe.fromMaybe("")($126)}();var descr$prime=Data_String_Common.trim(Data_String_Common.replaceAll("\n")("<br>")(v8));return Data_Functor["void"](Effect.functorEffect)(Globals.setInnerHtml(descr$prime)(Util._fromElement(b)))()}}})();Data_Functor["void"](Effect.functorEffect)(function __do(){var cl=Web_HTML_HTMLElement.classList(Util._fromElement(v4))();return Web_DOM_DOMTokenList.toggleForce(cl)("private")(v7)()})();var v8=function __do(){var me=Util._querySelector(".banner_username")(Web_HTML_HTMLElement.toElement(v))();var $127=Data_Functor.map(Effect.functorEffect)(Control_Bind.join(Data_Maybe.bindMaybe))(Data_Traversable["for"](Effect.applicativeEffect)(Data_Traversable.traversableMaybe)(me)(Globals.getDataAttribute("username")))();return Data_Maybe.fromMaybe("")($127)}();Util._queryBoth(new Data_Tuple.Tuple(".tags",fe))(new Data_Tuple.Tuple(".tags",v5))(function(a){return function(b){return function __do(){Data_Functor["void"](Effect.functorEffect)(Globals.setInnerHtml("")(Util._fromElement(b)))();var v9=function __do(){var $128=Data_Traversable["for"](Effect.applicativeEffect)(Data_Traversable.traversableMaybe)(Web_HTML_HTMLInputElement.fromElement(a))(Web_HTML_HTMLInputElement.value)();return Data_Maybe.fromMaybe("")($128)}();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableArray)(words(v9))(function(w){return function __do(){var v10=Web_DOM_Document.createElement("a")(Web_HTML_HTMLDocument.toDocument(v1))();Web_DOM_Element.setClassName("tag"+function(){var $99=Data_String_CodePoints.take(1)(w)===".";if($99){return" private"}return""}())(v10)();Web_DOM_Element.setAttribute("href")("/u:"+(v8+("/t:"+w)))(v10)();Web_DOM_Node.setTextContent(w)(Web_DOM_Element.toNode(v10))();return Web_DOM_Node.appendChild(Web_DOM_Element.toNode(v10))(Web_DOM_Element.toNode(b))()}})()}}})();(function __do(){var me=Util._querySelector(".read")(v5)();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(me)(function(m){return function __do(){Data_Functor["void"](Effect.functorEffect)(Globals.setInnerHtml("")(Util._fromElement(m)))();return Control_Applicative.when(Effect.applicativeEffect)(v6)(function __do(){var v9=function __do(){var $129=Globals.getDataAttribute("bid")(v4)();return Data_Maybe.fromMaybe("")($129)}();Effect_Class_Console.log(Effect_Class.monadEffectEffect)(v9)();var v10=Web_DOM_Document.createElement("a")(Web_HTML_HTMLDocument.toDocument(v1))();Web_DOM_Element.setClassName("mark_read")(v10)();Web_DOM_Element.setAttribute("href")("#")(v10)();Web_DOM_Element.setAttribute("onclick")("PS['BMark'].markReadE(event)("+(v9+")();"))(v10)();Web_DOM_Node.setTextContent("mark as read")(Web_DOM_Element.toNode(v10))();return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.appendChild(Web_DOM_Element.toNode(v10))(Web_DOM_Element.toNode(m)))()})()}})()})();return editHideE(e)()})})}()))})})})})))()}};var editE=function(e){return function(bid){return function __do(){editHideE(e)();var v=Util._body();var v1=Util._doc();return Data_Functor["void"](Effect.functorEffect)(Control_Monad_Maybe_Trans.runMaybeT(Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt_pure(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_DOM_Node.fromEventTarget)(Web_Event_Event.target(e))))(function(v2){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Data_Functor.map(Effect.functorEffect)(Data_Functor.map(Data_Maybe.functorMaybe)(Util._fromNode))(Globals.closest(".bookmark")(v2))))(function(v3){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Util._querySelector(".display")(v3)))(function(v4){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Util._getElementById("edit_bookmark_form_template")(v1)))(function(v5){return Control_Monad_Trans_Class.lift(Control_Monad_Maybe_Trans.monadTransMaybeT)(Effect.monadEffect)(function __do(){var v6=Web_DOM_Node.deepClone(Web_DOM_Element.toNode(v5))();var ele=Util._fromNode(v6);Web_DOM_Element.removeAttribute("id")(ele)();Web_DOM_Element.removeAttribute("hidden")(ele)();(function __do(){var v7=Web_HTML_HTMLElement.classList(Util._fromElement(ele))();return Web_DOM_DOMTokenList.add(v7)("active")()})();(function __do(){var me=Util._querySelector("input[name=bid]")(ele)();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Control_Bind.bind(Data_Maybe.bindMaybe)(me)(Web_HTML_HTMLInputElement.fromElement))(Web_HTML_HTMLInputElement.setValue(Data_Show.show(Data_Show.showInt)(bid)))()})();Util._queryBoth(new Data_Tuple.Tuple(".url",ele))(new Data_Tuple.Tuple(".url_display",v3))(function(a){return function(b){return function __do(){var v7=Web_DOM_Node.textContent(Web_DOM_Element.toNode(b))();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Web_HTML_HTMLInputElement.fromElement(a))(Web_HTML_HTMLInputElement.setValue(Data_String_Common.trim(v7)))()}}})();Util._queryBoth(new Data_Tuple.Tuple(".title",ele))(new Data_Tuple.Tuple(".bookmark_title",v3))(function(a){return function(b){return function __do(){var v7=Web_DOM_Node.textContent(Web_DOM_Element.toNode(b))();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Web_HTML_HTMLInputElement.fromElement(a))(Web_HTML_HTMLInputElement.setValue(Data_String_Common.trim(v7)))()}}})();Util._queryBoth(new Data_Tuple.Tuple(".description",ele))(new Data_Tuple.Tuple(".description",v3))(function(a){return function(b){return function __do(){var v7=Globals.innerHtml(Util._fromElement(b))();var descr$prime=Data_String_Common.trim(Data_String_Common.replaceAll("<br>")("\n")(v7));return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Web_HTML_HTMLTextAreaElement.fromElement(a))(Web_HTML_HTMLTextAreaElement.setValue(descr$prime))()}}})();Util["_queryBoth'"](new Data_Tuple.Tuple(".tags",ele))(new Data_Tuple.Tuple(".tag",v3))(function(a){return function(bs){return function __do(){var v7=Data_Traversable.traverse(Data_Traversable.traversableArray)(Effect.applicativeEffect)(Web_DOM_Node.textContent)(bs)();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Web_HTML_HTMLInputElement.fromElement(a))(Web_HTML_HTMLInputElement.setValue(Data_String_Common.joinWith(" ")(v7)))()}}})();(function __do(){var me=Util._querySelector("input[name=private]")(ele)();var v7=function __do(){var v7=Web_HTML_HTMLElement.classList(Util._fromElement(v3))();return Web_DOM_DOMTokenList.contains(v7)("private")()}();return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Control_Bind.bind(Data_Maybe.bindMaybe)(me)(Web_HTML_HTMLInputElement.fromElement))(Web_HTML_HTMLInputElement.setChecked(v7))()})();Util._queryBoth(new Data_Tuple.Tuple("input[name=toread]",ele))(new Data_Tuple.Tuple(".read .mark_read",v3))(function(a){return function(v7){return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Web_HTML_HTMLInputElement.fromElement(a))(Web_HTML_HTMLInputElement.setChecked(true))}})();Web_DOM_Element.setAttribute("hidden")("hidden")(v4)();return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v6)(Web_DOM_Element.toNode(v4))(Web_DOM_Element.toNode(v3)))()})})})})})))()}}};var destroy=function(bid){return App.fetchUrlEnc(Data_HTTP_Method.DELETE.value)("bm/"+Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore)};var destroyE=function(e){return function(bid){return function(isPopup){var removeBookmarkNode=function(v){return Data_Functor["void"](Effect.functorEffect)(Control_Monad_Maybe_Trans.runMaybeT(Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt_pure(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_DOM_Node.fromEventTarget)(Web_Event_Event.target(e))))(function(v1){return Control_Bind.bind(Control_Monad_Maybe_Trans.bindMaybeT(Effect.monadEffect))(Util._mt(Globals.closest(".bookmark")(v1)))(function(v2){return Control_Monad_Trans_Class.lift(Control_Monad_Maybe_Trans.monadTransMaybeT)(Effect.monadEffect)(Web_DOM_ChildNode.remove(Web_DOM_Element.toChildNode(Util._fromNode(v2))))})})))};var removeBody=function(v){return function __do(){var v1=Util._body();return Data_Functor["void"](Effect.functorEffect)(Globals.setInnerHtml("<p class='error'>you killed this bookmark</p>")(v1))()}};return function __do(){Web_Event_Event.preventDefault(e)();return Data_Functor["void"](Effect.functorEffect)(Effect_Aff.launchAff(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(destroy(bid)))(function(){return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function(){if(isPopup){return removeBody(Data_Unit.unit)}return removeBookmarkNode(Data_Unit.unit)}())})))()}}}};var deleteCancelE=function(e){return function __do(){Web_Event_Event.preventDefault(e)();return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(toggleDelete(false))(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_DOM_Node.fromEventTarget)(Web_Event_Event.target(e)))()}};var deleteAskE=function(e){return function __do(){Web_Event_Event.preventDefault(e)();return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(toggleDelete(true))(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_DOM_Node.fromEventTarget)(Web_Event_Event.target(e)))()}};exports["replaceIsoTimestamps"]=replaceIsoTimestamps;exports["deleteAskE"]=deleteAskE;exports["deleteCancelE"]=deleteCancelE;exports["toggleDelete"]=toggleDelete;exports["destroyE"]=destroyE;exports["destroy"]=destroy;exports["markReadE"]=markReadE;exports["markRead"]=markRead;exports["Star"]=Star;exports["UnStar"]=UnStar;exports["toggleStarE"]=toggleStarE;exports["toggleStar"]=toggleStar;exports["editHideE"]=editHideE;exports["editE"]=editE;exports["editSubmitE"]=editSubmitE;exports["showStar"]=showStar})(PS["BMark"]=PS["BMark"]||{});+// Generated by purs bundle 0.12.0+var PS = {};+(function(exports) {+    "use strict";++  exports.arrayBind = function (arr) {+    return function (f) {+      var result = [];+      for (var i = 0, l = arr.length; i < l; i++) {+        Array.prototype.push.apply(result, f(arr[i]));+      }+      return result;+    };+  };+})(PS["Control.Bind"] = PS["Control.Bind"] || {});+(function(exports) {+    "use strict";++  exports.arrayApply = function (fs) {+    return function (xs) {+      var l = fs.length;+      var k = xs.length;+      var result = new Array(l*k);+      var n = 0;+      for (var i = 0; i < l; i++) {+        var f = fs[i];+        for (var j = 0; j < k; j++) {+          result[n++] = f(xs[j]);+        }+      }+      return result;+    };+  };+})(PS["Control.Apply"] = PS["Control.Apply"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Semigroupoid = function (compose) {+      this.compose = compose;+  };+  var semigroupoidFn = new Semigroupoid(function (f) {+      return function (g) {+          return function (x) {+              return f(g(x));+          };+      };+  });+  var compose = function (dict) {+      return dict.compose;+  };+  exports["compose"] = compose;+  exports["Semigroupoid"] = Semigroupoid;+  exports["semigroupoidFn"] = semigroupoidFn;+})(PS["Control.Semigroupoid"] = PS["Control.Semigroupoid"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];                 +  var Category = function (Semigroupoid0, identity) {+      this.Semigroupoid0 = Semigroupoid0;+      this.identity = identity;+  };+  var identity = function (dict) {+      return dict.identity;+  };+  var categoryFn = new Category(function () {+      return Control_Semigroupoid.semigroupoidFn;+  }, function (x) {+      return x;+  });+  exports["Category"] = Category;+  exports["identity"] = identity;+  exports["categoryFn"] = categoryFn;+})(PS["Control.Category"] = PS["Control.Category"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var otherwise = true;+  exports["otherwise"] = otherwise;+})(PS["Data.Boolean"] = PS["Data.Boolean"] || {});+(function(exports) {+    "use strict";++  exports.refEq = function (r1) {+    return function (r2) {+      return r1 === r2;+    };+  };+})(PS["Data.Eq"] = PS["Data.Eq"] || {});+(function(exports) {+    "use strict";++  exports.boolConj = function (b1) {+    return function (b2) {+      return b1 && b2;+    };+  };++  exports.boolDisj = function (b1) {+    return function (b2) {+      return b1 || b2;+    };+  };++  exports.boolNot = function (b) {+    return !b;+  };+})(PS["Data.HeytingAlgebra"] = PS["Data.HeytingAlgebra"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Symbol"];      +  var SProxy = (function () {+      function SProxy() {++      };+      SProxy.value = new SProxy();+      return SProxy;+  })();+  var IsSymbol = function (reflectSymbol) {+      this.reflectSymbol = reflectSymbol;+  };+  var reflectSymbol = function (dict) {+      return dict.reflectSymbol;+  };+  exports["IsSymbol"] = IsSymbol;+  exports["reflectSymbol"] = reflectSymbol;+  exports["SProxy"] = SProxy;+})(PS["Data.Symbol"] = PS["Data.Symbol"] || {});+(function(exports) {+    "use strict";++  exports.unit = {};+})(PS["Data.Unit"] = PS["Data.Unit"] || {});+(function(exports) {+    "use strict";++  exports.showIntImpl = function (n) {+    return n.toString();+  };++  exports.showStringImpl = function (s) {+    var l = s.length;+    return "\"" + s.replace(+      /[\0-\x1F\x7F"\\]/g, // eslint-disable-line no-control-regex+      function (c, i) {+        switch (c) {+          case "\"":+          case "\\":+            return "\\" + c;+          case "\x07": return "\\a";+          case "\b": return "\\b";+          case "\f": return "\\f";+          case "\n": return "\\n";+          case "\r": return "\\r";+          case "\t": return "\\t";+          case "\v": return "\\v";+        }+        var k = i + 1;+        var empty = k < l && s[k] >= "0" && s[k] <= "9" ? "\\&" : "";+        return "\\" + c.charCodeAt(0).toString(10) + empty;+      }+    ) + "\"";+  };+})(PS["Data.Show"] = PS["Data.Show"] || {});+(function(exports) {+    "use strict";++  exports.unsafeGet = function (label) {+    return function (rec) {+      return rec[label];+    };+  };+})(PS["Record.Unsafe"] = PS["Record.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Record.Unsafe"];+  exports["unsafeGet"] = $foreign.unsafeGet;+})(PS["Record.Unsafe"] = PS["Record.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Show"];+  var Data_Symbol = PS["Data.Symbol"];+  var Record_Unsafe = PS["Record.Unsafe"];+  var Type_Data_RowList = PS["Type.Data.RowList"];                 +  var Show = function (show) {+      this.show = show;+  };+  var showString = new Show($foreign.showStringImpl);+  var showInt = new Show($foreign.showIntImpl);+  var show = function (dict) {+      return dict.show;+  };+  exports["Show"] = Show;+  exports["show"] = show;+  exports["showInt"] = showInt;+  exports["showString"] = showString;+})(PS["Data.Show"] = PS["Data.Show"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Unit"];+  var Data_Show = PS["Data.Show"];+  exports["unit"] = $foreign.unit;+})(PS["Data.Unit"] = PS["Data.Unit"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.HeytingAlgebra"];+  var Data_Symbol = PS["Data.Symbol"];+  var Data_Unit = PS["Data.Unit"];+  var Record_Unsafe = PS["Record.Unsafe"];+  var Type_Data_Row = PS["Type.Data.Row"];+  var Type_Data_RowList = PS["Type.Data.RowList"];                 +  var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {+      this.conj = conj;+      this.disj = disj;+      this.ff = ff;+      this.implies = implies;+      this.not = not;+      this.tt = tt;+  };+  var tt = function (dict) {+      return dict.tt;+  };+  var not = function (dict) {+      return dict.not;+  };+  var implies = function (dict) {+      return dict.implies;+  };+  var ff = function (dict) {+      return dict.ff;+  };+  var disj = function (dict) {+      return dict.disj;+  };+  var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {+      return function (b) {+          return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);+      };+  }, $foreign.boolNot, true);+  var conj = function (dict) {+      return dict.conj;+  };+  var heytingAlgebraFunction = function (dictHeytingAlgebra) {+      return new HeytingAlgebra(function (f) {+          return function (g) {+              return function (a) {+                  return conj(dictHeytingAlgebra)(f(a))(g(a));+              };+          };+      }, function (f) {+          return function (g) {+              return function (a) {+                  return disj(dictHeytingAlgebra)(f(a))(g(a));+              };+          };+      }, function (v) {+          return ff(dictHeytingAlgebra);+      }, function (f) {+          return function (g) {+              return function (a) {+                  return implies(dictHeytingAlgebra)(f(a))(g(a));+              };+          };+      }, function (f) {+          return function (a) {+              return not(dictHeytingAlgebra)(f(a));+          };+      }, function (v) {+          return tt(dictHeytingAlgebra);+      });+  };+  exports["HeytingAlgebra"] = HeytingAlgebra;+  exports["tt"] = tt;+  exports["ff"] = ff;+  exports["implies"] = implies;+  exports["conj"] = conj;+  exports["disj"] = disj;+  exports["not"] = not;+  exports["heytingAlgebraBoolean"] = heytingAlgebraBoolean;+  exports["heytingAlgebraFunction"] = heytingAlgebraFunction;+})(PS["Data.HeytingAlgebra"] = PS["Data.HeytingAlgebra"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Eq"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Symbol = PS["Data.Symbol"];+  var Data_Unit = PS["Data.Unit"];+  var Data_Void = PS["Data.Void"];+  var Record_Unsafe = PS["Record.Unsafe"];+  var Type_Data_RowList = PS["Type.Data.RowList"];                 +  var Eq = function (eq) {+      this.eq = eq;+  };+  var eqVoid = new Eq(function (v) {+      return function (v1) {+          return true;+      };+  });+  var eqString = new Eq($foreign.refEq);+  var eqInt = new Eq($foreign.refEq);+  var eqChar = new Eq($foreign.refEq);+  var eq = function (dict) {+      return dict.eq;+  };+  exports["Eq"] = Eq;+  exports["eq"] = eq;+  exports["eqInt"] = eqInt;+  exports["eqChar"] = eqChar;+  exports["eqString"] = eqString;+  exports["eqVoid"] = eqVoid;+})(PS["Data.Eq"] = PS["Data.Eq"] || {});+(function(exports) {+    "use strict";++  exports.unsafeCompareImpl = function (lt) {+    return function (eq) {+      return function (gt) {+        return function (x) {+          return function (y) {+            return x < y ? lt : x === y ? eq : gt;+          };+        };+      };+    };+  };+})(PS["Data.Ord.Unsafe"] = PS["Data.Ord.Unsafe"] || {});+(function(exports) {+    "use strict";++  exports.concatString = function (s1) {+    return function (s2) {+      return s1 + s2;+    };+  };++  exports.concatArray = function (xs) {+    return function (ys) {+      if (xs.length === 0) return ys;+      if (ys.length === 0) return xs;+      return xs.concat(ys);+    };+  };+})(PS["Data.Semigroup"] = PS["Data.Semigroup"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Semigroup"];+  var Data_Symbol = PS["Data.Symbol"];+  var Data_Unit = PS["Data.Unit"];+  var Data_Void = PS["Data.Void"];+  var Record_Unsafe = PS["Record.Unsafe"];+  var Type_Data_RowList = PS["Type.Data.RowList"];                 +  var Semigroup = function (append) {+      this.append = append;+  }; +  var semigroupString = new Semigroup($foreign.concatString);+  var semigroupArray = new Semigroup($foreign.concatArray);+  var append = function (dict) {+      return dict.append;+  };+  var semigroupFn = function (dictSemigroup) {+      return new Semigroup(function (f) {+          return function (g) {+              return function (x) {+                  return append(dictSemigroup)(f(x))(g(x));+              };+          };+      });+  };+  exports["Semigroup"] = Semigroup;+  exports["append"] = append;+  exports["semigroupString"] = semigroupString;+  exports["semigroupFn"] = semigroupFn;+  exports["semigroupArray"] = semigroupArray;+})(PS["Data.Semigroup"] = PS["Data.Semigroup"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];                 +  var LT = (function () {+      function LT() {++      };+      LT.value = new LT();+      return LT;+  })();+  var GT = (function () {+      function GT() {++      };+      GT.value = new GT();+      return GT;+  })();+  var EQ = (function () {+      function EQ() {++      };+      EQ.value = new EQ();+      return EQ;+  })();+  exports["LT"] = LT;+  exports["GT"] = GT;+  exports["EQ"] = EQ;+})(PS["Data.Ordering"] = PS["Data.Ordering"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Ord.Unsafe"];+  var Data_Ordering = PS["Data.Ordering"];                 +  var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);+  exports["unsafeCompare"] = unsafeCompare;+})(PS["Data.Ord.Unsafe"] = PS["Data.Ord.Unsafe"] || {});+(function(exports) {+    "use strict";++  exports.intSub = function (x) {+    return function (y) {+      /* jshint bitwise: false */+      return x - y | 0;+    };+  };+})(PS["Data.Ring"] = PS["Data.Ring"] || {});+(function(exports) {+    "use strict";++  exports.intAdd = function (x) {+    return function (y) {+      /* jshint bitwise: false */+      return x + y | 0;+    };+  };++  exports.intMul = function (x) {+    return function (y) {+      /* jshint bitwise: false */+      return x * y | 0;+    };+  };+})(PS["Data.Semiring"] = PS["Data.Semiring"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Semiring"];+  var Data_Symbol = PS["Data.Symbol"];+  var Data_Unit = PS["Data.Unit"];+  var Record_Unsafe = PS["Record.Unsafe"];+  var Type_Data_Row = PS["Type.Data.Row"];+  var Type_Data_RowList = PS["Type.Data.RowList"];                 +  var Semiring = function (add, mul, one, zero) {+      this.add = add;+      this.mul = mul;+      this.one = one;+      this.zero = zero;+  };+  var zero = function (dict) {+      return dict.zero;+  };                                                                            +  var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);+  var one = function (dict) {+      return dict.one;+  };+  var mul = function (dict) {+      return dict.mul;+  };+  var add = function (dict) {+      return dict.add;+  };+  exports["Semiring"] = Semiring;+  exports["add"] = add;+  exports["zero"] = zero;+  exports["mul"] = mul;+  exports["one"] = one;+  exports["semiringInt"] = semiringInt;+})(PS["Data.Semiring"] = PS["Data.Semiring"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Symbol = PS["Data.Symbol"];+  var Data_Unit = PS["Data.Unit"];+  var Record_Unsafe = PS["Record.Unsafe"];+  var Type_Data_RowList = PS["Type.Data.RowList"];                 +  var Ring = function (Semiring0, sub) {+      this.Semiring0 = Semiring0;+      this.sub = sub;+  };+  var sub = function (dict) {+      return dict.sub;+  };                  +  var ringInt = new Ring(function () {+      return Data_Semiring.semiringInt;+  }, $foreign.intSub);+  exports["Ring"] = Ring;+  exports["sub"] = sub;+  exports["ringInt"] = ringInt;+})(PS["Data.Ring"] = PS["Data.Ring"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Ord"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Ord_Unsafe = PS["Data.Ord.Unsafe"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Unit = PS["Data.Unit"];+  var Data_Void = PS["Data.Void"];                 +  var Ord = function (Eq0, compare) {+      this.Eq0 = Eq0;+      this.compare = compare;+  };+  var ordVoid = new Ord(function () {+      return Data_Eq.eqVoid;+  }, function (v) {+      return function (v1) {+          return Data_Ordering.EQ.value;+      };+  });+  var ordString = new Ord(function () {+      return Data_Eq.eqString;+  }, Data_Ord_Unsafe.unsafeCompare);+  var ordInt = new Ord(function () {+      return Data_Eq.eqInt;+  }, Data_Ord_Unsafe.unsafeCompare);+  var ordChar = new Ord(function () {+      return Data_Eq.eqChar;+  }, Data_Ord_Unsafe.unsafeCompare);+  var compare = function (dict) {+      return dict.compare;+  };+  exports["Ord"] = Ord;+  exports["compare"] = compare;+  exports["ordInt"] = ordInt;+  exports["ordString"] = ordString;+  exports["ordChar"] = ordChar;+  exports["ordVoid"] = ordVoid;+})(PS["Data.Ord"] = PS["Data.Ord"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];                 +  var on = function (f) {+      return function (g) {+          return function (x) {+              return function (y) {+                  return f(g(x))(g(y));+              };+          };+      };+  };+  var flip = function (f) {+      return function (b) {+          return function (a) {+              return f(a)(b);+          };+      };+  };+  var $$const = function (a) {+      return function (v) {+          return a;+      };+  };+  exports["flip"] = flip;+  exports["const"] = $$const;+  exports["on"] = on;+})(PS["Data.Function"] = PS["Data.Function"] || {});+(function(exports) {+    "use strict";++  exports.arrayMap = function (f) {+    return function (arr) {+      var l = arr.length;+      var result = new Array(l);+      for (var i = 0; i < l; i++) {+        result[i] = f(arr[i]);+      }+      return result;+    };+  };+})(PS["Data.Functor"] = PS["Data.Functor"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Functor"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Function = PS["Data.Function"];+  var Data_Unit = PS["Data.Unit"];                 +  var Functor = function (map) {+      this.map = map;+  };+  var map = function (dict) {+      return dict.map;+  };+  var $$void = function (dictFunctor) {+      return map(dictFunctor)(Data_Function["const"](Data_Unit.unit));+  };+  var voidLeft = function (dictFunctor) {+      return function (f) {+          return function (x) {+              return map(dictFunctor)(Data_Function["const"](x))(f);+          };+      };+  };+  var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));+  var functorArray = new Functor($foreign.arrayMap);+  exports["Functor"] = Functor;+  exports["map"] = map;+  exports["void"] = $$void;+  exports["voidLeft"] = voidLeft;+  exports["functorFn"] = functorFn;+  exports["functorArray"] = functorArray;+})(PS["Data.Functor"] = PS["Data.Functor"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];                 +  var Apply = function (Functor0, apply) {+      this.Functor0 = Functor0;+      this.apply = apply;+  }; +  var applyArray = new Apply(function () {+      return Data_Functor.functorArray;+  }, $foreign.arrayApply);+  var apply = function (dict) {+      return dict.apply;+  };+  var applySecond = function (dictApply) {+      return function (a) {+          return function (b) {+              return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function["const"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);+          };+      };+  };+  var lift2 = function (dictApply) {+      return function (f) {+          return function (a) {+              return function (b) {+                  return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);+              };+          };+      };+  };+  exports["Apply"] = Apply;+  exports["apply"] = apply;+  exports["applySecond"] = applySecond;+  exports["lift2"] = lift2;+  exports["applyArray"] = applyArray;+})(PS["Control.Apply"] = PS["Control.Apply"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Apply = PS["Control.Apply"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Unit = PS["Data.Unit"];                 +  var Applicative = function (Apply0, pure) {+      this.Apply0 = Apply0;+      this.pure = pure;+  };+  var pure = function (dict) {+      return dict.pure;+  };+  var when = function (dictApplicative) {+      return function (v) {+          return function (v1) {+              if (v) {+                  return v1;+              };+              if (!v) {+                  return pure(dictApplicative)(Data_Unit.unit);+              };+              throw new Error("Failed pattern match at Control.Applicative line 57, column 1 - line 57, column 63: " + [ v.constructor.name, v1.constructor.name ]);+          };+      };+  };+  var liftA1 = function (dictApplicative) {+      return function (f) {+          return function (a) {+              return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);+          };+      };+  };+  exports["Applicative"] = Applicative;+  exports["pure"] = pure;+  exports["liftA1"] = liftA1;+  exports["when"] = when;+})(PS["Control.Applicative"] = PS["Control.Applicative"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Control.Bind"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Unit = PS["Data.Unit"];                 +  var Bind = function (Apply0, bind) {+      this.Apply0 = Apply0;+      this.bind = bind;+  };+  var Discard = function (discard) {+      this.discard = discard;+  };+  var discard = function (dict) {+      return dict.discard;+  }; +  var bindArray = new Bind(function () {+      return Control_Apply.applyArray;+  }, $foreign.arrayBind);+  var bind = function (dict) {+      return dict.bind;+  };+  var bindFlipped = function (dictBind) {+      return Data_Function.flip(bind(dictBind));+  };+  var composeKleisliFlipped = function (dictBind) {+      return function (f) {+          return function (g) {+              return function (a) {+                  return bindFlipped(dictBind)(f)(g(a));+              };+          };+      };+  };+  var composeKleisli = function (dictBind) {+      return function (f) {+          return function (g) {+              return function (a) {+                  return bind(dictBind)(f(a))(g);+              };+          };+      };+  };+  var discardUnit = new Discard(function (dictBind) {+      return bind(dictBind);+  });+  var join = function (dictBind) {+      return function (m) {+          return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));+      };+  };+  exports["Bind"] = Bind;+  exports["bind"] = bind;+  exports["bindFlipped"] = bindFlipped;+  exports["Discard"] = Discard;+  exports["discard"] = discard;+  exports["join"] = join;+  exports["composeKleisli"] = composeKleisli;+  exports["composeKleisliFlipped"] = composeKleisliFlipped;+  exports["bindArray"] = bindArray;+  exports["discardUnit"] = discardUnit;+})(PS["Control.Bind"] = PS["Control.Bind"] || {});+(function(exports) {+    "use strict";++  //------------------------------------------------------------------------------+  // Array size ------------------------------------------------------------------+  //------------------------------------------------------------------------------++  exports.length = function (xs) {+    return xs.length;+  };++  //------------------------------------------------------------------------------+  // Extending arrays ------------------------------------------------------------+  //------------------------------------------------------------------------------++  exports.cons = function (e) {+    return function (l) {+      return [e].concat(l);+    };+  };++  exports.snoc = function (l) {+    return function (e) {+      var l1 = l.slice();+      l1.push(e);+      return l1;+    };+  };++  exports.concat = function (xss) {+    if (xss.length <= 10000) {+      // This method is faster, but it crashes on big arrays.+      // So we use it when can and fallback to simple variant otherwise.+      return Array.prototype.concat.apply([], xss);+    }++    var result = [];+    for (var i = 0, l = xss.length; i < l; i++) {+      var xs = xss[i];+      for (var j = 0, m = xs.length; j < m; j++) {+        result.push(xs[j]);+      }+    }+    return result;+  };++  exports.filter = function (f) {+    return function (xs) {+      return xs.filter(f);+    };+  };++  //------------------------------------------------------------------------------+  // Subarrays -------------------------------------------------------------------+  //------------------------------------------------------------------------------++  exports.slice = function (s) {+    return function (e) {+      return function (l) {+        return l.slice(s, e);+      };+    };+  };++  exports.drop = function (n) {+    return function (l) {+      return n < 1 ? l : l.slice(n);+    };+  };+})(PS["Data.Array"] = PS["Data.Array"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Functor = PS["Data.Functor"];+  var Data_Semigroup = PS["Data.Semigroup"];                 +  var Alt = function (Functor0, alt) {+      this.Functor0 = Functor0;+      this.alt = alt;+  };                                                       +  var alt = function (dict) {+      return dict.alt;+  };+  exports["Alt"] = Alt;+  exports["alt"] = alt;+})(PS["Control.Alt"] = PS["Control.Alt"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Unit = PS["Data.Unit"];                 +  var Monad = function (Applicative0, Bind1) {+      this.Applicative0 = Applicative0;+      this.Bind1 = Bind1;+  };+  var ap = function (dictMonad) {+      return function (f) {+          return function (a) {+              return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) {+                  return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {+                      return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));+                  });+              });+          };+      };+  };+  exports["Monad"] = Monad;+  exports["ap"] = ap;+})(PS["Control.Monad"] = PS["Control.Monad"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];                 +  var Bifunctor = function (bimap) {+      this.bimap = bimap;+  };+  var bimap = function (dict) {+      return dict.bimap;+  };+  var rmap = function (dictBifunctor) {+      return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));+  };+  exports["bimap"] = bimap;+  exports["Bifunctor"] = Bifunctor;+  exports["rmap"] = rmap;+})(PS["Data.Bifunctor"] = PS["Data.Bifunctor"] || {});+(function(exports) {+    "use strict";++  exports.topInt = 2147483647;+  exports.bottomInt = -2147483648;++  exports.topChar = String.fromCharCode(65535);+  exports.bottomChar = String.fromCharCode(0);+})(PS["Data.Bounded"] = PS["Data.Bounded"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Bounded"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Unit = PS["Data.Unit"];                 +  var Bounded = function (Ord0, bottom, top) {+      this.Ord0 = Ord0;+      this.bottom = bottom;+      this.top = top;+  };+  var top = function (dict) {+      return dict.top;+  };                                            +  var boundedInt = new Bounded(function () {+      return Data_Ord.ordInt;+  }, $foreign.bottomInt, $foreign.topInt);+  var boundedChar = new Bounded(function () {+      return Data_Ord.ordChar;+  }, $foreign.bottomChar, $foreign.topChar);+  var bottom = function (dict) {+      return dict.bottom;+  };+  exports["Bounded"] = Bounded;+  exports["bottom"] = bottom;+  exports["top"] = top;+  exports["boundedInt"] = boundedInt;+  exports["boundedChar"] = boundedChar;+})(PS["Data.Bounded"] = PS["Data.Bounded"] || {});+(function(exports) {+    "use strict";++  exports.foldrArray = function (f) {+    return function (init) {+      return function (xs) {+        var acc = init;+        var len = xs.length;+        for (var i = len - 1; i >= 0; i--) {+          acc = f(xs[i])(acc);+        }+        return acc;+      };+    };+  };++  exports.foldlArray = function (f) {+    return function (init) {+      return function (xs) {+        var acc = init;+        var len = xs.length;+        for (var i = 0; i < len; i++) {+          acc = f(acc)(xs[i]);+        }+        return acc;+      };+    };+  };+})(PS["Data.Foldable"] = PS["Data.Foldable"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Data_Functor = PS["Data.Functor"];                 +  var Plus = function (Alt0, empty) {+      this.Alt0 = Alt0;+      this.empty = empty;+  };       +  var empty = function (dict) {+      return dict.empty;+  };+  exports["Plus"] = Plus;+  exports["empty"] = empty;+})(PS["Control.Plus"] = PS["Control.Plus"] || {});+(function(exports) {+    "use strict";++  exports.intDegree = function (x) {+    return Math.min(Math.abs(x), 2147483647);+  };++  // See the Euclidean definition in+  // https://en.m.wikipedia.org/wiki/Modulo_operation.+  exports.intDiv = function (x) {+    return function (y) {+      if (y === 0) return 0;+      return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);+    };+  };++  exports.intMod = function (x) {+    return function (y) {+      if (y === 0) return 0;+      var yy = Math.abs(y);+      return ((x % yy) + yy) % yy;+    };+  };+})(PS["Data.EuclideanRing"] = PS["Data.EuclideanRing"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Symbol = PS["Data.Symbol"];+  var Data_Unit = PS["Data.Unit"];                 +  var CommutativeRing = function (Ring0) {+      this.Ring0 = Ring0;+  }; +  var commutativeRingInt = new CommutativeRing(function () {+      return Data_Ring.ringInt;+  });+  exports["CommutativeRing"] = CommutativeRing;+  exports["commutativeRingInt"] = commutativeRingInt;+})(PS["Data.CommutativeRing"] = PS["Data.CommutativeRing"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.EuclideanRing"];+  var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"];+  var Data_CommutativeRing = PS["Data.CommutativeRing"];+  var Data_Eq = PS["Data.Eq"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];                 +  var EuclideanRing = function (CommutativeRing0, degree, div, mod) {+      this.CommutativeRing0 = CommutativeRing0;+      this.degree = degree;+      this.div = div;+      this.mod = mod;+  };+  var mod = function (dict) {+      return dict.mod;+  }; +  var euclideanRingInt = new EuclideanRing(function () {+      return Data_CommutativeRing.commutativeRingInt;+  }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);+  var div = function (dict) {+      return dict.div;+  };+  var degree = function (dict) {+      return dict.degree;+  };+  exports["EuclideanRing"] = EuclideanRing;+  exports["degree"] = degree;+  exports["div"] = div;+  exports["mod"] = mod;+  exports["euclideanRingInt"] = euclideanRingInt;+})(PS["Data.EuclideanRing"] = PS["Data.EuclideanRing"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_EuclideanRing = PS["Data.EuclideanRing"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Symbol = PS["Data.Symbol"];+  var Data_Unit = PS["Data.Unit"];+  var Record_Unsafe = PS["Record.Unsafe"];+  var Type_Data_RowList = PS["Type.Data.RowList"];                 +  var Monoid = function (Semigroup0, mempty) {+      this.Semigroup0 = Semigroup0;+      this.mempty = mempty;+  };                 +  var monoidString = new Monoid(function () {+      return Data_Semigroup.semigroupString;+  }, "");                    +  var monoidArray = new Monoid(function () {+      return Data_Semigroup.semigroupArray;+  }, [  ]);+  var mempty = function (dict) {+      return dict.mempty;+  };+  var monoidFn = function (dictMonoid) {+      return new Monoid(function () {+          return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());+      }, function (v) {+          return mempty(dictMonoid);+      });+  };+  var guard = function (dictMonoid) {+      return function (v) {+          return function (v1) {+              if (v) {+                  return v1;+              };+              if (!v) {+                  return mempty(dictMonoid);+              };+              throw new Error("Failed pattern match at Data.Monoid line 74, column 1 - line 74, column 49: " + [ v.constructor.name, v1.constructor.name ]);+          };+      };+  };+  exports["Monoid"] = Monoid;+  exports["mempty"] = mempty;+  exports["guard"] = guard;+  exports["monoidFn"] = monoidFn;+  exports["monoidString"] = monoidString;+  exports["monoidArray"] = monoidArray;+})(PS["Data.Monoid"] = PS["Data.Monoid"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Monad = PS["Control.Monad"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];                 +  var Nothing = (function () {+      function Nothing() {++      };+      Nothing.value = new Nothing();+      return Nothing;+  })();+  var Just = (function () {+      function Just(value0) {+          this.value0 = value0;+      };+      Just.create = function (value0) {+          return new Just(value0);+      };+      return Just;+  })();+  var maybe = function (v) {+      return function (v1) {+          return function (v2) {+              if (v2 instanceof Nothing) {+                  return v;+              };+              if (v2 instanceof Just) {+                  return v1(v2.value0);+              };+              throw new Error("Failed pattern match at Data.Maybe line 218, column 1 - line 218, column 51: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);+          };+      };+  };+  var isNothing = maybe(true)(Data_Function["const"](false));+  var isJust = maybe(false)(Data_Function["const"](true));+  var functorMaybe = new Data_Functor.Functor(function (v) {+      return function (v1) {+          if (v1 instanceof Just) {+              return new Just(v(v1.value0));+          };+          return Nothing.value;+      };+  });+  var fromJust = function (dictPartial) {+      return function (v) {+          var $__unused = function (dictPartial1) {+              return function ($dollar35) {+                  return $dollar35;+              };+          };+          return $__unused(dictPartial)((function () {+              if (v instanceof Just) {+                  return v.value0;+              };+              throw new Error("Failed pattern match at Data.Maybe line 269, column 1 - line 269, column 46: " + [ v.constructor.name ]);+          })());+      };+  };+  var applyMaybe = new Control_Apply.Apply(function () {+      return functorMaybe;+  }, function (v) {+      return function (v1) {+          if (v instanceof Just) {+              return Data_Functor.map(functorMaybe)(v.value0)(v1);+          };+          if (v instanceof Nothing) {+              return Nothing.value;+          };+          throw new Error("Failed pattern match at Data.Maybe line 67, column 1 - line 67, column 35: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  var bindMaybe = new Control_Bind.Bind(function () {+      return applyMaybe;+  }, function (v) {+      return function (v1) {+          if (v instanceof Just) {+              return v1(v.value0);+          };+          if (v instanceof Nothing) {+              return Nothing.value;+          };+          throw new Error("Failed pattern match at Data.Maybe line 126, column 1 - line 126, column 33: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  exports["Nothing"] = Nothing;+  exports["Just"] = Just;+  exports["maybe"] = maybe;+  exports["isJust"] = isJust;+  exports["isNothing"] = isNothing;+  exports["fromJust"] = fromJust;+  exports["functorMaybe"] = functorMaybe;+  exports["applyMaybe"] = applyMaybe;+  exports["bindMaybe"] = bindMaybe;+})(PS["Data.Maybe"] = PS["Data.Maybe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var Disj = function (x) {+      return x;+  };+  var semigroupDisj = function (dictHeytingAlgebra) {+      return new Data_Semigroup.Semigroup(function (v) {+          return function (v1) {+              return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);+          };+      });+  };+  var monoidDisj = function (dictHeytingAlgebra) {+      return new Data_Monoid.Monoid(function () {+          return semigroupDisj(dictHeytingAlgebra);+      }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));+  };+  exports["Disj"] = Disj;+  exports["semigroupDisj"] = semigroupDisj;+  exports["monoidDisj"] = monoidDisj;+})(PS["Data.Monoid.Disj"] = PS["Data.Monoid.Disj"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid_Additive = PS["Data.Monoid.Additive"];+  var Data_Monoid_Conj = PS["Data.Monoid.Conj"];+  var Data_Monoid_Disj = PS["Data.Monoid.Disj"];+  var Data_Monoid_Dual = PS["Data.Monoid.Dual"];+  var Data_Monoid_Endo = PS["Data.Monoid.Endo"];+  var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"];+  var Data_Semigroup_First = PS["Data.Semigroup.First"];+  var Data_Semigroup_Last = PS["Data.Semigroup.Last"];+  var Prelude = PS["Prelude"];                 +  var Newtype = function (unwrap, wrap) {+      this.unwrap = unwrap;+      this.wrap = wrap;+  };+  var wrap = function (dict) {+      return dict.wrap;+  };+  var unwrap = function (dict) {+      return dict.unwrap;+  };                        +  var newtypeDisj = new Newtype(function (v) {+      return v;+  }, Data_Monoid_Disj.Disj);+  var alaF = function (dictFunctor) {+      return function (dictFunctor1) {+          return function (dictNewtype) {+              return function (dictNewtype1) {+                  return function (v) {+                      return function (f) {+                          return function ($80) {+                              return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));+                          };+                      };+                  };+              };+          };+      };+  };+  exports["unwrap"] = unwrap;+  exports["wrap"] = wrap;+  exports["Newtype"] = Newtype;+  exports["alaF"] = alaF;+  exports["newtypeDisj"] = newtypeDisj;+})(PS["Data.Newtype"] = PS["Data.Newtype"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Foldable"];+  var Control_Alt = PS["Control.Alt"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Maybe_First = PS["Data.Maybe.First"];+  var Data_Maybe_Last = PS["Data.Maybe.Last"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Monoid_Additive = PS["Data.Monoid.Additive"];+  var Data_Monoid_Conj = PS["Data.Monoid.Conj"];+  var Data_Monoid_Disj = PS["Data.Monoid.Disj"];+  var Data_Monoid_Dual = PS["Data.Monoid.Dual"];+  var Data_Monoid_Endo = PS["Data.Monoid.Endo"];+  var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];                 +  var Foldable = function (foldMap, foldl, foldr) {+      this.foldMap = foldMap;+      this.foldl = foldl;+      this.foldr = foldr;+  };+  var foldr = function (dict) {+      return dict.foldr;+  };+  var traverse_ = function (dictApplicative) {+      return function (dictFoldable) {+          return function (f) {+              return foldr(dictFoldable)(function ($195) {+                  return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));+              })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));+          };+      };+  };+  var for_ = function (dictApplicative) {+      return function (dictFoldable) {+          return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));+      };+  };+  var sequence_ = function (dictApplicative) {+      return function (dictFoldable) {+          return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));+      };+  };+  var foldl = function (dict) {+      return dict.foldl;+  };+  var intercalate = function (dictFoldable) {+      return function (dictMonoid) {+          return function (sep) {+              return function (xs) {+                  var go = function (v) {+                      return function (x) {+                          if (v.init) {+                              return {+                                  init: false,+                                  acc: x+                              };+                          };+                          return {+                              init: false,+                              acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))+                          };+                      };+                  };+                  return (foldl(dictFoldable)(go)({+                      init: true,+                      acc: Data_Monoid.mempty(dictMonoid)+                  })(xs)).acc;+              };+          };+      };+  }; +  var foldableMaybe = new Foldable(function (dictMonoid) {+      return function (f) {+          return function (v) {+              if (v instanceof Data_Maybe.Nothing) {+                  return Data_Monoid.mempty(dictMonoid);+              };+              if (v instanceof Data_Maybe.Just) {+                  return f(v.value0);+              };+              throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: " + [ f.constructor.name, v.constructor.name ]);+          };+      };+  }, function (v) {+      return function (z) {+          return function (v1) {+              if (v1 instanceof Data_Maybe.Nothing) {+                  return z;+              };+              if (v1 instanceof Data_Maybe.Just) {+                  return v(z)(v1.value0);+              };+              throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);+          };+      };+  }, function (v) {+      return function (z) {+          return function (v1) {+              if (v1 instanceof Data_Maybe.Nothing) {+                  return z;+              };+              if (v1 instanceof Data_Maybe.Just) {+                  return v(v1.value0)(z);+              };+              throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);+          };+      };+  });+  var foldMapDefaultR = function (dictFoldable) {+      return function (dictMonoid) {+          return function (f) {+              return foldr(dictFoldable)(function (x) {+                  return function (acc) {+                      return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);+                  };+              })(Data_Monoid.mempty(dictMonoid));+          };+      };+  };+  var foldableArray = new Foldable(function (dictMonoid) {+      return foldMapDefaultR(foldableArray)(dictMonoid);+  }, $foreign.foldlArray, $foreign.foldrArray);+  var foldMap = function (dict) {+      return dict.foldMap;+  };+  var find = function (dictFoldable) {+      return function (p) {+          var go = function (v) {+              return function (v1) {+                  if (v instanceof Data_Maybe.Nothing && p(v1)) {+                      return new Data_Maybe.Just(v1);+                  };+                  return v;+              };+          };+          return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);+      };+  };+  var any = function (dictFoldable) {+      return function (dictHeytingAlgebra) {+          return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));+      };+  };+  exports["Foldable"] = Foldable;+  exports["foldr"] = foldr;+  exports["foldl"] = foldl;+  exports["foldMap"] = foldMap;+  exports["foldMapDefaultR"] = foldMapDefaultR;+  exports["traverse_"] = traverse_;+  exports["for_"] = for_;+  exports["sequence_"] = sequence_;+  exports["intercalate"] = intercalate;+  exports["any"] = any;+  exports["find"] = find;+  exports["foldableArray"] = foldableArray;+  exports["foldableMaybe"] = foldableMaybe;+})(PS["Data.Foldable"] = PS["Data.Foldable"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifoldable = PS["Data.Bifoldable"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Bitraversable = PS["Data.Bitraversable"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Prelude = PS["Prelude"];                 +  var Left = (function () {+      function Left(value0) {+          this.value0 = value0;+      };+      Left.create = function (value0) {+          return new Left(value0);+      };+      return Left;+  })();+  var Right = (function () {+      function Right(value0) {+          this.value0 = value0;+      };+      Right.create = function (value0) {+          return new Right(value0);+      };+      return Right;+  })();+  var functorEither = new Data_Functor.Functor(function (f) {+      return function (m) {+          if (m instanceof Left) {+              return new Left(m.value0);+          };+          if (m instanceof Right) {+              return new Right(f(m.value0));+          };+          throw new Error("Failed pattern match at Data.Either line 35, column 8 - line 35, column 52: " + [ m.constructor.name ]);+      };+  });+  var either = function (v) {+      return function (v1) {+          return function (v2) {+              if (v2 instanceof Left) {+                  return v(v2.value0);+              };+              if (v2 instanceof Right) {+                  return v1(v2.value0);+              };+              throw new Error("Failed pattern match at Data.Either line 220, column 1 - line 220, column 64: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);+          };+      };+  };+  var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {+      return function (v1) {+          return function (v2) {+              if (v2 instanceof Left) {+                  return new Left(v(v2.value0));+              };+              if (v2 instanceof Right) {+                  return new Right(v1(v2.value0));+              };+              throw new Error("Failed pattern match at Data.Either line 40, column 1 - line 40, column 45: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);+          };+      };+  });+  var applyEither = new Control_Apply.Apply(function () {+      return functorEither;+  }, function (v) {+      return function (v1) {+          if (v instanceof Left) {+              return new Left(v.value0);+          };+          if (v instanceof Right) {+              return Data_Functor.map(functorEither)(v.value0)(v1);+          };+          throw new Error("Failed pattern match at Data.Either line 76, column 1 - line 76, column 41: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  exports["Left"] = Left;+  exports["Right"] = Right;+  exports["either"] = either;+  exports["functorEither"] = functorEither;+  exports["bifunctorEither"] = bifunctorEither;+  exports["applyEither"] = applyEither;+})(PS["Data.Either"] = PS["Data.Either"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Comonad = PS["Control.Comonad"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad = PS["Control.Monad"];+  var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_CommutativeRing = PS["Data.CommutativeRing"];+  var Data_Eq = PS["Data.Eq"];+  var Data_EuclideanRing = PS["Data.EuclideanRing"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Prelude = PS["Prelude"];                 +  var Identity = function (x) {+      return x;+  };+  var newtypeIdentity = new Data_Newtype.Newtype(function (n) {+      return n;+  }, Identity);+  var functorIdentity = new Data_Functor.Functor(function (f) {+      return function (m) {+          return f(m);+      };+  });+  var applyIdentity = new Control_Apply.Apply(function () {+      return functorIdentity;+  }, function (v) {+      return function (v1) {+          return v(v1);+      };+  });+  var bindIdentity = new Control_Bind.Bind(function () {+      return applyIdentity;+  }, function (v) {+      return function (f) {+          return f(v);+      };+  });+  var applicativeIdentity = new Control_Applicative.Applicative(function () {+      return applyIdentity;+  }, Identity);+  var monadIdentity = new Control_Monad.Monad(function () {+      return applicativeIdentity;+  }, function () {+      return bindIdentity;+  });+  exports["Identity"] = Identity;+  exports["newtypeIdentity"] = newtypeIdentity;+  exports["functorIdentity"] = functorIdentity;+  exports["applyIdentity"] = applyIdentity;+  exports["applicativeIdentity"] = applicativeIdentity;+  exports["bindIdentity"] = bindIdentity;+  exports["monadIdentity"] = monadIdentity;+})(PS["Data.Identity"] = PS["Data.Identity"] || {});+(function(exports) {+    "use strict";++  exports.pureE = function (a) {+    return function () {+      return a;+    };+  };++  exports.bindE = function (a) {+    return function (f) {+      return function () {+        return f(a())();+      };+    };+  };++  exports.foreachE = function (as) {+    return function (f) {+      return function () {+        for (var i = 0, l = as.length; i < l; i++) {+          f(as[i])();+        }+      };+    };+  };+})(PS["Effect"] = PS["Effect"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Prelude = PS["Prelude"];                 +  var monadEffect = new Control_Monad.Monad(function () {+      return applicativeEffect;+  }, function () {+      return bindEffect;+  });+  var bindEffect = new Control_Bind.Bind(function () {+      return applyEffect;+  }, $foreign.bindE);+  var applyEffect = new Control_Apply.Apply(function () {+      return functorEffect;+  }, Control_Monad.ap(monadEffect));+  var applicativeEffect = new Control_Applicative.Applicative(function () {+      return applyEffect;+  }, $foreign.pureE);+  var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));+  exports["functorEffect"] = functorEffect;+  exports["applyEffect"] = applyEffect;+  exports["applicativeEffect"] = applicativeEffect;+  exports["bindEffect"] = bindEffect;+  exports["monadEffect"] = monadEffect;+  exports["foreachE"] = $foreign.foreachE;+})(PS["Effect"] = PS["Effect"] || {});+(function(exports) {+    "use strict";++  exports.new = function (val) {+    return function () {+      return { value: val };+    };+  };++  exports.read = function (ref) {+    return function () {+      return ref.value;+    };+  };++  exports["modify'"] = function (f) {+    return function (ref) {+      return function () {+        var t = f(ref.value);+        ref.value = t.state;+        return t.value;+      };+    };+  };++  exports.write = function (val) {+    return function (ref) {+      return function () {+        ref.value = val;+        return {};+      };+    };+  };+})(PS["Effect.Ref"] = PS["Effect.Ref"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Ref"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];                 +  var modify = function (f) {+      return $foreign["modify'"](function (s) {+          var s$prime = f(s);+          return {+              state: s$prime,+              value: s$prime+          };+      });+  };+  var modify_ = function (f) {+      return function (s) {+          return Data_Functor["void"](Effect.functorEffect)(modify(f)(s));+      };+  };+  exports["modify"] = modify;+  exports["modify_"] = modify_;+  exports["new"] = $foreign["new"];+  exports["read"] = $foreign.read;+  exports["modify'"] = $foreign["modify'"];+  exports["write"] = $foreign.write;+})(PS["Effect.Ref"] = PS["Effect.Ref"] || {});+(function(exports) {+    "use strict";++  // module Partial.Unsafe++  exports.unsafePartial = function (f) {+    return f();+  };+})(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {});+(function(exports) {+    "use strict";++  // module Partial++  exports.crashWith = function () {+    return function (msg) {+      throw new Error(msg);+    };+  };+})(PS["Partial"] = PS["Partial"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Partial"];+  exports["crashWith"] = $foreign.crashWith;+})(PS["Partial"] = PS["Partial"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Partial.Unsafe"];+  var Partial = PS["Partial"];+  var unsafeCrashWith = function (msg) {+      return $foreign.unsafePartial(function (dictPartial) {+          return Partial.crashWith(dictPartial)(msg);+      });+  };+  exports["unsafeCrashWith"] = unsafeCrashWith;+})(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Either = PS["Data.Either"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Ref = PS["Effect.Ref"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];                 +  var Loop = (function () {+      function Loop(value0) {+          this.value0 = value0;+      };+      Loop.create = function (value0) {+          return new Loop(value0);+      };+      return Loop;+  })();+  var Done = (function () {+      function Done(value0) {+          this.value0 = value0;+      };+      Done.create = function (value0) {+          return new Done(value0);+      };+      return Done;+  })();+  var MonadRec = function (Monad0, tailRecM) {+      this.Monad0 = Monad0;+      this.tailRecM = tailRecM;+  };+  var tailRecM = function (dict) {+      return dict.tailRecM;+  }; +  var monadRecEffect = new MonadRec(function () {+      return Effect.monadEffect;+  }, function (f) {+      return function (a) {+          var fromDone = function (v) {+              var $__unused = function (dictPartial1) {+                  return function ($dollar19) {+                      return $dollar19;+                  };+              };+              return $__unused()((function () {+                  if (v instanceof Done) {+                      return v.value0;+                  };+                  throw new Error("Failed pattern match at Control.Monad.Rec.Class line 111, column 30 - line 111, column 44: " + [ v.constructor.name ]);+              })());+          };+          return function __do() {+              var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref["new"])(f(a))();+              (function () {+                  while (!(function __do() {+                      var v1 = Effect_Ref.read(v)();+                      if (v1 instanceof Loop) {+                          var v2 = f(v1.value0)();+                          var v3 = Effect_Ref.write(v2)(v)();+                          return false;+                      };+                      if (v1 instanceof Done) {+                          return true;+                      };+                      throw new Error("Failed pattern match at Control.Monad.Rec.Class line 102, column 22 - line 107, column 28: " + [ v1.constructor.name ]);+                  })()) {++                  };+                  return {};+              })();+              return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();+          };+      };+  });+  exports["Loop"] = Loop;+  exports["Done"] = Done;+  exports["MonadRec"] = MonadRec;+  exports["tailRecM"] = tailRecM;+  exports["monadRecEffect"] = monadRecEffect;+})(PS["Control.Monad.Rec.Class"] = PS["Control.Monad.Rec.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Biapplicative = PS["Control.Biapplicative"];+  var Control_Biapply = PS["Control.Biapply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Comonad = PS["Control.Comonad"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifoldable = PS["Data.Bifoldable"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Bitraversable = PS["Data.Bitraversable"];+  var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_CommutativeRing = PS["Data.CommutativeRing"];+  var Data_Distributive = PS["Data.Distributive"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Maybe_First = PS["Data.Maybe.First"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];+  var Type_Equality = PS["Type.Equality"];                 +  var Tuple = (function () {+      function Tuple(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Tuple.create = function (value0) {+          return function (value1) {+              return new Tuple(value0, value1);+          };+      };+      return Tuple;+  })();+  var snd = function (v) {+      return v.value1;+  };+  var functorTuple = new Data_Functor.Functor(function (f) {+      return function (m) {+          return new Tuple(m.value0, f(m.value1));+      };+  });                                                                                                   +  var fst = function (v) {+      return v.value0;+  };+  exports["Tuple"] = Tuple;+  exports["fst"] = fst;+  exports["snd"] = snd;+  exports["functorTuple"] = functorTuple;+})(PS["Data.Tuple"] = PS["Data.Tuple"] || {});+(function(exports) {+    "use strict";++  exports.unfoldrArrayImpl = function (isNothing) {+    return function (fromJust) {+      return function (fst) {+        return function (snd) {+          return function (f) {+            return function (b) {+              var result = [];+              var value = b;+              while (true) { // eslint-disable-line no-constant-condition+                var maybe = f(value);+                if (isNothing(maybe)) return result;+                var tuple = fromJust(maybe);+                result.push(fst(tuple));+                value = snd(tuple);+              }+            };+          };+        };+      };+    };+  };+})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {});+(function(exports) {+    "use strict";++  exports.unfoldr1ArrayImpl = function (isNothing) {+    return function (fromJust) {+      return function (fst) {+        return function (snd) {+          return function (f) {+            return function (b) {+              var result = [];+              var value = b;+              while (true) { // eslint-disable-line no-constant-condition+                var tuple = f(value);+                result.push(fst(tuple));+                var maybe = snd(tuple);+                if (isNothing(maybe)) return result;+                value = fromJust(maybe);+              }+            };+          };+        };+      };+    };+  };+})(PS["Data.Unfoldable1"] = PS["Data.Unfoldable1"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Unfoldable1"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Tuple = PS["Data.Tuple"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];                 +  var Unfoldable1 = function (unfoldr1) {+      this.unfoldr1 = unfoldr1;+  };+  var unfoldr1 = function (dict) {+      return dict.unfoldr1;+  };+  var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));+  exports["Unfoldable1"] = Unfoldable1;+  exports["unfoldr1"] = unfoldr1;+  exports["unfoldable1Array"] = unfoldable1Array;+})(PS["Data.Unfoldable1"] = PS["Data.Unfoldable1"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Unfoldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Data_Unit = PS["Data.Unit"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];                 +  var Unfoldable = function (Unfoldable10, unfoldr) {+      this.Unfoldable10 = Unfoldable10;+      this.unfoldr = unfoldr;+  };+  var unfoldr = function (dict) {+      return dict.unfoldr;+  };+  var unfoldableArray = new Unfoldable(function () {+      return Data_Unfoldable1.unfoldable1Array;+  }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));+  exports["Unfoldable"] = Unfoldable;+  exports["unfoldr"] = unfoldr;+  exports["unfoldableArray"] = unfoldableArray;+})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {});+(function(exports) {+    "use strict";++  // module Unsafe.Coerce++  exports.unsafeCoerce = function (x) {+    return x;+  };+})(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Unsafe.Coerce"];+  exports["unsafeCoerce"] = $foreign.unsafeCoerce;+})(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Array"];+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_ST = PS["Control.Monad.ST"];+  var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array_NonEmpty_Internal = PS["Data.Array.NonEmpty.Internal"];+  var Data_Array_ST = PS["Data.Array.ST"];+  var Data_Array_ST_Iterator = PS["Data.Array.ST.Iterator"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var singleton = function (a) {+      return [ a ];+  };+  var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));+  var mapMaybe = function (f) {+      return concatMap(function ($114) {+          return Data_Maybe.maybe([  ])(singleton)(f($114));+      });+  };+  exports["singleton"] = singleton;+  exports["concatMap"] = concatMap;+  exports["mapMaybe"] = mapMaybe;+  exports["length"] = $foreign.length;+  exports["cons"] = $foreign.cons;+  exports["snoc"] = $foreign.snoc;+  exports["filter"] = $foreign.filter;+  exports["drop"] = $foreign.drop;+})(PS["Data.Array"] = PS["Data.Array"] || {});+(function(exports) {+    "use strict";++  exports.replace = function (s1) {+    return function (s2) {+      return function (s3) {+        return s3.replace(s1, s2);+      };+    };+  };++  exports.replaceAll = function (s1) {+    return function (s2) {+      return function (s3) {+        return s3.replace(new RegExp(s1.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"), "g"), s2); // eslint-disable-line no-useless-escape+      };+    };+  };++  exports.split = function (sep) {+    return function (s) {+      return s.split(sep);+    };+  };++  exports.joinWith = function (s) {+    return function (xs) {+      return xs.join(s);+    };+  };+})(PS["Data.String.Common"] = PS["Data.String.Common"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.String.Common"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Prelude = PS["Prelude"];                 +  var $$null = function (s) {+      return s === "";+  };+  exports["null"] = $$null;+  exports["replaceAll"] = $foreign.replaceAll;+  exports["split"] = $foreign.split;+  exports["joinWith"] = $foreign.joinWith;+})(PS["Data.String.Common"] = PS["Data.String.Common"] || {});+(function(exports) {+  /* globals exports, JSON */+  "use strict";++  exports.unsafeStringify = function (x) {+    return JSON.stringify(x);+  };                                  +  exports.unsafeDecodeURIComponent = decodeURIComponent;+  exports.unsafeEncodeURIComponent = encodeURIComponent;+})(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Global.Unsafe"];+  exports["unsafeStringify"] = $foreign.unsafeStringify;+  exports["unsafeDecodeURIComponent"] = $foreign.unsafeDecodeURIComponent;+  exports["unsafeEncodeURIComponent"] = $foreign.unsafeEncodeURIComponent;+})(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_String = PS["Data.String"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_Tuple = PS["Data.Tuple"];+  var Global_Unsafe = PS["Global.Unsafe"];+  var Prelude = PS["Prelude"];+  var toArray = function (v) {+      return v;+  };                                                                                                                 +  var encode = (function () {+      var encodePart = function (v) {+          if (v.value1 instanceof Data_Maybe.Nothing) {+              return Global_Unsafe.unsafeEncodeURIComponent(v.value0);+          };+          if (v.value1 instanceof Data_Maybe.Just) {+              return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + ("=" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));+          };+          throw new Error("Failed pattern match at Data.FormURLEncoded line 35, column 18 - line 37, column 89: " + [ v.constructor.name ]);+      };+      return function ($14) {+          return Data_String_Common.joinWith("&")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));+      };+  })();+  exports["toArray"] = toArray;+  exports["encode"] = encode;+})(PS["Data.FormURLEncoded"] = PS["Data.FormURLEncoded"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_String = PS["Data.String"];+  var Data_String_Common = PS["Data.String.Common"];+  var Prelude = PS["Prelude"];                 +  var OPTIONS = (function () {+      function OPTIONS() {++      };+      OPTIONS.value = new OPTIONS();+      return OPTIONS;+  })();+  var GET = (function () {+      function GET() {++      };+      GET.value = new GET();+      return GET;+  })();+  var HEAD = (function () {+      function HEAD() {++      };+      HEAD.value = new HEAD();+      return HEAD;+  })();+  var POST = (function () {+      function POST() {++      };+      POST.value = new POST();+      return POST;+  })();+  var PUT = (function () {+      function PUT() {++      };+      PUT.value = new PUT();+      return PUT;+  })();+  var DELETE = (function () {+      function DELETE() {++      };+      DELETE.value = new DELETE();+      return DELETE;+  })();+  var TRACE = (function () {+      function TRACE() {++      };+      TRACE.value = new TRACE();+      return TRACE;+  })();+  var CONNECT = (function () {+      function CONNECT() {++      };+      CONNECT.value = new CONNECT();+      return CONNECT;+  })();+  var PROPFIND = (function () {+      function PROPFIND() {++      };+      PROPFIND.value = new PROPFIND();+      return PROPFIND;+  })();+  var PROPPATCH = (function () {+      function PROPPATCH() {++      };+      PROPPATCH.value = new PROPPATCH();+      return PROPPATCH;+  })();+  var MKCOL = (function () {+      function MKCOL() {++      };+      MKCOL.value = new MKCOL();+      return MKCOL;+  })();+  var COPY = (function () {+      function COPY() {++      };+      COPY.value = new COPY();+      return COPY;+  })();+  var MOVE = (function () {+      function MOVE() {++      };+      MOVE.value = new MOVE();+      return MOVE;+  })();+  var LOCK = (function () {+      function LOCK() {++      };+      LOCK.value = new LOCK();+      return LOCK;+  })();+  var UNLOCK = (function () {+      function UNLOCK() {++      };+      UNLOCK.value = new UNLOCK();+      return UNLOCK;+  })();+  var PATCH = (function () {+      function PATCH() {++      };+      PATCH.value = new PATCH();+      return PATCH;+  })();+  var unCustomMethod = function (v) {+      return v;+  };+  var showMethod = new Data_Show.Show(function (v) {+      if (v instanceof OPTIONS) {+          return "OPTIONS";+      };+      if (v instanceof GET) {+          return "GET";+      };+      if (v instanceof HEAD) {+          return "HEAD";+      };+      if (v instanceof POST) {+          return "POST";+      };+      if (v instanceof PUT) {+          return "PUT";+      };+      if (v instanceof DELETE) {+          return "DELETE";+      };+      if (v instanceof TRACE) {+          return "TRACE";+      };+      if (v instanceof CONNECT) {+          return "CONNECT";+      };+      if (v instanceof PROPFIND) {+          return "PROPFIND";+      };+      if (v instanceof PROPPATCH) {+          return "PROPPATCH";+      };+      if (v instanceof MKCOL) {+          return "MKCOL";+      };+      if (v instanceof COPY) {+          return "COPY";+      };+      if (v instanceof MOVE) {+          return "MOVE";+      };+      if (v instanceof LOCK) {+          return "LOCK";+      };+      if (v instanceof UNLOCK) {+          return "UNLOCK";+      };+      if (v instanceof PATCH) {+          return "PATCH";+      };+      throw new Error("Failed pattern match at Data.HTTP.Method line 40, column 1 - line 40, column 35: " + [ v.constructor.name ]);+  });+  var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);+  exports["OPTIONS"] = OPTIONS;+  exports["GET"] = GET;+  exports["HEAD"] = HEAD;+  exports["POST"] = POST;+  exports["PUT"] = PUT;+  exports["DELETE"] = DELETE;+  exports["TRACE"] = TRACE;+  exports["CONNECT"] = CONNECT;+  exports["PROPFIND"] = PROPFIND;+  exports["PROPPATCH"] = PROPPATCH;+  exports["MKCOL"] = MKCOL;+  exports["COPY"] = COPY;+  exports["MOVE"] = MOVE;+  exports["LOCK"] = LOCK;+  exports["UNLOCK"] = UNLOCK;+  exports["PATCH"] = PATCH;+  exports["unCustomMethod"] = unCustomMethod;+  exports["print"] = print;+  exports["showMethod"] = showMethod;+})(PS["Data.HTTP.Method"] = PS["Data.HTTP.Method"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var MediaType = function (x) {+      return x;+  }; +  var newtypeMediaType = new Data_Newtype.Newtype(function (n) {+      return n;+  }, MediaType);+  exports["MediaType"] = MediaType;+  exports["newtypeMediaType"] = newtypeMediaType;+})(PS["Data.MediaType"] = PS["Data.MediaType"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_MediaType = PS["Data.MediaType"];           +  var applicationJSON = "application/json";+  var applicationFormURLEncoded = "application/x-www-form-urlencoded";+  exports["applicationFormURLEncoded"] = applicationFormURLEncoded;+  exports["applicationJSON"] = applicationJSON;+})(PS["Data.MediaType.Common"] = PS["Data.MediaType.Common"] || {});+(function(exports) {+  /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */+  /* jshint -W083, -W098, -W003 */+  "use strict";++  var Aff = function () {+    // A unique value for empty.+    var EMPTY = {};++    /*++  An awkward approximation. We elide evidence we would otherwise need in PS for+  efficiency sake.++  data Aff eff a+    = Pure a+    | Throw Error+    | Catch (Aff eff a) (Error -> Aff eff a)+    | Sync (Eff eff a)+    | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))+    | forall b. Bind (Aff eff b) (b -> Aff eff a)+    | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)+    | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)+    | Sequential (ParAff aff a)++  */  +    var PURE    = "Pure";+    var THROW   = "Throw";+    var CATCH   = "Catch";+    var SYNC    = "Sync";+    var ASYNC   = "Async";+    var BIND    = "Bind";+    var BRACKET = "Bracket";+    var FORK    = "Fork";+    var SEQ     = "Sequential";++    /*++  data ParAff eff a+    = forall b. Map (b -> a) (ParAff eff b)+    | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)+    | Alt (ParAff eff a) (ParAff eff a)+    | ?Par (Aff eff a)++  */  +    var MAP   = "Map";+    var APPLY = "Apply";+    var ALT   = "Alt";++    // Various constructors used in interpretation+    var CONS      = "Cons";      // Cons-list, for stacks+    var RESUME    = "Resume";    // Continue indiscriminately+    var RELEASE   = "Release";   // Continue with bracket finalizers+    var FINALIZER = "Finalizer"; // A non-interruptible effect+    var FINALIZED = "Finalized"; // Marker for finalization+    var FORKED    = "Forked";    // Reference to a forked fiber, with resumption stack+    var FIBER     = "Fiber";     // Actual fiber reference+    var THUNK     = "Thunk";     // Primed effect, ready to invoke++    function Aff(tag, _1, _2, _3) {+      this.tag = tag;+      this._1  = _1;+      this._2  = _2;+      this._3  = _3;+    }++    function AffCtr(tag) {+      var fn = function (_1, _2, _3) {+        return new Aff(tag, _1, _2, _3);+      };+      fn.tag = tag;+      return fn;+    }++    function nonCanceler(error) {+      return new Aff(PURE, void 0);+    }++    function runEff(eff) {+      try {+        eff();+      } catch (error) {+        setTimeout(function () {+          throw error;+        }, 0);+      }+    }++    function runSync(left, right, eff) {+      try {+        return right(eff());+      } catch (error) {+        return left(error);+      }+    }++    function runAsync(left, eff, k) {+      try {+        return eff(k)();+      } catch (error) {+        k(left(error))();+        return nonCanceler;+      }+    }++    var Scheduler = function () {+      var limit    = 1024;+      var size     = 0;+      var ix       = 0;+      var queue    = new Array(limit);+      var draining = false;++      function drain() {+        var thunk;+        draining = true;+        while (size !== 0) {+          size--;+          thunk     = queue[ix];+          queue[ix] = void 0;+          ix        = (ix + 1) % limit;+          thunk();+        }+        draining = false;+      }++      return {+        isDraining: function () {+          return draining;+        },+        enqueue: function (cb) {+          var i, tmp;+          if (size === limit) {+            tmp = draining;+            drain();+            draining = tmp;+          }++          queue[(ix + size) % limit] = cb;+          size++;++          if (!draining) {+            drain();+          }+        }+      };+    }();++    function Supervisor(util) {+      var fibers  = {};+      var fiberId = 0;+      var count   = 0;++      return {+        register: function (fiber) {+          var fid = fiberId++;+          fiber.onComplete({+            rethrow: true,+            handler: function (result) {+              return function () {+                count--;+                delete fibers[fid];+              };+            }+          });+          fibers[fid] = fiber;+          count++;+        },+        isEmpty: function () {+          return count === 0;+        },+        killAll: function (killError, cb) {+          return function () {+            var killCount = 0;+            var kills     = {};++            function kill(fid) {+              kills[fid] = fibers[fid].kill(killError, function (result) {+                return function () {+                  delete kills[fid];+                  killCount--;+                  if (util.isLeft(result) && util.fromLeft(result)) {+                    setTimeout(function () {+                      throw util.fromLeft(result);+                    }, 0);+                  }+                  if (killCount === 0) {+                    cb();+                  }+                };+              })();+            }++            for (var k in fibers) {+              if (fibers.hasOwnProperty(k)) {+                killCount++;+                kill(k);+              }+            }++            fibers  = {};+            fiberId = 0;+            count   = 0;++            return function (error) {+              return new Aff(SYNC, function () {+                for (var k in kills) {+                  if (kills.hasOwnProperty(k)) {+                    kills[k]();+                  }+                }+              });+            };+          };+        }+      };+    }++    // Fiber state machine+    var SUSPENDED   = 0; // Suspended, pending a join.+    var CONTINUE    = 1; // Interpret the next instruction.+    var STEP_BIND   = 2; // Apply the next bind.+    var STEP_RESULT = 3; // Handle potential failure from a result.+    var PENDING     = 4; // An async effect is running.+    var RETURN      = 5; // The current stack has returned.+    var COMPLETED   = 6; // The entire fiber has completed.++    function Fiber(util, supervisor, aff) {+      // Monotonically increasing tick, increased on each asynchronous turn.+      var runTick = 0;++      // The current branch of the state machine.+      var status = SUSPENDED;++      // The current point of interest for the state machine branch.+      var step      = aff;  // Successful step+      var fail      = null; // Failure step+      var interrupt = null; // Asynchronous interrupt++      // Stack of continuations for the current fiber.+      var bhead = null;+      var btail = null;++      // Stack of attempts and finalizers for error recovery. Every `Cons` is also+      // tagged with current `interrupt` state. We use this to track which items+      // should be ignored or evaluated as a result of a kill.+      var attempts = null;++      // A special state is needed for Bracket, because it cannot be killed. When+      // we enter a bracket acquisition or finalizer, we increment the counter,+      // and then decrement once complete.+      var bracketCount = 0;++      // Each join gets a new id so they can be revoked.+      var joinId  = 0;+      var joins   = null;+      var rethrow = true;++      // Each invocation of `run` requires a tick. When an asynchronous effect is+      // resolved, we must check that the local tick coincides with the fiber+      // tick before resuming. This prevents multiple async continuations from+      // accidentally resuming the same fiber. A common example may be invoking+      // the provided callback in `makeAff` more than once, but it may also be an+      // async effect resuming after the fiber was already cancelled.+      function run(localRunTick) {+        var tmp, result, attempt, canceler;+        while (true) {+          tmp       = null;+          result    = null;+          attempt   = null;+          canceler  = null;++          switch (status) {+          case STEP_BIND:+            status = CONTINUE;+            step   = bhead(step);+            if (btail === null) {+              bhead = null;+            } else {+              bhead = btail._1;+              btail = btail._2;+            }+            break;++          case STEP_RESULT:+            if (util.isLeft(step)) {+              status = RETURN;+              fail   = step;+              step   = null;+            } else if (bhead === null) {+              status = RETURN;+            } else {+              status = STEP_BIND;+              step   = util.fromRight(step);+            }+            break;++          case CONTINUE:+            switch (step.tag) {+            case BIND:+              if (bhead) {+                btail = new Aff(CONS, bhead, btail);+              }+              bhead  = step._2;+              status = CONTINUE;+              step   = step._1;+              break;++            case PURE:+              if (bhead === null) {+                status = RETURN;+                step   = util.right(step._1);+              } else {+                status = STEP_BIND;+                step   = step._1;+              }+              break;++            case SYNC:+              status = STEP_RESULT;+              step   = runSync(util.left, util.right, step._1);+              break;++            case ASYNC:+              status = PENDING;+              step   = runAsync(util.left, step._1, function (result) {+                return function () {+                  if (runTick !== localRunTick) {+                    return;+                  }+                  runTick++;+                  Scheduler.enqueue(function () {+                    status = STEP_RESULT;+                    step   = result;+                    run(runTick);+                  });+                };+              });+              return;++            case THROW:+              status = RETURN;+              fail   = util.left(step._1);+              step   = null;+              break;++            // Enqueue the Catch so that we can call the error handler later on+            // in case of an exception.+            case CATCH:+              if (bhead === null) {+                attempts = new Aff(CONS, step, attempts, interrupt);+              } else {+                attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);+              }+              bhead    = null;+              btail    = null;+              status   = CONTINUE;+              step     = step._1;+              break;++            // Enqueue the Bracket so that we can call the appropriate handlers+            // after resource acquisition.+            case BRACKET:+              bracketCount++;+              if (bhead === null) {+                attempts = new Aff(CONS, step, attempts, interrupt);+              } else {+                attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);+              }+              bhead  = null;+              btail  = null;+              status = CONTINUE;+              step   = step._1;+              break;++            case FORK:+              status = STEP_RESULT;+              tmp    = Fiber(util, supervisor, step._2);+              if (supervisor) {+                supervisor.register(tmp);+              }+              if (step._1) {+                tmp.run();+              }+              step = util.right(tmp);+              break;++            case SEQ:+              status = CONTINUE;+              step   = sequential(util, supervisor, step._1);+              break;+            }+            break;++          case RETURN:+            bhead = null;+            btail = null;+            // If the current stack has returned, and we have no other stacks to+            // resume or finalizers to run, the fiber has halted and we can+            // invoke all join callbacks. Otherwise we need to resume.+            if (attempts === null) {+              status = COMPLETED;+              step   = interrupt || fail || step;+            } else {+              // The interrupt status for the enqueued item.+              tmp      = attempts._3;+              attempt  = attempts._1;+              attempts = attempts._2;++              switch (attempt.tag) {+              // We cannot recover from an interrupt. Otherwise we should+              // continue stepping, or run the exception handler if an exception+              // was raised.+              case CATCH:+                // We should compare the interrupt status as well because we+                // only want it to apply if there has been an interrupt since+                // enqueuing the catch.+                if (interrupt && interrupt !== tmp) {+                  status = RETURN;+                } else if (fail) {+                  status = CONTINUE;+                  step   = attempt._2(util.fromLeft(fail));+                  fail   = null;+                }+                break;++              // We cannot resume from an interrupt or exception.+              case RESUME:+                // As with Catch, we only want to ignore in the case of an+                // interrupt since enqueing the item.+                if (interrupt && interrupt !== tmp || fail) {+                  status = RETURN;+                } else {+                  bhead  = attempt._1;+                  btail  = attempt._2;+                  status = STEP_BIND;+                  step   = util.fromRight(step);+                }+                break;++              // If we have a bracket, we should enqueue the handlers,+              // and continue with the success branch only if the fiber has+              // not been interrupted. If the bracket acquisition failed, we+              // should not run either.+              case BRACKET:+                bracketCount--;+                if (fail === null) {+                  result   = util.fromRight(step);+                  // We need to enqueue the Release with the same interrupt+                  // status as the Bracket that is initiating it.+                  attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);+                  // We should only coninue as long as the interrupt status has not changed or+                  // we are currently within a non-interruptable finalizer.+                  if (interrupt === tmp || bracketCount > 0) {+                    status = CONTINUE;+                    step   = attempt._3(result);+                  }+                }+                break;++              // Enqueue the appropriate handler. We increase the bracket count+              // because it should not be cancelled.+              case RELEASE:+                bracketCount++;+                attempts = new Aff(CONS, new Aff(FINALIZED, step), attempts, interrupt);+                status   = CONTINUE;+                // It has only been killed if the interrupt status has changed+                // since we enqueued the item.+                if (interrupt && interrupt !== tmp) {+                  step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);+                } else if (fail) {+                  step = attempt._1.failed(util.fromLeft(fail))(attempt._2);+                } else {+                  step = attempt._1.completed(util.fromRight(step))(attempt._2);+                }+                break;++              case FINALIZER:+                bracketCount++;+                attempts = new Aff(CONS, new Aff(FINALIZED, step), attempts, interrupt);+                status   = CONTINUE;+                step     = attempt._1;+                break;++              case FINALIZED:+                bracketCount--;+                status = RETURN;+                step   = attempt._1;+                break;+              }+            }+            break;++          case COMPLETED:+            for (var k in joins) {+              if (joins.hasOwnProperty(k)) {+                rethrow = rethrow && joins[k].rethrow;+                runEff(joins[k].handler(step));+              }+            }+            joins = null;+            // If we have an interrupt and a fail, then the thread threw while+            // running finalizers. This should always rethrow in a fresh stack.+            if (interrupt && fail) {+              setTimeout(function () {+                throw util.fromLeft(fail);+              }, 0);+            // If we have an unhandled exception, and no other fiber has joined+            // then we need to throw the exception in a fresh stack.+            } else if (util.isLeft(step) && rethrow) {+              setTimeout(function () {+                // Guard on reathrow because a completely synchronous fiber can+                // still have an observer which was added after-the-fact.+                if (rethrow) {+                  throw util.fromLeft(step);+                }+              }, 0);+            }+            return;+          case SUSPENDED:+            status = CONTINUE;+            break;+          case PENDING: return;+          }+        }+      }++      function onComplete(join) {+        return function () {+          if (status === COMPLETED) {+            rethrow = rethrow && join.rethrow;+            join.handler(step)();+            return function () {};+          }++          var jid    = joinId++;+          joins      = joins || {};+          joins[jid] = join;++          return function() {+            if (joins !== null) {+              delete joins[jid];+            }+          };+        };+      }++      function kill(error, cb) {+        return function () {+          if (status === COMPLETED) {+            cb(util.right(void 0))();+            return function () {};+          }++          var canceler = onComplete({+            rethrow: false,+            handler: function (/* unused */) {+              return cb(util.right(void 0));+            }+          })();++          switch (status) {+          case SUSPENDED:+            interrupt = util.left(error);+            status    = COMPLETED;+            step      = interrupt;+            run(runTick);+            break;+          case PENDING:+            if (interrupt === null) {+              interrupt = util.left(error);+            }+            if (bracketCount === 0) {+              if (status === PENDING) {+                attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);+              }+              status   = RETURN;+              step     = null;+              fail     = null;+              run(++runTick);+            }+            break;+          default:+            if (interrupt === null) {+              interrupt = util.left(error);+            }+            if (bracketCount === 0) {+              status = RETURN;+              step   = null;+              fail   = null;+            }+          }++          return canceler;+        };+      }++      function join(cb) {+        return function () {+          var canceler = onComplete({+            rethrow: false,+            handler: cb+          })();+          if (status === SUSPENDED) {+            run(runTick);+          }+          return canceler;+        };+      }++      return {+        kill: kill,+        join: join,+        onComplete: onComplete,+        isSuspended: function () {+          return status === SUSPENDED;+        },+        run: function () {+          if (status === SUSPENDED) {+            if (!Scheduler.isDraining()) {+              Scheduler.enqueue(function () {+                run(runTick);+              });+            } else {+              run(runTick);+            }+          }+        }+      };+    }++    function runPar(util, supervisor, par, cb) {+      // Table of all forked fibers.+      var fiberId   = 0;+      var fibers    = {};++      // Table of currently running cancelers, as a product of `Alt` behavior.+      var killId    = 0;+      var kills     = {};++      // Error used for early cancelation on Alt branches.+      var early     = new Error("[ParAff] Early exit");++      // Error used to kill the entire tree.+      var interrupt = null;++      // The root pointer of the tree.+      var root      = EMPTY;++      // Walks a tree, invoking all the cancelers. Returns the table of pending+      // cancellation fibers.+      function kill(error, par, cb) {+        var step  = par;+        var head  = null;+        var tail  = null;+        var count = 0;+        var kills = {};+        var tmp, kid;++        loop: while (true) {+          tmp = null;++          switch (step.tag) {+          case FORKED:+            if (step._3 === EMPTY) {+              tmp = fibers[step._1];+              kills[count++] = tmp.kill(error, function (result) {+                return function () {+                  count--;+                  if (count === 0) {+                    cb(result)();+                  }+                };+              });+            }+            // Terminal case.+            if (head === null) {+              break loop;+            }+            // Go down the right side of the tree.+            step = head._2;+            if (tail === null) {+              head = null;+            } else {+              head = tail._1;+              tail = tail._2;+            }+            break;+          case MAP:+            step = step._2;+            break;+          case APPLY:+          case ALT:+            if (head) {+              tail = new Aff(CONS, head, tail);+            }+            head = step;+            step = step._1;+            break;+          }+        }++        if (count === 0) {+          cb(util.right(void 0))();+        } else {+          // Run the cancelation effects. We alias `count` because it's mutable.+          kid = 0;+          tmp = count;+          for (; kid < tmp; kid++) {+            kills[kid] = kills[kid]();+          }+        }++        return kills;+      }++      // When a fiber resolves, we need to bubble back up the tree with the+      // result, computing the applicative nodes.+      function join(result, head, tail) {+        var fail, step, lhs, rhs, tmp, kid;++        if (util.isLeft(result)) {+          fail = result;+          step = null;+        } else {+          step = result;+          fail = null;+        }++        loop: while (true) {+          lhs = null;+          rhs = null;+          tmp = null;+          kid = null;++          // We should never continue if the entire tree has been interrupted.+          if (interrupt !== null) {+            return;+          }++          // We've made it all the way to the root of the tree, which means+          // the tree has fully evaluated.+          if (head === null) {+            cb(fail || step)();+            return;+          }++          // The tree has already been computed, so we shouldn't try to do it+          // again. This should never happen.+          // TODO: Remove this?+          if (head._3 !== EMPTY) {+            return;+          }++          switch (head.tag) {+          case MAP:+            if (fail === null) {+              head._3 = util.right(head._1(util.fromRight(step)));+              step    = head._3;+            } else {+              head._3 = fail;+            }+            break;+          case APPLY:+            lhs = head._1._3;+            rhs = head._2._3;+            // If we have a failure we should kill the other side because we+            // can't possible yield a result anymore.+            if (fail) {+              head._3 = fail;+              tmp     = true;+              kid     = killId++;++              kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {+                return function () {+                  delete kills[kid];+                  if (tmp) {+                    tmp = false;+                  } else if (tail === null) {+                    join(step, null, null);+                  } else {+                    join(step, tail._1, tail._2);+                  }+                };+              });++              if (tmp) {+                tmp = false;+                return;+              }+            } else if (lhs === EMPTY || rhs === EMPTY) {+              // We can only proceed if both sides have resolved.+              return;+            } else {+              step    = util.right(util.fromRight(lhs)(util.fromRight(rhs)));+              head._3 = step;+            }+            break;+          case ALT:+            lhs = head._1._3;+            rhs = head._2._3;+            // We can only proceed if both have resolved or we have a success+            if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {+              return;+            }+            // If both sides resolve with an error, we should continue with the+            // first error+            if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {+              fail    = step === lhs ? rhs : lhs;+              step    = null;+              head._3 = fail;+            } else {+              head._3 = step;+              tmp     = true;+              kid     = killId++;+              // Once a side has resolved, we need to cancel the side that is still+              // pending before we can continue.+              kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {+                return function () {+                  delete kills[kid];+                  if (tmp) {+                    tmp = false;+                  } else if (tail === null) {+                    join(step, null, null);+                  } else {+                    join(step, tail._1, tail._2);+                  }+                };+              });++              if (tmp) {+                tmp = false;+                return;+              }+            }+            break;+          }++          if (tail === null) {+            head = null;+          } else {+            head = tail._1;+            tail = tail._2;+          }+        }+      }++      function resolve(fiber) {+        return function (result) {+          return function () {+            delete fibers[fiber._1];+            fiber._3 = result;+            join(result, fiber._2._1, fiber._2._2);+          };+        };+      }++      // Walks the applicative tree, substituting non-applicative nodes with+      // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot+      // as a mutable slot for memoization. In an unresolved state, the `_3`+      // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk+      // the left side first, because both operations are left-associative. As+      // we `RETURN` from those branches, we then walk the right side.+      function run() {+        var status = CONTINUE;+        var step   = par;+        var head   = null;+        var tail   = null;+        var tmp, fid;++        loop: while (true) {+          tmp = null;+          fid = null;++          switch (status) {+          case CONTINUE:+            switch (step.tag) {+            case MAP:+              if (head) {+                tail = new Aff(CONS, head, tail);+              }+              head = new Aff(MAP, step._1, EMPTY, EMPTY);+              step = step._2;+              break;+            case APPLY:+              if (head) {+                tail = new Aff(CONS, head, tail);+              }+              head = new Aff(APPLY, EMPTY, step._2, EMPTY);+              step = step._1;+              break;+            case ALT:+              if (head) {+                tail = new Aff(CONS, head, tail);+              }+              head = new Aff(ALT, EMPTY, step._2, EMPTY);+              step = step._1;+              break;+            default:+              // When we hit a leaf value, we suspend the stack in the `FORKED`.+              // When the fiber resolves, it can bubble back up the tree.+              fid    = fiberId++;+              status = RETURN;+              tmp    = step;+              step   = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);+              tmp    = Fiber(util, supervisor, tmp);+              tmp.onComplete({+                rethrow: false,+                handler: resolve(step)+              })();+              fibers[fid] = tmp;+              if (supervisor) {+                supervisor.register(tmp);+              }+            }+            break;+          case RETURN:+            // Terminal case, we are back at the root.+            if (head === null) {+              break loop;+            }+            // If we are done with the right side, we need to continue down the+            // left. Otherwise we should continue up the stack.+            if (head._1 === EMPTY) {+              head._1 = step;+              status  = CONTINUE;+              step    = head._2;+              head._2 = EMPTY;+            } else {+              head._2 = step;+              step    = head;+              if (tail === null) {+                head  = null;+              } else {+                head  = tail._1;+                tail  = tail._2;+              }+            }+          }+        }++        // Keep a reference to the tree root so it can be cancelled.+        root = step;++        for (fid = 0; fid < fiberId; fid++) {+          fibers[fid].run();+        }+      }++      // Cancels the entire tree. If there are already subtrees being canceled,+      // we need to first cancel those joins. We will then add fresh joins for+      // all pending branches including those that were in the process of being+      // canceled.+      function cancel(error, cb) {+        interrupt = util.left(error);+        var innerKills;+        for (var kid in kills) {+          if (kills.hasOwnProperty(kid)) {+            innerKills = kills[kid];+            for (kid in innerKills) {+              if (innerKills.hasOwnProperty(kid)) {+                innerKills[kid]();+              }+            }+          }+        }++        kills = null;+        var newKills = kill(error, root, cb);++        return function (killError) {+          return new Aff(ASYNC, function (killCb) {+            return function () {+              for (var kid in newKills) {+                if (newKills.hasOwnProperty(kid)) {+                  newKills[kid]();+                }+              }+              return nonCanceler;+            };+          });+        };+      }++      run();++      return function (killError) {+        return new Aff(ASYNC, function (killCb) {+          return function () {+            return cancel(killError, killCb);+          };+        });+      };+    }++    function sequential(util, supervisor, par) {+      return new Aff(ASYNC, function (cb) {+        return function () {+          return runPar(util, supervisor, par, cb);+        };+      });+    }++    Aff.EMPTY       = EMPTY;+    Aff.Pure        = AffCtr(PURE);+    Aff.Throw       = AffCtr(THROW);+    Aff.Catch       = AffCtr(CATCH);+    Aff.Sync        = AffCtr(SYNC);+    Aff.Async       = AffCtr(ASYNC);+    Aff.Bind        = AffCtr(BIND);+    Aff.Bracket     = AffCtr(BRACKET);+    Aff.Fork        = AffCtr(FORK);+    Aff.Seq         = AffCtr(SEQ);+    Aff.ParMap      = AffCtr(MAP);+    Aff.ParApply    = AffCtr(APPLY);+    Aff.ParAlt      = AffCtr(ALT);+    Aff.Fiber       = Fiber;+    Aff.Supervisor  = Supervisor;+    Aff.Scheduler   = Scheduler;+    Aff.nonCanceler = nonCanceler;++    return Aff;+  }();++  exports._pure = Aff.Pure;++  exports._throwError = Aff.Throw;++  exports._catchError = function (aff) {+    return function (k) {+      return Aff.Catch(aff, k);+    };+  };++  exports._map = function (f) {+    return function (aff) {+      if (aff.tag === Aff.Pure.tag) {+        return Aff.Pure(f(aff._1));+      } else {+        return Aff.Bind(aff, function (value) {+          return Aff.Pure(f(value));+        });+      }+    };+  };++  exports._bind = function (aff) {+    return function (k) {+      return Aff.Bind(aff, k);+    };+  };++  exports._fork = function (immediate) {+    return function (aff) {+      return Aff.Fork(immediate, aff);+    };+  };++  exports._liftEffect = Aff.Sync;++  exports._parAffMap = function (f) {+    return function (aff) {+      return Aff.ParMap(f, aff);+    };+  };++  exports._parAffApply = function (aff1) {+    return function (aff2) {+      return Aff.ParApply(aff1, aff2);+    };+  };++  exports.makeAff = Aff.Async;++  exports._makeFiber = function (util, aff) {+    return function () {+      return Aff.Fiber(util, null, aff);+    };+  };  ++  exports._sequential = Aff.Seq;+})(PS["Effect.Aff"] = PS["Effect.Aff"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];                 +  var MonadThrow = function (Monad0, throwError) {+      this.Monad0 = Monad0;+      this.throwError = throwError;+  };+  var MonadError = function (MonadThrow0, catchError) {+      this.MonadThrow0 = MonadThrow0;+      this.catchError = catchError;+  };+  var throwError = function (dict) {+      return dict.throwError;+  }; +  var catchError = function (dict) {+      return dict.catchError;+  };+  var $$try = function (dictMonadError) {+      return function (a) {+          return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {+              return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));+          });+      };+  };+  exports["catchError"] = catchError;+  exports["throwError"] = throwError;+  exports["MonadThrow"] = MonadThrow;+  exports["MonadError"] = MonadError;+  exports["try"] = $$try;+})(PS["Control.Monad.Error.Class"] = PS["Control.Monad.Error.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];                 +  var MonadState = function (Monad0, state) {+      this.Monad0 = Monad0;+      this.state = state;+  };+  var state = function (dict) {+      return dict.state;+  };+  var put = function (dictMonadState) {+      return function (s) {+          return state(dictMonadState)(function (v) {+              return new Data_Tuple.Tuple(Data_Unit.unit, s);+          });+      };+  };+  var modify_ = function (dictMonadState) {+      return function (f) {+          return state(dictMonadState)(function (s) {+              return new Data_Tuple.Tuple(Data_Unit.unit, f(s));+          });+      };+  };+  var gets = function (dictMonadState) {+      return function (f) {+          return state(dictMonadState)(function (s) {+              return new Data_Tuple.Tuple(f(s), s);+          });+      };+  };+  var get = function (dictMonadState) {+      return state(dictMonadState)(function (s) {+          return new Data_Tuple.Tuple(s, s);+      });+  };+  exports["state"] = state;+  exports["MonadState"] = MonadState;+  exports["get"] = get;+  exports["gets"] = gets;+  exports["put"] = put;+  exports["modify_"] = modify_;+})(PS["Control.Monad.State.Class"] = PS["Control.Monad.State.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Prelude = PS["Prelude"];                 +  var MonadTrans = function (lift) {+      this.lift = lift;+  };+  var lift = function (dict) {+      return dict.lift;+  };+  exports["lift"] = lift;+  exports["MonadTrans"] = MonadTrans;+})(PS["Control.Monad.Trans.Class"] = PS["Control.Monad.Trans.Class"] || {});+(function(exports) {+    "use strict";+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Effect = PS["Effect"];                 ++  // | The `MonadEffect` class captures those monads which support native effects.+  // |+  // | Instances are provided for `Effect` itself, and the standard monad+  // | transformers.+  // |+  // | `liftEffect` can be used in any appropriate monad transformer stack to lift an+  // | action of type `Effect a` into the monad.+  // |+  var MonadEffect = function (Monad0, liftEffect) {+      this.Monad0 = Monad0;+      this.liftEffect = liftEffect;+  };                                                         +  var liftEffect = function (dict) {+      return dict.liftEffect;+  };+  exports["liftEffect"] = liftEffect;+  exports["MonadEffect"] = MonadEffect;+})(PS["Effect.Class"] = PS["Effect.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect_Class = PS["Effect.Class"];+  var Prelude = PS["Prelude"];                 +  var ExceptT = function (x) {+      return x;+  };+  var runExceptT = function (v) {+      return v;+  }; +  var mapExceptT = function (f) {+      return function (v) {+          return f(v);+      };+  };+  var functorExceptT = function (dictFunctor) {+      return new Data_Functor.Functor(function (f) {+          return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));+      });+  };+  var monadExceptT = function (dictMonad) {+      return new Control_Monad.Monad(function () {+          return applicativeExceptT(dictMonad);+      }, function () {+          return bindExceptT(dictMonad);+      });+  };+  var bindExceptT = function (dictMonad) {+      return new Control_Bind.Bind(function () {+          return applyExceptT(dictMonad);+      }, function (v) {+          return function (k) {+              return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {+                  return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));+              })(function (a) {+                  var v1 = k(a);+                  return v1;+              }));+          };+      });+  };+  var applyExceptT = function (dictMonad) {+      return new Control_Apply.Apply(function () {+          return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());+      }, Control_Monad.ap(monadExceptT(dictMonad)));+  };+  var applicativeExceptT = function (dictMonad) {+      return new Control_Applicative.Applicative(function () {+          return applyExceptT(dictMonad);+      }, function ($98) {+          return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));+      });+  };+  var monadThrowExceptT = function (dictMonad) {+      return new Control_Monad_Error_Class.MonadThrow(function () {+          return monadExceptT(dictMonad);+      }, function ($102) {+          return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));+      });+  };+  exports["ExceptT"] = ExceptT;+  exports["runExceptT"] = runExceptT;+  exports["mapExceptT"] = mapExceptT;+  exports["functorExceptT"] = functorExceptT;+  exports["applyExceptT"] = applyExceptT;+  exports["applicativeExceptT"] = applicativeExceptT;+  exports["bindExceptT"] = bindExceptT;+  exports["monadExceptT"] = monadExceptT;+  exports["monadThrowExceptT"] = monadThrowExceptT;+})(PS["Control.Monad.Except.Trans"] = PS["Control.Monad.Except.Trans"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect_Class = PS["Effect.Class"];+  var Prelude = PS["Prelude"];                 +  var MaybeT = function (x) {+      return x;+  };+  exports["MaybeT"] = MaybeT;+})(PS["Control.Monad.Maybe.Trans"] = PS["Control.Monad.Maybe.Trans"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"];+  var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"];+  var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Compose = PS["Data.Functor.Compose"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Ref = PS["Effect.Ref"];+  var Prelude = PS["Prelude"];+  var Parallel = function (Applicative1, Monad0, parallel, sequential) {+      this.Applicative1 = Applicative1;+      this.Monad0 = Monad0;+      this.parallel = parallel;+      this.sequential = sequential;+  };+  var sequential = function (dict) {+      return dict.sequential;+  };+  var parallel = function (dict) {+      return dict.parallel;+  };+  exports["parallel"] = parallel;+  exports["sequential"] = sequential;+  exports["Parallel"] = Parallel;+})(PS["Control.Parallel.Class"] = PS["Control.Parallel.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Traversable = PS["Data.Traversable"];+  var Prelude = PS["Prelude"];                 +  var parTraverse_ = function (dictParallel) {+      return function (dictFoldable) {+          return function (f) {+              return function ($17) {+                  return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {+                      return Control_Parallel_Class.parallel(dictParallel)(f($18));+                  })($17));+              };+          };+      };+  };+  var parSequence_ = function (dictParallel) {+      return function (dictFoldable) {+          return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));+      };+  };+  exports["parTraverse_"] = parTraverse_;+  exports["parSequence_"] = parSequence_;+})(PS["Control.Parallel"] = PS["Control.Parallel"] || {});+(function(exports) {+    "use strict";++  exports.runFn4 = function (fn) {+    return function (a) {+      return function (b) {+        return function (c) {+          return function (d) {+            return fn(a, b, c, d);+          };+        };+      };+    };+  };+})(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Function.Uncurried"];+  var Data_Unit = PS["Data.Unit"];+  exports["runFn4"] = $foreign.runFn4;+})(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {});+(function(exports) {+    "use strict";++  exports.error = function (msg) {+    return new Error(msg);+  };++  exports.throwException = function (e) {+    return function () {+      throw e;+    };+  };+})(PS["Effect.Exception"] = PS["Effect.Exception"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Exception"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Show = PS["Data.Show"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var $$throw = function ($1) {+      return $foreign.throwException($foreign.error($1));+  };+  exports["throw"] = $$throw;+  exports["error"] = $foreign.error;+  exports["throwException"] = $foreign.throwException;+})(PS["Effect.Exception"] = PS["Effect.Exception"] || {});+(function(exports) {+    "use strict";++  exports.unsafePerformEffect = function (f) {+    return f();+  };+})(PS["Effect.Unsafe"] = PS["Effect.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Unsafe"];+  var Effect = PS["Effect"];+  exports["unsafePerformEffect"] = $foreign.unsafePerformEffect;+})(PS["Effect.Unsafe"] = PS["Effect.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Aff"];+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Time_Duration = PS["Data.Time.Duration"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Unsafe = PS["Effect.Unsafe"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Canceler = function (x) {+      return x;+  };+  var suspendAff = $foreign._fork(false);+  var functorParAff = new Data_Functor.Functor($foreign._parAffMap);+  var functorAff = new Data_Functor.Functor($foreign._map);+  var forkAff = $foreign._fork(true);+  var ffiUtil = (function () {+      var unsafeFromRight = function (v) {+          if (v instanceof Data_Either.Right) {+              return v.value0;+          };+          if (v instanceof Data_Either.Left) {+              return Partial_Unsafe.unsafeCrashWith("unsafeFromRight: Left");+          };+          throw new Error("Failed pattern match at Effect.Aff line 395, column 21 - line 397, column 31: " + [ v.constructor.name ]);+      };+      var unsafeFromLeft = function (v) {+          if (v instanceof Data_Either.Left) {+              return v.value0;+          };+          if (v instanceof Data_Either.Right) {+              return Partial_Unsafe.unsafeCrashWith("unsafeFromLeft: Right");+          };+          throw new Error("Failed pattern match at Effect.Aff line 390, column 20 - line 394, column 3: " + [ v.constructor.name ]);+      };+      var isLeft = function (v) {+          if (v instanceof Data_Either.Left) {+              return true;+          };+          if (v instanceof Data_Either.Right) {+              return false;+          };+          throw new Error("Failed pattern match at Effect.Aff line 385, column 12 - line 387, column 20: " + [ v.constructor.name ]);+      };+      return {+          isLeft: isLeft,+          fromLeft: unsafeFromLeft,+          fromRight: unsafeFromRight,+          left: Data_Either.Left.create,+          right: Data_Either.Right.create+      };+  })();+  var makeFiber = function (aff) {+      return $foreign._makeFiber(ffiUtil, aff);+  };+  var launchAff = function (aff) {+      return function __do() {+          var v = makeFiber(aff)();+          v.run();+          return v;+      };+  };+  var applyParAff = new Control_Apply.Apply(function () {+      return functorParAff;+  }, $foreign._parAffApply);+  var monadAff = new Control_Monad.Monad(function () {+      return applicativeAff;+  }, function () {+      return bindAff;+  });+  var bindAff = new Control_Bind.Bind(function () {+      return applyAff;+  }, $foreign._bind);+  var applyAff = new Control_Apply.Apply(function () {+      return functorAff;+  }, Control_Monad.ap(monadAff));+  var applicativeAff = new Control_Applicative.Applicative(function () {+      return applyAff;+  }, $foreign._pure);+  var monadEffectAff = new Effect_Class.MonadEffect(function () {+      return monadAff;+  }, $foreign._liftEffect);+  var effectCanceler = function ($50) {+      return Canceler(Data_Function["const"](Effect_Class.liftEffect(monadEffectAff)($50)));+  };+  var joinFiber = function (v) {+      return $foreign.makeAff(function (k) {+          return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));+      });+  };+  var functorFiber = new Data_Functor.Functor(function (f) {+      return function (t) {+          return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));+      };+  });+  var killFiber = function (e) {+      return function (v) {+          return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {+              if (v1) {+                  return Effect_Class.liftEffect(monadEffectAff)(Data_Functor["void"](Effect.functorEffect)(v.kill(e, Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));+              };+              return $foreign.makeAff(function (k) {+                  return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));+              });+          });+      };+  };+  var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {+      return monadAff;+  }, $foreign._throwError);+  var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {+      return monadThrowAff;+  }, $foreign._catchError);                                     +  var runAff = function (k) {+      return function (aff) {+          return launchAff(Control_Bind.bindFlipped(bindAff)(function ($51) {+              return Effect_Class.liftEffect(monadEffectAff)(k($51));+          })(Control_Monad_Error_Class["try"](monadErrorAff)(aff)));+      };+  };+  var runAff_ = function (k) {+      return function (aff) {+          return Data_Functor["void"](Effect.functorEffect)(runAff(k)(aff));+      };+  };+  var parallelAff = new Control_Parallel_Class.Parallel(function () {+      return applicativeParAff;+  }, function () {+      return monadAff;+  }, Unsafe_Coerce.unsafeCoerce, $foreign._sequential);+  var applicativeParAff = new Control_Applicative.Applicative(function () {+      return applyParAff;+  }, function ($53) {+      return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($53));+  });+  var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {+      return monadAff;+  }, function (k) {+      var go = function (a) {+          return Control_Bind.bind(bindAff)(k(a))(function (v) {+              if (v instanceof Control_Monad_Rec_Class.Done) {+                  return Control_Applicative.pure(applicativeAff)(v.value0);+              };+              if (v instanceof Control_Monad_Rec_Class.Loop) {+                  return go(v.value0);+              };+              throw new Error("Failed pattern match at Effect.Aff line 99, column 7 - line 101, column 22: " + [ v.constructor.name ]);+          });+      };+      return go;+  });+  var nonCanceler = Data_Function["const"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));+  exports["Canceler"] = Canceler;+  exports["launchAff"] = launchAff;+  exports["runAff"] = runAff;+  exports["runAff_"] = runAff_;+  exports["forkAff"] = forkAff;+  exports["suspendAff"] = suspendAff;+  exports["killFiber"] = killFiber;+  exports["joinFiber"] = joinFiber;+  exports["nonCanceler"] = nonCanceler;+  exports["effectCanceler"] = effectCanceler;+  exports["functorAff"] = functorAff;+  exports["applyAff"] = applyAff;+  exports["applicativeAff"] = applicativeAff;+  exports["bindAff"] = bindAff;+  exports["monadAff"] = monadAff;+  exports["monadRecAff"] = monadRecAff;+  exports["monadThrowAff"] = monadThrowAff;+  exports["monadErrorAff"] = monadErrorAff;+  exports["monadEffectAff"] = monadEffectAff;+  exports["functorParAff"] = functorParAff;+  exports["applyParAff"] = applyParAff;+  exports["applicativeParAff"] = applicativeParAff;+  exports["parallelAff"] = parallelAff;+  exports["functorFiber"] = functorFiber;+  exports["makeAff"] = $foreign.makeAff;+})(PS["Effect.Aff"] = PS["Effect.Aff"] || {});+(function(exports) {+    "use strict";++  exports._app = function() {+    return app;+  }++  exports._closest = function(just, nothing, selector, el) {+    var node = el.closest(selector);+    if(node) {+      return just(node);+    } else {+      return nothing;+    }+  }++  exports._innerHtml = function(el) {+    return el.innerHTML;+  }++  exports._setInnerHtml = function(content, el) {+    el.innerHTML = content;+    return el;+  }++  exports._createFormData = function(formElement) {+    return new FormData(formElement);+  }++  exports._createFormString = function(formElement) {+    return new URLSearchParams(new FormData(formElement)).toString()+  }++  exports._createFormArray = function(formElement) {+    return Array.from(new FormData(formElement));+  }++  exports._getDataAttribute = function(name, el) {+    return el.dataset[name];+  }++  exports._setDataAttribute = function(name, value, el) {+    return el.dataset[name] = value;+  }++  exports._moment8601 = function(tuple, s) {+    var m = moment(s, moment.ISO_8601);+    var s1 = m.fromNow();+    var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ";+    return tuple(s1)(s2);+  }++  exports._mmoment8601 = function(just, nothing, tuple, s) {+    try {+      var m = moment(s, moment.ISO_8601);+      var s1 = m.fromNow();+      var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ";+      return just(tuple(s1)(s2));+    } catch (error) {+      return nothing+    }+  }++  exports._closeWindow = function (window) {+    window.close();+  };+})(PS["Globals"] = PS["Globals"] || {});+(function(exports) {+    "use strict";++  exports["null"] = null;++  exports.nullable = function (a, r, f) {+    return a == null ? r : f(a);+  };++  exports.notNull = function (x) {+    return x;+  };+})(PS["Data.Nullable"] = PS["Data.Nullable"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Nullable"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var toNullable = Data_Maybe.maybe($foreign["null"])($foreign.notNull);+  var toMaybe = function (n) {+      return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);+  };+  exports["toMaybe"] = toMaybe;+  exports["toNullable"] = toNullable;+})(PS["Data.Nullable"] = PS["Data.Nullable"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Newtype = PS["Data.Newtype"];+  var Prelude = PS["Prelude"];                                                           +  var runExcept = function ($0) {+      return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));+  };+  exports["runExcept"] = runExcept;+})(PS["Control.Monad.Except"] = PS["Control.Monad.Except"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Prelude = PS["Prelude"];                 +  var NonEmpty = (function () {+      function NonEmpty(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      NonEmpty.create = function (value0) {+          return function (value1) {+              return new NonEmpty(value0, value1);+          };+      };+      return NonEmpty;+  })();+  var singleton = function (dictPlus) {+      return function (a) {+          return new NonEmpty(a, Control_Plus.empty(dictPlus));+      };+  };+  var functorNonEmpty = function (dictFunctor) {+      return new Data_Functor.Functor(function (f) {+          return function (m) {+              return new NonEmpty(f(m.value0), Data_Functor.map(dictFunctor)(f)(m.value1));+          };+      });+  };+  var foldableNonEmpty = function (dictFoldable) {+      return new Data_Foldable.Foldable(function (dictMonoid) {+          return function (f) {+              return function (v) {+                  return Data_Semigroup.append(dictMonoid.Semigroup0())(f(v.value0))(Data_Foldable.foldMap(dictFoldable)(dictMonoid)(f)(v.value1));+              };+          };+      }, function (f) {+          return function (b) {+              return function (v) {+                  return Data_Foldable.foldl(dictFoldable)(f)(f(b)(v.value0))(v.value1);+              };+          };+      }, function (f) {+          return function (b) {+              return function (v) {+                  return f(v.value0)(Data_Foldable.foldr(dictFoldable)(f)(b)(v.value1));+              };+          };+      });+  };+  exports["NonEmpty"] = NonEmpty;+  exports["singleton"] = singleton;+  exports["functorNonEmpty"] = functorNonEmpty;+  exports["foldableNonEmpty"] = foldableNonEmpty;+})(PS["Data.NonEmpty"] = PS["Data.NonEmpty"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Comonad = PS["Control.Comonad"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Monad = PS["Control.Monad"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_NonEmpty = PS["Data.NonEmpty"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];+  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Prelude = PS["Prelude"];                 +  var Nil = (function () {+      function Nil() {++      };+      Nil.value = new Nil();+      return Nil;+  })();+  var Cons = (function () {+      function Cons(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Cons.create = function (value0) {+          return function (value1) {+              return new Cons(value0, value1);+          };+      };+      return Cons;+  })();+  var NonEmptyList = function (x) {+      return x;+  };+  var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {+      return function (f) {+          return Data_Foldable.foldl(foldableList)(function (acc) {+              return function ($155) {+                  return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($155));+              };+          })(Data_Monoid.mempty(dictMonoid));+      };+  }, function (f) {+      var go = function ($copy_b) {+          return function ($copy_v) {+              var $tco_var_b = $copy_b;+              var $tco_done = false;+              var $tco_result;+              function $tco_loop(b, v) {+                  if (v instanceof Nil) {+                      $tco_done = true;+                      return b;+                  };+                  if (v instanceof Cons) {+                      $tco_var_b = f(b)(v.value0);+                      $copy_v = v.value1;+                      return;+                  };+                  throw new Error("Failed pattern match at Data.List.Types line 81, column 12 - line 83, column 30: " + [ v.constructor.name ]);+              };+              while (!$tco_done) {+                  $tco_result = $tco_loop($tco_var_b, $copy_v);+              };+              return $tco_result;+          };+      };+      return go;+  }, function (f) {+      return function (b) {+          var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);+          return function ($156) {+              return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($156));+          };+      };+  });+  var foldableNonEmptyList = Data_NonEmpty.foldableNonEmpty(foldableList);+  var functorList = new Data_Functor.Functor(function (f) {+      return Data_Foldable.foldr(foldableList)(function (x) {+          return function (acc) {+              return new Cons(f(x), acc);+          };+      })(Nil.value);+  });+  var functorNonEmptyList = Data_NonEmpty.functorNonEmpty(functorList);+  var semigroupList = new Data_Semigroup.Semigroup(function (xs) {+      return function (ys) {+          return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);+      };+  });+  var applyList = new Control_Apply.Apply(function () {+      return functorList;+  }, function (v) {+      return function (v1) {+          if (v instanceof Nil) {+              return Nil.value;+          };+          if (v instanceof Cons) {+              return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));+          };+          throw new Error("Failed pattern match at Data.List.Types line 127, column 1 - line 127, column 33: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  var applicativeList = new Control_Applicative.Applicative(function () {+      return applyList;+  }, function (a) {+      return new Cons(a, Nil.value);+  });                                              +  var altList = new Control_Alt.Alt(function () {+      return functorList;+  }, Data_Semigroup.append(semigroupList));+  var plusList = new Control_Plus.Plus(function () {+      return altList;+  }, Nil.value);+  exports["Nil"] = Nil;+  exports["Cons"] = Cons;+  exports["NonEmptyList"] = NonEmptyList;+  exports["semigroupList"] = semigroupList;+  exports["functorList"] = functorList;+  exports["foldableList"] = foldableList;+  exports["applyList"] = applyList;+  exports["applicativeList"] = applicativeList;+  exports["altList"] = altList;+  exports["plusList"] = plusList;+  exports["functorNonEmptyList"] = functorNonEmptyList;+  exports["foldableNonEmptyList"] = foldableNonEmptyList;+})(PS["Data.List.Types"] = PS["Data.List.Types"] || {});+(function(exports) {+    "use strict";++  exports.unsafeToForeign = function (value) {+    return value;+  };++  exports.unsafeFromForeign = function (value) {+    return value;+  };++  exports.typeOf = function (value) {+    return typeof value;+  };++  exports.tagOf = function (value) {+    return Object.prototype.toString.call(value).slice(8, -1);+  };+})(PS["Foreign"] = PS["Foreign"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_NonEmpty = PS["Data.NonEmpty"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];+  var reverse = (function () {+      var go = function ($copy_acc) {+          return function ($copy_v) {+              var $tco_var_acc = $copy_acc;+              var $tco_done = false;+              var $tco_result;+              function $tco_loop(acc, v) {+                  if (v instanceof Data_List_Types.Nil) {+                      $tco_done = true;+                      return acc;+                  };+                  if (v instanceof Data_List_Types.Cons) {+                      $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);+                      $copy_v = v.value1;+                      return;+                  };+                  throw new Error("Failed pattern match at Data.List line 368, column 3 - line 368, column 19: " + [ acc.constructor.name, v.constructor.name ]);+              };+              while (!$tco_done) {+                  $tco_result = $tco_loop($tco_var_acc, $copy_v);+              };+              return $tco_result;+          };+      };+      return go(Data_List_Types.Nil.value);+  })();+  var $$null = function (v) {+      if (v instanceof Data_List_Types.Nil) {+          return true;+      };+      return false;+  };+  var fromFoldable = function (dictFoldable) {+      return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);+  };+  exports["fromFoldable"] = fromFoldable;+  exports["null"] = $$null;+  exports["reverse"] = reverse;+})(PS["Data.List"] = PS["Data.List"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_NonEmpty = PS["Data.NonEmpty"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];+  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var singleton = function ($160) {+      return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($160));+  };+  var cons = function (y) {+      return function (v) {+          return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));+      };+  };+  exports["singleton"] = singleton;+  exports["cons"] = cons;+})(PS["Data.List.NonEmpty"] = PS["Data.List.NonEmpty"] || {});+(function(exports) {+    "use strict";++  exports.singleton = function (c) {+    return c;+  };++  exports.length = function (s) {+    return s.length;+  };++  exports.drop = function (n) {+    return function (s) {+      return s.substring(n);+    };+  };+})(PS["Data.String.CodeUnits"] = PS["Data.String.CodeUnits"] || {});+(function(exports) {+    "use strict";++  exports.charAt = function (i) {+    return function (s) {+      if (i >= 0 && i < s.length) return s.charAt(i);+      throw new Error("Data.String.Unsafe.charAt: Invalid index.");+    };+  };+})(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.String.Unsafe"];+  exports["charAt"] = $foreign.charAt;+})(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.String.CodeUnits"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_String_Unsafe = PS["Data.String.Unsafe"];+  var Prelude = PS["Prelude"];+  exports["singleton"] = $foreign.singleton;+  exports["length"] = $foreign.length;+  exports["drop"] = $foreign.drop;+})(PS["Data.String.CodeUnits"] = PS["Data.String.CodeUnits"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Foreign"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Int = PS["Data.Int"];+  var Data_List_NonEmpty = PS["Data.List.NonEmpty"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_String_CodeUnits = PS["Data.String.CodeUnits"];+  var Prelude = PS["Prelude"];                 +  var ForeignError = (function () {+      function ForeignError(value0) {+          this.value0 = value0;+      };+      ForeignError.create = function (value0) {+          return new ForeignError(value0);+      };+      return ForeignError;+  })();+  var TypeMismatch = (function () {+      function TypeMismatch(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      TypeMismatch.create = function (value0) {+          return function (value1) {+              return new TypeMismatch(value0, value1);+          };+      };+      return TypeMismatch;+  })();+  var ErrorAtIndex = (function () {+      function ErrorAtIndex(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      ErrorAtIndex.create = function (value0) {+          return function (value1) {+              return new ErrorAtIndex(value0, value1);+          };+      };+      return ErrorAtIndex;+  })();+  var ErrorAtProperty = (function () {+      function ErrorAtProperty(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      ErrorAtProperty.create = function (value0) {+          return function (value1) {+              return new ErrorAtProperty(value0, value1);+          };+      };+      return ErrorAtProperty;+  })();+  var renderForeignError = function (v) {+      if (v instanceof ForeignError) {+          return v.value0;+      };+      if (v instanceof ErrorAtIndex) {+          return "Error at array index " + (Data_Show.show(Data_Show.showInt)(v.value0) + (": " + renderForeignError(v.value1)));+      };+      if (v instanceof ErrorAtProperty) {+          return "Error at property " + (Data_Show.show(Data_Show.showString)(v.value0) + (": " + renderForeignError(v.value1)));+      };+      if (v instanceof TypeMismatch) {+          return "Type mismatch: expected " + (v.value0 + (", found " + v.value1));+      };+      throw new Error("Failed pattern match at Foreign line 72, column 1 - line 72, column 45: " + [ v.constructor.name ]);+  };+  var fail = function ($107) {+      return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));+  };+  var unsafeReadTagged = function (tag) {+      return function (value) {+          if ($foreign.tagOf(value) === tag) {+              return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));+          };+          if (Data_Boolean.otherwise) {+              return fail(new TypeMismatch(tag, $foreign.tagOf(value)));+          };+          throw new Error("Failed pattern match at Foreign line 106, column 1 - line 106, column 55: " + [ tag.constructor.name, value.constructor.name ]);+      };+  };+  var readBoolean = unsafeReadTagged("Boolean");+  var readString = unsafeReadTagged("String");+  exports["ForeignError"] = ForeignError;+  exports["TypeMismatch"] = TypeMismatch;+  exports["ErrorAtIndex"] = ErrorAtIndex;+  exports["ErrorAtProperty"] = ErrorAtProperty;+  exports["renderForeignError"] = renderForeignError;+  exports["unsafeReadTagged"] = unsafeReadTagged;+  exports["readString"] = readString;+  exports["readBoolean"] = readBoolean;+  exports["fail"] = fail;+  exports["unsafeToForeign"] = $foreign.unsafeToForeign;+  exports["typeOf"] = $foreign.typeOf;+})(PS["Foreign"] = PS["Foreign"] || {});+(function(exports) {+    "use strict";++  exports.unsafeReadPropImpl = function (f, s, key, value) {+    return value == null ? f : s(value[key]);+  };+})(PS["Foreign.Index"] = PS["Foreign.Index"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Foreign.Index"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Identity = PS["Data.Identity"];+  var Data_List_NonEmpty = PS["Data.List.NonEmpty"];+  var Foreign = PS["Foreign"];+  var Prelude = PS["Prelude"];+  var unsafeReadProp = function (k) {+      return function (value) {+          return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch("object", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);+      };+  };+  var readProp = unsafeReadProp;+  exports["readProp"] = readProp;+})(PS["Foreign.Index"] = PS["Foreign.Index"] || {});+(function(exports) {+    "use strict";++  exports.empty = {};++  exports._lookup = function (no, yes, k, m) {+    return k in m ? yes(m[k]) : no;+  };++  function toArrayWithKey(f) {+    return function (m) {+      var r = [];+      for (var k in m) {+        if (hasOwnProperty.call(m, k)) {+          r.push(f(k)(m[k]));+        }+      }+      return r;+    };+  }+})(PS["Foreign.Object"] = PS["Foreign.Object"] || {});+(function(exports) {+    "use strict";++  exports["new"] = function () {+    return {};+  };+})(PS["Foreign.Object.ST"] = PS["Foreign.Object.ST"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Foreign.Object.ST"];+  var Control_Monad_ST = PS["Control.Monad.ST"];+  var Data_Maybe = PS["Data.Maybe"];+  exports["new"] = $foreign["new"];+})(PS["Foreign.Object.ST"] = PS["Foreign.Object.ST"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Foreign.Object"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad_ST = PS["Control.Monad.ST"];+  var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Foreign_Object_ST = PS["Foreign.Object.ST"];+  var Prelude = PS["Prelude"];+  var lookup = Data_Function_Uncurried.runFn4($foreign._lookup)(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);+  exports["lookup"] = lookup;+  exports["empty"] = $foreign.empty;+})(PS["Foreign.Object"] = PS["Foreign.Object"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Type_Data_Boolean = PS["Type.Data.Boolean"];+  var Type_Data_Symbol = PS["Type.Data.Symbol"];+  var Type_Equality = PS["Type.Equality"];+  var RLProxy = (function () {+      function RLProxy() {++      };+      RLProxy.value = new RLProxy();+      return RLProxy;+  })();+  exports["RLProxy"] = RLProxy;+})(PS["Type.Row"] = PS["Type.Row"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Symbol = PS["Data.Symbol"];+  var Prelude = PS["Prelude"];+  var Record_Unsafe = PS["Record.Unsafe"];+  var Record_Unsafe_Union = PS["Record.Unsafe.Union"];+  var Type_Row = PS["Type.Row"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var get = function (dictIsSymbol) {+      return function (dictCons) {+          return function (l) {+              return function (r) {+                  return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);+              };+          };+      };+  };+  exports["get"] = get;+})(PS["Record"] = PS["Record"] || {});+(function(exports) {+    "use strict";++  exports.copyRecord = function(rec) {+    var copy = {};+    for (var key in rec) {+      if ({}.hasOwnProperty.call(rec, key)) {+        copy[key] = rec[key];+      }+    }+    return copy;+  };++  exports.unsafeInsert = function(l) {+    return function(a) {+      return function(rec) {+        rec[l] = a;+        return rec;+      };+    };+  };+})(PS["Record.Builder"] = PS["Record.Builder"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Record.Builder"];+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Symbol = PS["Data.Symbol"];+  var Prelude = PS["Prelude"];+  var Record_Unsafe_Union = PS["Record.Unsafe.Union"];+  var Type_Row = PS["Type.Row"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;+  var insert = function (dictCons) {+      return function (dictLacks) {+          return function (dictIsSymbol) {+              return function (l) {+                  return function (a) {+                      return function (r1) {+                          return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);+                      };+                  };+              };+          };+      };+  };+  var categoryBuilder = Control_Category.categoryFn;+  var build = function (v) {+      return function (r1) {+          return v($foreign.copyRecord(r1));+      };+  };+  exports["build"] = build;+  exports["insert"] = insert;+  exports["semigroupoidBuilder"] = semigroupoidBuilder;+  exports["categoryBuilder"] = categoryBuilder;+})(PS["Record.Builder"] = PS["Record.Builder"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Simple.JSON"];+  var Control_Alt = PS["Control.Alt"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Identity = PS["Data.Identity"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Symbol = PS["Data.Symbol"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Variant = PS["Data.Variant"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Effect_Unsafe = PS["Effect.Unsafe"];+  var Foreign = PS["Foreign"];+  var Foreign_Index = PS["Foreign.Index"];+  var Foreign_Object = PS["Foreign.Object"];+  var Global_Unsafe = PS["Global.Unsafe"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Record = PS["Record"];+  var Record_Builder = PS["Record.Builder"];+  var Type_Prelude = PS["Type.Prelude"];+  var Type_Row = PS["Type.Row"];+  var WriteForeign = function (writeImpl) {+      this.writeImpl = writeImpl;+  };+  var WriteForeignFields = function (writeImplFields) {+      this.writeImplFields = writeImplFields;+  };+  var writeImplFields = function (dict) {+      return dict.writeImplFields;+  };+  var writeImpl = function (dict) {+      return dict.writeImpl;+  };+  var writeJSON = function (dictWriteForeign) {+      return function ($71) {+          return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($71));+      };+  };+  var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);+  var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); +  var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);+  var recordWriteForeign = function (dictRowToList) {+      return function (dictWriteForeignFields) {+          return new WriteForeign(function (rec) {+              var steps = writeImplFields(dictWriteForeignFields)(Type_Row.RLProxy.value)(rec);+              return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));+          });+      };+  }; +  var nilWriteForeignFields = new WriteForeignFields(function (v) {+      return function (v1) {+          return Control_Category.identity(Record_Builder.categoryBuilder);+      };+  });+  var consWriteForeignFields = function (dictIsSymbol) {+      return function (dictWriteForeign) {+          return function (dictWriteForeignFields) {+              return function (dictCons) {+                  return function (dictLacks) {+                      return function (dictCons1) {+                          return new WriteForeignFields(function (v) {+                              return function (rec) {+                                  var rest = writeImplFields(dictWriteForeignFields)(Type_Row.RLProxy.value)(rec);+                                  var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));+                                  var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);+                                  return result;+                              };+                          });+                      };+                  };+              };+          };+      };+  };+  exports["writeJSON"] = writeJSON;+  exports["WriteForeign"] = WriteForeign;+  exports["writeImpl"] = writeImpl;+  exports["WriteForeignFields"] = WriteForeignFields;+  exports["writeImplFields"] = writeImplFields;+  exports["writeForeignString"] = writeForeignString;+  exports["writeForeignInt"] = writeForeignInt;+  exports["writeForeignBoolean"] = writeForeignBoolean;+  exports["recordWriteForeign"] = recordWriteForeign;+  exports["consWriteForeignFields"] = consWriteForeignFields;+  exports["nilWriteForeignFields"] = nilWriteForeignFields;+})(PS["Simple.JSON"] = PS["Simple.JSON"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Symbol = PS["Data.Symbol"];+  var Simple_JSON = PS["Simple.JSON"];+  var wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "bid";+  }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "description";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "private";+  }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "selected";+  }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "tags";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "time";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "title";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "toread";+  }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "url";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());+  exports["wfI"] = wfI;+})(PS["Model"] = PS["Model"] || {});+(function(exports) {+  /* global window */+  "use strict";++  exports.window = function () {+    return window;+  };+})(PS["Web.HTML"] = PS["Web.HTML"] || {});+(function(exports) {+    "use strict";++  exports._body = function (doc) {+    return function () {+      return doc.body;+    };+  };+})(PS["Web.HTML.HTMLDocument"] = PS["Web.HTML.HTMLDocument"] || {});+(function(exports) {+    "use strict";++  exports.removeAttribute = function (name) {+    return function (element) {+      return function () {+        element.removeAttribute(name);+        return {};+      };+    };+  };+})(PS["Web.DOM.Element"] = PS["Web.DOM.Element"] || {});+(function(exports) {+    "use strict";                                             ++  exports._querySelector = function (selector) {+    return function (node) {+      return function () {+        return node.querySelector(selector);+      };+    };+  };++  exports.querySelectorAll = function (selector) {+    return function (node) {+      return function () {+        return node.querySelectorAll(selector);+      };+    };+  };+})(PS["Web.DOM.ParentNode"] = PS["Web.DOM.ParentNode"] || {});+(function(exports) {+    "use strict";++  exports.toArray = function (list) {+    return function () {+      return [].slice.call(list);+    };+  };+})(PS["Web.DOM.NodeList"] = PS["Web.DOM.NodeList"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.NodeList"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  exports["toArray"] = $foreign.toArray;+})(PS["Web.DOM.NodeList"] = PS["Web.DOM.NodeList"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.ParentNode"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Ord = PS["Data.Ord"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_DOM_HTMLCollection = PS["Web.DOM.HTMLCollection"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NodeList = PS["Web.DOM.NodeList"];+  var querySelector = function (qs) {+      return function ($3) {+          return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._querySelector(qs)($3));+      };+  };+  exports["querySelector"] = querySelector;+  exports["querySelectorAll"] = $foreign.querySelectorAll;+})(PS["Web.DOM.ParentNode"] = PS["Web.DOM.ParentNode"] || {});+(function(exports) {+    "use strict";++  exports.eventListener = function (fn) {+    return function () {+      return function (event) {+        return fn(event)();+      };+    };+  };+})(PS["Web.Event.EventTarget"] = PS["Web.Event.EventTarget"] || {});+(function(exports) {+    "use strict";++  exports._currentTarget = function (e) {+    return e.currentTarget;+  };++  exports.preventDefault = function (e) {+    return function () {+      return e.preventDefault();+    };+  };+})(PS["Web.Event.Event"] = PS["Web.Event.Event"] || {});+(function(exports) {+    "use strict";++  exports.toCharCode = function (c) {+    return c.charCodeAt(0);+  };++  exports.fromCharCode = function (c) {+    return String.fromCharCode(c);+  };+})(PS["Data.Enum"] = PS["Data.Enum"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Enum"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Data_Unit = PS["Data.Unit"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Enum = function (Ord0, pred, succ) {+      this.Ord0 = Ord0;+      this.pred = pred;+      this.succ = succ;+  };+  var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {+      this.Bounded0 = Bounded0;+      this.Enum1 = Enum1;+      this.cardinality = cardinality;+      this.fromEnum = fromEnum;+      this.toEnum = toEnum;+  };+  var toEnum = function (dict) {+      return dict.toEnum;+  };+  var succ = function (dict) {+      return dict.succ;+  }; +  var pred = function (dict) {+      return dict.pred;+  };              +  var fromEnum = function (dict) {+      return dict.fromEnum;+  };+  var toEnumWithDefaults = function (dictBoundedEnum) {+      return function (low) {+          return function (high) {+              return function (x) {+                  var v = toEnum(dictBoundedEnum)(x);+                  if (v instanceof Data_Maybe.Just) {+                      return v.value0;+                  };+                  if (v instanceof Data_Maybe.Nothing) {+                      var $51 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));+                      if ($51) {+                          return low;+                      };+                      return high;+                  };+                  throw new Error("Failed pattern match at Data.Enum line 158, column 33 - line 160, column 62: " + [ v.constructor.name ]);+              };+          };+      };+  };+  var defaultSucc = function (toEnum$prime) {+      return function (fromEnum$prime) {+          return function (a) {+              return toEnum$prime(fromEnum$prime(a) + 1 | 0);+          };+      };+  };+  var defaultPred = function (toEnum$prime) {+      return function (fromEnum$prime) {+          return function (a) {+              return toEnum$prime(fromEnum$prime(a) - 1 | 0);+          };+      };+  };+  var charToEnum = function (v) {+      if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {+          return new Data_Maybe.Just($foreign.fromCharCode(v));+      };+      return Data_Maybe.Nothing.value;+  };+  var enumChar = new Enum(function () {+      return Data_Ord.ordChar;+  }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));+  var cardinality = function (dict) {+      return dict.cardinality;+  }; +  var boundedEnumChar = new BoundedEnum(function () {+      return Data_Bounded.boundedChar;+  }, function () {+      return enumChar;+  }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);+  exports["Enum"] = Enum;+  exports["succ"] = succ;+  exports["pred"] = pred;+  exports["BoundedEnum"] = BoundedEnum;+  exports["cardinality"] = cardinality;+  exports["toEnum"] = toEnum;+  exports["fromEnum"] = fromEnum;+  exports["toEnumWithDefaults"] = toEnumWithDefaults;+  exports["defaultSucc"] = defaultSucc;+  exports["defaultPred"] = defaultPred;+  exports["enumChar"] = enumChar;+  exports["boundedEnumChar"] = boundedEnumChar;+})(PS["Data.Enum"] = PS["Data.Enum"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.Event.Event"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_DateTime_Instant = PS["Data.DateTime.Instant"];+  var Data_Enum = PS["Data.Enum"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Ord = PS["Data.Ord"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_Event_EventPhase = PS["Web.Event.EventPhase"];+  var Web_Event_Internal_Types = PS["Web.Event.Internal.Types"];+  var currentTarget = function ($6) {+      return Data_Nullable.toMaybe($foreign._currentTarget($6));+  };+  exports["currentTarget"] = currentTarget;+  exports["preventDefault"] = $foreign.preventDefault;+})(PS["Web.Event.Event"] = PS["Web.Event.Event"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.Event.EventTarget"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_Event_Internal_Types = PS["Web.Event.Internal.Types"];+  exports["eventListener"] = $foreign.eventListener;+})(PS["Web.Event.EventTarget"] = PS["Web.Event.EventTarget"] || {});+(function(exports) {+    "use strict";++  exports._unsafeReadProtoTagged = function (nothing, just, name, value) {+    var obj = value;+    while (obj != null) {+      var proto = Object.getPrototypeOf(obj);+      var ctor = proto.constructor.name;+      if (ctor === name) {+        return just(value);+      } else if (ctor === "Object") {+        return nothing;+      }+      obj = proto;+    }+    return nothing;+  };+})(PS["Web.Internal.FFI"] = PS["Web.Internal.FFI"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.Internal.FFI"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];                 +  var unsafeReadProtoTagged = function (name) {+      return function (value) {+          return $foreign._unsafeReadProtoTagged(Data_Maybe.Nothing.value, Data_Maybe.Just.create, name, value);+      };+  };+  exports["unsafeReadProtoTagged"] = unsafeReadProtoTagged;+})(PS["Web.Internal.FFI"] = PS["Web.Internal.FFI"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.Element"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_ChildNode = PS["Web.DOM.ChildNode"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NonDocumentTypeChildNode = PS["Web.DOM.NonDocumentTypeChildNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_Internal_FFI = PS["Web.Internal.FFI"];                 +  var toParentNode = Unsafe_Coerce.unsafeCoerce;              +  var toNode = Unsafe_Coerce.unsafeCoerce;                                             +  var fromNode = Web_Internal_FFI.unsafeReadProtoTagged("Element");+  exports["fromNode"] = fromNode;+  exports["toNode"] = toNode;+  exports["toParentNode"] = toParentNode;+  exports["removeAttribute"] = $foreign.removeAttribute;+})(PS["Web.DOM.Element"] = PS["Web.DOM.Element"] || {});+(function(exports) {+    "use strict";++  exports._getElementById = function (id) {+    return function (node) {+      return function () {+        return node.getElementById(id);+      };+    };+  };+})(PS["Web.DOM.NonElementParentNode"] = PS["Web.DOM.NonElementParentNode"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.NonElementParentNode"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Element = PS["Web.DOM.Element"];                 +  var getElementById = function (eid) {+      return function ($0) {+          return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._getElementById(eid)($0));+      };+  };+  exports["getElementById"] = getElementById;+})(PS["Web.DOM.NonElementParentNode"] = PS["Web.DOM.NonElementParentNode"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.Document"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Comment = PS["Web.DOM.Comment"];+  var Web_DOM_DocumentFragment = PS["Web.DOM.DocumentFragment"];+  var Web_DOM_DocumentType = PS["Web.DOM.DocumentType"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_HTMLCollection = PS["Web.DOM.HTMLCollection"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_DOM_ProcessingInstruction = PS["Web.DOM.ProcessingInstruction"];+  var Web_DOM_Text = PS["Web.DOM.Text"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_Internal_FFI = PS["Web.Internal.FFI"];+  var toNonElementParentNode = Unsafe_Coerce.unsafeCoerce;+  exports["toNonElementParentNode"] = toNonElementParentNode;+})(PS["Web.DOM.Document"] = PS["Web.DOM.Document"] || {});+(function(exports) {+    "use strict";++  exports._read = function (nothing, just, value) {+    var tag = Object.prototype.toString.call(value);+    if (tag.indexOf("[object HTML") === 0 && tag.indexOf("Element]") === tag.length - 8) {+      return just(value);+    } else {+      return nothing;+    }+  };+})(PS["Web.HTML.HTMLElement"] = PS["Web.HTML.HTMLElement"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML.HTMLElement"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM = PS["Web.DOM"];+  var Web_DOM_DOMTokenList = PS["Web.DOM.DOMTokenList"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NonDocumentTypeChildNode = PS["Web.DOM.NonDocumentTypeChildNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];    +  var toNode = Unsafe_Coerce.unsafeCoerce;       +  var toElement = Unsafe_Coerce.unsafeCoerce;+  var fromElement = function (x) {+      return $foreign._read(Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);+  };+  exports["fromElement"] = fromElement;+  exports["toElement"] = toElement;+  exports["toNode"] = toNode;+})(PS["Web.HTML.HTMLElement"] = PS["Web.HTML.HTMLElement"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML.HTMLDocument"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_HTML_HTMLDocument_ReadyState = PS["Web.HTML.HTMLDocument.ReadyState"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_Internal_FFI = PS["Web.Internal.FFI"];                 +  var toParentNode = Unsafe_Coerce.unsafeCoerce; +  var toDocument = Unsafe_Coerce.unsafeCoerce;                              +  var body = function ($2) {+      return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._body($2));+  };+  exports["toDocument"] = toDocument;+  exports["toParentNode"] = toParentNode;+  exports["body"] = body;+})(PS["Web.HTML.HTMLDocument"] = PS["Web.HTML.HTMLDocument"] || {});+(function(exports) {+    "use strict";++  // ----------------------------------------------------------------------------++  exports.href = function (location) {+    return function () {+      return location.href;+    };+  };++  exports.setHref = function (href) {+    return function (location) {+      return function () {+        location.href = href;+      };+    };+  };++  // ----------------------------------------------------------------------------++  exports.search = function (location) {+    return function () {+      return location.search;+    };+  };++  // ----------------------------------------------------------------------------++  exports.reload = function (location) {+    return function () {+      location.reload();+    };+  };+})(PS["Web.HTML.Location"] = PS["Web.HTML.Location"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML.Location"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  exports["setHref"] = $foreign.setHref;+  exports["search"] = $foreign.search;+  exports["reload"] = $foreign.reload;+})(PS["Web.HTML.Location"] = PS["Web.HTML.Location"] || {});+(function(exports) {+    "use strict";++  exports.document = function (window) {+    return function () {+      return window.document;+    };+  };++  exports.location = function (window) {+    return function () {+      return window.location;+    };+  };+})(PS["Web.HTML.Window"] = PS["Web.HTML.Window"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML.Window"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Ord = PS["Data.Ord"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_History = PS["Web.HTML.History"];+  var Web_HTML_Location = PS["Web.HTML.Location"];+  var Web_HTML_Navigator = PS["Web.HTML.Navigator"];+  var Web_Storage_Storage = PS["Web.Storage.Storage"];+  exports["document"] = $foreign.document;+  exports["location"] = $foreign.location;+})(PS["Web.HTML.Window"] = PS["Web.HTML.Window"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML"];+  var Effect = PS["Effect"];+  var Web_HTML_HTMLAnchorElement = PS["Web.HTML.HTMLAnchorElement"];+  var Web_HTML_HTMLAreaElement = PS["Web.HTML.HTMLAreaElement"];+  var Web_HTML_HTMLAudioElement = PS["Web.HTML.HTMLAudioElement"];+  var Web_HTML_HTMLBRElement = PS["Web.HTML.HTMLBRElement"];+  var Web_HTML_HTMLBaseElement = PS["Web.HTML.HTMLBaseElement"];+  var Web_HTML_HTMLBodyElement = PS["Web.HTML.HTMLBodyElement"];+  var Web_HTML_HTMLButtonElement = PS["Web.HTML.HTMLButtonElement"];+  var Web_HTML_HTMLCanvasElement = PS["Web.HTML.HTMLCanvasElement"];+  var Web_HTML_HTMLDListElement = PS["Web.HTML.HTMLDListElement"];+  var Web_HTML_HTMLDataElement = PS["Web.HTML.HTMLDataElement"];+  var Web_HTML_HTMLDataListElement = PS["Web.HTML.HTMLDataListElement"];+  var Web_HTML_HTMLDivElement = PS["Web.HTML.HTMLDivElement"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_HTML_HTMLEmbedElement = PS["Web.HTML.HTMLEmbedElement"];+  var Web_HTML_HTMLFieldSetElement = PS["Web.HTML.HTMLFieldSetElement"];+  var Web_HTML_HTMLFormElement = PS["Web.HTML.HTMLFormElement"];+  var Web_HTML_HTMLHRElement = PS["Web.HTML.HTMLHRElement"];+  var Web_HTML_HTMLHeadElement = PS["Web.HTML.HTMLHeadElement"];+  var Web_HTML_HTMLHeadingElement = PS["Web.HTML.HTMLHeadingElement"];+  var Web_HTML_HTMLIFrameElement = PS["Web.HTML.HTMLIFrameElement"];+  var Web_HTML_HTMLImageElement = PS["Web.HTML.HTMLImageElement"];+  var Web_HTML_HTMLInputElement = PS["Web.HTML.HTMLInputElement"];+  var Web_HTML_HTMLKeygenElement = PS["Web.HTML.HTMLKeygenElement"];+  var Web_HTML_HTMLLIElement = PS["Web.HTML.HTMLLIElement"];+  var Web_HTML_HTMLLabelElement = PS["Web.HTML.HTMLLabelElement"];+  var Web_HTML_HTMLLegendElement = PS["Web.HTML.HTMLLegendElement"];+  var Web_HTML_HTMLLinkElement = PS["Web.HTML.HTMLLinkElement"];+  var Web_HTML_HTMLMapElement = PS["Web.HTML.HTMLMapElement"];+  var Web_HTML_HTMLMediaElement = PS["Web.HTML.HTMLMediaElement"];+  var Web_HTML_HTMLMetaElement = PS["Web.HTML.HTMLMetaElement"];+  var Web_HTML_HTMLMeterElement = PS["Web.HTML.HTMLMeterElement"];+  var Web_HTML_HTMLModElement = PS["Web.HTML.HTMLModElement"];+  var Web_HTML_HTMLOListElement = PS["Web.HTML.HTMLOListElement"];+  var Web_HTML_HTMLObjectElement = PS["Web.HTML.HTMLObjectElement"];+  var Web_HTML_HTMLOptGroupElement = PS["Web.HTML.HTMLOptGroupElement"];+  var Web_HTML_HTMLOptionElement = PS["Web.HTML.HTMLOptionElement"];+  var Web_HTML_HTMLOutputElement = PS["Web.HTML.HTMLOutputElement"];+  var Web_HTML_HTMLParagraphElement = PS["Web.HTML.HTMLParagraphElement"];+  var Web_HTML_HTMLParamElement = PS["Web.HTML.HTMLParamElement"];+  var Web_HTML_HTMLPreElement = PS["Web.HTML.HTMLPreElement"];+  var Web_HTML_HTMLProgressElement = PS["Web.HTML.HTMLProgressElement"];+  var Web_HTML_HTMLQuoteElement = PS["Web.HTML.HTMLQuoteElement"];+  var Web_HTML_HTMLScriptElement = PS["Web.HTML.HTMLScriptElement"];+  var Web_HTML_HTMLSelectElement = PS["Web.HTML.HTMLSelectElement"];+  var Web_HTML_HTMLSourceElement = PS["Web.HTML.HTMLSourceElement"];+  var Web_HTML_HTMLSpanElement = PS["Web.HTML.HTMLSpanElement"];+  var Web_HTML_HTMLStyleElement = PS["Web.HTML.HTMLStyleElement"];+  var Web_HTML_HTMLTableCaptionElement = PS["Web.HTML.HTMLTableCaptionElement"];+  var Web_HTML_HTMLTableCellElement = PS["Web.HTML.HTMLTableCellElement"];+  var Web_HTML_HTMLTableColElement = PS["Web.HTML.HTMLTableColElement"];+  var Web_HTML_HTMLTableDataCellElement = PS["Web.HTML.HTMLTableDataCellElement"];+  var Web_HTML_HTMLTableElement = PS["Web.HTML.HTMLTableElement"];+  var Web_HTML_HTMLTableHeaderCellElement = PS["Web.HTML.HTMLTableHeaderCellElement"];+  var Web_HTML_HTMLTableRowElement = PS["Web.HTML.HTMLTableRowElement"];+  var Web_HTML_HTMLTableSectionElement = PS["Web.HTML.HTMLTableSectionElement"];+  var Web_HTML_HTMLTemplateElement = PS["Web.HTML.HTMLTemplateElement"];+  var Web_HTML_HTMLTextAreaElement = PS["Web.HTML.HTMLTextAreaElement"];+  var Web_HTML_HTMLTimeElement = PS["Web.HTML.HTMLTimeElement"];+  var Web_HTML_HTMLTitleElement = PS["Web.HTML.HTMLTitleElement"];+  var Web_HTML_HTMLTrackElement = PS["Web.HTML.HTMLTrackElement"];+  var Web_HTML_HTMLUListElement = PS["Web.HTML.HTMLUListElement"];+  var Web_HTML_HTMLVideoElement = PS["Web.HTML.HTMLVideoElement"];+  var Web_HTML_History = PS["Web.HTML.History"];+  var Web_HTML_Location = PS["Web.HTML.Location"];+  var Web_HTML_Navigator = PS["Web.HTML.Navigator"];+  var Web_HTML_Window = PS["Web.HTML.Window"];+  exports["window"] = $foreign.window;+})(PS["Web.HTML"] = PS["Web.HTML"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Globals"];+  var Control_Applicative = PS["Control.Applicative"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect = PS["Effect"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];+  var Web_DOM = PS["Web.DOM"];+  var Web_HTML = PS["Web.HTML"];+  var Web_XHR_FormData = PS["Web.XHR.FormData"];                 +  var setInnerHtml = function (c) {+      return function (n) {+          return Control_Applicative.pure(Effect.applicativeEffect)($foreign._setInnerHtml(c, n));+      };+  };+  var setDataAttribute = function (k) {+      return function (v) {+          return function (n) {+              return Control_Applicative.pure(Effect.applicativeEffect)($foreign._setDataAttribute(k, v, n));+          };+      };+  };+  var moment8601 = function (s) {+      return Control_Applicative.pure(Effect.applicativeEffect)($foreign._moment8601(Data_Tuple.Tuple.create, s));+  };+  var mmoment8601 = function (s) {+      return $foreign._mmoment8601(Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);+  };+  var innerHtml = function (n) {+      return Control_Applicative.pure(Effect.applicativeEffect)($foreign._innerHtml(n));+  };+  var getDataAttribute = function (k) {+      return function (n) {+          return Control_Applicative.pure(Effect.applicativeEffect)(Data_Nullable.toMaybe($foreign._getDataAttribute(k, n)));+      };+  };+  var createFormString = function (f) {+      return $foreign._createFormString(f);+  };+  var createFormData = function (f) {+      return $foreign._createFormData(f);+  };+  var createFormArray = function (f) {+      return $foreign._createFormArray(f);+  };+  var closest = function (selector) {+      return function (node) {+          return Control_Applicative.pure(Effect.applicativeEffect)($foreign._closest(Data_Maybe.Just.create, Data_Maybe.Nothing.value, selector, node));+      };+  };+  var closeWindow = function (win) {+      return Control_Applicative.pure(Effect.applicativeEffect)($foreign._closeWindow(win));+  };+  var app$prime = function (v) {+      return $foreign._app();+  };+  exports["app'"] = app$prime;+  exports["closest"] = closest;+  exports["moment8601"] = moment8601;+  exports["mmoment8601"] = mmoment8601;+  exports["innerHtml"] = innerHtml;+  exports["setInnerHtml"] = setInnerHtml;+  exports["createFormData"] = createFormData;+  exports["createFormString"] = createFormString;+  exports["createFormArray"] = createFormArray;+  exports["getDataAttribute"] = getDataAttribute;+  exports["setDataAttribute"] = setDataAttribute;+  exports["closeWindow"] = closeWindow;+  exports["_app"] = $foreign._app;+  exports["_closest"] = $foreign._closest;+  exports["_moment8601"] = $foreign._moment8601;+  exports["_mmoment8601"] = $foreign._mmoment8601;+  exports["_innerHtml"] = $foreign._innerHtml;+  exports["_setInnerHtml"] = $foreign._setInnerHtml;+  exports["_createFormData"] = $foreign._createFormData;+  exports["_createFormString"] = $foreign._createFormString;+  exports["_createFormArray"] = $foreign._createFormArray;+  exports["_getDataAttribute"] = $foreign._getDataAttribute;+  exports["_setDataAttribute"] = $foreign._setDataAttribute;+  exports["_closeWindow"] = $foreign._closeWindow;+})(PS["Globals"] = PS["Globals"] || {});+(function(exports) {+  /* global exports */+  /* global XMLHttpRequest */+  /* global module */+  /* global process */+  "use strict";++  exports._ajax = function () {+    var platformSpecific = { };+    if (typeof module !== "undefined" && module.require && !(typeof process !== "undefined" && process.versions["electron"])) {+      // We are on node.js+      platformSpecific.newXHR = function () {+        var XHR = module.require("xhr2");+        return new XHR();+      };++      platformSpecific.fixupUrl = function (url) {+        var urllib = module.require("url");+        var u = urllib.parse(url);+        u.protocol = u.protocol || "http:";+        u.hostname = u.hostname || "localhost";+        return urllib.format(u);+      };++      platformSpecific.getResponse = function (xhr) {+        return xhr.response;+      };+    } else {+      // We are in the browser+      platformSpecific.newXHR = function () {+        return new XMLHttpRequest();+      };++      platformSpecific.fixupUrl = function (url) {+        return url || "/";+      };++      platformSpecific.getResponse = function (xhr) {+        return xhr.response;+      };+    }++    return function (mkHeader, options) {+      return function (errback, callback) {+        var xhr = platformSpecific.newXHR();+        var fixedUrl = platformSpecific.fixupUrl(options.url);+        xhr.open(options.method || "GET", fixedUrl, true, options.username, options.password);+        if (options.headers) {+          try {+            for (var i = 0, header; (header = options.headers[i]) != null; i++) {+              xhr.setRequestHeader(header.field, header.value);+            }+          } catch (e) {+            errback(e);+          }+        }+        xhr.onerror = function () {+          errback(new Error("AJAX request failed: " + options.method + " " + options.url));+        };+        xhr.onload = function () {+          callback({+            status: xhr.status,+            statusText: xhr.statusText,+            headers: xhr.getAllResponseHeaders().split("\r\n")+              .filter(function (header) {+                return header.length > 0;+              })+              .map(function (header) {+                var i = header.indexOf(":");+                return mkHeader(header.substring(0, i))(header.substring(i + 2));+              }),+            response: platformSpecific.getResponse(xhr)+          });+        };+        xhr.responseType = options.responseType;+        xhr.withCredentials = options.withCredentials;+        xhr.send(options.content);++        return function (error, cancelErrback, cancelCallback) {+          try {+            xhr.abort();+          } catch (e) {+            return cancelErrback(e);+          }+          return cancelCallback();+        };+      };+    };+  }();+})(PS["Network.HTTP.Affjax"] = PS["Network.HTTP.Affjax"] || {});+(function(exports) {+    "use strict";++  function id(x) {+    return x;+  }                      +  exports.fromObject = id;++  exports.stringify = function (j) {+    return JSON.stringify(j);+  };                        ++  function isArray(a) {+    return objToString.call(a) === "[object Array]";+  }+})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Argonaut.Core"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Foreign_Object = PS["Foreign.Object"];+  var Prelude = PS["Prelude"];                  +  var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);+  exports["jsonEmptyObject"] = jsonEmptyObject;+  exports["stringify"] = $foreign.stringify;+})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {});+(function(exports) {+    "use strict";++  exports._jsonParser = function (fail, succ, s) {+    try {+      return succ(JSON.parse(s));+    }+    catch (e) {+      return fail(e.message);+    }+  };+})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Argonaut.Parser"];+  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];+  var Data_Either = PS["Data.Either"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];                 +  var jsonParser = function (j) {+      return $foreign._jsonParser(Data_Either.Left.create, Data_Either.Right.create, j);+  };+  exports["jsonParser"] = jsonParser;+})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Prelude = PS["Prelude"];+  var fromEffectFnAff = function (v) {+      return Effect_Aff.makeAff(function (k) {+          return function __do() {+              var v1 = v(function ($4) {+                  return k(Data_Either.Left.create($4))();+              }, function ($5) {+                  return k(Data_Either.Right.create($5))();+              });+              return function (e) {+                  return Effect_Aff.makeAff(function (k2) {+                      return function __do() {+                          v1(e, function ($6) {+                              return k2(Data_Either.Left.create($6))();+                          }, function ($7) {+                              return k2(Data_Either.Right.create($7))();+                          });+                          return Effect_Aff.nonCanceler;+                      };+                  });+              };+          };+      });+  };+  exports["fromEffectFnAff"] = fromEffectFnAff;+})(PS["Effect.Aff.Compat"] = PS["Effect.Aff.Compat"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];+  var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"];+  var Data_FormURLEncoded = PS["Data.FormURLEncoded"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_MediaType_Common = PS["Data.MediaType.Common"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_File_Blob = PS["Web.File.Blob"];+  var Web_XHR_FormData = PS["Web.XHR.FormData"];                 +  var ArrayView = (function () {+      function ArrayView(value0) {+          this.value0 = value0;+      };+      ArrayView.create = function (value0) {+          return new ArrayView(value0);+      };+      return ArrayView;+  })();+  var Blob = (function () {+      function Blob(value0) {+          this.value0 = value0;+      };+      Blob.create = function (value0) {+          return new Blob(value0);+      };+      return Blob;+  })();+  var Document = (function () {+      function Document(value0) {+          this.value0 = value0;+      };+      Document.create = function (value0) {+          return new Document(value0);+      };+      return Document;+  })();+  var $$String = (function () {+      function $$String(value0) {+          this.value0 = value0;+      };+      $$String.create = function (value0) {+          return new $$String(value0);+      };+      return $$String;+  })();+  var FormData = (function () {+      function FormData(value0) {+          this.value0 = value0;+      };+      FormData.create = function (value0) {+          return new FormData(value0);+      };+      return FormData;+  })();+  var FormURLEncoded = (function () {+      function FormURLEncoded(value0) {+          this.value0 = value0;+      };+      FormURLEncoded.create = function (value0) {+          return new FormURLEncoded(value0);+      };+      return FormURLEncoded;+  })();+  var Json = (function () {+      function Json(value0) {+          this.value0 = value0;+      };+      Json.create = function (value0) {+          return new Json(value0);+      };+      return Json;+  })();+  var toMediaType = function (v) {+      if (v instanceof FormURLEncoded) {+          return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);+      };+      if (v instanceof Json) {+          return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);+      };+      return Data_Maybe.Nothing.value;+  };+  var string = $$String.create;+  exports["ArrayView"] = ArrayView;+  exports["Blob"] = Blob;+  exports["Document"] = Document;+  exports["String"] = $$String;+  exports["FormData"] = FormData;+  exports["FormURLEncoded"] = FormURLEncoded;+  exports["Json"] = Json;+  exports["string"] = string;+  exports["toMediaType"] = toMediaType;+})(PS["Network.HTTP.Affjax.Request"] = PS["Network.HTTP.Affjax.Request"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];+  var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_MediaType_Common = PS["Data.MediaType.Common"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_File_Blob = PS["Web.File.Blob"];                 +  var $$ArrayBuffer = (function () {+      function $$ArrayBuffer(value0) {+          this.value0 = value0;+      };+      $$ArrayBuffer.create = function (value0) {+          return new $$ArrayBuffer(value0);+      };+      return $$ArrayBuffer;+  })();+  var Blob = (function () {+      function Blob(value0) {+          this.value0 = value0;+      };+      Blob.create = function (value0) {+          return new Blob(value0);+      };+      return Blob;+  })();+  var Document = (function () {+      function Document(value0) {+          this.value0 = value0;+      };+      Document.create = function (value0) {+          return new Document(value0);+      };+      return Document;+  })();+  var Json = (function () {+      function Json(value0) {+          this.value0 = value0;+      };+      Json.create = function (value0) {+          return new Json(value0);+      };+      return Json;+  })();+  var $$String = (function () {+      function $$String(value0) {+          this.value0 = value0;+      };+      $$String.create = function (value0) {+          return new $$String(value0);+      };+      return $$String;+  })();+  var Ignore = (function () {+      function Ignore(value0) {+          this.value0 = value0;+      };+      Ignore.create = function (value0) {+          return new Ignore(value0);+      };+      return Ignore;+  })();+  var toResponseType = function (v) {+      if (v instanceof $$ArrayBuffer) {+          return "arraybuffer";+      };+      if (v instanceof Blob) {+          return "blob";+      };+      if (v instanceof Document) {+          return "document";+      };+      if (v instanceof Json) {+          return "text";+      };+      if (v instanceof $$String) {+          return "text";+      };+      if (v instanceof Ignore) {+          return "";+      };+      throw new Error("Failed pattern match at Network.HTTP.Affjax.Response line 41, column 3 - line 49, column 1: " + [ v.constructor.name ]);+  };+  var toMediaType = function (v) {+      if (v instanceof Json) {+          return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);+      };+      return Data_Maybe.Nothing.value;+  };                                                                          +  var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));+  exports["ArrayBuffer"] = $$ArrayBuffer;+  exports["Blob"] = Blob;+  exports["Document"] = Document;+  exports["Json"] = Json;+  exports["String"] = $$String;+  exports["Ignore"] = Ignore;+  exports["ignore"] = ignore;+  exports["toResponseType"] = toResponseType;+  exports["toMediaType"] = toMediaType;+})(PS["Network.HTTP.Affjax.Response"] = PS["Network.HTTP.Affjax.Response"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var Accept = (function () {+      function Accept(value0) {+          this.value0 = value0;+      };+      Accept.create = function (value0) {+          return new Accept(value0);+      };+      return Accept;+  })();+  var ContentType = (function () {+      function ContentType(value0) {+          this.value0 = value0;+      };+      ContentType.create = function (value0) {+          return new ContentType(value0);+      };+      return ContentType;+  })();+  var RequestHeader = (function () {+      function RequestHeader(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      RequestHeader.create = function (value0) {+          return function (value1) {+              return new RequestHeader(value0, value1);+          };+      };+      return RequestHeader;+  })();+  var requestHeaderValue = function (v) {+      if (v instanceof Accept) {+          return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);+      };+      if (v instanceof ContentType) {+          return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);+      };+      if (v instanceof RequestHeader) {+          return v.value1;+      };+      throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 29, column 1 - line 29, column 46: " + [ v.constructor.name ]);+  };+  var requestHeaderName = function (v) {+      if (v instanceof Accept) {+          return "Accept";+      };+      if (v instanceof ContentType) {+          return "Content-Type";+      };+      if (v instanceof RequestHeader) {+          return v.value0;+      };+      throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 24, column 1 - line 24, column 45: " + [ v.constructor.name ]);+  };+  exports["Accept"] = Accept;+  exports["ContentType"] = ContentType;+  exports["RequestHeader"] = RequestHeader;+  exports["requestHeaderName"] = requestHeaderName;+  exports["requestHeaderValue"] = requestHeaderValue;+})(PS["Network.HTTP.RequestHeader"] = PS["Network.HTTP.RequestHeader"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var ResponseHeader = (function () {+      function ResponseHeader(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      ResponseHeader.create = function (value0) {+          return function (value1) {+              return new ResponseHeader(value0, value1);+          };+      };+      return ResponseHeader;+  })();+  var responseHeader = function (field) {+      return function (value) {+          return new ResponseHeader(field, value);+      };+  };+  exports["responseHeader"] = responseHeader;+})(PS["Network.HTTP.ResponseHeader"] = PS["Network.HTTP.ResponseHeader"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Network.HTTP.Affjax"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];+  var Data_Argonaut_Parser = PS["Data.Argonaut.Parser"];+  var Data_Array = PS["Data.Array"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FormURLEncoded = PS["Data.FormURLEncoded"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HTTP_Method = PS["Data.HTTP.Method"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Int = PS["Data.Int"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Time_Duration = PS["Data.Time.Duration"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_Compat = PS["Effect.Aff.Compat"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Ref = PS["Effect.Ref"];+  var Foreign = PS["Foreign"];+  var $$Math = PS["Math"];+  var Network_HTTP_Affjax_Request = PS["Network.HTTP.Affjax.Request"];+  var Network_HTTP_Affjax_Response = PS["Network.HTTP.Affjax.Response"];+  var Network_HTTP_RequestHeader = PS["Network.HTTP.RequestHeader"];+  var Network_HTTP_ResponseHeader = PS["Network.HTTP.ResponseHeader"];+  var Network_HTTP_StatusCode = PS["Network.HTTP.StatusCode"];+  var Prelude = PS["Prelude"];+  var defaultRequest = {+      method: new Data_Either.Left(Data_HTTP_Method.GET.value),+      url: "/",+      headers: [  ],+      content: Data_Maybe.Nothing.value,+      username: Data_Maybe.Nothing.value,+      password: Data_Maybe.Nothing.value,+      withCredentials: false+  };+  var affjax = function (rt) {+      return function (req) {+          var parseJSON = function (v) {+              if (v === "") {+                  return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);+              };+              return Data_Either.either(function ($58) {+                  return Foreign.fail(Foreign.ForeignError.create($58));+              })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));+          };+          var fromResponse$prime = (function () {+              if (rt instanceof Network_HTTP_Affjax_Response["ArrayBuffer"]) {+                  return Foreign.unsafeReadTagged("ArrayBuffer");+              };+              if (rt instanceof Network_HTTP_Affjax_Response.Blob) {+                  return Foreign.unsafeReadTagged("Blob");+              };+              if (rt instanceof Network_HTTP_Affjax_Response.Document) {+                  return Foreign.unsafeReadTagged("Document");+              };+              if (rt instanceof Network_HTTP_Affjax_Response.Json) {+                  return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($59) {+                      return rt.value0(parseJSON($59));+                  })(Foreign.unsafeReadTagged("String"));+              };+              if (rt instanceof Network_HTTP_Affjax_Response["String"]) {+                  return Foreign.unsafeReadTagged("String");+              };+              if (rt instanceof Network_HTTP_Affjax_Response.Ignore) {+                  return Data_Function["const"](rt.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));+              };+              throw new Error("Failed pattern match at Network.HTTP.Affjax line 261, column 19 - line 267, column 51: " + [ rt.constructor.name ]);+          })();+          var extractContent = function (v) {+              if (v instanceof Network_HTTP_Affjax_Request.ArrayView) {+                  return v.value0(Foreign.unsafeToForeign);+              };+              if (v instanceof Network_HTTP_Affjax_Request.Blob) {+                  return Foreign.unsafeToForeign(v.value0);+              };+              if (v instanceof Network_HTTP_Affjax_Request.Document) {+                  return Foreign.unsafeToForeign(v.value0);+              };+              if (v instanceof Network_HTTP_Affjax_Request["String"]) {+                  return Foreign.unsafeToForeign(v.value0);+              };+              if (v instanceof Network_HTTP_Affjax_Request.FormData) {+                  return Foreign.unsafeToForeign(v.value0);+              };+              if (v instanceof Network_HTTP_Affjax_Request.FormURLEncoded) {+                  return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));+              };+              if (v instanceof Network_HTTP_Affjax_Request.Json) {+                  return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));+              };+              throw new Error("Failed pattern match at Network.HTTP.Affjax line 235, column 20 - line 242, column 53: " + [ v.constructor.name ]);+          };+          var addHeader = function (mh) {+              return function (hs) {+                  if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Network_HTTP_RequestHeader.requestHeaderName)(mh.value0))(hs)) {+                      return Data_Array.snoc(hs)(mh.value0);+                  };+                  return hs;+              };+          };+          var headers = function (reqContent) {+              return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Network_HTTP_Affjax_Request.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_RequestHeader.Accept.create)(Network_HTTP_Affjax_Response.toMediaType(rt)))(req.headers));+          };+          var req$prime = {+              method: Data_HTTP_Method.print(req.method),+              url: req.url,+              headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {+                  return {+                      field: Network_HTTP_RequestHeader.requestHeaderName(h),+                      value: Network_HTTP_RequestHeader.requestHeaderValue(h)+                  };+              })(headers(req.content)),+              content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),+              responseType: Network_HTTP_Affjax_Response.toResponseType(rt),+              username: Data_Nullable.toNullable(req.username),+              password: Data_Nullable.toNullable(req.password),+              withCredentials: req.withCredentials+          };+          return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign._ajax(Network_HTTP_ResponseHeader.responseHeader, req$prime)))(function (v) {+              var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.response));+              if (v1 instanceof Data_Either.Left) {+                  return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(Data_Foldable.intercalate(Data_List_Types.foldableNonEmptyList)(Data_Monoid.monoidString)("\x0a")(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Foreign.renderForeignError)(v1.value0))));+              };+              if (v1 instanceof Data_Either.Right) {+                  return Control_Applicative.pure(Effect_Aff.applicativeAff)({+                      response: v1.value0,+                      headers: v.headers,+                      status: v.status,+                      statusText: v.statusText+                  });+              };+              throw new Error("Failed pattern match at Network.HTTP.Affjax line 217, column 3 - line 219, column 49: " + [ v1.constructor.name ]);+          });+      };+  };+  exports["defaultRequest"] = defaultRequest;+  exports["affjax"] = affjax;+})(PS["Network.HTTP.Affjax"] = PS["Network.HTTP.Affjax"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Bind = PS["Control.Bind"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array = PS["Data.Array"];+  var Data_Either = PS["Data.Either"];+  var Data_FormURLEncoded = PS["Data.FormURLEncoded"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HTTP_Method = PS["Data.HTTP.Method"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType_Common = PS["Data.MediaType.Common"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Globals = PS["Globals"];+  var Model = PS["Model"];+  var Network_HTTP_Affjax = PS["Network.HTTP.Affjax"];+  var Network_HTTP_Affjax_Request = PS["Network.HTTP.Affjax.Request"];+  var Network_HTTP_Affjax_Response = PS["Network.HTTP.Affjax.Response"];+  var Network_HTTP_RequestHeader = PS["Network.HTTP.RequestHeader"];+  var Prelude = PS["Prelude"];+  var Simple_JSON = PS["Simple.JSON"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_Location = PS["Web.HTML.Location"];+  var Web_HTML_Window = PS["Web.HTML.Window"];                 +  var Star = (function () {+      function Star() {++      };+      Star.value = new Star();+      return Star;+  })();+  var UnStar = (function () {+      function UnStar() {++      };+      UnStar.value = new UnStar();+      return UnStar;+  })();+  var showStar = new Data_Show.Show(function (v) {+      if (v instanceof Star) {+          return "star";+      };+      if (v instanceof UnStar) {+          return "unstar";+      };+      throw new Error("Failed pattern match at App line 28, column 1 - line 28, column 37: " + [ v.constructor.name ]);+  });+  var fetchUrl = function (method) {+      return function (url) {+          return function (headers) {+              return function (content) {+                  return function (rt) {+                      var app = Globals["app'"](Data_Unit.unit);+                      return Network_HTTP_Affjax.affjax(rt)({+                          method: new Data_Either.Left(method),+                          url: url,+                          headers: Data_Array.cons(new Network_HTTP_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),+                          content: content,+                          username: Network_HTTP_Affjax.defaultRequest.username,+                          password: Network_HTTP_Affjax.defaultRequest.password,+                          withCredentials: Network_HTTP_Affjax.defaultRequest.withCredentials+                      });+                  };+              };+          };+      };+  };+  var logout = function (u) {+      var app = Globals["app'"](u);+      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([  ])(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore)))(function () {+          return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));+      });+  };+  var logoutE = function (e) {+      return Control_Bind.bindFlipped(Effect.bindEffect)(function ($4) {+          return Data_Functor["void"](Effect.functorEffect)(Effect_Aff.launchAff(logout($4)));+      })(Web_Event_Event.preventDefault(e));+  };+  var fetchPath = function (method) {+      return function (path) {+          return function (headers) {+              return function (content) {+                  return function (rt) {+                      return fetchUrl(method)((Globals["app'"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);+                  };+              };+          };+      };+  };+  var fetchUrlEnc = function (method) {+      return function (path) {+          return function (content) {+              return function (rt) {+                  return fetchPath(method)(path)([ new Network_HTTP_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_Affjax_Request.FormURLEncoded.create)(content))(rt);+              };+          };+      };+  };+  var markRead = function (bid) {+      var path = "bm/" + (Data_Show.show(Data_Show.showInt)(bid) + "/read");+      return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore);+  };+  var toggleStar = function (bid) {+      return function (action) {+          var path = "bm/" + (Data_Show.show(Data_Show.showInt)(bid) + ("/" + Data_Show.show(showStar)(action)));+          return Data_Functor["void"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore));+      };+  };+  var fetchJson = function (dictWriteForeign) {+      return function (method) {+          return function (path) {+              return function (content) {+                  return function (rt) {+                      return fetchPath(method)(path)([ new Network_HTTP_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($5) {+                          return Network_HTTP_Affjax_Request.string(Simple_JSON.writeJSON(dictWriteForeign)($5));+                      })(content))(rt);+                  };+              };+          };+      };+  };+  var editBookmark = function (bm) {+      return fetchJson(Model.wfI)(Data_HTTP_Method.POST.value)("api/add")(Data_Maybe.Just.create(bm))(Network_HTTP_Affjax_Response.ignore);+  };+  var destroy = function (bid) {+      return fetchUrlEnc(Data_HTTP_Method.DELETE.value)("bm/" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore);+  };+  exports["Star"] = Star;+  exports["UnStar"] = UnStar;+  exports["toggleStar"] = toggleStar;+  exports["destroy"] = destroy;+  exports["markRead"] = markRead;+  exports["editBookmark"] = editBookmark;+  exports["logoutE"] = logoutE;+  exports["logout"] = logout;+  exports["fetchJson"] = fetchJson;+  exports["fetchUrlEnc"] = fetchUrlEnc;+  exports["fetchPath"] = fetchPath;+  exports["fetchUrl"] = fetchUrl;+  exports["showStar"] = showStar;+})(PS["App"] = PS["App"] || {});+(function(exports) {+    "use strict";+  var ButtonButton = (function () {+      function ButtonButton() {++      };+      ButtonButton.value = new ButtonButton();+      return ButtonButton;+  })();+  var ButtonSubmit = (function () {+      function ButtonSubmit() {++      };+      ButtonSubmit.value = new ButtonSubmit();+      return ButtonSubmit;+  })();+  var ButtonReset = (function () {+      function ButtonReset() {++      };+      ButtonReset.value = new ButtonReset();+      return ButtonReset;+  })();+  var renderButtonType = function (v) {+      if (v instanceof ButtonButton) {+          return "button";+      };+      if (v instanceof ButtonSubmit) {+          return "submit";+      };+      if (v instanceof ButtonReset) {+          return "reset";+      };+      throw new Error("Failed pattern match at DOM.HTML.Indexed.ButtonType line 9, column 20 - line 12, column 18: " + [ v.constructor.name ]);+  };+  exports["ButtonButton"] = ButtonButton;+  exports["ButtonSubmit"] = ButtonSubmit;+  exports["ButtonReset"] = ButtonReset;+  exports["renderButtonType"] = renderButtonType;+})(PS["DOM.HTML.Indexed.ButtonType"] = PS["DOM.HTML.Indexed.ButtonType"] || {});+(function(exports) {+    "use strict";+  var InputButton = (function () {+      function InputButton() {++      };+      InputButton.value = new InputButton();+      return InputButton;+  })();+  var InputCheckbox = (function () {+      function InputCheckbox() {++      };+      InputCheckbox.value = new InputCheckbox();+      return InputCheckbox;+  })();+  var InputColor = (function () {+      function InputColor() {++      };+      InputColor.value = new InputColor();+      return InputColor;+  })();+  var InputDate = (function () {+      function InputDate() {++      };+      InputDate.value = new InputDate();+      return InputDate;+  })();+  var InputDatetimeLocal = (function () {+      function InputDatetimeLocal() {++      };+      InputDatetimeLocal.value = new InputDatetimeLocal();+      return InputDatetimeLocal;+  })();+  var InputEmail = (function () {+      function InputEmail() {++      };+      InputEmail.value = new InputEmail();+      return InputEmail;+  })();+  var InputFile = (function () {+      function InputFile() {++      };+      InputFile.value = new InputFile();+      return InputFile;+  })();+  var InputHidden = (function () {+      function InputHidden() {++      };+      InputHidden.value = new InputHidden();+      return InputHidden;+  })();+  var InputImage = (function () {+      function InputImage() {++      };+      InputImage.value = new InputImage();+      return InputImage;+  })();+  var InputMonth = (function () {+      function InputMonth() {++      };+      InputMonth.value = new InputMonth();+      return InputMonth;+  })();+  var InputNumber = (function () {+      function InputNumber() {++      };+      InputNumber.value = new InputNumber();+      return InputNumber;+  })();+  var InputPassword = (function () {+      function InputPassword() {++      };+      InputPassword.value = new InputPassword();+      return InputPassword;+  })();+  var InputRadio = (function () {+      function InputRadio() {++      };+      InputRadio.value = new InputRadio();+      return InputRadio;+  })();+  var InputRange = (function () {+      function InputRange() {++      };+      InputRange.value = new InputRange();+      return InputRange;+  })();+  var InputReset = (function () {+      function InputReset() {++      };+      InputReset.value = new InputReset();+      return InputReset;+  })();+  var InputSearch = (function () {+      function InputSearch() {++      };+      InputSearch.value = new InputSearch();+      return InputSearch;+  })();+  var InputSubmit = (function () {+      function InputSubmit() {++      };+      InputSubmit.value = new InputSubmit();+      return InputSubmit;+  })();+  var InputTel = (function () {+      function InputTel() {++      };+      InputTel.value = new InputTel();+      return InputTel;+  })();+  var InputText = (function () {+      function InputText() {++      };+      InputText.value = new InputText();+      return InputText;+  })();+  var InputTime = (function () {+      function InputTime() {++      };+      InputTime.value = new InputTime();+      return InputTime;+  })();+  var InputUrl = (function () {+      function InputUrl() {++      };+      InputUrl.value = new InputUrl();+      return InputUrl;+  })();+  var InputWeek = (function () {+      function InputWeek() {++      };+      InputWeek.value = new InputWeek();+      return InputWeek;+  })();+  var renderInputType = function (v) {+      if (v instanceof InputButton) {+          return "button";+      };+      if (v instanceof InputCheckbox) {+          return "checkbox";+      };+      if (v instanceof InputColor) {+          return "color";+      };+      if (v instanceof InputDate) {+          return "date";+      };+      if (v instanceof InputDatetimeLocal) {+          return "datetime-local";+      };+      if (v instanceof InputEmail) {+          return "email";+      };+      if (v instanceof InputFile) {+          return "file";+      };+      if (v instanceof InputHidden) {+          return "hidden";+      };+      if (v instanceof InputImage) {+          return "image";+      };+      if (v instanceof InputMonth) {+          return "month";+      };+      if (v instanceof InputNumber) {+          return "number";+      };+      if (v instanceof InputPassword) {+          return "password";+      };+      if (v instanceof InputRadio) {+          return "radio";+      };+      if (v instanceof InputRange) {+          return "range";+      };+      if (v instanceof InputReset) {+          return "reset";+      };+      if (v instanceof InputSearch) {+          return "search";+      };+      if (v instanceof InputSubmit) {+          return "submit";+      };+      if (v instanceof InputTel) {+          return "tel";+      };+      if (v instanceof InputText) {+          return "text";+      };+      if (v instanceof InputTime) {+          return "time";+      };+      if (v instanceof InputUrl) {+          return "url";+      };+      if (v instanceof InputWeek) {+          return "week";+      };+      throw new Error("Failed pattern match at DOM.HTML.Indexed.InputType line 28, column 19 - line 50, column 16: " + [ v.constructor.name ]);+  };+  exports["InputButton"] = InputButton;+  exports["InputCheckbox"] = InputCheckbox;+  exports["InputColor"] = InputColor;+  exports["InputDate"] = InputDate;+  exports["InputDatetimeLocal"] = InputDatetimeLocal;+  exports["InputEmail"] = InputEmail;+  exports["InputFile"] = InputFile;+  exports["InputHidden"] = InputHidden;+  exports["InputImage"] = InputImage;+  exports["InputMonth"] = InputMonth;+  exports["InputNumber"] = InputNumber;+  exports["InputPassword"] = InputPassword;+  exports["InputRadio"] = InputRadio;+  exports["InputRange"] = InputRange;+  exports["InputReset"] = InputReset;+  exports["InputSearch"] = InputSearch;+  exports["InputSubmit"] = InputSubmit;+  exports["InputTel"] = InputTel;+  exports["InputText"] = InputText;+  exports["InputTime"] = InputTime;+  exports["InputUrl"] = InputUrl;+  exports["InputWeek"] = InputWeek;+  exports["renderInputType"] = renderInputType;+})(PS["DOM.HTML.Indexed.InputType"] = PS["DOM.HTML.Indexed.InputType"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Monad_List_Trans = PS["Control.Monad.List.Trans"];+  var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"];+  var Control_Monad_RWS_Trans = PS["Control.Monad.RWS.Trans"];+  var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"];+  var Control_Monad_State_Trans = PS["Control.Monad.State.Trans"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Prelude = PS["Prelude"];                 +  var MonadAff = function (MonadEffect0, liftAff) {+      this.MonadEffect0 = MonadEffect0;+      this.liftAff = liftAff;+  };+  var monadAffAff = new MonadAff(function () {+      return Effect_Aff.monadEffectAff;+  }, Control_Category.identity(Control_Category.categoryFn));+  var liftAff = function (dict) {+      return dict.liftAff;+  };+  exports["liftAff"] = liftAff;+  exports["MonadAff"] = MonadAff;+  exports["monadAffAff"] = monadAffAff;+})(PS["Effect.Aff.Class"] = PS["Effect.Aff.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_Ord = PS["Data.Ord"];+  var Prelude = PS["Prelude"];                 +  var OrdBox = (function () {+      function OrdBox(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      OrdBox.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new OrdBox(value0, value1, value2);+              };+          };+      };+      return OrdBox;+  })();+  var unOrdBox = function (v) {+      return v.value2;+  };+  var mkOrdBox = function (dictOrd) {+      return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));+  };+  var eqOrdBox = new Data_Eq.Eq(function (v) {+      return function (v1) {+          return v.value0(v.value2)(v1.value2);+      };+  });+  var ordOrdBox = new Data_Ord.Ord(function () {+      return eqOrdBox;+  }, function (v) {+      return function (v1) {+          return v.value1(v.value2)(v1.value2);+      };+  });+  exports["mkOrdBox"] = mkOrdBox;+  exports["unOrdBox"] = unOrdBox;+  exports["eqOrdBox"] = eqOrdBox;+  exports["ordOrdBox"] = ordOrdBox;+})(PS["Halogen.Data.OrdBox"] = PS["Halogen.Data.OrdBox"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var On = (function () {+      function On() {++      };+      On.value = new On();+      return On;+  })();+  var Off = (function () {+      function Off() {++      };+      Off.value = new Off();+      return Off;+  })();+  var renderOnOff = function (v) {+      if (v instanceof On) {+          return "on";+      };+      if (v instanceof Off) {+          return "off";+      };+      throw new Error("Failed pattern match at DOM.HTML.Indexed.OnOff line 8, column 15 - line 10, column 10: " + [ v.constructor.name ]);+  };+  exports["On"] = On;+  exports["Off"] = Off;+  exports["renderOnOff"] = renderOnOff;+})(PS["DOM.HTML.Indexed.OnOff"] = PS["DOM.HTML.Indexed.OnOff"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Prelude = PS["Prelude"];+  var Web_DOM = PS["Web.DOM"];+  var RefUpdate = (function () {+      function RefUpdate(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      RefUpdate.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new RefUpdate(value0, value1, value2);+              };+          };+      };+      return RefUpdate;+  })();+  var Query = (function () {+      function Query(value0) {+          this.value0 = value0;+      };+      Query.create = function (value0) {+          return new Query(value0);+      };+      return Query;+  })();                             +  var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return function (v) {+              if (v instanceof RefUpdate) {+                  return new RefUpdate(v.value0, v.value1, f(v.value2));+              };+              if (v instanceof Query) {+                  return new Query(g(v.value0));+              };+              throw new Error("Failed pattern match at Halogen.Query.InputF line 21, column 15 - line 23, column 27: " + [ v.constructor.name ]);+          };+      };+  });+  var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF));+  exports["RefUpdate"] = RefUpdate;+  exports["Query"] = Query;+  exports["bifunctorInputF"] = bifunctorInputF;+  exports["functorInputF"] = functorInputF;+})(PS["Halogen.Query.InputF"] = PS["Halogen.Query.InputF"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Effect = PS["Effect"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Prelude = PS["Prelude"];                 +  var Step = (function () {+      function Step(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      Step.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new Step(value0, value1, value2);+              };+          };+      };+      return Step;+  })();+  var step = function (v) {+      return v.value1;+  };+  var halt = function (v) {+      return v.value2;+  };+  var extract = function (v) {+      return v.value0;+  };+  exports["Step"] = Step;+  exports["extract"] = extract;+  exports["step"] = step;+  exports["halt"] = halt;+})(PS["Halogen.VDom.Machine"] = PS["Halogen.VDom.Machine"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Tuple = PS["Data.Tuple"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var ElemSpec = (function () {+      function ElemSpec(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      ElemSpec.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new ElemSpec(value0, value1, value2);+              };+          };+      };+      return ElemSpec;+  })();+  var Text = (function () {+      function Text(value0) {+          this.value0 = value0;+      };+      Text.create = function (value0) {+          return new Text(value0);+      };+      return Text;+  })();+  var Elem = (function () {+      function Elem(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Elem.create = function (value0) {+          return function (value1) {+              return new Elem(value0, value1);+          };+      };+      return Elem;+  })();+  var Keyed = (function () {+      function Keyed(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Keyed.create = function (value0) {+          return function (value1) {+              return new Keyed(value0, value1);+          };+      };+      return Keyed;+  })();+  var Widget = (function () {+      function Widget(value0) {+          this.value0 = value0;+      };+      Widget.create = function (value0) {+          return new Widget(value0);+      };+      return Widget;+  })();+  var Grafted = (function () {+      function Grafted(value0) {+          this.value0 = value0;+      };+      Grafted.create = function (value0) {+          return new Grafted(value0);+      };+      return Grafted;+  })();+  var Graft = (function () {+      function Graft(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      Graft.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new Graft(value0, value1, value2);+              };+          };+      };+      return Graft;+  })();+  var unGraft = function (f) {+      return function ($90) {+          return f($90);+      };+  };           +  var graft = Unsafe_Coerce.unsafeCoerce;+  var functorElemSpec = new Data_Functor.Functor(function (f) {+      return function (m) {+          return new ElemSpec(m.value0, m.value1, f(m.value2));+      };+  });+  var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return unGraft(function (v) {+              return graft(new Graft(function ($92) {+                  return f(v.value0($92));+              }, function ($93) {+                  return g(v.value1($93));+              }, v.value2));+          });+      };+  });+  var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return function (v) {+              if (v instanceof Text) {+                  return new Text(v.value0);+              };+              if (v instanceof Grafted) {+                  return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0));+              };+              return new Grafted(graft(new Graft(f, g, v)));+          };+      };+  });+  var runGraft = unGraft(function (v) {+      var go = function (v2) {+          if (v2 instanceof Text) {+              return new Text(v2.value0);+          };+          if (v2 instanceof Elem) {+              return new Elem(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1));+          };+          if (v2 instanceof Keyed) {+              return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1));+          };+          if (v2 instanceof Widget) {+              return new Widget(v.value1(v2.value0));+          };+          if (v2 instanceof Grafted) {+              return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));+          };+          throw new Error("Failed pattern match at Halogen.VDom.Types line 74, column 7 - line 74, column 27: " + [ v2.constructor.name ]);+      };+      return go(v.value2);+  });+  exports["Text"] = Text;+  exports["Elem"] = Elem;+  exports["Keyed"] = Keyed;+  exports["Widget"] = Widget;+  exports["Grafted"] = Grafted;+  exports["Graft"] = Graft;+  exports["graft"] = graft;+  exports["unGraft"] = unGraft;+  exports["runGraft"] = runGraft;+  exports["ElemSpec"] = ElemSpec;+  exports["bifunctorVDom"] = bifunctorVDom;+  exports["bifunctorGraft"] = bifunctorGraft;+  exports["functorElemSpec"] = functorElemSpec;+})(PS["Halogen.VDom.Types"] = PS["Halogen.VDom.Types"] || {});+(function(exports) {+    "use strict";++  exports.unsafeGetAny = function (key, obj) {+    return obj[key];+  };++  exports.unsafeHasAny = function (key, obj) {+    return obj.hasOwnProperty(key);+  };++  exports.unsafeSetAny = function (key, val, obj) {+      obj[key] = val;+  };++  exports.forE = function (a, f) {+      var b = [];+      for (var i = 0; i < a.length; i++) {+        b.push(f(i, a[i]));+      }+      return b;+  };++  exports.forInE = function (o, f) {+    var ks = Object.keys(o);+    for (var i = 0; i < ks.length; i++) {+      var k = ks[i];+      f(k, o[k]);+    }+  };++  exports.diffWithIxE = function (a1, a2, f1, f2, f3) {+    var a3 = [];+    var l1 = a1.length;+    var l2 = a2.length;+    var i  = 0;+    while (1) {+      if (i < l1) {+        if (i < l2) {+          a3.push(f1(i, a1[i], a2[i]));+        } else {+          f2(i, a1[i]);+        }+      } else if (i < l2) {+        a3.push(f3(i, a2[i]));+      } else {+        break;+      }+      i++;+    }+    return a3;+  };++  exports.strMapWithIxE = function (as, fk, f) {+    var o = {};+    for (var i = 0; i < as.length; i++) {+      var a = as[i];+      var k = fk(a);+      o[k] = f(k, i, a);+    }+    return o;+  };++  exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {+    var o2 = {};+    for (var i = 0; i < as.length; i++) {+      var a = as[i];+      var k = fk(a);+      if (o1.hasOwnProperty(k)) {+        o2[k] = f1(k, i, o1[k], a);+      } else {+        o2[k] = f3(k, i, a);+      }+    }+    for (var k in o1) {+      if (k in o2) {+        continue;+      }+      f2(k, o1[k]);+    }+    return o2;+  };++  exports.refEq = function (a, b) {+    return a === b;+  };++  exports.createTextNode = function (s, doc) {+    return doc.createTextNode(s);+  };++  exports.setTextContent = function (s, n) {+    n.textContent = s;+  };++  exports.createElement = function (ns, name, doc) {+    if (ns != null) {+      return doc.createElementNS(ns, name);+    } else {+      return doc.createElement(name)+    }+  };++  exports.insertChildIx = function (i, a, b) {+    var n = b.childNodes.item(i) || null;+    if (n !== a) {+      b.insertBefore(a, n);+    }+  };++  exports.removeChild = function (a, b) {+    if (b && a.parentNode === b) {+      b.removeChild(a);+    }+  };++  exports.parentNode = function (a) {+    return a.parentNode;+  };++  exports.setAttribute = function (ns, attr, val, el) {+    if (ns != null) {+      el.setAttributeNS(ns, attr, val);+    } else {+      el.setAttribute(attr, val);+    }+  };++  exports.removeAttribute = function (ns, attr, el) {+    if (ns != null) {+      el.removeAttributeNS(ns, attr);+    } else {+      el.removeAttribute(attr);+    }+  };++  exports.addEventListener = function (ev, listener, el) {+    el.addEventListener(ev, listener, false);+  };++  exports.removeEventListener = function (ev, listener, el) {+    el.removeEventListener(ev, listener, false);+  };++  exports.jsUndefined = void 0;+})(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {});+(function(exports) {+    "use strict";++  var getEffProp = function (name) {+    return function (node) {+      return function () {+        return node[name];+      };+    };+  };                                                   ++  exports._parentNode = getEffProp("parentNode");          ++  exports._nextSibling = getEffProp("nextSibling");++  exports.insertBefore = function (node1) {+    return function (node2) {+      return function (parent) {+        return function () {+          return parent.insertBefore(node1, node2);+        };+      };+    };+  };++  exports.appendChild = function (node) {+    return function (parent) {+      return function () {+        return parent.appendChild(node);+      };+    };+  };++  exports.removeChild = function (node) {+    return function (parent) {+      return function () {+        return parent.removeChild(node);+      };+    };+  };+})(PS["Web.DOM.Node"] = PS["Web.DOM.Node"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.Node"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Enum = PS["Data.Enum"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NodeType = PS["Web.DOM.NodeType"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_Internal_FFI = PS["Web.Internal.FFI"];+  var parentNode = function ($2) {+      return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._parentNode($2));+  };+  var nextSibling = function ($6) {+      return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._nextSibling($6));+  };+  exports["parentNode"] = parentNode;+  exports["nextSibling"] = nextSibling;+  exports["insertBefore"] = $foreign.insertBefore;+  exports["appendChild"] = $foreign.appendChild;+  exports["removeChild"] = $foreign.removeChild;+})(PS["Web.DOM.Node"] = PS["Web.DOM.Node"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Halogen.VDom.Util"];+  var Control_Applicative = PS["Control.Applicative"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Foreign_Object = PS["Foreign.Object"];+  var Foreign_Object_ST = PS["Foreign.Object.ST"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Node = PS["Web.DOM.Node"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];                 +  var unsafeLookup = $foreign.unsafeGetAny;+  var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;+  var pokeMutMap = $foreign.unsafeSetAny;+  var newMutMap = Foreign_Object_ST["new"];+  var effectUnit = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);+  exports["effectUnit"] = effectUnit;+  exports["newMutMap"] = newMutMap;+  exports["pokeMutMap"] = pokeMutMap;+  exports["unsafeFreeze"] = unsafeFreeze;+  exports["unsafeLookup"] = unsafeLookup;+  exports["unsafeGetAny"] = $foreign.unsafeGetAny;+  exports["unsafeHasAny"] = $foreign.unsafeHasAny;+  exports["unsafeSetAny"] = $foreign.unsafeSetAny;+  exports["forE"] = $foreign.forE;+  exports["forInE"] = $foreign.forInE;+  exports["diffWithIxE"] = $foreign.diffWithIxE;+  exports["diffWithKeyAndIxE"] = $foreign.diffWithKeyAndIxE;+  exports["strMapWithIxE"] = $foreign.strMapWithIxE;+  exports["refEq"] = $foreign.refEq;+  exports["createTextNode"] = $foreign.createTextNode;+  exports["setTextContent"] = $foreign.setTextContent;+  exports["createElement"] = $foreign.createElement;+  exports["insertChildIx"] = $foreign.insertChildIx;+  exports["removeChild"] = $foreign.removeChild;+  exports["parentNode"] = $foreign.parentNode;+  exports["setAttribute"] = $foreign.setAttribute;+  exports["removeAttribute"] = $foreign.removeAttribute;+  exports["addEventListener"] = $foreign.addEventListener;+  exports["removeEventListener"] = $foreign.removeEventListener;+  exports["jsUndefined"] = $foreign.jsUndefined;+})(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Ref = PS["Effect.Ref"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Foreign = PS["Foreign"];+  var Foreign_Object = PS["Foreign.Object"];+  var Halogen_VDom = PS["Halogen.VDom"];+  var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Halogen_VDom_Util = PS["Halogen.VDom.Util"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];                 +  var Created = (function () {+      function Created(value0) {+          this.value0 = value0;+      };+      Created.create = function (value0) {+          return new Created(value0);+      };+      return Created;+  })();+  var Removed = (function () {+      function Removed(value0) {+          this.value0 = value0;+      };+      Removed.create = function (value0) {+          return new Removed(value0);+      };+      return Removed;+  })();+  var Attribute = (function () {+      function Attribute(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      Attribute.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new Attribute(value0, value1, value2);+              };+          };+      };+      return Attribute;+  })();+  var Property = (function () {+      function Property(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Property.create = function (value0) {+          return function (value1) {+              return new Property(value0, value1);+          };+      };+      return Property;+  })();+  var Handler = (function () {+      function Handler(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Handler.create = function (value0) {+          return function (value1) {+              return new Handler(value0, value1);+          };+      };+      return Handler;+  })();+  var Ref = (function () {+      function Ref(value0) {+          this.value0 = value0;+      };+      Ref.create = function (value0) {+          return new Ref(value0);+      };+      return Ref;+  })();+  var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;+  var setProperty = Halogen_VDom_Util.unsafeSetAny;+  var removeProperty = function (key, el) {+      var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));+      if (v === "string") {+          return Halogen_VDom_Util.unsafeSetAny(key, "", el);+      };+      if (key === "rowSpan") {+          return Halogen_VDom_Util.unsafeSetAny(key, 1, el);+      };+      if (key === "colSpan") {+          return Halogen_VDom_Util.unsafeSetAny(key, 1, el);+      };+      return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);+  };+  var propToStrKey = function (v) {+      if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {+          return "attr/" + (v.value0.value0 + (":" + v.value1));+      };+      if (v instanceof Attribute) {+          return "attr/:" + v.value1;+      };+      if (v instanceof Property) {+          return "prop/" + v.value0;+      };+      if (v instanceof Handler) {+          return "handler/" + v.value0;+      };+      if (v instanceof Ref) {+          return "ref";+      };+      throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 178, column 16 - line 185, column 1: " + [ v.constructor.name ]);+  };+  var propFromString = Unsafe_Coerce.unsafeCoerce;+  var propFromInt = Unsafe_Coerce.unsafeCoerce;+  var propFromBoolean = Unsafe_Coerce.unsafeCoerce;+  var functorProp = new Data_Functor.Functor(function (f) {+      return function (v) {+          if (v instanceof Handler) {+              return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1));+          };+          if (v instanceof Ref) {+              return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0));+          };+          return v;+      };+  });+  var buildProp = function (emit) {+      return function (el) {+          var removeProp = function (prevEvents) {+              return function (v, v1) {+                  if (v1 instanceof Attribute) {+                      return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);+                  };+                  if (v1 instanceof Property) {+                      return removeProperty(v1.value0, el);+                  };+                  if (v1 instanceof Handler) {+                      var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);+                      return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);+                  };+                  if (v1 instanceof Ref) {+                      return Data_Unit.unit;+                  };+                  throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 165, column 5 - line 175, column 18: " + [ v1.constructor.name ]);+              };+          };+          var mbEmit = function (v) {+              if (v instanceof Data_Maybe.Just) {+                  return emit(v.value0)();+              };+              return Data_Unit.unit;+          };+          var done = function (ps) {+              var v = Foreign_Object.lookup("ref")(ps);+              if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {+                  return function () {+                      return mbEmit(v.value0.value0(new Removed(el)));+                  };+              };+              return Halogen_VDom_Util.effectUnit;+          };+          var diffProp = function (prevEvents, events) {+              return function (v, v1, v11, v2) {+                  if (v11 instanceof Attribute && v2 instanceof Attribute) {+                      var $61 = v11.value2 === v2.value2;+                      if ($61) {+                          return v2;+                      };+                      Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);+                      return v2;+                  };+                  if (v11 instanceof Property && v2 instanceof Property) {+                      var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);+                      if (v4) {+                          return v2;+                      };+                      if (v2.value0 === "value") {+                          var elVal = unsafeGetProperty("value", el);+                          var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);+                          if ($70) {+                              return v2;+                          };+                          setProperty(v2.value0, v2.value1, el);+                          return v2;+                      };+                      setProperty(v2.value0, v2.value1, el);+                      return v2;+                  };+                  if (v11 instanceof Handler && v2 instanceof Handler) {+                      var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);+                      Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();+                      Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);+                      return v2;+                  };+                  return v2;+              };+          };+          var applyProp = function (events) {+              return function (v, v1, v2) {+                  if (v2 instanceof Attribute) {+                      Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);+                      return v2;+                  };+                  if (v2 instanceof Property) {+                      setProperty(v2.value0, v2.value1, el);+                      return v2;+                  };+                  if (v2 instanceof Handler) {+                      var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);+                      if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {+                          Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();+                          return v2;+                      };+                      var v4 = Effect_Ref["new"](v2.value1)();+                      var v5 = Web_Event_EventTarget.eventListener(function (ev) {+                          return function __do() {+                              var v5 = Effect_Ref.read(v4)();+                              return mbEmit(v5(ev));+                          };+                      })();+                      Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);+                      Halogen_VDom_Util.addEventListener(v2.value0, v5, el);+                      return v2;+                  };+                  if (v2 instanceof Ref) {+                      mbEmit(v2.value0(new Created(el)));+                      return v2;+                  };+                  throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 109, column 5 - line 131, column 15: " + [ v2.constructor.name ]);+              };+          };+          var patch = function (prevEvents, ps1) {+              return function (ps2) {+                  var v = Halogen_VDom_Util.newMutMap();+                  var onThis = removeProp(prevEvents);+                  var onThese = diffProp(prevEvents, v);+                  var onThat = applyProp(v);+                  var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat);+                  return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));+              };+          };+          var render = function (ps1) {+              var v = Halogen_VDom_Util.newMutMap();+              var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));+              return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));+          };+          return render;+      };+  };+  exports["Attribute"] = Attribute;+  exports["Property"] = Property;+  exports["Handler"] = Handler;+  exports["Ref"] = Ref;+  exports["Created"] = Created;+  exports["Removed"] = Removed;+  exports["propFromString"] = propFromString;+  exports["propFromBoolean"] = propFromBoolean;+  exports["propFromInt"] = propFromInt;+  exports["buildProp"] = buildProp;+  exports["functorProp"] = functorProp;+})(PS["Halogen.VDom.DOM.Prop"] = PS["Halogen.VDom.DOM.Prop"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];+  var DOM_HTML_Indexed_CrossOriginValue = PS["DOM.HTML.Indexed.CrossOriginValue"];+  var DOM_HTML_Indexed_DirValue = PS["DOM.HTML.Indexed.DirValue"];+  var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"];+  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];+  var DOM_HTML_Indexed_KindValue = PS["DOM.HTML.Indexed.KindValue"];+  var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"];+  var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"];+  var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"];+  var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"];+  var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"];+  var DOM_HTML_Indexed_ScopeValue = PS["DOM.HTML.Indexed.ScopeValue"];+  var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"];+  var DOM_HTML_Indexed_WrapValue = PS["DOM.HTML.Indexed.WrapValue"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Tuple = PS["Data.Tuple"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Halogen_VDom = PS["Halogen.VDom"];+  var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var HTML = function (x) {+      return x;+  };+  var ClassName = function (x) {+      return x;+  };+  var IsProp = function (toPropValue) {+      this.toPropValue = toPropValue;+  }; +  var toPropValue = function (dict) {+      return dict.toPropValue;+  };+  var text = function ($27) {+      return HTML(Halogen_VDom_Types.Text.create($27));+  };+  var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString);+  var slot = function ($29) {+      return HTML(Halogen_VDom_Types.Widget.create($29));+  };+  var prop = function (dictIsProp) {+      return function (v) {+          return function ($32) {+              return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($32));+          };+      };+  };                                   +  var onOffIsProp = new IsProp(function ($35) {+      return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));+  });      +  var newtypeClassName = new Data_Newtype.Newtype(function (n) {+      return n;+  }, ClassName);+  var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);+  var inputTypeIsProp = new IsProp(function ($40) {+      return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));+  });+  var handler = Halogen_VDom_DOM_Prop.Handler.create;+  var element = function (ns) {+      return function (name) {+          return function (props) {+              return function (children) {+                  return new Halogen_VDom_Types.Elem(new Halogen_VDom_Types.ElemSpec(ns, name, props), children);+              };+          };+      };+  }; +  var buttonTypeIsProp = new IsProp(function ($44) {+      return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($44));+  });+  var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);+  var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return function (v) {+              return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v);+          };+      };+  });                                                                            +  var attr = function (ns) {+      return function (v) {+          return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);+      };+  };+  exports["HTML"] = HTML;+  exports["slot"] = slot;+  exports["text"] = text;+  exports["element"] = element;+  exports["prop"] = prop;+  exports["attr"] = attr;+  exports["handler"] = handler;+  exports["IsProp"] = IsProp;+  exports["toPropValue"] = toPropValue;+  exports["ClassName"] = ClassName;+  exports["bifunctorHTML"] = bifunctorHTML;+  exports["stringIsProp"] = stringIsProp;+  exports["intIsProp"] = intIsProp;+  exports["booleanIsProp"] = booleanIsProp;+  exports["buttonTypeIsProp"] = buttonTypeIsProp;+  exports["inputTypeIsProp"] = inputTypeIsProp;+  exports["onOffIsProp"] = onOffIsProp;+  exports["newtypeClassName"] = newtypeClassName;+})(PS["Halogen.HTML.Core"] = PS["Halogen.HTML.Core"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Const = PS["Data.Const"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_NonEmpty = PS["Data.List.NonEmpty"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_NonEmpty = PS["Data.NonEmpty"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Tuple = PS["Data.Tuple"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 +  var Pure = (function () {+      function Pure(value0) {+          this.value0 = value0;+      };+      Pure.create = function (value0) {+          return new Pure(value0);+      };+      return Pure;+  })();+  var Lift = (function () {+      function Lift(value0) {+          this.value0 = value0;+      };+      Lift.create = function (value0) {+          return new Lift(value0);+      };+      return Lift;+  })();+  var Ap = (function () {+      function Ap(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Ap.create = function (value0) {+          return function (value1) {+              return new Ap(value0, value1);+          };+      };+      return Ap;+  })();+  var mkAp = function (fba) {+      return function (fb) {+          return new Ap(fba, fb);+      };+  };+  var liftFreeAp = Lift.create;+  var goLeft = function ($copy_dictApplicative) {+      return function ($copy_fStack) {+          return function ($copy_valStack) {+              return function ($copy_nat) {+                  return function ($copy_func) {+                      return function ($copy_count) {+                          var $tco_var_dictApplicative = $copy_dictApplicative;+                          var $tco_var_fStack = $copy_fStack;+                          var $tco_var_valStack = $copy_valStack;+                          var $tco_var_nat = $copy_nat;+                          var $tco_var_func = $copy_func;+                          var $tco_done = false;+                          var $tco_result;+                          function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {+                              if (func instanceof Pure) {+                                  $tco_done = true;+                                  return new Data_Tuple.Tuple(new Data_List_Types.Cons({+                                      func: Control_Applicative.pure(dictApplicative)(func.value0),+                                      count: count+                                  }, fStack), valStack);+                              };+                              if (func instanceof Lift) {+                                  $tco_done = true;+                                  return new Data_Tuple.Tuple(new Data_List_Types.Cons({+                                      func: nat(func.value0),+                                      count: count+                                  }, fStack), valStack);+                              };+                              if (func instanceof Ap) {+                                  $tco_var_dictApplicative = dictApplicative;+                                  $tco_var_fStack = fStack;+                                  $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);+                                  $tco_var_nat = nat;+                                  $tco_var_func = func.value0;+                                  $copy_count = count + 1 | 0;+                                  return;+                              };+                              throw new Error("Failed pattern match at Control.Applicative.Free line 102, column 41 - line 105, column 81: " + [ func.constructor.name ]);+                          };+                          while (!$tco_done) {+                              $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);+                          };+                          return $tco_result;+                      };+                  };+              };+          };+      };+  };+  var goApply = function ($copy_dictApplicative) {+      return function ($copy_fStack) {+          return function ($copy_vals) {+              return function ($copy_gVal) {+                  var $tco_var_dictApplicative = $copy_dictApplicative;+                  var $tco_var_fStack = $copy_fStack;+                  var $tco_var_vals = $copy_vals;+                  var $tco_done = false;+                  var $tco_result;+                  function $tco_loop(dictApplicative, fStack, vals, gVal) {+                      if (fStack instanceof Data_List_Types.Nil) {+                          $tco_done = true;+                          return new Data_Either.Left(gVal);+                      };+                      if (fStack instanceof Data_List_Types.Cons) {+                          var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);+                          var $14 = fStack.value0.count === 1;+                          if ($14) {+                              if (fStack.value1 instanceof Data_List_Types.Nil) {+                                  $tco_done = true;+                                  return new Data_Either.Left(gRes);+                              };+                              $tco_var_dictApplicative = dictApplicative;+                              $tco_var_fStack = fStack.value1;+                              $tco_var_vals = vals;+                              $copy_gVal = gRes;+                              return;+                          };+                          if (vals instanceof Data_List_Types.Nil) {+                              $tco_done = true;+                              return new Data_Either.Left(gRes);+                          };+                          if (vals instanceof Data_List_Types.Cons) {+                              $tco_done = true;+                              return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({+                                  func: gRes,+                                  count: fStack.value0.count - 1 | 0+                              }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));+                          };+                          throw new Error("Failed pattern match at Control.Applicative.Free line 83, column 11 - line 88, column 50: " + [ vals.constructor.name ]);+                      };+                      throw new Error("Failed pattern match at Control.Applicative.Free line 72, column 3 - line 88, column 50: " + [ fStack.constructor.name ]);+                  };+                  while (!$tco_done) {+                      $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);+                  };+                  return $tco_result;+              };+          };+      };+  };+  var functorFreeAp = new Data_Functor.Functor(function (f) {+      return function (x) {+          return mkAp(new Pure(f))(x);+      };+  });+  var foldFreeAp = function (dictApplicative) {+      return function (nat) {+          return function (z) {+              var go = function ($copy_v) {+                  var $tco_done = false;+                  var $tco_result;+                  function $tco_loop(v) {+                      if (v.value1.value0 instanceof Pure) {+                          var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));+                          if (v1 instanceof Data_Either.Left) {+                              $tco_done = true;+                              return v1.value0;+                          };+                          if (v1 instanceof Data_Either.Right) {+                              $copy_v = v1.value0;+                              return;+                          };+                          throw new Error("Failed pattern match at Control.Applicative.Free line 54, column 17 - line 56, column 24: " + [ v1.constructor.name ]);+                      };+                      if (v.value1.value0 instanceof Lift) {+                          var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));+                          if (v1 instanceof Data_Either.Left) {+                              $tco_done = true;+                              return v1.value0;+                          };+                          if (v1 instanceof Data_Either.Right) {+                              $copy_v = v1.value0;+                              return;+                          };+                          throw new Error("Failed pattern match at Control.Applicative.Free line 57, column 17 - line 59, column 24: " + [ v1.constructor.name ]);+                      };+                      if (v.value1.value0 instanceof Ap) {+                          var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);+                          $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);+                          return;+                      };+                      throw new Error("Failed pattern match at Control.Applicative.Free line 53, column 5 - line 64, column 1: " + [ v.value1.value0.constructor.name ]);+                  };+                  while (!$tco_done) {+                      $tco_result = $tco_loop($copy_v);+                  };+                  return $tco_result;+              };+              return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));+          };+      };+  };+  var retractFreeAp = function (dictApplicative) {+      return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));+  };+  var applyFreeAp = new Control_Apply.Apply(function () {+      return functorFreeAp;+  }, function (fba) {+      return function (fb) {+          return mkAp(fba)(fb);+      };+  });+  var applicativeFreeAp = new Control_Applicative.Applicative(function () {+      return applyFreeAp;+  }, Pure.create);+  var hoistFreeAp = function (f) {+      return foldFreeAp(applicativeFreeAp)(function ($37) {+          return liftFreeAp(f($37));+      });+  };+  exports["liftFreeAp"] = liftFreeAp;+  exports["retractFreeAp"] = retractFreeAp;+  exports["foldFreeAp"] = foldFreeAp;+  exports["hoistFreeAp"] = hoistFreeAp;+  exports["functorFreeAp"] = functorFreeAp;+  exports["applyFreeAp"] = applyFreeAp;+  exports["applicativeFreeAp"] = applicativeFreeAp;+})(PS["Control.Applicative.Free"] = PS["Control.Applicative.Free"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Prelude = PS["Prelude"];                 +  var CatQueue = (function () {+      function CatQueue(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      CatQueue.create = function (value0) {+          return function (value1) {+              return new CatQueue(value0, value1);+          };+      };+      return CatQueue;+  })();+  var uncons = function ($copy_v) {+      var $tco_done = false;+      var $tco_result;+      function $tco_loop(v) {+          if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {+              $tco_done = true;+              return Data_Maybe.Nothing.value;+          };+          if (v.value0 instanceof Data_List_Types.Nil) {+              $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);+              return;+          };+          if (v.value0 instanceof Data_List_Types.Cons) {+              $tco_done = true;+              return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));+          };+          throw new Error("Failed pattern match at Data.CatQueue line 83, column 1 - line 83, column 63: " + [ v.constructor.name ]);+      };+      while (!$tco_done) {+          $tco_result = $tco_loop($copy_v);+      };+      return $tco_result;+  };+  var snoc = function (v) {+      return function (a) {+          return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));+      };+  };+  var $$null = function (v) {+      if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {+          return true;+      };+      return false;+  };                                                                                                +  var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);+  exports["CatQueue"] = CatQueue;+  exports["empty"] = empty;+  exports["null"] = $$null;+  exports["snoc"] = snoc;+  exports["uncons"] = uncons;+})(PS["Data.CatQueue"] = PS["Data.CatQueue"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Data_CatQueue = PS["Data.CatQueue"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Prelude = PS["Prelude"];                 +  var CatNil = (function () {+      function CatNil() {++      };+      CatNil.value = new CatNil();+      return CatNil;+  })();+  var CatCons = (function () {+      function CatCons(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      CatCons.create = function (value0) {+          return function (value1) {+              return new CatCons(value0, value1);+          };+      };+      return CatCons;+  })();+  var link = function (v) {+      return function (cat) {+          if (v instanceof CatNil) {+              return cat;+          };+          if (v instanceof CatCons) {+              return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(cat));+          };+          throw new Error("Failed pattern match at Data.CatList line 111, column 1 - line 111, column 54: " + [ v.constructor.name, cat.constructor.name ]);+      };+  };+  var foldr = function (k) {+      return function (b) {+          return function (q) {+              var foldl = function ($copy_v) {+                  return function ($copy_c) {+                      return function ($copy_v1) {+                          var $tco_var_v = $copy_v;+                          var $tco_var_c = $copy_c;+                          var $tco_done = false;+                          var $tco_result;+                          function $tco_loop(v, c, v1) {+                              if (v1 instanceof Data_List_Types.Nil) {+                                  $tco_done = true;+                                  return c;+                              };+                              if (v1 instanceof Data_List_Types.Cons) {+                                  $tco_var_v = v;+                                  $tco_var_c = v(c)(v1.value0);+                                  $copy_v1 = v1.value1;+                                  return;+                              };+                              throw new Error("Failed pattern match at Data.CatList line 126, column 3 - line 126, column 59: " + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);+                          };+                          while (!$tco_done) {+                              $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);+                          };+                          return $tco_result;+                      };+                  };+              };+              var go = function ($copy_xs) {+                  return function ($copy_ys) {+                      var $tco_var_xs = $copy_xs;+                      var $tco_done = false;+                      var $tco_result;+                      function $tco_loop(xs, ys) {+                          var v = Data_CatQueue.uncons(xs);+                          if (v instanceof Data_Maybe.Nothing) {+                              $tco_done = true;+                              return foldl(function (x) {+                                  return function (i) {+                                      return i(x);+                                  };+                              })(b)(ys);+                          };+                          if (v instanceof Data_Maybe.Just) {+                              $tco_var_xs = v.value0.value1;+                              $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);+                              return;+                          };+                          throw new Error("Failed pattern match at Data.CatList line 122, column 14 - line 124, column 67: " + [ v.constructor.name ]);+                      };+                      while (!$tco_done) {+                          $tco_result = $tco_loop($tco_var_xs, $copy_ys);+                      };+                      return $tco_result;+                  };+              };+              return go(q)(Data_List_Types.Nil.value);+          };+      };+  };+  var uncons = function (v) {+      if (v instanceof CatNil) {+          return Data_Maybe.Nothing.value;+      };+      if (v instanceof CatCons) {+          return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {+              var $45 = Data_CatQueue["null"](v.value1);+              if ($45) {+                  return CatNil.value;+              };+              return foldr(link)(CatNil.value)(v.value1);+          })()));+      };+      throw new Error("Failed pattern match at Data.CatList line 102, column 1 - line 102, column 61: " + [ v.constructor.name ]);+  };+  var empty = CatNil.value;+  var append = function (v) {+      return function (v1) {+          if (v1 instanceof CatNil) {+              return v;+          };+          if (v instanceof CatNil) {+              return v1;+          };+          return link(v)(v1);+      };+  }; +  var semigroupCatList = new Data_Semigroup.Semigroup(append);+  var snoc = function (cat) {+      return function (a) {+          return append(cat)(new CatCons(a, Data_CatQueue.empty));+      };+  };+  exports["CatNil"] = CatNil;+  exports["CatCons"] = CatCons;+  exports["empty"] = empty;+  exports["append"] = append;+  exports["snoc"] = snoc;+  exports["uncons"] = uncons;+  exports["semigroupCatList"] = semigroupCatList;+})(PS["Data.CatList"] = PS["Data.CatList"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_CatList = PS["Data.CatList"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Free = (function () {+      function Free(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Free.create = function (value0) {+          return function (value1) {+              return new Free(value0, value1);+          };+      };+      return Free;+  })();+  var Return = (function () {+      function Return(value0) {+          this.value0 = value0;+      };+      Return.create = function (value0) {+          return new Return(value0);+      };+      return Return;+  })();+  var Bind = (function () {+      function Bind(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Bind.create = function (value0) {+          return function (value1) {+              return new Bind(value0, value1);+          };+      };+      return Bind;+  })();+  var toView = function ($copy_v) {+      var $tco_done = false;+      var $tco_result;+      function $tco_loop(v) {+          var runExpF = function (v2) {+              return v2;+          };+          var concatF = function (v2) {+              return function (r) {+                  return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));+              };+          };+          if (v.value0 instanceof Return) {+              var v2 = Data_CatList.uncons(v.value1);+              if (v2 instanceof Data_Maybe.Nothing) {+                  $tco_done = true;+                  return new Return(v.value0.value0);+              };+              if (v2 instanceof Data_Maybe.Just) {+                  $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);+                  return;+              };+              throw new Error("Failed pattern match at Control.Monad.Free line 220, column 7 - line 224, column 64: " + [ v2.constructor.name ]);+          };+          if (v.value0 instanceof Bind) {+              $tco_done = true;+              return new Bind(v.value0.value0, function (a) {+                  return concatF(v.value0.value1(a))(v.value1);+              });+          };+          throw new Error("Failed pattern match at Control.Monad.Free line 218, column 3 - line 226, column 56: " + [ v.value0.constructor.name ]);+      };+      while (!$tco_done) {+          $tco_result = $tco_loop($copy_v);+      };+      return $tco_result;+  };+  var fromView = function (f) {+      return new Free(f, Data_CatList.empty);+  };+  var freeMonad = new Control_Monad.Monad(function () {+      return freeApplicative;+  }, function () {+      return freeBind;+  });+  var freeFunctor = new Data_Functor.Functor(function (k) {+      return function (f) {+          return Control_Bind.bindFlipped(freeBind)(function ($118) {+              return Control_Applicative.pure(freeApplicative)(k($118));+          })(f);+      };+  });+  var freeBind = new Control_Bind.Bind(function () {+      return freeApply;+  }, function (v) {+      return function (k) {+          return new Free(v.value0, Data_CatList.snoc(v.value1)(k));+      };+  });+  var freeApply = new Control_Apply.Apply(function () {+      return freeFunctor;+  }, Control_Monad.ap(freeMonad));+  var freeApplicative = new Control_Applicative.Applicative(function () {+      return freeApply;+  }, function ($119) {+      return fromView(Return.create($119));+  });+  var liftF = function (f) {+      return fromView(new Bind(f, function ($120) {+          return Control_Applicative.pure(freeApplicative)($120);+      }));+  };+  var foldFree = function (dictMonadRec) {+      return function (k) {+          var go = function (f) {+              var v = toView(f);+              if (v instanceof Return) {+                  return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));+              };+              if (v instanceof Bind) {+                  return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {+                      return Control_Monad_Rec_Class.Loop.create(v.value1($127));+                  })(k(v.value0));+              };+              throw new Error("Failed pattern match at Control.Monad.Free line 151, column 10 - line 153, column 37: " + [ v.constructor.name ]);+          };+          return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);+      };+  };+  exports["liftF"] = liftF;+  exports["foldFree"] = foldFree;+  exports["freeFunctor"] = freeFunctor;+  exports["freeBind"] = freeBind;+  exports["freeApplicative"] = freeApplicative;+  exports["freeApply"] = freeApply;+  exports["freeMonad"] = freeMonad;+})(PS["Control.Monad.Free"] = PS["Control.Monad.Free"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 +  var runExists = Unsafe_Coerce.unsafeCoerce;+  var mkExists = Unsafe_Coerce.unsafeCoerce;+  exports["mkExists"] = mkExists;+  exports["runExists"] = runExists;+})(PS["Data.Exists"] = PS["Data.Exists"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Comonad = PS["Control.Comonad"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Distributive = PS["Data.Distributive"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Exists = PS["Data.Exists"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];+  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];+  var Data_Traversable = PS["Data.Traversable"];+  var Prelude = PS["Prelude"];+  var unCoyoneda = function (f) {+      return function (v) {+          return Data_Exists.runExists(function (v1) {+              return f(v1.value0)(v1.value1);+          })(v);+      };+  };+  exports["unCoyoneda"] = unCoyoneda;+})(PS["Data.Coyoneda"] = PS["Data.Coyoneda"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Either = PS["Data.Either"];+  var Data_Exists = PS["Data.Exists"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Class = PS["Effect.Class"];+  var Prelude = PS["Prelude"];                 +  var Bound = (function () {+      function Bound(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Bound.create = function (value0) {+          return function (value1) {+              return new Bound(value0, value1);+          };+      };+      return Bound;+  })();+  var FreeT = (function () {+      function FreeT(value0) {+          this.value0 = value0;+      };+      FreeT.create = function (value0) {+          return new FreeT(value0);+      };+      return FreeT;+  })();+  var Bind = (function () {+      function Bind(value0) {+          this.value0 = value0;+      };+      Bind.create = function (value0) {+          return new Bind(value0);+      };+      return Bind;+  })();+  var monadTransFreeT = function (dictFunctor) {+      return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {+          return function (ma) {+              return new FreeT(function (v) {+                  return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);+              });+          };+      });+  };+  var freeT = FreeT.create;+  var bound = function (m) {+      return function (f) {+          return new Bind(Data_Exists.mkExists(new Bound(m, f)));+      };+  };+  var functorFreeT = function (dictFunctor) {+      return function (dictFunctor1) {+          return new Data_Functor.Functor(function (f) {+              return function (v) {+                  if (v instanceof FreeT) {+                      return new FreeT(function (v1) {+                          return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));+                      });+                  };+                  if (v instanceof Bind) {+                      return Data_Exists.runExists(function (v1) {+                          return bound(v1.value0)(function ($104) {+                              return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));+                          });+                      })(v.value0);+                  };+                  throw new Error("Failed pattern match at Control.Monad.Free.Trans line 57, column 1 - line 57, column 71: " + [ f.constructor.name, v.constructor.name ]);+              };+          });+      };+  };+  var monadFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Monad.Monad(function () {+              return applicativeFreeT(dictFunctor)(dictMonad);+          }, function () {+              return bindFreeT(dictFunctor)(dictMonad);+          });+      };+  };+  var bindFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Bind.Bind(function () {+              return applyFreeT(dictFunctor)(dictMonad);+          }, function (v) {+              return function (f) {+                  if (v instanceof Bind) {+                      return Data_Exists.runExists(function (v1) {+                          return bound(v1.value0)(function (x) {+                              return bound(function (v2) {+                                  return v1.value1(x);+                              })(f);+                          });+                      })(v.value0);+                  };+                  return bound(function (v1) {+                      return v;+                  })(f);+              };+          });+      };+  };+  var applyFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Apply.Apply(function () {+              return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());+          }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));+      };+  };+  var applicativeFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Applicative.Applicative(function () {+              return applyFreeT(dictFunctor)(dictMonad);+          }, function (a) {+              return new FreeT(function (v) {+                  return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));+              });+          });+      };+  };+  var liftFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return function (fa) {+              return new FreeT(function (v) {+                  return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));+              });+          };+      };+  };+  var resume = function (dictFunctor) {+      return function (dictMonadRec) {+          var go = function (v) {+              if (v instanceof FreeT) {+                  return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));+              };+              if (v instanceof Bind) {+                  return Data_Exists.runExists(function (v1) {+                      var v2 = v1.value0(Data_Unit.unit);+                      if (v2 instanceof FreeT) {+                          return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {+                              if (v3 instanceof Data_Either.Left) {+                                  return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));+                              };+                              if (v3 instanceof Data_Either.Right) {+                                  return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {+                                      return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);+                                  })(v3.value0))));+                              };+                              throw new Error("Failed pattern match at Control.Monad.Free.Trans line 52, column 20 - line 54, column 67: " + [ v3.constructor.name ]);+                          });+                      };+                      if (v2 instanceof Bind) {+                          return Data_Exists.runExists(function (v3) {+                              return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {+                                  return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);+                              })));+                          })(v2.value0);+                      };+                      throw new Error("Failed pattern match at Control.Monad.Free.Trans line 50, column 5 - line 55, column 98: " + [ v2.constructor.name ]);+                  })(v.value0);+              };+              throw new Error("Failed pattern match at Control.Monad.Free.Trans line 47, column 3 - line 47, column 75: " + [ v.constructor.name ]);+          };+          return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);+      };+  };+  var runFreeT = function (dictFunctor) {+      return function (dictMonadRec) {+          return function (interp) {+              var go = function (v) {+                  if (v instanceof Data_Either.Left) {+                      return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));+                  };+                  if (v instanceof Data_Either.Right) {+                      return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));+                  };+                  throw new Error("Failed pattern match at Control.Monad.Free.Trans line 126, column 3 - line 126, column 63: " + [ v.constructor.name ]);+              };+              return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));+          };+      };+  };+  var monadRecFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Monad_Rec_Class.MonadRec(function () {+              return monadFreeT(dictFunctor)(dictMonad);+          }, function (f) {+              var go = function (s) {+                  return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {+                      if (v instanceof Control_Monad_Rec_Class.Loop) {+                          return go(v.value0);+                      };+                      if (v instanceof Control_Monad_Rec_Class.Done) {+                          return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);+                      };+                      throw new Error("Failed pattern match at Control.Monad.Free.Trans line 80, column 15 - line 82, column 25: " + [ v.constructor.name ]);+                  });+              };+              return go;+          });+      };+  };+  exports["freeT"] = freeT;+  exports["liftFreeT"] = liftFreeT;+  exports["resume"] = resume;+  exports["runFreeT"] = runFreeT;+  exports["functorFreeT"] = functorFreeT;+  exports["applyFreeT"] = applyFreeT;+  exports["applicativeFreeT"] = applicativeFreeT;+  exports["bindFreeT"] = bindFreeT;+  exports["monadFreeT"] = monadFreeT;+  exports["monadTransFreeT"] = monadTransFreeT;+  exports["monadRecFreeT"] = monadRecFreeT;+})(PS["Control.Monad.Free.Trans"] = PS["Control.Monad.Free.Trans"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Prelude = PS["Prelude"];                 +  var Profunctor = function (dimap) {+      this.dimap = dimap;+  };+  var profunctorFn = new Profunctor(function (a2b) {+      return function (c2d) {+          return function (b2c) {+              return function ($9) {+                  return c2d(b2c(a2b($9)));+              };+          };+      };+  });+  var dimap = function (dict) {+      return dict.dimap;+  };+  var rmap = function (dictProfunctor) {+      return function (b2c) {+          return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);+      };+  };+  exports["dimap"] = dimap;+  exports["Profunctor"] = Profunctor;+  exports["rmap"] = rmap;+  exports["profunctorFn"] = profunctorFn;+})(PS["Data.Profunctor"] = PS["Data.Profunctor"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Profunctor = PS["Data.Profunctor"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];+  var Emit = (function () {+      function Emit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Emit.create = function (value0) {+          return function (value1) {+              return new Emit(value0, value1);+          };+      };+      return Emit;+  })();+  var runProcess = function (dictMonadRec) {+      return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {+          return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));+      });+  };+  var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {+      return function (g) {+          return function (v) {+              return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);+          };+      };+  });+  var loop = function (dictFunctor) {+      return function (dictMonad) {+          return function (me) {+              return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {+                  return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);+              })(Data_Unit.unit);+          };+      };+  };+  var fuseWithL = function (dictFunctor) {+      return function (dictFunctor1) {+          return function (dictFunctor2) {+              return function (dictMonadRec) {+                  return function (zap) {+                      return function (fs) {+                          return function (gs) {+                              var go = function (v) {+                                  return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {+                                      return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {+                                          return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {+                                              return Control_Monad_Free_Trans.freeT(function (v3) {+                                                  return go(t);+                                              });+                                          })(zap(Data_Tuple.Tuple.create)(v1)(v2)));+                                      });+                                  }));+                              };+                              return Control_Monad_Free_Trans.freeT(function (v) {+                                  return go(new Data_Tuple.Tuple(fs, gs));+                              });+                          };+                      };+                  };+              };+          };+      };+  };+  var fuseWith = function (dictFunctor) {+      return function (dictFunctor1) {+          return function (dictFunctor2) {+              return function (dictMonadRec) {+                  return function (dictParallel) {+                      return function (zap) {+                          return function (fs) {+                              return function (gs) {+                                  var go = function (v) {+                                      return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {+                                          if (v1 instanceof Data_Either.Left) {+                                              return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));+                                          };+                                          if (v1 instanceof Data_Either.Right) {+                                              return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {+                                                  return Control_Monad_Free_Trans.freeT(function (v2) {+                                                      return go(t);+                                                  });+                                              })(v1.value0)));+                                          };+                                          throw new Error("Failed pattern match at Control.Coroutine line 79, column 5 - line 81, column 63: " + [ v1.constructor.name ]);+                                      });+                                  };+                                  return Control_Monad_Free_Trans.freeT(function (v) {+                                      return go(new Data_Tuple.Tuple(fs, gs));+                                  });+                              };+                          };+                      };+                  };+              };+          };+      };+  };+  var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));+  var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return function (v) {+              return new Emit(f(v.value0), g(v.value1));+          };+      };+  });+  var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));+  var connect = function (dictMonadRec) {+      return function (dictParallel) {+          return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {+              return function (v) {+                  return function (v1) {+                      return f(v.value1)(v1(v.value0));+                  };+              };+          });+      };+  };+  var emit = function (dictMonad) {+      return function (o) {+          return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));+      };+  };+  var producer = function (dictMonad) {+      return function (recv) {+          return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {+              if (v instanceof Data_Either.Left) {+                  return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);+              };+              if (v instanceof Data_Either.Right) {+                  return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));+              };+              throw new Error("Failed pattern match at Control.Coroutine line 125, column 3 - line 127, column 29: " + [ v.constructor.name ]);+          }));+      };+  };+  var pullFrom = function (dictMonadRec) {+      return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {+          return function (v) {+              return function (v1) {+                  return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));+              };+          };+      });+  };+  var $$await = function (dictMonad) {+      return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));+  };+  exports["loop"] = loop;+  exports["runProcess"] = runProcess;+  exports["fuseWith"] = fuseWith;+  exports["fuseWithL"] = fuseWithL;+  exports["Emit"] = Emit;+  exports["emit"] = emit;+  exports["producer"] = producer;+  exports["await"] = $$await;+  exports["connect"] = connect;+  exports["pullFrom"] = pullFrom;+  exports["bifunctorEmit"] = bifunctorEmit;+  exports["functorEmit"] = functorEmit;+  exports["profunctorAwait"] = profunctorAwait;+  exports["functorAwait"] = functorAwait;+})(PS["Control.Coroutine"] = PS["Control.Coroutine"] || {});+(function(exports) {+  /* globals exports, setTimeout */+  "use strict";++  var AVar = function () {++    function MutableQueue () {+      this.head = null;+      this.last = null;+      this.size = 0;+    }++    function MutableCell (queue, value) {+      this.queue = queue;+      this.value = value;+      this.next  = null;+      this.prev  = null;+    }++    function AVar (value) {+      this.draining = false;+      this.error    = null;+      this.value    = value;+      this.takes    = new MutableQueue();+      this.reads    = new MutableQueue();+      this.puts     = new MutableQueue();+    }++    var EMPTY = {};++    function runEff(eff) {+      try {+        eff();+      } catch (error) {+        setTimeout(function () {+          throw error;+        }, 0);+      }+    }++    function putLast (queue, value) {+      var cell = new MutableCell(queue, value);+      switch (queue.size) {+      case 0:+        queue.head = cell;+        break;+      case 1:+        cell.prev = queue.head;+        queue.head.next = cell;+        queue.last = cell;+        break;+      default:+        cell.prev = queue.last;+        queue.last.next = cell;+        queue.last = cell;+      }+      queue.size++;+      return cell;+    }++    function takeLast (queue) {+      var cell;+      switch (queue.size) {+      case 0:+        return null;+      case 1:+        cell = queue.head;+        queue.head = null;+        break;+      case 2:+        cell = queue.last;+        queue.head.next = null;+        queue.last = null;+        break;+      default:+        cell = queue.last;+        queue.last = cell.prev;+        queue.last.next = null;+      }+      cell.prev = null;+      cell.queue = null;+      queue.size--;+      return cell.value;+    }++    function takeHead (queue) {+      var cell;+      switch (queue.size) {+      case 0:+        return null;+      case 1:+        cell = queue.head;+        queue.head = null;+        break;+      case 2:+        cell = queue.head;+        queue.last.prev = null;+        queue.head = queue.last;+        queue.last = null;+        break;+      default:+        cell = queue.head;+        queue.head = cell.next;+        queue.head.prev = null;+      }+      cell.next = null;+      cell.queue = null;+      queue.size--;+      return cell.value;+    }++    function deleteCell (cell) {+      if (cell.queue === null) {+        return;+      }+      if (cell.queue.last === cell) {+        takeLast(cell.queue);+        return;+      }+      if (cell.queue.head === cell) {+        takeHead(cell.queue);+        return;+      }+      if (cell.prev) {+        cell.prev.next = cell.next;+      }+      if (cell.next) {+        cell.next.prev = cell.prev;+      }+      cell.queue.size--;+      cell.queue = null;+      cell.value = null;+      cell.next  = null;+      cell.prev  = null;+    }++    function drainVar (util, avar) {+      if (avar.draining) {+        return;+      }++      var ps = avar.puts;+      var ts = avar.takes;+      var rs = avar.reads;+      var p, r, t, value, rsize;++      avar.draining = true;++      while (1) { // eslint-disable-line no-constant-condition+        p = null;+        r = null;+        t = null;+        value = avar.value;+        rsize = rs.size;++        if (avar.error !== null) {+          value = util.left(avar.error);+          while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign+            runEff(p.cb(value));+          }+          while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign+            runEff(r(value));+          }+          while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign+            runEff(t(value));+          }+          break;+        }++        // Process the next put. We do not immediately invoke the callback+        // because we want to preserve ordering. If there are takes/reads+        // we want to run those first.+        if (value === EMPTY && (p = takeHead(ps))) {+          avar.value = value = p.value;+        }++        if (value !== EMPTY) {+          // We go ahead and queue up the next take for the same reasons as+          // above. Invoking the read callbacks can affect the mutable queue.+          t = takeHead(ts);+          // We only want to process the reads queued up before running these+          // callbacks so we guard on rsize.+          while (rsize-- && (r = takeHead(rs))) {+            runEff(r(util.right(value)));+          }+          if (t !== null) {+            avar.value = EMPTY;+            runEff(t(util.right(value)));+          }+        }++        if (p !== null) {+          runEff(p.cb(util.right(void 0)));+        }++        // Callbacks could have queued up more items so we need to guard on the+        // actual mutable properties.+        if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {+          break;+        }+      }+      avar.draining = false;+    }++    AVar.EMPTY      = EMPTY;+    AVar.putLast    = putLast;+    AVar.takeLast   = takeLast;+    AVar.takeHead   = takeHead;+    AVar.deleteCell = deleteCell;+    AVar.drainVar   = drainVar;++    return AVar;+  }();++  exports.empty = function () {+    return new AVar(AVar.EMPTY);+  };++  exports._killVar = function (util, error, avar) {+    return function () {+      if (avar.error === null) {+        avar.error = error;+        avar.value = AVar.EMPTY;+        AVar.drainVar(util, avar);+      }+    };+  };++  exports._putVar = function (util, value, avar, cb) {+    return function () {+      var cell = AVar.putLast(avar.puts, { cb: cb, value: value });+      AVar.drainVar(util, avar);+      return function () {+        AVar.deleteCell(cell);+      };+    };+  };++  exports._takeVar = function (util, avar, cb) {+    return function () {+      var cell = AVar.putLast(avar.takes, cb);+      AVar.drainVar(util, avar);+      return function () {+        AVar.deleteCell(cell);+      };+    };+  };+})(PS["Effect.AVar"] = PS["Effect.AVar"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.AVar"];+  var Data_Either = PS["Data.Either"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Effect = PS["Effect"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];                 +  var Killed = (function () {+      function Killed(value0) {+          this.value0 = value0;+      };+      Killed.create = function (value0) {+          return new Killed(value0);+      };+      return Killed;+  })();+  var Filled = (function () {+      function Filled(value0) {+          this.value0 = value0;+      };+      Filled.create = function (value0) {+          return new Filled(value0);+      };+      return Filled;+  })();+  var Empty = (function () {+      function Empty() {++      };+      Empty.value = new Empty();+      return Empty;+  })();+  var ffiUtil = {+      left: Data_Either.Left.create,+      right: Data_Either.Right.create,+      nothing: Data_Maybe.Nothing.value,+      just: Data_Maybe.Just.create,+      killed: Killed.create,+      filled: Filled.create,+      empty: Empty.value+  };+  var kill = function (err) {+      return function (avar) {+          return $foreign._killVar(ffiUtil, err, avar);+      };+  };+  var put = function (value) {+      return function (avar) {+          return function (cb) {+              return $foreign._putVar(ffiUtil, value, avar, cb);+          };+      };+  };+  var take = function (avar) {+      return function (cb) {+          return $foreign._takeVar(ffiUtil, avar, cb);+      };+  };+  exports["Killed"] = Killed;+  exports["Filled"] = Filled;+  exports["Empty"] = Empty;+  exports["take"] = take;+  exports["put"] = put;+  exports["kill"] = kill;+  exports["empty"] = $foreign.empty;+})(PS["Effect.AVar"] = PS["Effect.AVar"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Maybe = PS["Data.Maybe"];+  var Effect = PS["Effect"];+  var Effect_AVar = PS["Effect.AVar"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];+  var take = function (avar) {+      return Effect_Aff.makeAff(function (k) {+          return function __do() {+              var v = Effect_AVar.take(avar)(k)();+              return Effect_Aff.effectCanceler(v);+          };+      });+  };+  var put = function (value) {+      return function (avar) {+          return Effect_Aff.makeAff(function (k) {+              return function __do() {+                  var v = Effect_AVar.put(value)(avar)(k)();+                  return Effect_Aff.effectCanceler(v);+              };+          });+      };+  };+  var kill = function (error) {+      return function ($11) {+          return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));+      };+  };+  var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);+  exports["empty"] = empty;+  exports["take"] = take;+  exports["put"] = put;+  exports["kill"] = kill;+})(PS["Effect.Aff.AVar"] = PS["Effect.Aff.AVar"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Coroutine = PS["Control.Coroutine"];+  var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_AVar = PS["Effect.Aff.AVar"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];                 +  var Listening = (function () {+      function Listening() {++      };+      Listening.value = new Listening();+      return Listening;+  })();+  var Done = (function () {+      function Done() {++      };+      Done.value = new Done();+      return Done;+  })();+  var unEventSource = function (v) {+      return v;+  };+  var eqSubscribeStatus = new Data_Eq.Eq(function (x) {+      return function (y) {+          if (x instanceof Listening && y instanceof Listening) {+              return true;+          };+          if (x instanceof Done && y instanceof Done) {+              return true;+          };+          return false;+      };+  });+  exports["Listening"] = Listening;+  exports["Done"] = Done;+  exports["unEventSource"] = unEventSource;+  exports["eqSubscribeStatus"] = eqSubscribeStatus;+})(PS["Halogen.Query.EventSource"] = PS["Halogen.Query.EventSource"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var unFork = Unsafe_Coerce.unsafeCoerce;+  exports["unFork"] = unFork;+})(PS["Halogen.Query.ForkF"] = PS["Halogen.Query.ForkF"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Applicative_Free = PS["Control.Applicative.Free"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Free = PS["Control.Monad.Free"];+  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Coyoneda = PS["Data.Coyoneda"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"];+  var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];+  var Web_DOM = PS["Web.DOM"];+  var HalogenM = function (x) {+      return x;+  };+  var State = (function () {+      function State(value0) {+          this.value0 = value0;+      };+      State.create = function (value0) {+          return new State(value0);+      };+      return State;+  })();+  var Subscribe = (function () {+      function Subscribe(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Subscribe.create = function (value0) {+          return function (value1) {+              return new Subscribe(value0, value1);+          };+      };+      return Subscribe;+  })();+  var Lift = (function () {+      function Lift(value0) {+          this.value0 = value0;+      };+      Lift.create = function (value0) {+          return new Lift(value0);+      };+      return Lift;+  })();+  var Halt = (function () {+      function Halt(value0) {+          this.value0 = value0;+      };+      Halt.create = function (value0) {+          return new Halt(value0);+      };+      return Halt;+  })();+  var GetSlots = (function () {+      function GetSlots(value0) {+          this.value0 = value0;+      };+      GetSlots.create = function (value0) {+          return new GetSlots(value0);+      };+      return GetSlots;+  })();+  var CheckSlot = (function () {+      function CheckSlot(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      CheckSlot.create = function (value0) {+          return function (value1) {+              return new CheckSlot(value0, value1);+          };+      };+      return CheckSlot;+  })();+  var ChildQuery = (function () {+      function ChildQuery(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      ChildQuery.create = function (value0) {+          return function (value1) {+              return new ChildQuery(value0, value1);+          };+      };+      return ChildQuery;+  })();+  var Raise = (function () {+      function Raise(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Raise.create = function (value0) {+          return function (value1) {+              return new Raise(value0, value1);+          };+      };+      return Raise;+  })();+  var Par = (function () {+      function Par(value0) {+          this.value0 = value0;+      };+      Par.create = function (value0) {+          return new Par(value0);+      };+      return Par;+  })();+  var Fork = (function () {+      function Fork(value0) {+          this.value0 = value0;+      };+      Fork.create = function (value0) {+          return new Fork(value0);+      };+      return Fork;+  })();+  var GetRef = (function () {+      function GetRef(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      GetRef.create = function (value0) {+          return function (value1) {+              return new GetRef(value0, value1);+          };+      };+      return GetRef;+  })();+  var raise = function (o) {+      return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));+  };+  var functorHalogenM = new Data_Functor.Functor(function (f) {+      return function (v) {+          return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v);+      };+  });+  var applyHalogenM = new Control_Apply.Apply(function () {+      return functorHalogenM;+  }, function (v) {+      return function (v1) {+          return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1);+      };+  });+  var bindHalogenM = new Control_Bind.Bind(function () {+      return applyHalogenM;+  }, function (v) {+      return function (f) {+          return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) {+              var v1 = f(x);+              return v1;+          });+      };+  });                                                       +  var applicativeHalogenM = new Control_Applicative.Applicative(function () {+      return applyHalogenM;+  }, function (a) {+      return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a);+  });+  var monadHalogenM = new Control_Monad.Monad(function () {+      return applicativeHalogenM;+  }, function () {+      return bindHalogenM;+  });+  var monadEffectHalogenM = function (dictMonadEffect) {+      return new Effect_Class.MonadEffect(function () {+          return monadHalogenM;+      }, function (eff) {+          return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)(eff))));+      });+  };+  var monadAffHalogenM = function (dictMonadAff) {+      return new Effect_Aff_Class.MonadAff(function () {+          return monadEffectHalogenM(dictMonadAff.MonadEffect0());+      }, function (aff) {+          return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)(aff))));+      });+  };+  var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {+      return monadHalogenM;+  }, function ($180) {+      return HalogenM(Control_Monad_Free.liftF(State.create($180)));+  });+  exports["State"] = State;+  exports["Subscribe"] = Subscribe;+  exports["Lift"] = Lift;+  exports["Halt"] = Halt;+  exports["GetSlots"] = GetSlots;+  exports["CheckSlot"] = CheckSlot;+  exports["ChildQuery"] = ChildQuery;+  exports["Raise"] = Raise;+  exports["Par"] = Par;+  exports["Fork"] = Fork;+  exports["GetRef"] = GetRef;+  exports["HalogenM"] = HalogenM;+  exports["raise"] = raise;+  exports["functorHalogenM"] = functorHalogenM;+  exports["applyHalogenM"] = applyHalogenM;+  exports["applicativeHalogenM"] = applicativeHalogenM;+  exports["bindHalogenM"] = bindHalogenM;+  exports["monadHalogenM"] = monadHalogenM;+  exports["monadEffectHalogenM"] = monadEffectHalogenM;+  exports["monadAffHalogenM"] = monadAffHalogenM;+  exports["monadStateHalogenM"] = monadStateHalogenM;+})(PS["Halogen.Query.HalogenM"] = PS["Halogen.Query.HalogenM"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Const = PS["Data.Const"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 +  var ComponentSlot = (function () {+      function ComponentSlot(value0, value1, value2, value3, value4, value5) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+      };+      ComponentSlot.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return new ComponentSlot(value0, value1, value2, value3, value4, value5);+                          };+                      };+                  };+              };+          };+      };+      return ComponentSlot;+  })();+  var unComponentSlot = function (f) {+      return function (cs) {+          return f(cs.value0)(cs.value1)(cs.value2)(cs.value3)(cs.value4)(cs.value5);+      };+  };+  var unComponent = Unsafe_Coerce.unsafeCoerce;+  var mkComponentSlot = ComponentSlot.create;+  var mkComponent = Unsafe_Coerce.unsafeCoerce;+  var parentComponent = function (dictOrd) {+      return function (spec) {+          return mkComponent({+              initialState: spec.initialState,+              render: spec.render,+              "eval": spec["eval"],+              receiver: spec.receiver,+              initializer: Data_Maybe.Nothing.value,+              finalizer: Data_Maybe.Nothing.value,+              mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd)+          });+      };+  };+  var lifecycleComponent = function (dictBifunctor) {+      return function (spec) {+          return mkComponent({+              initialState: spec.initialState,+              render: spec.render,+              "eval": spec["eval"],+              receiver: spec.receiver,+              initializer: spec.initializer,+              finalizer: spec.finalizer,+              mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid)+          });+      };+  }; +  var component = function (dictBifunctor) {+      return function (spec) {+          return lifecycleComponent(dictBifunctor)({+              initialState: spec.initialState,+              render: spec.render,+              "eval": spec["eval"],+              receiver: spec.receiver,+              initializer: Data_Maybe.Nothing.value,+              finalizer: Data_Maybe.Nothing.value+          });+      };+  };+  exports["mkComponent"] = mkComponent;+  exports["unComponent"] = unComponent;+  exports["component"] = component;+  exports["lifecycleComponent"] = lifecycleComponent;+  exports["parentComponent"] = parentComponent;+  exports["mkComponentSlot"] = mkComponentSlot;+  exports["unComponentSlot"] = unComponentSlot;+})(PS["Halogen.Component"] = PS["Halogen.Component"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"];+  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];+  var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"];+  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];+  var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"];+  var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"];+  var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"];+  var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"];+  var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"];+  var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_String = PS["Data.String"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_Unit = PS["Data.Unit"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var prop = function (dictIsProp) {+      return Halogen_HTML_Core.prop(dictIsProp);+  };                                                    +  var required = prop(Halogen_HTML_Core.booleanIsProp)("required");+  var rows = prop(Halogen_HTML_Core.intIsProp)("rows");        +  var target = prop(Halogen_HTML_Core.stringIsProp)("target");+  var title = prop(Halogen_HTML_Core.stringIsProp)("title");+  var type_ = function (dictIsProp) {+      return prop(dictIsProp)("type");+  };+  var value = prop(Halogen_HTML_Core.stringIsProp)("value");+  var name = prop(Halogen_HTML_Core.stringIsProp)("name"); +  var id_ = prop(Halogen_HTML_Core.stringIsProp)("id");+  var href = prop(Halogen_HTML_Core.stringIsProp)("href");+  var $$for = prop(Halogen_HTML_Core.stringIsProp)("htmlFor");+  var class_ = function ($13) {+      return prop(Halogen_HTML_Core.stringIsProp)("className")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));+  };+  var checked = prop(Halogen_HTML_Core.booleanIsProp)("checked");    +  var autocomplete = function ($14) {+      return prop(Halogen_HTML_Core.onOffIsProp)("autocomplete")((function (b) {+          if (b) {+              return DOM_HTML_Indexed_OnOff.On.value;+          };+          return DOM_HTML_Indexed_OnOff.Off.value;+      })($14));+  };+  var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);+  exports["prop"] = prop;+  exports["attr"] = attr;+  exports["class_"] = class_;+  exports["rows"] = rows;+  exports["for"] = $$for;+  exports["href"] = href;+  exports["id_"] = id_;+  exports["name"] = name;+  exports["target"] = target;+  exports["title"] = title;+  exports["type_"] = type_;+  exports["value"] = value;+  exports["required"] = required;+  exports["checked"] = checked;+  exports["autocomplete"] = autocomplete;+})(PS["Halogen.HTML.Properties"] = PS["Halogen.HTML.Properties"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"];+  var Data_Function = PS["Data.Function"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Tuple = PS["Data.Tuple"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Halogen_VDom = PS["Halogen.VDom"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);+  var form = element("form");+  var input = function (props) {+      return element("input")(props)([  ]);+  };                   +  var label = element("label");+  var p = element("p");+  var span = element("span");+  var table = element("table");+  var table_ = table([  ]);+  var tbody = element("tbody");+  var tbody_ = tbody([  ]);+  var td = element("td");+  var td_ = td([  ]);+  var textarea = function (es) {+      return element("textarea")(es)([  ]);+  };                       +  var tr = element("tr");+  var tr_ = tr([  ]);+  var div = element("div");+  var div_ = div([  ]);+  var button = element("button");+  var br = function (props) {+      return element("br")(props)([  ]);+  };+  var br_ = br([  ]);    +  var a = element("a");+  exports["element"] = element;+  exports["a"] = a;+  exports["br"] = br;+  exports["br_"] = br_;+  exports["button"] = button;+  exports["div"] = div;+  exports["div_"] = div_;+  exports["form"] = form;+  exports["input"] = input;+  exports["label"] = label;+  exports["p"] = p;+  exports["span"] = span;+  exports["table"] = table;+  exports["table_"] = table_;+  exports["tbody"] = tbody;+  exports["tbody_"] = tbody_;+  exports["td"] = td;+  exports["td_"] = td_;+  exports["textarea"] = textarea;+  exports["tr"] = tr;+  exports["tr_"] = tr_;+})(PS["Halogen.HTML.Elements"] = PS["Halogen.HTML.Elements"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var slot = function (p) {+      return function (component) {+          return function (input) {+              return function (outputQuery) {+                  var f = Halogen_Component.unComponent(function (v) {+                      return v.receiver;+                  })(component);+                  return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create));+              };+          };+      };+  };+  exports["slot"] = slot;+})(PS["Halogen.HTML"] = PS["Halogen.HTML"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_List = PS["Data.List"];+  var Data_List_Lazy = PS["Data.List.Lazy"];+  var Data_List_Lazy_Types = PS["Data.List.Lazy.Types"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];                 +  var Leaf = (function () {+      function Leaf() {++      };+      Leaf.value = new Leaf();+      return Leaf;+  })();+  var Two = (function () {+      function Two(value0, value1, value2, value3) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+      };+      Two.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return new Two(value0, value1, value2, value3);+                  };+              };+          };+      };+      return Two;+  })();+  var Three = (function () {+      function Three(value0, value1, value2, value3, value4, value5, value6) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+          this.value6 = value6;+      };+      Three.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return function (value6) {+                                  return new Three(value0, value1, value2, value3, value4, value5, value6);+                              };+                          };+                      };+                  };+              };+          };+      };+      return Three;+  })();+  var TwoLeft = (function () {+      function TwoLeft(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      TwoLeft.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new TwoLeft(value0, value1, value2);+              };+          };+      };+      return TwoLeft;+  })();+  var TwoRight = (function () {+      function TwoRight(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      TwoRight.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new TwoRight(value0, value1, value2);+              };+          };+      };+      return TwoRight;+  })();+  var ThreeLeft = (function () {+      function ThreeLeft(value0, value1, value2, value3, value4, value5) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+      };+      ThreeLeft.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return new ThreeLeft(value0, value1, value2, value3, value4, value5);+                          };+                      };+                  };+              };+          };+      };+      return ThreeLeft;+  })();+  var ThreeMiddle = (function () {+      function ThreeMiddle(value0, value1, value2, value3, value4, value5) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+      };+      ThreeMiddle.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return new ThreeMiddle(value0, value1, value2, value3, value4, value5);+                          };+                      };+                  };+              };+          };+      };+      return ThreeMiddle;+  })();+  var ThreeRight = (function () {+      function ThreeRight(value0, value1, value2, value3, value4, value5) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+      };+      ThreeRight.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return new ThreeRight(value0, value1, value2, value3, value4, value5);+                          };+                      };+                  };+              };+          };+      };+      return ThreeRight;+  })();+  var KickUp = (function () {+      function KickUp(value0, value1, value2, value3) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+      };+      KickUp.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return new KickUp(value0, value1, value2, value3);+                  };+              };+          };+      };+      return KickUp;+  })();+  var values = function (v) {+      if (v instanceof Leaf) {+          return Data_List_Types.Nil.value;+      };+      if (v instanceof Two) {+          return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));+      };+      if (v instanceof Three) {+          return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));+      };+      throw new Error("Failed pattern match at Data.Map.Internal line 594, column 1 - line 594, column 40: " + [ v.constructor.name ]);+  };+  var lookup = function (dictOrd) {+      return function (k) {+          var comp = Data_Ord.compare(dictOrd);+          var go = function ($copy_v) {+              var $tco_done = false;+              var $tco_result;+              function $tco_loop(v) {+                  if (v instanceof Leaf) {+                      $tco_done = true;+                      return Data_Maybe.Nothing.value;+                  };+                  if (v instanceof Two) {+                      var v2 = comp(k)(v.value1);+                      if (v2 instanceof Data_Ordering.EQ) {+                          $tco_done = true;+                          return new Data_Maybe.Just(v.value2);+                      };+                      if (v2 instanceof Data_Ordering.LT) {+                          $copy_v = v.value0;+                          return;+                      };+                      $copy_v = v.value3;+                      return;+                  };+                  if (v instanceof Three) {+                      var v3 = comp(k)(v.value1);+                      if (v3 instanceof Data_Ordering.EQ) {+                          $tco_done = true;+                          return new Data_Maybe.Just(v.value2);+                      };+                      var v4 = comp(k)(v.value4);+                      if (v4 instanceof Data_Ordering.EQ) {+                          $tco_done = true;+                          return new Data_Maybe.Just(v.value5);+                      };+                      if (v3 instanceof Data_Ordering.LT) {+                          $copy_v = v.value0;+                          return;+                      };+                      if (v4 instanceof Data_Ordering.GT) {+                          $copy_v = v.value6;+                          return;+                      };+                      $copy_v = v.value3;+                      return;+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 193, column 5 - line 193, column 22: " + [ v.constructor.name ]);+              };+              while (!$tco_done) {+                  $tco_result = $tco_loop($copy_v);+              };+              return $tco_result;+          };+          return go;+      };+  };+  var member = function (dictOrd) {+      return function (k) {+          return function (m) {+              return Data_Maybe.isJust(lookup(dictOrd)(k)(m));+          };+      };+  };+  var keys = function (v) {+      if (v instanceof Leaf) {+          return Data_List_Types.Nil.value;+      };+      if (v instanceof Two) {+          return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3)));+      };+      if (v instanceof Three) {+          return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6)))));+      };+      throw new Error("Failed pattern match at Data.Map.Internal line 588, column 1 - line 588, column 38: " + [ v.constructor.name ]);+  };+  var functorMap = new Data_Functor.Functor(function (v) {+      return function (v1) {+          if (v1 instanceof Leaf) {+              return Leaf.value;+          };+          if (v1 instanceof Two) {+              return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));+          };+          if (v1 instanceof Three) {+              return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));+          };+          throw new Error("Failed pattern match at Data.Map.Internal line 89, column 1 - line 89, column 39: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  var fromZipper = function ($copy_dictOrd) {+      return function ($copy_v) {+          return function ($copy_tree) {+              var $tco_var_dictOrd = $copy_dictOrd;+              var $tco_var_v = $copy_v;+              var $tco_done = false;+              var $tco_result;+              function $tco_loop(dictOrd, v, tree) {+                  if (v instanceof Data_List_Types.Nil) {+                      $tco_done = true;+                      return tree;+                  };+                  if (v instanceof Data_List_Types.Cons) {+                      if (v.value0 instanceof TwoLeft) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);+                          return;+                      };+                      if (v.value0 instanceof TwoRight) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);+                          return;+                      };+                      if (v.value0 instanceof ThreeLeft) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);+                          return;+                      };+                      if (v.value0 instanceof ThreeMiddle) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);+                          return;+                      };+                      if (v.value0 instanceof ThreeRight) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);+                          return;+                      };+                      throw new Error("Failed pattern match at Data.Map.Internal line 411, column 3 - line 416, column 88: " + [ v.value0.constructor.name ]);+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 408, column 1 - line 408, column 80: " + [ v.constructor.name, tree.constructor.name ]);+              };+              while (!$tco_done) {+                  $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);+              };+              return $tco_result;+          };+      };+  };+  var insert = function (dictOrd) {+      return function (k) {+          return function (v) {+              var up = function ($copy_v1) {+                  return function ($copy_v2) {+                      var $tco_var_v1 = $copy_v1;+                      var $tco_done = false;+                      var $tco_result;+                      function $tco_loop(v1, v2) {+                          if (v1 instanceof Data_List_Types.Nil) {+                              $tco_done = true;+                              return new Two(v2.value0, v2.value1, v2.value2, v2.value3);+                          };+                          if (v1 instanceof Data_List_Types.Cons) {+                              if (v1.value0 instanceof TwoLeft) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));+                              };+                              if (v1.value0 instanceof TwoRight) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));+                              };+                              if (v1.value0 instanceof ThreeLeft) {+                                  $tco_var_v1 = v1.value1;+                                  $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));+                                  return;+                              };+                              if (v1.value0 instanceof ThreeMiddle) {+                                  $tco_var_v1 = v1.value1;+                                  $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));+                                  return;+                              };+                              if (v1.value0 instanceof ThreeRight) {+                                  $tco_var_v1 = v1.value1;+                                  $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));+                                  return;+                              };+                              throw new Error("Failed pattern match at Data.Map.Internal line 447, column 5 - line 452, column 108: " + [ v1.value0.constructor.name, v2.constructor.name ]);+                          };+                          throw new Error("Failed pattern match at Data.Map.Internal line 444, column 3 - line 444, column 56: " + [ v1.constructor.name, v2.constructor.name ]);+                      };+                      while (!$tco_done) {+                          $tco_result = $tco_loop($tco_var_v1, $copy_v2);+                      };+                      return $tco_result;+                  };+              };+              var comp = Data_Ord.compare(dictOrd);+              var down = function ($copy_ctx) {+                  return function ($copy_v1) {+                      var $tco_var_ctx = $copy_ctx;+                      var $tco_done = false;+                      var $tco_result;+                      function $tco_loop(ctx, v1) {+                          if (v1 instanceof Leaf) {+                              $tco_done = true;+                              return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));+                          };+                          if (v1 instanceof Two) {+                              var v2 = comp(k)(v1.value1);+                              if (v2 instanceof Data_Ordering.EQ) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));+                              };+                              if (v2 instanceof Data_Ordering.LT) {+                                  $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);+                                  $copy_v1 = v1.value0;+                                  return;+                              };+                              $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);+                              $copy_v1 = v1.value3;+                              return;+                          };+                          if (v1 instanceof Three) {+                              var v3 = comp(k)(v1.value1);+                              if (v3 instanceof Data_Ordering.EQ) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));+                              };+                              var v4 = comp(k)(v1.value4);+                              if (v4 instanceof Data_Ordering.EQ) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));+                              };+                              if (v3 instanceof Data_Ordering.LT) {+                                  $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);+                                  $copy_v1 = v1.value0;+                                  return;+                              };+                              if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {+                                  $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);+                                  $copy_v1 = v1.value3;+                                  return;+                              };+                              $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);+                              $copy_v1 = v1.value6;+                              return;+                          };+                          throw new Error("Failed pattern match at Data.Map.Internal line 427, column 3 - line 427, column 55: " + [ ctx.constructor.name, v1.constructor.name ]);+                      };+                      while (!$tco_done) {+                          $tco_result = $tco_loop($tco_var_ctx, $copy_v1);+                      };+                      return $tco_result;+                  };+              };+              return down(Data_List_Types.Nil.value);+          };+      };+  };+  var pop = function (dictOrd) {+      return function (k) {+          var up = function (ctxs) {+              return function (tree) {+                  if (ctxs instanceof Data_List_Types.Nil) {+                      return tree;+                  };+                  if (ctxs instanceof Data_List_Types.Cons) {+                      var $__unused = function (dictPartial1) {+                          return function ($dollar55) {+                              return $dollar55;+                          };+                      };+                      return $__unused()((function () {+                          if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));+                          };+                          if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));+                          };+                          if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {+                              return up(ctxs.value1)(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3));+                          };+                          if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {+                              return up(ctxs.value1)(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree));+                          };+                          if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));+                          };+                          if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));+                          };+                          if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));+                          };+                          if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));+                          };+                          if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));+                          };+                          if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));+                          };+                          if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));+                          };+                          if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));+                          };+                          throw new Error("Failed pattern match at Data.Map.Internal line 497, column 9 - line 514, column 136: " + [ ctxs.value0.constructor.name, tree.constructor.name ]);+                      })());+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 494, column 5 - line 514, column 136: " + [ ctxs.constructor.name ]);+              };+          };+          var removeMaxNode = function (ctx) {+              return function (m) {+                  var $__unused = function (dictPartial1) {+                      return function ($dollar57) {+                          return $dollar57;+                      };+                  };+                  return $__unused()((function () {+                      if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {+                          return up(ctx)(Leaf.value);+                      };+                      if (m instanceof Two) {+                          return removeMaxNode(new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx))(m.value3);+                      };+                      if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {+                          return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);+                      };+                      if (m instanceof Three) {+                          return removeMaxNode(new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx))(m.value6);+                      };+                      throw new Error("Failed pattern match at Data.Map.Internal line 526, column 5 - line 530, column 107: " + [ m.constructor.name ]);+                  })());+              };+          };+          var maxNode = function (m) {+              var $__unused = function (dictPartial1) {+                  return function ($dollar59) {+                      return $dollar59;+                  };+              };+              return $__unused()((function () {+                  if (m instanceof Two && m.value3 instanceof Leaf) {+                      return {+                          key: m.value1,+                          value: m.value2+                      };+                  };+                  if (m instanceof Two) {+                      return maxNode(m.value3);+                  };+                  if (m instanceof Three && m.value6 instanceof Leaf) {+                      return {+                          key: m.value4,+                          value: m.value5+                      };+                  };+                  if (m instanceof Three) {+                      return maxNode(m.value6);+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 517, column 33 - line 521, column 45: " + [ m.constructor.name ]);+              })());+          };+          var comp = Data_Ord.compare(dictOrd);+          var down = function ($copy_ctx) {+              return function ($copy_m) {+                  var $tco_var_ctx = $copy_ctx;+                  var $tco_done = false;+                  var $tco_result;+                  function $tco_loop(ctx, m) {+                      if (m instanceof Leaf) {+                          $tco_done = true;+                          return Data_Maybe.Nothing.value;+                      };+                      if (m instanceof Two) {+                          var v = comp(k)(m.value1);+                          if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));+                          };+                          if (v instanceof Data_Ordering.EQ) {+                              var max = maxNode(m.value0);+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));+                          };+                          if (v instanceof Data_Ordering.LT) {+                              $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);+                              $copy_m = m.value0;+                              return;+                          };+                          $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);+                          $copy_m = m.value3;+                          return;+                      };+                      if (m instanceof Three) {+                          var leaves = (function () {+                              if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {+                                  return true;+                              };+                              return false;+                          })();+                          var v = comp(k)(m.value4);+                          var v3 = comp(k)(m.value1);+                          if (leaves && v3 instanceof Data_Ordering.EQ) {+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));+                          };+                          if (leaves && v instanceof Data_Ordering.EQ) {+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));+                          };+                          if (v3 instanceof Data_Ordering.EQ) {+                              var max = maxNode(m.value0);+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));+                          };+                          if (v instanceof Data_Ordering.EQ) {+                              var max = maxNode(m.value3);+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));+                          };+                          if (v3 instanceof Data_Ordering.LT) {+                              $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);+                              $copy_m = m.value0;+                              return;+                          };+                          if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {+                              $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);+                              $copy_m = m.value3;+                              return;+                          };+                          $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);+                          $copy_m = m.value6;+                          return;+                      };+                      throw new Error("Failed pattern match at Data.Map.Internal line 467, column 34 - line 490, column 80: " + [ m.constructor.name ]);+                  };+                  while (!$tco_done) {+                      $tco_result = $tco_loop($tco_var_ctx, $copy_m);+                  };+                  return $tco_result;+              };+          };+          return down(Data_List_Types.Nil.value);+      };+  };+  var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {+      return function (f) {+          return function (m) {+              return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));+          };+      };+  }, function (f) {+      return function (z) {+          return function (m) {+              return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));+          };+      };+  }, function (f) {+      return function (z) {+          return function (m) {+              return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));+          };+      };+  });+  var empty = Leaf.value;+  var $$delete = function (dictOrd) {+      return function (k) {+          return function (m) {+              return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));+          };+      };+  }; +  var alter = function (dictOrd) {+      return function (f) {+          return function (k) {+              return function (m) {+                  var v = f(lookup(dictOrd)(k)(m));+                  if (v instanceof Data_Maybe.Nothing) {+                      return $$delete(dictOrd)(k)(m);+                  };+                  if (v instanceof Data_Maybe.Just) {+                      return insert(dictOrd)(k)(v.value0)(m);+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 535, column 15 - line 537, column 25: " + [ v.constructor.name ]);+              };+          };+      };+  };+  exports["empty"] = empty;+  exports["insert"] = insert;+  exports["lookup"] = lookup;+  exports["delete"] = $$delete;+  exports["pop"] = pop;+  exports["member"] = member;+  exports["alter"] = alter;+  exports["keys"] = keys;+  exports["values"] = values;+  exports["functorMap"] = functorMap;+  exports["foldableMap"] = foldableMap;+})(PS["Data.Map.Internal"] = PS["Data.Map.Internal"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_ST = PS["Control.Monad.ST"];+  var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array = PS["Data.Array"];+  var Data_Array_ST = PS["Data.Array.ST"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unit = PS["Data.Unit"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var toList = function (v) {+      return Data_Map_Internal.keys(v);+  };+  var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) {+      return function (f) {+          return function ($59) {+              return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($59));+          };+      };+  }, function (f) {+      return function (x) {+          return function ($60) {+              return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($60));+          };+      };+  }, function (f) {+      return function (x) {+          return function ($61) {+              return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($61));+          };+      };+  });+  exports["foldableSet"] = foldableSet;+})(PS["Data.Set"] = PS["Data.Set"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Set = PS["Data.Set"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 +  var keys = function ($0) {+      return Data_Functor["void"](Data_Map_Internal.functorMap)($0);+  };+  exports["keys"] = keys;+})(PS["Data.Map"] = PS["Data.Map"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map = PS["Data.Map"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"];+  var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var action = function (act) {+      return act(Data_Unit.unit);+  };+  exports["action"] = action;+})(PS["Halogen.Query"] = PS["Halogen.Query"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Web_Event_Event = PS["Web.Event.Event"];+  var change = "change";+  exports["change"] = change;+})(PS["Web.HTML.Event.EventTypes"] = PS["Web.HTML.Event.EventTypes"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Web_Event_Event = PS["Web.Event.Event"];+  var click = "click";+  exports["click"] = click;+})(PS["Web.UIEvent.MouseEvent.EventTypes"] = PS["Web.UIEvent.MouseEvent.EventTypes"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Maybe = PS["Data.Maybe"];+  var Foreign = PS["Foreign"];+  var Foreign_Index = PS["Foreign.Index"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Halogen_Query = PS["Halogen.Query"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_Clipboard_ClipboardEvent = PS["Web.Clipboard.ClipboardEvent"];+  var Web_Clipboard_ClipboardEvent_EventTypes = PS["Web.Clipboard.ClipboardEvent.EventTypes"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_HTML_Event_DragEvent = PS["Web.HTML.Event.DragEvent"];+  var Web_HTML_Event_DragEvent_EventTypes = PS["Web.HTML.Event.DragEvent.EventTypes"];+  var Web_HTML_Event_EventTypes = PS["Web.HTML.Event.EventTypes"];+  var Web_TouchEvent_TouchEvent = PS["Web.TouchEvent.TouchEvent"];+  var Web_UIEvent_FocusEvent = PS["Web.UIEvent.FocusEvent"];+  var Web_UIEvent_FocusEvent_EventTypes = PS["Web.UIEvent.FocusEvent.EventTypes"];+  var Web_UIEvent_KeyboardEvent = PS["Web.UIEvent.KeyboardEvent"];+  var Web_UIEvent_KeyboardEvent_EventTypes = PS["Web.UIEvent.KeyboardEvent.EventTypes"];+  var Web_UIEvent_MouseEvent = PS["Web.UIEvent.MouseEvent"];+  var Web_UIEvent_MouseEvent_EventTypes = PS["Web.UIEvent.MouseEvent.EventTypes"];+  var Web_UIEvent_WheelEvent = PS["Web.UIEvent.WheelEvent"];+  var Web_UIEvent_WheelEvent_EventTypes = PS["Web.UIEvent.WheelEvent.EventTypes"];+  var mouseHandler = Unsafe_Coerce.unsafeCoerce;+  var input_ = function (f) {+      return function (v) {+          return Data_Maybe.Just.create(Halogen_Query.action(f));+      };+  };+  var input = function (f) {+      return function (x) {+          return Data_Maybe.Just.create(Halogen_Query.action(f(x)));+      };+  };+  var handler = function (et) {+      return function ($1) {+          return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1));+      };+  };                                                       +  var onClick = function ($2) {+      return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($2));+  };                                                       +  var onSubmit = handler("submit");+  var addForeignPropHandler = function (key) {+      return function (prop) {+          return function (reader) {+              return function (f) {+                  var go = function (a) {+                      return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));+                  };+                  return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {+                      return Data_Either.either(Data_Function["const"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));+                  }));+              };+          };+      };+  };+  var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)("checked")(Foreign.readBoolean);              +  var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)("value")(Foreign.readString);+  exports["input"] = input;+  exports["input_"] = input_;+  exports["handler"] = handler;+  exports["onSubmit"] = onSubmit;+  exports["onClick"] = onClick;+  exports["onValueChange"] = onValueChange;+  exports["onChecked"] = onChecked;+})(PS["Halogen.HTML.Events"] = PS["Halogen.HTML.Events"] || {});+(function(exports) {+    "use strict";+  /* global Symbol */++  var hasArrayFrom = typeof Array.from === "function";+  var hasStringIterator =+    typeof Symbol !== "undefined" &&+    Symbol != null &&+    typeof Symbol.iterator !== "undefined" &&+    typeof String.prototype[Symbol.iterator] === "function";+  var hasFromCodePoint = typeof String.prototype.fromCodePoint === "function";+  var hasCodePointAt = typeof String.prototype.codePointAt === "function";++  exports._unsafeCodePointAt0 = function (fallback) {+    return hasCodePointAt+      ? function (str) { return str.codePointAt(0); }+      : fallback;+  };++  exports._singleton = function (fallback) {+    return hasFromCodePoint ? String.fromCodePoint : fallback;+  };++  exports._take = function (fallback) {+    return function (n) {+      if (hasStringIterator) {+        return function (str) {+          var accum = "";+          var iter = str[Symbol.iterator]();+          for (var i = 0; i < n; ++i) {+            var o = iter.next();+            if (o.done) return accum;+            accum += o.value;+          }+          return accum;+        };+      }+      return fallback(n);+    };+  };++  exports._toCodePointArray = function (fallback) {+    return function (unsafeCodePointAt0) {+      if (hasArrayFrom) {+        return function (str) {+          return Array.from(str, unsafeCodePointAt0);+        };+      }+      return fallback;+    };+  };+})(PS["Data.String.CodePoints"] = PS["Data.String.CodePoints"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.String.CodePoints"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array = PS["Data.Array"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_Enum = PS["Data.Enum"];+  var Data_Eq = PS["Data.Eq"];+  var Data_EuclideanRing = PS["Data.EuclideanRing"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Int = PS["Data.Int"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_String_CodeUnits = PS["Data.String.CodeUnits"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_String_Unsafe = PS["Data.String.Unsafe"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Prelude = PS["Prelude"];+  var unsurrogate = function (lead) {+      return function (trail) {+          return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;+      };+  }; +  var isTrail = function (cu) {+      return 56320 <= cu && cu <= 57343;+  };+  var isLead = function (cu) {+      return 55296 <= cu && cu <= 56319;+  };+  var uncons = function (s) {+      var v = Data_String_CodeUnits.length(s);+      if (v === 0) {+          return Data_Maybe.Nothing.value;+      };+      if (v === 1) {+          return new Data_Maybe.Just({+              head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),+              tail: ""+          });+      };+      var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));+      var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));+      var $21 = isLead(cu0) && isTrail(cu1);+      if ($21) {+          return new Data_Maybe.Just({+              head: unsurrogate(cu0)(cu1),+              tail: Data_String_CodeUnits.drop(2)(s)+          });+      };+      return new Data_Maybe.Just({+          head: cu0,+          tail: Data_String_CodeUnits.drop(1)(s)+      });+  };+  var unconsButWithTuple = function (s) {+      return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {+          return new Data_Tuple.Tuple(v.head, v.tail);+      })(uncons(s));+  };+  var toCodePointArrayFallback = function (s) {+      return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);+  };+  var unsafeCodePointAt0Fallback = function (s) {+      var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));+      var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));+      var $25 = isLead(cu0) && isTrail(cu1);+      if ($25) {+          return unsurrogate(cu0)(cu1);+      };+      return cu0;+  };+  var unsafeCodePointAt0 = $foreign._unsafeCodePointAt0(unsafeCodePointAt0Fallback);+  var toCodePointArray = $foreign._toCodePointArray(toCodePointArrayFallback)(unsafeCodePointAt0);+  var length = function ($51) {+      return Data_Array.length(toCodePointArray($51));+  };+  var fromCharCode = function ($52) {+      return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($52));+  };+  var singletonFallback = function (v) {+      if (v <= 65535) {+          return fromCharCode(v);+      };+      var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;+      var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;+      return fromCharCode(lead) + fromCharCode(trail);+  };                                                                       +  var singleton = $foreign._singleton(singletonFallback);+  var takeFallback = function (n) {+      return function (v) {+          if (n < 1) {+              return "";+          };+          var v1 = uncons(v);+          if (v1 instanceof Data_Maybe.Just) {+              return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);+          };+          return v;+      };+  };+  var take = $foreign._take(takeFallback);+  var drop = function (n) {+      return function (s) {+          return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);+      };+  };+  exports["singleton"] = singleton;+  exports["toCodePointArray"] = toCodePointArray;+  exports["uncons"] = uncons;+  exports["length"] = length;+  exports["take"] = take;+  exports["drop"] = drop;+})(PS["Data.String.CodePoints"] = PS["Data.String.CodePoints"] || {});+(function(exports) {+    "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_String = PS["Data.String"];+  var Data_String_CodePoints = PS["Data.String.CodePoints"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect = PS["Effect"];+  var Global_Unsafe = PS["Global.Unsafe"];+  var Halogen_HTML = PS["Halogen.HTML"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Web_DOM = PS["Web.DOM"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_NodeList = PS["Web.DOM.NodeList"];+  var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_HTML_Location = PS["Web.HTML.Location"];+  var Web_HTML_Window = PS["Web.HTML.Window"];                 ++  // Halogen+  var class_ = function ($54) {+      return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($54));+  };+  var attr = function (a) {+      return Halogen_HTML_Properties.attr(a);+  };+  var _querySelectorAll = function (s) {+      return function (n) {+          return Control_Bind.bindFlipped(Effect.bindEffect)(Web_DOM_NodeList.toArray)(Web_DOM_ParentNode.querySelectorAll(s)(Web_DOM_Element.toParentNode(n)));+      };+  };+  var _querySelector = function (s) {+      return function (n) {+          return Web_DOM_ParentNode.querySelector(s)(Web_DOM_Element.toParentNode(n));+      };+  };+  var _queryBoth$prime$prime = function (v) {+      return function (v1) {+          return function (f) {+              return function __do() {+                  var v2 = _querySelectorAll(v.value0)(v.value1)();+                  var v3 = _querySelectorAll(v1.value0)(v1.value1)();+                  return f(v2)(v3)();+              };+          };+      };+  };+  var _queryBoth$prime = function (v) {+      return function (v1) {+          return function (f) {+              return function __do() {+                  var v2 = _querySelector(v.value0)(v.value1)();+                  var v3 = _querySelectorAll(v1.value0)(v1.value1)();+                  return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2)(function (a) {+                      return f(a)(v3);+                  })();+              };+          };+      };+  };++  // Util+  var _queryBoth = function (v) {+      return function (v1) {+          return function (f) {+              return function __do() {+                  var v2 = _querySelector(v.value0)(v.value1)();+                  var v3 = _querySelector(v1.value0)(v1.value1)();+                  return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2)(function (a) {+                      return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v3)(function (b) {+                          return f(a)(b);+                      });+                  })();+              };+          };+      };+  };+  var _parseQueryString = function (srh) {+      var decode = function ($55) {+          return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll("+")(" ")($55));+      };+      var go = function (kv) {+          var v = Data_String_Common.split("=")(kv);+          if (v.length === 1) {+              return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));+          };+          if (v.length === 2) {+              return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));+          };+          return Data_Maybe.Nothing.value;+      };+      var qs = (function () {+          var srh$prime = Data_String_CodePoints.take(1)(srh);+          var $51 = srh$prime === "#" || srh$prime === "?";+          if ($51) {+              return Data_String_CodePoints.drop(1)(srh);+          };+          return srh;+      })();+      return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {+          return v !== "";+      })(Data_String_Common.split("&")(qs)));+  };+  var _mt_pure = function ($56) {+      return Control_Monad_Maybe_Trans.MaybeT(Control_Applicative.pure(Effect.applicativeEffect)($56));+  };+  var _mt = Control_Monad_Maybe_Trans.MaybeT;+  var _lookupQueryStringValue = function (qs) {+      return function (k) {+          return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($57) {+              return (function (v) {+                  return v === k;+              })(Data_Tuple.fst($57));+          })(qs)));+      };+  };+  var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);+  var _getElementById = function (s) {+      return function ($58) {+          return Web_DOM_NonElementParentNode.getElementById(s)(Web_DOM_Document.toNonElementParentNode(Web_HTML_HTMLDocument.toDocument($58)));+      };+  };+  var _fromNode = function (e) {+      return Data_Maybe.fromJust()(Web_DOM_Element.fromNode(e));+  };+  var _fromElement = function (e) {+      return Data_Maybe.fromJust()(Web_HTML_HTMLElement.fromElement(e));+  };+  var _doc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window);+  var _curQuerystring = function __do() {+      var v = _loc();+      var v1 = Web_HTML_Location.search(v)();+      return _parseQueryString(v1);+  };+  var _body = Control_Bind.bindFlipped(Effect.bindEffect)(function ($59) {+      return Control_Applicative.pure(Effect.applicativeEffect)(Data_Maybe.fromJust()($59));+  })(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_HTMLDocument.body)(_doc));+  exports["class_"] = class_;+  exports["attr"] = attr;+  exports["_queryBoth"] = _queryBoth;+  exports["_queryBoth'"] = _queryBoth$prime;+  exports["_queryBoth''"] = _queryBoth$prime$prime;+  exports["_querySelector"] = _querySelector;+  exports["_querySelectorAll"] = _querySelectorAll;+  exports["_fromNode"] = _fromNode;+  exports["_fromElement"] = _fromElement;+  exports["_getElementById"] = _getElementById;+  exports["_doc"] = _doc;+  exports["_loc"] = _loc;+  exports["_curQuerystring"] = _curQuerystring;+  exports["_parseQueryString"] = _parseQueryString;+  exports["_lookupQueryStringValue"] = _lookupQueryStringValue;+  exports["_body"] = _body;+  exports["_mt"] = _mt;+  exports["_mt_pure"] = _mt_pure;+})(PS["Util"] = PS["Util"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var App = PS["App"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];+  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];+  var Data_Array = PS["Data.Array"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_String = PS["Data.String"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Globals = PS["Globals"];+  var Halogen = PS["Halogen"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_HTML = PS["Halogen.HTML"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];+  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];+  var Util = PS["Util"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_Location = PS["Web.HTML.Location"];                 +  var Eurl = (function () {+      function Eurl(value0) {+          this.value0 = value0;+      };+      Eurl.create = function (value0) {+          return new Eurl(value0);+      };+      return Eurl;+  })();+  var Etitle = (function () {+      function Etitle(value0) {+          this.value0 = value0;+      };+      Etitle.create = function (value0) {+          return new Etitle(value0);+      };+      return Etitle;+  })();+  var Edescription = (function () {+      function Edescription(value0) {+          this.value0 = value0;+      };+      Edescription.create = function (value0) {+          return new Edescription(value0);+      };+      return Edescription;+  })();+  var Etags = (function () {+      function Etags(value0) {+          this.value0 = value0;+      };+      Etags.create = function (value0) {+          return new Etags(value0);+      };+      return Etags;+  })();+  var Eprivate = (function () {+      function Eprivate(value0) {+          this.value0 = value0;+      };+      Eprivate.create = function (value0) {+          return new Eprivate(value0);+      };+      return Eprivate;+  })();+  var Etoread = (function () {+      function Etoread(value0) {+          this.value0 = value0;+      };+      Etoread.create = function (value0) {+          return new Etoread(value0);+      };+      return Etoread;+  })();+  var BEditField = (function () {+      function BEditField(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEditField.create = function (value0) {+          return function (value1) {+              return new BEditField(value0, value1);+          };+      };+      return BEditField;+  })();+  var BEditSubmit = (function () {+      function BEditSubmit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEditSubmit.create = function (value0) {+          return function (value1) {+              return new BEditSubmit(value0, value1);+          };+      };+      return BEditSubmit;+  })();+  var BDeleteAsk = (function () {+      function BDeleteAsk(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BDeleteAsk.create = function (value0) {+          return function (value1) {+              return new BDeleteAsk(value0, value1);+          };+      };+      return BDeleteAsk;+  })();+  var BDestroy = (function () {+      function BDestroy(value0) {+          this.value0 = value0;+      };+      BDestroy.create = function (value0) {+          return new BDestroy(value0);+      };+      return BDestroy;+  })();+  var addbmark = function (b$prime) {+      var render = function (v) {+          var toTextarea = function ($98) {+              return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {+                  return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];+              })(Data_String_Common.split("\x0a")($98)));+          };+          var mmoment = Globals.mmoment8601(v.bm.time);+          var display_exists = Halogen_HTML_Elements.div([ Util.class_("alert") ])([ Halogen_HTML_Core.text("previously saved\xa0"), Halogen_HTML_Elements.span([ Util.class_("when js-moment"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Util.attr("data-iso8601")(v.bm.time) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_("edit_links"), Util.attr("style")("display: inline-block; margin-left: 5px;") ])([ Halogen_HTML_Elements.div([ Util.class_("delete_link") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_("delete") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_("confirm") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_("destroy") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]) ]);+          var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.table_([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([  ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("url") ])([ Halogen_HTML_Core.text("URL") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_("url"), Util.class_("url"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name("url"), Util.attr("size")("70"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(function ($99) {+              return Halogen_HTML_Events.input(BEditField.create)(Eurl.create($99));+          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("title") ])([ Halogen_HTML_Core.text("title") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_("title"), Util.class_("title"), Halogen_HTML_Properties.name("title"), Util.attr("size")("70"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(function ($100) {+              return Halogen_HTML_Events.input(BEditField.create)(Etitle.create($100));+          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("description") ])([ Halogen_HTML_Core.text("description") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_("description"), Halogen_HTML_Properties.id_("description"), Halogen_HTML_Properties.name("description"), Util.attr("cols")("70"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(function ($101) {+              return Halogen_HTML_Events.input(BEditField.create)(Edescription.create($101));+          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("tags") ])([ Halogen_HTML_Core.text("tags") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_("tags"), Util.class_("tags"), Halogen_HTML_Properties.name("tags"), Util.attr("size")("70"), Halogen_HTML_Properties.autocomplete(false), Util.attr("autocapitalize")("off"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(function ($102) {+              return Halogen_HTML_Events.input(BEditField.create)(Etags.create($102));+          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("private") ])([ Halogen_HTML_Core.text("private") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_("private"), Util.class_("private"), Halogen_HTML_Properties.name("private"), Halogen_HTML_Properties.checked(v["edit_bm"]["private"]), Halogen_HTML_Events.onChecked(function ($103) {+              return Halogen_HTML_Events.input(BEditField.create)(Eprivate.create($103));+          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("toread") ])([ Halogen_HTML_Core.text("read later") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_("toread"), Util.class_("toread"), Halogen_HTML_Properties.name("toread"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(function ($104) {+              return Halogen_HTML_Events.input(BEditField.create)(Etoread.create($104));+          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([  ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_("submit"), Halogen_HTML_Properties.value((function () {+              var $26 = v.bm.bid > 0;+              if ($26) {+                  return "update bookmark";+              };+              return "add bookmark";+          })()) ]) ]) ]) ]) ]) ]);+          var display_destroyed = Halogen_HTML_Elements.p([ Util.class_("error") ])([ Halogen_HTML_Core.text("you killed this bookmark") ]);+          return Halogen_HTML_Elements.div_([ (function () {+              var $27 = !v.destroyed;+              if ($27) {+                  return display_edit;+              };+              return display_destroyed;+          })() ]);+      };+      var mkState = function (b) {+          return {+              bm: b,+              edit_bm: b,+              deleteAsk: false,+              destroyed: false+          };+      };+      var $$eval = function (v) {+          if (v instanceof BDeleteAsk) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {+                  var $31 = {};+                  for (var $32 in v1) {+                      if ({}.hasOwnProperty.call(v1, $32)) {+                          $31[$32] = v1[$32];+                      };+                  };+                  $31.deleteAsk = v.value0;+                  return $31;+              }))(function () {+                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+              });+          };+          if (v instanceof BDestroy) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {+                  return v1.bm.bid;+              }))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {+                          var $37 = {};+                          for (var $38 in v2) {+                              if ({}.hasOwnProperty.call(v2, $38)) {+                                  $37[$38] = v2[$38];+                              };+                          };+                          $37.destroyed = true;+                          return $37;+                      }))(function () {+                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);+                      });+                  });+              });+          };+          if (v instanceof BEditField) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {+                      if (v.value0 instanceof Eurl) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $46 = {};+                              for (var $47 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $47)) {+                                      $46[$47] = v1[$47];+                                  };+                              };+                              $46.edit_bm = (function () {+                                  var $43 = {};+                                  for (var $44 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $44)) {+                                          $43[$44] = v1["edit_bm"][$44];+                                      };+                                  };+                                  $43.url = v.value0.value0;+                                  return $43;+                              })();+                              return $46;+                          })());+                      };+                      if (v.value0 instanceof Etitle) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $53 = {};+                              for (var $54 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $54)) {+                                      $53[$54] = v1[$54];+                                  };+                              };+                              $53.edit_bm = (function () {+                                  var $50 = {};+                                  for (var $51 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $51)) {+                                          $50[$51] = v1["edit_bm"][$51];+                                      };+                                  };+                                  $50.title = v.value0.value0;+                                  return $50;+                              })();+                              return $53;+                          })());+                      };+                      if (v.value0 instanceof Edescription) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $60 = {};+                              for (var $61 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $61)) {+                                      $60[$61] = v1[$61];+                                  };+                              };+                              $60.edit_bm = (function () {+                                  var $57 = {};+                                  for (var $58 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $58)) {+                                          $57[$58] = v1["edit_bm"][$58];+                                      };+                                  };+                                  $57.description = v.value0.value0;+                                  return $57;+                              })();+                              return $60;+                          })());+                      };+                      if (v.value0 instanceof Etags) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $67 = {};+                              for (var $68 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $68)) {+                                      $67[$68] = v1[$68];+                                  };+                              };+                              $67.edit_bm = (function () {+                                  var $64 = {};+                                  for (var $65 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $65)) {+                                          $64[$65] = v1["edit_bm"][$65];+                                      };+                                  };+                                  $64.tags = v.value0.value0;+                                  return $64;+                              })();+                              return $67;+                          })());+                      };+                      if (v.value0 instanceof Eprivate) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $74 = {};+                              for (var $75 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $75)) {+                                      $74[$75] = v1[$75];+                                  };+                              };+                              $74.edit_bm = (function () {+                                  var $71 = {};+                                  for (var $72 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $72)) {+                                          $71[$72] = v1["edit_bm"][$72];+                                      };+                                  };+                                  $71["private"] = v.value0.value0;+                                  return $71;+                              })();+                              return $74;+                          })());+                      };+                      if (v.value0 instanceof Etoread) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $81 = {};+                              for (var $82 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $82)) {+                                      $81[$82] = v1[$82];+                                  };+                              };+                              $81.edit_bm = (function () {+                                  var $78 = {};+                                  for (var $79 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $79)) {+                                          $78[$79] = v1["edit_bm"][$79];+                                      };+                                  };+                                  $78.toread = v.value0.value0;+                                  return $78;+                              })();+                              return $81;+                          })());+                      };+                      throw new Error("Failed pattern match at Component.Add line 153, column 5 - line 159, column 68: " + [ v.value0.constructor.name ]);+                  })())(function () {+                      return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                  });+              });+          };+          if (v instanceof BEditSubmit) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {+                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1.edit_bm))))(function () {+                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $88 = {};+                              for (var $89 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $89)) {+                                      $88[$89] = v1[$89];+                                  };+                              };+                              $88.bm = v1.edit_bm;+                              return $88;+                          })()))(function () {+                              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util._loc))(function (v2) {+                                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {+                                      return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util._curQuerystring))(function (v4) {+                                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {+                                              var v5 = Util._lookupQueryStringValue(v4)("next");+                                              if (v5 instanceof Data_Maybe.Just) {+                                                  return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));+                                              };+                                              return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));+                                          })())(function () {+                                              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                                          });+                                      });+                                  });+                              });+                          });+                      });+                  });+              });+          };+          throw new Error("Failed pattern match at Component.Add line 142, column 3 - line 142, column 58: " + [ v.constructor.name ]);+      };+      var app = Globals["app'"](Data_Unit.unit);+      return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({+          initialState: Data_Function["const"](mkState(b$prime)),+          render: render,+          "eval": $$eval,+          receiver: Data_Function["const"](Data_Maybe.Nothing.value)+      });+  };+  exports["BEditField"] = BEditField;+  exports["BEditSubmit"] = BEditSubmit;+  exports["BDeleteAsk"] = BDeleteAsk;+  exports["BDestroy"] = BDestroy;+  exports["Eurl"] = Eurl;+  exports["Etitle"] = Etitle;+  exports["Edescription"] = Edescription;+  exports["Etags"] = Etags;+  exports["Eprivate"] = Eprivate;+  exports["Etoread"] = Etoread;+  exports["addbmark"] = addbmark;+})(PS["Component.Add"] = PS["Component.Add"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var App = PS["App"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];+  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_String = PS["Data.String"];+  var Data_String_CodePoints = PS["Data.String.CodePoints"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Globals = PS["Globals"];+  var Halogen = PS["Halogen"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_HTML = PS["Halogen.HTML"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];+  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];+  var Util = PS["Util"];+  var Web_Event_Event = PS["Web.Event.Event"];                 +  var Eurl = (function () {+      function Eurl(value0) {+          this.value0 = value0;+      };+      Eurl.create = function (value0) {+          return new Eurl(value0);+      };+      return Eurl;+  })();+  var Etitle = (function () {+      function Etitle(value0) {+          this.value0 = value0;+      };+      Etitle.create = function (value0) {+          return new Etitle(value0);+      };+      return Etitle;+  })();+  var Edescription = (function () {+      function Edescription(value0) {+          this.value0 = value0;+      };+      Edescription.create = function (value0) {+          return new Edescription(value0);+      };+      return Edescription;+  })();+  var Etags = (function () {+      function Etags(value0) {+          this.value0 = value0;+      };+      Etags.create = function (value0) {+          return new Etags(value0);+      };+      return Etags;+  })();+  var Eprivate = (function () {+      function Eprivate(value0) {+          this.value0 = value0;+      };+      Eprivate.create = function (value0) {+          return new Eprivate(value0);+      };+      return Eprivate;+  })();+  var Etoread = (function () {+      function Etoread(value0) {+          this.value0 = value0;+      };+      Etoread.create = function (value0) {+          return new Etoread(value0);+      };+      return Etoread;+  })();+  var BStar = (function () {+      function BStar(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BStar.create = function (value0) {+          return function (value1) {+              return new BStar(value0, value1);+          };+      };+      return BStar;+  })();+  var BDeleteAsk = (function () {+      function BDeleteAsk(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BDeleteAsk.create = function (value0) {+          return function (value1) {+              return new BDeleteAsk(value0, value1);+          };+      };+      return BDeleteAsk;+  })();+  var BDestroy = (function () {+      function BDestroy(value0) {+          this.value0 = value0;+      };+      BDestroy.create = function (value0) {+          return new BDestroy(value0);+      };+      return BDestroy;+  })();+  var BEdit = (function () {+      function BEdit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEdit.create = function (value0) {+          return function (value1) {+              return new BEdit(value0, value1);+          };+      };+      return BEdit;+  })();+  var BEditField = (function () {+      function BEditField(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEditField.create = function (value0) {+          return function (value1) {+              return new BEditField(value0, value1);+          };+      };+      return BEditField;+  })();+  var BEditSubmit = (function () {+      function BEditSubmit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEditSubmit.create = function (value0) {+          return function (value1) {+              return new BEditSubmit(value0, value1);+          };+      };+      return BEditSubmit;+  })();+  var BMarkRead = (function () {+      function BMarkRead(value0) {+          this.value0 = value0;+      };+      BMarkRead.create = function (value0) {+          return new BMarkRead(value0);+      };+      return BMarkRead;+  })();+  var BNotifyRemove = (function () {+      function BNotifyRemove() {++      };+      BNotifyRemove.value = new BNotifyRemove();+      return BNotifyRemove;+  })();+  var bmark = function (b$prime) {+      var mkState = function (b) {+          return {+              bm: b,+              edit_bm: b,+              deleteAsk: false,+              edit: false+          };+      };+      var $$eval = function (v) {+          if (v instanceof BStar) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bm.bid)((function () {+                      if (v.value0) {+                          return App.Star.value;+                      };+                      return App.UnStar.value;+                  })())))(function () {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                          var $38 = {};+                          for (var $39 in v1) {+                              if ({}.hasOwnProperty.call(v1, $39)) {+                                  $38[$39] = v1[$39];+                              };+                          };+                          $38.bm = (function () {+                              var $32 = {};+                              for (var $33 in v1.bm) {+                                  if ({}.hasOwnProperty.call(v1.bm, $33)) {+                                      $32[$33] = v1["bm"][$33];+                                  };+                              };+                              $32.selected = v.value0;+                              return $32;+                          })();+                          $38.edit_bm = (function () {+                              var $35 = {};+                              for (var $36 in v1.edit_bm) {+                                  if ({}.hasOwnProperty.call(v1.edit_bm, $36)) {+                                      $35[$36] = v1["edit_bm"][$36];+                                  };+                              };+                              $35.selected = v.value0;+                              return $35;+                          })();+                          return $38;+                      })()))(function () {+                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                      });+                  });+              });+          };+          if (v instanceof BDeleteAsk) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {+                  var $43 = {};+                  for (var $44 in v1) {+                      if ({}.hasOwnProperty.call(v1, $44)) {+                          $43[$44] = v1[$44];+                      };+                  };+                  $43.deleteAsk = v.value0;+                  return $43;+              }))(function () {+                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+              });+          };+          if (v instanceof BDestroy) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {+                  return v1.bm.bid;+              }))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(BNotifyRemove.value))(function () {+                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);+                      });+                  });+              });+          };+          if (v instanceof BMarkRead) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bm.bid))))(function () {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                          var $54 = {};+                          for (var $55 in v1) {+                              if ({}.hasOwnProperty.call(v1, $55)) {+                                  $54[$55] = v1[$55];+                              };+                          };+                          $54.bm = (function () {+                              var $51 = {};+                              for (var $52 in v1.bm) {+                                  if ({}.hasOwnProperty.call(v1.bm, $52)) {+                                      $51[$52] = v1["bm"][$52];+                                  };+                              };+                              $51.toread = false;+                              return $51;+                          })();+                          return $54;+                      })()))(function () {+                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);+                      });+                  });+              });+          };+          if (v instanceof BEdit) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                      var $59 = {};+                      for (var $60 in v1) {+                          if ({}.hasOwnProperty.call(v1, $60)) {+                              $59[$60] = v1[$60];+                          };+                      };+                      $59.edit = v.value0;+                      $59.edit_bm = v1.bm;+                      return $59;+                  })()))(function () {+                      return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                  });+              });+          };+          if (v instanceof BEditField) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {+                      if (v.value0 instanceof Eurl) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $69 = {};+                              for (var $70 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $70)) {+                                      $69[$70] = v1[$70];+                                  };+                              };+                              $69.edit_bm = (function () {+                                  var $66 = {};+                                  for (var $67 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $67)) {+                                          $66[$67] = v1["edit_bm"][$67];+                                      };+                                  };+                                  $66.url = v.value0.value0;+                                  return $66;+                              })();+                              return $69;+                          })());+                      };+                      if (v.value0 instanceof Etitle) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $76 = {};+                              for (var $77 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $77)) {+                                      $76[$77] = v1[$77];+                                  };+                              };+                              $76.edit_bm = (function () {+                                  var $73 = {};+                                  for (var $74 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $74)) {+                                          $73[$74] = v1["edit_bm"][$74];+                                      };+                                  };+                                  $73.title = v.value0.value0;+                                  return $73;+                              })();+                              return $76;+                          })());+                      };+                      if (v.value0 instanceof Edescription) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $83 = {};+                              for (var $84 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $84)) {+                                      $83[$84] = v1[$84];+                                  };+                              };+                              $83.edit_bm = (function () {+                                  var $80 = {};+                                  for (var $81 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $81)) {+                                          $80[$81] = v1["edit_bm"][$81];+                                      };+                                  };+                                  $80.description = v.value0.value0;+                                  return $80;+                              })();+                              return $83;+                          })());+                      };+                      if (v.value0 instanceof Etags) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $90 = {};+                              for (var $91 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $91)) {+                                      $90[$91] = v1[$91];+                                  };+                              };+                              $90.edit_bm = (function () {+                                  var $87 = {};+                                  for (var $88 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $88)) {+                                          $87[$88] = v1["edit_bm"][$88];+                                      };+                                  };+                                  $87.tags = v.value0.value0;+                                  return $87;+                              })();+                              return $90;+                          })());+                      };+                      if (v.value0 instanceof Eprivate) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $97 = {};+                              for (var $98 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $98)) {+                                      $97[$98] = v1[$98];+                                  };+                              };+                              $97.edit_bm = (function () {+                                  var $94 = {};+                                  for (var $95 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $95)) {+                                          $94[$95] = v1["edit_bm"][$95];+                                      };+                                  };+                                  $94["private"] = v.value0.value0;+                                  return $94;+                              })();+                              return $97;+                          })());+                      };+                      if (v.value0 instanceof Etoread) {+                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $104 = {};+                              for (var $105 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $105)) {+                                      $104[$105] = v1[$105];+                                  };+                              };+                              $104.edit_bm = (function () {+                                  var $101 = {};+                                  for (var $102 in v1.edit_bm) {+                                      if ({}.hasOwnProperty.call(v1.edit_bm, $102)) {+                                          $101[$102] = v1["edit_bm"][$102];+                                      };+                                  };+                                  $101.toread = v.value0.value0;+                                  return $101;+                              })();+                              return $104;+                          })());+                      };+                      throw new Error("Failed pattern match at Component.BMark line 212, column 5 - line 218, column 68: " + [ v.value0.constructor.name ]);+                  })())(function () {+                      return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                  });+              });+          };+          if (v instanceof BEditSubmit) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {+                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1.edit_bm))))(function () {+                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $111 = {};+                              for (var $112 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $112)) {+                                      $111[$112] = v1[$112];+                                  };+                              };+                              $111.edit = false;+                              $111.bm = v1.edit_bm;+                              return $111;+                          })()))(function () {+                              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                          });+                      });+                  });+              });+          };+          throw new Error("Failed pattern match at Component.BMark line 187, column 3 - line 187, column 62: " + [ v.constructor.name ]);+      };+      var app = Globals["app'"](Data_Unit.unit);+      var render = function (v) {+          var toTextarea = function ($121) {+              return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {+                  return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];+              })(Data_String_Common.split("\x0a")($121)));+          };+          var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_("star" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(" selected_star")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BStar.create(!v.bm.selected))) ])([ Halogen_HTML_Core.text("\u272d") ]) ]) ]);+          var mmoment = Globals.mmoment8601(v.bm.time);+          var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_("edit_links") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(true))), Util.class_("edit") ])([ Halogen_HTML_Core.text("edit\xa0\xa0") ]), Halogen_HTML_Elements.div([ Util.class_("delete_link") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_("delete") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_("confirm") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_("destroy") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_("read") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text("\xa0\xa0"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BMarkRead.create)), Util.class_("mark_read") ])([ Halogen_HTML_Core.text("mark as read") ]) ])) ]);+          var linkToFilterTag = function (tag) {+              return app.userR + ("/t:" + tag);+          };+          var linkToFilterSingle = function (bid) {+              return app.userR + ("/b:" + Data_Show.show(Data_Show.showInt)(bid));+          };+          var display_edit = [ Halogen_HTML_Elements.div([ Util.class_("edit_bookmark_form active") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_("url edit_form_input"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name("url"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(function ($122) {+              return Halogen_HTML_Events.input(BEditField.create)(Eurl.create($122));+          }) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_("title edit_form_input"), Halogen_HTML_Properties.name("title"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(function ($123) {+              return Halogen_HTML_Events.input(BEditField.create)(Etitle.create($123));+          }) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.attr("style")("margin-top:10px;margin-bottom:5px;") ])([ Halogen_HTML_Core.text(" description:") ]), Halogen_HTML_Elements.textarea([ Util.class_("description edit_form_input"), Halogen_HTML_Properties.name("description"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(function ($124) {+              return Halogen_HTML_Events.input(BEditField.create)(Edescription.create($124));+          }) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_("tags_input_box") ])([ Halogen_HTML_Elements.p([ Util.attr("style")("margin-top:10px") ])([ Halogen_HTML_Core.text(" tags:"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_("tags edit_form_input"), Halogen_HTML_Properties.name("tags"), Halogen_HTML_Properties.autocomplete(false), Util.attr("autocapitalize")("off"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(function ($125) {+              return Halogen_HTML_Events.input(BEditField.create)(Etags.create($125));+          }) ]), Halogen_HTML_Elements.br_ ]) ]), Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_("edit_form_checkboxes") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_("private"), Halogen_HTML_Properties.id_("edit_private"), Halogen_HTML_Properties.name("private"), Halogen_HTML_Properties.checked(v["edit_bm"]["private"]), Halogen_HTML_Events.onChecked(function ($126) {+              return Halogen_HTML_Events.input(BEditField.create)(Eprivate.create($126));+          }) ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("edit_private") ])([ Halogen_HTML_Core.text("private") ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_("toread"), Halogen_HTML_Properties.id_("edit_toread"), Halogen_HTML_Properties.name("toread"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(function ($127) {+              return Halogen_HTML_Events.input(BEditField.create)(Etoread.create($127));+          }) ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("edit_toread") ])([ Halogen_HTML_Core.text("toread") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_("submit edit-button"), Halogen_HTML_Properties.value("save") ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_("reset edit-button"), Halogen_HTML_Properties.value("cancel"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(false))) ]) ]) ]) ];+          var display = [ Halogen_HTML_Elements.div([ Util.class_("display") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target("_blank"), Util.class_("bookmark_title" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(" unread")) ])([ Halogen_HTML_Core.text((function () {+              var $117 = Data_String_Common["null"](v.bm.title);+              if ($117) {+                  return "[no title]";+              };+              return v.bm.title;+          })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_("url_display") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_("description") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_("tags") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common["null"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {+              return Halogen_HTML_Elements.a([ Util.class_("tag" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === ".")(" private")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);+          })(Data_String_Common.split(" ")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_("when js-moment"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Util.attr("data-iso8601")(v.bm.time), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.bid)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];+          var clearBoth = [ Halogen_HTML_Elements.div([ Util.attr("style")("clear:both") ])([  ]) ];+          var bookmark = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_("bookmark" + Data_Monoid.guard(Data_Monoid.monoidString)(v["bm"]["private"])(" private")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {+              if (v.edit) {+                  return display_edit;+              };+              return Data_Semigroup.append(Data_Semigroup.semigroupArray)(display)(clearBoth);+          })()));+          return Halogen_HTML_Elements.div_(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ bookmark ])(clearBoth));+      };+      return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({+          initialState: Data_Function["const"](mkState(b$prime)),+          render: render,+          "eval": $$eval,+          receiver: Data_Function["const"](Data_Maybe.Nothing.value)+      });+  };+  exports["BStar"] = BStar;+  exports["BDeleteAsk"] = BDeleteAsk;+  exports["BDestroy"] = BDestroy;+  exports["BEdit"] = BEdit;+  exports["BEditField"] = BEditField;+  exports["BEditSubmit"] = BEditSubmit;+  exports["BMarkRead"] = BMarkRead;+  exports["Eurl"] = Eurl;+  exports["Etitle"] = Etitle;+  exports["Edescription"] = Edescription;+  exports["Etags"] = Etags;+  exports["Eprivate"] = Eprivate;+  exports["Etoread"] = Etoread;+  exports["BNotifyRemove"] = BNotifyRemove;+  exports["bmark"] = bmark;+})(PS["Component.BMark"] = PS["Component.BMark"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Component_BMark = PS["Component.BMark"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff = PS["Effect.Aff"];+  var Halogen = PS["Halogen"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_HTML = PS["Halogen.HTML"];+  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];+  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];                 +  var HandleBMessage = (function () {+      function HandleBMessage(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      HandleBMessage.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new HandleBMessage(value0, value1, value2);+              };+          };+      };+      return HandleBMessage;+  })();+  var removeBookmark = function (bookmarkId) {+      return function (st) {+          return Data_Array.filter(function (b) {+              return b.bid !== bookmarkId;+          })(st);+      };+  };+  var blist = function (st) {+      var renderBookmark = function (b) {+          return Halogen_HTML.slot(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(Halogen_HTML_Events.input(HandleBMessage.create(b.bid)));+      };+      var render = function (bms) {+          return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderBookmark)(bms));+      };+      var $$eval = function (v) {+          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(removeBookmark(v.value0)))(function () {+              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value2);+          });+      };+      return Halogen_Component.parentComponent(Data_Ord.ordInt)({+          initialState: Data_Function["const"](st),+          render: render,+          "eval": $$eval,+          receiver: Data_Function["const"](Data_Maybe.Nothing.value)+      });+  };+  exports["HandleBMessage"] = HandleBMessage;+  exports["blist"] = blist;+  exports["removeBookmark"] = removeBookmark;+})(PS["Component.BList"] = PS["Component.BList"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Effect_Aff = PS["Effect.Aff"];+  var Prelude = PS["Prelude"];+  var MonadFork = function (Functor1, Monad0, fork, join, suspend) {+      this.Functor1 = Functor1;+      this.Monad0 = Monad0;+      this.fork = fork;+      this.join = join;+      this.suspend = suspend;+  };+  var suspend = function (dict) {+      return dict.suspend;+  };+  var monadForkAff = new MonadFork(function () {+      return Effect_Aff.functorFiber;+  }, function () {+      return Effect_Aff.monadAff;+  }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);+  var join = function (dict) {+      return dict.join;+  };+  var fork = function (dict) {+      return dict.fork;+  };+  exports["fork"] = fork;+  exports["join"] = join;+  exports["suspend"] = suspend;+  exports["MonadFork"] = MonadFork;+  exports["monadForkAff"] = monadForkAff;+})(PS["Control.Monad.Fork.Class"] = PS["Control.Monad.Fork.Class"] || {});+(function(exports) {+    "use strict";++  exports.warn = function (s) {+    return function () {+      console.warn(s);+      return {};+    };+  };+})(PS["Effect.Console"] = PS["Effect.Console"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Console"];+  var Data_Show = PS["Data.Show"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  exports["warn"] = $foreign.warn;+})(PS["Effect.Console"] = PS["Effect.Console"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map = PS["Data.Map"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Traversable = PS["Data.Traversable"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Ref = PS["Effect.Ref"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM = PS["Web.DOM"];+  var unRenderStateX = Unsafe_Coerce.unsafeCoerce;+  var unDriverStateX = Unsafe_Coerce.unsafeCoerce;+  var renderStateX_ = function (dictApplicative) {+      return function (f) {+          return unDriverStateX(function (st) {+              return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);+          });+      };+  };+  var mkRenderStateX = function (v) {+      return Unsafe_Coerce.unsafeCoerce;+  };+  var renderStateX = function (dictFunctor) {+      return function (f) {+          return unDriverStateX(function (st) {+              return mkRenderStateX(st.prjQuery)(f(st.rendering));+          });+      };+  };+  var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;+  var initDriverState = function (component) {+      return function (input) {+          return function (handler) {+              return function (prjQuery) {+                  return function (lchs) {+                      return function __do() {+                          var v = Effect_Ref["new"]({})();+                          var v1 = Effect_Ref["new"](Data_Map_Internal.empty)();+                          var v2 = Effect_Ref["new"](Data_Map_Internal.empty)();+                          var v3 = Effect_Ref["new"](Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))();+                          var v4 = Effect_Ref["new"](new Data_Maybe.Just(Data_List_Types.Nil.value))();+                          var v5 = Effect_Ref["new"](Data_Maybe.Nothing.value)();+                          var v6 = Effect_Ref["new"](0)();+                          var v7 = Effect_Ref["new"](new Data_Maybe.Just(Data_Map_Internal.empty))();+                          var ds = {+                              component: component,+                              state: component.initialState(input),+                              refs: Data_Map_Internal.empty,+                              children: Data_Map_Internal.empty,+                              childrenIn: v1,+                              childrenOut: v2,+                              selfRef: v,+                              handler: handler,+                              pendingQueries: v3,+                              pendingOuts: v4,+                              pendingHandlers: v5,+                              rendering: Data_Maybe.Nothing.value,+                              prjQuery: prjQuery,+                              fresh: v6,+                              subscriptions: v7,+                              lifecycleHandlers: lchs+                          };+                          Effect_Ref.write(ds)(v)();+                          return mkDriverStateXRef(v);+                      };+                  };+              };+          };+      };+  };+  exports["unDriverStateX"] = unDriverStateX;+  exports["mkDriverStateXRef"] = mkDriverStateXRef;+  exports["renderStateX"] = renderStateX;+  exports["renderStateX_"] = renderStateX_;+  exports["unRenderStateX"] = unRenderStateX;+  exports["initDriverState"] = initDriverState;+})(PS["Halogen.Aff.Driver.State"] = PS["Halogen.Aff.Driver.State"] || {});+(function(exports) {+    "use strict";++  exports.reallyUnsafeRefEq = function (a) {+    return function (b) {+      return a === b;+    };+  };+})(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Unsafe.Reference"]; +  var unsafeRefEq = $foreign.reallyUnsafeRefEq;+  exports["unsafeRefEq"] = unsafeRefEq;+})(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Applicative_Free = PS["Control.Applicative.Free"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Coroutine = PS["Control.Coroutine"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"];+  var Control_Monad_Free = PS["Control.Monad.Free"];+  var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Coyoneda = PS["Data.Coyoneda"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map = PS["Data.Map"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Set = PS["Data.Set"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Ref = PS["Effect.Ref"];+  var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"];+  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];+  var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"];+  var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];+  var Unsafe_Reference = PS["Unsafe.Reference"];                 +  var queuingHandler = function (handler) {+      return function (ref) {+          return function (message) {+              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {+                  if (v instanceof Data_Maybe.Nothing) {+                      return handler(message);+                  };+                  if (v instanceof Data_Maybe.Just) {+                      return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(handler(message), v.value0)))(ref));+                  };+                  throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 171, column 3 - line 175, column 59: " + [ v.constructor.name ]);+              });+          };+      };+  };+  var handleLifecycle = function (lchs) {+      return function (f) {+          return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({+              initializers: Data_List_Types.Nil.value,+              finalizers: Data_List_Types.Nil.value+          })(lchs)))(function () {+              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {+                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {+                          return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);+                          });+                      });+                  });+              });+          });+      };+  };+  var $$eval = function (render) {+      return function (r) {+          var go = function (ref) {+              return function (v) {+                  if (v instanceof Halogen_Query_HalogenM.State) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          var v2 = v.value0(v1.state);+                          if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);+                          };+                          if (Data_Boolean.otherwise) {+                              return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({+                                  component: v1.component,+                                  state: v2.value1,+                                  refs: v1.refs,+                                  children: v1.children,+                                  childrenIn: v1.childrenIn,+                                  childrenOut: v1.childrenOut,+                                  selfRef: v1.selfRef,+                                  handler: v1.handler,+                                  pendingQueries: v1.pendingQueries,+                                  pendingOuts: v1.pendingOuts,+                                  pendingHandlers: v1.pendingHandlers,+                                  rendering: v1.rendering,+                                  prjQuery: v1.prjQuery,+                                  fresh: v1.fresh,+                                  subscriptions: v1.subscriptions,+                                  lifecycleHandlers: v1.lifecycleHandlers+                              })(ref)))(function () {+                                  return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () {+                                      return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);+                                  });+                              });+                          };+                          throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 76, column 7 - line 82, column 21: " + [ v2.constructor.name ]);+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.Subscribe) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) {+                              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref["modify'"](function (i) {+                                  return {+                                      state: i + 1 | 0,+                                      value: i+                                  };+                              })(v1.fresh)))(function (v3) {+                                  var done$prime = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions)))(function (v4) {+                                      return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Data_Ord.ordInt)(v3))(v4))(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal["delete"](Data_Ord.ordInt)(v3)))(v1.subscriptions)));+                                  });+                                  return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Data_Ord.ordInt)(v3)(done$prime)))(v1.subscriptions)))(function () {+                                      var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine["await"](Effect_Aff.monadAff))(function (v4) {+                                          return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions))))(function (v5) {+                                              return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(evalF(ref)(v4)))(function (v6) {+                                                  return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer);+                                              }));+                                          });+                                      });+                                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v2.producer)))(function () {+                                          return done$prime;+                                      });+                                  });+                              });+                          })))(function (v2) {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);+                          });+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.Lift) {+                      return v.value0;+                  };+                  if (v instanceof Halogen_Query_HalogenM.Halt) {+                      return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(v.value0));+                  };+                  if (v instanceof Halogen_Query_HalogenM.GetSlots) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_List.fromFoldable(Data_Set.foldableSet)(Data_Map.keys(v1.children)))));+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.CheckSlot) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children)));+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.ChildQuery) {+                      return evalChildQuery(ref)(v.value0)(v.value1);+                  };+                  if (v instanceof Halogen_Query_HalogenM.Raise) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);+                          });+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.Par) {+                      return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($103) {+                          return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(ref)($103));+                      })(v.value0)));+                  };+                  if (v instanceof Halogen_Query_HalogenM.Fork) {+                      return Halogen_Query_ForkF.unFork(function (v1) {+                          return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0)))(function (v2) {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Function.flip(Effect_Aff.killFiber)(v2)));+                          });+                      })(v.value0);+                  };+                  if (v instanceof Halogen_Query_HalogenM.GetRef) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v.value0)(v1.refs)));+                      });+                  };+                  throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 73, column 12 - line 128, column 33: " + [ v.constructor.name ]);+              };+          };+          var evalM = function (ref) {+              return function (v) {+                  return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v);+              };+          };+          var evalF = function (ref) {+              return function (q) {+                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {+                      var v1 = v["component"]["eval"](q);+                      return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v1);+                  });+              };+          };+          var evalChildQuery = function (ref) {+              return function (p) {+                  return Data_Coyoneda.unCoyoneda(function (k) {+                      return function (q) {+                          return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {+                              var v1 = Data_Map_Internal.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children);+                              if (v1 instanceof Data_Maybe.Just) {+                                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.value0)))(function (v2) {+                                      return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {+                                          var v3 = ds.prjQuery(q);+                                          if (v3 instanceof Data_Maybe.Just) {+                                              return Data_Functor.map(Effect_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0));+                                          };+                                          if (v3 instanceof Data_Maybe.Nothing) {+                                              return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error("Query projection failed for child query"));+                                          };+                                          throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 141, column 32 - line 143, column 82: " + [ v3.constructor.name ]);+                                      })(v2);+                                  });+                              };+                              if (v1 instanceof Data_Maybe.Nothing) {+                                  return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error("Slot lookup failed for child query"));+                              };+                              throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 138, column 5 - line 144, column 73: " + [ v1.constructor.name ]);+                          });+                      };+                  });+              };+          };+          return function (v) {+              if (v instanceof Halogen_Query_InputF.RefUpdate) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(function (v1) {+                      return {+                          component: v1.component,+                          state: v1.state,+                          refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function["const"](v.value1))(v.value0)(v1.refs),+                          children: v1.children,+                          childrenIn: v1.childrenIn,+                          childrenOut: v1.childrenOut,+                          selfRef: v1.selfRef,+                          handler: v1.handler,+                          pendingQueries: v1.pendingQueries,+                          pendingOuts: v1.pendingOuts,+                          pendingHandlers: v1.pendingHandlers,+                          rendering: v1.rendering,+                          prjQuery: v1.prjQuery,+                          fresh: v1.fresh,+                          subscriptions: v1.subscriptions,+                          lifecycleHandlers: v1.lifecycleHandlers+                      };+                  })(r)))(function () {+                      return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value2);+                  });+              };+              if (v instanceof Halogen_Query_InputF.Query) {+                  return evalF(r)(v.value0);+              };+              throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 59, column 3 - line 64, column 25: " + [ v.constructor.name ]);+          };+      };+  };+  exports["handleLifecycle"] = handleLifecycle;+  exports["eval"] = $$eval;+  exports["queuingHandler"] = queuingHandler;+})(PS["Halogen.Aff.Driver.Eval"] = PS["Halogen.Aff.Driver.Eval"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Coroutine = PS["Control.Coroutine"];+  var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map = PS["Data.Map"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_AVar = PS["Effect.Aff.AVar"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Console = PS["Effect.Console"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Ref = PS["Effect.Ref"];+  var Halogen = PS["Halogen"];+  var Halogen_Aff_Driver_Eval = PS["Halogen.Aff.Driver.Eval"];+  var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];                 +  var newLifecycleHandlers = Effect_Ref["new"]({+      initializers: Data_List_Types.Nil.value,+      finalizers: Data_List_Types.Nil.value+  });+  var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));+  var runUI = function (renderSpec) {+      return function (component) {+          return function (i) {+              var subscribe = function (fresh) {+                  return function (ref) {+                      return function (consumer) {+                          return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {+                              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {+                                  var v1 = Effect_Ref.read(fresh)();+                                  Effect_Ref.modify_(function (v2) {+                                      return v2 + 1 | 0;+                                  })(fresh)();+                                  Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();+                                  return v1;+                              }))(function (v1) {+                                  var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.Left.create)(Effect_Aff_AVar.take(v)));+                                  return Data_Functor["void"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {+                                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal["delete"](Data_Ord.ordInt)(v1))(ref)))(function () {+                                          return Effect_Aff_AVar.kill(Effect_Exception.error("ended"))(v);+                                      });+                                  })));+                              });+                          });+                      };+                  };+              };+              var rootHandler = function (ref) {+                  return function (message) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {+                          return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));+                      });+                  };+              };+              var handlePending = function (ref) {+                  return function __do() {+                      var v = Effect_Ref.read(ref)();+                      Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();+                      return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($63) {+                          return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($63)));+                      })();+                  };+              };+              var cleanupSubscriptions = function (v) {+                  return function __do() {+                      Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($64) {+                          return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))($64));+                      }))(Effect_Ref.read(v.subscriptions))();+                      return Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();+                  };+              };+              var squashChildInitializers = function (lchs) {+                  return function (preInits) {+                      return Halogen_Aff_Driver_State.unDriverStateX(function (st) {+                          var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($65) {+                              return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($65));+                          })(st.component.initializer);+                          return Effect_Ref.modify_(function (handlers) {+                              return {+                                  initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {+                                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.sequence_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(parentInitializer))(function () {+                                          return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {+                                              handlePending(st.pendingQueries)();+                                              return handlePending(st.pendingOuts)();+                                          });+                                      });+                                  }), preInits),+                                  finalizers: handlers.finalizers+                              };+                          })(lchs);+                      });+                  };+              };+              var runComponent = function (lchs) {+                  return function (handler) {+                      return function (j) {+                          return function (prjQuery) {+                              return Halogen_Component.unComponent(function (c) {+                                  return function __do() {+                                      var v = newLifecycleHandlers();+                                      var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(prjQuery)(v)();+                                      var v2 = Effect_Ref.read(lchs)();+                                      Effect_Ref.write({+                                          initializers: Data_List_Types.Nil.value,+                                          finalizers: v2.finalizers+                                      })(lchs)();+                                      Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($66) {+                                          return render(lchs)((function (v3) {+                                              return v3.selfRef;+                                          })($66));+                                      }))(Effect_Ref.read(v1))();+                                      Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();+                                      return v1;+                                  };+                              });+                          };+                      };+                  };+              };+              var renderChild = function (lchs) {+                  return function (handler) {+                      return function (mkOrdBox) {+                          return function (childrenInRef) {+                              return function (childrenOutRef) {+                                  return Halogen_Component.unComponentSlot(function (p) {+                                      return function (ctor) {+                                          return function (input) {+                                              return function (inputQuery) {+                                                  return function (outputQuery) {+                                                      return function (prjQuery) {+                                                          var ordP = mkOrdBox(p);+                                                          return function __do() {+                                                              var v = Effect_Ref.read(childrenInRef)();+                                                              var v1 = (function () {+                                                                  var v1 = Data_Map_Internal.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v);+                                                                  if (v1 instanceof Data_Maybe.Just) {+                                                                      Effect_Ref.write(v1.value0.value1)(childrenInRef)();+                                                                      Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) {+                                                                          return function __do() {+                                                                              var v2 = Effect_Ref.read(v1.value0.value0)();+                                                                              return Halogen_Aff_Driver_State.unDriverStateX(function (st) {+                                                                                  return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($67) {+                                                                                      return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($67)));+                                                                                  });+                                                                              })(v2)();+                                                                          };+                                                                      })();+                                                                      return v1.value0.value0;+                                                                  };+                                                                  if (v1 instanceof Data_Maybe.Nothing) {+                                                                      return runComponent(lchs)(function ($68) {+                                                                          return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($68));+                                                                      })(input)(prjQuery)(ctor)();+                                                                  };+                                                                  throw new Error("Failed pattern match at Halogen.Aff.Driver line 258, column 14 - line 266, column 92: " + [ v1.constructor.name ]);+                                                              })();+                                                              var v2 = Data_Functor.map(Effect.functorEffect)(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(Effect_Ref.read(childrenOutRef))();+                                                              Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))();+                                                              Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v1))(childrenOutRef)();+                                                              return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {+                                                                  if (v3 instanceof Data_Maybe.Nothing) {+                                                                      return Effect_Exception["throw"]("Halogen internal error: child was not initialized in renderChild");+                                                                  };+                                                                  if (v3 instanceof Data_Maybe.Just) {+                                                                      return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));+                                                                  };+                                                                  throw new Error("Failed pattern match at Halogen.Aff.Driver line 271, column 37 - line 273, column 50: " + [ v3.constructor.name ]);+                                                              }))();+                                                          };+                                                      };+                                                  };+                                              };+                                          };+                                      };+                                  });+                              };+                          };+                      };+                  };+              };+              var render = function (lchs) {+                  return function ($$var) {+                      return function __do() {+                          var v = Effect_Ref.read($$var)();+                          var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();+                          Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();+                          Effect_Ref.write(Data_Map_Internal.empty)(v.childrenOut)();+                          Effect_Ref.write(v.children)(v.childrenIn)();+                          var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($69) {+                              return Data_Functor["void"](Effect_Aff.functorAff)(evalF(v.selfRef)($69));+                          })(v.pendingHandlers);+                          var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) {+                              return handler(Halogen_Query_InputF.Query.create($70));+                          })(v.pendingQueries);+                          var v2 = renderSpec.render(function ($71) {+                              return handleAff(handler($71));+                          })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();+                          var v3 = Effect_Ref.read(v.childrenOut)();+                          Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v.childrenIn))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function (childVar) {+                              return function __do() {+                                  var v4 = Effect_Ref.read(childVar)();+                                  Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v4)();+                                  return finalize(lchs)(v4)();+                              };+                          }))();+                          Effect_Ref.modify_(function (v4) {+                              return {+                                  rendering: new Data_Maybe.Just(v2),+                                  children: v3,+                                  component: v4.component,+                                  state: v4.state,+                                  refs: v4.refs,+                                  childrenIn: v4.childrenIn,+                                  childrenOut: v4.childrenOut,+                                  selfRef: v4.selfRef,+                                  handler: v4.handler,+                                  pendingQueries: v4.pendingQueries,+                                  pendingOuts: v4.pendingOuts,+                                  pendingHandlers: v4.pendingHandlers,+                                  prjQuery: v4.prjQuery,+                                  fresh: v4.fresh,+                                  subscriptions: v4.subscriptions,+                                  lifecycleHandlers: v4.lifecycleHandlers+                              };+                          })(v.selfRef)();+                          return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v4) {+                              return function __do() {+                                  var v5 = Effect_Ref.read(v.pendingHandlers)();+                                  Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();+                                  Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($72) {+                                      return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($72)));+                                  })(v5)();+                                  var v6 = Effect_Ref.read(v.pendingHandlers)();+                                  var $57 = Data_Maybe.maybe(false)(Data_List["null"])(v6);+                                  if ($57) {+                                      return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();+                                  };+                                  return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);+                              };+                          }))();+                      };+                  };+              };+              var finalize = function (lchs) {+                  return Halogen_Aff_Driver_State.unDriverStateX(function (st) {+                      return function __do() {+                          cleanupSubscriptions(st)();+                          Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($73) {+                              return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($73));+                          })(st.component.finalizer))(function (f) {+                              return Effect_Ref.modify_(function (handlers) {+                                  return {+                                      initializers: handlers.initializers,+                                      finalizers: new Data_List_Types.Cons(f, handlers.finalizers)+                                  };+                              })(lchs);+                          })();+                          return Data_Foldable.for_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(finalize(lchs))(Effect_Ref.read))();+                      };+                  });+              };+              var evalF = function (ref) {+                  return Halogen_Aff_Driver_Eval["eval"](render)(ref);+              };+              var evalDriver = function (ref) {+                  return function (prjQuery) {+                      return function (q) {+                          var v = prjQuery(q);+                          if (v instanceof Data_Maybe.Just) {+                              return evalF(ref)(new Halogen_Query_InputF.Query(v.value0));+                          };+                          if (v instanceof Data_Maybe.Nothing) {+                              return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Exception.throwException(Effect_Exception.error("Halogen internal error: query projection failed in runUI'")));+                          };+                          throw new Error("Failed pattern match at Halogen.Aff.Driver line 136, column 5 - line 138, column 113: " + [ v.constructor.name ]);+                      };+                  };+              };+              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {+                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref["new"](0)))(function (v1) {+                      return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {+                          var v2 = Effect_Ref["new"](Data_Map_Internal.empty)();+                          return Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Effect_Ref.read))(Halogen_Aff_Driver_State.unDriverStateX(function (st) {+                              return Control_Applicative.pure(Effect.applicativeEffect)({+                                  query: evalDriver(st.selfRef)(st.prjQuery),+                                  subscribe: subscribe(v1)(v2)+                              });+                          }))();+                      });+                  });+              });+          };+      };+  };+  exports["runUI"] = runUI;+})(PS["Halogen.Aff.Driver"] = PS["Halogen.Aff.Driver"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_Event_EventTypes = PS["Web.HTML.Event.EventTypes"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_HTMLDocument_ReadyState = PS["Web.HTML.HTMLDocument.ReadyState"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_HTML_Window = PS["Web.HTML.Window"];                 +  var selectElement = function (query) {+      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {+          return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));+      })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {+          return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));+      });+  };+  var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));+  exports["selectElement"] = selectElement;+  exports["runHalogenAff"] = runHalogenAff;+})(PS["Halogen.Aff.Util"] = PS["Halogen.Aff.Util"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect = PS["Effect"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Halogen_VDom_Util = PS["Halogen.VDom.Util"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Node = PS["Web.DOM.Node"];+  var eqElemSpec = function (a, b) {+      if (a.value1 === b.value1) {+          if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) {+              return true;+          };+          if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) {+              return true;+          };+          return false;+      };+      return false;+  };+  var buildWidget = (function () {+      var patch = function (build, v) {+          return function (v1) {+              if (v1 instanceof Halogen_VDom_Types.Grafted) {+                  return patch(build, v)(Halogen_VDom_Types.runGraft(v1.value0));+              };+              if (v1 instanceof Halogen_VDom_Types.Widget) {+                  var v2 = v.value1(v1.value0);+                  return new Halogen_VDom_Machine.Step(v2.value0, patch(build, v2), v2.value2);+              };+              v.value2();+              return build(v1);+          };+      };+      var render = function (v, build, w) {+          var v1 = v.buildWidget(v)(w);+          return new Halogen_VDom_Machine.Step(v1.value0, patch(build, v1), v1.value2);+      };+      return render;+  })();+  var buildText = (function () {+      var patch = function (build, halt, node, s1) {+          return function (v) {+              if (v instanceof Halogen_VDom_Types.Grafted) {+                  return patch(build, halt, node, s1)(Halogen_VDom_Types.runGraft(v.value0));+              };+              if (v instanceof Halogen_VDom_Types.Text) {+                  var res = new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v.value0), halt);+                  var $84 = s1 === v.value0;+                  if ($84) {+                      return res;+                  };+                  Halogen_VDom_Util.setTextContent(v.value0, node);+                  return res;+              };+              halt();+              return build(v);+          };+      };+      var done = function (node) {+          return function __do() {+              var v = Halogen_VDom_Util.parentNode(node);+              return Halogen_VDom_Util.removeChild(node, v);+          };+      };+      var render = function (v, build, s) {+          var v1 = Halogen_VDom_Util.createTextNode(s, v.document);+          var halt = done(v1);+          return new Halogen_VDom_Machine.Step(v1, patch(build, halt, v1, s), halt);+      };+      return render;+  })();+  var buildKeyed = (function () {+      var done = function (node, attrs, steps) {+          return function __do() {+              var v = Halogen_VDom_Util.parentNode(node);+              Halogen_VDom_Util.removeChild(node, v);+              Halogen_VDom_Util.forInE(steps, function (v1, v2) {+                  return v2.value2();+              });+              return Halogen_VDom_Machine.halt(attrs)();+          };+      };+      var patch = function (build, halt, node, attrs, v, ch1, len1) {+          return function (v1) {+              if (v1 instanceof Halogen_VDom_Types.Grafted) {+                  return patch(build, halt, node, attrs, v, ch1, len1)(Halogen_VDom_Types.runGraft(v1.value0));+              };+              if (v1 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v, v1.value0)) {+                  var v2 = Data_Array.length(v1.value1);+                  if (len1 === 0 && v2 === 0) {+                      var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);+                      var halt$prime = done(node, v4, ch1);+                      return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1, 0), halt$prime);+                  };+                  var onThis = function (v4, v5) {+                      return v5.value2();+                  };+                  var onThese = function (v4, ix$prime, v5, v6) {+                      var v7 = v5.value1(v6.value1);+                      Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node);+                      return v7;+                  };+                  var onThat = function (v4, ix, v5) {+                      var v6 = build(v5.value1);+                      Halogen_VDom_Util.insertChildIx(ix, v6.value0, node);+                      return v6;+                  };+                  var v4 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v1.value1, Data_Tuple.fst, onThese, onThis, onThat);+                  var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);+                  var halt$prime = done(node, v5, v4);+                  return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4, v2), halt$prime);+              };+              halt();+              return build(v1);+          };+      };+      var render = function (v, build, v1, ch1) {+          var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);+          var node = Web_DOM_Element.toNode(v2);+          var onChild = function (k, ix, v3) {+              var v4 = build(v3.value1);+              Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);+              return v4;+          };+          var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);+          var v4 = v.buildAttributes(v2)(v1.value2);+          var halt = done(node, v4, v3);+          return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3, Data_Array.length(ch1)), halt);+      };+      return render;+  })();+  var buildElem = (function () {+      var done = function (node, attrs, steps) {+          return function __do() {+              var v = Halogen_VDom_Util.parentNode(node);+              Halogen_VDom_Util.removeChild(node, v);+              Effect.foreachE(steps)(Halogen_VDom_Machine.halt)();+              return Halogen_VDom_Machine.halt(attrs)();+          };+      };+      var patch = function (build, halt, node, attrs, v, ch1) {+          return function (v1) {+              if (v1 instanceof Halogen_VDom_Types.Grafted) {+                  return patch(build, halt, node, attrs, v, ch1)(Halogen_VDom_Types.runGraft(v1.value0));+              };+              if (v1 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v, v1.value0)) {+                  var v2 = Data_Array.length(v1.value1);+                  var v3 = Data_Array.length(ch1);+                  if (v3 === 0 && v2 === 0) {+                      var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);+                      var halt$prime = done(node, v4, ch1);+                      return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1), halt$prime);+                  };+                  var onThis = function (ix, v4) {+                      return v4.value2();+                  };+                  var onThese = function (ix, v4, vdom) {+                      var v5 = v4.value1(vdom);+                      Halogen_VDom_Util.insertChildIx(ix, v5.value0, node);+                      return v5;+                  };+                  var onThat = function (ix, vdom) {+                      var v4 = build(vdom);+                      Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);+                      return v4;+                  };+                  var v4 = Halogen_VDom_Util.diffWithIxE(ch1, v1.value1, onThese, onThis, onThat);+                  var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);+                  var halt$prime = done(node, v5, v4);+                  return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4), halt$prime);+              };+              halt();+              return build(v1);+          };+      };+      var render = function (v, build, v1, ch1) {+          var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);+          var node = Web_DOM_Element.toNode(v2);+          var onChild = function (ix, child) {+              var v3 = build(child);+              Halogen_VDom_Util.insertChildIx(ix, v3.value0, node);+              return v3;+          };+          var v3 = Halogen_VDom_Util.forE(ch1, onChild);+          var v4 = v.buildAttributes(v2)(v1.value2);+          var halt = done(node, v4, v3);+          return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3), halt);+      };+      return render;+  })();+  var buildVDom = function (spec) {+      var build = function (v) {+          if (v instanceof Halogen_VDom_Types.Text) {+              return buildText(spec, build, v.value0);+          };+          if (v instanceof Halogen_VDom_Types.Elem) {+              return buildElem(spec, build, v.value0, v.value1);+          };+          if (v instanceof Halogen_VDom_Types.Keyed) {+              return buildKeyed(spec, build, v.value0, v.value1);+          };+          if (v instanceof Halogen_VDom_Types.Widget) {+              return buildWidget(spec, build, v.value0);+          };+          if (v instanceof Halogen_VDom_Types.Grafted) {+              return build(Halogen_VDom_Types.runGraft(v.value0));+          };+          throw new Error("Failed pattern match at Halogen.VDom.DOM line 58, column 27 - line 63, column 52: " + [ v.constructor.name ]);+      };+      return build;+  };+  exports["buildVDom"] = buildVDom;+  exports["buildText"] = buildText;+  exports["buildElem"] = buildElem;+  exports["buildKeyed"] = buildKeyed;+  exports["buildWidget"] = buildWidget;+})(PS["Halogen.VDom.DOM"] = PS["Halogen.VDom.DOM"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Ref = PS["Effect.Ref"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Halogen_Aff_Driver = PS["Halogen.Aff.Driver"];+  var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Halogen_VDom = PS["Halogen.VDom"];+  var Halogen_VDom_DOM = PS["Halogen.VDom.DOM"];+  var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"];+  var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"];+  var Prelude = PS["Prelude"];+  var Unsafe_Reference = PS["Unsafe.Reference"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Node = PS["Web.DOM.Node"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_HTML_Window = PS["Web.HTML.Window"];+  var substInParent = function (v) {+      return function (v1) {+          return function (v2) {+              if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {+                  return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));+              };+              if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {+                  return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));+              };+              return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);+          };+      };+  };+  var removeChild = function (v) {+      return function __do() {+          var v1 = Web_DOM_Node.parentNode(v.node)();+          return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {+              return Web_DOM_Node.removeChild(v.node)(pn);+          })(v1)();+      };+  };+  var mkSpec = function (handler) {+      return function (renderChildRef) {+          return function (document) {+              var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {+                  return v.node;+              });+              var done = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);+              var patch = function (slot) {+                  var v = Effect_Ref.read(renderChildRef)();+                  var v1 = v(slot)();+                  var node = getNode(v1);+                  return new Halogen_VDom_Machine.Step(node, patch, done);+              };+              var buildWidget = function (spec) {+                  return function (slot) {+                      var v = Effect_Ref.read(renderChildRef)();+                      var v1 = v(slot)();+                      var node = getNode(v1);+                      return new Halogen_VDom_Machine.Step(node, patch, done);+                  };+              };+              var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);+              return {+                  buildWidget: buildWidget,+                  buildAttributes: buildAttributes,+                  document: document+              };+          };+      };+  };+  var renderSpec = function (document) {+      return function (container) {+          var render = function (handler) {+              return function (child) {+                  return function (v) {+                      return function (v1) {+                          if (v1 instanceof Data_Maybe.Nothing) {+                              return function __do() {+                                  var v2 = Effect_Ref["new"](child)();+                                  var spec = mkSpec(handler)(v2)(document);+                                  var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);+                                  var node = Halogen_VDom_Machine.extract(v3);+                                  Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();+                                  return {+                                      machine: v3,+                                      node: node,+                                      renderChildRef: v2+                                  };+                              };+                          };+                          if (v1 instanceof Data_Maybe.Just) {+                              return function __do() {+                                  Effect_Ref.write(child)(v1.value0.renderChildRef)();+                                  var v2 = Web_DOM_Node.parentNode(v1.value0.node)();+                                  var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();+                                  var v4 = Halogen_VDom_Machine.step(v1.value0.machine)(v);+                                  var newNode = Halogen_VDom_Machine.extract(v4);+                                  Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();+                                  return {+                                      machine: v4,+                                      node: newNode,+                                      renderChildRef: v1.value0.renderChildRef+                                  };+                              };+                          };+                          throw new Error("Failed pattern match at Halogen.VDom.Driver line 118, column 5 - line 134, column 80: " + [ v1.constructor.name ]);+                      };+                  };+              };+          };+          return {+              render: render,+              renderChild: Control_Category.identity(Control_Category.categoryFn),+              removeChild: removeChild+          };+      };+  };+  var runUI = function (component) {+      return function (i) {+          return function (element) {+              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (v) {+                  return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);+              });+          };+      };+  };+  exports["runUI"] = runUI;+})(PS["Halogen.VDom.Driver"] = PS["Halogen.VDom.Driver"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];                 +  var main = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);+  exports["main"] = main;+})(PS["Main"] = PS["Main"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Component_Add = PS["Component.Add"];+  var Component_BList = PS["Component.BList"];+  var Control_Bind = PS["Control.Bind"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Halogen_Aff = PS["Halogen.Aff"];+  var Halogen_Aff_Util = PS["Halogen.Aff.Util"];+  var Halogen_VDom_Driver = PS["Halogen.VDom.Driver"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];                 +  var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(".user_footer"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {+      return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute("hidden")(Web_HTML_HTMLElement.toElement(el)));+  }));+  var renderBookmarks = function (renderElSelector) {+      return function (bmarks) {+          return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {+                  return showFooter;+              });+          })));+      };+  };+  var renderAddForm = function (renderElSelector) {+      return function (bmark) {+          return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {+              return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);+          })));+      };+  };+  exports["renderBookmarks"] = renderBookmarks;+  exports["renderAddForm"] = renderAddForm;+  exports["showFooter"] = showFooter;+})(PS["User"] = PS["User"] || {});
static/js/app.js.gz view

binary file changed (28533 → 74463 bytes)

+ static/js/app.min.js view
@@ -0,0 +1,1 @@+var PS={};!function(n){"use strict";(PS["Control.Bind"]=PS["Control.Bind"]||{}).arrayBind=function(n){return function(e){for(var t=[],r=0,a=n.length;r<a;r++)Array.prototype.push.apply(t,e(n[r]));return t}}}(),function(n){"use strict";(PS["Control.Apply"]=PS["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,a=new Array(t*r),u=0,o=0;o<t;o++)for(var i=n[o],l=0;l<r;l++)a[u++]=i(e[l]);return a}}}(),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(PS["Control.Semigroupoid"]=PS["Control.Semigroupoid"]||{}),function(n){"use strict";var e=PS["Control.Semigroupoid"],t=function(n,e){this.Semigroupoid0=n,this.identity=e},r=new t(function(){return e.semigroupoidFn},function(n){return n});n.Category=t,n.identity=function(n){return n.identity},n.categoryFn=r}(PS["Control.Category"]=PS["Control.Category"]||{}),function(n){"use strict";(PS["Data.Boolean"]=PS["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(PS["Data.Eq"]=PS["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{}),function(n){"use strict";PS["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(PS["Data.Symbol"]=PS["Data.Symbol"]||{}),function(n){"use strict";(PS["Data.Unit"]=PS["Data.Unit"]||{}).unit={}}(),function(n){"use strict";n.showIntImpl=function(n){return n.toString()},n.showStringImpl=function(n){var e=n.length;return'"'+n.replace(/[\0-\x1F\x7F"\\]/g,function(t,r){switch(t){case'"':case"\\":return"\\"+t;case"":return"\\a";case"\b":return"\\b";case"\f":return"\\f";case"\n":return"\\n";case"\r":return"\\r";case"\t":return"\\t";case"\v":return"\\v"}var a=r+1,u=a<e&&n[a]>="0"&&n[a]<="9"?"\\&":"";return"\\"+t.charCodeAt(0).toString(10)+u})+'"'}}(PS["Data.Show"]=PS["Data.Show"]||{}),function(n){"use strict";(PS["Record.Unsafe"]=PS["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=PS["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(PS["Record.Unsafe"]=PS["Record.Unsafe"]||{}),function(n){"use strict";var e=PS["Data.Show"],t=(PS["Data.Symbol"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.show=n}),r=new t(e.showStringImpl),a=new t(e.showIntImpl);n.Show=t,n.show=function(n){return n.show},n.showInt=a,n.showString=r}(PS["Data.Show"]=PS["Data.Show"]||{}),function(n){"use strict";var e=PS["Data.Unit"];PS["Data.Show"];n.unit=e.unit}(PS["Data.Unit"]=PS["Data.Unit"]||{}),function(n){"use strict";var e=PS["Data.HeytingAlgebra"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.Row"],PS["Type.Data.RowList"],function(n,e,t,r,a,u){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=u}),r=function(n){return n.tt},a=function(n){return n.not},u=function(n){return n.implies},o=function(n){return n.ff},i=function(n){return n.disj},l=new t(e.boolConj,e.boolDisj,!1,function(n){return function(e){return i(l)(a(l)(n))(e)}},e.boolNot,!0),c=function(n){return n.conj};n.HeytingAlgebra=t,n.tt=r,n.ff=o,n.implies=u,n.conj=c,n.disj=i,n.not=a,n.heytingAlgebraBoolean=l,n.heytingAlgebraFunction=function(n){return new t(function(e){return function(t){return function(r){return c(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return i(n)(e(r))(t(r))}}},function(e){return o(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return a(n)(e(t))}},function(e){return r(n)})}}(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{}),function(n){"use strict";var e=PS["Data.Eq"],t=(PS["Data.HeytingAlgebra"],PS["Data.Symbol"],PS["Data.Unit"],PS["Data.Void"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.eq=n}),r=new t(function(n){return function(n){return!0}}),a=new t(e.refEq),u=new t(e.refEq),o=new t(e.refEq);n.Eq=t,n.eq=function(n){return n.eq},n.eqInt=u,n.eqChar=o,n.eqString=a,n.eqVoid=r}(PS["Data.Eq"]=PS["Data.Eq"]||{}),function(n){"use strict";(PS["Data.Ord.Unsafe"]=PS["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r<a?n:r===a?e:t}}}}}}(),function(n){"use strict";n.concatString=function(n){return function(e){return n+e}},n.concatArray=function(n){return function(e){return 0===n.length?e:0===e.length?n:n.concat(e)}}}(PS["Data.Semigroup"]=PS["Data.Semigroup"]||{}),function(n){"use strict";var e=PS["Data.Semigroup"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Data.Void"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.append=n}),r=new t(e.concatString),a=new t(e.concatArray),u=function(n){return n.append};n.Semigroup=t,n.append=u,n.semigroupString=r,n.semigroupFn=function(n){return new t(function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}})},n.semigroupArray=a}(PS["Data.Semigroup"]=PS["Data.Semigroup"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.Semigroup"],PS["Data.Show"];var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}(),r=function(){function n(){}return n.value=new n,n}();n.LT=e,n.GT=t,n.EQ=r}(PS["Data.Ordering"]=PS["Data.Ordering"]||{}),function(n){"use strict";var e=PS["Data.Ord.Unsafe"],t=PS["Data.Ordering"],r=e.unsafeCompareImpl(t.LT.value)(t.EQ.value)(t.GT.value);n.unsafeCompare=r}(PS["Data.Ord.Unsafe"]=PS["Data.Ord.Unsafe"]||{}),function(n){"use strict";(PS["Data.Ring"]=PS["Data.Ring"]||{}).intSub=function(n){return function(e){return n-e|0}}}(),function(n){"use strict";n.intAdd=function(n){return function(e){return n+e|0}},n.intMul=function(n){return function(e){return n*e|0}}}(PS["Data.Semiring"]=PS["Data.Semiring"]||{}),function(n){"use strict";var e=PS["Data.Semiring"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.Row"],PS["Type.Data.RowList"],function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}),r=new t(e.intAdd,e.intMul,1,0);n.Semiring=t,n.add=function(n){return n.add},n.zero=function(n){return n.zero},n.mul=function(n){return n.mul},n.one=function(n){return n.one},n.semiringInt=r}(PS["Data.Semiring"]=PS["Data.Semiring"]||{}),function(n){"use strict";var e=PS["Data.Ring"],t=PS["Data.Semiring"],r=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n,e){this.Semiring0=n,this.sub=e}),a=new r(function(){return t.semiringInt},e.intSub);n.Ring=r,n.sub=function(n){return n.sub},n.ringInt=a}(PS["Data.Ring"]=PS["Data.Ring"]||{}),function(n){"use strict";PS["Data.Ord"];var e=PS["Data.Eq"],t=PS["Data.Ord.Unsafe"],r=PS["Data.Ordering"],a=(PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Unit"],PS["Data.Void"],function(n,e){this.Eq0=n,this.compare=e}),u=new a(function(){return e.eqVoid},function(n){return function(n){return r.EQ.value}}),o=new a(function(){return e.eqString},t.unsafeCompare),i=new a(function(){return e.eqInt},t.unsafeCompare),l=new a(function(){return e.eqChar},t.unsafeCompare);n.Ord=a,n.compare=function(n){return n.compare},n.ordInt=i,n.ordString=o,n.ordChar=l,n.ordVoid=u}(PS["Data.Ord"]=PS["Data.Ord"]||{}),function(n){"use strict";PS["Control.Category"],PS["Data.Boolean"],PS["Data.Ord"],PS["Data.Ring"];n.flip=function(n){return function(e){return function(t){return n(t)(e)}}},n.const=function(n){return function(e){return n}},n.on=function(n){return function(e){return function(t){return function(r){return n(e(t))(e(r))}}}}}(PS["Data.Function"]=PS["Data.Function"]||{}),function(n){"use strict";(PS["Data.Functor"]=PS["Data.Functor"]||{}).arrayMap=function(n){return function(e){for(var t=e.length,r=new Array(t),a=0;a<t;a++)r[a]=n(e[a]);return r}}}(),function(n){"use strict";var e=PS["Data.Functor"],t=PS["Control.Semigroupoid"],r=PS["Data.Function"],a=PS["Data.Unit"],u=function(n){this.map=n},o=function(n){return n.map},i=new u(t.compose(t.semigroupoidFn)),l=new u(e.arrayMap);n.Functor=u,n.map=o,n.void=function(n){return o(n)(r.const(a.unit))},n.voidLeft=function(n){return function(e){return function(t){return o(n)(r.const(t))(e)}}},n.functorFn=i,n.functorArray=l}(PS["Data.Functor"]=PS["Data.Functor"]||{}),function(n){"use strict";var e=PS["Control.Apply"],t=PS["Control.Category"],r=PS["Data.Function"],a=PS["Data.Functor"],u=function(n,e){this.Functor0=n,this.apply=e},o=new u(function(){return a.functorArray},e.arrayApply),i=function(n){return n.apply};n.Apply=u,n.apply=i,n.applySecond=function(n){return function(e){return function(u){return i(n)(a.map(n.Functor0())(r.const(t.identity(t.categoryFn)))(e))(u)}}},n.lift2=function(n){return function(e){return function(t){return function(r){return i(n)(a.map(n.Functor0())(e)(t))(r)}}}},n.applyArray=o}(PS["Control.Apply"]=PS["Control.Apply"]||{}),function(n){"use strict";var e=PS["Control.Apply"],t=(PS["Data.Functor"],PS["Data.Unit"]),r=function(n){return n.pure};n.Applicative=function(n,e){this.Apply0=n,this.pure=e},n.pure=r,n.liftA1=function(n){return function(t){return function(a){return e.apply(n.Apply0())(r(n)(t))(a)}}},n.when=function(n){return function(e){return function(a){if(e)return a;if(!e)return r(n)(t.unit);throw new Error("Failed pattern match at Control.Applicative line 57, column 1 - line 57, column 63: "+[e.constructor.name,a.constructor.name])}}}}(PS["Control.Applicative"]=PS["Control.Applicative"]||{}),function(n){"use strict";var e=PS["Control.Bind"],t=(PS["Control.Applicative"],PS["Control.Apply"]),r=PS["Control.Category"],a=PS["Data.Function"],u=(PS["Data.Functor"],PS["Data.Unit"],function(n,e){this.Apply0=n,this.bind=e}),o=function(n){this.discard=n},i=new u(function(){return t.applyArray},e.arrayBind),l=function(n){return n.bind},c=function(n){return a.flip(l(n))},f=new o(function(n){return l(n)});n.Bind=u,n.bind=l,n.bindFlipped=c,n.Discard=o,n.discard=function(n){return n.discard},n.join=function(n){return function(e){return l(n)(e)(r.identity(r.categoryFn))}},n.composeKleisli=function(n){return function(e){return function(t){return function(r){return l(n)(e(r))(t)}}}},n.composeKleisliFlipped=function(n){return function(e){return function(t){return function(r){return c(n)(e)(t(r))}}}},n.bindArray=i,n.discardUnit=f}(PS["Control.Bind"]=PS["Control.Bind"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t<r;t++)for(var a=n[t],u=0,o=a.length;u<o;u++)e.push(a[u]);return e},n.filter=function(n){return function(e){return e.filter(n)}},n.slice=function(n){return function(e){return function(t){return t.slice(n,e)}}},n.drop=function(n){return function(e){return n<1?e:e.slice(n)}}}(PS["Data.Array"]=PS["Data.Array"]||{}),function(n){"use strict";PS["Data.Functor"],PS["Data.Semigroup"];n.Alt=function(n,e){this.Functor0=n,this.alt=e},n.alt=function(n){return n.alt}}(PS["Control.Alt"]=PS["Control.Alt"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Apply"],PS["Control.Bind"]);PS["Data.Functor"],PS["Data.Unit"];n.Monad=function(n,e){this.Applicative0=n,this.Bind1=e},n.ap=function(n){return function(r){return function(a){return t.bind(n.Bind1())(r)(function(r){return t.bind(n.Bind1())(a)(function(t){return e.pure(n.Applicative0())(r(t))})})}}}}(PS["Control.Monad"]=PS["Control.Monad"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=function(n){return n.bimap};n.bimap=t,n.Bifunctor=function(n){this.bimap=n},n.rmap=function(n){return t(n)(e.identity(e.categoryFn))}}(PS["Data.Bifunctor"]=PS["Data.Bifunctor"]||{}),function(n){"use strict";n.topInt=2147483647,n.bottomInt=-2147483648,n.topChar=String.fromCharCode(65535),n.bottomChar=String.fromCharCode(0)}(PS["Data.Bounded"]=PS["Data.Bounded"]||{}),function(n){"use strict";var e=PS["Data.Bounded"],t=PS["Data.Ord"],r=(PS["Data.Ordering"],PS["Data.Unit"],function(n,e,t){this.Ord0=n,this.bottom=e,this.top=t}),a=new r(function(){return t.ordInt},e.bottomInt,e.topInt),u=new r(function(){return t.ordChar},e.bottomChar,e.topChar);n.Bounded=r,n.bottom=function(n){return n.bottom},n.top=function(n){return n.top},n.boundedInt=a,n.boundedChar=u}(PS["Data.Bounded"]=PS["Data.Bounded"]||{}),function(n){"use strict";n.foldrArray=function(n){return function(e){return function(t){for(var r=e,a=t.length-1;a>=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,u=0;u<a;u++)r=n(r)(t[u]);return r}}}}(PS["Data.Foldable"]=PS["Data.Foldable"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Data.Functor"];n.Plus=function(n,e){this.Alt0=n,this.empty=e},n.empty=function(n){return n.empty}}(PS["Control.Plus"]=PS["Control.Plus"]||{}),function(n){"use strict";n.intDegree=function(n){return Math.min(Math.abs(n),2147483647)},n.intDiv=function(n){return function(e){return 0===e?0:e>0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{}),function(n){"use strict";var e=PS["Data.Ring"],t=(PS["Data.Semiring"],PS["Data.Symbol"],PS["Data.Unit"],function(n){this.Ring0=n}),r=new t(function(){return e.ringInt});n.CommutativeRing=t,n.commutativeRingInt=r}(PS["Data.CommutativeRing"]=PS["Data.CommutativeRing"]||{}),function(n){"use strict";var e=PS["Data.EuclideanRing"],t=(PS["Data.BooleanAlgebra"],PS["Data.CommutativeRing"]),r=(PS["Data.Eq"],PS["Data.HeytingAlgebra"],PS["Data.Ring"],PS["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),a=new r(function(){return t.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=r,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=a}(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{}),function(n){"use strict";PS["Data.Boolean"],PS["Data.Eq"],PS["Data.EuclideanRing"],PS["Data.Ord"],PS["Data.Ordering"];var e=PS["Data.Semigroup"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),r=new t(function(){return e.semigroupString},""),a=new t(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=t,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid line 74, column 1 - line 74, column 49: "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new t(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},n.monoidString=r,n.monoidArray=a}(PS["Data.Monoid"]=PS["Data.Monoid"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"];var e=PS["Control.Apply"],t=PS["Control.Bind"],r=(PS["Control.Category"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Function"]),a=PS["Data.Functor"],u=(PS["Data.Functor.Invariant"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Unit"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(n){return function(e){return function(t){if(t instanceof u)return n;if(t instanceof o)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe line 218, column 1 - line 218, column 51: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},l=i(!0)(r.const(!1)),c=i(!1)(r.const(!0)),f=new a.Functor(function(n){return function(e){return e instanceof o?new o(n(e.value0)):u.value}}),s=new e.Apply(function(){return f},function(n){return function(e){if(n instanceof o)return a.map(f)(n.value0)(e);if(n instanceof u)return u.value;throw new Error("Failed pattern match at Data.Maybe line 67, column 1 - line 67, column 35: "+[n.constructor.name,e.constructor.name])}}),d=new t.Bind(function(){return s},function(n){return function(e){if(n instanceof o)return e(n.value0);if(n instanceof u)return u.value;throw new Error("Failed pattern match at Data.Maybe line 126, column 1 - line 126, column 33: "+[n.constructor.name,e.constructor.name])}});n.Nothing=u,n.Just=o,n.maybe=i,n.isJust=c,n.isNothing=l,n.fromJust=function(n){return function(n){return function(){if(n instanceof o)return n.value0;throw new Error("Failed pattern match at Data.Maybe line 269, column 1 - line 269, column 46: "+[n.constructor.name])}()}},n.functorMaybe=f,n.applyMaybe=s,n.bindMaybe=d}(PS["Data.Maybe"]=PS["Data.Maybe"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Functor"];var e=PS["Data.HeytingAlgebra"],t=PS["Data.Monoid"],r=(PS["Data.Ord"],PS["Data.Semigroup"]),a=(PS["Data.Semiring"],PS["Data.Show"],PS.Prelude,function(n){return new r.Semigroup(function(t){return function(r){return e.disj(n)(t)(r)}})});n.Disj=function(n){return n},n.semigroupDisj=a,n.monoidDisj=function(n){return new t.Monoid(function(){return a(n)},e.ff(n))}}(PS["Data.Monoid.Disj"]=PS["Data.Monoid.Disj"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Function"];var e=PS["Data.Functor"],t=(PS["Data.Monoid.Additive"],PS["Data.Monoid.Conj"],PS["Data.Monoid.Disj"]),r=(PS["Data.Monoid.Dual"],PS["Data.Monoid.Endo"],PS["Data.Monoid.Multiplicative"],PS["Data.Semigroup.First"],PS["Data.Semigroup.Last"],PS.Prelude,function(n,e){this.unwrap=n,this.wrap=e}),a=function(n){return n.wrap},u=function(n){return n.unwrap},o=new r(function(n){return n},t.Disj);n.unwrap=u,n.wrap=a,n.Newtype=r,n.alaF=function(n){return function(t){return function(r){return function(o){return function(i){return function(i){return function(l){return e.map(t)(u(o))(i(e.map(n)(a(r))(l)))}}}}}}},n.newtypeDisj=o}(PS["Data.Newtype"]=PS["Data.Newtype"]||{}),function(n){"use strict";var e=PS["Data.Foldable"],t=(PS["Control.Alt"],PS["Control.Applicative"]),r=PS["Control.Apply"],a=(PS["Control.Bind"],PS["Control.Category"]),u=(PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Function"]),o=PS["Data.Functor"],i=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),l=(PS["Data.Maybe.First"],PS["Data.Maybe.Last"],PS["Data.Monoid"]),c=(PS["Data.Monoid.Additive"],PS["Data.Monoid.Conj"],PS["Data.Monoid.Disj"]),f=(PS["Data.Monoid.Dual"],PS["Data.Monoid.Endo"],PS["Data.Monoid.Multiplicative"],PS["Data.Newtype"]),s=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"]),d=(PS["Data.Semiring"],PS["Data.Unit"]),S=(PS.Prelude,function(n,e,t){this.foldMap=n,this.foldl=e,this.foldr=t}),P=function(n){return n.foldr},v=function(n){return function(e){return function(a){return P(e)(function(e){return r.applySecond(n.Apply0())(a(e))})(t.pure(n)(d.unit))}}},p=function(n){return n.foldl},m=new S(function(n){return function(e){return function(t){if(t instanceof i.Nothing)return l.mempty(n);if(t instanceof i.Just)return e(t.value0);throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[e.constructor.name,t.constructor.name])}}},function(n){return function(e){return function(t){if(t instanceof i.Nothing)return e;if(t instanceof i.Just)return n(e)(t.value0);throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},function(n){return function(e){return function(t){if(t instanceof i.Nothing)return e;if(t instanceof i.Just)return n(t.value0)(e);throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}}),D=function(n){return function(e){return function(t){return P(n)(function(n){return function(r){return s.append(e.Semigroup0())(t(n))(r)}})(l.mempty(e))}}},b=new S(function(n){return D(b)(n)},e.foldlArray,e.foldrArray),g=function(n){return n.foldMap};n.Foldable=S,n.foldr=P,n.foldl=p,n.foldMap=g,n.foldMapDefaultR=D,n.traverse_=v,n.for_=function(n){return function(e){return u.flip(v(n)(e))}},n.sequence_=function(n){return function(e){return v(n)(e)(a.identity(a.categoryFn))}},n.intercalate=function(n){return function(e){return function(t){return function(r){return p(n)(function(n){return function(r){return n.init?{init:!1,acc:r}:{init:!1,acc:s.append(e.Semigroup0())(n.acc)(s.append(e.Semigroup0())(t)(r))}}})({init:!0,acc:l.mempty(e)})(r).acc}}}},n.any=function(n){return function(e){return f.alaF(o.functorFn)(o.functorFn)(f.newtypeDisj)(f.newtypeDisj)(c.Disj)(g(n)(c.monoidDisj(e)))}},n.find=function(n){return function(e){return p(n)(function(n){return function(t){return n instanceof i.Nothing&&e(t)?new i.Just(t):n}})(i.Nothing.value)}},n.foldableArray=b,n.foldableMaybe=m}(PS["Data.Foldable"]=PS["Data.Foldable"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Applicative"];var e=PS["Control.Apply"],t=(PS["Control.Bind"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.Semigroupoid"],PS["Data.Bifoldable"],PS["Data.Bifunctor"]),r=(PS["Data.Bitraversable"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.Functor.Invariant"],PS["Data.Maybe"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Traversable"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=new r.Functor(function(n){return function(e){if(e instanceof a)return new a(e.value0);if(e instanceof u)return new u(n(e.value0));throw new Error("Failed pattern match at Data.Either line 35, column 8 - line 35, column 52: "+[e.constructor.name])}}),i=new t.Bifunctor(function(n){return function(e){return function(t){if(t instanceof a)return new a(n(t.value0));if(t instanceof u)return new u(e(t.value0));throw new Error("Failed pattern match at Data.Either line 40, column 1 - line 40, column 45: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}}),l=new e.Apply(function(){return o},function(n){return function(e){if(n instanceof a)return new a(n.value0);if(n instanceof u)return r.map(o)(n.value0)(e);throw new Error("Failed pattern match at Data.Either line 76, column 1 - line 76, column 41: "+[n.constructor.name,e.constructor.name])}});n.Left=a,n.Right=u,n.either=function(n){return function(e){return function(t){if(t instanceof a)return n(t.value0);if(t instanceof u)return e(t.value0);throw new Error("Failed pattern match at Data.Either line 220, column 1 - line 220, column 64: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},n.functorEither=o,n.bifunctorEither=i,n.applyEither=l}(PS["Data.Either"]=PS["Data.Either"]||{}),function(n){"use strict";PS["Control.Alt"];var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Lazy"],PS["Control.Monad"]),u=(PS["Data.BooleanAlgebra"],PS["Data.Bounded"],PS["Data.CommutativeRing"],PS["Data.Eq"],PS["Data.EuclideanRing"],PS["Data.Foldable"],PS["Data.Functor"]),o=(PS["Data.Functor.Invariant"],PS["Data.HeytingAlgebra"],PS["Data.Monoid"],PS["Data.Newtype"]),i=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS.Prelude,function(n){return n}),l=new o.Newtype(function(n){return n},i),c=new u.Functor(function(n){return function(e){return n(e)}}),f=new t.Apply(function(){return c},function(n){return function(e){return n(e)}}),s=new r.Bind(function(){return f},function(n){return function(e){return e(n)}}),d=new e.Applicative(function(){return f},i),S=new a.Monad(function(){return d},function(){return s});n.Identity=i,n.newtypeIdentity=l,n.functorIdentity=c,n.applyIdentity=f,n.applicativeIdentity=d,n.bindIdentity=s,n.monadIdentity=S}(PS["Data.Identity"]=PS["Data.Identity"]||{}),function(n){"use strict";n.pureE=function(n){return function(){return n}},n.bindE=function(n){return function(e){return function(){return e(n())()}}},n.foreachE=function(n){return function(e){return function(){for(var t=0,r=n.length;t<r;t++)e(n[t])()}}}}(PS.Effect=PS.Effect||{}),function(n){"use strict";var e=PS.Effect,t=PS["Control.Applicative"],r=PS["Control.Apply"],a=PS["Control.Bind"],u=PS["Control.Monad"],o=PS["Data.Functor"],i=(PS["Data.Monoid"],PS["Data.Semigroup"],PS.Prelude,new u.Monad(function(){return f},function(){return l})),l=new a.Bind(function(){return c},e.bindE),c=new r.Apply(function(){return s},u.ap(i)),f=new t.Applicative(function(){return c},e.pureE),s=new o.Functor(t.liftA1(f));n.functorEffect=s,n.applyEffect=c,n.applicativeEffect=f,n.bindEffect=l,n.monadEffect=i,n.foreachE=e.foreachE}(PS.Effect=PS.Effect||{}),function(n){"use strict";n.new=function(n){return function(){return{value:n}}},n.read=function(n){return function(){return n.value}},n["modify'"]=function(n){return function(e){return function(){var t=n(e.value);return e.value=t.state,t.value}}},n.write=function(n){return function(e){return function(){return e.value=n,{}}}}}(PS["Effect.Ref"]=PS["Effect.Ref"]||{}),function(n){"use strict";var e=PS["Effect.Ref"],t=(PS["Data.Function"],PS["Data.Functor"]),r=PS.Effect,a=(PS.Prelude,function(n){return e["modify'"](function(e){var t=n(e);return{state:t,value:t}})});n.modify=a,n.modify_=function(n){return function(e){return t.void(r.functorEffect)(a(n)(e))}},n.new=e.new,n.read=e.read,n["modify'"]=e["modify'"],n.write=e.write}(PS["Effect.Ref"]=PS["Effect.Ref"]||{}),function(n){"use strict";(PS["Partial.Unsafe"]=PS["Partial.Unsafe"]||{}).unsafePartial=function(n){return n()}}(),function(n){"use strict";(PS["Partial"]=PS["Partial"]||{}).crashWith=function(){return function(n){throw new Error(n)}}}(),function(n){"use strict";var e=PS.Partial;n.crashWith=e.crashWith}(PS.Partial=PS.Partial||{}),function(n){"use strict";var e=PS["Partial.Unsafe"],t=PS.Partial;n.unsafeCrashWith=function(n){return e.unsafePartial(function(e){return t.crashWith(e)(n)})}}(PS["Partial.Unsafe"]=PS["Partial.Unsafe"]||{}),function(n){"use strict";PS["Control.Applicative"];var e=PS["Control.Bind"],t=(PS["Control.Monad"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Either"],PS["Data.Functor"]),r=(PS["Data.Identity"],PS["Data.Maybe"],PS["Data.Unit"],PS.Effect),a=PS["Effect.Ref"],u=(PS["Partial.Unsafe"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(n,e){this.Monad0=n,this.tailRecM=e},l=new i(function(){return r.monadEffect},function(n){return function(i){var l=function(n){return function(){if(n instanceof o)return n.value0;throw new Error("Failed pattern match at Control.Monad.Rec.Class line 111, column 30 - line 111, column 44: "+[n.constructor.name])}()};return function(){var c=e.bindFlipped(r.bindEffect)(a.new)(n(i))();return function(){for(;!function(){var e=a.read(c)();if(e instanceof u){var t=n(e.value0)();a.write(t)(c)();return!1}if(e instanceof o)return!0;throw new Error("Failed pattern match at Control.Monad.Rec.Class line 102, column 22 - line 107, column 28: "+[e.constructor.name])}(););}(),t.map(r.functorEffect)(l)(a.read(c))()}}});n.Loop=u,n.Done=o,n.MonadRec=i,n.tailRecM=function(n){return n.tailRecM},n.monadRecEffect=l}(PS["Control.Monad.Rec.Class"]=PS["Control.Monad.Rec.Class"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Biapplicative"],PS["Control.Biapply"],PS["Control.Bind"],PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Lazy"],PS["Control.Monad"],PS["Control.Semigroupoid"],PS["Data.Bifoldable"],PS["Data.Bifunctor"],PS["Data.Bitraversable"],PS["Data.BooleanAlgebra"],PS["Data.Bounded"],PS["Data.CommutativeRing"],PS["Data.Distributive"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"];var e=PS["Data.Functor"],t=(PS["Data.Functor.Invariant"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Maybe.First"],PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Unit"],PS.Prelude,PS["Type.Equality"],function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),r=new e.Functor(function(n){return function(e){return new t(e.value0,n(e.value1))}});n.Tuple=t,n.fst=function(n){return n.value0},n.snd=function(n){return n.value1},n.functorTuple=r}(PS["Data.Tuple"]=PS["Data.Tuple"]||{}),function(n){"use strict";(PS["Data.Unfoldable"]=PS["Data.Unfoldable"]||{}).unfoldrArrayImpl=function(n){return function(e){return function(t){return function(r){return function(a){return function(u){for(var o=[],i=u;;){var l=a(i);if(n(l))return o;var c=e(l);o.push(t(c)),i=r(c)}}}}}}}}(),function(n){"use strict";(PS["Data.Unfoldable1"]=PS["Data.Unfoldable1"]||{}).unfoldr1ArrayImpl=function(n){return function(e){return function(t){return function(r){return function(a){return function(u){for(var o=[],i=u;;){var l=a(i);o.push(t(l));var c=r(l);if(n(c))return o;i=e(c)}}}}}}}}(),function(n){"use strict";var e=PS["Data.Unfoldable1"],t=(PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup.Traversable"],PS["Data.Semiring"],PS["Data.Tuple"]),a=(PS["Partial.Unsafe"],PS.Prelude,function(n){this.unfoldr1=n}),u=new a(e.unfoldr1ArrayImpl(t.isNothing)(t.fromJust())(r.fst)(r.snd));n.Unfoldable1=a,n.unfoldr1=function(n){return n.unfoldr1},n.unfoldable1Array=u}(PS["Data.Unfoldable1"]=PS["Data.Unfoldable1"]||{}),function(n){"use strict";var e=PS["Data.Unfoldable"],t=(PS["Data.Function"],PS["Data.Functor"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Traversable"],PS["Data.Tuple"]),a=PS["Data.Unfoldable1"],u=(PS["Data.Unit"],PS["Partial.Unsafe"],PS.Prelude,function(n,e){this.Unfoldable10=n,this.unfoldr=e}),o=new u(function(){return a.unfoldable1Array},e.unfoldrArrayImpl(t.isNothing)(t.fromJust())(r.fst)(r.snd));n.Unfoldable=u,n.unfoldr=function(n){return n.unfoldr},n.unfoldableArray=o}(PS["Data.Unfoldable"]=PS["Data.Unfoldable"]||{}),function(n){"use strict";(PS["Unsafe.Coerce"]=PS["Unsafe.Coerce"]||{}).unsafeCoerce=function(n){return n}}(),function(n){"use strict";var e=PS["Unsafe.Coerce"];n.unsafeCoerce=e.unsafeCoerce}(PS["Unsafe.Coerce"]=PS["Unsafe.Coerce"]||{}),function(n){"use strict";var e=PS["Data.Array"],t=(PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"]),r=(PS["Control.Category"],PS["Control.Lazy"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.ST"],PS["Control.Monad.ST.Internal"],PS["Control.Semigroupoid"],PS["Data.Array.NonEmpty.Internal"],PS["Data.Array.ST"],PS["Data.Array.ST.Iterator"],PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"]),a=(PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),u=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Partial.Unsafe"],PS.Prelude,PS["Unsafe.Coerce"],function(n){return[n]}),o=r.flip(t.bind(t.bindArray));n.singleton=u,n.concatMap=o,n.mapMaybe=function(n){return o(function(e){return a.maybe([])(u)(n(e))})},n.length=e.length,n.cons=e.cons,n.snoc=e.snoc,n.filter=e.filter,n.drop=e.drop}(PS["Data.Array"]=PS["Data.Array"]||{}),function(n){"use strict";n.replace=function(n){return function(e){return function(t){return t.replace(n,e)}}},n.replaceAll=function(n){return function(e){return function(t){return t.replace(new RegExp(n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),e)}}},n.split=function(n){return function(e){return e.split(n)}},n.joinWith=function(n){return function(e){return e.join(n)}}}(PS["Data.String.Common"]=PS["Data.String.Common"]||{}),function(n){"use strict";var e=PS["Data.String.Common"];PS["Data.Eq"],PS["Data.Ordering"],PS["Data.String.Pattern"],PS.Prelude;n.null=function(n){return""===n},n.replaceAll=e.replaceAll,n.split=e.split,n.joinWith=e.joinWith}(PS["Data.String.Common"]=PS["Data.String.Common"]||{}),function(n){"use strict";n.unsafeStringify=function(n){return JSON.stringify(n)},n.unsafeDecodeURIComponent=decodeURIComponent,n.unsafeEncodeURIComponent=encodeURIComponent}(PS["Global.Unsafe"]=PS["Global.Unsafe"]||{}),function(n){"use strict";var e=PS["Global.Unsafe"];n.unsafeStringify=e.unsafeStringify,n.unsafeDecodeURIComponent=e.unsafeDecodeURIComponent,n.unsafeEncodeURIComponent=e.unsafeEncodeURIComponent}(PS["Global.Unsafe"]=PS["Global.Unsafe"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Eq"];var e,t=PS["Data.Functor"],r=PS["Data.Maybe"],a=(PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.String"],PS["Data.String.Common"]),u=(PS["Data.Tuple"],PS["Global.Unsafe"]),o=(PS.Prelude,function(n){return n}),i=(e=function(n){if(n.value1 instanceof r.Nothing)return u.unsafeEncodeURIComponent(n.value0);if(n.value1 instanceof r.Just)return u.unsafeEncodeURIComponent(n.value0)+"="+u.unsafeEncodeURIComponent(n.value1.value0);throw new Error("Failed pattern match at Data.FormURLEncoded line 35, column 18 - line 37, column 89: "+[n.constructor.name])},function(n){return a.joinWith("&")(t.map(t.functorArray)(e)(o(n)))});n.toArray=o,n.encode=i}(PS["Data.FormURLEncoded"]=PS["Data.FormURLEncoded"]||{}),function(n){"use strict";var e=PS["Data.Either"],t=(PS["Data.Eq"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"]),r=(PS["Data.String"],PS["Data.String.Common"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),a=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),l=function(){function n(){}return n.value=new n,n}(),c=function(){function n(){}return n.value=new n,n}(),f=function(){function n(){}return n.value=new n,n}(),s=function(){function n(){}return n.value=new n,n}(),d=function(){function n(){}return n.value=new n,n}(),S=function(){function n(){}return n.value=new n,n}(),P=function(){function n(){}return n.value=new n,n}(),v=function(){function n(){}return n.value=new n,n}(),p=function(){function n(){}return n.value=new n,n}(),m=function(){function n(){}return n.value=new n,n}(),D=function(){function n(){}return n.value=new n,n}(),b=function(n){return n},g=new t.Show(function(n){if(n instanceof r)return"OPTIONS";if(n instanceof a)return"GET";if(n instanceof u)return"HEAD";if(n instanceof o)return"POST";if(n instanceof i)return"PUT";if(n instanceof l)return"DELETE";if(n instanceof c)return"TRACE";if(n instanceof f)return"CONNECT";if(n instanceof s)return"PROPFIND";if(n instanceof d)return"PROPPATCH";if(n instanceof S)return"MKCOL";if(n instanceof P)return"COPY";if(n instanceof v)return"MOVE";if(n instanceof p)return"LOCK";if(n instanceof m)return"UNLOCK";if(n instanceof D)return"PATCH";throw new Error("Failed pattern match at Data.HTTP.Method line 40, column 1 - line 40, column 35: "+[n.constructor.name])}),h=e.either(t.show(g))(b);n.OPTIONS=r,n.GET=a,n.HEAD=u,n.POST=o,n.PUT=i,n.DELETE=l,n.TRACE=c,n.CONNECT=f,n.PROPFIND=s,n.PROPPATCH=d,n.MKCOL=S,n.COPY=P,n.MOVE=v,n.LOCK=p,n.UNLOCK=m,n.PATCH=D,n.unCustomMethod=b,n.print=h,n.showMethod=g}(PS["Data.HTTP.Method"]=PS["Data.HTTP.Method"]||{}),function(n){"use strict";PS["Data.Eq"];var e=PS["Data.Newtype"],t=(PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Show"],PS.Prelude,function(n){return n}),r=new e.Newtype(function(n){return n},t);n.MediaType=t,n.newtypeMediaType=r}(PS["Data.MediaType"]=PS["Data.MediaType"]||{}),function(n){"use strict";PS["Data.MediaType"];n.applicationFormURLEncoded="application/x-www-form-urlencoded",n.applicationJSON="application/json"}(PS["Data.MediaType.Common"]=PS["Data.MediaType.Common"]||{}),function(n){"use strict";var e=function(){var n={},e="Pure",t="Throw",r="Catch",a="Sync",u="Async",o="Bind",i="Bracket",l="Fork",c="Sequential",f="Map",s="Apply",d="Alt",S="Cons",P="Resume",v="Release",p="Finalizer",m="Finalized",D="Forked";function b(n,e,t,r){this.tag=n,this._1=e,this._2=t,this._3=r}function g(n){var e=function(e,t,r){return new b(n,e,t,r)};return e.tag=n,e}function h(n){return new b(e,void 0)}function w(n){try{n()}catch(n){setTimeout(function(){throw n},0)}}function E(n,e,t){try{return e(t())}catch(e){return n(e)}}function y(n,e,t){try{return e(t)()}catch(e){return t(n(e))(),h}}var M=function(){var n=1024,e=0,t=0,r=new Array(n),a=!1;function u(){var u;for(a=!0;0!==e;)e--,u=r[t],r[t]=void 0,t=(t+1)%n,u();a=!1}return{isDraining:function(){return a},enqueue:function(o){var i;e===n&&(i=a,u(),a=i),r[(t+e)%n]=o,e++,a||u()}}}();var C=0,T=1,A=2,F=3,H=4,L=5,_=6;function O(n,f,s){var d=0,D=C,g=s,h=null,I=null,N=null,x=null,U=null,R=0,k=0,B=null,q=!0;function j(s){for(var k,V,J;;)switch(k=null,V=null,J=null,null,D){case A:D=T,g=N(g),null===x?N=null:(N=x._1,x=x._2);break;case F:n.isLeft(g)?(D=L,h=g,g=null):null===N?D=L:(D=A,g=n.fromRight(g));break;case T:switch(g.tag){case o:N&&(x=new b(S,N,x)),N=g._2,D=T,g=g._1;break;case e:null===N?(D=L,g=n.right(g._1)):(D=A,g=g._1);break;case a:D=F,g=E(n.left,n.right,g._1);break;case u:return D=H,void(g=y(n.left,g._1,function(n){return function(){d===s&&(d++,M.enqueue(function(){D=F,g=n,j(d)}))}}));case t:D=L,h=n.left(g._1),g=null;break;case r:U=new b(S,g,null===N?U:new b(S,new b(P,N,x),U,I),I),N=null,x=null,D=T,g=g._1;break;case i:R++,U=new b(S,g,null===N?U:new b(S,new b(P,N,x),U,I),I),N=null,x=null,D=T,g=g._1;break;case l:D=F,k=O(n,f,g._2),f&&f.register(k),g._1&&k.run(),g=n.right(k);break;case c:D=T,g=W(n,f,g._1)}break;case L:if(N=null,x=null,null===U)D=_,g=I||h||g;else switch(k=U._3,J=U._1,U=U._2,J.tag){case r:I&&I!==k?D=L:h&&(D=T,g=J._2(n.fromLeft(h)),h=null);break;case P:I&&I!==k||h?D=L:(N=J._1,x=J._2,D=A,g=n.fromRight(g));break;case i:R--,null===h&&(V=n.fromRight(g),U=new b(S,new b(v,J._2,V),U,k),(I===k||R>0)&&(D=T,g=J._3(V)));break;case v:R++,U=new b(S,new b(m,g),U,I),D=T,g=I&&I!==k?J._1.killed(n.fromLeft(I))(J._2):h?J._1.failed(n.fromLeft(h))(J._2):J._1.completed(n.fromRight(g))(J._2);break;case p:R++,U=new b(S,new b(m,g),U,I),D=T,g=J._1;break;case m:R--,D=L,g=J._1}break;case _:for(var Q in B)B.hasOwnProperty(Q)&&(q=q&&B[Q].rethrow,w(B[Q].handler(g)));return B=null,void(I&&h?setTimeout(function(){throw n.fromLeft(h)},0):n.isLeft(g)&&q&&setTimeout(function(){if(q)throw n.fromLeft(g)},0));case C:D=T;break;case H:return}}function V(n){return function(){if(D===_)return q=q&&n.rethrow,n.handler(g)(),function(){};var e=k++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(D===_)return t(n.right(void 0))(),function(){};var r=V({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(D){case C:I=n.left(e),D=_,g=I,j(d);break;case H:null===I&&(I=n.left(e)),0===R&&(D===H&&(U=new b(S,new b(p,g(e)),U,I)),D=L,g=null,h=null,j(++d));break;default:null===I&&(I=n.left(e)),0===R&&(D=L,g=null,h=null)}return r}},join:function(n){return function(){var e=V({rethrow:!1,handler:n})();return D===C&&j(d),e}},onComplete:V,isSuspended:function(){return D===C},run:function(){D===C&&(M.isDraining()?j(d):M.enqueue(function(){j(d)}))}}}function I(e,t,r,a){var o=0,i={},l=0,c={},P=new Error("[ParAff] Early exit"),v=null,p=n;function m(t,r,a){var u,o,l=r,c=null,P=null,v=0,p={};n:for(;;)switch(u=null,l.tag){case D:if(l._3===n&&(u=i[l._1],p[v++]=u.kill(t,function(n){return function(){0===--v&&a(n)()}})),null===c)break n;l=c._2,null===P?c=null:(c=P._1,P=P._2);break;case f:l=l._2;break;case s:case d:c&&(P=new b(S,c,P)),c=l,l=l._1}if(0===v)a(e.right(void 0))();else for(o=0,u=v;o<u;o++)p[o]=p[o]();return p}function g(t){return function(r){return function(){delete i[t._1],t._3=r,function t(r,u,o){var i,S,p,D,b,g;for(e.isLeft(r)?(i=r,S=null):(S=r,i=null);;){if(p=null,D=null,b=null,g=null,null!==v)return;if(null===u)return void a(i||S)();if(u._3!==n)return;switch(u.tag){case f:null===i?(u._3=e.right(u._1(e.fromRight(S))),S=u._3):u._3=i;break;case s:if(p=u._1._3,D=u._2._3,i){if(u._3=i,b=!0,g=l++,c[g]=m(P,i===p?u._2:u._1,function(){return function(){delete c[g],b?b=!1:null===o?t(S,null,null):t(S,o._1,o._2)}}),b)return void(b=!1)}else{if(p===n||D===n)return;S=e.right(e.fromRight(p)(e.fromRight(D))),u._3=S}break;case d:if(p=u._1._3,D=u._2._3,p===n&&e.isLeft(D)||D===n&&e.isLeft(p))return;if(p!==n&&e.isLeft(p)&&D!==n&&e.isLeft(D))i=S===p?D:p,S=null,u._3=i;else if(u._3=S,b=!0,g=l++,c[g]=m(P,S===p?u._2:u._1,function(){return function(){delete c[g],b?b=!1:null===o?t(S,null,null):t(S,o._1,o._2)}}),b)return void(b=!1)}null===o?u=null:(u=o._1,o=o._2)}}(r,t._2._1,t._2._2)}}}return function(){var a,u,l=T,c=r,P=null,v=null;n:for(;;)switch(a=null,u=null,l){case T:switch(c.tag){case f:P&&(v=new b(S,P,v)),P=new b(f,c._1,n,n),c=c._2;break;case s:P&&(v=new b(S,P,v)),P=new b(s,n,c._2,n),c=c._1;break;case d:P&&(v=new b(S,P,v)),P=new b(d,n,c._2,n),c=c._1;break;default:u=o++,l=L,a=c,c=new b(D,u,new b(S,P,v),n),(a=O(e,t,a)).onComplete({rethrow:!1,handler:g(c)})(),i[u]=a,t&&t.register(a)}break;case L:if(null===P)break n;P._1===n?(P._1=c,l=T,c=P._2,P._2=n):(P._2=c,c=P,null===v?P=null:(P=v._1,v=v._2))}for(p=c,u=0;u<o;u++)i[u].run()}(),function(n){return new b(u,function(t){return function(){return function(n,t){var r;for(var a in v=e.left(n),c)if(c.hasOwnProperty(a))for(a in r=c[a])r.hasOwnProperty(a)&&r[a]();c=null;var o=m(n,p,t);return function(n){return new b(u,function(n){return function(){for(var n in o)o.hasOwnProperty(n)&&o[n]();return h}})}}(n,t)}})}}function W(n,e,t){return new b(u,function(r){return function(){return I(n,e,t,r)}})}return b.EMPTY=n,b.Pure=g(e),b.Throw=g(t),b.Catch=g(r),b.Sync=g(a),b.Async=g(u),b.Bind=g(o),b.Bracket=g(i),b.Fork=g(l),b.Seq=g(c),b.ParMap=g(f),b.ParApply=g(s),b.ParAlt=g(d),b.Fiber=O,b.Supervisor=function(n){var e={},t=0,r=0;return{register:function(n){var a=t++;n.onComplete({rethrow:!0,handler:function(n){return function(){r--,delete e[a]}}}),e[a]=n,r++},isEmpty:function(){return 0===r},killAll:function(u,o){return function(){var i=0,l={};function c(t){l[t]=e[t].kill(u,function(e){return function(){delete l[t],i--,n.isLeft(e)&&n.fromLeft(e)&&setTimeout(function(){throw n.fromLeft(e)},0),0===i&&o()}})()}for(var f in e)e.hasOwnProperty(f)&&(i++,c(f));return e={},t=0,r=0,function(n){return new b(a,function(){for(var n in l)l.hasOwnProperty(n)&&l[n]()})}}}}},b.Scheduler=M,b.nonCanceler=h,b}();n._pure=e.Pure,n._throwError=e.Throw,n._catchError=function(n){return function(t){return e.Catch(n,t)}},n._map=function(n){return function(t){return t.tag===e.Pure.tag?e.Pure(n(t._1)):e.Bind(t,function(t){return e.Pure(n(t))})}},n._bind=function(n){return function(t){return e.Bind(n,t)}},n._fork=function(n){return function(t){return e.Fork(n,t)}},n._liftEffect=e.Sync,n._parAffMap=function(n){return function(t){return e.ParMap(n,t)}},n._parAffApply=function(n){return function(t){return e.ParApply(n,t)}},n.makeAff=e.Async,n._makeFiber=function(n,t){return function(){return e.Fiber(n,null,t)}},n._sequential=e.Seq}(PS["Effect.Aff"]=PS["Effect.Aff"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Bind"],PS["Control.Semigroupoid"],PS["Data.Either"]),r=(PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.Maybe"],PS["Data.Unit"],PS.Prelude,function(n){return n.catchError});n.catchError=a,n.throwError=function(n){return n.throwError},n.MonadThrow=function(n,e){this.Monad0=n,this.throwError=e},n.MonadError=function(n,e){this.MonadThrow0=n,this.catchError=e},n.try=function(n){return function(u){return a(n)(r.map(n.MonadThrow0().Monad0().Bind1().Apply0().Functor0())(t.Right.create)(u))(function(r){return e.pure(n.MonadThrow0().Monad0().Applicative0())(t.Left.create(r))})}}}(PS["Control.Monad.Error.Class"]=PS["Control.Monad.Error.Class"]||{}),function(n){"use strict";var e=PS["Data.Tuple"],t=PS["Data.Unit"],r=(PS.Prelude,function(n){return n.state});n.state=r,n.MonadState=function(n,e){this.Monad0=n,this.state=e},n.get=function(n){return r(n)(function(n){return new e.Tuple(n,n)})},n.gets=function(n){return function(t){return r(n)(function(n){return new e.Tuple(t(n),n)})}},n.put=function(n){return function(a){return r(n)(function(n){return new e.Tuple(t.unit,a)})}},n.modify_=function(n){return function(a){return r(n)(function(n){return new e.Tuple(t.unit,a(n))})}}}(PS["Control.Monad.State.Class"]=PS["Control.Monad.State.Class"]||{}),function(n){"use strict";PS.Prelude;n.lift=function(n){return n.lift},n.MonadTrans=function(n){this.lift=n}}(PS["Control.Monad.Trans.Class"]=PS["Control.Monad.Trans.Class"]||{}),function(n){"use strict";PS["Control.Category"],PS["Control.Monad"],PS.Effect;n.liftEffect=function(n){return n.liftEffect},n.MonadEffect=function(n,e){this.Monad0=n,this.liftEffect=e}}(PS["Effect.Class"]=PS["Effect.Class"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"];var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=(PS["Control.Monad.Cont.Class"],PS["Control.Monad.Error.Class"]),o=(PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Class"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Either"]),i=(PS["Data.Function"],PS["Data.Functor"]),l=(PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Semigroup"],PS["Data.Tuple"],PS["Effect.Class"],PS.Prelude,function(n){return n}),c=function(n){return function(e){return n(e)}},f=function(n){return new i.Functor(function(e){return c(i.map(n)(i.map(o.functorEither)(e)))})},s=function(n){return new a.Monad(function(){return P(n)},function(){return d(n)})},d=function(n){return new r.Bind(function(){return S(n)},function(t){return function(a){return r.bind(n.Bind1())(t)(o.either(function(t){return e.pure(n.Applicative0())(o.Left.create(t))})(function(n){return a(n)}))}})},S=function(n){return new t.Apply(function(){return f(n.Bind1().Apply0().Functor0())},a.ap(s(n)))},P=function(n){return new e.Applicative(function(){return S(n)},function(t){return l(e.pure(n.Applicative0())(o.Right.create(t)))})};n.ExceptT=l,n.runExceptT=function(n){return n},n.mapExceptT=c,n.functorExceptT=f,n.applyExceptT=S,n.applicativeExceptT=P,n.bindExceptT=d,n.monadExceptT=s,n.monadThrowExceptT=function(n){return new u.MonadThrow(function(){return s(n)},function(t){return l(e.pure(n.Applicative0())(o.Left.create(t)))})}}(PS["Control.Monad.Except.Trans"]=PS["Control.Monad.Except.Trans"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Monad"],PS["Control.Monad.Cont.Class"],PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Class"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Tuple"],PS["Effect.Class"],PS.Prelude;n.MaybeT=function(n){return n}}(PS["Control.Monad.Maybe.Trans"]=PS["Control.Monad.Maybe.Trans"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad.Cont.Trans"],PS["Control.Monad.Except.Trans"],PS["Control.Monad.Maybe.Trans"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.Writer.Trans"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Either"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Functor.Compose"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Unit"],PS["Effect.Class"],PS["Effect.Ref"],PS.Prelude;n.parallel=function(n){return n.parallel},n.sequential=function(n){return n.sequential},n.Parallel=function(n,e,t,r){this.Applicative1=n,this.Monad0=e,this.parallel=t,this.sequential=r}}(PS["Control.Parallel.Class"]=PS["Control.Parallel.Class"]||{}),function(n){"use strict";PS["Control.Alternative"],PS["Control.Apply"];var e=PS["Control.Category"],t=PS["Control.Parallel.Class"],r=(PS["Control.Semigroupoid"],PS["Data.Foldable"]),a=(PS["Data.Traversable"],PS.Prelude,function(n){return function(e){return function(a){return function(u){return t.sequential(n)(r.traverse_(n.Applicative1())(e)(function(e){return t.parallel(n)(a(e))})(u))}}}});n.parTraverse_=a,n.parSequence_=function(n){return function(t){return a(n)(t)(e.identity(e.categoryFn))}}}(PS["Control.Parallel"]=PS["Control.Parallel"]||{}),function(n){"use strict";(PS["Data.Function.Uncurried"]=PS["Data.Function.Uncurried"]||{}).runFn4=function(n){return function(e){return function(t){return function(r){return function(a){return n(e,t,r,a)}}}}}}(),function(n){"use strict";var e=PS["Data.Function.Uncurried"];PS["Data.Unit"];n.runFn4=e.runFn4}(PS["Data.Function.Uncurried"]=PS["Data.Function.Uncurried"]||{}),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(PS["Effect.Exception"]=PS["Effect.Exception"]||{}),function(n){"use strict";var e=PS["Effect.Exception"];PS["Control.Applicative"],PS["Control.Semigroupoid"],PS["Data.Either"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Show"],PS.Effect,PS.Prelude;n.throw=function(n){return e.throwException(e.error(n))},n.error=e.error,n.throwException=e.throwException}(PS["Effect.Exception"]=PS["Effect.Exception"]||{}),function(n){"use strict";(PS["Effect.Unsafe"]=PS["Effect.Unsafe"]||{}).unsafePerformEffect=function(n){return n()}}(),function(n){"use strict";var e=PS["Effect.Unsafe"];PS.Effect;n.unsafePerformEffect=e.unsafePerformEffect}(PS["Effect.Unsafe"]=PS["Effect.Unsafe"]||{}),function(n){"use strict";var e=PS["Effect.Aff"],t=(PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"]),r=PS["Control.Apply"],a=PS["Control.Bind"],u=(PS["Control.Lazy"],PS["Control.Monad"]),o=PS["Control.Monad.Error.Class"],i=PS["Control.Monad.Rec.Class"],l=(PS["Control.Parallel"],PS["Control.Parallel.Class"]),c=(PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Either"]),f=(PS["Data.Foldable"],PS["Data.Function"]),s=(PS["Data.Function.Uncurried"],PS["Data.Functor"]),d=(PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Semigroup"],PS["Data.Time.Duration"],PS["Data.Unit"]),S=PS.Effect,P=PS["Effect.Class"],v=(PS["Effect.Exception"],PS["Effect.Unsafe"]),p=PS["Partial.Unsafe"],m=(PS.Prelude,PS["Unsafe.Coerce"]),D=function(n){return n},b=e._fork(!1),g=new s.Functor(e._parAffMap),h=new s.Functor(e._map),w=e._fork(!0),E={isLeft:function(n){if(n instanceof c.Left)return!0;if(n instanceof c.Right)return!1;throw new Error("Failed pattern match at Effect.Aff line 385, column 12 - line 387, column 20: "+[n.constructor.name])},fromLeft:function(n){if(n instanceof c.Left)return n.value0;if(n instanceof c.Right)return p.unsafeCrashWith("unsafeFromLeft: Right");throw new Error("Failed pattern match at Effect.Aff line 390, column 20 - line 394, column 3: "+[n.constructor.name])},fromRight:function(n){if(n instanceof c.Right)return n.value0;if(n instanceof c.Left)return p.unsafeCrashWith("unsafeFromRight: Left");throw new Error("Failed pattern match at Effect.Aff line 395, column 21 - line 397, column 31: "+[n.constructor.name])},left:c.Left.create,right:c.Right.create},y=function(n){return e._makeFiber(E,n)},M=function(n){return function(){var e=y(n)();return e.run(),e}},C=new r.Apply(function(){return g},e._parAffApply),T=new u.Monad(function(){return H},function(){return A}),A=new a.Bind(function(){return F},e._bind),F=new r.Apply(function(){return h},u.ap(T)),H=new t.Applicative(function(){return F},e._pure),L=new P.MonadEffect(function(){return T},e._liftEffect),_=function(n){return D(f.const(P.liftEffect(L)(n)))},O=function(n){return e.makeAff(function(e){return s.map(S.functorEffect)(_)(n.join(e))})},I=new s.Functor(function(n){return function(e){return v.unsafePerformEffect(y(s.map(h)(n)(O(e))))}}),W=new o.MonadThrow(function(){return T},e._throwError),N=new o.MonadError(function(){return W},e._catchError),x=function(n){return function(e){return M(a.bindFlipped(A)(function(e){return P.liftEffect(L)(n(e))})(o.try(N)(e)))}},U=new l.Parallel(function(){return R},function(){return T},m.unsafeCoerce,e._sequential),R=new t.Applicative(function(){return C},function(n){return l.parallel(U)(t.pure(H)(n))}),k=new i.MonadRec(function(){return T},function(n){var e=function(r){return a.bind(A)(n(r))(function(n){if(n instanceof i.Done)return t.pure(H)(n.value0);if(n instanceof i.Loop)return e(n.value0);throw new Error("Failed pattern match at Effect.Aff line 99, column 7 - line 101, column 22: "+[n.constructor.name])})};return e}),B=f.const(t.pure(H)(d.unit));n.Canceler=D,n.launchAff=M,n.runAff=x,n.runAff_=function(n){return function(e){return s.void(S.functorEffect)(x(n)(e))}},n.forkAff=w,n.suspendAff=b,n.killFiber=function(n){return function(r){return a.bind(A)(P.liftEffect(L)(r.isSuspended))(function(a){return a?P.liftEffect(L)(s.void(S.functorEffect)(r.kill(n,f.const(t.pure(S.applicativeEffect)(d.unit))))):e.makeAff(function(e){return s.map(S.functorEffect)(_)(r.kill(n,e))})})}},n.joinFiber=O,n.nonCanceler=B,n.effectCanceler=_,n.functorAff=h,n.applyAff=F,n.applicativeAff=H,n.bindAff=A,n.monadAff=T,n.monadRecAff=k,n.monadThrowAff=W,n.monadErrorAff=N,n.monadEffectAff=L,n.functorParAff=g,n.applyParAff=C,n.applicativeParAff=R,n.parallelAff=U,n.functorFiber=I,n.makeAff=e.makeAff}(PS["Effect.Aff"]=PS["Effect.Aff"]||{}),function(n){"use strict";n._app=function(){return app},n._closest=function(n,e,t,r){var a=r.closest(t);return a?n(a):e},n._innerHtml=function(n){return n.innerHTML},n._setInnerHtml=function(n,e){return e.innerHTML=n,e},n._createFormData=function(n){return new FormData(n)},n._createFormString=function(n){return new URLSearchParams(new FormData(n)).toString()},n._createFormArray=function(n){return Array.from(new FormData(n))},n._getDataAttribute=function(n,e){return e.dataset[n]},n._setDataAttribute=function(n,e,t){return t.dataset[n]=e},n._moment8601=function(n,e){var t=moment(e,moment.ISO_8601),r=t.fromNow(),a=t.format("MMMM D YYYY, h:mm a")+" ("+t.format()+") ";return n(r)(a)},n._mmoment8601=function(n,e,t,r){try{var a=moment(r,moment.ISO_8601),u=a.fromNow(),o=a.format("MMMM D YYYY, h:mm a")+" ("+a.format()+") ";return n(t(u)(o))}catch(n){return e}},n._closeWindow=function(n){n.close()}}(PS.Globals=PS.Globals||{}),function(n){"use strict";n.null=null,n.nullable=function(n,e,t){return null==n?e:t(n)},n.notNull=function(n){return n}}(PS["Data.Nullable"]=PS["Data.Nullable"]||{}),function(n){"use strict";var e=PS["Data.Nullable"],t=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Show"],PS.Prelude,t.maybe(e.null)(e.notNull));n.toMaybe=function(n){return e.nullable(n,t.Nothing.value,t.Just.create)},n.toNullable=r}(PS["Data.Nullable"]=PS["Data.Nullable"]||{}),function(n){"use strict";PS["Control.Monad.Error.Class"];var e=PS["Control.Monad.Except.Trans"],t=(PS["Control.Semigroupoid"],PS["Data.Either"],PS["Data.Identity"]),r=PS["Data.Newtype"];PS.Prelude;n.runExcept=function(n){return r.unwrap(t.newtypeIdentity)(e.runExceptT(n))}}(PS["Control.Monad.Except"]=PS["Control.Monad.Except"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Category"];var e=PS["Control.Plus"],t=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"]),r=(PS["Data.FoldableWithIndex"],PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"]),u=(PS["Data.Semigroup.Foldable"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}());n.NonEmpty=u,n.singleton=function(n){return function(t){return new u(t,e.empty(n))}},n.functorNonEmpty=function(n){return new r.Functor(function(e){return function(t){return new u(e(t.value0),r.map(n)(e)(t.value1))}})},n.foldableNonEmpty=function(n){return new t.Foldable(function(e){return function(r){return function(u){return a.append(e.Semigroup0())(r(u.value0))(t.foldMap(n)(e)(r)(u.value1))}}},function(e){return function(r){return function(a){return t.foldl(n)(e)(e(r)(a.value0))(a.value1)}}},function(e){return function(r){return function(a){return e(a.value0)(t.foldr(n)(e)(r)(a.value1))}}})}}(PS["Data.NonEmpty"]=PS["Data.NonEmpty"]||{}),function(n){"use strict";var e=PS["Control.Alt"],t=(PS["Control.Alternative"],PS["Control.Applicative"]),r=PS["Control.Apply"],a=(PS["Control.Bind"],PS["Control.Category"],PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"]),u=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"]),o=(PS["Data.FoldableWithIndex"],PS["Data.Function"]),i=PS["Data.Functor"],l=(PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Monoid"]),c=(PS["Data.Newtype"],PS["Data.NonEmpty"]),f=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"]),s=(PS["Data.Semigroup.Foldable"],PS["Data.Semigroup.Traversable"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=new u.Foldable(function(n){return function(e){return u.foldl(S)(function(t){return function(r){return f.append(n.Semigroup0())(t)(e(r))}})(l.mempty(n))}},function(n){return function(e){return function(t){var r,a=e,u=!1;function o(e,r){if(r instanceof s)return u=!0,e;if(r instanceof d)return a=n(e)(r.value0),void(t=r.value1);throw new Error("Failed pattern match at Data.List.Types line 81, column 12 - line 83, column 30: "+[r.constructor.name])}for(;!u;)r=o(a,t);return r}}},function(n){return function(e){var t=u.foldl(S)(o.flip(d.create))(s.value);return function(r){return u.foldl(S)(o.flip(n))(e)(t(r))}}}),P=c.foldableNonEmpty(S),v=new i.Functor(function(n){return u.foldr(S)(function(e){return function(t){return new d(n(e),t)}})(s.value)}),p=c.functorNonEmpty(v),m=new f.Semigroup(function(n){return function(e){return u.foldr(S)(d.create)(e)(n)}}),D=new r.Apply(function(){return v},function(n){return function(e){if(n instanceof s)return s.value;if(n instanceof d)return f.append(m)(i.map(v)(n.value0)(e))(r.apply(D)(n.value1)(e));throw new Error("Failed pattern match at Data.List.Types line 127, column 1 - line 127, column 33: "+[n.constructor.name,e.constructor.name])}}),b=new t.Applicative(function(){return D},function(n){return new d(n,s.value)}),g=new e.Alt(function(){return v},f.append(m)),h=new a.Plus(function(){return g},s.value);n.Nil=s,n.Cons=d,n.NonEmptyList=function(n){return n},n.semigroupList=m,n.functorList=v,n.foldableList=S,n.applyList=D,n.applicativeList=b,n.altList=g,n.plusList=h,n.functorNonEmptyList=p,n.foldableNonEmptyList=P}(PS["Data.List.Types"]=PS["Data.List.Types"]||{}),function(n){"use strict";n.unsafeToForeign=function(n){return n},n.unsafeFromForeign=function(n){return n},n.typeOf=function(n){return typeof n},n.tagOf=function(n){return Object.prototype.toString.call(n).slice(8,-1)}}(PS.Foreign=PS.Foreign||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Lazy"],PS["Control.Monad.Rec.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Boolean"],PS["Data.Eq"];var e,t=PS["Data.Foldable"],r=(PS["Data.Function"],PS["Data.Functor"],PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.List.Types"]),a=(PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.NonEmpty"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unit"],PS.Prelude,e=r.Nil.value,function(n){var t,a=e,u=!1;function o(e,t){if(t instanceof r.Nil)return u=!0,e;if(t instanceof r.Cons)return a=new r.Cons(t.value0,e),void(n=t.value1);throw new Error("Failed pattern match at Data.List line 368, column 3 - line 368, column 19: "+[e.constructor.name,t.constructor.name])}for(;!u;)t=o(a,n);return t});n.fromFoldable=function(n){return t.foldr(n)(r.Cons.create)(r.Nil.value)},n.null=function(n){return n instanceof r.Nil},n.reverse=a}(PS["Data.List"]=PS["Data.List"]||{}),function(n){"use strict";PS["Control.Bind"],PS["Control.Category"],PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.List"];var e=PS["Data.List.Types"],t=(PS["Data.Maybe"],PS["Data.NonEmpty"]);PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semigroup.Foldable"],PS["Data.Semigroup.Traversable"],PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Partial.Unsafe"],PS.Prelude;n.singleton=function(n){return e.NonEmptyList(t.singleton(e.plusList)(n))},n.cons=function(n){return function(r){return new t.NonEmpty(n,new e.Cons(r.value0,r.value1))}}}(PS["Data.List.NonEmpty"]=PS["Data.List.NonEmpty"]||{}),function(n){"use strict";n.singleton=function(n){return n},n.length=function(n){return n.length},n.drop=function(n){return function(e){return e.substring(n)}}}(PS["Data.String.CodeUnits"]=PS["Data.String.CodeUnits"]||{}),function(n){"use strict";(PS["Data.String.Unsafe"]=PS["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n<e.length)return e.charAt(n);throw new Error("Data.String.Unsafe.charAt: Invalid index.")}}}(),function(n){"use strict";var e=PS["Data.String.Unsafe"];n.charAt=e.charAt}(PS["Data.String.Unsafe"]=PS["Data.String.Unsafe"]||{}),function(n){"use strict";var e=PS["Data.String.CodeUnits"];PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Function"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semiring"],PS["Data.String.Pattern"],PS["Data.String.Unsafe"],PS.Prelude;n.singleton=e.singleton,n.length=e.length,n.drop=e.drop}(PS["Data.String.CodeUnits"]=PS["Data.String.CodeUnits"]||{}),function(n){"use strict";var e=PS.Foreign,t=PS["Control.Applicative"],r=PS["Control.Monad.Error.Class"],a=(PS["Control.Monad.Except"],PS["Control.Monad.Except.Trans"]),u=(PS["Control.Semigroupoid"],PS["Data.Boolean"]),o=(PS["Data.Either"],PS["Data.Eq"],PS["Data.Function"],PS["Data.HeytingAlgebra"],PS["Data.Identity"]),i=(PS["Data.Int"],PS["Data.List.NonEmpty"]),l=(PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"]),c=(PS["Data.String.CodeUnits"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),f=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),s=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){if(n instanceof c)return n.value0;if(n instanceof s)return"Error at array index "+l.show(l.showInt)(n.value0)+": "+S(n.value1);if(n instanceof d)return"Error at property "+l.show(l.showString)(n.value0)+": "+S(n.value1);if(n instanceof f)return"Type mismatch: expected "+n.value0+", found "+n.value1;throw new Error("Failed pattern match at Foreign line 72, column 1 - line 72, column 45: "+[n.constructor.name])},P=function(n){return r.throwError(a.monadThrowExceptT(o.monadIdentity))(i.singleton(n))},v=function(n){return function(r){if(e.tagOf(r)===n)return t.pure(a.applicativeExceptT(o.monadIdentity))(e.unsafeFromForeign(r));if(u.otherwise)return P(new f(n,e.tagOf(r)));throw new Error("Failed pattern match at Foreign line 106, column 1 - line 106, column 55: "+[n.constructor.name,r.constructor.name])}},p=v("Boolean"),m=v("String");n.ForeignError=c,n.TypeMismatch=f,n.ErrorAtIndex=s,n.ErrorAtProperty=d,n.renderForeignError=S,n.unsafeReadTagged=v,n.readString=m,n.readBoolean=p,n.fail=P,n.unsafeToForeign=e.unsafeToForeign,n.typeOf=e.typeOf}(PS.Foreign=PS.Foreign||{}),function(n){"use strict";(PS["Foreign.Index"]=PS["Foreign.Index"]||{}).unsafeReadPropImpl=function(n,e,t,r){return null==r?n:e(r[t])}}(),function(n){"use strict";var e=PS["Foreign.Index"],t=PS["Control.Applicative"],r=(PS["Control.Bind"],PS["Control.Monad.Except.Trans"]),a=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.HeytingAlgebra"],PS["Data.Identity"]),u=(PS["Data.List.NonEmpty"],PS.Foreign),o=(PS.Prelude,function(n){return function(o){return e.unsafeReadPropImpl(u.fail(new u.TypeMismatch("object",u.typeOf(o))),t.pure(r.applicativeExceptT(a.monadIdentity)),n,o)}});n.readProp=o}(PS["Foreign.Index"]=PS["Foreign.Index"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(PS["Foreign.Object"]=PS["Foreign.Object"]||{}),function(n){"use strict";(PS["Foreign.Object.ST"]=PS["Foreign.Object.ST"]||{}).new=function(){return{}}}(),function(n){"use strict";var e=PS["Foreign.Object.ST"];PS["Control.Monad.ST"],PS["Data.Maybe"];n.new=e.new}(PS["Foreign.Object.ST"]=PS["Foreign.Object.ST"]||{}),function(n){"use strict";var e=PS["Foreign.Object"],t=(PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Monad.ST"],PS["Control.Monad.ST.Internal"],PS["Control.Semigroupoid"],PS["Data.Array"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.FoldableWithIndex"],PS["Data.Function"],PS["Data.Function.Uncurried"]),r=(PS["Data.Functor"],PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),a=(PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Foreign.Object.ST"],PS.Prelude,t.runFn4(e._lookup)(r.Nothing.value)(r.Just.create));n.lookup=a,n.empty=e.empty}(PS["Foreign.Object"]=PS["Foreign.Object"]||{}),function(n){"use strict";PS["Type.Data.Boolean"],PS["Type.Data.Symbol"],PS["Type.Equality"];var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(PS["Type.Row"]=PS["Type.Row"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.Function.Uncurried"],PS["Data.HeytingAlgebra"];var e=PS["Data.Symbol"],t=(PS.Prelude,PS["Record.Unsafe"]);PS["Record.Unsafe.Union"],PS["Type.Row"],PS["Unsafe.Coerce"];n.get=function(n){return function(r){return function(r){return function(a){return t.unsafeGet(e.reflectSymbol(n)(r))(a)}}}}}(PS.Record=PS.Record||{}),function(n){"use strict";n.copyRecord=function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e},n.unsafeInsert=function(n){return function(e){return function(t){return t[n]=e,t}}}}(PS["Record.Builder"]=PS["Record.Builder"]||{}),function(n){"use strict";var e=PS["Record.Builder"],t=PS["Control.Category"],r=PS["Control.Semigroupoid"],a=(PS["Data.Function.Uncurried"],PS["Data.Symbol"]),u=(PS.Prelude,PS["Record.Unsafe.Union"],PS["Type.Row"],PS["Unsafe.Coerce"],r.semigroupoidFn),o=t.categoryFn;n.build=function(n){return function(t){return n(e.copyRecord(t))}},n.insert=function(n){return function(n){return function(n){return function(t){return function(r){return function(u){return e.unsafeInsert(a.reflectSymbol(n)(t))(r)(u)}}}}}},n.semigroupoidBuilder=u,n.categoryBuilder=o}(PS["Record.Builder"]=PS["Record.Builder"]||{}),function(n){"use strict";PS["Simple.JSON"],PS["Control.Alt"],PS["Control.Applicative"],PS["Control.Bind"];var e=PS["Control.Category"],t=(PS["Control.Monad.Except"],PS["Control.Monad.Except.Trans"],PS["Control.Semigroupoid"]),r=(PS["Data.Bifunctor"],PS["Data.Boolean"],PS["Data.Either"],PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Identity"],PS["Data.List.Types"],PS["Data.Maybe"],PS["Data.Nullable"],PS["Data.Semigroup"],PS["Data.Symbol"]),a=(PS["Data.Traversable"],PS["Data.Variant"],PS["Effect.Exception"],PS["Effect.Uncurried"],PS["Effect.Unsafe"],PS.Foreign),u=(PS["Foreign.Index"],PS["Foreign.Object"],PS["Global.Unsafe"]),o=(PS["Partial.Unsafe"],PS.Prelude,PS.Record),i=PS["Record.Builder"],l=(PS["Type.Prelude"],PS["Type.Row"]),c=function(n){this.writeImpl=n},f=function(n){this.writeImplFields=n},s=function(n){return n.writeImplFields},d=function(n){return n.writeImpl},S=new c(a.unsafeToForeign),P=new c(a.unsafeToForeign),v=new c(a.unsafeToForeign),p=new f(function(n){return function(n){return e.identity(i.categoryBuilder)}});n.writeJSON=function(n){return function(e){return u.unsafeStringify(d(n)(e))}},n.WriteForeign=c,n.writeImpl=d,n.WriteForeignFields=f,n.writeImplFields=s,n.writeForeignString=S,n.writeForeignInt=P,n.writeForeignBoolean=v,n.recordWriteForeign=function(n){return function(n){return new c(function(e){var t=s(n)(l.RLProxy.value)(e);return a.unsafeToForeign(i.build(t)({}))})}},n.consWriteForeignFields=function(n){return function(e){return function(a){return function(u){return function(c){return function(S){return new f(function(f){return function(f){var P=s(a)(l.RLProxy.value)(f),v=d(e)(o.get(n)(u)(r.SProxy.value)(f));return t.compose(i.semigroupoidBuilder)(i.insert(S)(c)(n)(r.SProxy.value)(v))(P)}})}}}}}},n.nilWriteForeignFields=p}(PS["Simple.JSON"]=PS["Simple.JSON"]||{}),function(n){"use strict";var e=PS["Data.Symbol"],t=PS["Simple.JSON"],r=t.recordWriteForeign()(t.consWriteForeignFields(new e.IsSymbol(function(){return"bid"}))(t.writeForeignInt)(t.consWriteForeignFields(new e.IsSymbol(function(){return"description"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"private"}))(t.writeForeignBoolean)(t.consWriteForeignFields(new e.IsSymbol(function(){return"selected"}))(t.writeForeignBoolean)(t.consWriteForeignFields(new e.IsSymbol(function(){return"tags"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"time"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"title"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"toread"}))(t.writeForeignBoolean)(t.consWriteForeignFields(new e.IsSymbol(function(){return"url"}))(t.writeForeignString)(t.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());n.wfI=r}(PS.Model=PS.Model||{}),function(n){"use strict";(PS["Web.HTML"]=PS["Web.HTML"]||{}).window=function(){return window}}(),function(n){"use strict";(PS["Web.HTML.HTMLDocument"]=PS["Web.HTML.HTMLDocument"]||{})._body=function(n){return function(){return n.body}}}(),function(n){"use strict";(PS["Web.DOM.Element"]=PS["Web.DOM.Element"]||{}).removeAttribute=function(n){return function(e){return function(){return e.removeAttribute(n),{}}}}}(),function(n){"use strict";n._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}},n.querySelectorAll=function(n){return function(e){return function(){return e.querySelectorAll(n)}}}}(PS["Web.DOM.ParentNode"]=PS["Web.DOM.ParentNode"]||{}),function(n){"use strict";(PS["Web.DOM.NodeList"]=PS["Web.DOM.NodeList"]||{}).toArray=function(n){return function(){return[].slice.call(n)}}}(),function(n){"use strict";var e=PS["Web.DOM.NodeList"];PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Nullable"],PS.Effect,PS.Prelude,PS["Web.DOM.Internal.Types"];n.toArray=e.toArray}(PS["Web.DOM.NodeList"]=PS["Web.DOM.NodeList"]||{}),function(n){"use strict";var e=PS["Web.DOM.ParentNode"],t=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Nullable"]),a=(PS["Data.Ord"],PS.Effect);PS.Prelude,PS["Web.DOM.HTMLCollection"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NodeList"];n.querySelector=function(n){return function(u){return t.map(a.functorEffect)(r.toMaybe)(e._querySelector(n)(u))}},n.querySelectorAll=e.querySelectorAll}(PS["Web.DOM.ParentNode"]=PS["Web.DOM.ParentNode"]||{}),function(n){"use strict";(PS["Web.Event.EventTarget"]=PS["Web.Event.EventTarget"]||{}).eventListener=function(n){return function(){return function(e){return n(e)()}}}}(),function(n){"use strict";n._currentTarget=function(n){return n.currentTarget},n.preventDefault=function(n){return function(){return n.preventDefault()}}}(PS["Web.Event.Event"]=PS["Web.Event.Event"]||{}),function(n){"use strict";n.toCharCode=function(n){return n.charCodeAt(0)},n.fromCharCode=function(n){return String.fromCharCode(n)}}(PS["Data.Enum"]=PS["Data.Enum"]||{}),function(n){"use strict";var e=PS["Data.Enum"],t=(PS["Control.Apply"],PS["Control.Bind"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Bounded"]),r=(PS["Data.Either"],PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),a=(PS["Data.Newtype"],PS["Data.Ord"]),u=(PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS["Data.Unit"],PS["Partial.Unsafe"],PS.Prelude,function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}),o=function(n,e,t,r,a){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=a},i=function(n){return n.toEnum},l=function(n){return n.fromEnum},c=function(n){return function(e){return function(t){return n(e(t)+1|0)}}},f=function(n){return function(e){return function(t){return n(e(t)-1|0)}}},s=function(n){return n>=t.bottom(t.boundedInt)&&n<=t.top(t.boundedInt)?new r.Just(e.fromCharCode(n)):r.Nothing.value},d=new u(function(){return a.ordChar},f(s)(e.toCharCode),c(s)(e.toCharCode)),S=new o(function(){return t.boundedChar},function(){return d},e.toCharCode(t.top(t.boundedChar))-e.toCharCode(t.bottom(t.boundedChar))|0,e.toCharCode,s);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=o,n.cardinality=function(n){return n.cardinality},n.toEnum=i,n.fromEnum=l,n.toEnumWithDefaults=function(n){return function(e){return function(a){return function(u){var o=i(n)(u);if(o instanceof r.Just)return o.value0;if(o instanceof r.Nothing)return u<l(n)(t.bottom(n.Bounded0()))?e:a;throw new Error("Failed pattern match at Data.Enum line 158, column 33 - line 160, column 62: "+[o.constructor.name])}}}},n.defaultSucc=c,n.defaultPred=f,n.enumChar=d,n.boundedEnumChar=S}(PS["Data.Enum"]=PS["Data.Enum"]||{}),function(n){"use strict";var e=PS["Web.Event.Event"],t=(PS["Control.Semigroupoid"],PS["Data.DateTime.Instant"],PS["Data.Enum"],PS["Data.Eq"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Nullable"]);PS["Data.Ord"],PS.Effect,PS.Prelude,PS["Web.Event.EventPhase"],PS["Web.Event.Internal.Types"];n.currentTarget=function(n){return t.toMaybe(e._currentTarget(n))},n.preventDefault=e.preventDefault}(PS["Web.Event.Event"]=PS["Web.Event.Event"]||{}),function(n){"use strict";var e=PS["Web.Event.EventTarget"];PS.Effect,PS.Prelude,PS["Web.Event.Event"],PS["Web.Event.Internal.Types"];n.eventListener=e.eventListener}(PS["Web.Event.EventTarget"]=PS["Web.Event.EventTarget"]||{}),function(n){"use strict";(PS["Web.Internal.FFI"]=PS["Web.Internal.FFI"]||{})._unsafeReadProtoTagged=function(n,e,t,r){for(var a=r;null!=a;){var u=Object.getPrototypeOf(a),o=u.constructor.name;if(o===t)return e(r);if("Object"===o)return n;a=u}return n}}(),function(n){"use strict";var e=PS["Web.Internal.FFI"],t=(PS["Data.Function.Uncurried"],PS["Data.Maybe"]);n.unsafeReadProtoTagged=function(n){return function(r){return e._unsafeReadProtoTagged(t.Nothing.value,t.Just.create,n,r)}}}(PS["Web.Internal.FFI"]=PS["Web.Internal.FFI"]||{}),function(n){"use strict";var e=PS["Web.DOM.Element"],t=(PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Nullable"],PS.Effect,PS.Prelude,PS["Unsafe.Coerce"]),r=(PS["Web.DOM.ChildNode"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonDocumentTypeChildNode"],PS["Web.DOM.ParentNode"],PS["Web.Event.EventTarget"],PS["Web.Internal.FFI"]),a=t.unsafeCoerce,u=t.unsafeCoerce,o=r.unsafeReadProtoTagged("Element");n.fromNode=o,n.toNode=u,n.toParentNode=a,n.removeAttribute=e.removeAttribute}(PS["Web.DOM.Element"]=PS["Web.DOM.Element"]||{}),function(n){"use strict";(PS["Web.DOM.NonElementParentNode"]=PS["Web.DOM.NonElementParentNode"]||{})._getElementById=function(n){return function(e){return function(){return e.getElementById(n)}}}}(),function(n){"use strict";var e=PS["Web.DOM.NonElementParentNode"],t=(PS["Control.Semigroupoid"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Nullable"]),a=PS.Effect;PS.Prelude,PS["Web.DOM.Element"];n.getElementById=function(n){return function(u){return t.map(a.functorEffect)(r.toMaybe)(e._getElementById(n)(u))}}}(PS["Web.DOM.NonElementParentNode"]=PS["Web.DOM.NonElementParentNode"]||{}),function(n){"use strict";PS["Web.DOM.Document"],PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Nullable"],PS.Effect,PS.Prelude;var e=PS["Unsafe.Coerce"],t=(PS["Web.DOM.Comment"],PS["Web.DOM.DocumentFragment"],PS["Web.DOM.DocumentType"],PS["Web.DOM.Element"],PS["Web.DOM.HTMLCollection"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonElementParentNode"],PS["Web.DOM.ParentNode"],PS["Web.DOM.ProcessingInstruction"],PS["Web.DOM.Text"],PS["Web.Event.EventTarget"],PS["Web.Internal.FFI"],e.unsafeCoerce);n.toNonElementParentNode=t}(PS["Web.DOM.Document"]=PS["Web.DOM.Document"]||{}),function(n){"use strict";(PS["Web.HTML.HTMLElement"]=PS["Web.HTML.HTMLElement"]||{})._read=function(n,e,t){var r=Object.prototype.toString.call(t);return 0===r.indexOf("[object HTML")&&r.indexOf("Element]")===r.length-8?e(t):n}}(),function(n){"use strict";var e=PS["Web.HTML.HTMLElement"],t=(PS["Control.Semigroupoid"],PS["Data.Function.Uncurried"],PS["Data.Functor"],PS["Data.Maybe"]),r=(PS["Data.Nullable"],PS.Effect,PS.Prelude,PS["Unsafe.Coerce"]),a=(PS["Web.DOM"],PS["Web.DOM.DOMTokenList"],PS["Web.DOM.Element"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonDocumentTypeChildNode"],PS["Web.DOM.ParentNode"],PS["Web.Event.EventTarget"],r.unsafeCoerce),u=r.unsafeCoerce;n.fromElement=function(n){return e._read(t.Nothing.value,t.Just.create,n)},n.toElement=u,n.toNode=a}(PS["Web.HTML.HTMLElement"]=PS["Web.HTML.HTMLElement"]||{}),function(n){"use strict";var e=PS["Web.HTML.HTMLDocument"],t=(PS["Control.Semigroupoid"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Nullable"]),a=PS.Effect,u=(PS.Prelude,PS["Unsafe.Coerce"]),o=(PS["Web.DOM.Document"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonElementParentNode"],PS["Web.DOM.ParentNode"],PS["Web.Event.EventTarget"],PS["Web.HTML.HTMLDocument.ReadyState"],PS["Web.HTML.HTMLElement"],PS["Web.Internal.FFI"],u.unsafeCoerce),i=u.unsafeCoerce;n.toDocument=i,n.toParentNode=o,n.body=function(n){return t.map(a.functorEffect)(r.toMaybe)(e._body(n))}}(PS["Web.HTML.HTMLDocument"]=PS["Web.HTML.HTMLDocument"]||{}),function(n){"use strict";n.href=function(n){return function(){return n.href}},n.setHref=function(n){return function(e){return function(){e.href=n}}},n.search=function(n){return function(){return n.search}},n.reload=function(n){return function(){n.reload()}}}(PS["Web.HTML.Location"]=PS["Web.HTML.Location"]||{}),function(n){"use strict";var e=PS["Web.HTML.Location"];PS.Effect,PS.Prelude;n.setHref=e.setHref,n.search=e.search,n.reload=e.reload}(PS["Web.HTML.Location"]=PS["Web.HTML.Location"]||{}),function(n){"use strict";n.document=function(n){return function(){return n.document}},n.location=function(n){return function(){return n.location}}}(PS["Web.HTML.Window"]=PS["Web.HTML.Window"]||{}),function(n){"use strict";var e=PS["Web.HTML.Window"];PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Nullable"],PS["Data.Ord"],PS.Effect,PS.Prelude,PS["Unsafe.Coerce"],PS["Web.Event.EventTarget"],PS["Web.HTML.HTMLDocument"],PS["Web.HTML.History"],PS["Web.HTML.Location"],PS["Web.HTML.Navigator"],PS["Web.Storage.Storage"];n.document=e.document,n.location=e.location}(PS["Web.HTML.Window"]=PS["Web.HTML.Window"]||{}),function(n){"use strict";var e=PS["Web.HTML"];PS.Effect,PS["Web.HTML.HTMLAnchorElement"],PS["Web.HTML.HTMLAreaElement"],PS["Web.HTML.HTMLAudioElement"],PS["Web.HTML.HTMLBRElement"],PS["Web.HTML.HTMLBaseElement"],PS["Web.HTML.HTMLBodyElement"],PS["Web.HTML.HTMLButtonElement"],PS["Web.HTML.HTMLCanvasElement"],PS["Web.HTML.HTMLDListElement"],PS["Web.HTML.HTMLDataElement"],PS["Web.HTML.HTMLDataListElement"],PS["Web.HTML.HTMLDivElement"],PS["Web.HTML.HTMLDocument"],PS["Web.HTML.HTMLElement"],PS["Web.HTML.HTMLEmbedElement"],PS["Web.HTML.HTMLFieldSetElement"],PS["Web.HTML.HTMLFormElement"],PS["Web.HTML.HTMLHRElement"],PS["Web.HTML.HTMLHeadElement"],PS["Web.HTML.HTMLHeadingElement"],PS["Web.HTML.HTMLIFrameElement"],PS["Web.HTML.HTMLImageElement"],PS["Web.HTML.HTMLInputElement"],PS["Web.HTML.HTMLKeygenElement"],PS["Web.HTML.HTMLLIElement"],PS["Web.HTML.HTMLLabelElement"],PS["Web.HTML.HTMLLegendElement"],PS["Web.HTML.HTMLLinkElement"],PS["Web.HTML.HTMLMapElement"],PS["Web.HTML.HTMLMediaElement"],PS["Web.HTML.HTMLMetaElement"],PS["Web.HTML.HTMLMeterElement"],PS["Web.HTML.HTMLModElement"],PS["Web.HTML.HTMLOListElement"],PS["Web.HTML.HTMLObjectElement"],PS["Web.HTML.HTMLOptGroupElement"],PS["Web.HTML.HTMLOptionElement"],PS["Web.HTML.HTMLOutputElement"],PS["Web.HTML.HTMLParagraphElement"],PS["Web.HTML.HTMLParamElement"],PS["Web.HTML.HTMLPreElement"],PS["Web.HTML.HTMLProgressElement"],PS["Web.HTML.HTMLQuoteElement"],PS["Web.HTML.HTMLScriptElement"],PS["Web.HTML.HTMLSelectElement"],PS["Web.HTML.HTMLSourceElement"],PS["Web.HTML.HTMLSpanElement"],PS["Web.HTML.HTMLStyleElement"],PS["Web.HTML.HTMLTableCaptionElement"],PS["Web.HTML.HTMLTableCellElement"],PS["Web.HTML.HTMLTableColElement"],PS["Web.HTML.HTMLTableDataCellElement"],PS["Web.HTML.HTMLTableElement"],PS["Web.HTML.HTMLTableHeaderCellElement"],PS["Web.HTML.HTMLTableRowElement"],PS["Web.HTML.HTMLTableSectionElement"],PS["Web.HTML.HTMLTemplateElement"],PS["Web.HTML.HTMLTextAreaElement"],PS["Web.HTML.HTMLTimeElement"],PS["Web.HTML.HTMLTitleElement"],PS["Web.HTML.HTMLTrackElement"],PS["Web.HTML.HTMLUListElement"],PS["Web.HTML.HTMLVideoElement"],PS["Web.HTML.History"],PS["Web.HTML.Location"],PS["Web.HTML.Navigator"],PS["Web.HTML.Window"];n.window=e.window}(PS["Web.HTML"]=PS["Web.HTML"]||{}),function(n){"use strict";var e=PS.Globals,t=PS["Control.Applicative"],r=(PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=PS["Data.Nullable"],u=PS["Data.Tuple"],o=PS.Effect;PS.Model,PS.Prelude,PS["Web.DOM"],PS["Web.HTML"],PS["Web.XHR.FormData"];n["app'"]=function(n){return e._app()},n.closest=function(n){return function(a){return t.pure(o.applicativeEffect)(e._closest(r.Just.create,r.Nothing.value,n,a))}},n.moment8601=function(n){return t.pure(o.applicativeEffect)(e._moment8601(u.Tuple.create,n))},n.mmoment8601=function(n){return e._mmoment8601(r.Just.create,r.Nothing.value,u.Tuple.create,n)},n.innerHtml=function(n){return t.pure(o.applicativeEffect)(e._innerHtml(n))},n.setInnerHtml=function(n){return function(r){return t.pure(o.applicativeEffect)(e._setInnerHtml(n,r))}},n.createFormData=function(n){return e._createFormData(n)},n.createFormString=function(n){return e._createFormString(n)},n.createFormArray=function(n){return e._createFormArray(n)},n.getDataAttribute=function(n){return function(r){return t.pure(o.applicativeEffect)(a.toMaybe(e._getDataAttribute(n,r)))}},n.setDataAttribute=function(n){return function(r){return function(a){return t.pure(o.applicativeEffect)(e._setDataAttribute(n,r,a))}}},n.closeWindow=function(n){return t.pure(o.applicativeEffect)(e._closeWindow(n))},n._app=e._app,n._closest=e._closest,n._moment8601=e._moment8601,n._mmoment8601=e._mmoment8601,n._innerHtml=e._innerHtml,n._setInnerHtml=e._setInnerHtml,n._createFormData=e._createFormData,n._createFormString=e._createFormString,n._createFormArray=e._createFormArray,n._getDataAttribute=e._getDataAttribute,n._setDataAttribute=e._setDataAttribute,n._closeWindow=e._closeWindow}(PS.Globals=PS.Globals||{}),function(n){"use strict";var e;(PS["Network.HTTP.Affjax"]=PS["Network.HTTP.Affjax"]||{})._ajax=(e={},"undefined"==typeof module||!module.require||"undefined"!=typeof process&&process.versions.electron?(e.newXHR=function(){return new XMLHttpRequest},e.fixupUrl=function(n){return n||"/"},e.getResponse=function(n){return n.response}):(e.newXHR=function(){return new(module.require("xhr2"))},e.fixupUrl=function(n){var e=module.require("url"),t=e.parse(n);return t.protocol=t.protocol||"http:",t.hostname=t.hostname||"localhost",e.format(t)},e.getResponse=function(n){return n.response}),function(n,t){return function(r,a){var u=e.newXHR(),o=e.fixupUrl(t.url);if(u.open(t.method||"GET",o,!0,t.username,t.password),t.headers)try{for(var i,l=0;null!=(i=t.headers[l]);l++)u.setRequestHeader(i.field,i.value)}catch(n){r(n)}return u.onerror=function(){r(new Error("AJAX request failed: "+t.method+" "+t.url))},u.onload=function(){a({status:u.status,statusText:u.statusText,headers:u.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),response:e.getResponse(u)})},u.responseType=t.responseType,u.withCredentials=t.withCredentials,u.send(t.content),function(n,e,t){try{u.abort()}catch(n){return e(n)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(PS["Data.Argonaut.Core"]=PS["Data.Argonaut.Core"]||{}),function(n){"use strict";var e=PS["Data.Argonaut.Core"],t=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Foreign.Object"]),r=(PS.Prelude,e.fromObject(t.empty));n.jsonEmptyObject=r,n.stringify=e.stringify}(PS["Data.Argonaut.Core"]=PS["Data.Argonaut.Core"]||{}),function(n){"use strict";(PS["Data.Argonaut.Parser"]=PS["Data.Argonaut.Parser"]||{})._jsonParser=function(n,e,t){try{return e(JSON.parse(t))}catch(e){return n(e.message)}}}(),function(n){"use strict";var e=PS["Data.Argonaut.Parser"],t=(PS["Data.Argonaut.Core"],PS["Data.Either"]);PS["Data.Function.Uncurried"];n.jsonParser=function(n){return e._jsonParser(t.Left.create,t.Right.create,n)}}(PS["Data.Argonaut.Parser"]=PS["Data.Argonaut.Parser"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Semigroupoid"];var e=PS["Data.Either"],t=(PS["Data.Function"],PS.Effect,PS["Effect.Aff"]);PS["Effect.Exception"],PS["Effect.Uncurried"],PS.Prelude;n.fromEffectFnAff=function(n){return t.makeAff(function(r){return function(){var a=n(function(n){return r(e.Left.create(n))()},function(n){return r(e.Right.create(n))()});return function(n){return t.makeAff(function(r){return function(){return a(n,function(n){return r(e.Left.create(n))()},function(n){return r(e.Right.create(n))()}),t.nonCanceler}})}}})}}(PS["Effect.Aff.Compat"]=PS["Effect.Aff.Compat"]||{}),function(n){"use strict";PS["Data.Argonaut.Core"],PS["Data.ArrayBuffer.Types"],PS["Data.FormURLEncoded"];var e=PS["Data.Maybe"],t=(PS["Data.MediaType"],PS["Data.MediaType.Common"]),r=(PS["Web.DOM.Document"],PS["Web.File.Blob"],PS["Web.XHR.FormData"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=o.create;n.ArrayView=r,n.Blob=a,n.Document=u,n.String=o,n.FormData=i,n.FormURLEncoded=l,n.Json=c,n.string=f,n.toMediaType=function(n){return n instanceof l?new e.Just(t.applicationFormURLEncoded):n instanceof c?new e.Just(t.applicationJSON):e.Nothing.value}}(PS["Network.HTTP.Affjax.Request"]=PS["Network.HTTP.Affjax.Request"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=(PS["Data.Argonaut.Core"],PS["Data.ArrayBuffer.Types"],PS["Data.Maybe"]),r=(PS["Data.MediaType"],PS["Data.MediaType.Common"]),a=(PS.Prelude,PS["Web.DOM.Document"],PS["Web.File.Blob"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=new c(e.identity(e.categoryFn));n.ArrayBuffer=a,n.Blob=u,n.Document=o,n.Json=i,n.String=l,n.Ignore=c,n.ignore=f,n.toResponseType=function(n){if(n instanceof a)return"arraybuffer";if(n instanceof u)return"blob";if(n instanceof o)return"document";if(n instanceof i)return"text";if(n instanceof l)return"text";if(n instanceof c)return"";throw new Error("Failed pattern match at Network.HTTP.Affjax.Response line 41, column 3 - line 49, column 1: "+[n.constructor.name])},n.toMediaType=function(n){return n instanceof i?new t.Just(r.applicationJSON):t.Nothing.value}}(PS["Network.HTTP.Affjax.Response"]=PS["Network.HTTP.Affjax.Response"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.HeytingAlgebra"];var e=PS["Data.MediaType"],t=PS["Data.Newtype"],r=(PS["Data.Semigroup"],PS["Data.Show"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.Accept=r,n.ContentType=a,n.RequestHeader=u,n.requestHeaderName=function(n){if(n instanceof r)return"Accept";if(n instanceof a)return"Content-Type";if(n instanceof u)return n.value0;throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 24, column 1 - line 24, column 45: "+[n.constructor.name])},n.requestHeaderValue=function(n){if(n instanceof r)return t.unwrap(e.newtypeMediaType)(n.value0);if(n instanceof a)return t.unwrap(e.newtypeMediaType)(n.value0);if(n instanceof u)return n.value1;throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 29, column 1 - line 29, column 46: "+[n.constructor.name])}}(PS["Network.HTTP.RequestHeader"]=PS["Network.HTTP.RequestHeader"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.HeytingAlgebra"],PS["Data.Semigroup"],PS["Data.Show"],PS.Prelude;var e=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.responseHeader=function(n){return function(t){return new e(n,t)}}}(PS["Network.HTTP.ResponseHeader"]=PS["Network.HTTP.ResponseHeader"]||{}),function(n){"use strict";var e=PS["Network.HTTP.Affjax"],t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.Error.Class"],u=PS["Control.Monad.Except"],o=PS["Control.Monad.Except.Trans"],i=(PS["Control.Parallel"],PS["Control.Semigroupoid"],PS["Data.Argonaut.Core"]),l=PS["Data.Argonaut.Parser"],c=PS["Data.Array"],f=PS["Data.Either"],s=PS["Data.Eq"],d=PS["Data.Foldable"],S=PS["Data.FormURLEncoded"],P=PS["Data.Function"],v=(PS["Data.Function.Uncurried"],PS["Data.Functor"]),p=PS["Data.HTTP.Method"],m=PS["Data.HeytingAlgebra"],D=PS["Data.Identity"],b=(PS["Data.Int"],PS["Data.List.Types"]),g=PS["Data.Maybe"],h=PS["Data.Monoid"],w=PS["Data.Nullable"],E=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Time.Duration"],PS["Data.Unit"]),y=PS["Effect.Aff"],M=PS["Effect.Aff.Compat"],C=(PS["Effect.Class"],PS["Effect.Exception"]),T=(PS["Effect.Ref"],PS.Foreign),A=(PS.Math,PS["Network.HTTP.Affjax.Request"]),F=PS["Network.HTTP.Affjax.Response"],H=PS["Network.HTTP.RequestHeader"],L=PS["Network.HTTP.ResponseHeader"],_=(PS["Network.HTTP.StatusCode"],PS.Prelude,{method:new f.Left(p.GET.value),url:"/",headers:[],content:g.Nothing.value,username:g.Nothing.value,password:g.Nothing.value,withCredentials:!1});n.defaultRequest=_,n.affjax=function(n){return function(_){var O,I=function(){if(n instanceof F.ArrayBuffer)return T.unsafeReadTagged("ArrayBuffer");if(n instanceof F.Blob)return T.unsafeReadTagged("Blob");if(n instanceof F.Document)return T.unsafeReadTagged("Document");if(n instanceof F.Json)return r.composeKleisliFlipped(o.bindExceptT(D.monadIdentity))(function(e){return n.value0(""===(r=e)?t.pure(o.applicativeExceptT(D.monadIdentity))(i.jsonEmptyObject):f.either(function(n){return T.fail(T.ForeignError.create(n))})(t.pure(o.applicativeExceptT(D.monadIdentity)))(l.jsonParser(r)));var r})(T.unsafeReadTagged("String"));if(n instanceof F.String)return T.unsafeReadTagged("String");if(n instanceof F.Ignore)return P.const(n.value0(t.pure(o.applicativeExceptT(D.monadIdentity))(E.unit)));throw new Error("Failed pattern match at Network.HTTP.Affjax line 261, column 19 - line 267, column 51: "+[n.constructor.name])}(),W=function(n){return function(e){return n instanceof g.Just&&!d.any(d.foldableArray)(m.heytingAlgebraBoolean)(P.on(s.eq(s.eqString))(H.requestHeaderName)(n.value0))(e)?c.snoc(e)(n.value0):e}},N={method:p.print(_.method),url:_.url,headers:v.map(v.functorArray)(function(n){return{field:H.requestHeaderName(n),value:H.requestHeaderValue(n)}})((O=_.content,W(v.map(g.functorMaybe)(H.ContentType.create)(r.bindFlipped(g.bindMaybe)(A.toMediaType)(O)))(W(v.map(g.functorMaybe)(H.Accept.create)(F.toMediaType(n)))(_.headers)))),content:w.toNullable(v.map(g.functorMaybe)(function(n){if(n instanceof A.ArrayView)return n.value0(T.unsafeToForeign);if(n instanceof A.Blob)return T.unsafeToForeign(n.value0);if(n instanceof A.Document)return T.unsafeToForeign(n.value0);if(n instanceof A.String)return T.unsafeToForeign(n.value0);if(n instanceof A.FormData)return T.unsafeToForeign(n.value0);if(n instanceof A.FormURLEncoded)return T.unsafeToForeign(S.encode(n.value0));if(n instanceof A.Json)return T.unsafeToForeign(i.stringify(n.value0));throw new Error("Failed pattern match at Network.HTTP.Affjax line 235, column 20 - line 242, column 53: "+[n.constructor.name])})(_.content)),responseType:F.toResponseType(n),username:w.toNullable(_.username),password:w.toNullable(_.password),withCredentials:_.withCredentials};return r.bind(y.bindAff)(M.fromEffectFnAff(e._ajax(L.responseHeader,N)))(function(n){var e=u.runExcept(I(n.response));if(e instanceof f.Left)return a.throwError(y.monadThrowAff)(C.error(d.intercalate(b.foldableNonEmptyList)(h.monoidString)("\n")(v.map(b.functorNonEmptyList)(T.renderForeignError)(e.value0))));if(e instanceof f.Right)return t.pure(y.applicativeAff)({response:e.value0,headers:n.headers,status:n.status,statusText:n.statusText});throw new Error("Failed pattern match at Network.HTTP.Affjax line 217, column 3 - line 219, column 49: "+[e.constructor.name])})}}}(PS["Network.HTTP.Affjax"]=PS["Network.HTTP.Affjax"]||{}),function(n){"use strict";var e=PS["Control.Bind"],t=(PS["Control.Semigroupoid"],PS["Data.Array"]),r=PS["Data.Either"],a=(PS["Data.FormURLEncoded"],PS["Data.Function"],PS["Data.Functor"]),u=PS["Data.HTTP.Method"],o=PS["Data.Maybe"],i=PS["Data.MediaType.Common"],l=(PS["Data.Semigroup"],PS["Data.Show"]),c=PS["Data.Unit"],f=PS.Effect,s=PS["Effect.Aff"],d=PS["Effect.Class"],S=PS.Globals,P=PS.Model,v=PS["Network.HTTP.Affjax"],p=PS["Network.HTTP.Affjax.Request"],m=PS["Network.HTTP.Affjax.Response"],D=PS["Network.HTTP.RequestHeader"],b=(PS.Prelude,PS["Simple.JSON"]),g=PS["Web.Event.Event"],h=PS["Web.HTML"],w=PS["Web.HTML.Location"],E=PS["Web.HTML.Window"],y=function(){function n(){}return n.value=new n,n}(),M=function(){function n(){}return n.value=new n,n}(),C=new l.Show(function(n){if(n instanceof y)return"star";if(n instanceof M)return"unstar";throw new Error("Failed pattern match at App line 28, column 1 - line 28, column 37: "+[n.constructor.name])}),T=function(n){return function(e){return function(a){return function(u){return function(o){var i=S["app'"](c.unit);return v.affjax(o)({method:new r.Left(n),url:e,headers:t.cons(new D.RequestHeader(i.csrfHeaderName,i.csrfToken))(a),content:u,username:v.defaultRequest.username,password:v.defaultRequest.password,withCredentials:v.defaultRequest.withCredentials})}}}}},A=function(n){var t=S["app'"](n);return e.discard(e.discardUnit)(s.bindAff)(a.void(s.functorAff)(T(u.POST.value)(t.authRlogoutR)([])(o.Nothing.value)(m.ignore)))(function(){return d.liftEffect(s.monadEffectAff)(e.bind(f.bindEffect)(e.bind(f.bindEffect)(h.window)(E.location))(w.reload))})},F=function(n){return function(e){return function(t){return function(r){return function(a){return T(n)(S["app'"](c.unit).homeR+e)(t)(r)(a)}}}}},H=function(n){return function(e){return function(t){return function(r){return F(n)(e)([new D.ContentType(i.applicationFormURLEncoded)])(a.map(o.functorMaybe)(p.FormURLEncoded.create)(t))(r)}}}},L=function(n){return function(e){return function(t){return function(r){return function(u){return F(e)(t)([new D.ContentType(i.applicationJSON)])(a.map(o.functorMaybe)(function(e){return p.string(b.writeJSON(n)(e))})(r))(u)}}}}};n.Star=y,n.UnStar=M,n.toggleStar=function(n){return function(e){var t="bm/"+l.show(l.showInt)(n)+"/"+l.show(C)(e);return a.void(s.functorAff)(H(u.POST.value)(t)(o.Nothing.value)(m.ignore))}},n.destroy=function(n){return H(u.DELETE.value)("bm/"+l.show(l.showInt)(n))(o.Nothing.value)(m.ignore)},n.markRead=function(n){var e="bm/"+l.show(l.showInt)(n)+"/read";return H(u.POST.value)(e)(o.Nothing.value)(m.ignore)},n.editBookmark=function(n){return L(P.wfI)(u.POST.value)("api/add")(o.Just.create(n))(m.ignore)},n.logoutE=function(n){return e.bindFlipped(f.bindEffect)(function(n){return a.void(f.functorEffect)(s.launchAff(A(n)))})(g.preventDefault(n))},n.logout=A,n.fetchJson=L,n.fetchUrlEnc=H,n.fetchPath=F,n.fetchUrl=T,n.showStar=C}(PS.App=PS.App||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}(),r=function(){function n(){}return n.value=new n,n}();n.ButtonButton=e,n.ButtonSubmit=t,n.ButtonReset=r,n.renderButtonType=function(n){if(n instanceof e)return"button";if(n instanceof t)return"submit";if(n instanceof r)return"reset";throw new Error("Failed pattern match at DOM.HTML.Indexed.ButtonType line 9, column 20 - line 12, column 18: "+[n.constructor.name])}}(PS["DOM.HTML.Indexed.ButtonType"]=PS["DOM.HTML.Indexed.ButtonType"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}(),r=function(){function n(){}return n.value=new n,n}(),a=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),l=function(){function n(){}return n.value=new n,n}(),c=function(){function n(){}return n.value=new n,n}(),f=function(){function n(){}return n.value=new n,n}(),s=function(){function n(){}return n.value=new n,n}(),d=function(){function n(){}return n.value=new n,n}(),S=function(){function n(){}return n.value=new n,n}(),P=function(){function n(){}return n.value=new n,n}(),v=function(){function n(){}return n.value=new n,n}(),p=function(){function n(){}return n.value=new n,n}(),m=function(){function n(){}return n.value=new n,n}(),D=function(){function n(){}return n.value=new n,n}(),b=function(){function n(){}return n.value=new n,n}(),g=function(){function n(){}return n.value=new n,n}(),h=function(){function n(){}return n.value=new n,n}(),w=function(){function n(){}return n.value=new n,n}();n.InputButton=e,n.InputCheckbox=t,n.InputColor=r,n.InputDate=a,n.InputDatetimeLocal=u,n.InputEmail=o,n.InputFile=i,n.InputHidden=l,n.InputImage=c,n.InputMonth=f,n.InputNumber=s,n.InputPassword=d,n.InputRadio=S,n.InputRange=P,n.InputReset=v,n.InputSearch=p,n.InputSubmit=m,n.InputTel=D,n.InputText=b,n.InputTime=g,n.InputUrl=h,n.InputWeek=w,n.renderInputType=function(n){if(n instanceof e)return"button";if(n instanceof t)return"checkbox";if(n instanceof r)return"color";if(n instanceof a)return"date";if(n instanceof u)return"datetime-local";if(n instanceof o)return"email";if(n instanceof i)return"file";if(n instanceof l)return"hidden";if(n instanceof c)return"image";if(n instanceof f)return"month";if(n instanceof s)return"number";if(n instanceof d)return"password";if(n instanceof S)return"radio";if(n instanceof P)return"range";if(n instanceof v)return"reset";if(n instanceof p)return"search";if(n instanceof m)return"submit";if(n instanceof D)return"tel";if(n instanceof b)return"text";if(n instanceof g)return"time";if(n instanceof h)return"url";if(n instanceof w)return"week";throw new Error("Failed pattern match at DOM.HTML.Indexed.InputType line 28, column 19 - line 50, column 16: "+[n.constructor.name])}}(PS["DOM.HTML.Indexed.InputType"]=PS["DOM.HTML.Indexed.InputType"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=(PS["Control.Monad.Cont.Trans"],PS["Control.Monad.Except.Trans"],PS["Control.Monad.List.Trans"],PS["Control.Monad.Maybe.Trans"],PS["Control.Monad.RWS.Trans"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.State.Trans"],PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Trans"],PS["Control.Semigroupoid"],PS["Effect.Aff"]),r=(PS["Effect.Class"],PS.Prelude,function(n,e){this.MonadEffect0=n,this.liftAff=e}),a=new r(function(){return t.monadEffectAff},e.identity(e.categoryFn));n.liftAff=function(n){return n.liftAff},n.MonadAff=r,n.monadAffAff=a}(PS["Effect.Aff.Class"]=PS["Effect.Aff.Class"]||{}),function(n){"use strict";var e=PS["Data.Eq"],t=PS["Data.Ord"],r=(PS.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}()),a=new e.Eq(function(n){return function(e){return n.value0(n.value2)(e.value2)}}),u=new t.Ord(function(){return a},function(n){return function(e){return n.value1(n.value2)(e.value2)}});n.mkOrdBox=function(n){return r.create(e.eq(n.Eq0()))(t.compare(n))},n.unOrdBox=function(n){return n.value2},n.eqOrdBox=a,n.ordOrdBox=u}(PS["Halogen.Data.OrdBox"]=PS["Halogen.Data.OrdBox"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}();n.On=e,n.Off=t,n.renderOnOff=function(n){if(n instanceof e)return"on";if(n instanceof t)return"off";throw new Error("Failed pattern match at DOM.HTML.Indexed.OnOff line 8, column 15 - line 10, column 10: "+[n.constructor.name])}}(PS["DOM.HTML.Indexed.OnOff"]=PS["DOM.HTML.Indexed.OnOff"]||{}),function(n){"use strict";var e=PS["Data.Bifunctor"],t=(PS["Data.Eq"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Ord"],PS.Prelude,PS["Web.DOM"],function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}()),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=new e.Bifunctor(function(n){return function(e){return function(t){if(t instanceof r)return new r(t.value0,t.value1,n(t.value2));if(t instanceof a)return new a(e(t.value0));throw new Error("Failed pattern match at Halogen.Query.InputF line 21, column 15 - line 23, column 27: "+[t.constructor.name])}}}),o=new t.Functor(e.rmap(u));n.RefUpdate=r,n.Query=a,n.bifunctorInputF=u,n.functorInputF=o}(PS["Halogen.Query.InputF"]=PS["Halogen.Query.InputF"]||{}),function(n){"use strict";PS.Effect,PS["Effect.Uncurried"],PS.Prelude;var e=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}();n.Step=e,n.extract=function(n){return n.value0},n.step=function(n){return n.value1},n.halt=function(n){return n.value2}}(PS["Halogen.VDom.Machine"]=PS["Halogen.VDom.Machine"]||{}),function(n){"use strict";PS["Control.Category"],PS["Control.Semigroupoid"];var e=PS["Data.Bifunctor"],t=(PS["Data.Eq"],PS["Data.Functor"]),r=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Tuple"]),a=(PS.Prelude,PS["Unsafe.Coerce"]),u=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),l=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),s=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),d=function(n){return function(e){return n(e)}},S=a.unsafeCoerce,P=new t.Functor(function(n){return function(e){return new u(e.value0,e.value1,n(e.value2))}}),v=new e.Bifunctor(function(n){return function(e){return d(function(t){return S(new s(function(e){return n(t.value0(e))},function(n){return e(t.value1(n))},t.value2))})}}),p=new e.Bifunctor(function(n){return function(t){return function(r){return r instanceof o?new o(r.value0):new f(r instanceof f?e.bimap(v)(n)(t)(r.value0):S(new s(n,t,r)))}}}),m=d(function(n){var a=function(u){if(u instanceof o)return new o(u.value0);if(u instanceof i)return new i(t.map(P)(n.value0)(u.value0),t.map(t.functorArray)(a)(u.value1));if(u instanceof l)return new l(t.map(P)(n.value0)(u.value0),t.map(t.functorArray)(t.map(r.functorTuple)(a))(u.value1));if(u instanceof c)return new c(n.value1(u.value0));if(u instanceof f)return new f(e.bimap(v)(n.value0)(n.value1)(u.value0));throw new Error("Failed pattern match at Halogen.VDom.Types line 74, column 7 - line 74, column 27: "+[u.constructor.name])};return a(n.value2)});n.Text=o,n.Elem=i,n.Keyed=l,n.Widget=c,n.Grafted=f,n.Graft=s,n.graft=S,n.unGraft=d,n.runGraft=m,n.ElemSpec=u,n.bifunctorVDom=p,n.bifunctorGraft=v,n.functorElemSpec=P}(PS["Halogen.VDom.Types"]=PS["Halogen.VDom.Types"]||{}),function(n){"use strict";n.unsafeGetAny=function(n,e){return e[n]},n.unsafeHasAny=function(n,e){return e.hasOwnProperty(n)},n.unsafeSetAny=function(n,e,t){t[n]=e},n.forE=function(n,e){for(var t=[],r=0;r<n.length;r++)t.push(e(r,n[r]));return t},n.forInE=function(n,e){for(var t=Object.keys(n),r=0;r<t.length;r++){var a=t[r];e(a,n[a])}},n.diffWithIxE=function(n,e,t,r,a){for(var u=[],o=n.length,i=e.length,l=0;;){if(l<o)l<i?u.push(t(l,n[l],e[l])):r(l,n[l]);else{if(!(l<i))break;u.push(a(l,e[l]))}l++}return u},n.strMapWithIxE=function(n,e,t){for(var r={},a=0;a<n.length;a++){var u=n[a],o=e(u);r[o]=t(o,a,u)}return r},n.diffWithKeyAndIxE=function(n,e,t,r,a,u){for(var o={},i=0;i<e.length;i++){var l=e[i],c=t(l);n.hasOwnProperty(c)?o[c]=r(c,i,n[c],l):o[c]=u(c,i,l)}for(var c in n)c in o||a(c,n[c]);return o},n.refEq=function(n,e){return n===e},n.createTextNode=function(n,e){return e.createTextNode(n)},n.setTextContent=function(n,e){e.textContent=n},n.createElement=function(n,e,t){return null!=n?t.createElementNS(n,e):t.createElement(e)},n.insertChildIx=function(n,e,t){var r=t.childNodes.item(n)||null;r!==e&&t.insertBefore(e,r)},n.removeChild=function(n,e){e&&n.parentNode===e&&e.removeChild(n)},n.parentNode=function(n){return n.parentNode},n.setAttribute=function(n,e,t,r){null!=n?r.setAttributeNS(n,e,t):r.setAttribute(e,t)},n.removeAttribute=function(n,e,t){null!=n?t.removeAttributeNS(n,e):t.removeAttribute(e)},n.addEventListener=function(n,e,t){t.addEventListener(n,e,!1)},n.removeEventListener=function(n,e,t){t.removeEventListener(n,e,!1)},n.jsUndefined=void 0}(PS["Halogen.VDom.Util"]=PS["Halogen.VDom.Util"]||{}),function(n){"use strict";var e=function(n){return function(e){return function(){return e[n]}}};n._parentNode=e("parentNode"),n._nextSibling=e("nextSibling"),n.insertBefore=function(n){return function(e){return function(t){return function(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(PS["Web.DOM.Node"]=PS["Web.DOM.Node"]||{}),function(n){"use strict";var e=PS["Web.DOM.Node"],t=(PS["Control.Semigroupoid"],PS["Data.Enum"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Nullable"]),a=PS.Effect;PS.Prelude,PS["Unsafe.Coerce"],PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NodeType"],PS["Web.Event.EventTarget"],PS["Web.Internal.FFI"];n.parentNode=function(n){return t.map(a.functorEffect)(r.toMaybe)(e._parentNode(n))},n.nextSibling=function(n){return t.map(a.functorEffect)(r.toMaybe)(e._nextSibling(n))},n.insertBefore=e.insertBefore,n.appendChild=e.appendChild,n.removeChild=e.removeChild}(PS["Web.DOM.Node"]=PS["Web.DOM.Node"]||{}),function(n){"use strict";var e=PS["Halogen.VDom.Util"],t=PS["Control.Applicative"],r=(PS["Data.Function.Uncurried"],PS["Data.Nullable"],PS["Data.Unit"]),a=PS.Effect,u=(PS["Effect.Uncurried"],PS["Foreign.Object"],PS["Foreign.Object.ST"]),o=(PS["Halogen.VDom.Types"],PS.Prelude,PS["Unsafe.Coerce"]),i=(PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Node"],PS["Web.Event.EventTarget"],e.unsafeGetAny),l=o.unsafeCoerce,c=e.unsafeSetAny,f=u.new,s=t.pure(a.applicativeEffect)(r.unit);n.effectUnit=s,n.newMutMap=f,n.pokeMutMap=c,n.unsafeFreeze=l,n.unsafeLookup=i,n.unsafeGetAny=e.unsafeGetAny,n.unsafeHasAny=e.unsafeHasAny,n.unsafeSetAny=e.unsafeSetAny,n.forE=e.forE,n.forInE=e.forInE,n.diffWithIxE=e.diffWithIxE,n.diffWithKeyAndIxE=e.diffWithKeyAndIxE,n.strMapWithIxE=e.strMapWithIxE,n.refEq=e.refEq,n.createTextNode=e.createTextNode,n.setTextContent=e.setTextContent,n.createElement=e.createElement,n.insertChildIx=e.insertChildIx,n.removeChild=e.removeChild,n.parentNode=e.parentNode,n.setAttribute=e.setAttribute,n.removeAttribute=e.removeAttribute,n.addEventListener=e.addEventListener,n.removeEventListener=e.removeEventListener,n.jsUndefined=e.jsUndefined}(PS["Halogen.VDom.Util"]=PS["Halogen.VDom.Util"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Data.Eq"],PS["Data.Function.Uncurried"];var e=PS["Data.Functor"],t=PS["Data.Maybe"],r=PS["Data.Nullable"],a=(PS["Data.Semigroup"],PS["Data.Tuple"]),u=PS["Data.Unit"],o=(PS.Effect,PS["Effect.Ref"]),i=(PS["Effect.Uncurried"],PS.Foreign),l=PS["Foreign.Object"],c=(PS["Halogen.VDom"],PS["Halogen.VDom.Machine"]),f=(PS["Halogen.VDom.Types"],PS["Halogen.VDom.Util"]),s=(PS.Prelude,PS["Unsafe.Coerce"]),d=(PS["Web.DOM.Element"],PS["Web.Event.Event"],PS["Web.Event.EventTarget"]),S=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),p=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),m=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),D=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),b=f.unsafeGetAny,g=f.unsafeSetAny,h=function(n){if(n instanceof v&&n.value0 instanceof t.Just)return"attr/"+n.value0.value0+":"+n.value1;if(n instanceof v)return"attr/:"+n.value1;if(n instanceof p)return"prop/"+n.value0;if(n instanceof m)return"handler/"+n.value0;if(n instanceof D)return"ref";throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 178, column 16 - line 185, column 1: "+[n.constructor.name])},w=s.unsafeCoerce,E=s.unsafeCoerce,y=s.unsafeCoerce,M=new e.Functor(function(n){return function(r){return r instanceof m?new m(r.value0,e.map(e.functorFn)(e.map(t.functorMaybe)(n))(r.value1)):r instanceof D?new D(e.map(e.functorFn)(e.map(t.functorMaybe)(n))(r.value0)):r}});n.Attribute=v,n.Property=p,n.Handler=m,n.Ref=D,n.Created=S,n.Removed=P,n.propFromString=w,n.propFromBoolean=y,n.propFromInt=E,n.buildProp=function(n){return function(e){var s=function(n){return function(t,o){if(o instanceof v)return f.removeAttribute(r.toNullable(o.value0),o.value1,e);if(o instanceof p)return function(n,e){return"string"===i.typeOf(f.unsafeGetAny(n,e))?f.unsafeSetAny(n,"",e):"rowSpan"===n?f.unsafeSetAny(n,1,e):"colSpan"===n?f.unsafeSetAny(n,1,e):f.unsafeSetAny(n,f.jsUndefined,e)}(o.value0,e);if(o instanceof m){var l=f.unsafeLookup(o.value0,n);return f.removeEventListener(o.value0,a.fst(l),e)}if(o instanceof D)return u.unit;throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 165, column 5 - line 175, column 18: "+[o.constructor.name])}},w=function(e){return e instanceof t.Just?n(e.value0)():u.unit},E=function(n){var r=l.lookup("ref")(n);return r instanceof t.Just&&r.value0 instanceof D?function(){return w(r.value0.value0(new P(e)))}:f.effectUnit},y=function(n){return function(t,u,i){if(i instanceof v)return f.setAttribute(r.toNullable(i.value0),i.value1,i.value2,e),i;if(i instanceof p)return g(i.value0,i.value1,e),i;if(i instanceof m){var l=f.unsafeGetAny(i.value0,n);if(f.unsafeHasAny(i.value0,n))return o.write(i.value1)(a.snd(l))(),i;var c=o.new(i.value1)(),s=d.eventListener(function(n){return function(){var e=o.read(c)();return w(e(n))}})();return f.pokeMutMap(i.value0,new a.Tuple(s,c),n),f.addEventListener(i.value0,s,e),i}if(i instanceof D)return w(i.value0(new S(e))),i;throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 109, column 5 - line 131, column 15: "+[i.constructor.name])}},M=function(n,t){return function(i){var l=f.newMutMap(),d=s(n),S=function(n,t){return function(u,i,l,c){if(l instanceof v&&c instanceof v)return l.value2===c.value2?c:(f.setAttribute(r.toNullable(c.value0),c.value1,c.value2,e),c);if(l instanceof p&&c instanceof p){if(f.refEq(l.value1,c.value1))return c;if("value"===c.value0){var s=b("value",e);return f.refEq(s,c.value1)?c:(g(c.value0,c.value1,e),c)}return g(c.value0,c.value1,e),c}if(l instanceof m&&c instanceof m){var d=f.unsafeLookup(c.value0,n);return o.write(c.value1)(a.snd(d))(),f.pokeMutMap(c.value0,d,t),c}return c}}(n,l),P=y(l),D=f.diffWithKeyAndIxE(t,i,h,S,d,P);return new c.Step(u.unit,M(f.unsafeFreeze(l),D),E(D))}};return function(n){var e=f.newMutMap(),t=f.strMapWithIxE(n,h,y(e));return new c.Step(u.unit,M(f.unsafeFreeze(e),t),E(t))}}},n.functorProp=M}(PS["Halogen.VDom.DOM.Prop"]=PS["Halogen.VDom.DOM.Prop"]||{}),function(n){"use strict";PS["Control.Semigroupoid"];var e=PS["DOM.HTML.Indexed.ButtonType"],t=(PS["DOM.HTML.Indexed.CrossOriginValue"],PS["DOM.HTML.Indexed.DirValue"],PS["DOM.HTML.Indexed.FormMethod"],PS["DOM.HTML.Indexed.InputType"]),r=(PS["DOM.HTML.Indexed.KindValue"],PS["DOM.HTML.Indexed.MenuType"],PS["DOM.HTML.Indexed.MenuitemType"],PS["DOM.HTML.Indexed.OnOff"]),a=(PS["DOM.HTML.Indexed.OrderedListType"],PS["DOM.HTML.Indexed.PreloadValue"],PS["DOM.HTML.Indexed.ScopeValue"],PS["DOM.HTML.Indexed.StepValue"],PS["DOM.HTML.Indexed.WrapValue"],PS["Data.Bifunctor"]),u=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"]),o=(PS["Data.Maybe"],PS["Data.MediaType"],PS["Data.Newtype"]),i=(PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Tuple"],PS["Halogen.Query.InputF"]),l=(PS["Halogen.VDom"],PS["Halogen.VDom.DOM.Prop"]),c=PS["Halogen.VDom.Types"],f=(PS.Prelude,PS["Unsafe.Coerce"],PS["Web.DOM.Element"],PS["Web.Event.Event"],function(n){return n}),s=function(n){return n},d=function(n){this.toPropValue=n},S=function(n){return n.toPropValue},P=new d(l.propFromString),v=new d(function(n){return l.propFromString(r.renderOnOff(n))}),p=new o.Newtype(function(n){return n},s),m=new d(l.propFromInt),D=new d(function(n){return l.propFromString(t.renderInputType(n))}),b=l.Handler.create,g=new d(function(n){return l.propFromString(e.renderButtonType(n))}),h=new d(l.propFromBoolean),w=new a.Bifunctor(function(n){return function(e){return function(t){return a.bimap(c.bifunctorVDom)(u.map(u.functorArray)(u.map(l.functorProp)(u.map(i.functorInputF)(e))))(n)(t)}}});n.HTML=f,n.slot=function(n){return f(c.Widget.create(n))},n.text=function(n){return f(c.Text.create(n))},n.element=function(n){return function(e){return function(t){return function(r){return new c.Elem(new c.ElemSpec(n,e,t),r)}}}},n.prop=function(n){return function(e){return function(t){return l.Property.create(e)(S(n)(t))}}},n.attr=function(n){return function(e){return l.Attribute.create(n)(e)}},n.handler=b,n.IsProp=d,n.toPropValue=S,n.ClassName=s,n.bifunctorHTML=w,n.stringIsProp=P,n.intIsProp=m,n.booleanIsProp=h,n.buttonTypeIsProp=g,n.inputTypeIsProp=D,n.onOffIsProp=v,n.newtypeClassName=p}(PS["Halogen.HTML.Core"]=PS["Halogen.HTML.Core"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Category"],a=(PS["Control.Semigroupoid"],PS["Data.Const"],PS["Data.Either"]),u=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"]),o=(PS["Data.List"],PS["Data.List.NonEmpty"]),i=PS["Data.List.Types"],l=(PS["Data.Newtype"],PS["Data.NonEmpty"]),c=(PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Tuple"]),f=(PS.Prelude,PS["Unsafe.Coerce"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return function(e){return new d(n,e)}},P=s.create,v=function(n){return function(t){return function(r){return function(a){return function(u){return function(l){var S,P=n,v=t,p=r,m=a,D=u,b=!1;function g(n,t,r,a,u,S){if(u instanceof f)return b=!0,new c.Tuple(new i.Cons({func:e.pure(n)(u.value0),count:S},t),r);if(u instanceof s)return b=!0,new c.Tuple(new i.Cons({func:a(u.value0),count:S},t),r);if(u instanceof d)return P=n,v=t,p=o.cons(u.value1)(r),m=a,D=u.value0,void(l=S+1|0);throw new Error("Failed pattern match at Control.Applicative.Free line 102, column 41 - line 105, column 81: "+[u.constructor.name])}for(;!b;)S=g(P,v,p,m,D,l);return S}}}}}},p=function(n){return function(e){return function(r){return function(u){var o,f=n,s=e,d=r,S=!1;function P(n,e,r,o){if(e instanceof i.Nil)return S=!0,new a.Left(o);if(e instanceof i.Cons){var P=t.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof i.Nil?(S=!0,new a.Left(P)):(f=n,s=e.value1,d=r,void(u=P));if(r instanceof i.Nil)return S=!0,new a.Left(P);if(r instanceof i.Cons)return S=!0,a.Right.create(new c.Tuple(new i.Cons({func:P,count:e.value0.count-1|0},e.value1),new l.NonEmpty(r.value0,r.value1)));throw new Error("Failed pattern match at Control.Applicative.Free line 83, column 11 - line 88, column 50: "+[r.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free line 72, column 3 - line 88, column 50: "+[e.constructor.name])}for(;!S;)o=P(f,s,d,u);return o}}}},m=new u.Functor(function(n){return function(e){return S(new f(n))(e)}}),D=function(n){return function(t){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof f){if((i=p(n)(u.value0)(u.value1.value1)(e.pure(n)(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free line 54, column 17 - line 56, column 24: "+[i.constructor.name])}if(u.value1.value0 instanceof s){var i;if((i=p(n)(u.value0)(u.value1.value1)(t(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free line 57, column 17 - line 59, column 24: "+[i.constructor.name])}if(!(u.value1.value0 instanceof d))throw new Error("Failed pattern match at Control.Applicative.Free line 53, column 5 - line 64, column 1: "+[u.value1.value0.constructor.name]);var c=new l.NonEmpty(u.value1.value0.value1,u.value1.value1);r=v(n)(u.value0)(c)(t)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new c.Tuple(i.Nil.value,o.singleton(r)))}}},b=new t.Apply(function(){return m},function(n){return function(e){return S(n)(e)}}),g=new e.Applicative(function(){return b},f.create);n.liftFreeAp=P,n.retractFreeAp=function(n){return D(n)(r.identity(r.categoryFn))},n.foldFreeAp=D,n.hoistFreeAp=function(n){return D(g)(function(e){return P(n(e))})},n.functorFreeAp=m,n.applyFreeAp=b,n.applicativeFreeAp=g}(PS["Control.Applicative.Free"]=PS["Control.Applicative.Free"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"];var e=PS["Data.List"],t=PS["Data.List.Types"],r=PS["Data.Maybe"],a=(PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Tuple"]),u=(PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),o=new u(t.Nil.value,t.Nil.value);n.CatQueue=u,n.empty=o,n.null=function(n){return n.value0 instanceof t.Nil&&n.value1 instanceof t.Nil},n.snoc=function(n){return function(e){return new u(n.value0,new t.Cons(e,n.value1))}},n.uncons=function(n){var o,i=!1;function l(o){if(o.value0 instanceof t.Nil&&o.value1 instanceof t.Nil)return i=!0,r.Nothing.value;if(!(o.value0 instanceof t.Nil)){if(o.value0 instanceof t.Cons)return i=!0,new r.Just(new a.Tuple(o.value0.value0,new u(o.value0.value1,o.value1)));throw new Error("Failed pattern match at Data.CatQueue line 83, column 1 - line 83, column 63: "+[o.constructor.name])}n=new u(e.reverse(o.value1),t.Nil.value)}for(;!i;)o=l(n);return o}}(PS["Data.CatQueue"]=PS["Data.CatQueue"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"];var e=PS["Data.CatQueue"],t=(PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.List"],PS["Data.List.Types"]),r=PS["Data.Maybe"],a=(PS["Data.Monoid"],PS["Data.Semigroup"]),u=(PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Tuple"]),o=(PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),i=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),l=function(n){return function(t){if(n instanceof o)return t;if(n instanceof i)return new i(n.value0,e.snoc(n.value1)(t));throw new Error("Failed pattern match at Data.CatList line 111, column 1 - line 111, column 54: "+[n.constructor.name,t.constructor.name])}},c=o.value,f=function(n){return function(e){return e instanceof o?n:n instanceof o?e:l(n)(e)}},s=new a.Semigroup(f);n.CatNil=o,n.CatCons=i,n.empty=c,n.append=f,n.snoc=function(n){return function(t){return f(n)(new i(t,e.empty))}},n.uncons=function(n){if(n instanceof o)return r.Nothing.value;if(n instanceof i)return new r.Just(new u.Tuple(n.value0,e.null(n.value1)?o.value:(a=l,function(n){return function(u){var o,i=function(n){return function(e){return function(r){var a,u=n,o=e,i=!1;function l(n,e,a){if(a instanceof t.Nil)return i=!0,e;if(a instanceof t.Cons)return u=n,o=n(e)(a.value0),void(r=a.value1);throw new Error("Failed pattern match at Data.CatList line 126, column 3 - line 126, column 59: "+[n.constructor.name,e.constructor.name,a.constructor.name])}for(;!i;)a=l(u,o,r);return a}}};return(o=u,function(u){var l,c=o,f=!1;function s(o,l){var s=e.uncons(o);if(s instanceof r.Nothing)return f=!0,i(function(n){return function(e){return e(n)}})(n)(l);if(s instanceof r.Just)return c=s.value0.value1,void(u=new t.Cons(a(s.value0.value0),l));throw new Error("Failed pattern match at Data.CatList line 122, column 14 - line 124, column 67: "+[s.constructor.name])}for(;!f;)l=s(c,u);return l})(t.Nil.value)}})(o.value)(n.value1)));var a;throw new Error("Failed pattern match at Data.CatList line 102, column 1 - line 102, column 61: "+[n.constructor.name])},n.semigroupCatList=s}(PS["Data.CatList"]=PS["Data.CatList"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=PS["Control.Monad.Rec.Class"],o=(PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"],PS["Data.CatList"]),i=(PS["Data.Either"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"]),l=PS["Data.Maybe"],c=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"]),f=(PS["Data.Traversable"],PS["Data.Tuple"],PS.Prelude,PS["Unsafe.Coerce"],function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return new f(n,o.empty)},P=new a.Monad(function(){return D},function(){return p}),v=new i.Functor(function(n){return function(t){return r.bindFlipped(p)(function(t){return e.pure(D)(n(t))})(t)}}),p=new r.Bind(function(){return m},function(n){return function(e){return new f(n.value0,o.snoc(n.value1)(e))}}),m=new t.Apply(function(){return v},a.ap(P)),D=new e.Applicative(function(){return m},function(n){return S(s.create(n))});n.liftF=function(n){return S(new d(n,function(n){return e.pure(D)(n)}))},n.foldFree=function(n){return function(t){return u.tailRecM(n)(function(r){var a=function(n){var e,t=!1;function r(e){var r=function(n){return function(e){return new f(n.value0,c.append(o.semigroupCatList)(n.value1)(e))}};if(e.value0 instanceof s){var a=o.uncons(e.value1);if(a instanceof l.Nothing)return t=!0,new s(e.value0.value0);if(a instanceof l.Just)return void(n=r(function(n){return n}(a.value0.value0)(e.value0.value0))(a.value0.value1));throw new Error("Failed pattern match at Control.Monad.Free line 220, column 7 - line 224, column 64: "+[a.constructor.name])}if(e.value0 instanceof d)return t=!0,new d(e.value0.value0,function(n){return r(e.value0.value1(n))(e.value1)});throw new Error("Failed pattern match at Control.Monad.Free line 218, column 3 - line 226, column 56: "+[e.value0.constructor.name])}for(;!t;)e=r(n);return e}(r);if(a instanceof s)return i.map(n.Monad0().Bind1().Apply0().Functor0())(u.Done.create)(e.pure(n.Monad0().Applicative0())(a.value0));if(a instanceof d)return i.map(n.Monad0().Bind1().Apply0().Functor0())(function(n){return u.Loop.create(a.value1(n))})(t(a.value0));throw new Error("Failed pattern match at Control.Monad.Free line 151, column 10 - line 153, column 37: "+[a.constructor.name])})}},n.freeFunctor=v,n.freeBind=p,n.freeApplicative=D,n.freeApply=m,n.freeMonad=P}(PS["Control.Monad.Free"]=PS["Control.Monad.Free"]||{}),function(n){"use strict";var e=PS["Unsafe.Coerce"],t=e.unsafeCoerce,r=e.unsafeCoerce;n.mkExists=r,n.runExists=t}(PS["Data.Exists"]=PS["Data.Exists"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.Monad.Trans.Class"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Distributive"],PS["Data.Eq"];var e=PS["Data.Exists"];PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Functor.Invariant"],PS["Data.Ord"],PS["Data.Semigroup.Foldable"],PS["Data.Semigroup.Traversable"],PS["Data.Traversable"],PS.Prelude;n.unCoyoneda=function(n){return function(t){return e.runExists(function(e){return n(e.value0)(e.value1)})(t)}}}(PS["Data.Coyoneda"]=PS["Data.Coyoneda"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=(PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"]),o=(PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"]),i=(PS["Control.Monad.Writer.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"]),l=PS["Data.Either"],c=PS["Data.Exists"],f=PS["Data.Functor"],s=(PS["Data.Monoid"],PS["Data.Semigroup"],PS["Data.Unit"]),d=(PS["Effect.Class"],PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),S=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=S.create,p=function(n){return function(e){return new P(c.mkExists(new d(n,e)))}},m=function(n){return function(e){return new f.Functor(function(t){return function(r){if(r instanceof S)return new S(function(a){return f.map(e)(i.bimap(l.bifunctorEither)(t)(f.map(n)(f.map(m(n)(e))(t))))(r.value0(s.unit))});if(r instanceof P)return c.runExists(function(r){return p(r.value0)(function(a){return f.map(m(n)(e))(t)(r.value1(a))})})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 57, column 1 - line 57, column 71: "+[t.constructor.name,r.constructor.name])}})}},D=function(n){return function(e){return new a.Monad(function(){return h(n)(e)},function(){return b(n)(e)})}},b=function(n){return function(e){return new r.Bind(function(){return g(n)(e)},function(n){return function(e){return n instanceof P?c.runExists(function(n){return p(n.value0)(function(t){return p(function(e){return n.value1(t)})(e)})})(n.value0):p(function(e){return n})(e)}})}},g=function(n){return function(e){return new t.Apply(function(){return m(n)(e.Bind1().Apply0().Functor0())},a.ap(D(n)(e)))}},h=function(n){return function(t){return new e.Applicative(function(){return g(n)(t)},function(n){return new S(function(r){return e.pure(t.Applicative0())(new l.Left(n))})})}},w=function(n){return function(t){return u.tailRecM(t)(function(a){if(a instanceof S)return f.map(t.Monad0().Bind1().Apply0().Functor0())(u.Done.create)(a.value0(s.unit));if(a instanceof P)return c.runExists(function(a){var o=a.value0(s.unit);if(o instanceof S)return r.bind(t.Monad0().Bind1())(o.value0(s.unit))(function(o){if(o instanceof l.Left)return e.pure(t.Monad0().Applicative0())(new u.Loop(a.value1(o.value0)));if(o instanceof l.Right)return e.pure(t.Monad0().Applicative0())(new u.Done(new l.Right(f.map(n)(function(e){return r.bind(b(n)(t.Monad0()))(e)(a.value1)})(o.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans line 52, column 20 - line 54, column 67: "+[o.constructor.name])});if(o instanceof P)return c.runExists(function(o){return e.pure(t.Monad0().Applicative0())(new u.Loop(r.bind(b(n)(t.Monad0()))(o.value0(s.unit))(function(e){return r.bind(b(n)(t.Monad0()))(o.value1(e))(a.value1)})))})(o.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 50, column 5 - line 55, column 98: "+[o.constructor.name])})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 47, column 3 - line 47, column 75: "+[a.constructor.name])})}};n.freeT=v,n.liftFreeT=function(n){return function(t){return function(r){return new S(function(a){return e.pure(t.Applicative0())(new l.Right(f.map(n)(e.pure(h(n)(t)))(r)))})}}},n.resume=w,n.runFreeT=function(n){return function(t){return function(a){return u.tailRecM(t)(r.composeKleisliFlipped(t.Monad0().Bind1())(function(n){if(n instanceof l.Left)return e.pure(t.Monad0().Applicative0())(new u.Done(n.value0));if(n instanceof l.Right)return f.map(t.Monad0().Bind1().Apply0().Functor0())(u.Loop.create)(a(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans line 126, column 3 - line 126, column 63: "+[n.constructor.name])})(w(n)(t)))}}},n.functorFreeT=m,n.applyFreeT=g,n.applicativeFreeT=h,n.bindFreeT=b,n.monadFreeT=D,n.monadTransFreeT=function(n){return new o.MonadTrans(function(n){return function(e){return new S(function(t){return f.map(n.Bind1().Apply0().Functor0())(l.Left.create)(e)})}})},n.monadRecFreeT=function(n){return function(t){return new u.MonadRec(function(){return D(n)(t)},function(a){var o=function(i){return r.bind(b(n)(t))(a(i))(function(r){if(r instanceof u.Loop)return o(r.value0);if(r instanceof u.Done)return e.pure(h(n)(t))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 80, column 15 - line 82, column 25: "+[r.constructor.name])})};return o})}}}(PS["Control.Monad.Free.Trans"]=PS["Control.Monad.Free.Trans"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=(PS["Control.Semigroupoid"],PS["Data.Newtype"],PS.Prelude,function(n){this.dimap=n}),r=new t(function(n){return function(e){return function(t){return function(r){return e(t(n(r)))}}}}),a=function(n){return n.dimap};n.dimap=a,n.Profunctor=t,n.rmap=function(n){return function(t){return a(n)(e.identity(e.categoryFn))(t)}},n.profunctorFn=r}(PS["Data.Profunctor"]=PS["Data.Profunctor"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=PS["Control.Category"],u=(PS["Control.Monad.Except"],PS["Control.Monad.Except.Trans"]),o=PS["Control.Monad.Free.Trans"],i=PS["Control.Monad.Rec.Class"],l=PS["Control.Monad.Trans.Class"],c=(PS["Control.Parallel"],PS["Control.Parallel.Class"]),f=(PS["Control.Semigroupoid"],PS["Data.Bifunctor"]),s=PS["Data.Either"],d=(PS["Data.Function"],PS["Data.Functor"]),S=PS["Data.Identity"],P=PS["Data.Maybe"],v=PS["Data.Newtype"],p=PS["Data.Profunctor"],m=PS["Data.Tuple"],D=PS["Data.Unit"],b=(PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),g=new p.Profunctor(function(n){return function(e){return function(t){return p.dimap(p.profunctorFn)(n)(e)(t)}}}),h=function(n){return function(e){return function(t){return i.tailRecM(o.monadRecFreeT(n)(e))(function(r){return d.map(o.functorFreeT(n)(e.Bind1().Apply0().Functor0()))(P.maybe(new i.Loop(D.unit))(i.Done.create))(t)})(D.unit)}}},w=function(n){return function(t){return function(a){return function(i){return function(l){return function(c){return function(f){var s=function(c){return u.runExceptT(r.bind(u.bindExceptT(i.Monad0()))(u.ExceptT(o.resume(n)(i)(c.value0)))(function(n){return r.bind(u.bindExceptT(i.Monad0()))(u.ExceptT(o.resume(t)(i)(c.value1)))(function(t){return e.pure(u.applicativeExceptT(i.Monad0()))(d.map(a)(function(n){return o.freeT(function(e){return s(n)})})(l(m.Tuple.create)(n)(t)))})}))};return o.freeT(function(n){return s(new m.Tuple(c,f))})}}}}}}},E=function(n){return function(a){return function(u){return function(i){return function(l){return function(f){return function(S){return function(P){var v=function(S){return r.bind(i.Monad0().Bind1())(c.sequential(l)(t.apply(l.Applicative1().Apply0())(d.map(l.Applicative1().Apply0().Functor0())(t.lift2(s.applyEither)(f(m.Tuple.create)))(c.parallel(l)(o.resume(n)(i)(S.value0))))(c.parallel(l)(o.resume(a)(i)(S.value1)))))(function(n){if(n instanceof s.Left)return e.pure(i.Monad0().Applicative0())(new s.Left(n.value0));if(n instanceof s.Right)return e.pure(i.Monad0().Applicative0())(new s.Right(d.map(u)(function(n){return o.freeT(function(e){return v(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine line 79, column 5 - line 81, column 63: "+[n.constructor.name])})};return o.freeT(function(n){return v(new m.Tuple(S,P))})}}}}}}}},y=new d.Functor(p.rmap(g)),M=new f.Bifunctor(function(n){return function(e){return function(t){return new b(n(t.value0),e(t.value1))}}}),C=new d.Functor(f.rmap(M)),T=function(n){return function(e){return o.liftFreeT(C)(n)(new b(e,D.unit))}};n.loop=h,n.runProcess=function(n){return o.runFreeT(S.functorIdentity)(n)(function(t){return e.pure(n.Monad0().Applicative0())(v.unwrap(S.newtypeIdentity)(t))})},n.fuseWith=E,n.fuseWithL=w,n.Emit=b,n.emit=T,n.producer=function(n){return function(t){return h(C)(n)(r.bind(o.bindFreeT(C)(n))(l.lift(o.monadTransFreeT(C))(n)(t))(function(t){if(t instanceof s.Left)return d.voidLeft(o.functorFreeT(C)(n.Bind1().Apply0().Functor0()))(T(n)(t.value0))(P.Nothing.value);if(t instanceof s.Right)return e.pure(o.applicativeFreeT(C)(n))(new P.Just(t.value0));throw new Error("Failed pattern match at Control.Coroutine line 125, column 3 - line 127, column 29: "+[t.constructor.name])}))}},n.await=function(n){return o.liftFreeT(y)(n)(a.identity(a.categoryFn))},n.connect=function(n){return function(e){return E(C)(y)(S.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},n.pullFrom=function(n){return w(y)(C)(S.functorIdentity)(n)(function(n){return function(t){return function(r){return e.pure(S.applicativeIdentity)(n(t(r.value0))(r.value1))}}})},n.bifunctorEmit=M,n.functorEmit=C,n.profunctorAwait=g,n.functorAwait=y}(PS["Control.Coroutine"]=PS["Control.Coroutine"]||{}),function(n){"use strict";var e=function(){function n(){this.head=null,this.last=null,this.size=0}function e(n,e){this.queue=n,this.value=e,this.next=null,this.prev=null}function t(e){this.draining=!1,this.error=null,this.value=e,this.takes=new n,this.reads=new n,this.puts=new n}var r={};function a(n){try{n()}catch(n){setTimeout(function(){throw n},0)}}function u(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.last,n.head.next=null,n.last=null;break;default:e=n.last,n.last=e.prev,n.last.next=null}return e.prev=null,e.queue=null,n.size--,e.value}function o(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.head,n.last.prev=null,n.head=n.last,n.last=null;break;default:e=n.head,n.head=e.next,n.head.prev=null}return e.next=null,e.queue=null,n.size--,e.value}return t.EMPTY=r,t.putLast=function(n,t){var r=new e(n,t);switch(n.size){case 0:n.head=r;break;case 1:r.prev=n.head,n.head.next=r,n.last=r;break;default:r.prev=n.last,n.last.next=r,n.last=r}return n.size++,r},t.takeLast=u,t.takeHead=o,t.deleteCell=function(n){null!==n.queue&&(n.queue.last!==n?n.queue.head!==n?(n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),n.queue.size--,n.queue=null,n.value=null,n.next=null,n.prev=null):o(n.queue):u(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,u,i,l,c,f=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,u=null,i=null,l=e.value,c=d.size,null!==e.error){for(l=n.left(e.error);t=o(f);)a(t.cb(l));for(;u=o(d);)a(u(l));for(;i=o(s);)a(i(l));break}if(l===r&&(t=o(f))&&(e.value=l=t.value),l!==r){for(i=o(s);c--&&(u=o(d));)a(u(n.right(l)));null!==i&&(e.value=r,a(i(n.right(l))))}if(null!==t&&a(t.cb(n.right(void 0))),e.value===r&&0===f.size||e.value!==r&&0===s.size)break}e.draining=!1}},t}();n.empty=function(){return new e(e.EMPTY)},n._killVar=function(n,t,r){return function(){null===r.error&&(r.error=t,r.value=e.EMPTY,e.drainVar(n,r))}},n._putVar=function(n,t,r,a){return function(){var u=e.putLast(r.puts,{cb:a,value:t});return e.drainVar(n,r),function(){e.deleteCell(u)}}},n._takeVar=function(n,t,r){return function(){var a=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(a)}}}}(PS["Effect.AVar"]=PS["Effect.AVar"]||{}),function(n){"use strict";var e=PS["Effect.AVar"],t=PS["Data.Either"],r=(PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=(PS.Effect,PS["Effect.Exception"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(){}return n.value=new n,n}(),i={left:t.Left.create,right:t.Right.create,nothing:r.Nothing.value,just:r.Just.create,killed:a.create,filled:u.create,empty:o.value};n.Killed=a,n.Filled=u,n.Empty=o,n.take=function(n){return function(t){return e._takeVar(i,n,t)}},n.put=function(n){return function(t){return function(r){return e._putVar(i,n,t,r)}}},n.kill=function(n){return function(t){return e._killVar(i,n,t)}},n.empty=e.empty}(PS["Effect.AVar"]=PS["Effect.AVar"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Semigroupoid"],PS["Data.Maybe"],PS.Effect;var e=PS["Effect.AVar"],t=PS["Effect.Aff"],r=PS["Effect.Class"],a=(PS["Effect.Exception"],PS.Prelude,r.liftEffect(t.monadEffectAff)(e.empty));n.empty=a,n.take=function(n){return t.makeAff(function(r){return function(){var a=e.take(n)(r)();return t.effectCanceler(a)}})},n.put=function(n){return function(r){return t.makeAff(function(a){return function(){var u=e.put(n)(r)(a)();return t.effectCanceler(u)}})}},n.kill=function(n){return function(a){return r.liftEffect(t.monadEffectAff)(e.kill(n)(a))}}}(PS["Effect.Aff.AVar"]=PS["Effect.Aff.AVar"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Coroutine"],PS["Control.Monad.Free.Trans"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Either"];var e=PS["Data.Eq"],t=(PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Unit"],PS.Effect,PS["Effect.Aff"],PS["Effect.Aff.AVar"],PS["Effect.Aff.Class"],PS["Effect.Class"],PS["Effect.Exception"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),r=function(){function n(){}return n.value=new n,n}(),a=new e.Eq(function(n){return function(e){return n instanceof t&&e instanceof t||n instanceof r&&e instanceof r}});n.Listening=t,n.Done=r,n.unEventSource=function(n){return n},n.eqSubscribeStatus=a}(PS["Halogen.Query.EventSource"]=PS["Halogen.Query.EventSource"]||{}),function(n){"use strict";PS["Control.Category"],PS["Data.Function"],PS["Data.Functor"],PS["Effect.Aff"],PS["Effect.Exception"],PS.Prelude;var e=PS["Unsafe.Coerce"].unsafeCoerce;n.unFork=e}(PS["Halogen.Query.ForkF"]=PS["Halogen.Query.ForkF"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Applicative.Free"],PS["Control.Apply"]),r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=PS["Control.Monad.Free"],o=(PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.State.Class"]),i=(PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Class"],PS["Control.Parallel.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Coyoneda"],PS["Data.Function"],PS["Data.Functor"]),l=(PS["Data.List"],PS["Data.List.Types"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Tuple"],PS["Data.Unit"]),c=PS["Effect.Aff.Class"],f=PS["Effect.Class"],s=(PS["Effect.Exception"],PS["Halogen.Query.EventSource"],PS["Halogen.Query.ForkF"],PS["Halogen.Query.InputF"],PS.Prelude,PS["Web.DOM"],function(n){return n}),d=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),S=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),p=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),m=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),D=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),b=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),g=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),h=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),w=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),E=new i.Functor(function(n){return function(e){return i.map(u.freeFunctor)(n)(e)}}),y=new t.Apply(function(){return E},function(n){return function(e){return t.apply(u.freeApply)(n)(e)}}),M=new r.Bind(function(){return y},function(n){return function(e){return r.bind(u.freeBind)(n)(function(n){return e(n)})}}),C=new e.Applicative(function(){return y},function(n){return e.pure(u.freeApplicative)(n)}),T=new a.Monad(function(){return C},function(){return M}),A=function(n){return new f.MonadEffect(function(){return T},function(e){return s(u.liftF(P.create(f.liftEffect(n)(e))))})},F=new o.MonadState(function(){return T},function(n){return s(u.liftF(d.create(n)))});n.State=d,n.Subscribe=S,n.Lift=P,n.Halt=v,n.GetSlots=p,n.CheckSlot=m,n.ChildQuery=D,n.Raise=b,n.Par=g,n.Fork=h,n.GetRef=w,n.HalogenM=s,n.raise=function(n){return s(u.liftF(new b(n,l.unit)))},n.functorHalogenM=E,n.applyHalogenM=y,n.applicativeHalogenM=C,n.bindHalogenM=M,n.monadHalogenM=T,n.monadEffectHalogenM=A,n.monadAffHalogenM=function(n){return new c.MonadAff(function(){return A(n.MonadEffect0())},function(e){return s(u.liftF(P.create(c.liftAff(n)(e))))})},n.monadStateHalogenM=F}(PS["Halogen.Query.HalogenM"]=PS["Halogen.Query.HalogenM"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Const"],PS["Data.Functor"];var e=PS["Data.Maybe"],t=PS["Data.Ord"],r=PS["Halogen.Data.OrdBox"],a=(PS["Halogen.HTML.Core"],PS["Halogen.Query.HalogenM"],PS.Prelude,PS["Unsafe.Coerce"]),u=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),o=a.unsafeCoerce,i=u.create,l=a.unsafeCoerce,c=function(n){return function(n){return l({initialState:n.initialState,render:n.render,eval:n.eval,receiver:n.receiver,initializer:n.initializer,finalizer:n.finalizer,mkOrdBox:r.mkOrdBox(t.ordVoid)})}};n.mkComponent=l,n.unComponent=o,n.component=function(n){return function(n){return c()({initialState:n.initialState,render:n.render,eval:n.eval,receiver:n.receiver,initializer:e.Nothing.value,finalizer:e.Nothing.value})}},n.lifecycleComponent=c,n.parentComponent=function(n){return function(t){return l({initialState:t.initialState,render:t.render,eval:t.eval,receiver:t.receiver,initializer:e.Nothing.value,finalizer:e.Nothing.value,mkOrdBox:r.mkOrdBox(n)})}},n.mkComponentSlot=i,n.unComponentSlot=function(n){return function(e){return n(e.value0)(e.value1)(e.value2)(e.value3)(e.value4)(e.value5)}}}(PS["Halogen.Component"]=PS["Halogen.Component"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed"],PS["DOM.HTML.Indexed.ButtonType"],PS["DOM.HTML.Indexed.FormMethod"],PS["DOM.HTML.Indexed.InputType"],PS["DOM.HTML.Indexed.MenuType"],PS["DOM.HTML.Indexed.MenuitemType"];var e=PS["DOM.HTML.Indexed.OnOff"],t=(PS["DOM.HTML.Indexed.OrderedListType"],PS["DOM.HTML.Indexed.PreloadValue"],PS["DOM.HTML.Indexed.StepValue"],PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),r=(PS["Data.MediaType"],PS["Data.Newtype"]),a=(PS["Data.String"],PS["Data.String.Common"],PS["Data.Unit"],PS["Halogen.HTML.Core"]),u=(PS["Halogen.Query.InputF"],PS["Halogen.VDom.DOM.Prop"],PS.Prelude,PS["Unsafe.Coerce"],PS["Web.DOM.Element"],function(n){return a.prop(n)}),o=u(a.booleanIsProp)("required"),i=u(a.intIsProp)("rows"),l=u(a.stringIsProp)("target"),c=u(a.stringIsProp)("title"),f=u(a.stringIsProp)("value"),s=u(a.stringIsProp)("name"),d=u(a.stringIsProp)("id"),S=u(a.stringIsProp)("href"),P=u(a.stringIsProp)("htmlFor"),v=u(a.booleanIsProp)("checked"),p=a.attr(t.Nothing.value);n.prop=u,n.attr=p,n.class_=function(n){return u(a.stringIsProp)("className")(r.unwrap(a.newtypeClassName)(n))},n.rows=i,n.for=P,n.href=S,n.id_=d,n.name=s,n.target=l,n.title=c,n.type_=function(n){return u(n)("type")},n.value=f,n.required=o,n.checked=v,n.autocomplete=function(n){return u(a.onOffIsProp)("autocomplete")(n?e.On.value:e.Off.value)}}(PS["Halogen.HTML.Properties"]=PS["Halogen.HTML.Properties"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed"],PS["Data.Function"];var e=PS["Data.Maybe"],t=(PS["Data.Tuple"],PS["Halogen.HTML.Core"]),r=(PS["Halogen.HTML.Properties"],PS["Halogen.Query.InputF"],PS["Halogen.VDom"],PS["Halogen.VDom.Types"],PS.Prelude,PS["Unsafe.Coerce"],t.element(e.Nothing.value)),a=r("form"),u=r("label"),o=r("p"),i=r("span"),l=r("table"),c=l([]),f=r("tbody"),s=f([]),d=r("td"),S=d([]),P=r("tr"),v=P([]),p=r("div"),m=p([]),D=r("button"),b=function(n){return r("br")(n)([])},g=b([]),h=r("a");n.element=r,n.a=h,n.br=b,n.br_=g,n.button=D,n.div=p,n.div_=m,n.form=a,n.input=function(n){return r("input")(n)([])},n.label=u,n.p=o,n.span=i,n.table=l,n.table_=c,n.tbody=f,n.tbody_=s,n.td=d,n.td_=S,n.textarea=function(n){return r("textarea")(n)([])},n.tr=P,n.tr_=v}(PS["Halogen.HTML.Elements"]=PS["Halogen.HTML.Elements"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Functor"];var e=PS["Data.Maybe"],t=PS["Halogen.Component"],r=(PS["Halogen.Component.ChildPath"],PS["Halogen.HTML.Core"]);PS["Halogen.HTML.Elements"],PS["Halogen.HTML.Properties"],PS.Prelude,PS["Unsafe.Coerce"];n.slot=function(n){return function(a){return function(u){return function(o){var i=t.unComponent(function(n){return n.receiver})(a);return r.slot(t.mkComponentSlot(n)(a)(u)(i)(o)(e.Just.create))}}}}}(PS["Halogen.HTML"]=PS["Halogen.HTML"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Apply"],PS["Control.Category"],PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"]),r=(PS["Data.FoldableWithIndex"],PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.List"],PS["Data.List.Lazy"],PS["Data.List.Lazy.Types"],PS["Data.List.Types"]),u=PS["Data.Maybe"],o=(PS["Data.Monoid"],PS["Data.Ord"]),i=PS["Data.Ordering"],l=PS["Data.Semigroup"],c=(PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"]),f=(PS["Data.Unfoldable"],PS["Partial.Unsafe"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),s=function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}return n.create=function(e){return function(t){return function(r){return function(a){return new n(e,t,r,a)}}}},n}(),d=function(){function n(n,e,t,r,a,u,o){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u,this.value6=o}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return function(i){return new n(e,t,r,a,u,o,i)}}}}}}},n}(),S=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),P=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),v=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),p=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),m=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),D=function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}return n.create=function(e){return function(t){return function(r){return function(a){return new n(e,t,r,a)}}}},n}(),b=function(n){if(n instanceof f)return a.Nil.value;if(n instanceof s)return l.append(a.semigroupList)(b(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value2))(b(n.value3)));if(n instanceof d)return l.append(a.semigroupList)(b(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value2))(l.append(a.semigroupList)(b(n.value3))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value5))(b(n.value6)))));throw new Error("Failed pattern match at Data.Map.Internal line 594, column 1 - line 594, column 40: "+[n.constructor.name])},g=function(n){return function(e){var t=o.compare(n);return function(n){var r,a=!1;function o(r){if(r instanceof f)return a=!0,u.Nothing.value;if(r instanceof s){var o=t(e)(r.value1);return o instanceof i.EQ?(a=!0,new u.Just(r.value2)):o instanceof i.LT?void(n=r.value0):void(n=r.value3)}if(r instanceof d){var l=t(e)(r.value1);if(l instanceof i.EQ)return a=!0,new u.Just(r.value2);var c=t(e)(r.value4);return c instanceof i.EQ?(a=!0,new u.Just(r.value5)):l instanceof i.LT?void(n=r.value0):c instanceof i.GT?void(n=r.value6):void(n=r.value3)}throw new Error("Failed pattern match at Data.Map.Internal line 193, column 5 - line 193, column 22: "+[r.constructor.name])}for(;!a;)r=o(n);return r}}},h=function(n){if(n instanceof f)return a.Nil.value;if(n instanceof s)return l.append(a.semigroupList)(h(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value1))(h(n.value3)));if(n instanceof d)return l.append(a.semigroupList)(h(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value1))(l.append(a.semigroupList)(h(n.value3))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value4))(h(n.value6)))));throw new Error("Failed pattern match at Data.Map.Internal line 588, column 1 - line 588, column 38: "+[n.constructor.name])},w=new r.Functor(function(n){return function(e){if(e instanceof f)return f.value;if(e instanceof s)return new s(r.map(w)(n)(e.value0),e.value1,n(e.value2),r.map(w)(n)(e.value3));if(e instanceof d)return new d(r.map(w)(n)(e.value0),e.value1,n(e.value2),r.map(w)(n)(e.value3),e.value4,n(e.value5),r.map(w)(n)(e.value6));throw new Error("Failed pattern match at Data.Map.Internal line 89, column 1 - line 89, column 39: "+[n.constructor.name,e.constructor.name])}}),E=function(n){return function(e){return function(t){var r,u=n,o=e,i=!1;function l(n,e,r){if(e instanceof a.Nil)return i=!0,r;if(e instanceof a.Cons){if(e.value0 instanceof S)return u=n,o=e.value1,void(t=new s(r,e.value0.value0,e.value0.value1,e.value0.value2));if(e.value0 instanceof P)return u=n,o=e.value1,void(t=new s(e.value0.value0,e.value0.value1,e.value0.value2,r));if(e.value0 instanceof v)return u=n,o=e.value1,void(t=new d(r,e.value0.value0,e.value0.value1,e.value0.value2,e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p)return u=n,o=e.value1,void(t=new d(e.value0.value0,e.value0.value1,e.value0.value2,r,e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof m)return u=n,o=e.value1,void(t=new d(e.value0.value0,e.value0.value1,e.value0.value2,e.value0.value3,e.value0.value4,e.value0.value5,r));throw new Error("Failed pattern match at Data.Map.Internal line 411, column 3 - line 416, column 88: "+[e.value0.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal line 408, column 1 - line 408, column 80: "+[e.constructor.name,r.constructor.name])}for(;!i;)r=l(u,o,t);return r}}},y=function(n){return function(e){return function(t){var r,u=function(e){return function(t){var r,u=e,o=!1;function i(e,r){if(e instanceof a.Nil)return o=!0,new s(r.value0,r.value1,r.value2,r.value3);if(e instanceof a.Cons){if(e.value0 instanceof S)return o=!0,E(n)(e.value1)(new d(r.value0,r.value1,r.value2,r.value3,e.value0.value0,e.value0.value1,e.value0.value2));if(e.value0 instanceof P)return o=!0,E(n)(e.value1)(new d(e.value0.value0,e.value0.value1,e.value0.value2,r.value0,r.value1,r.value2,r.value3));if(e.value0 instanceof v)return u=e.value1,void(t=new D(new s(r.value0,r.value1,r.value2,r.value3),e.value0.value0,e.value0.value1,new s(e.value0.value2,e.value0.value3,e.value0.value4,e.value0.value5)));if(e.value0 instanceof p)return u=e.value1,void(t=new D(new s(e.value0.value0,e.value0.value1,e.value0.value2,r.value0),r.value1,r.value2,new s(r.value3,e.value0.value3,e.value0.value4,e.value0.value5)));if(e.value0 instanceof m)return u=e.value1,void(t=new D(new s(e.value0.value0,e.value0.value1,e.value0.value2,e.value0.value3),e.value0.value4,e.value0.value5,new s(r.value0,r.value1,r.value2,r.value3)));throw new Error("Failed pattern match at Data.Map.Internal line 447, column 5 - line 452, column 108: "+[e.value0.constructor.name,r.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal line 444, column 3 - line 444, column 56: "+[e.constructor.name,r.constructor.name])}for(;!o;)r=i(u,t);return r}},l=o.compare(n);return r=a.Nil.value,function(o){var c,b=r,g=!1;function h(r,c){if(c instanceof f)return g=!0,u(r)(new D(f.value,e,t,f.value));if(c instanceof s){var h=l(e)(c.value1);return h instanceof i.EQ?(g=!0,E(n)(r)(new s(c.value0,e,t,c.value3))):h instanceof i.LT?(b=new a.Cons(new S(c.value1,c.value2,c.value3),r),void(o=c.value0)):(b=new a.Cons(new P(c.value0,c.value1,c.value2),r),void(o=c.value3))}if(c instanceof d){var w=l(e)(c.value1);if(w instanceof i.EQ)return g=!0,E(n)(r)(new d(c.value0,e,t,c.value3,c.value4,c.value5,c.value6));var y=l(e)(c.value4);return y instanceof i.EQ?(g=!0,E(n)(r)(new d(c.value0,c.value1,c.value2,c.value3,e,t,c.value6))):w instanceof i.LT?(b=new a.Cons(new v(c.value1,c.value2,c.value3,c.value4,c.value5,c.value6),r),void(o=c.value0)):w instanceof i.GT&&y instanceof i.LT?(b=new a.Cons(new p(c.value0,c.value1,c.value2,c.value4,c.value5,c.value6),r),void(o=c.value3)):(b=new a.Cons(new m(c.value0,c.value1,c.value2,c.value3,c.value4,c.value5),r),void(o=c.value6))}throw new Error("Failed pattern match at Data.Map.Internal line 427, column 3 - line 427, column 55: "+[r.constructor.name,c.constructor.name])}for(;!g;)c=h(b,o);return c}}}},M=function(n){return function(e){var t,r=function(e){return function(t){if(e instanceof a.Nil)return t;if(e instanceof a.Cons){return function(){if(e.value0 instanceof S&&e.value0.value2 instanceof f&&t instanceof f)return E(n)(e.value1)(new s(f.value,e.value0.value0,e.value0.value1,f.value));if(e.value0 instanceof P&&e.value0.value0 instanceof f&&t instanceof f)return E(n)(e.value1)(new s(f.value,e.value0.value1,e.value0.value2,f.value));if(e.value0 instanceof S&&e.value0.value2 instanceof s)return r(e.value1)(new d(t,e.value0.value0,e.value0.value1,e.value0.value2.value0,e.value0.value2.value1,e.value0.value2.value2,e.value0.value2.value3));if(e.value0 instanceof P&&e.value0.value0 instanceof s)return r(e.value1)(new d(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3,e.value0.value1,e.value0.value2,t));if(e.value0 instanceof S&&e.value0.value2 instanceof d)return E(n)(e.value1)(new s(new s(t,e.value0.value0,e.value0.value1,e.value0.value2.value0),e.value0.value2.value1,e.value0.value2.value2,new s(e.value0.value2.value3,e.value0.value2.value4,e.value0.value2.value5,e.value0.value2.value6)));if(e.value0 instanceof P&&e.value0.value0 instanceof d)return E(n)(e.value1)(new s(new s(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3),e.value0.value0.value4,e.value0.value0.value5,new s(e.value0.value0.value6,e.value0.value1,e.value0.value2,t)));if(e.value0 instanceof v&&e.value0.value2 instanceof f&&e.value0.value5 instanceof f&&t instanceof f)return E(n)(e.value1)(new d(f.value,e.value0.value0,e.value0.value1,f.value,e.value0.value3,e.value0.value4,f.value));if(e.value0 instanceof p&&e.value0.value0 instanceof f&&e.value0.value5 instanceof f&&t instanceof f)return E(n)(e.value1)(new d(f.value,e.value0.value1,e.value0.value2,f.value,e.value0.value3,e.value0.value4,f.value));if(e.value0 instanceof m&&e.value0.value0 instanceof f&&e.value0.value3 instanceof f&&t instanceof f)return E(n)(e.value1)(new d(f.value,e.value0.value1,e.value0.value2,f.value,e.value0.value4,e.value0.value5,f.value));if(e.value0 instanceof v&&e.value0.value2 instanceof s)return E(n)(e.value1)(new s(new d(t,e.value0.value0,e.value0.value1,e.value0.value2.value0,e.value0.value2.value1,e.value0.value2.value2,e.value0.value2.value3),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value0 instanceof s)return E(n)(e.value1)(new s(new d(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3,e.value0.value1,e.value0.value2,t),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value5 instanceof s)return E(n)(e.value1)(new s(e.value0.value0,e.value0.value1,e.value0.value2,new d(t,e.value0.value3,e.value0.value4,e.value0.value5.value0,e.value0.value5.value1,e.value0.value5.value2,e.value0.value5.value3)));if(e.value0 instanceof m&&e.value0.value3 instanceof s)return E(n)(e.value1)(new s(e.value0.value0,e.value0.value1,e.value0.value2,new d(e.value0.value3.value0,e.value0.value3.value1,e.value0.value3.value2,e.value0.value3.value3,e.value0.value4,e.value0.value5,t)));if(e.value0 instanceof v&&e.value0.value2 instanceof d)return E(n)(e.value1)(new d(new s(t,e.value0.value0,e.value0.value1,e.value0.value2.value0),e.value0.value2.value1,e.value0.value2.value2,new s(e.value0.value2.value3,e.value0.value2.value4,e.value0.value2.value5,e.value0.value2.value6),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value0 instanceof d)return E(n)(e.value1)(new d(new s(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3),e.value0.value0.value4,e.value0.value0.value5,new s(e.value0.value0.value6,e.value0.value1,e.value0.value2,t),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value5 instanceof d)return E(n)(e.value1)(new d(e.value0.value0,e.value0.value1,e.value0.value2,new s(t,e.value0.value3,e.value0.value4,e.value0.value5.value0),e.value0.value5.value1,e.value0.value5.value2,new s(e.value0.value5.value3,e.value0.value5.value4,e.value0.value5.value5,e.value0.value5.value6)));if(e.value0 instanceof m&&e.value0.value3 instanceof d)return E(n)(e.value1)(new d(e.value0.value0,e.value0.value1,e.value0.value2,new s(e.value0.value3.value0,e.value0.value3.value1,e.value0.value3.value2,e.value0.value3.value3),e.value0.value3.value4,e.value0.value3.value5,new s(e.value0.value3.value6,e.value0.value4,e.value0.value5,t)));throw new Error("Failed pattern match at Data.Map.Internal line 497, column 9 - line 514, column 136: "+[e.value0.constructor.name,t.constructor.name])}()}throw new Error("Failed pattern match at Data.Map.Internal line 494, column 5 - line 514, column 136: "+[e.constructor.name])}},l=function(n){return function(e){return function(){if(e instanceof s&&e.value0 instanceof f&&e.value3 instanceof f)return r(n)(f.value);if(e instanceof s)return l(new a.Cons(new P(e.value0,e.value1,e.value2),n))(e.value3);if(e instanceof d&&e.value0 instanceof f&&e.value3 instanceof f&&e.value6 instanceof f)return r(new a.Cons(new P(f.value,e.value1,e.value2),n))(f.value);if(e instanceof d)return l(new a.Cons(new m(e.value0,e.value1,e.value2,e.value3,e.value4,e.value5),n))(e.value6);throw new Error("Failed pattern match at Data.Map.Internal line 526, column 5 - line 530, column 107: "+[e.constructor.name])}()}},D=function(n){return function(){if(n instanceof s&&n.value3 instanceof f)return{key:n.value1,value:n.value2};if(n instanceof s)return D(n.value3);if(n instanceof d&&n.value6 instanceof f)return{key:n.value4,value:n.value5};if(n instanceof d)return D(n.value6);throw new Error("Failed pattern match at Data.Map.Internal line 517, column 33 - line 521, column 45: "+[n.constructor.name])}()},b=o.compare(n);return t=a.Nil.value,function(o){var g,h=t,w=!1;function y(t,g){if(g instanceof f)return w=!0,u.Nothing.value;if(g instanceof s){var y=b(e)(g.value1);if(g.value3 instanceof f&&y instanceof i.EQ)return w=!0,new u.Just(new c.Tuple(g.value2,r(t)(f.value)));if(y instanceof i.EQ){var M=D(g.value0);return w=!0,new u.Just(new c.Tuple(g.value2,l(new a.Cons(new S(M.key,M.value,g.value3),t))(g.value0)))}return y instanceof i.LT?(h=new a.Cons(new S(g.value1,g.value2,g.value3),t),void(o=g.value0)):(h=new a.Cons(new P(g.value0,g.value1,g.value2),t),void(o=g.value3))}if(g instanceof d){var C=g.value0 instanceof f&&g.value3 instanceof f&&g.value6 instanceof f,T=(y=b(e)(g.value4),b(e)(g.value1));return C&&T instanceof i.EQ?(w=!0,new u.Just(new c.Tuple(g.value2,E(n)(t)(new s(f.value,g.value4,g.value5,f.value))))):C&&y instanceof i.EQ?(w=!0,new u.Just(new c.Tuple(g.value5,E(n)(t)(new s(f.value,g.value1,g.value2,f.value))))):T instanceof i.EQ?(M=D(g.value0),w=!0,new u.Just(new c.Tuple(g.value2,l(new a.Cons(new v(M.key,M.value,g.value3,g.value4,g.value5,g.value6),t))(g.value0)))):y instanceof i.EQ?(M=D(g.value3),w=!0,new u.Just(new c.Tuple(g.value5,l(new a.Cons(new p(g.value0,g.value1,g.value2,M.key,M.value,g.value6),t))(g.value3)))):T instanceof i.LT?(h=new a.Cons(new v(g.value1,g.value2,g.value3,g.value4,g.value5,g.value6),t),void(o=g.value0)):T instanceof i.GT&&y instanceof i.LT?(h=new a.Cons(new p(g.value0,g.value1,g.value2,g.value4,g.value5,g.value6),t),void(o=g.value3)):(h=new a.Cons(new m(g.value0,g.value1,g.value2,g.value3,g.value4,g.value5),t),void(o=g.value6))}throw new Error("Failed pattern match at Data.Map.Internal line 467, column 34 - line 490, column 80: "+[g.constructor.name])}for(;!w;)g=y(h,o);return g}}},C=new t.Foldable(function(n){return function(e){return function(r){return t.foldMap(a.foldableList)(n)(e)(b(r))}}},function(n){return function(e){return function(r){return t.foldl(a.foldableList)(n)(e)(b(r))}}},function(n){return function(e){return function(r){return t.foldr(a.foldableList)(n)(e)(b(r))}}}),T=f.value,A=function(n){return function(e){return function(t){return u.maybe(t)(c.snd)(M(n)(e)(t))}}};n.empty=T,n.insert=y,n.lookup=g,n.delete=A,n.pop=M,n.member=function(n){return function(e){return function(t){return u.isJust(g(n)(e)(t))}}},n.alter=function(n){return function(e){return function(t){return function(r){var a=e(g(n)(t)(r));if(a instanceof u.Nothing)return A(n)(t)(r);if(a instanceof u.Just)return y(n)(t)(a.value0)(r);throw new Error("Failed pattern match at Data.Map.Internal line 535, column 15 - line 537, column 25: "+[a.constructor.name])}}}},n.keys=h,n.values=b,n.functorMap=w,n.foldableMap=C}(PS["Data.Map.Internal"]=PS["Data.Map.Internal"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.ST"],PS["Control.Monad.ST.Internal"],PS["Control.Semigroupoid"],PS["Data.Array"],PS["Data.Array.ST"],PS["Data.Eq"];var e=PS["Data.Foldable"],t=(PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.List"],PS["Data.List.Types"]),r=PS["Data.Map.Internal"],a=(PS["Data.Maybe"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Unfoldable"],PS["Data.Unit"],PS["Partial.Unsafe"],PS.Prelude,function(n){return r.keys(n)}),u=new e.Foldable(function(n){return function(r){return function(u){return e.foldMap(t.foldableList)(n)(r)(a(u))}}},function(n){return function(r){return function(u){return e.foldl(t.foldableList)(n)(r)(a(u))}}},function(n){return function(r){return function(u){return e.foldr(t.foldableList)(n)(r)(a(u))}}});n.foldableSet=u}(PS["Data.Set"]=PS["Data.Set"]||{}),function(n){"use strict";PS["Control.Semigroupoid"];var e=PS["Data.Functor"],t=PS["Data.Map.Internal"];PS["Data.Set"],PS.Prelude,PS["Unsafe.Coerce"];n.keys=function(n){return e.void(t.functorMap)(n)}}(PS["Data.Map"]=PS["Data.Map"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Parallel"],PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.List"],PS["Data.List.Types"],PS["Data.Map"],PS["Data.Map.Internal"],PS["Data.Maybe"],PS["Data.Tuple"];var e=PS["Data.Unit"];PS["Effect.Aff.Class"],PS["Effect.Class"],PS["Halogen.Component.ChildPath"],PS["Halogen.Query.EventSource"],PS["Halogen.Query.HalogenM"],PS["Halogen.Query.InputF"],PS.Prelude,PS["Web.HTML.HTMLElement"];n.action=function(n){return n(e.unit)}}(PS["Halogen.Query"]=PS["Halogen.Query"]||{}),function(n){"use strict";PS["Web.Event.Event"];n.change="change"}(PS["Web.HTML.Event.EventTypes"]=PS["Web.HTML.Event.EventTypes"]||{}),function(n){"use strict";PS["Web.Event.Event"];n.click="click"}(PS["Web.UIEvent.MouseEvent.EventTypes"]=PS["Web.UIEvent.MouseEvent.EventTypes"]||{}),function(n){"use strict";var e=PS["Control.Bind"],t=PS["Control.Monad.Except"],r=PS["Control.Monad.Except.Trans"],a=(PS["Control.Semigroupoid"],PS["Data.Either"]),u=PS["Data.Function"],o=PS["Data.Functor"],i=PS["Data.Identity"],l=PS["Data.Maybe"],c=PS.Foreign,f=PS["Foreign.Index"],s=PS["Halogen.HTML.Core"],d=(PS["Halogen.HTML.Properties"],PS["Halogen.Query"]),S=PS["Halogen.Query.InputF"],P=(PS.Prelude,PS["Unsafe.Coerce"]),v=(PS["Web.Clipboard.ClipboardEvent"],PS["Web.Clipboard.ClipboardEvent.EventTypes"],PS["Web.Event.Event"]),p=(PS["Web.HTML.Event.DragEvent"],PS["Web.HTML.Event.DragEvent.EventTypes"],PS["Web.HTML.Event.EventTypes"]),m=(PS["Web.TouchEvent.TouchEvent"],PS["Web.UIEvent.FocusEvent"],PS["Web.UIEvent.FocusEvent.EventTypes"],PS["Web.UIEvent.KeyboardEvent"],PS["Web.UIEvent.KeyboardEvent.EventTypes"],PS["Web.UIEvent.MouseEvent"],PS["Web.UIEvent.MouseEvent.EventTypes"]),D=(PS["Web.UIEvent.WheelEvent"],PS["Web.UIEvent.WheelEvent.EventTypes"],P.unsafeCoerce),b=function(n){return function(e){return s.handler(n)(o.map(o.functorFn)(o.map(l.functorMaybe)(S.Query.create))(e))}},g=b("submit"),h=function(n){return function(o){return function(s){return function(d){return b(n)(e.composeKleisli(l.bindMaybe)(v.currentTarget)(function(n){return a.either(u.const(l.Nothing.value))(d)(t.runExcept((S=n,e.composeKleisliFlipped(r.bindExceptT(i.monadIdentity))(s)(f.readProp(o))(c.unsafeToForeign(S)))));var S}))}}}},w=h(p.change)("checked")(c.readBoolean),E=h(p.change)("value")(c.readString);n.input=function(n){return function(e){return l.Just.create(d.action(n(e)))}},n.input_=function(n){return function(e){return l.Just.create(d.action(n))}},n.handler=b,n.onSubmit=g,n.onClick=function(n){return b(m.click)(D(n))},n.onValueChange=E,n.onChecked=w}(PS["Halogen.HTML.Events"]=PS["Halogen.HTML.Events"]||{}),function(n){"use strict";var e="function"==typeof Array.from,t="undefined"!=typeof Symbol&&null!=Symbol&&void 0!==Symbol.iterator&&"function"==typeof String.prototype[Symbol.iterator],r="function"==typeof String.prototype.fromCodePoint,a="function"==typeof String.prototype.codePointAt;n._unsafeCodePointAt0=function(n){return a?function(n){return n.codePointAt(0)}:n},n._singleton=function(n){return r?String.fromCodePoint:n},n._take=function(n){return function(e){return t?function(n){for(var t="",r=n[Symbol.iterator](),a=0;a<e;++a){var u=r.next();if(u.done)return t;t+=u.value}return t}:n(e)}},n._toCodePointArray=function(n){return function(t){return e?function(n){return Array.from(n,t)}:n}}}(PS["Data.String.CodePoints"]=PS["Data.String.CodePoints"]||{}),function(n){"use strict";var e=PS["Data.String.CodePoints"],t=(PS["Control.Semigroupoid"],PS["Data.Array"]),r=(PS["Data.Boolean"],PS["Data.Bounded"]),a=PS["Data.Enum"],u=(PS["Data.Eq"],PS["Data.EuclideanRing"]),o=PS["Data.Functor"],i=(PS["Data.HeytingAlgebra"],PS["Data.Int"],PS["Data.Maybe"]),l=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.String.CodeUnits"]),c=(PS["Data.String.Common"],PS["Data.String.Pattern"],PS["Data.String.Unsafe"]),f=PS["Data.Tuple"],s=PS["Data.Unfoldable"],d=(PS.Prelude,function(n){return function(e){return 65536+((1024*(n-55296|0)|0)+(e-56320|0)|0)|0}}),S=function(n){return 56320<=n&&n<=57343},P=function(n){return 55296<=n&&n<=56319},v=function(n){var e=l.length(n);if(0===e)return i.Nothing.value;if(1===e)return new i.Just({head:a.fromEnum(a.boundedEnumChar)(c.charAt(0)(n)),tail:""});var t=a.fromEnum(a.boundedEnumChar)(c.charAt(1)(n)),r=a.fromEnum(a.boundedEnumChar)(c.charAt(0)(n));return P(r)&&S(t)?new i.Just({head:d(r)(t),tail:l.drop(2)(n)}):new i.Just({head:r,tail:l.drop(1)(n)})},p=function(n){return o.map(i.functorMaybe)(function(n){return new f.Tuple(n.head,n.tail)})(v(n))},m=e._unsafeCodePointAt0(function(n){var e=a.fromEnum(a.boundedEnumChar)(c.charAt(1)(n)),t=a.fromEnum(a.boundedEnumChar)(c.charAt(0)(n));return P(t)&&S(e)?d(t)(e):t}),D=e._toCodePointArray(function(n){return s.unfoldr(s.unfoldableArray)(p)(n)})(m),b=function(n){return l.singleton(a.toEnumWithDefaults(a.boundedEnumChar)(r.bottom(r.boundedChar))(r.top(r.boundedChar))(n))},g=e._singleton(function(n){if(n<=65535)return b(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),h=function(n){return function(e){if(n<1)return"";var t=v(e);return t instanceof i.Just?g(t.value0.head)+h(n-1|0)(t.value0.tail):e}},w=e._take(h);n.singleton=g,n.toCodePointArray=D,n.uncons=v,n.length=function(n){return t.length(D(n))},n.take=w,n.drop=function(n){return function(e){return l.drop(l.length(w(n)(e)))(e)}}}(PS["Data.String.CodePoints"]=PS["Data.String.CodePoints"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Monad.Maybe.Trans"],a=(PS["Control.Semigroupoid"],PS["Data.Array"]),u=(PS["Data.Eq"],PS["Data.Foldable"]),o=(PS["Data.Function"],PS["Data.Functor"]),i=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),l=(PS["Data.String"],PS["Data.String.CodePoints"]),c=PS["Data.String.Common"],f=(PS["Data.String.Pattern"],PS["Data.Tuple"]),s=PS.Effect,d=PS["Global.Unsafe"],S=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),P=PS["Halogen.HTML.Properties"],v=(PS["Partial.Unsafe"],PS.Prelude,PS["Web.DOM"],PS["Web.DOM.Document"]),p=PS["Web.DOM.Element"],m=PS["Web.DOM.NodeList"],D=PS["Web.DOM.NonElementParentNode"],b=PS["Web.DOM.ParentNode"],g=PS["Web.HTML"],h=PS["Web.HTML.HTMLDocument"],w=PS["Web.HTML.HTMLElement"],E=PS["Web.HTML.Location"],y=PS["Web.HTML.Window"],M=function(n){return function(e){return t.bindFlipped(s.bindEffect)(m.toArray)(b.querySelectorAll(n)(p.toParentNode(e)))}},C=function(n){return function(e){return b.querySelector(n)(p.toParentNode(e))}},T=function(n){var e,t=function(n){return d.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},r="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return a.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new i.Just(new f.Tuple(t(e[0]),i.Nothing.value)):2===e.length?new i.Just(new f.Tuple(t(e[0]),new i.Just(t(e[1])))):i.Nothing.value})(a.filter(function(n){return""!==n})(c.split("&")(r)))},A=r.MaybeT,F=t.bindFlipped(s.bindEffect)(y.location)(g.window),H=t.bindFlipped(s.bindEffect)(y.document)(g.window),L=t.bindFlipped(s.bindEffect)(function(n){return e.pure(s.applicativeEffect)(i.fromJust()(n))})(t.bindFlipped(s.bindEffect)(h.body)(H));n.class_=function(n){return P.class_(S.ClassName(n))},n.attr=function(n){return P.attr(n)},n._queryBoth=function(n){return function(e){return function(t){return function(){var r=C(n.value0)(n.value1)(),a=C(e.value0)(e.value1)();return u.for_(s.applicativeEffect)(u.foldableMaybe)(r)(function(n){return u.for_(s.applicativeEffect)(u.foldableMaybe)(a)(function(e){return t(n)(e)})})()}}}},n["_queryBoth'"]=function(n){return function(e){return function(t){return function(){var r=C(n.value0)(n.value1)(),a=M(e.value0)(e.value1)();return u.for_(s.applicativeEffect)(u.foldableMaybe)(r)(function(n){return t(n)(a)})()}}}},n["_queryBoth''"]=function(n){return function(e){return function(t){return function(){var r=M(n.value0)(n.value1)(),a=M(e.value0)(e.value1)();return t(r)(a)()}}}},n._querySelector=C,n._querySelectorAll=M,n._fromNode=function(n){return i.fromJust()(p.fromNode(n))},n._fromElement=function(n){return i.fromJust()(w.fromElement(n))},n._getElementById=function(n){return function(e){return D.getElementById(n)(v.toNonElementParentNode(h.toDocument(e)))}},n._doc=H,n._loc=F,n._curQuerystring=function(){var n=F(),e=E.search(n)();return T(e)},n._parseQueryString=T,n._lookupQueryStringValue=function(n){return function(e){return t.join(i.bindMaybe)(o.map(i.functorMaybe)(f.snd)(u.find(u.foldableArray)(function(n){return f.fst(n)===e})(n)))}},n._body=L,n._mt=A,n._mt_pure=function(n){return r.MaybeT(e.pure(s.applicativeEffect)(n))}}(PS.Util=PS.Util||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),o=PS["DOM.HTML.Indexed.InputType"],i=(PS["Data.Array"],PS["Data.Foldable"],PS["Data.Function"]),l=PS["Data.Functor"],c=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),f=PS["Data.Monoid"],s=(PS["Data.Ord"],PS["Data.Semigroup"]),d=(PS["Data.String"],PS["Data.String.Common"],PS["Data.String.Pattern"],PS["Data.Tuple"]),S=PS["Data.Unit"],P=PS["Effect.Aff"],v=PS["Effect.Aff.Class"],p=PS["Effect.Class"],m=PS.Globals,D=(PS.Halogen,PS["Halogen.Component"]),b=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),g=PS["Halogen.HTML.Elements"],h=PS["Halogen.HTML.Events"],w=PS["Halogen.HTML.Properties"],E=PS["Halogen.Query.HalogenM"],y=(PS.Model,PS.Prelude,PS.Util),M=PS["Web.Event.Event"],C=PS["Web.HTML"],T=PS["Web.HTML.Location"],A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),L=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),_=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),I=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),W=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),N=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),x=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.BEditField=I,n.BEditSubmit=W,n.BDeleteAsk=N,n.BDestroy=x,n.Eurl=A,n.Etitle=F,n.Edescription=H,n.Etags=L,n.Eprivate=_,n.Etoread=O,n.addbmark=function(n){var U;m["app'"](S.unit);return D.component(b.bifunctorHTML)({initialState:i.const((U=n,{bm:U,edit_bm:U,deleteAsk:!1,destroyed:!1})),render:function(n){var e=m.mmoment8601(n.bm.time),t=g.div([y.class_("alert")])([b.text("previously saved "),g.span([y.class_("when js-moment"),w.title(c.maybe(n.bm.time)(d.snd)(e)),y.attr("data-iso8601")(n.bm.time)])([b.text(c.maybe(" ")(d.fst)(e))]),g.div([y.class_("edit_links"),y.attr("style")("display: inline-block; margin-left: 5px;")])([g.div([y.class_("delete_link")])([g.button(s.append(s.semigroupArray)([w.type_(b.buttonTypeIsProp)(u.ButtonButton.value),h.onClick(h.input_(N.create(!0))),y.class_("delete")])(f.guard(f.monoidArray)(n.deleteAsk)([y.attr("hidden")("hidden")])))([b.text("delete")]),g.span(s.append(s.semigroupArray)([y.class_("confirm")])(f.guard(f.monoidArray)(!n.deleteAsk)([y.attr("hidden")("hidden")])))([g.button([w.type_(b.buttonTypeIsProp)(u.ButtonButton.value),h.onClick(h.input_(N.create(!1)))])([b.text("cancel / ")]),g.button([w.type_(b.buttonTypeIsProp)(u.ButtonButton.value),h.onClick(h.input_(x.create)),y.class_("destroy")])([b.text("destroy")])])])])]),r=g.form([h.onSubmit(h.input(W.create))])([g.table_([g.tbody_([g.tr_([g.td_([]),g.td_(f.guard(f.monoidArray)(n.bm.bid>0)([t]))]),g.tr_([g.td_([g.label([w.for("url")])([b.text("URL")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputUrl.value),w.id_("url"),y.class_("url"),w.required(!0),w.name("url"),y.attr("size")("70"),w.value(n.edit_bm.url),h.onValueChange(function(n){return h.input(I.create)(A.create(n))})])])]),g.tr_([g.td_([g.label([w.for("title")])([b.text("title")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputText.value),w.id_("title"),y.class_("title"),w.name("title"),y.attr("size")("70"),w.value(n.edit_bm.title),h.onValueChange(function(n){return h.input(I.create)(F.create(n))})])])]),g.tr_([g.td_([g.label([w.for("description")])([b.text("description")])]),g.td_([g.textarea([y.class_("description"),w.id_("description"),w.name("description"),y.attr("cols")("70"),w.rows(4),w.value(n.edit_bm.description),h.onValueChange(function(n){return h.input(I.create)(H.create(n))})])])]),g.tr_([g.td_([g.label([w.for("tags")])([b.text("tags")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputText.value),w.id_("tags"),y.class_("tags"),w.name("tags"),y.attr("size")("70"),w.autocomplete(!1),y.attr("autocapitalize")("off"),w.value(n.edit_bm.tags),h.onValueChange(function(n){return h.input(I.create)(L.create(n))})])])]),g.tr_([g.td_([g.label([w.for("private")])([b.text("private")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputCheckbox.value),w.id_("private"),y.class_("private"),w.name("private"),w.checked(n.edit_bm.private),h.onChecked(function(n){return h.input(I.create)(_.create(n))})])])]),g.tr_([g.td_([g.label([w.for("toread")])([b.text("read later")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputCheckbox.value),w.id_("toread"),y.class_("toread"),w.name("toread"),w.checked(n.edit_bm.toread),h.onChecked(function(n){return h.input(I.create)(O.create(n))})])])]),g.tr_([g.td_([]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputSubmit.value),y.class_("submit"),w.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),a=g.p([y.class_("error")])([b.text("you killed this bookmark")]);return g.div_([n.destroyed?a:r])},eval:function(n){if(n instanceof N)return r.discard(r.discardUnit)(E.bindHalogenM)(a.modify_(E.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return t.pure(E.applicativeHalogenM)(n.value1)});if(n instanceof x)return r.bind(E.bindHalogenM)(a.gets(E.monadStateHalogenM)(function(n){return n.bm.bid}))(function(u){return r.discard(r.discardUnit)(E.bindHalogenM)(l.void(E.functorHalogenM)(v.liftAff(E.monadAffHalogenM(v.monadAffAff))(e.destroy(u))))(function(){return r.discard(r.discardUnit)(E.bindHalogenM)(a.modify_(E.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return t.pure(E.applicativeHalogenM)(n.value0)})})});if(n instanceof I)return r.bind(E.bindHalogenM)(a.get(E.monadStateHalogenM))(function(e){return r.discard(r.discardUnit)(E.bindHalogenM)(function(){if(n.value0 instanceof A)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.url=n.value0.value0,t}(),t}());if(n.value0 instanceof F)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.title=n.value0.value0,t}(),t}());if(n.value0 instanceof H)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.description=n.value0.value0,t}(),t}());if(n.value0 instanceof L)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.tags=n.value0.value0,t}(),t}());if(n.value0 instanceof _)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.private=n.value0.value0,t}(),t}());if(n.value0 instanceof O)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.toread=n.value0.value0,t}(),t}());throw new Error("Failed pattern match at Component.Add line 153, column 5 - line 159, column 68: "+[n.value0.constructor.name])}())(function(){return t.pure(E.applicativeHalogenM)(n.value1)})});if(n instanceof W)return r.discard(r.discardUnit)(E.bindHalogenM)(p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(M.preventDefault(n.value0)))(function(){return r.bind(E.bindHalogenM)(a.get(E.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(E.bindHalogenM)(l.void(E.functorHalogenM)(v.liftAff(E.monadAffHalogenM(v.monadAffAff))(e.editBookmark(u.edit_bm))))(function(){return r.discard(r.discardUnit)(E.bindHalogenM)(a.put(E.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.bm=u.edit_bm,n}()))(function(){return r.bind(E.bindHalogenM)(p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(y._loc))(function(e){return r.bind(E.bindHalogenM)(p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(C.window))(function(a){return r.bind(E.bindHalogenM)(p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(y._curQuerystring))(function(u){return r.discard(r.discardUnit)(E.bindHalogenM)((o=y._lookupQueryStringValue(u)("next"))instanceof c.Just?p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(T.setHref(o.value0)(e)):p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(m.closeWindow(a)))(function(){return t.pure(E.applicativeHalogenM)(n.value1)});var o})})})})})})});throw new Error("Failed pattern match at Component.Add line 142, column 3 - line 142, column 58: "+[n.constructor.name])},receiver:i.const(c.Nothing.value)})}}(PS["Component.Add"]=PS["Component.Add"]||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),o=PS["DOM.HTML.Indexed.InputType"],i=PS["Data.Array"],l=(PS["Data.Eq"],PS["Data.Foldable"]),c=PS["Data.Function"],f=PS["Data.Functor"],s=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),d=PS["Data.Monoid"],S=PS["Data.Semigroup"],P=PS["Data.Show"],v=(PS["Data.String"],PS["Data.String.CodePoints"]),p=PS["Data.String.Common"],m=(PS["Data.String.Pattern"],PS["Data.Tuple"]),D=PS["Data.Unit"],b=PS["Effect.Aff"],g=PS["Effect.Aff.Class"],h=PS["Effect.Class"],w=PS.Globals,E=(PS.Halogen,PS["Halogen.Component"]),y=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),M=PS["Halogen.HTML.Elements"],C=PS["Halogen.HTML.Events"],T=PS["Halogen.HTML.Properties"],A=PS["Halogen.Query.HalogenM"],F=(PS.Model,PS.Prelude,PS.Util),H=PS["Web.Event.Event"],L=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),_=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),I=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),x=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),U=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),k=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),B=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),q=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}();n.BStar=x,n.BDeleteAsk=U,n.BDestroy=R,n.BEdit=k,n.BEditField=B,n.BEditSubmit=q,n.BMarkRead=j,n.Eurl=L,n.Etitle=_,n.Edescription=O,n.Etags=I,n.Eprivate=W,n.Etoread=N,n.BNotifyRemove=V,n.bmark=function(n){var J,Q=w["app'"](D.unit);return E.component(y.bifunctorHTML)({initialState:c.const((J=n,{bm:J,edit_bm:J,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=d.guard(d.monoidArray)(Q.dat.isowner)([M.div([F.class_("star"+d.guard(d.monoidString)(n.bm.selected)(" selected_star"))])([M.button([C.onClick(C.input_(x.create(!n.bm.selected)))])([y.text("✭")])])]),a=w.mmoment8601(n.bm.time),c=d.guard(d.monoidArray)(Q.dat.isowner)([M.div([F.class_("edit_links")])([M.button([T.type_(y.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(k.create(!0))),F.class_("edit")])([y.text("edit  ")]),M.div([F.class_("delete_link")])([M.button(S.append(S.semigroupArray)([T.type_(y.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(U.create(!0))),F.class_("delete")])(d.guard(d.monoidArray)(n.deleteAsk)([F.attr("hidden")("hidden")])))([y.text("delete")]),M.span(S.append(S.semigroupArray)([F.class_("confirm")])(d.guard(d.monoidArray)(!n.deleteAsk)([F.attr("hidden")("hidden")])))([M.button([T.type_(y.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(U.create(!1)))])([y.text("cancel / ")]),M.button([T.type_(y.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(R.create)),F.class_("destroy")])([y.text("destroy")])])])]),M.div([F.class_("read")])(d.guard(d.monoidArray)(n.bm.toread)([y.text("  "),M.button([C.onClick(C.input_(j.create)),F.class_("mark_read")])([y.text("mark as read")])]))]),D=[M.div([F.class_("edit_bookmark_form active")])([M.form([C.onSubmit(C.input(q.create))])([M.input([T.type_(y.inputTypeIsProp)(o.InputUrl.value),F.class_("url edit_form_input"),T.required(!0),T.name("url"),T.value(n.edit_bm.url),C.onValueChange(function(n){return C.input(B.create)(L.create(n))})]),M.br_,M.input([T.type_(y.inputTypeIsProp)(o.InputText.value),F.class_("title edit_form_input"),T.name("title"),T.value(n.edit_bm.title),C.onValueChange(function(n){return C.input(B.create)(_.create(n))})]),M.br_,M.p([F.attr("style")("margin-top:10px;margin-bottom:5px;")])([y.text(" description:")]),M.textarea([F.class_("description edit_form_input"),T.name("description"),T.rows(5),T.value(n.edit_bm.description),C.onValueChange(function(n){return C.input(B.create)(O.create(n))})]),M.br_,M.div([T.id_("tags_input_box")])([M.p([F.attr("style")("margin-top:10px")])([y.text(" tags:"),M.input([T.type_(y.inputTypeIsProp)(o.InputText.value),F.class_("tags edit_form_input"),T.name("tags"),T.autocomplete(!1),F.attr("autocapitalize")("off"),T.value(n.edit_bm.tags),C.onValueChange(function(n){return C.input(B.create)(I.create(n))})]),M.br_])]),M.div([T.id_("edit_form_checkboxes")])([M.input([T.type_(y.inputTypeIsProp)(o.InputCheckbox.value),F.class_("private"),T.id_("edit_private"),T.name("private"),T.checked(n.edit_bm.private),C.onChecked(function(n){return C.input(B.create)(W.create(n))})]),y.text(" "),M.label([T.for("edit_private")])([y.text("private")]),y.text(" "),M.input([T.type_(y.inputTypeIsProp)(o.InputCheckbox.value),F.class_("toread"),T.id_("edit_toread"),T.name("toread"),T.checked(n.edit_bm.toread),C.onChecked(function(n){return C.input(B.create)(N.create(n))})]),y.text(" "),M.label([T.for("edit_toread")])([y.text("toread")]),M.br_]),M.input([T.type_(y.inputTypeIsProp)(o.InputSubmit.value),F.class_("submit edit-button"),T.value("save")]),y.text(" "),M.input([T.type_(y.inputTypeIsProp)(o.InputReset.value),F.class_("reset edit-button"),T.value("cancel"),C.onClick(C.input_(k.create(!1)))])])])],b=[M.div([F.class_("display")])(S.append(S.semigroupArray)([M.a([T.href(n.bm.url),T.target("_blank"),F.class_("bookmark_title"+d.guard(d.monoidString)(n.bm.toread)(" unread"))])([y.text(p.null(n.bm.title)?"[no title]":n.bm.title)]),M.br_,M.a([T.href(n.bm.url),F.class_("url_display")])([y.text(n.bm.url)]),M.br_,M.div([F.class_("description")])((t=n.bm.description,i.drop(1)(l.foldMap(l.foldableArray)(d.monoidArray)(function(n){return[M.br_,y.text(n)]})(p.split("\n")(t))))),M.div([F.class_("tags")])(d.guard(d.monoidFn(d.monoidFn(d.monoidArray)))(!p.null(n.bm.tags))(f.map(f.functorArray))(function(n){return M.a([F.class_("tag"+d.guard(d.monoidString)("."===v.take(1)(n))(" private")),T.href(function(n){return Q.userR+"/t:"+n}(n))])([y.text(n)])})(p.split(" ")(n.bm.tags))),M.a([F.class_("when js-moment"),T.title(s.maybe(n.bm.time)(m.snd)(a)),F.attr("data-iso8601")(n.bm.time),T.href((e=n.bm.bid,Q.userR+"/b:"+P.show(P.showInt)(e)))])([y.text(s.maybe(" ")(m.fst)(a))])])(c))],g=[M.div([F.attr("style")("clear:both")])([])],h=M.div([T.id_(P.show(P.showInt)(n.bm.bid)),F.class_("bookmark"+d.guard(d.monoidString)(n.bm.private)(" private"))])(S.append(S.semigroupArray)(r)(n.edit?D:S.append(S.semigroupArray)(b)(g)));return M.div_(S.append(S.semigroupArray)([h])(g))},eval:function(n){if(n instanceof x)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(A.bindHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.toggleStar(u.bm.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var e={};for(var t in u)({}).hasOwnProperty.call(u,t)&&(e[t]=u[t]);return e.bm=function(){var e={};for(var t in u.bm)({}).hasOwnProperty.call(u.bm,t)&&(e[t]=u.bm[t]);return e.selected=n.value0,e}(),e.edit_bm=function(){var e={};for(var t in u.edit_bm)({}).hasOwnProperty.call(u.edit_bm,t)&&(e[t]=u.edit_bm[t]);return e.selected=n.value0,e}(),e}()))(function(){return t.pure(A.applicativeHalogenM)(n.value1)})})});if(n instanceof U)return r.discard(r.discardUnit)(A.bindHalogenM)(a.modify_(A.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return t.pure(A.applicativeHalogenM)(n.value1)});if(n instanceof R)return r.bind(A.bindHalogenM)(a.gets(A.monadStateHalogenM)(function(n){return n.bm.bid}))(function(a){return r.discard(r.discardUnit)(A.bindHalogenM)(f.void(A.functorHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.destroy(a))))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(A.raise(V.value))(function(){return t.pure(A.applicativeHalogenM)(n.value0)})})});if(n instanceof j)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(A.bindHalogenM)(f.void(A.functorHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.markRead(u.bm.bid))))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.bm=function(){var n={};for(var e in u.bm)({}).hasOwnProperty.call(u.bm,e)&&(n[e]=u.bm[e]);return n.toread=!1,n}(),n}()))(function(){return t.pure(A.applicativeHalogenM)(n.value0)})})});if(n instanceof k)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(e){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit=n.value0,t.edit_bm=e.bm,t}()))(function(){return t.pure(A.applicativeHalogenM)(n.value1)})});if(n instanceof B)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(e){return r.discard(r.discardUnit)(A.bindHalogenM)(function(){if(n.value0 instanceof L)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.url=n.value0.value0,t}(),t}());if(n.value0 instanceof _)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.title=n.value0.value0,t}(),t}());if(n.value0 instanceof O)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.description=n.value0.value0,t}(),t}());if(n.value0 instanceof I)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.tags=n.value0.value0,t}(),t}());if(n.value0 instanceof W)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.private=n.value0.value0,t}(),t}());if(n.value0 instanceof N)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.toread=n.value0.value0,t}(),t}());throw new Error("Failed pattern match at Component.BMark line 212, column 5 - line 218, column 68: "+[n.value0.constructor.name])}())(function(){return t.pure(A.applicativeHalogenM)(n.value1)})});if(n instanceof q)return r.discard(r.discardUnit)(A.bindHalogenM)(h.liftEffect(A.monadEffectHalogenM(b.monadEffectAff))(H.preventDefault(n.value0)))(function(){return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(A.bindHalogenM)(f.void(A.functorHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.editBookmark(u.edit_bm))))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.edit=!1,n.bm=u.edit_bm,n}()))(function(){return t.pure(A.applicativeHalogenM)(n.value1)})})})});throw new Error("Failed pattern match at Component.BMark line 187, column 3 - line 187, column 62: "+[n.constructor.name])},receiver:c.const(s.Nothing.value)})}}(PS["Component.BMark"]=PS["Component.BMark"]||{}),function(n){"use strict";var e=PS["Component.BMark"],t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=PS["Data.Array"],o=(PS["Data.Eq"],PS["Data.Function"]),i=PS["Data.Functor"],l=PS["Data.Maybe"],c=PS["Data.Ord"],f=PS["Data.Unit"],s=(PS["Effect.Aff"],PS.Halogen,PS["Halogen.Component"]),d=PS["Halogen.HTML"],S=PS["Halogen.HTML.Elements"],P=PS["Halogen.HTML.Events"],v=PS["Halogen.Query.HalogenM"],p=(PS.Model,PS.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}()),m=function(n){return function(e){return u.filter(function(e){return e.bid!==n})(e)}};n.HandleBMessage=p,n.blist=function(n){var u=function(n){return d.slot(n.bid)(e.bmark(n))(f.unit)(P.input(p.create(n.bid)))};return s.parentComponent(c.ordInt)({initialState:o.const(n),render:function(n){return S.div_(i.map(i.functorArray)(u)(n))},eval:function(n){return r.discard(r.discardUnit)(v.bindHalogenM)(a.modify_(v.monadStateHalogenM)(m(n.value0)))(function(){return t.pure(v.applicativeHalogenM)(n.value2)})},receiver:o.const(l.Nothing.value)})},n.removeBookmark=m}(PS["Component.BList"]=PS["Component.BList"]||{}),function(n){"use strict";PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"];var e=PS["Effect.Aff"],t=(PS.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),r=new t(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=t,n.monadForkAff=r}(PS["Control.Monad.Fork.Class"]=PS["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(PS["Effect.Console"]=PS["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=PS["Effect.Console"];PS["Data.Show"],PS["Data.Unit"],PS.Effect;n.warn=e.warn}(PS["Effect.Console"]=PS["Effect.Console"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"];var e=PS["Data.Foldable"],t=(PS["Data.Function"],PS["Data.Functor"]),r=(PS["Data.List"],PS["Data.List.Types"]),a=(PS["Data.Map"],PS["Data.Map.Internal"]),u=PS["Data.Maybe"],o=(PS["Data.Traversable"],PS.Effect,PS["Effect.Aff"],PS["Effect.Ref"]),i=(PS["Halogen.Component"],PS["Halogen.Data.OrdBox"],PS.Prelude,PS["Unsafe.Coerce"]),l=(PS["Web.DOM"],i.unsafeCoerce),c=i.unsafeCoerce,f=i.unsafeCoerce;n.unDriverStateX=c,n.mkDriverStateXRef=f,n.renderStateX=function(n){return function(n){return c(function(e){return(e.prjQuery,i.unsafeCoerce)(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return c(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=l,n.initDriverState=function(n){return function(e){return function(i){return function(l){return function(c){return function(){var s=o.new({})(),d=o.new(a.empty)(),S=o.new(a.empty)(),P=o.new(t.voidLeft(u.functorMaybe)(n.initializer)(r.Nil.value))(),v=o.new(new u.Just(r.Nil.value))(),p=o.new(u.Nothing.value)(),m=o.new(0)(),D=o.new(new u.Just(a.empty))(),b={component:n,state:n.initialState(e),refs:a.empty,children:a.empty,childrenIn:d,childrenOut:S,selfRef:s,handler:i,pendingQueries:P,pendingOuts:v,pendingHandlers:p,rendering:u.Nothing.value,prjQuery:l,fresh:m,subscriptions:D,lifecycleHandlers:c};return o.write(b)(s)(),f(s)}}}}}}}(PS["Halogen.Aff.Driver.State"]=PS["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(PS["Unsafe.Reference"]=PS["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=PS["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(PS["Unsafe.Reference"]=PS["Unsafe.Reference"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Applicative.Free"],r=PS["Control.Bind"],a=PS["Control.Coroutine"],u=PS["Control.Monad.Error.Class"],o=PS["Control.Monad.Fork.Class"],i=PS["Control.Monad.Free"],l=PS["Control.Monad.Free.Trans"],c=PS["Control.Monad.Trans.Class"],f=PS["Control.Parallel"],s=PS["Control.Parallel.Class"],d=(PS["Control.Semigroupoid"],PS["Data.Boolean"]),S=PS["Data.Coyoneda"],P=PS["Data.Eq"],v=PS["Data.Foldable"],p=PS["Data.Function"],m=PS["Data.Functor"],D=PS["Data.List"],b=PS["Data.List.Types"],g=PS["Data.Map"],h=PS["Data.Map.Internal"],w=PS["Data.Maybe"],E=PS["Data.Ord"],y=(PS["Data.Semiring"],PS["Data.Set"]),M=(PS["Data.Tuple"],PS.Effect,PS["Effect.Aff"]),C=PS["Effect.Class"],T=PS["Effect.Exception"],A=PS["Effect.Ref"],F=PS["Halogen.Aff.Driver.State"],H=PS["Halogen.Data.OrdBox"],L=PS["Halogen.Query.EventSource"],_=PS["Halogen.Query.ForkF"],O=PS["Halogen.Query.HalogenM"],I=PS["Halogen.Query.InputF"],W=(PS.Prelude,PS["Unsafe.Reference"]),N=function(n){return function(e){return function(t){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(e)))(function(r){if(r instanceof w.Nothing)return n(t);if(r instanceof w.Just)return C.liftEffect(M.monadEffectAff)(A.write(new w.Just(new b.Cons(n(t),r.value0)))(e));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 171, column 3 - line 175, column 59: "+[r.constructor.name])})}}},x=function(n){return function(t){return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(t))(function(t){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n)))(function(n){return r.discard(r.discardUnit)(M.bindAff)(v.traverse_(M.applicativeAff)(b.foldableList)(o.fork(o.monadForkAff))(n.finalizers))(function(){return r.discard(r.discardUnit)(M.bindAff)(f.parSequence_(M.parallelAff)(b.foldableList)(n.initializers))(function(){return e.pure(M.applicativeAff)(t)})})})})})}};n.handleLifecycle=x,n.eval=function(n){return function(f){var v=function(i){return function(f){if(f instanceof O.State)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(t){var a=f.value0(t.state);if(W.unsafeRefEq(t.state)(a.value1))return e.pure(M.applicativeAff)(a.value0);if(d.otherwise)return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.write({component:t.component,state:a.value1,refs:t.refs,children:t.children,childrenIn:t.childrenIn,childrenOut:t.childrenOut,selfRef:t.selfRef,handler:t.handler,pendingQueries:t.pendingQueries,pendingOuts:t.pendingOuts,pendingHandlers:t.pendingHandlers,rendering:t.rendering,prjQuery:t.prjQuery,fresh:t.fresh,subscriptions:t.subscriptions,lifecycleHandlers:t.lifecycleHandlers})(i)))(function(){return r.discard(r.discardUnit)(M.bindAff)(x(t.lifecycleHandlers)(n(t.lifecycleHandlers)(i)))(function(){return e.pure(M.applicativeAff)(a.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 76, column 7 - line 82, column 21: "+[a.constructor.name])});if(f instanceof O.Subscribe)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return r.bind(M.bindAff)(o.fork(o.monadForkAff)(r.bind(M.bindAff)(L.unEventSource(f.value0))(function(t){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A["modify'"](function(n){return{state:n+1|0,value:n}})(n.fresh)))(function(u){var o=r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n.subscriptions)))(function(t){return e.when(M.applicativeAff)(w.maybe(!1)(h.member(E.ordInt)(u))(t))(C.liftEffect(M.monadEffectAff)(A.modify_(m.map(w.functorMaybe)(h.delete(E.ordInt)(u)))(n.subscriptions)))});return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.modify_(m.map(w.functorMaybe)(h.insert(E.ordInt)(u)(o)))(n.subscriptions)))(function(){var u=r.bind(l.bindFreeT(a.functorAwait)(M.monadAff))(a.await(M.monadAff))(function(t){return r.bind(l.bindFreeT(a.functorAwait)(M.monadAff))(c.lift(l.monadTransFreeT(a.functorAwait))(M.monadAff)(C.liftEffect(M.monadEffectAff)(A.read(n.subscriptions))))(function(n){return e.when(l.applicativeFreeT(a.functorAwait)(M.monadAff))(w.isJust(n))(r.bind(l.bindFreeT(a.functorAwait)(M.monadAff))(c.lift(l.monadTransFreeT(a.functorAwait))(M.monadAff)(R(i)(t)))(function(n){return e.when(l.applicativeFreeT(a.functorAwait)(M.monadAff))(P.eq(L.eqSubscribeStatus)(n)(L.Listening.value))(u)}))})});return r.discard(r.discardUnit)(M.bindAff)(a.runProcess(M.monadRecAff)(a.pullFrom(M.monadRecAff)(u)(t.producer)))(function(){return o})})})})))(function(n){return e.pure(M.applicativeAff)(f.value1)})});if(f instanceof O.Lift)return f.value0;if(f instanceof O.Halt)return u.throwError(M.monadThrowAff)(T.error(f.value0));if(f instanceof O.GetSlots)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return e.pure(M.applicativeAff)(f.value0(m.map(b.functorList)(H.unOrdBox)(D.fromFoldable(y.foldableSet)(g.keys(n.children)))))});if(f instanceof O.CheckSlot)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return e.pure(M.applicativeAff)(f.value1(h.member(H.ordOrdBox)(n.component.mkOrdBox(f.value0))(n.children)))});if(f instanceof O.ChildQuery)return k(i)(f.value0)(f.value1);if(f instanceof O.Raise)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return r.discard(r.discardUnit)(M.bindAff)(N(n.handler)(n.pendingOuts)(f.value0))(function(){return e.pure(M.applicativeAff)(f.value1)})});if(f instanceof O.Par)return s.sequential(M.parallelAff)(t.retractFreeAp(M.applicativeParAff)(t.hoistFreeAp(function(n){return s.parallel(M.parallelAff)(U(i)(n))})(f.value0)));if(f instanceof O.Fork)return _.unFork(function(n){return r.bind(M.bindAff)(o.fork(o.monadForkAff)(U(i)(n.value0)))(function(t){return e.pure(M.applicativeAff)(n.value1(p.flip(M.killFiber)(t)))})})(f.value0);if(f instanceof O.GetRef)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return e.pure(M.applicativeAff)(f.value1(h.lookup(E.ordString)(f.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 73, column 12 - line 128, column 33: "+[f.constructor.name])}},U=function(n){return function(e){return i.foldFree(M.monadRecAff)(v(n))(e)}},R=function(n){return function(e){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n)))(function(t){var r=t.component.eval(e);return i.foldFree(M.monadRecAff)(v(n))(r)})}},k=function(n){return function(e){return S.unCoyoneda(function(t){return function(a){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n)))(function(n){var o=h.lookup(H.ordOrdBox)(n.component.mkOrdBox(e))(n.children);if(o instanceof w.Just)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(o.value0)))(function(n){return F.unDriverStateX(function(n){var e=n.prjQuery(a);if(e instanceof w.Just)return m.map(M.functorAff)(t)(R(n.selfRef)(e.value0));if(e instanceof w.Nothing)return u.throwError(M.monadThrowAff)(T.error("Query projection failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 141, column 32 - line 143, column 82: "+[e.constructor.name])})(n)});if(o instanceof w.Nothing)return u.throwError(M.monadThrowAff)(T.error("Slot lookup failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 138, column 5 - line 144, column 73: "+[o.constructor.name])})}})}};return function(n){if(n instanceof I.RefUpdate)return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.modify_(function(e){return{component:e.component,state:e.state,refs:h.alter(E.ordString)(p.const(n.value1))(n.value0)(e.refs),children:e.children,childrenIn:e.childrenIn,childrenOut:e.childrenOut,selfRef:e.selfRef,handler:e.handler,pendingQueries:e.pendingQueries,pendingOuts:e.pendingOuts,pendingHandlers:e.pendingHandlers,rendering:e.rendering,prjQuery:e.prjQuery,fresh:e.fresh,subscriptions:e.subscriptions,lifecycleHandlers:e.lifecycleHandlers}})(f)))(function(){return e.pure(M.applicativeAff)(n.value2)});if(n instanceof I.Query)return R(f)(n.value0);throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 59, column 3 - line 64, column 25: "+[n.constructor.name])}}},n.queuingHandler=N}(PS["Halogen.Aff.Driver.Eval"]=PS["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Coroutine"],a=PS["Control.Monad.Fork.Class"],u=PS["Control.Monad.Rec.Class"],o=PS["Control.Parallel"],i=(PS["Control.Semigroupoid"],PS["Data.Either"]),l=PS["Data.Foldable"],c=PS["Data.Function"],f=PS["Data.Functor"],s=PS["Data.List"],d=PS["Data.List.Types"],S=(PS["Data.Map"],PS["Data.Map.Internal"]),P=PS["Data.Maybe"],v=PS["Data.Ord"],p=(PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unit"]),m=PS.Effect,D=PS["Effect.Aff"],b=PS["Effect.Aff.AVar"],g=PS["Effect.Class"],h=PS["Effect.Console"],w=PS["Effect.Exception"],E=PS["Effect.Ref"],y=(PS.Halogen,PS["Halogen.Aff.Driver.Eval"]),M=PS["Halogen.Aff.Driver.State"],C=PS["Halogen.Component"],T=PS["Halogen.Data.OrdBox"],A=PS["Halogen.Query.InputF"],F=(PS.Prelude,E.new({initializers:d.Nil.value,finalizers:d.Nil.value})),H=D.runAff_(i.either(w.throwException)(c.const(e.pure(m.applicativeEffect)(p.unit))));n.runUI=function(n){return function(L){return function(_){var O=function(n){return function(){var e=E.read(n)();return E.write(P.Nothing.value)(n)(),l.for_(m.applicativeEffect)(l.foldableMaybe)(e)(function(n){return H(l.traverse_(D.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff))(s.reverse(n)))})()}},I=function(n){return function(e){return function(r){return function(a){return C.unComponent(function(u){return function(){var i=F(),c=M.initDriverState(u)(r)(e)(a)(i)(),S=E.read(n)();return E.write({initializers:d.Nil.value,finalizers:S.finalizers})(n)(),t.bindFlipped(m.bindEffect)(M.unDriverStateX(function(e){return W(n)(e.selfRef)}))(E.read(c))(),t.bindFlipped(m.bindEffect)(function(n){return function(e){return M.unDriverStateX(function(r){var a=f.map(P.functorMaybe)(function(n){return x(r.selfRef)(A.Query.create(n))})(r.component.initializer);return E.modify_(function(n){return{initializers:new d.Cons(t.discard(t.discardUnit)(D.bindAff)(o.parSequence_(D.parallelAff)(d.foldableList)(s.reverse(n.initializers)))(function(){return t.discard(t.discardUnit)(D.bindAff)(l.sequence_(D.applicativeAff)(l.foldableMaybe)(a))(function(){return g.liftEffect(D.monadEffectAff)(function(){return O(r.pendingQueries)(),O(r.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(S.initializers))(E.read(c))(),c}})}}}},W=function(r){return function(o){return function(){var i=E.read(o)(),v=f.map(m.functorEffect)(P.isNothing)(E.read(i.pendingHandlers))();e.when(m.applicativeEffect)(v)(E.write(new P.Just(d.Nil.value))(i.pendingHandlers))(),E.write(S.empty)(i.childrenOut)(),E.write(i.children)(i.childrenIn)();var b=y.queuingHandler(function(n){return f.void(D.functorAff)(x(i.selfRef)(n))})(i.pendingHandlers),g=y.queuingHandler(function(n){return b(A.Query.create(n))})(i.pendingQueries),F=n.render(function(n){return H(b(n))})(function(r){return function(a){return function(u){return function(o){return function(i){return C.unComponentSlot(function(c){return function(s){return function(d){return function(v){return function(b){return function(g){var y=u(c);return function(){var u=E.read(o)(),c=function(){var n=S.pop(T.ordOrdBox)(y)(u);if(n instanceof P.Just)return E.write(n.value0.value1)(o)(),l.for_(m.applicativeEffect)(l.foldableMaybe)(v(d))(function(e){return function(){var t=E.read(n.value0.value0)();return M.unDriverStateX(function(n){return l.for_(m.applicativeEffect)(l.foldableMaybe)(n.prjQuery(e))(function(e){return H(x(n.selfRef)(A.Query.create(e)))})})(t)()}})(),n.value0.value0;if(n instanceof P.Nothing)return I(r)(function(n){return P.maybe(e.pure(D.applicativeAff)(p.unit))(a)(b(n))})(d)(g)(s)();throw new Error("Failed pattern match at Halogen.Aff.Driver line 258, column 14 - line 266, column 92: "+[n.constructor.name])}(),C=f.map(m.functorEffect)(S.member(T.ordOrdBox)(y))(E.read(i))();return e.when(m.applicativeEffect)(C)(h.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),E.modify_(S.insert(T.ordOrdBox)(y)(c))(i)(),t.bind(m.bindEffect)(E.read(c))(M.renderStateX(m.functorEffect)(function(t){if(t instanceof P.Nothing)return w.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof P.Just)return e.pure(m.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver line 271, column 37 - line 273, column 50: "+[t.constructor.name])}))()}}}}}}})}}}}}(r)(g)(i.component.mkOrdBox)(i.childrenIn)(i.childrenOut))(i.component.render(i.state))(i.rendering)(),L=E.read(i.childrenOut)();return t.bind(m.bindEffect)(E.read(i.childrenIn))(l.traverse_(m.applicativeEffect)(S.foldableMap)(function(e){return function(){var t=E.read(e)();return M.renderStateX_(m.applicativeEffect)(n.removeChild)(t)(),N(r)(t)()}}))(),E.modify_(function(n){return{rendering:new P.Just(F),children:L,component:n.component,state:n.state,refs:n.refs,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handler:n.handler,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,prjQuery:n.prjQuery,fresh:n.fresh,subscriptions:n.subscriptions,lifecycleHandlers:n.lifecycleHandlers}})(i.selfRef)(),e.when(m.applicativeEffect)(v)(c.flip(u.tailRecM(u.monadRecEffect))(p.unit)(function(n){return function(){var n=E.read(i.pendingHandlers)();E.write(new P.Just(d.Nil.value))(i.pendingHandlers)(),l.traverse_(m.applicativeEffect)(l.foldableMaybe)(function(n){return H(l.traverse_(D.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff))(s.reverse(n)))})(n)();var e=E.read(i.pendingHandlers)();return P.maybe(!1)(s.null)(e)?f.voidLeft(m.functorEffect)(E.write(P.Nothing.value)(i.pendingHandlers))(new u.Done(p.unit))():new u.Loop(p.unit)}}))()}}},N=function(n){return M.unDriverStateX(function(e){return function(){var r;return(r=e,function(){return t.bindFlipped(m.bindEffect)(l.traverse_(m.applicativeEffect)(l.foldableMaybe)(function(n){return H(l.traverse_(D.applicativeAff)(S.foldableMap)(a.fork(a.monadForkAff))(n))}))(E.read(r.subscriptions))(),E.write(P.Nothing.value)(r.subscriptions)()})(),l.for_(m.applicativeEffect)(l.foldableMaybe)(f.map(P.functorMaybe)(function(n){return x(e.selfRef)(A.Query.create(n))})(e.component.finalizer))(function(e){return E.modify_(function(n){return{initializers:n.initializers,finalizers:new d.Cons(e,n.finalizers)}})(n)})(),l.for_(m.applicativeEffect)(S.foldableMap)(e.children)(t.composeKleisliFlipped(m.bindEffect)(N(n))(E.read))()}})},x=function(n){return y.eval(W)(n)};return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(F))(function(n){return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(E.new(0)))(function(u){return y.handleLifecycle(n)(function(){var o,c=E.new(S.empty)();return t.bind(m.bindEffect)(t.bind(m.bindEffect)(I(n)((o=c,function(n){return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(E.read(o)))(function(e){return l.traverse_(D.applicativeAff)(S.foldableMap)(a.fork(a.monadForkAff))(f.map(S.functorMap)(b.put(n))(e))})}))(_)(P.Just.create)(L))(E.read))(M.unDriverStateX(function(n){return e.pure(m.applicativeEffect)({query:(l=n.selfRef,function(n){return function(e){var t=n(e);if(t instanceof P.Just)return x(l)(new A.Query(t.value0));if(t instanceof P.Nothing)return g.liftEffect(D.monadEffectAff)(w.throwException(w.error("Halogen internal error: query projection failed in runUI'")));throw new Error("Failed pattern match at Halogen.Aff.Driver line 136, column 5 - line 138, column 113: "+[t.constructor.name])}})(n.prjQuery),subscribe:(o=u,function(n){return function(e){return t.bind(D.bindAff)(b.empty)(function(u){return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(function(){var e=E.read(o)();return E.modify_(function(n){return n+1|0})(o)(),E.modify_(S.insert(v.ordInt)(e)(u))(n)(),e}))(function(o){var l=r.producer(D.monadAff)(f.map(D.functorAff)(i.Left.create)(b.take(u)));return f.void(D.functorAff)(a.fork(a.monadForkAff)(t.discard(t.discardUnit)(D.bindAff)(r.runProcess(D.monadRecAff)(r.connect(D.monadRecAff)(D.parallelAff)(l)(e)))(function(){return t.discard(t.discardUnit)(D.bindAff)(g.liftEffect(D.monadEffectAff)(E.modify_(S.delete(v.ordInt)(o))(n)))(function(){return b.kill(w.error("ended"))(u)})})))})})}})(c)});var o,l}))()})})})}}}}(PS["Halogen.Aff.Driver"]=PS["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=(PS["Control.Monad.Error.Class"],PS["Control.Semigroupoid"],PS["Data.Either"]),a=PS["Data.Function"],u=(PS["Data.Functor"],PS["Data.Maybe"]),o=PS["Data.Unit"],i=PS.Effect,l=PS["Effect.Aff"],c=PS["Effect.Class"],f=PS["Effect.Exception"],s=(PS.Prelude,PS["Web.DOM.ParentNode"]),d=(PS["Web.Event.EventTarget"],PS["Web.HTML"]),S=(PS["Web.HTML.Event.EventTypes"],PS["Web.HTML.HTMLDocument"]),P=(PS["Web.HTML.HTMLDocument.ReadyState"],PS["Web.HTML.HTMLElement"]),v=PS["Web.HTML.Window"],p=l.runAff_(r.either(f.throwException)(a.const(e.pure(i.applicativeEffect)(o.unit))));n.selectElement=function(n){return t.bind(l.bindAff)(c.liftEffect(l.monadEffectAff)(t.bindFlipped(i.bindEffect)(t.composeKleisliFlipped(i.bindEffect)(function(e){return s.querySelector(n)(S.toParentNode(e))})(v.document))(d.window)))(function(n){return e.pure(l.applicativeAff)(t.bindFlipped(u.bindMaybe)(P.fromElement)(n))})},n.runHalogenAff=p}(PS["Halogen.Aff.Util"]=PS["Halogen.Aff.Util"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"];var e,t=PS["Data.Array"],r=(PS["Data.Eq"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=PS["Data.Nullable"],u=PS["Data.Tuple"],o=PS.Effect,i=(PS["Effect.Uncurried"],PS["Halogen.VDom.Machine"]),l=PS["Halogen.VDom.Types"],c=PS["Halogen.VDom.Util"],f=(PS.Prelude,PS["Web.DOM.Document"],PS["Web.DOM.Element"]),s=(PS["Web.DOM.Node"],function(n,e){return n.value1===e.value1&&(n.value0 instanceof r.Just&&e.value0 instanceof r.Just&&n.value0.value0===e.value0.value0||n.value0 instanceof r.Nothing&&e.value0 instanceof r.Nothing)}),d=(e=function(n,t){return function(r){if(r instanceof l.Grafted)return e(n,t)(l.runGraft(r.value0));if(r instanceof l.Widget){var a=t.value1(r.value0);return new i.Step(a.value0,e(n,a),a.value2)}return t.value2(),n(r)}},function(n,t,r){var a=n.buildWidget(n)(r);return new i.Step(a.value0,e(t,a),a.value2)}),S=function(){var n=function(e,t,r,a){return function(u){if(u instanceof l.Grafted)return n(e,t,r,a)(l.runGraft(u.value0));if(u instanceof l.Text){var o=new i.Step(r,n(e,t,r,u.value0),t);return a===u.value0?o:(c.setTextContent(u.value0,r),o)}return t(),e(u)}};return function(e,t,r){var a,u=c.createTextNode(r,e.document),o=(a=u,function(){var n=c.parentNode(a);return c.removeChild(a,n)});return new i.Step(u,n(t,o,u,r),o)}}(),P=function(){var n=function(n,e,t){return function(){var r=c.parentNode(n);return c.removeChild(n,r),c.forInE(t,function(n,e){return e.value2()}),i.halt(e)()}},e=function(r,a,o,f,d,S,P){return function(v){if(v instanceof l.Grafted)return e(r,a,o,f,d,S,P)(l.runGraft(v.value0));if(v instanceof l.Keyed&&s(d,v.value0)){var p=t.length(v.value1);if(0===P&&0===p){var m=i.step(f)(v.value0.value2),D=n(o,m,S);return new i.Step(o,e(r,D,o,m,v.value0,S,0),D)}m=c.diffWithKeyAndIxE(S,v.value1,u.fst,function(n,e,t,r){var a=t.value1(r.value1);return c.insertChildIx(e,a.value0,o),a},function(n,e){return e.value2()},function(n,e,t){var a=r(t.value1);return c.insertChildIx(e,a.value0,o),a});var b=i.step(f)(v.value0.value2);D=n(o,b,m);return new i.Step(o,e(r,D,o,b,v.value0,m,p),D)}return a(),r(v)}};return function(r,o,l,s){var d=c.createElement(a.toNullable(l.value0),l.value1,r.document),S=f.toNode(d),P=c.strMapWithIxE(s,u.fst,function(n,e,t){var r=o(t.value1);return c.insertChildIx(e,r.value0,S),r}),v=r.buildAttributes(d)(l.value2),p=n(S,v,P);return new i.Step(S,e(o,p,S,v,l,P,t.length(s)),p)}}(),v=function(){var n=function(n,e,t){return function(){var r=c.parentNode(n);return c.removeChild(n,r),o.foreachE(t)(i.halt)(),i.halt(e)()}},e=function(r,a,u,o,f,d){return function(S){if(S instanceof l.Grafted)return e(r,a,u,o,f,d)(l.runGraft(S.value0));if(S instanceof l.Elem&&s(f,S.value0)){var P=t.length(S.value1);if(0===t.length(d)&&0===P){var v=i.step(o)(S.value0.value2),p=n(u,v,d);return new i.Step(u,e(r,p,u,v,S.value0,d),p)}v=c.diffWithIxE(d,S.value1,function(n,e,t){var r=e.value1(t);return c.insertChildIx(n,r.value0,u),r},function(n,e){return e.value2()},function(n,e){var t=r(e);return c.insertChildIx(n,t.value0,u),t});var m=i.step(o)(S.value0.value2);p=n(u,m,v);return new i.Step(u,e(r,p,u,m,S.value0,v),p)}return a(),r(S)}};return function(t,r,u,o){var l=c.createElement(a.toNullable(u.value0),u.value1,t.document),s=f.toNode(l),d=c.forE(o,function(n,e){var t=r(e);return c.insertChildIx(n,t.value0,s),t}),S=t.buildAttributes(l)(u.value2),P=n(s,S,d);return new i.Step(s,e(r,P,s,S,u,d),P)}}();n.buildVDom=function(n){var e=function(t){if(t instanceof l.Text)return S(n,e,t.value0);if(t instanceof l.Elem)return v(n,e,t.value0,t.value1);if(t instanceof l.Keyed)return P(n,e,t.value0,t.value1);if(t instanceof l.Widget)return d(n,e,t.value0);if(t instanceof l.Grafted)return e(l.runGraft(t.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM line 58, column 27 - line 63, column 52: "+[t.constructor.name])};return e},n.buildText=S,n.buildElem=v,n.buildKeyed=P,n.buildWidget=d}(PS["Halogen.VDom.DOM"]=PS["Halogen.VDom.DOM"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Category"],a=PS["Data.Foldable"],u=(PS["Data.Function"],PS["Data.Functor"]),o=PS["Data.HeytingAlgebra"],i=PS["Data.Maybe"],l=PS["Data.Unit"],c=PS.Effect,f=PS["Effect.Aff"],s=PS["Effect.Class"],d=PS["Effect.Ref"],S=(PS["Effect.Uncurried"],PS["Halogen.Aff.Driver"]),P=PS["Halogen.Aff.Driver.State"],v=(PS["Halogen.Component"],PS["Halogen.HTML.Core"],PS["Halogen.Query.InputF"],PS["Halogen.VDom"],PS["Halogen.VDom.DOM"]),p=PS["Halogen.VDom.DOM.Prop"],m=PS["Halogen.VDom.Machine"],D=(PS.Prelude,PS["Unsafe.Reference"]),b=(PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Node"]),g=PS["Web.HTML"],h=PS["Web.HTML.HTMLDocument"],w=PS["Web.HTML.HTMLElement"],E=PS["Web.HTML.Window"],y=function(n){return function(){var e=b.parentNode(n.node)();return a.traverse_(c.applicativeEffect)(a.foldableMaybe)(function(e){return b.removeChild(n.node)(e)})(e)()}},M=function(n){return function(t){return{render:function(r){return function(a){return function(f){return function(s){if(s instanceof i.Nothing)return function(){var o=d.new(a)(),i=function(n){return function(t){return function(r){var a=P.unRenderStateX(function(n){return n.node}),u=e.pure(c.applicativeEffect)(l.unit),o=function(n){var e=d.read(t)()(n)(),r=a(e);return new m.Step(r,o,u)};return{buildWidget:function(n){return function(n){var e=d.read(t)()(n)(),r=a(e);return new m.Step(r,o,u)}},buildAttributes:p.buildProp(n),document:r}}}}(r)(o)(n),s=v.buildVDom(i)(f),S=m.extract(s);return u.void(c.functorEffect)(b.appendChild(S)(w.toNode(t)))(),{machine:s,node:S,renderChildRef:o}};if(s instanceof i.Just)return function(){d.write(a)(s.value0.renderChildRef)();var n=b.parentNode(s.value0.node)(),t=b.nextSibling(s.value0.node)(),r=m.step(s.value0.machine)(f),S=m.extract(r);return e.when(c.applicativeEffect)(o.not(o.heytingAlgebraFunction(o.heytingAlgebraFunction(o.heytingAlgebraBoolean)))(D.unsafeRefEq)(s.value0.node)(S))(function(n){return function(t){return function(r){return t instanceof i.Just&&r instanceof i.Just?u.void(c.functorEffect)(b.insertBefore(n)(t.value0)(r.value0)):t instanceof i.Nothing&&r instanceof i.Just?u.void(c.functorEffect)(b.appendChild(n)(r.value0)):e.pure(c.applicativeEffect)(l.unit)}}}(S)(t)(n))(),{machine:r,node:S,renderChildRef:s.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver line 118, column 5 - line 134, column 80: "+[s.constructor.name])}}}},renderChild:r.identity(r.categoryFn),removeChild:y}}};n.runUI=function(n){return function(e){return function(r){return t.bind(f.bindAff)(s.liftEffect(f.monadEffectAff)(u.map(c.functorEffect)(h.toDocument)(t.bindFlipped(c.bindEffect)(E.document)(g.window))))(function(t){return S.runUI(M(t)(r))(n)(e)})}}}}(PS["Halogen.VDom.Driver"]=PS["Halogen.VDom.Driver"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Data.Unit"],r=PS.Effect,a=(PS.Prelude,e.pure(r.applicativeEffect)(t.unit));n.main=a}(PS.Main=PS.Main||{}),function(n){"use strict";var e=PS["Component.Add"],t=PS["Component.BList"],r=PS["Control.Bind"],a=PS["Data.Foldable"],u=(PS["Data.Function"],PS["Data.Functor"]),o=PS["Data.Unit"],i=(PS.Effect,PS["Effect.Aff"]),l=PS["Effect.Class"],c=(PS["Halogen.Aff"],PS["Halogen.Aff.Util"]),f=PS["Halogen.VDom.Driver"],s=(PS.Model,PS.Prelude,PS["Web.DOM.Element"]),d=(PS["Web.DOM.ParentNode"],PS["Web.HTML.HTMLElement"]),S=r.bind(i.bindAff)(c.selectElement(".user_footer"))(a.traverse_(i.applicativeAff)(a.foldableMaybe)(function(n){return l.liftEffect(i.monadEffectAff)(s.removeAttribute("hidden")(d.toElement(n)))}));n.renderBookmarks=function(n){return function(e){return c.runHalogenAff(r.bind(i.bindAff)(c.selectElement(n))(a.traverse_(i.applicativeAff)(a.foldableMaybe)(function(n){return r.discard(r.discardUnit)(i.bindAff)(u.void(i.functorAff)(f.runUI(t.blist(e))(o.unit)(n)))(function(){return S})})))}},n.renderAddForm=function(n){return function(t){return c.runHalogenAff(r.bind(i.bindAff)(c.selectElement(n))(a.traverse_(i.applicativeAff)(a.foldableMaybe)(function(n){return f.runUI(e.addbmark(t))(o.unit)(n)})))}},n.showFooter=S}(PS.User=PS.User||{});
+ static/js/app.min.js.gz view

binary file changed (absent → 44973 bytes)

− templates/add-exists-alert.hamlet
@@ -1,13 +0,0 @@-$maybe (Entity bk' Bookmark{..}, tags) <- mexisting-  $with bk <- fromSqlKey bk'-   <div .alert>-     previously saved-     <span class="js-moment" title="#{TI.formatISO8601Millis bookmarkTime}" data-iso8601="#{TI.formatISO8601Millis bookmarkTime}">-       &nbsp;-     <div .edit_links style="display:inline">-       &nbsp;&nbsp;-       <div .delete_link style="display:inline">-         <a .delete onclick="PS['BMark'].deleteAskE(event)()" href="#" style="display: inline;"> delete-         <span .confirm hidden>-           <a href="#" onclick="PS['BMark'].deleteCancelE(event)()"> cancel /-           <a .destroy href="#" onclick="PS['BMark'].destroyE(event)(#{bk})(true)()"> destroy
− templates/add.hamlet
@@ -1,7 +0,0 @@-<form method="post">-  <table>-    ^{formWidget}-    <tr> -      <td>-      <td>-        <input type="submit" value="#{submitText}" />
− templates/add.julius
@@ -1,1 +0,0 @@-document.getElementById('#{rawJS focusEl}').focus();
− templates/app.julius
@@ -1,10 +0,0 @@-var app = {-    csrfHeaderName: "#{rawJS $ TE.decodeUtf8 $ CI.foldedCase defaultCsrfHeaderName}",-    csrfCookieName: "#{rawJS $ TE.decodeUtf8 defaultCsrfCookieName}",-    csrfToken: Cookies.get("#{rawJS $ TE.decodeUtf8 defaultCsrfCookieName}"),-    homeR: "@{HomeR}",-    authRlogoutR: "@{AuthR LogoutR}",-}-document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/, 'js');--PS['BMark'].replaceIsoTimestamps()();
templates/default-layout-wrapper.hamlet view
@@ -1,23 +1,37 @@-$newline never-\<!doctype html>-\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->-\<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->-\<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->-\<!--[if gt IE 8]><!-->-<html class="no-js" lang="en"> <!--<![endif]-->-  <head>-    <meta charset="UTF-8">--    <title>#{pageTitle pc}-    <meta name="description" content="">-    <meta name="author" content="">--    <meta name="viewport" content="width=device-width,initial-scale=1">--    ^{pageHead pc}--    \<!--[if lt IE 9]>-    \<script src="@{StaticR js_html5shiv_min_js}"></script>-    \<![endif]-->-  <body>-    ^{pageBody pc}+$newline never
+\<!doctype html>
+\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
+\<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
+\<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
+\<!--[if gt IE 8]><!-->
+<html class="no-js" lang="en"> <!--<![endif]-->
+  <head>
+    <meta charset="UTF-8">
+
+    <title>#{pageTitle pc}
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <meta name="viewport" content="width=device-width,initial-scale=1">
+
+    ^{pageHead pc}
+
+    \<!--[if lt IE 9]>
+    \<script src="@{StaticR js_html5shiv_min_js}"></script>
+    \<![endif]-->
+
+    <script>document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/, 'js');
+    <script src="@{StaticR js_js_cookie_2_2_0_min_js}">
+    <script>
+      var app =
+        { csrfHeaderName: "#{ TE.decodeUtf8 $ CI.foldedCase defaultCsrfHeaderName }"
+        , csrfParamName: "#{defaultCsrfParamName}"
+        , csrfCookieName: "#{TE.decodeUtf8 defaultCsrfCookieName}"
+        , csrfToken: Cookies.get("#{TE.decodeUtf8 defaultCsrfCookieName}")
+        , homeR: "@{HomeR}"
+        , authRlogoutR: "@{AuthR LogoutR}"
+        , userFilterRFilterSingle: ""
+        , dat: {bmarks : [], bmark: {}, isowner: false}
+        };
+  <body>
+    ^{pageBody pc}
templates/default-layout.hamlet view
@@ -10,10 +10,10 @@        $maybe userName <- musername         $maybe currentroute <- mcurrentRoute-          <a .bookmarklet href="javascript:q=location.href;if(document.getSelection){d=document.getSelection();}else{d='';};p=document.title;void(open('@{AddR}?_hasdata&url='+encodeURIComponent(q)+'&description='+encodeURIComponent(d)+'&title='+encodeURIComponent(p),'Espial','toolbar=no,width=700,height=350'));">add url bookmarklet+          <a .bookmarklet href="javascript:q=location.href;if(document.getSelection){d=document.getSelection();}else{d='';};p=document.title;void(open('@{AddViewR}?_hasdata&url='+encodeURIComponent(q)+'&description='+encodeURIComponent(d)+'&title='+encodeURIComponent(p),'Espial','toolbar=no,width=700,height=350'));">add url bookmarklet           &nbsp;&nbsp;&nbsp;&nbsp; -          <a href="@?{(AddR, [("next",urlrender currentroute)])}">add url+          <a href="@?{(AddViewR, [("next",urlrender currentroute)])}">add url            &nbsp;&nbsp;&nbsp;&nbsp;           <a onclick="PS['App'].logoutE(event)()" href="@{AuthR LogoutR}">
templates/popup-layout.hamlet view
@@ -10,6 +10,4 @@     <a href="@{HomeR}">Espial     $maybe userName <- musername       - (#{userName})-  $maybe alert <- malert-    ^{alert} ^{widget}
templates/user.hamlet view
@@ -1,118 +1,49 @@-<div #main_column>-  <div .user_navbar>-    <div .small_username>-      <b>-        <a href="@{UserR unamep}">#{uname}-        $forall tag <- pathtags-          \  + #-          <a href="@{UserTagsR unamep (TagsP [tag])}">#{tag}-    <div .bookmark_count_box>-      <span .bookmark_count>#{bcount}</span>-    $if isowner-      <div .filters >-        <a href="@{UserR unamep}" class="filter ">all-        ‧  -        <a href="@{UserSharedR unamep SharedPrivate}" class="filter ">private-        ‧  -        <a href="@{UserSharedR unamep SharedPublic}" .filter >public-        ‧  -        <a href="@{UserFilterR unamep FilterUnread}" .filter >unread-        ‧  -        <a href="@{UserFilterR unamep FilterUntagged}" .filter >untagged-        ‧  -        <a href="@{UserFilterR unamep FilterStarred}" .filter >starred-    <div style="clear:both">-  -  ^{pager}--  <div style="clear:both">-      -  <div #bulk_links>--  <div #bookmarks>-    $forall (Entity bk' Bookmark{..}) <- bmarks-      $with bk <- fromSqlKey bk'-        <div>-          $if isowner-            <div .edit_checkbox name="edit_checkbox">-              <input #checkbox_#{bk} autocomplete="off" type="checkbox">-  -          <div ##{bk} .bookmark :not bookmarkShared:.private data-bid=#{bk}>-  -            $if isowner-              <div .star :bookmarkSelected:.selected_star><span onclick="PS['BMark'].toggleStarE(event)(#{bk})()">✭</span>-  -            <div .display>    -              <a .bookmark_title :isowner && bookmarkToRead:.unread target="_blank" href="#{bookmarkHref}"> #{toTitle bookmarkDescription}-              <br>-  -              <a .url_display href="#{bookmarkHref}"> #{bookmarkHref}-              <br>-  -              <div .description> #{Textarea bookmarkExtended}-              <div .tags>-                $with btags <- filter ((==) bk' . (bookmarkTagBookmarkId . E.entityVal)) alltags-                  $forall (Entity bt BookmarkTag{..}) <- btags-                    $with private <- isPrefixOf "." bookmarkTagTag-                      $if (private && isowner) || (not private)-                        <a .tag :private:.private href="@{UserTagsR unamep (TagsP [bookmarkTagTag])}">#{bookmarkTagTag}</a>-  -              <a .when.js-moment title="#{TI.formatISO8601Millis bookmarkTime}" data-iso8601="#{TI.formatISO8601Millis bookmarkTime}" href="@{UserFilterR unamep (FilterSingle bk)}" title="">-                &nbsp;-                -              $if isowner-                <div .edit_links style="display:inline">-                  <a .edit onclick="PS['BMark'].editE(event)(#{bk})()" href="#"> edit&nbsp;&nbsp;-                  <div .delete_link>-                    <a .delete onclick="PS['BMark'].deleteAskE(event)()" href="#" style="display: inline;"> delete-                    <span .confirm hidden>-                      <a href="#" onclick="PS['BMark'].deleteCancelE(event)()"> cancel /-                      <a .destroy href="#" onclick="PS['BMark'].destroyE(event)(#{bk})(false)()"> destroy--                <div .read style="display:inline">-                  $if bookmarkToRead-                    &nbsp;&nbsp;-                    <a .mark_read href="#" onclick="PS['BMark'].markReadE(event)(#{bk})()">mark as read</a>-  -            <div style="clear:both">-  -          <div style="clear:both">--  <div style="clear:both">--  ^{pager}--  $if (fromIntegral bcount >= limit) || (page > 1)-    $maybe route <- mroute-      <div #per_page_picker>-        per page: &nbsp;&nbsp; -        <a :limit == 20:.per_page_selected href="@?{(route, [("count", "20")])}"‧>20</a> ‧ -        <a :limit == 40:.per_page_selected href="@?{(route, [("count", "40")])}"‧>40</a> ‧ -        <a :limit == 80:.per_page_selected href="@?{(route, [("count", "80")])}"‧>80</a> ‧ -        <a :limit == 120:.per_page_selected href="@?{(route, [("count", "120")])}"‧>120</a> ‧ -        <a :limit == 160:.per_page_selected href="@?{(route, [("count", "160")])}"‧>160</a>-        -  <div #edit_bookmark_form_template .edit_bookmark_form hidden>   -    <form onsubmit="PS['BMark'].editSubmitE(event)()">-      $maybe tokenValue <- reqToken req-        <input type="hidden" name="#{defaultCsrfParamName}" value="#{tokenValue}">-      <input type="hidden" name="bid" value="">-      <input required name="url" type="text" .url.edit_form_input>-      <br>-      <input name="title" .edit_form_input.title type="text" value="">-      <br>-      <p style="margin-top:10px;margin-bottom:5px;"> description:-      <textarea name="description" .edit_form_input.description rows="5">-      <br>-      <div #tags_input_box>-        <p style="margin-top:10px;"> tags:-          <input name="tags" #tags_input .tags.edit_form_input autocorrect="off" autocapitalize="off" type="text">-          <br>-      <div #edit_form_checkboxes>-        <input name="private" #edit_private .private type="checkbox">-        <label style="display:inline" for="edit_private"> private-        <input name="toread" #edit_toread .toread type="checkbox">-        <label style="display:inline" for="edit_toread">to read-        <br>-      <input class="edit-button" type="submit" .submit value="save">-      <input class="edit-button" type="reset" .reset value="cancel" onclick="PS['BMark'].editHideE(event)()">+<div #main_column>
+  <div .user_navbar>
+    <div .small_username>
+      <b>
+        <a href="@{UserR unamep}">#{uname}
+        $forall tag <- pathtags
+          \  + #
+          <a href="@{UserTagsR unamep (TagsP [tag])}">#{tag}
+    <div .bookmark_count_box>
+      <span .bookmark_count>#{bcount}</span>
+    $if isowner
+      <div .filters >
+        <a href="@{UserR unamep}" class="filter ">all
+        ‧  
+        <a href="@{UserSharedR unamep SharedPrivate}" class="filter ">private
+        ‧  
+        <a href="@{UserSharedR unamep SharedPublic}" .filter >public
+        ‧  
+        <a href="@{UserFilterR unamep FilterUnread}" .filter >unread
+        ‧  
+        <a href="@{UserFilterR unamep FilterUntagged}" .filter >untagged
+        ‧  
+        <a href="@{UserFilterR unamep FilterStarred}" .filter >starred
+    <div style="clear:both">
+  
+  ^{pager}
+
+  <div style="clear:both">
+      
+  <div #bulk_links>
+
+  <div ##{renderEl}>
+
+  <div style="clear:both">
+
+  <div .user_footer hidden>
+    ^{pager}
+
+    $if (fromIntegral bcount >= limit) || (page > 1)
+      $maybe route <- mroute
+        <div #per_page_picker>
+          per page: &nbsp;&nbsp; 
+          <a :limit == 20:.per_page_selected href="@?{(route, [("count", "20")])}"‧>20</a> ‧ 
+          <a :limit == 40:.per_page_selected href="@?{(route, [("count", "40")])}"‧>40</a> ‧ 
+          <a :limit == 80:.per_page_selected href="@?{(route, [("count", "80")])}"‧>80</a> ‧ 
+          <a :limit == 120:.per_page_selected href="@?{(route, [("count", "120")])}"‧>120</a> ‧ 
+          <a :limit == 160:.per_page_selected href="@?{(route, [("count", "160")])}"‧>160</a>
+
+<script>app.dat.bmarks = #{ preEscapedToMarkup $ toJsonText (toBookmarkFormList bmarks alltags) } || [];